象棋機器人視覺系統(tǒng)設(shè)計_第1頁
象棋機器人視覺系統(tǒng)設(shè)計_第2頁
象棋機器人視覺系統(tǒng)設(shè)計_第3頁
象棋機器人視覺系統(tǒng)設(shè)計_第4頁
象棋機器人視覺系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、象棋機器人視覺系統(tǒng)設(shè)計杜俊俐1,2 , 黃心漢1 時間:2008年07月15日 字 體: 大 中 小關(guān)鍵詞:? 摘 要:關(guān)鍵詞: 棋盤識別? 圖像處理? 灰度差閾值? 年輪統(tǒng)計?1 象棋機器人視覺系統(tǒng)整體設(shè)計1.1棋盤設(shè)計與表示? 棋盤的設(shè)計如圖1(a)所示,棋盤由對弈棋盤和輔助棋位組成。相機位于棋盤正上方,且保持固定狀態(tài),靜止拍攝。輔助棋位是位于棋盤的兩側(cè)用于放置吃掉的棋子。棋子正反兩面帶有凹槽外框及標(biāo)識點,根據(jù)紅、綠方棋子,槽內(nèi)底色也分別為紅、綠兩種顏色;正反兩面的字符也分為紅、綠兩色,黑棋上的字符為將、象、士、車、馬、炮、卒,紅棋上的字符為帥、相、仕、車、馬、炮、兵。棋盤和棋子的底色為灰

2、白,網(wǎng)格線為黑色。? 為表示棋子的位置,定義一個棋盤坐標(biāo)系如圖1(b)所示。用兩維數(shù)組A(i,j)表示棋盤上各棋位的狀態(tài),其中,(i,j)為棋位的豎軸、橫軸坐標(biāo)。棋位的狀態(tài)用一組代碼表示,用“0”表示無棋子,一組大寫字母表示紅方棋子,一組小寫字母表示綠方棋子,具體為“R”表示紅車;“H”表示紅馬;“E”表示紅相;“A”表示紅仕;“K”表示紅帥;“C”表示紅炮;“P”表示紅兵。“r”表示綠車;“h”表示綠馬;“e”表示綠象;“a”表示綠士;“k”表示綠將;“c”表示綠炮;“p”表示綠卒。1.2 象棋棋盤識別程序出口參數(shù)? 程序被調(diào)用一次,將捕捉當(dāng)前棋盤圖像并對其進(jìn)行預(yù)處理、二值化、棋盤狀態(tài)檢測、

3、棋子文字識別等工作。程序處理結(jié)果為棋盤狀態(tài)數(shù)組A(i,j)(i=09, j=012)和異常數(shù)組B(i)(i=0,1,6)(A(i,j)的定義如2.1中所述)。約定B(0)、B(1)、B(2)、B(3)、B(4)、B(5)、B(6)的值為0或1,分別表示圖像模糊不清、有手臂遮擋棋盤、有異物、僅缺失一個棋子、棋子缺失兩個或兩個以上、棋子多余、棋子過于偏離位置這七種異常情況的無或有,供后續(xù)的控制程序和博弈程序判斷使用。1.3 象棋棋盤識別程序處理流程? 程序的處理過程為先捕捉棋盤灰度圖像并進(jìn)行二值化,在此基礎(chǔ)上進(jìn)行棋盤檢測并對分割出的棋子進(jìn)行識別,同時應(yīng)考慮光線、遮蓋、異物、棋子偏離等異常情況。具體

