耿瑞芳(1965-)
女, 山東淄博人,副教授,工學學士。(北京聯(lián)合大學生物化學工程學院,北京 100023),主要研究方向為檢測儀表及自動化,計算機控制,視覺技術(shù)。
摘要:本文介紹了一種采用Blob算法實現(xiàn)圖像識別的方法,在此基礎(chǔ)上提出識別規(guī)定形狀物體的方法,利用不變矩、圖形的面積和周長的比值來識別物體的形狀,從而從多個規(guī)則物體中識別出規(guī)定形狀的物體,同時利用該算法還能夠給出所識別物體的位置信息。實驗結(jié)果表明,該圖像識別算法能夠滿足實際要求,物體識別準確率達到100%。
關(guān)鍵詞:機器視覺;不變矩;圖像識別
Abstract: The paper introduces an image identified-method based on the Blob algorithm. Based this algorithm, we propose the method to recognize the regular objects by the moment invariables and invariable of the ratio of area and girth. This method can identify the stipulation shape object among regular objects, and can identify the positional information of the identified object. The experiments shows that the image identified algorithm can meet the requirements, and the recognition rate can reach 100%.
Key words: robot-vision;invariability moment;image identification
1 引言
機器視覺就是用機器代替人眼來做測量和判斷。機器視覺系統(tǒng)是指通過機器視覺產(chǎn)品(即圖像攝取裝置,分CMOS和CCD兩種)將被攝取目標轉(zhuǎn)換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號;圖像系統(tǒng)對這些信號進行各種運算來抽取目標的特征,進而根據(jù)判別的結(jié)果來控制現(xiàn)場的設(shè)備動作。
機器視覺系統(tǒng)的特點是提高生產(chǎn)的柔性和自動化程度。在現(xiàn)代自動化生產(chǎn)過程中,將機器視覺系統(tǒng)廣泛地用于工況監(jiān)視、成品檢驗和質(zhì)量控制等領(lǐng)域。
本文中的系統(tǒng)主要是利用VC智能攝像機進行圖像采集,并利用Blob算法對采集到的圖像進行處理,在幾個不同形狀的物體中識別出要抓取的物體,并救出其位置信息,然后將此信息傳遞給機械手驅(qū)動器,由其控制機械手準確地抓取該目標物。
BLOB算法是在一塊區(qū)域內(nèi)把出現(xiàn)“灰度突變”的范圍找出來,并確定其大小、形狀、面積及準確位置等;該算法適用圖像質(zhì)量較高,能較好地進行圖像閾值分割的場合,具有速度快,實時性好的特點[1]。
圖像處理是指把圖像變換成其它圖像的操作,包括圖像的變換、增強、復原、匹配、濾波等技術(shù)。它們都是對輸入圖像的某種有效的改善,其輸出仍然是一幅完整的圖像[2]。
由于本文涉及的機械手系統(tǒng)有一個攝像機,而且做規(guī)則物體的識別,所以最終只是圖形的識別。
2 圖像特征提取
圖像的幾何特征在圖像分析中起著十分重要的作用。在許多圖像系統(tǒng)應(yīng)用中,經(jīng)常使用區(qū)域的一些幾何特征,如大小、位置和方向等來確定物體的位置并識別它們[3]。二值圖像能給出物體的輪廓信息,因此適合于圖像幾何特征的提取。
當圖像為二值圖像時,可用矩來描述圖像中一些區(qū)域的形狀特征。區(qū)域R的(i,j)階矩可由式(1)求出
(1)
式(1)中參加運算的點(x,y)都是區(qū)域R的內(nèi)點或邊界點。因此,區(qū)域的M00即是區(qū)域的像素點數(shù)。x方向和y方向的一階矩分別由式(2)、(3)求得
(2)
(3)
由于用式(1)描述區(qū)域的形狀對區(qū)域的平移、旋轉(zhuǎn)、尺度變換不具有不變特性,因此需要對該矩進行變化處理。首先將坐標點移到區(qū)域的形心,重新計算區(qū)域的中心矩,計算方法如式(4)。
(4)
其中為區(qū)域R的形心,由式(5)、(6)求得
(5)
(6)
中心矩雖然對區(qū)域平移具有不變性,但對旋轉(zhuǎn)和尺度變化依然敏感,可通過對
進行歸一化得到尺度的不變性。歸一化中心矩定義為式(7)。
(7)
由式(7)可求出一組歸一化的中心矩,同樣將中心矩歸一化進行組合,可獲得如式(8)~(13)所示的6個不變的矩組合。
(8)
(9)
(10)
(11)
(13)
當區(qū)域進行平移、旋轉(zhuǎn)、尺度變換時,這些不變矩是不變的。不變矩具備了良好的形狀特征。
3 物體圖像的識別
模式識別是指對一系列過程或事件的分類與描述。從一幅含有多個物體的數(shù)字圖像中識別某一事物的過程,一般需要3個階段:第一階段為圖像分割或分離階段;第二階段為特征提取;第三階段為分類或決策[4] 。圖像被采集進來時進行二值化處理,再用Blob算法將目標和背景進行分離,同時進行特征提取,特征包括圖形的不變矩、面積和周長,最后進行分類識別。
本文涉及的物體圖像都為規(guī)則幾何圖形。此圖形的邊緣輪廓幾乎包含了該物體幾何形狀的所有信息。因為這里考慮的是規(guī)則圖形的識別,在規(guī)則圖形中其周長與面積有固定的比例關(guān)系,見式(14)。
(14)
式中P為周長, S為圖形面積。
采用式(14)的比例公式并結(jié)合不變矩的圖形識別算法,可判斷出指定物體圖形的形狀。
最簡單的面積計算方法是統(tǒng)計邊界內(nèi)部的像素數(shù)目,在這個定義下面積的計算非常簡單,求出域邊界內(nèi)像素點的總和即可。計算公式如式(15)。
(15)
這里的f (x,y)為二值圖像,其取值“0”時表示物體,取值“1”時表示背景,其面積就是統(tǒng)計的f (x,y)=0個數(shù)。
在算法中數(shù)值化的二值圖像用坐標( x, y) 表示像素點的位置,值為“1”表示空白像素點,值為“0”表示圖像經(jīng)過的像素點。通過灰度值判別是否為像素點。 對于每個像素點利用八鄰域的方法進行跟蹤,判斷其是否為邊緣點,從而求取周長P。
根據(jù)以上相關(guān)的算法很容易得到:一個圖形邊緣的像素點代表圖形的周長P,整體部分像素點的個數(shù)總和代表圖形的面積S,根據(jù)二者像素點的比值,結(jié)合不變矩識別方法可以很容易的確定其為哪種形狀的圖形。
在處理過程中,Blob并不是分析單個的像素,而是對圖像的行進行操作,圖像的每一行都用游程長度編碼(RLC)來表示相鄰的目標范圍。所謂游程長度編碼(RLC)就是根據(jù)黑白像素的長度進行編碼,其方法是按不同長度段發(fā)生的概率而分配不同長度的碼段。這種方法與基于像素的算法相比,算法簡單而快速,可以檢測出目標物的形態(tài)參數(shù)如區(qū)域面積、質(zhì)心、周長、尺寸、方位、數(shù)量等。
4 圖像識別結(jié)果
利用Blob算法對圖像中的指定物體進行識別,結(jié)果如圖1、圖2所示。
圖1-1 圖像識別結(jié)果
圖1-2 被識別出物體的位置信息
圖1 從2個物體中識別出正六棱柱體
圖2-1 圖像識別結(jié)果
圖2-2 被識別出物體的位置信息
圖2 從3個物體中識別出正三棱柱體
上圖中帶“十”字號的圖形為要求識別的物體形狀。同時用該“十”字號標出了被識別物體在圖像上的中心坐標,以便給機械手的動作提供準確的位置信息。
5 小結(jié)
圖像的識別有很多種方法:如統(tǒng)計模式識別、結(jié)構(gòu)模式識別、模糊模式識別、神經(jīng)網(wǎng)絡(luò)識別、支撐向量機識別等方法。本文提出的基于Blob算法的圖像識別方法簡便、準確,實驗結(jié)果表明,該圖像識別算法能夠滿足實際要求,物體識別準確率達到了100%。但對于復雜形狀的物體無法識別,這一點還有待于進一步改進。
其他作者:
曹 輝,馬永華,張 罡(北京聯(lián)合大學生物化學工程學院,北京 100023)
參考文獻:
[1] 耿瑞芳,沈晉慧,張罡,曹輝,馬永華.基于Blob算法的機械手視覺系統(tǒng)[J].自動化博覽.2006,5: 24-25.
[2] 陳書海,傅錄祥.實用數(shù)字圖像處理[M].科學出版社,2005.
[3] 劉禾.數(shù)字圖像處理及應(yīng)用[M].北京:中國電力出版社,2006.
[4] 邊肇琪.模式識別[M].北京:清華大學出版社,2000.
[5] 陳書海,傅錄祥.實用數(shù)字圖像處理[M].北京:科學出版社,2005.