趙 祥,趙新龍
(浙江理工大學(xué)機(jī)械與自動(dòng)控制學(xué)院,浙江 杭州 310018)
1546688451@qq.com;zhaoxinlong@zstu.edu.cn
圍棋機(jī)器人是新興的娛樂(lè)機(jī)器人之一,一般應(yīng)用于家庭娛樂(lè)、棋院、少年宮等教育機(jī)構(gòu)。識(shí)別棋盤(pán)棋子是圍棋機(jī)器人的關(guān)鍵技術(shù),其識(shí)別準(zhǔn)確率直接決定了圍棋機(jī)器人的正常運(yùn)行狀況與用戶的體驗(yàn)質(zhì)量。傳統(tǒng)方法主要是在光照恒定的條件下利用圖像識(shí)別方法提取并匹配特征來(lái)檢測(cè)棋子,例如定向梯度直方圖(Histogram of Oriented Gradients,HOG)和尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)。但是由于圍棋棋子的紋理不多,很難從中提取特定的特征,而且各部分之間的相似特征會(huì)使得匹配過(guò)程復(fù)雜化。NHAT等提出一種利用顏色空間識(shí)別棋子的直接方法,但只能得出棋子的大致位置。DEY等提出通過(guò)檢測(cè)形狀并融合顏色空間來(lái)識(shí)別圍棋棋子,提升了棋子識(shí)別率。但當(dāng)棋子的位置偏離棋盤(pán)線角點(diǎn)時(shí),該方法的準(zhǔn)確率下降。上述棋子識(shí)別方法的實(shí)驗(yàn)環(huán)境是光照恒定的,缺乏對(duì)復(fù)雜光照情況的研究。但是人們?nèi)粘I钪械膰暹\(yùn)動(dòng)所處環(huán)境的光照條件是不均勻的,而不均勻光照會(huì)在棋盤(pán)上產(chǎn)生陰影、光斑、噪點(diǎn)等,從而影響棋子識(shí)別的準(zhǔn)確率。本文結(jié)合神經(jīng)網(wǎng)絡(luò)和圖像處理的相關(guān)技術(shù),分析了光照不均勻?qū)迤遄幼R(shí)別率的影響,并進(jìn)行了不同光照強(qiáng)度下的測(cè)試,優(yōu)化了識(shí)別算法,提高了棋子識(shí)別率。
為了解決不均勻光照對(duì)棋子識(shí)別的影響,更好地提取圖像特征,研究人員借助圖像增強(qiáng)技術(shù)來(lái)凸顯低亮度區(qū)域的細(xì)節(jié)信息并提升圖像的對(duì)比度。圖像分割為常用方法之一,能夠有效提取特征,并且在一定程度上減輕光照不均勻帶來(lái)的影響,常用的分割技術(shù)有自適應(yīng)閾值分割、形態(tài)學(xué)和模糊C均值聚類(lèi)方法。以上方法在光照不均勻的環(huán)境下識(shí)別圖像特征時(shí)有一定效果,但是應(yīng)用于圍棋棋子識(shí)別時(shí),由于棋盤(pán)上的高亮區(qū)域和陰影區(qū)域分布不規(guī)律,影響了棋子識(shí)別的準(zhǔn)確率。
本文首先利用邊緣檢測(cè)和閾值分割法來(lái)提取棋盤(pán)圖像并轉(zhuǎn)化為標(biāo)準(zhǔn)圖像,然后利用神經(jīng)網(wǎng)絡(luò)的方法來(lái)識(shí)別黑白棋子,通過(guò)提取更多的有效特征,解決不均勻光照條件下圍棋棋子識(shí)別率較低的問(wèn)題。實(shí)驗(yàn)表明:這種方法在強(qiáng)光、室內(nèi)燈光、暗光等三種光照不均勻情況下,對(duì)圍棋棋子的平均識(shí)別準(zhǔn)確率可達(dá)到98%以上,驗(yàn)證了該方法的有效性。
在采集到的原始圖像中,棋盤(pán)是我們所需要的部分,因此我們需要將圖像中的棋盤(pán)部分提取并保留,非棋盤(pán)部分進(jìn)行舍棄。本文提出了基于邊緣檢測(cè)和閾值分割的棋盤(pán)提取方法。
在實(shí)驗(yàn)過(guò)程中,首先利用高斯濾波來(lái)減少噪聲從而得到矯正后的原始圖像,如圖1(a)所示。然后利用Canny算子處理后得到圖1(b),并辨識(shí)出圖像中最大的四邊形輪廓,即得到棋盤(pán)區(qū)域圖像如圖1(c)所示。最后利用閾值分割法對(duì)棋盤(pán)區(qū)域存在的標(biāo)定點(diǎn)進(jìn)行讀取,得出標(biāo)定點(diǎn)對(duì)應(yīng)的位置如圖1(d)所示。
圖1 棋盤(pán)識(shí)別流程Fig.1 Checkerboard recognition process
棋盤(pán)提取只保留標(biāo)定點(diǎn)中間的區(qū)域,所得圖像如圖2(a)所示。設(shè)標(biāo)定點(diǎn)為、、、,構(gòu)成一個(gè)不規(guī)則四邊形。為了方便對(duì)棋盤(pán)上的棋子進(jìn)行識(shí)別處理,需要將圖2(a)通過(guò)透視變換轉(zhuǎn)換為標(biāo)準(zhǔn)棋盤(pán)圖像。透視變換關(guān)系如圖2(b)所示。
圖2 透視變換流程Fig.2 Perspective transformation process
根據(jù)透視變換矩陣,可以將圖2(a)中的棋盤(pán)提取圖像轉(zhuǎn)換為圖2(c)所示的標(biāo)準(zhǔn)棋盤(pán)圖像。整個(gè)棋盤(pán)提取的標(biāo)準(zhǔn)流程如圖3所示。
圖3 棋盤(pán)提取流程Fig.3 Checkerboard extraction process
針對(duì)不均勻光照下的棋子特征識(shí)別,本文通過(guò)采集不均勻光照條件下的棋盤(pán)棋子圖像,構(gòu)建合適的神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行棋子圖像的特征提取和分類(lèi),降低不均勻光照對(duì)棋子特征識(shí)別的影響。通過(guò)采集不同光照強(qiáng)度下的棋盤(pán)棋子圖像作為數(shù)據(jù)集,共得到3,000 張標(biāo)準(zhǔn)棋盤(pán)圖像,光照強(qiáng)度在10 Lux至3,500 Lux。本文按照9:1的比例劃分訓(xùn)練集和測(cè)試集,對(duì)數(shù)據(jù)集中的圖像分成黑、白和空三類(lèi)并進(jìn)行標(biāo)注,然后將訓(xùn)練集輸入神經(jīng)網(wǎng)絡(luò)分類(lèi)器進(jìn)行訓(xùn)練。
本文利用多層感知器(Multilayer Perceptron,MLP)來(lái)實(shí)現(xiàn)對(duì)圍棋圖像的分類(lèi)。多層感知器是由輸入層、隱含層及輸出層構(gòu)成的神經(jīng)網(wǎng)絡(luò)模型,其內(nèi)部神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,層與層的關(guān)系為全連接關(guān)系。
圖4 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Neural network architecture
在圖4的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層神經(jīng)元接收?qǐng)D像數(shù)組,輸出層神經(jīng)元設(shè)置為3,用于對(duì)棋子的類(lèi)型進(jìn)行判斷。MLP的輸出計(jì)算步驟如下。
首先,計(jì)算得到輸入的加權(quán)和為
利用自適應(yīng)矩陣估計(jì)(Adaptive Momentum,Adam)來(lái)調(diào)整MLP的權(quán)重。Adam優(yōu)化器可以替代傳統(tǒng)隨機(jī)梯度下降過(guò)程的一階優(yōu)化算法,基于訓(xùn)練數(shù)據(jù)迭代更新神經(jīng)網(wǎng)絡(luò)權(quán)重。
訓(xùn)練出的分類(lèi)器封裝為H5文件并保存,利用Python調(diào)用此分類(lèi)器對(duì)棋盤(pán)圖像進(jìn)行分類(lèi)。首先將圖5(a)的標(biāo)準(zhǔn)棋盤(pán)圖像分割為20 px×20 px的單個(gè)棋子圖像,并依次加入data數(shù)據(jù)集,作為分類(lèi)器的輸入。然后直接在Python中調(diào)用分類(lèi)器,將結(jié)果導(dǎo)出為數(shù)據(jù)矩陣并轉(zhuǎn)換為識(shí)別后的棋盤(pán)圖像,如圖5(b)所示。
圖5 圖像對(duì)比Fig.5 Image comparison
整個(gè)棋子特征識(shí)別流程如圖6所示。
圖6 棋子特征識(shí)別流程Fig.6 Recognition process of chess pieces features
本實(shí)驗(yàn)以不均勻光照下的圍棋棋子作為研究對(duì)象,在處理器為Inter Core i5-10210U、16 GB內(nèi)存的計(jì)算機(jī)上,利用PyCharm作為開(kāi)發(fā)工具運(yùn)行實(shí)驗(yàn)程序。實(shí)驗(yàn)數(shù)據(jù)來(lái)源于三種不均勻光照環(huán)境下采集的原始棋盤(pán)圖像。實(shí)驗(yàn)光照條件分別為強(qiáng)光照環(huán)境下、室內(nèi)燈光環(huán)境下和暗光環(huán)境下,整體光照范圍為10—3,500 Lux。
圖7展示了不同光照環(huán)境下圍棋棋子的識(shí)別結(jié)果,實(shí)驗(yàn)共得到20,000 張圍棋圖像,下面找一些典型的圖片作為說(shuō)明。圖像中的圓圈標(biāo)注為出現(xiàn)識(shí)別錯(cuò)誤的位置。
圖7(a)采集于強(qiáng)光照環(huán)境下,棋盤(pán)的光照范圍為1,000—3,500 Lux,光照強(qiáng)度從上到下逐漸減弱。由于光照強(qiáng)度較高,且棋子有反光的現(xiàn)象存在,識(shí)別難度增大,主要原因是強(qiáng)光下黑棋的反光導(dǎo)致程序?qū)⒑谄邋e(cuò)認(rèn)成白棋,另外白棋在強(qiáng)光下的反光也對(duì)識(shí)別效果有很大影響。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,棋子在強(qiáng)光照環(huán)境下識(shí)別率在97%以上。
圖7(b)采集于室內(nèi)燈光環(huán)境下,棋盤(pán)的光照范圍為300—1,000 Lux。相對(duì)于強(qiáng)光照環(huán)境,室內(nèi)燈光下的棋盤(pán)表面會(huì)反射燈光從而出現(xiàn)光照不均勻現(xiàn)象。當(dāng)棋盤(pán)有明顯的反光時(shí)會(huì)增大棋子的識(shí)別難度。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,棋子在室內(nèi)燈光環(huán)境下識(shí)別率在99%以上。
圖7(c)采集于暗光環(huán)境下,棋盤(pán)的光照范圍為10—300 Lux。由于環(huán)境光照強(qiáng)度過(guò)低,可以發(fā)現(xiàn)棋子周?chē)嬖诿黠@陰影。此時(shí)圓圈標(biāo)注位置的光照強(qiáng)度為46 Lux,白色棋子并未識(shí)別出來(lái),原因是在光線昏暗的情況下,白子的灰度特征不明顯,因而影響了棋子的識(shí)別率。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,棋子在暗光環(huán)境下識(shí)別率在98%以上。
圖7(d)采集于正常的均勻光照環(huán)境下,作為實(shí)驗(yàn)中的對(duì)照組,棋盤(pán)的光照范圍為300—1,000 Lux。均勻光照下的棋盤(pán)圖像中的棋子輪廓清晰,棋盤(pán)沒(méi)有明顯的反光與陰影,因此算法處理這類(lèi)圖像的識(shí)別效率很高,基本上所有棋子都可以識(shí)別。
圖7 不同光照條件下的圍棋棋子識(shí)別結(jié)果Fig.7 Recognition results of Weiqi pieces under different lighting conditions
不同的光照強(qiáng)度下,圍棋棋子識(shí)別準(zhǔn)確率如圖8所示。
圖8 圍棋識(shí)別準(zhǔn)確率Fig.8 Weiqi recognition accuracy
為了進(jìn)一步說(shuō)明本文所提出的神經(jīng)網(wǎng)絡(luò)方法的有效性,使用相同的圍棋圖像樣本與傳統(tǒng)的邊緣檢測(cè)算法進(jìn)行比較。所識(shí)別的圍棋圖像樣本共100 個(gè),分別為暗光環(huán)境下采集的圖像30 張,室內(nèi)燈光環(huán)境下采集的圖像40 張,強(qiáng)光環(huán)境下采集的圖像30 張。表1顯示兩種方法在識(shí)別不均勻光照環(huán)境下棋子的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明神經(jīng)網(wǎng)絡(luò)方法在三種不同光照條件下的圍棋識(shí)別準(zhǔn)確率均高于邊緣檢測(cè)算法。
表1 不同方法下圍棋識(shí)別準(zhǔn)確率Tab.1 Weiqi recognition accuracy in different lighting conditions
識(shí)別棋盤(pán)棋子是圍棋機(jī)器人系統(tǒng)中非常重要的研究?jī)?nèi)容,本文重點(diǎn)研究了不均勻光照下棋盤(pán)提取與棋子識(shí)別的處理方法。棋盤(pán)提取主要包括識(shí)別標(biāo)定點(diǎn)和透視變換,提出了基于邊緣檢測(cè)和閾值分割方法來(lái)提取棋盤(pán)圖像,并利用透視變換轉(zhuǎn)換為標(biāo)準(zhǔn)棋盤(pán)圖像的方法。另外,利用多層感知器和神經(jīng)網(wǎng)絡(luò)方法來(lái)訓(xùn)練棋子分類(lèi)器,對(duì)標(biāo)準(zhǔn)棋盤(pán)圖像上的棋子進(jìn)行識(shí)別和分類(lèi)。通過(guò)實(shí)驗(yàn)驗(yàn)證,對(duì)于不均勻光照環(huán)境下的棋子識(shí)別,本文所提出的方法優(yōu)于傳統(tǒng)的邊緣檢測(cè)算法。