4、處理流程如圖2所示。其中,對棋盤圖像的二值化、棋子檢測和棋子文字的識別是關(guān)鍵,下面分別介紹其中所存在的主要問題及所采取的解決方法。?2 基于像素差閾值的棋盤圖像二值化1-2。全局閾值法實現(xiàn)簡單、速度快,對于具有明顯雙峰直方圖的圖像效果明顯,但對于光照不均勻的圖像效果不佳,抗噪能力差。局部閾值法能處理較為復(fù)雜的情況,但往往忽略了圖像的邊緣特征,容易出現(xiàn)偽影現(xiàn)象,且窗口較大時,算法的速度將受到很大影響。動態(tài)閾值法充分考慮了像素的鄰域特征,能夠根據(jù)圖像的不同背景情況自適應(yīng)地改變閾值,可較精確地提取出二值圖像,但它過渡地夸大了像元的鄰域灰度的變化,會把不均勻灰度分布的背景分割到目標(biāo)中去,帶來許多不應(yīng)出

5、現(xiàn)的假目標(biāo)。? 在象棋機器人系統(tǒng)中裝有照明燈,為圖像捕捉提供光源。即使這樣,由于光照不均勻有時所捕捉的圖像仍存在一定的陰影、反光現(xiàn)象,致使圖像灰度層次較多?;叶葓D像如圖3(a)所示。若采用全局閾值法的二值化圖像,結(jié)果出現(xiàn)某些背景變黑而一些棋子模糊和網(wǎng)格線斷線的現(xiàn)象,如圖3(b)所示。這直接影響了后續(xù)的棋子和異物檢測。? 分析灰度棋盤圖像特征,發(fā)現(xiàn)雖然背景灰度不均勻,但圖像清晰,網(wǎng)格線和棋子與鄰域背景灰度反差較大,而背景灰度在鄰域內(nèi)變化緩慢。為此,綜合全局閾值法的速度優(yōu)勢、局部閾值法和動態(tài)閾值法的鄰域特征,提出一種基于鄰像素差閾值的二值化方法。2.1 基于鄰像素差閾值的棋盤圖像二值化算法思想?

6、基于鄰像素差閾值的棋盤圖像二值化算法是將常規(guī)灰度閾值的像素灰度判斷改為對鄰像素差閾值進(jìn)行相鄰像素差的判斷來分割圖像。? 鄰像素差是指水平或垂直方向上的相鄰兩像素灰度的差。鄰像素差閾值是指對整幅圖像進(jìn)行鄰像素差的統(tǒng)計,利用灰度閾值自動求取方法求取鄰像素差閾值。針對象棋棋盤圖像,進(jìn)行逐行或逐列掃描圖像,求出水平或垂直相鄰像素灰度差直方圖。實驗發(fā)現(xiàn),該灰度差直方圖呈現(xiàn)明顯的雙峰特征,故選擇峰谷點作為閾值。? 基于鄰像素差閾值的棋盤圖像二值化算法就是用鄰像素差閾值二值化圖像,即逐行或逐列掃描棋盤圖像,若判相鄰像素差小于閾值,則當(dāng)前點的二值化值與前一個像素的二值化值相同,否則不同。? 設(shè)灰度棋盤圖像為A

7、,二值棋盤圖像為BW,鄰像素差閾值為T,則水平方向的鄰像素差閾值的二值化方法為:? ? 垂直方向的鄰像素差閾值的二值化的表達(dá)為:? 2.2 基于相鄰像素灰度差的棋盤二值化算法描述? (1) 準(zhǔn)備一個存放二值化圖像的矩陣BW,并將第一個元素BW1,1的值賦為1(已知是白色背景),它是處理的起點。? (2) For i=1 to m ? /逐行掃描圖像,m為棋盤圖像行數(shù)? ? ? For j=1 to n? /逐列掃描像素行,n為棋盤? ?圖像列數(shù)? If P(i,j)-P(i,j-1)? If A(i,1)-A(i+1,1)? /求下一行首像素的二值化值,? /它是下一行二值化的起點? ? 以上

