本發(fā)明涉及圖像識別,尤其涉及一種基于三維視覺反饋的落子指引系統(tǒng)。
背景技術(shù):
1、隨著計算機科學(xué)的發(fā)展,人們開始探索使用計算機來輔助棋類游戲,特別是機器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的引入,使得棋類游戲的計算機輔助系統(tǒng)變得更加智能,利用圖像處理技術(shù)和人工智能技術(shù),使得越來越多的娛樂機器人進入生活中,其中包括圍棋機器人,通過對圍棋機器人視覺系統(tǒng)進行有效標(biāo)定,實現(xiàn)運動與目標(biāo)的準(zhǔn)確定位;
2、但是,傳統(tǒng)的視覺反饋系統(tǒng)通?;诙S圖像處理技術(shù),依賴于攝像頭拍攝的平面圖像容易受到透視變形、光照變化和陰影的影響,導(dǎo)致定位精度下降;并且傳統(tǒng)的二維系統(tǒng)無法直接獲取物體的高度信息,只能通過圖像處理算法估計高度,這可能導(dǎo)致高度測量的誤差,在處理遮擋問題時,難以準(zhǔn)確識別所有棋子的位置,進行棋子位置的獲取,同時需要手動對相機調(diào)整角度,使得獲取完整棋盤圖像;
3、針對上述的技術(shù)缺陷,現(xiàn)提出一種解決方案。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于三維視覺反饋的落子指引系統(tǒng),去解決上述提出的技術(shù)缺陷,本發(fā)明通過安裝在棋盤斜上方的雙目相機,實時獲取棋盤及周圍環(huán)境圖像數(shù)據(jù),同時根據(jù)角點數(shù)量的圖像檢測,對雙目相機的圖像角度進行調(diào)整,使得雙目相機采集的圖像可以完整覆蓋整個棋盤,并通過四個角點,檢測出外部網(wǎng)格線邊緣,在外網(wǎng)格線基礎(chǔ)上,通過透視變換,獲取棋盤俯視視角。
2、本發(fā)明的目的可以通過以下技術(shù)方案實現(xiàn):一種基于三維視覺反饋的落子指引系統(tǒng),包括傳感器模塊、圖像處理與識別模塊、異常識別模塊、三維重建與追蹤模塊和落子指引模塊;
3、傳感器模塊,用于獲取圖像數(shù)據(jù),同時根據(jù)圖像處理與識別模塊反饋的圖像檢測數(shù)據(jù),調(diào)整圖像識別區(qū)域,并將獲取到的圖像數(shù)據(jù)傳至圖像處理與識別模塊;
4、圖像處理與識別模塊,用于對獲取到的圖像數(shù)據(jù)進行分析處理,包括網(wǎng)格線定位、圖像檢測數(shù)據(jù)和棋子識別,對分析處理后的圖像數(shù)據(jù)輸出至異常識別模塊和三維重建與追蹤模塊;
5、異常識別模塊,用于對圖像數(shù)據(jù)中的異常數(shù)據(jù)進行分析,將分析后的異常數(shù)據(jù)傳至三維重建與追蹤模塊;
6、三維重建與追蹤模塊,用于棋盤及棋子的三維模型的重建,并持續(xù)跟蹤棋子的位置和數(shù)量變化,并將三維模型數(shù)據(jù)傳至落子指引模塊;
7、落子指引模塊,用于獲取并控制棋子的擺放。
8、優(yōu)選的,圖像數(shù)據(jù)實時獲取過程如下:
9、通過棋盤斜上方固定的雙目相機,實時獲取棋盤及周圍環(huán)境的圖像數(shù)據(jù),通過圖像處理與識別模塊反饋的圖像檢測數(shù)據(jù),獲取棋盤的四個角點和相機視野坐標(biāo),以左攝像頭作為參考,建立相機視野坐標(biāo);
10、通過識別棋盤的四個角點,獲取棋盤的中心點坐標(biāo)和四個角點的位置坐標(biāo),計算棋盤中心點坐標(biāo)與相機視野坐標(biāo)中心點在水平方向上的差值,以及棋盤中心點坐標(biāo)與相機視野坐標(biāo)中心點在垂直方向上的差值,根據(jù)計算出的差值調(diào)整雙目相機的位置。
11、優(yōu)選的,對角點數(shù)量的圖像檢測數(shù)據(jù)進行判斷過程如下:
12、當(dāng)未從圖像中檢測出棋盤,四個角點中任意一個角點時,對傳感器模塊進行負(fù)反饋調(diào)節(jié),控制雙目相機順時針轉(zhuǎn)動5°,對圖像數(shù)據(jù)實時檢測和識別,直至圖像中檢測到棋盤,四個角點任意一個角點時,停止轉(zhuǎn)動;
13、在雙目相機順時針轉(zhuǎn)動360°后,圖像中任未檢測到棋盤中,四個角點任意一個角點時,發(fā)出提示信號;
14、當(dāng)從圖像中檢測出棋盤,四個角點中任意一個角點時,對傳感器模塊進行負(fù)反饋調(diào)節(jié),控制雙目相機順時針轉(zhuǎn)動1°,直至棋盤中心點與相機視野坐標(biāo)中心點重合,停止雙目相機轉(zhuǎn)動,并實時獲取圖像數(shù)據(jù)。
15、優(yōu)選的,圖像數(shù)據(jù)處理前預(yù)處理過程如下:
16、將獲取到的圖像數(shù)據(jù)轉(zhuǎn)換為灰度圖像,通過高斯模糊濾波技術(shù)減少灰度圖像噪聲部分;
17、找到灰度圖像中亮度急劇變化的區(qū)域,識別出多條平行且等間距的直線,結(jié)合四個角點,獲取棋盤的四周邊界,即棋盤的四條邊界:
18、通過canny算法進行棋盤網(wǎng)格線邊緣檢測,通過非極大值抑制,細化棋盤網(wǎng)格線邊緣,僅保留局部最大值點,通過對每個像素點,檢查像素點梯度方向,并與該梯度方向上的兩個相鄰像素比較,若當(dāng)前像素的梯度幅值不是這兩個相鄰像素中的最大值,將其抑制,并保留真實邊緣的點。
19、優(yōu)選的,外部網(wǎng)格線邊緣檢測篩選過程如下:
20、灰度圖像中,高閾值設(shè)置為圖像梯度幅值的最大值的30%,低閾值設(shè)置為圖像梯度幅值的最大值的15%,通過高閾值和低閾值并對棋盤像素進行篩選:
21、當(dāng)棋盤像素大于等于最大值的30%時,標(biāo)記為強邊緣;
22、當(dāng)棋盤像素小于等于圖像梯度幅值的最大值的15%時,予以排除;
23、當(dāng)棋盤像素大于圖像梯度幅值的最大值的15%且小于最大值的30%時,且不與任何強邊緣相連時,則標(biāo)記為弱邊緣,予以排除;與強邊緣相連時,標(biāo)記為強邊緣;連接強邊緣片段形成完整的邊緣。
24、優(yōu)選的,網(wǎng)格線定位過程如下:
25、獲取檢測到的外部網(wǎng)格線邊緣,進行定位,通過透視變換,定位棋盤內(nèi)部格線:
26、獲取棋盤的四個角點及外部網(wǎng)格線邊緣信息,通過透視變換將棋盤校正為俯視圖,根據(jù)矯正后的小方格呈現(xiàn)出的大小和形狀,計算相鄰直線間的棋盤內(nèi)部網(wǎng)格線。
27、優(yōu)選的,棋子識別過程如下:
28、通過將灰度圖像轉(zhuǎn)化成二值化圖像,定義像素之間的連通性,其中白色像素表示棋子,黑色像素表示背景,將二值化圖像中黑白部分分別進行定義,二值化圖像中棋子部分為白色,背景為黑色;通過連通上下左右四個方向,標(biāo)記連通區(qū)域,從左上角開始遍歷整個二值圖像,當(dāng)遇到一個未標(biāo)記的白色像素時,將其標(biāo)記為一個新的區(qū)域,并遞歸地將其所有連通的白色像素標(biāo)記為同一個區(qū)域編號,重復(fù)上述過程,直到所有白色像素都被標(biāo)記完畢,并提取候選區(qū)域,每個標(biāo)記的連通區(qū)域就是一個獨立的棋子候選區(qū)域,計算每個候選區(qū)域的幾何特征,驗證是否確實為棋子;
29、棋子黑白顏色識別過程:
30、通過形態(tài)學(xué)操作去除噪聲點,同時保持棋子的完整性,將黑色棋子的亮度閾值設(shè)為50,而白色棋子的亮度閾值設(shè)為200,提取出亮度低于黑色棋子的亮度閾值的區(qū)域作為黑色棋子;提取出亮度高于白色棋子的亮度閾值的區(qū)域作為白色棋子。
31、優(yōu)選的,獲取分析后的圖像數(shù)據(jù)中的異常數(shù)據(jù),并對異常數(shù)據(jù)進行分析過程如下:
32、對獲取圖像數(shù)據(jù)進行角點數(shù)量判斷:
33、當(dāng)檢測到棋盤中角點數(shù)量為4個時,根據(jù)已知的線條位置、間距和線條之間的距離及角度關(guān)系,利用棋盤橫豎線條是等間距且平行的規(guī)則,通過匹配算法將模板與實際圖像對齊,補全被遮擋的棋盤網(wǎng)格線部分;
34、當(dāng)檢測到棋盤中角點數(shù)量小于4個時,發(fā)出提示信號,發(fā)送至傳感器模塊進行識別,并持續(xù)對圍棋棋盤進行位置檢測。
35、優(yōu)選的,棋盤和棋子的三維模型重建過程如下:
36、通過獲取棋盤校正后的俯視圖像,使用立體匹配算法計算左右圖像的視差圖,根據(jù)視差圖和相機參數(shù),計算每個像素點的深度信息,根據(jù)深度圖和相機參數(shù),將二維圖像坐標(biāo)轉(zhuǎn)換為三維世界坐標(biāo),使用三維建模軟件blender創(chuàng)建棋盤的三維模型,計算每個棋子在三維空間中心點坐標(biāo)(x,y,z),將棋子中心點坐標(biāo)導(dǎo)入至三維模型中,并根據(jù)棋子的三維坐標(biāo)放置相應(yīng)的棋子模型,在三維模型中顯示棋子的位置,將棋子的三維坐標(biāo)存儲為結(jié)構(gòu)化的數(shù)據(jù)格式。
37、優(yōu)選的,獲取并控制棋子的擺放過程如下:
38、通過雙目相機掃描周圍環(huán)境,生成世界坐標(biāo)系,并將棋盤位置和機械臂實時位置映射至世界坐標(biāo)系中,利用世界坐標(biāo)系中坐標(biāo)信息,控制機械臂放置棋子;
39、通過雙目相機掃描周圍環(huán)境,生成世界坐標(biāo)系,對圖像數(shù)據(jù)進行立體匹配,生成視差圖,根據(jù)視差圖和相機參數(shù),計算深度圖,將二維圖像坐標(biāo)轉(zhuǎn)換為三維世界坐標(biāo),并選擇固定的參考點作為世界坐標(biāo)系的原點,以棋盤的邊界線作為坐標(biāo)軸方向;在生成的世界坐標(biāo)系中,識別棋盤的位置并將其映射到世界坐標(biāo)系中,對機械臂進行標(biāo)定,獲取其末端執(zhí)行器的位置和姿態(tài),根據(jù)棋子的三維坐標(biāo),規(guī)劃機械臂的運動路徑。
40、本發(fā)明的有益效果如下:
41、1)本發(fā)明通過雙目相機,實時獲取棋盤及周圍環(huán)境圖像數(shù)據(jù),同時根據(jù)角點數(shù)量的圖像檢測,對雙目相機的圖像采集角度進行負(fù)反饋調(diào)整,通過對雙目相機轉(zhuǎn)動角度和圖像數(shù)據(jù)中的角點數(shù)量獲取,實時調(diào)整雙目相機轉(zhuǎn)動角度,在棋盤中心點與相機視野坐標(biāo)中心點重合的同時,更加快速的調(diào)整雙目相機的位置,使得雙目相機采集的圖像可以完整覆蓋整個棋盤;
42、2)本發(fā)明通過棋盤中四個角點,檢測出外部網(wǎng)格線邊緣,在外網(wǎng)格線基礎(chǔ)上,使用透視變換將棋盤校正為從正上方拍攝的效果,通過計算相鄰直線間的平均間隔來估計標(biāo)準(zhǔn)格子尺寸,通過已知的圍棋網(wǎng)格模版等比例縮放,精確地分析內(nèi)部網(wǎng)格線邊緣結(jié)構(gòu),進而推斷整個網(wǎng)格布局。