• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      不均勻光照下的通用棋子定位方法

      2020-12-31 02:24:06王亞杰張云博吳燕燕丁傲冬祁冰枝
      計算機應(yīng)用 2020年12期
      關(guān)鍵詞:棋盤棋子頂點

      王亞杰,張云博,吳燕燕,丁傲冬,祁冰枝

      (1.沈陽航空航天大學(xué)工程訓(xùn)練中心,沈陽 110136;2.沈陽航空航天大學(xué)計算機學(xué)院,沈陽 110136)

      (?通信作者電子郵箱1013103525@qq.com)

      0 引言

      機器博弈是人工智能的試金石。谷歌人工智能程序AlphaGo 以總比分4∶1 戰(zhàn)勝韓國圍棋九段棋手李世石證明了計算機程序具備與人類下棋的高智能水平,但機器人與人類對弈時仍需要具備更多在感知和交互方面的智能性[1]。從2000 年起,展覽性和交互性的下棋機器人陸續(xù)出現(xiàn)在科技館和日常生活中,為人們帶來真實的下棋體驗。文獻[2]中針對老人和中小學(xué)生設(shè)計了一種集陪伴與教學(xué)于一體的桌面便捷式下棋機器人,其描述了視覺、落子、博弈和實時展示四個子系統(tǒng)的基本構(gòu)成、操作步驟、算法組成和控制原理。隨著機器人與人工智能技術(shù)的發(fā)展,人們對下棋機器人系統(tǒng)在棋子定位準(zhǔn)確性上的要求越來越高。本文在文獻[2]基礎(chǔ)上,針對視覺部分,深入開展了光照不均勻?qū)ζ遄佣ㄎ挥绊懙姆治雠c測試,并細化了棋子定位算法研究。

      自2007 年開始,有部分學(xué)者對棋子定位進行研究,主要分為兩大類。

      第一類為不帶文字的棋子定位,例如對黑白棋和國際象棋的棋子定位,主要通過邊緣檢測、分割以及顏色區(qū)分識別棋盤和棋子,并基于棋子的形狀進行定位。Danner 等[3]利用最大類間方差法(OTSU)分割棋子、棋子邊緣檢測、棋子顏色檢測三種方法識別棋子輪廓,根據(jù)投票法獲得最終識別的國際象棋棋子;Gui 等[4]通過預(yù)處理提取棋盤和棋子,根據(jù)霍夫變換計算棋子中心坐標(biāo)。

      第二類為帶文字的棋子定位,例如對中國象棋的棋子定位有以下兩種主流方法:第一種是以杜俊利等[5]提出的基于統(tǒng)計特征的方法為主,包含文字連通數(shù)和孔數(shù)的識別方法以及年輪統(tǒng)計的識別方法。翟乃強[6]分割出棋子存在的有效區(qū)域并估計出棋子的圓心坐標(biāo),利用文獻[5]中的年輪法進行統(tǒng)計,并形成編碼器。第二種方法利用旋轉(zhuǎn)不變性進行模板匹配或者特征分類[7]。Yu[8]通過霍夫變換對棋子粗定位,利用尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)算法匹配目標(biāo)棋子;黨宏社等[9]使用快速旋轉(zhuǎn)不變性特征(Oriented FAST(Features from Accelerated Segment Test)and Rotated BRIEF (Binary Robust Independent Elementary Features),ORB)算法進行特征點匹配,再通過幾何平均坐標(biāo)法計算所有最佳匹配特征點的中心,從而推斷出目標(biāo)棋子的幾何中心;張志偉等[10]提出根據(jù)棋盤特征分割棋盤小區(qū)域,在每個小區(qū)域上使用霍夫變換定位棋子,提取棋子文字旋轉(zhuǎn)不變的徑向像素點數(shù)特征,使用反向傳播網(wǎng)絡(luò)(Back Propagation Network,BPN)識別棋子文字;韓燮等[11]通過顏色特征分割和二值濾波算法定位棋子坐標(biāo),利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)提取文字特征,進而對棋子分類。

      上述棋子定位方法的實驗條件是靜態(tài)和光照恒定的,缺乏對復(fù)雜光照情況的考慮和動態(tài)棋子定位的研究。然而,人類創(chuàng)造的智能系統(tǒng)與周圍自然世界相互作用,智能系統(tǒng)的視覺算法會在一定程度上受到客觀環(huán)境的干擾[12]。因此研究具有動態(tài)環(huán)境適應(yīng)能力和光照變化處理能力的棋子定位方法至關(guān)重要。

      近年來,光照不均勻?qū)σ曈X系統(tǒng)的干擾是圖像領(lǐng)域的重點話題[13]。照明方向和照明量的變化是光照不均勻現(xiàn)象的起因。為了降低光照不均勻?qū)D像質(zhì)量的影響,研究人員在圖像識別、物體分割、特征提取上進行了各種改進。其中,人臉識別系統(tǒng)的性能受光照條件的影響很大,現(xiàn)已提出了圖像整體歸一化[14]、構(gòu)建照明模型和光照不變量提?。?5]的方法;圖像分割能夠有效丟棄背景、減少錯誤細節(jié)檢測的次數(shù),并且在一定程度上減輕光照不均勻帶來的影響,常用的分割技術(shù)有自適應(yīng)閾值分割、形態(tài)學(xué)和模糊C 均值聚類方法[16];另外,由光照不良和成像設(shè)備產(chǎn)生的噪聲容易使邊緣檢測出現(xiàn)錯誤,常見的解決方法有小波相似度技術(shù)和短步仿射變換Sobel等。

      本文將光照不均勻?qū)ζ遄佣ㄎ粶?zhǔn)確率的影響因素歸納為以下幾點:1)變化的照明方向和照明量引起的棋盤圖像亮度分布不均勻;2)棋盤表面光滑導(dǎo)致圖像出現(xiàn)反光現(xiàn)象;3)照明方向和物體遮擋導(dǎo)致棋盤和棋子出現(xiàn)陰影;4)鏡頭畸變導(dǎo)致棋盤圖像扭曲或者變形。針對這些問題,主要研究了兩部分內(nèi)容,如圖1所示。

      第一部分:預(yù)處理,分為棋盤提取和棋盤類型識別。以空棋盤圖像為研究對象,利用自適應(yīng)閾值和分塊凸包檢測的方法對其進行分割和頂點提取,根據(jù)透視變換原理矯正為標(biāo)準(zhǔn)棋盤圖像;在標(biāo)準(zhǔn)棋盤圖像上依據(jù)先驗經(jīng)驗匹配每個棋盤格對應(yīng)的棋盤類型,以此進行棋盤類型識別,方便下棋機器人系統(tǒng)能自動判斷對弈棋種,成比例地轉(zhuǎn)換成棋盤坐標(biāo)。

      第二部分:通用棋子定位。以差分圖為研究對象,不限制攝像頭的擺放位置和光照條件,獲取相鄰標(biāo)準(zhǔn)棋盤圖像的差分圖,結(jié)合形態(tài)學(xué)運算和圖像掩膜降低光照干擾,并且能解決棋子粘連和投影問題,定位棋子圓心坐標(biāo)。

      圖1 通用棋子定位研究內(nèi)容Fig.1 Research contents of general chess piece positioning

      1 預(yù)處理

      1.1 棋盤提取

      棋盤提取是棋子定位的前提條件,包含棋盤分割和棋盤矯正兩個部分。棋盤提取后只需解決棋盤范圍內(nèi)的光照變化,可以降低棋子定位算法的復(fù)雜度和提高定位的準(zhǔn)確率。

      文獻[3]考慮到拍攝的棋盤會出現(xiàn)傾斜,采用在各自的單通道中利用霍夫變換檢測直線,只選擇檢測出的一個棋盤小方格邊緣線,進而推斷整個棋盤范圍并通過透視變換矯正棋盤。文獻[8]假設(shè)背景比棋盤暗,采用OTSU 全局閾值二值化,通過形態(tài)學(xué)運算獲得一個棋盤的連通區(qū)域,然后使用霍夫變換提取四條直線計算頂點的坐標(biāo),并將其作為角點與定義好的黃金參考棋盤圖像匹配,進而矯正棋盤。文獻[10]利用色彩空間變換分割出棋盤區(qū)域圖像,通過顏色信息分割棋盤的方法容易受到周圍干擾物的影響,從而導(dǎo)致分割效果不佳。在對相關(guān)方法的廣泛研究后,本文棋盤提取算法在文獻[8]的基礎(chǔ)上作了一些改進,提出了自適應(yīng)閾值結(jié)合形態(tài)學(xué)運算的棋盤分割方法以及分塊凸包檢測棋盤頂點的方法。

      1.1.1 棋盤分割

      以圖2(a)所示的原圖像為例,自適應(yīng)閾值二值化結(jié)果如圖2(b)所示,圖中白色線條斷斷續(xù)續(xù)且棋盤周圍存在較多的干擾線,顯然,它并不符合本文對棋盤分割的預(yù)期。為分離出目標(biāo)棋盤區(qū)域,還需要采用形態(tài)學(xué)運算和孔洞填充等方法。

      圖2 棋盤分割過程Fig.2 Chessboard segmentation process

      首先,將圖2(b)進行膨脹和閉運算,連接圖像中斷續(xù)的直線,結(jié)果如圖2(c)所示;其次,通過孔洞填充將圖像中棋盤區(qū)域填充為白色,結(jié)果如圖2(d)所示;接著,進行開運算,去除棋盤周圍的雜點,結(jié)果如圖2(e)所示;最后,保留圖2(e)中最大白色連通域,即2(f)為本節(jié)目標(biāo)棋盤區(qū)域的分割結(jié)果。

      1.1.2 棋盤矯正

      依據(jù)文獻[8]的方法,棋盤矯正需要在空棋盤圖像上找到棋盤四個頂點作為角點。棋盤角點檢測的方法大致分為兩類:第一類是基于紋理的檢測方法,通過Harris 和最小核值相似區(qū)(Small Univalve Segment Assimilation Nucleus,SUSAN)等角點檢測器檢測棋盤角點[17-18],這類方法容易受到噪聲、照明和雜波的影響,很難達到理想的效果,一般都需要二次檢測;第二類是基于幾何方法[19-20],利用幾何棋盤圖案的特征進行檢測,但是在棋盤變形嚴(yán)重時該方法會變得不穩(wěn)定。

      本文在棋盤分割的基礎(chǔ)上,首先,提取圖2(f)中白色區(qū)域輪廓邊緣的點集得到一組棋盤候選頂點,提取的輪廓點集密集地分布在棋盤最外側(cè)橫縱線上,如圖3(a)所示。其次,對候選頂點強制執(zhí)行凸包約束,進而減少候選頂點的數(shù)量,這種方法在光學(xué)畸變和棋盤表面變形的情況下均適用。

      圖3 凸包約束過程Fig.3 Convex hull constraint process

      凸包(Convex Hull)是圖形學(xué)中的概念。在一個實數(shù)向量空間V中,對于給定集合:

      所有包含X的凸集的交集S被稱為X的凸包:

      凸包約束的執(zhí)行結(jié)果如圖3(b)所示,圖中附在棋盤最外側(cè)橫縱線上的線條形狀是凸多邊形,線條上的點是凸多邊形的頂點,這些頂點構(gòu)成了一組新的棋盤候選頂點。凸包約束很大程度降低了候選頂點的數(shù)量。

      最后,為獲得真正的棋盤頂點,以凸多邊形的中心點建立直角坐標(biāo)系,劃分四個象限區(qū)域,分別為:

      其中:x1為每個象限區(qū)域內(nèi)的第一個棋盤候選頂點;xa代表S1象限內(nèi)的一個棋盤候選頂點;xb代表S2象限內(nèi)的一個棋盤候選頂點;xc代表S3象限內(nèi)的一個棋盤候選頂點;xd代表S4象限內(nèi)的一個棋盤候選頂點。由于每次獲取的凸多邊形的頂點數(shù)量未知,所以設(shè)m∈N+且m> 0,可以得到S1象限內(nèi)有a+m個棋盤候選頂點;S2象限內(nèi)有b+m個棋盤候選頂點;S3象限內(nèi)有c+m個棋盤候選頂點;S4象限內(nèi)有d+m個棋盤候選頂點。在每個象限區(qū)域內(nèi)依次計算相鄰3 個候選頂點的夾角,取各象限區(qū)域內(nèi)夾角值最小的點即為頂點,分別為:

      最終提取的棋盤頂點如圖4(a)所示。本文將矯正后的棋盤圖像稱為標(biāo)準(zhǔn)棋盤圖像,如圖4(c)所示。定義標(biāo)準(zhǔn)棋盤頂點坐標(biāo)分別為:

      根據(jù)圖4(b)的透視變換關(guān)系得知:

      圖4 棋盤圖像透視變換過程Fig.4 Perspective transformation process of chessboard image

      將圖像投影到一個新的視平面中,(u,v)為原始圖像坐標(biāo)即棋盤圖像坐標(biāo),(x,y)為變換之后的圖像坐標(biāo)即標(biāo)準(zhǔn)棋盤圖像坐標(biāo),繼而展開式(15)得知:

      將式(7)~(14)代入式(19)~(20),得到k11,k12,…,k32系數(shù),進而得到式(21):

      最終求出轉(zhuǎn)換矩陣:

      保留轉(zhuǎn)換矩陣,將開局之后捕獲到的每幀棋盤圖像根據(jù)透視變換關(guān)系和轉(zhuǎn)換矩陣依次矯正為標(biāo)準(zhǔn)棋盤圖像。

      1.2 棋盤類型識別

      為了實現(xiàn)多棋種對弈,需要準(zhǔn)確判斷出當(dāng)前對弈的棋盤類型。通常,棋盤是由多條直線交叉組成的,每種棋盤在大小、材質(zhì)、圖案和紋理上略有不同,只有少數(shù)的棋盤上包含了文字信息,例如:象棋棋盤。由于棋盤紋理和邊緣特征對圖像背景和照明變化非常敏感[21],且文字特征又具有特殊性,所以本文依據(jù)標(biāo)準(zhǔn)棋盤圖像中不同面積區(qū)間的小方格數(shù)量識別棋盤類型。本文所闡述的小方格面積指小方格像素總數(shù)。

      首先,對圖4(c)進行灰度化、自適應(yīng)二值化、膨脹等預(yù)處理操作得到待識別圖像。其次,提取待識別圖像中的輪廓點集,包括棋盤的內(nèi)輪廓點集和棋盤小方格的內(nèi)輪廓點集。最后,利用多邊形逼近原理使所有內(nèi)輪廓表示成多邊形形狀,并計算待識別圖像中所有多邊形的面積。

      依次計算內(nèi)輪廓多邊形的面積,統(tǒng)計落入合理范圍的內(nèi)輪廓多邊形數(shù)量,將數(shù)量最多的小方格所屬面積區(qū)間對應(yīng)的棋盤類型作為當(dāng)前對弈棋種,并儲存棋盤小方格的長寬。

      圖5 顯示了標(biāo)準(zhǔn)圍棋棋盤、標(biāo)準(zhǔn)象棋棋盤和標(biāo)準(zhǔn)國際跳棋棋盤圖像中提取的多邊形輪廓。

      圖5 棋盤類型識別Fig.5 Chessboard type recognition

      圖5(a)共檢測出340個多邊形形狀,其中依次落在圍棋、象棋、國際跳棋面積區(qū)間的小方格數(shù)量有324、0 和300 個,因此圖5(a)為圍棋棋盤;圖5(b)共檢測出131個多邊形形狀,其中依次落在圍棋、象棋、國際跳棋面積區(qū)間的小方格數(shù)量有4、56 和21 個,因此圖5(b)為象棋棋盤;圖5(c)共檢測出103個多邊形形狀,其中依次落在圍棋、象棋、國際跳棋面積區(qū)間的小方格數(shù)量有43、4和44個,因此圖5(c)為國際跳棋棋盤。

      在標(biāo)準(zhǔn)棋盤圖像中,不同棋盤小方格面積是固定的并且所有小方格都需要與預(yù)定義范圍進行匹配,根據(jù)不同面積區(qū)間的小方格數(shù)量判斷棋盤類型。所以當(dāng)出現(xiàn)光照局部干擾時,即使有部分小方格未被檢測到,也不會對最終的識別結(jié)果產(chǎn)生較大的影響。

      2 棋子定位

      對弈過程中將不存在手臂、機械臂等障礙物的幀定義為干凈幀。本文棋子定位研究只在干凈幀上作處理,分為以下3 個過程:1)相鄰幀的標(biāo)準(zhǔn)棋盤圖像作差獲得棋子粗略區(qū)域;2)使用圖像掩膜獲得棋子有效區(qū)域;3)棋子定位結(jié)果的檢查與篩選。

      由于人的手臂和機器臂不斷產(chǎn)生下棋動作,棋子移動過程由攝像頭拍攝的許多相鄰幀組成,所以將棋子移動前稱為“前一幀”,棋子移動后稱為“當(dāng)前幀”,在相鄰兩幀的差分圖上粗略判斷是否有新棋子。理想的差分圖是除了棋子移動區(qū)域以外,其余像素值都為0,但實際上變化的照明方向和照明量會導(dǎo)致差分圖中出現(xiàn)很多孤立的白色像素區(qū)域。為了去除這些干擾點,將差分圖二值化并且進行膨脹運算,得到棋子粗略區(qū)域。例如圖6(a)所示的象棋棋子粗略區(qū)域圖是由開局狀態(tài)與空棋盤作差后,進行膨脹運算得到的。

      圖6 象棋開局狀態(tài)的棋子定位過程Fig.6 Chess piece positioning process of opening state of Chinese chess

      在定位過程中,棋子的形狀、大小和投影會產(chǎn)生以下3 個問題:1)棋子直徑與棋盤格的長度相近,相鄰棋子之間會出現(xiàn)粘連;2)鏡頭畸變和棋盤矯正導(dǎo)致棋子不是規(guī)矩的圓形;3)棋子自身的陰影,棋子有一定高度,受光照影響很容易在棋盤中出現(xiàn)棋子的陰影?;诖耍疚奶岢龆祱D像掩膜定義:

      其中:Pij表示圖像中第i行、第j列對應(yīng)的掩膜值;xij表示圖像中第i行、第j列對應(yīng)的像素值;σ表示棋子有效區(qū)域。棋盤上的每條橫線和縱線的交叉點向四個方向各擴展比二分之一個棋盤格略小范圍的正方形作為棋子有效區(qū)域,掩膜值為1;棋子的無效區(qū)域掩膜值為0。例如:圍棋棋盤格像素為100×100,掩膜像素為80×80;象棋棋盤格像素為225×225,掩膜像素為120×120,象棋的二值圖像掩膜如圖6(b)所示。將棋子粗略區(qū)域與二值圖像掩膜逐元素相乘,把棋子粗略區(qū)域縮小到有效區(qū)域內(nèi),并通過腐蝕去除多余的噪點,得到棋子有效區(qū)域,象棋開局狀態(tài)時棋子有效區(qū)域如圖6(c)所示。

      在圖6(c)中,遍歷物體輪廓,繪制最小外接圓,依據(jù)圓心數(shù)量和半徑大小刪除錯誤的繪制結(jié)果,將正確的圓心坐標(biāo)根據(jù)棋盤類型小方格的長寬成比例地轉(zhuǎn)換成棋盤坐標(biāo)。定義一個由二維數(shù)組構(gòu)成的棋盤狀態(tài)矩陣,用來儲存、更新和判斷當(dāng)前棋盤信息。經(jīng)過二次檢查與篩選后,獲得棋子定位結(jié)果并存儲棋盤坐標(biāo),象棋開局狀態(tài)的定位結(jié)果如圖6(d)所示。

      3 實驗與結(jié)果分析

      3.1 實驗設(shè)備與數(shù)據(jù)來源

      實驗設(shè)備由電腦、下棋機械臂、攝像頭(分辨率:1920×1080)、棋盤和棋子(備用棋子和使用棋子)組成,水平放置于實驗臺上,實驗裝置實景圖如圖7 所示。本實驗以棋盤和棋子為研究對象,在一臺配有Intel Core i5-8250U 1.6 GHz,8 GB內(nèi)存的Windows 10 操作系統(tǒng)上,采用Visual Studio 2017 開發(fā)環(huán)境,C++(opencv4.0)語言運行實驗程序。實驗數(shù)據(jù)來源于冬季四種照明條件下捕獲的圍棋和象棋圖像。實驗光照條件分別為:1)晴天室內(nèi)自然光照條件;2)陰天室內(nèi)自然光照條件;3)白熾燈室內(nèi)人工光照條件;4)體育館多光源光照條件。

      圖7 實驗裝置實景Fig.7 Real scene of experimental device

      本文對圍棋和象棋在四種光照情況下進行棋子定位實驗,共有8 組實驗數(shù)據(jù)和超過20 000 張圍棋圖像與10 000 張象棋圖像。其中,圍棋在每種光照條件下對弈50 次,象棋在每種光照條件下對弈20 次,通過照度計測量棋子移動位置處的照度值。在理想條件下,每組圍棋實驗結(jié)束后應(yīng)得到100張具有1 個最小外接圓圓心標(biāo)記的棋子定位圖像以及100 個照度值;每組象棋實驗結(jié)束后應(yīng)得到40 張具有2 個最小外接圓圓心標(biāo)記的棋子定位圖像以及80 個照度值,實驗結(jié)束后共輸出400張圍棋棋子定位圖像,400個圍棋棋子圓心坐標(biāo),160張象棋棋子定位圖像,320 個象棋棋子圓心坐標(biāo)。由于存在識別錯誤的情況,所以實驗結(jié)果實際輸出的棋子定位圖像數(shù)量會超過理想值。

      3.2 棋子定位實驗結(jié)果分析

      3.2.1 視覺定性分析

      圖8展示了圍棋棋子的定位結(jié)果,選取每種光照情況下5張具有代表性的圍棋棋子定位結(jié)果圖。圖8 中棋子周圍的圓圈為程序中標(biāo)注的定位位置,棋盤上的大方框用于放大顯示棋子定位結(jié)果,小方框表示正確的走子位置,并在每張圖像下都標(biāo)注了程序定位的幀數(shù)、當(dāng)前落子數(shù)量n和落子位置處的光照強度。

      圖8(a)拍攝于晴天室內(nèi),時間為上午9:20,空棋盤圖像中心處照度值為2 210 Lux,太陽光源發(fā)散的范圍覆蓋了整個棋盤圖像,導(dǎo)致相鄰幀之間的亮度變化不大。圖8(a)顯示了兩組棋子定位錯誤的結(jié)果,正確結(jié)果顯示在frame53 和frame76的小方框中。

      圖8(b)拍攝于下午15:15 的室內(nèi)陰天環(huán)境中,當(dāng)棋盤為空時,測量棋盤中心位置照度值為515 Lux,雖然照度值明顯低于圖8(a),但是在視覺上亮度差異不明顯。圖8(b)中顯示了兩組錯誤的定位結(jié)果,分別為frame84 和frame91。周圍環(huán)境和光照的變化導(dǎo)致frame84 定位出了一個沒有被排除的干擾點;frame90與frame91之間漏識別白色棋子,在圖8(b)中由小方框標(biāo)出。隨著時間變化,棋盤右側(cè)出現(xiàn)明顯的反光現(xiàn)象,導(dǎo)致白色棋子較黑色棋子識別率下降。

      圖8(c)拍攝于室內(nèi)的白熾燈光源下,棋盤圖像中存在固定陰影(陰影由攝像頭支架和攝像頭引起),這導(dǎo)致定位結(jié)果出現(xiàn)以下2 個問題:1)frame2、frame15 和frame61 都出現(xiàn)了陰影處的誤定位;2)frame7出現(xiàn)了漏識別白色棋子的現(xiàn)象,由于白色棋子正好落在陰影處,且前后兩幀陰影處位置相同,導(dǎo)致白色棋子沒有定位出來。

      圖8(d)拍攝于體育館多光源環(huán)境中,棋盤邊緣一直存在變化的陰影(陰影由變化的身體、手臂等部位引起)。與圖8(c)中出現(xiàn)的問題相似,圖8(d)中frame2 和frame9 都出現(xiàn)了陰影處的誤定位;frame66和frame88中白色棋子漏識別。

      圖9展示了象棋棋子的定位結(jié)果,每種光照情況選取3張象棋棋子定位結(jié)果圖。圖9 中棋子周圍的圓圈為程序中標(biāo)注的定位位置,箭頭底端和頂端所指示的方框分別表示正確的走子位置和目標(biāo)位置,并標(biāo)注了程序定位的幀數(shù)、當(dāng)前行棋次數(shù)m和走子位置與目標(biāo)位置的光照強度。

      圖9(a)拍攝于晴天室內(nèi)光照條件下,時間為中午12:05,初始照度值為1 021 Lux。frame31出現(xiàn)了定位錯誤,正確的走法是黑棋的“炮”吃掉紅棋的“馬”。

      圖9(b)拍攝于下午16:15 分的陰天室內(nèi)環(huán)境中,初始照度值為122 Lux,不同于圍棋的陰天情況,象棋拍攝時間較晚,最后幾幀的光照強度不足10 Lux。

      圖9(c)為室內(nèi)白熾燈照射的棋盤圖像,左下角反光比較明顯,與圖8(c)產(chǎn)生的陰影情況相似,都是室內(nèi)光源不可避免出現(xiàn)的現(xiàn)象。

      圖9(d)為體育館多光源拍攝下的棋子定位圖像,與圖8(d)相似,棋盤周圍出現(xiàn)陰影。從圖9(d)得知,“車”在frame38中被陰影遮擋,使其定位錯誤。程序定位結(jié)果為“車”發(fā)生移動,實際應(yīng)為“相”發(fā)生了移動。

      從圖8和圖9的數(shù)據(jù)中看出,在圍棋和象棋棋子存在明顯的投影和粘連時,本文方法可以實現(xiàn)對棋子的準(zhǔn)確定位,證明該方法能夠克服這兩種現(xiàn)象對棋子定位的干擾。

      圖8 四種光照情況下的圍棋棋子定位結(jié)果Fig.8 Positioning results of Go pieces under four illumination conditions

      3.2.2 數(shù)據(jù)定量分析

      圖10 展示了在四種光照條件下,圍棋和象棋棋子定位的光照強度和準(zhǔn)確率變化情況。圖10(a)、(c)顯示了圍棋和象棋棋子定位處光照強度變化的全過程。晴天和陰天室內(nèi)自然光照下的光源都為太陽,隨著下棋時間的消耗,太陽光源的位置和強度逐漸發(fā)生變化,圖10(a)的晴天、陰天和圖10(c)的陰天光照強度都出現(xiàn)了緩緩下降的趨勢。自然光源導(dǎo)致的不均勻光照對棋盤圖像是整體性的,每個棋盤格的光照強度都會發(fā)生變化。室內(nèi)人工光照和體育館光照來源于燈光照明,照明量不隨時間的變化而改變,只在合理范圍內(nèi)波動。燈光照明方向如果不在棋盤正上方,那么肯定會導(dǎo)致棋盤圖像亮度分布不均勻,產(chǎn)生投影,嚴(yán)重時會導(dǎo)致部分區(qū)域曝光過度或者出現(xiàn)暗角。

      經(jīng)過8 組實驗結(jié)果得出:圍棋實驗在晴天室內(nèi)自然光照條件、陰天室內(nèi)自然光照條件、白熾燈室內(nèi)人工光照條件和體育館多光源光照條件下棋子平均定位準(zhǔn)確率依次為98%、96%、93%和95%;象棋實驗的棋子平均定位準(zhǔn)確率依次為97.5%、100%、100%和98.75%,如圖10(b)、(d)所示。顯然,象棋的準(zhǔn)確率要高于圍棋。

      從圖8 圍棋數(shù)據(jù)中可見,圍棋棋子較小,隨著棋子數(shù)量增多,棋子之間十分密集,光照不均勻的影響逐漸增加,導(dǎo)致棋盤中的干擾點增多,與棋子大小相似不易區(qū)分和篩選,所以圍棋識別率略低于象棋。

      從圍棋和象棋在四種不同光照情況下的棋子定位結(jié)果分析得出,光照因素對棋子定位準(zhǔn)確率有很大的影響??紤]在實驗環(huán)境中,相鄰幀的光照變化大多數(shù)是緩慢的,所以,棋子定位實驗中相鄰幀之間的光照變化相較于全局變化是均勻的。差分圖會出現(xiàn)兩種情況:1)差分圖為空;2)只有落子位置處有值,此時在差分圖中尋找輪廓并且繪制最小外接圓才能準(zhǔn)確定位出棋子圓心坐標(biāo)。

      圖9 四種光照情況下的象棋棋子定位結(jié)果Fig.9 Positioning results of Chinese chess pieces under four illumination conditions

      圖10 圍棋和象棋棋子定位的不同光照強度和準(zhǔn)確率變化Fig.10 Different illumination intensities and accuracy change of Go and Chinese chess piece positioning

      只有在極少數(shù)的光照突變情況下,差分圖才會出現(xiàn)大范圍的白色像素值。這種情況本文采取圖像掩膜、腐蝕操作進行處理。并且,檢測最小外接圓的數(shù)量和半徑,如果不滿足棋盤類型對應(yīng)的行棋規(guī)則或者棋子大小,可以選擇放棄該幀,繼續(xù)向下讀取棋盤圖像,重復(fù)棋子定位方法步驟直到棋局結(jié)束。

      3.2.3 量化比較

      表1 顯示不同方法棋子定位的準(zhǔn)確率。針對四種光照情況,本文方法應(yīng)用于圍棋定位實驗的平均準(zhǔn)確率為95.5%;本文方法應(yīng)用于象棋棋子定位實驗的平均準(zhǔn)確率為99.06%,略高于其他對比方法。表1 結(jié)果表明:本文方法在適應(yīng)于多種光照條件的同時,保持了較高的定位準(zhǔn)確率。

      表1 不同方法棋子定位的準(zhǔn)確率Tab.1 Accuracy of chess piece positioning of different methods

      3.2.4 運行時間

      表2 和表3 分別統(tǒng)計了圍棋和象棋棋子定位過程的分段時間,其中,n為圍棋棋子數(shù)量,m為象棋行棋次數(shù)。

      表2 圍棋棋子定位過程的分段時間統(tǒng)計 單位:sTab.2 Segmented time statistics of Go piece positioning process unit:s

      表3 象棋棋子定位過程的分段時間統(tǒng)計 單位:s Tab.3 Segmented time statistics of Chinese chess piece positioning process unit:s

      當(dāng)n=0 或者m=0 時,為棋子定位預(yù)處理階段。預(yù)處理的結(jié)果是將空棋盤圖像矯正為圖4(c)所示的標(biāo)準(zhǔn)棋盤圖像,并儲存轉(zhuǎn)換矩陣,在標(biāo)準(zhǔn)棋盤圖像中識別棋盤類型。棋局開始后,每幀按照轉(zhuǎn)換矩陣完成棋盤矯正,每幀矯正的時間消耗相同。

      當(dāng)n> 0 或者m> 0 時,為棋子定位階段。通常隨著行棋次數(shù)增加,圍棋棋盤上棋子數(shù)量會增多,象棋棋盤上棋子數(shù)量會減少,但從表2 和表3 中可以看出,圍棋和象棋棋子定位的耗時基本均衡,說明棋盤上棋子數(shù)量對定位時間的影響不大,可以確保下棋機器人系統(tǒng)操作過程的平穩(wěn)性。

      4 結(jié)語

      基于視覺的棋子定位技術(shù)是下棋機器人系統(tǒng)中非常重要的研究內(nèi)容,本文重點研究了不均勻光照下棋盤識別與通用棋子定位的處理方法。棋盤識別工作主要包括:棋盤的分割、頂點提取、矯正和類型識別,提出了基于分塊凸包檢測和自定義棋盤格匹配的識別方法。棋子定位工作主要包括:將相鄰兩個標(biāo)準(zhǔn)棋盤圖像的差分圖進行形態(tài)學(xué)運算,得到棋子粗略區(qū)域,再將棋子粗略區(qū)域與二值圖像掩膜相乘,得到棋子有效區(qū)域,并進行二次篩選獲得最終的棋子定位坐標(biāo),提出了基于圖像掩膜的通用棋子定位方法。與現(xiàn)有棋子定位方法相比,本文方法在不同光照環(huán)境下都具有魯棒性,棋子定位也更準(zhǔn)確。

      現(xiàn)有的象棋文字識別技術(shù)已經(jīng)非常完善,可以將其作為本文象棋棋子定位后識別異常的一種補充。本文在實驗研究過程中還發(fā)現(xiàn)了兩個對棋子定位準(zhǔn)確率產(chǎn)生影響的因素:1)攝像頭的晃動,2)已定位的棋子發(fā)生移動,結(jié)合光照不均勻因素,這些都給棋子定位研究帶來了更大的挑戰(zhàn)。今后我們將繼續(xù)開展更深入的算法優(yōu)化研究和全面的量化評估,進一步提高棋子定位的準(zhǔn)確率。

      猜你喜歡
      棋盤棋子頂點
      過非等腰銳角三角形頂點和垂心的圓的性質(zhì)及應(yīng)用(下)
      棋子多少顆
      擺棋子
      有趣的棋子
      關(guān)于頂點染色的一個猜想
      棋子餓了
      大灰狼(2018年5期)2018-06-20 14:49:32
      棋盤人生
      棋盤里的天文數(shù)字
      棋盤疑案
      數(shù)學(xué)問答
      留坝县| 田林县| 玛曲县| 曲沃县| 郁南县| 喀喇沁旗| 吉首市| 壤塘县| 东阳市| 丰都县| 淮北市| 平罗县| 灯塔市| 甘谷县| 庄河市| 松滋市| 静宁县| 宁晋县| 惠安县| 元谋县| 房产| 东宁县| 青田县| 郓城县| 石嘴山市| 徐水县| 桦南县| 花垣县| 华池县| 乌拉特中旗| 高要市| 晋宁县| 丽江市| 沧源| 深水埗区| 凤山市| 保山市| 海盐县| 临城县| 泊头市| 新疆|