8、為基于水平像素差閾值的二值化算法。若基于垂直像素差閾值,則二值化算法中將行列掃描順序調(diào)整即可。3 棋子及異常檢測? 在二值化圖像上進(jìn)行棋子和異物的檢測,以便進(jìn)行下一步的識別或異常報警。檢測采用兩趟檢測法。? 第一趟:正常棋位棋子檢測? 沿網(wǎng)格線逐線水平掃描,在棋位處進(jìn)行十字網(wǎng)格線的檢測,若有十字網(wǎng)格線則該棋位為空,否則通過一個模板圓進(jìn)行匹配確認(rèn)是否為棋子。將匹配成功的棋子分割下來傳給識別函數(shù),并以1值(白色)填充棋位。? 模板圓匹配方法:模板圓圓心在以十字點為中心以為邊長的正方形內(nèi)進(jìn)行試探,若圓周匹配率達(dá)95%則認(rèn)為匹配成功。? 若采用逐行逐列順序匹配,一個10281024的盤棋的檢測時間約為

9、2秒。在正常情況下,由于棋盤棋位和棋子吸鐵石的相互作用,棋子的位置偏離很少。為提高匹配速度,以十字交叉點為起點以螺旋線為移動路徑進(jìn)行匹配,實測檢測速度提高約20倍。? 第二趟:異物和棋子超偏等異常檢測? 以網(wǎng)格為單位進(jìn)行棋盤掃描,進(jìn)行網(wǎng)格內(nèi)的異物和棋子超偏等異常檢測。具體步驟如下:? (1)對當(dāng)前網(wǎng)格內(nèi)黑像素數(shù)進(jìn)行統(tǒng)計,若統(tǒng)計值為0,則當(dāng)前網(wǎng)格區(qū)中無物體,判下一個網(wǎng)格區(qū);否則進(jìn)入第2步。? (2)求當(dāng)前網(wǎng)格區(qū)的水平投影和垂直投影,若水平或垂直投影寬度大于棋子直徑,則為異物退出,否則進(jìn)入第3步。? (3)投影拼接:當(dāng)前網(wǎng)格區(qū)中物體小于棋子則判物體水平鄰接關(guān)系,寬度大于棋子為異物退出;否則判物體垂

10、直鄰接關(guān)系。若高度大于棋子,為異物退出;否則進(jìn)行棋子檢測,是棋子置B(5),不是棋子則置B(1)。? (4)當(dāng)前網(wǎng)格區(qū)中有物體且無物體鄰接關(guān)系同時投影寬度接近棋子大小,則進(jìn)行棋子檢測,若是棋子,則為棋子超偏置B(5),否則棋子置B(1)。4 基于年輪統(tǒng)計的棋子文字識別方法? 如圖4(a)所示的以棋子的圓形凹槽外框為特征,從上面二值化圖像中通過模板圓匹配法很容易檢測并分割出棋子,然后對棋子文字進(jìn)行識別。由于棋子放置方向的隨意性,識別的關(guān)鍵問題是文字的方向。? 基于統(tǒng)計決策論的統(tǒng)計特征可以丟失方向信息,是適合識別棋子的方法。統(tǒng)計決策論其要點是提取待識別模式的一組統(tǒng)計特征, 然后按照一定準(zhǔn)則所確定的

11、決策函數(shù)進(jìn)行分類判決。漢字的統(tǒng)計模式識別是將字符點陣看作一個整體, 從該整體上經(jīng)過大量統(tǒng)計得到所用特征, 用盡可能少的特征模式來描述盡可能多的信息。所采用的方法有: 特征統(tǒng)計方法、整體變換分析法、幾何矩特征、筆劃密度特征、字符投影特征、外圍特征、微結(jié)構(gòu)特征和特征點特征等。在這里,因文字方向任意,這些方法都不適用。由于棋子字符共有將、象、士、車、馬、炮、卒、帥、相、仕、車、馬、炮、兵14個,且系統(tǒng)要求視覺處理速度要快,所以不能采用計算量大的方法,故需要尋找針對這14個字的簡單、快速、有效的識別方法。受參考文獻(xiàn)3中過線數(shù)特征的啟發(fā),本文提出一種基于統(tǒng)計特征的、與方向無關(guān)的、簡單快速的象棋棋子識別方

12、法年輪統(tǒng)計法。4.1 有關(guān)定義? 所謂年輪,是指以字符中心為圓心,以小于棋子半徑的若干整數(shù)為半徑所做的一組同心圓,因其形狀而命名。如圖4(b)所示。? 過輪數(shù)定義為每個年輪穿越字符的次數(shù),即每條年輪穿過黑像素區(qū)域的次數(shù)即為該年輪上的過輪數(shù)。? 年輪統(tǒng)計法是根據(jù)過輪數(shù)特征構(gòu)造編碼器對文字進(jìn)行識別。該方法結(jié)合了一定的棋子文字結(jié)構(gòu)且與方向無關(guān)。4.2 過輪數(shù)的計算方法? 過輪數(shù)的計算方法是:若圓心坐標(biāo)為(x,y),半徑為r,則從(x,y+r)開始逆時針沿年輪線走一圈,像素值從白到黑變化一次則累計一次數(shù)。4.3 年輪像素位置的確定? 計算過輪數(shù)的關(guān)鍵問題是確定年輪線上的像素位置。為減少統(tǒng)計時間,根據(jù)圓

13、的八路對稱性,只需計算(x,y+r)-(x+r/sqr(2.0),y+r/sqr(2.0))這1/8圓即可。在此可應(yīng)用著名的Bresenham畫圓算法4來確定年輪上的像素。 ? Bresenham畫圓算法的基本思想是,在算法的每一步都選擇距離圓周最近的點。設(shè)Pi(xi, yi)是已經(jīng)選取的一個像素點,根據(jù)該段圓的特點,可以判定下一個像素將從Hi(xi+1, yi)和Di(xi+1, yi+1)兩點中選取。? 判據(jù)d的初始值為:d0=3-2R? 如果di0,應(yīng)選擇Di,則下一點(xi+1,yi+1)的判別式是: di+1=di+4(xi-yi)+104.4 編碼器的構(gòu)造? 若將棋子圓形外框半徑記

14、為r,則對半徑從0r 的每條年輪的過輪數(shù)進(jìn)行計算,構(gòu)成一個字符串。然后對字符串進(jìn)行分析和篩減,以尋求一個能區(qū)分各文字的最短字符串,并將其作為編碼器進(jìn)行棋子文字的識別。? 篩減方法:若某過輪數(shù)刪除后每個文字的過輪數(shù)串均不相同即不出現(xiàn)重碼,則將該過輪數(shù)刪除;否則,將該過輪數(shù)保留。? 針對本系統(tǒng)中的棋子,篩減的結(jié)果是(1/4)R、(1/2)R、(3/4)R三條年輪的過輪數(shù),任意刪除一個即出現(xiàn)重碼,則將這三個過輪數(shù)進(jìn)行組合作為棋子文字的識別碼。表1給出了象棋棋子文字的特征值及編碼器。? 本軟件是鄭州市科技館象棋機器人系統(tǒng)的視覺部分,其中所采用的基于鄰像素差閾值的棋盤圖像二值化方法計算量小、二值化效果好,能使用較寬的光線條件。但它要求邊緣灰度有突變的使用前提,否則會造成累計誤差?;谀贻喗y(tǒng)計的棋子文字識別方法具有方向無關(guān)性,能很好地適應(yīng)棋子方向隨意的情況。為提高處理速度,可先做相鄰灰度圖像的差分,在二值差分圖上檢測變化位置,在當(dāng)前二值圖上只對變化部分進(jìn)行處理,可大大縮短處理時間。在具體應(yīng)用中由于棋子文字的字體不同,以上方法的具體特征值可能不能直接拿來使用,但方法的思想是可借鑒的。參考文獻(xiàn)1 ?OTSU N. A threshold selection method from gray-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論