楊志林,楊彥鋒
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院,鄭州 450002)
基于視覺的定位技術(shù)[1]是近年來研究的熱點(diǎn),它通過攝像機(jī)獲取目標(biāo)圖像,借助圖像處理識別目標(biāo),計(jì)算出路標(biāo)相對視覺系統(tǒng)的位置,則機(jī)器人在這個(gè)環(huán)境中的位置和方向就可以同時(shí)計(jì)算出來[2]。目標(biāo)識別效果直接影響到機(jī)器人定位的準(zhǔn)確性,進(jìn)而影響其自主性和智能化,是實(shí)現(xiàn)視覺定位的關(guān)鍵。機(jī)器人視覺或者人類視覺中,顏色都是物體表面的最最基本的特征之一,更是識別并提取物體信息的關(guān)鍵。
目前對移動機(jī)器人本身的視覺系統(tǒng)的研究中,一般都是利用目標(biāo)的彩色圖像信息,通過圖像處理技術(shù)識別出檢測到的目標(biāo)。將顏色作為圖像分割的依據(jù)的可靠性和可行性在很多研究中早已得到了驗(yàn)證,抓住了目標(biāo)提取過程中的本質(zhì)信息。付長斐等[3]采用基于HSV顏色空間,通過對灰度圖像進(jìn)行閾值分割和顏色判別相結(jié)合的ROI提取算法,無法消除背景干擾及噪聲的影響。馬東偉等[4]采用目標(biāo)顏色空間HS向量識別與閾值分割方法和目標(biāo)區(qū)域標(biāo)記排除方法,較好地提高了目標(biāo)識別與跟蹤的實(shí)時(shí)性和準(zhǔn)確性,但計(jì)算量大,占據(jù)內(nèi)存大。譚利等[5]提出一種新的連通域標(biāo)記方法,提高了區(qū)域填充的速度和效率,但跟蹤和標(biāo)記邊界的效率較低。在前人研究的基礎(chǔ)上,本文提出了一種基于YUV顏色空間的顏色特征提取以及具有連通性的目標(biāo)區(qū)域標(biāo)記的目標(biāo)檢測算法。
顏色空間的坐標(biāo)值可以用來表示彩色圖像的每一像素的顏色,其中使用較多的顏色空間有RGB顏色空間、YUV顏色空間、HSI顏色空間等[3]。選擇合適的顏色空間不但可以更準(zhǔn)確地描述圖像顏色,還可以提高不同顏色之間的區(qū)分能力。下面主要介紹這3種顏色空間以及它們之間的轉(zhuǎn)換關(guān)系。
(1)RGB顏色空間模型
RGB顏色空間是一種線性顏色空間,可以用如圖1的立方圖表示。圖像采集設(shè)備最初采集到的顏色信息一般都是R、G、B值;并且顏色顯示設(shè)備也是采用R、G、B分量;圖像處理中使用的其他所有的顏色空間也是通過RGB顏色模型線性或非線性轉(zhuǎn)換得到的,它們的處理結(jié)果也必須轉(zhuǎn)換回RGB顏色空間才能清楚顯現(xiàn)出來。
圖1 RGB彩色立方圖
由于R、G、B分量所表示的顏色不便于辨識和理解,因此RGB顏色空間不能很好地描述顏色特征。RGB顏色空間又是最不均勻的顏色空間之一,而且它的R、G、B值之間還具有非常高的相關(guān)性(B-R:0.78,R-G:0.98,G-B:0.94),這些高相關(guān)性的存在,加大了對圖像數(shù)據(jù)進(jìn)行解壓的難度,并對圖像中的顏色處理也造成了一定的干擾。
(2)YUV顏色空間模型
歐洲電視系統(tǒng)采用YUV顏色空間作為顏色編碼方法[6]。YUV顏色空間因其具有單獨(dú)的亮度分量表示,以及同一種顏色在不同亮度情況下能夠較好地保持不失真,而成為機(jī)器人視覺中經(jīng)常使用的顏色空間模型。
YUV中的Y表示圖像的灰度值;U和V表示圖像的顏色及飽和度,用于描述像素的色彩。亮度是將RGB信號的特別指定的部分累計(jì)并融合到一起得到的;色度則定義了顏色的兩個(gè)方面:U反映了RGB輸入信號B部分與RGB信號亮度值之間的區(qū)別;而V反映的是RGB輸入信號R部分與RGB信號亮度值之間的不同。
YUV的Y和U、V彼此之間的關(guān)聯(lián)不大,因此亮度的影響對YUV顏色空間模型的干擾不大,在亮度不同的環(huán)境中,該顏色空間能夠較好的保持同一種顏色,使該顏色不失真。
YUV顏色空間和RGB顏色空間的轉(zhuǎn)換公式[5]如下:
(3)HSI顏色空間模型
HSI顏色模型[7]是通過色調(diào)、飽和度、亮度這3個(gè)與視覺特征有關(guān)的量建立起來的顏色模型,用于測定顏色所含各種成分的數(shù)量對人眼的感官作用,這3個(gè)量是基本屬性。HSI顏色空間可以用一個(gè)圓錐空間模型來描述,如圖2所示。在HSI顏色空間中,可以方便地使用圖像處理和計(jì)算機(jī)視覺中的大量算法,它們能夠互不影響地進(jìn)行各自的處理。因此,HSI顏色空間大大地簡化了圖像分析和處理的工作量,與RGB顏色空間的轉(zhuǎn)換關(guān)系如下所示:
圖2 HSI顏色空間模型
選擇一種合適的顏色空間是彩色圖像處理的關(guān)鍵,但是每一種顏色空間都有其優(yōu)缺點(diǎn),任何一種顏色空間都不會適合于所有的環(huán)境,通過對RGB、YUV、HSI這3種常用的顏色空間的比較與分析,列出了其特點(diǎn)比較的結(jié)果,如表1所示。
表1 RGB、YUV、HSI的特點(diǎn)比較
通過以上的分析與比較,本文選擇YUV空間作為目標(biāo)顏色檢測的顏色空間。
對于所要檢測目標(biāo)的任意一種顏色特征的分布空間St,均在YUV顏色空間由人工來標(biāo)定,并將St集合描述為6個(gè)閾值,其中每一維都含有表示該顏色類在該維的上、下閾值——最大值和最小值,如圖3所示,表達(dá)式為式(3)。3個(gè)向量則在顏色空間中確定了一個(gè)長方體,如圖4所示,某一目標(biāo)顏色特征的計(jì)算公式如式(4)所示[8-11]。
圖3 YUV顏色空間的閾值
圖4 YUV顏色空間模型
將各個(gè)目標(biāo)顏色特征分別在Y、U、V軸上投影,這樣st集合就可以以式(5)來描述,其中{Yclass}={Yi|(Yi,Uj,Vk)為標(biāo)定點(diǎn)}、{Uclass}={Uj|(Yi,Uj,Vk)為標(biāo)定點(diǎn)}、{Vclass}={Vj|(Yi,Uj,Vk)為標(biāo)定點(diǎn)}。當(dāng)YUV空間中標(biāo)定越來越多,點(diǎn)集的形狀也越來越趨近于一個(gè)閉合體,即:
如圖5所示,左窗口顯示拍攝的源圖像,右圖像顯示顏色識別的結(jié)果。如果存在M個(gè)目標(biāo),則對于任意一個(gè)目標(biāo)的顏色特征Fi,它在環(huán)境中可能存在的特征地點(diǎn)為Ni,那么顏色特征學(xué)習(xí)描述如下[12-13]:
圖5 顏色特征提取圖像
(1)在左窗口中,選擇目標(biāo)i(i=1,2,…,M),確定其顏色特征Fi;
(2)在左窗口中,選擇目標(biāo)i的任一特征地點(diǎn)j(j=1,2,…,Ni),人工標(biāo)定該處的顏色閾值,并檢查標(biāo)定的效果,若效果不好,則選擇新的地點(diǎn)重新標(biāo)定;
(3)在右窗口中顯示標(biāo)定的結(jié)果圖像。如果Ni個(gè)特征地點(diǎn)均標(biāo)定成功,則轉(zhuǎn)到第4步,否則轉(zhuǎn)到第2步;
(4)如果M個(gè)目標(biāo)都標(biāo)定過則轉(zhuǎn)到第5步,否則重新選擇目標(biāo)轉(zhuǎn)到第1步;
(5)結(jié)束。
符合該目標(biāo)顏色特征的目標(biāo)區(qū)域Ro(p)可根據(jù)下式得出:
式中:v1、v2、v3分別為像素p的Y、U、V值。
采用基于顏色特征的方法進(jìn)行目標(biāo)特征的提取,則是僅僅考慮了像素本身的顏色特征,不考慮像素的空間位置,從而直接將圖像按照顏色特征的差異分為目標(biāo)區(qū)域和非目標(biāo)區(qū)域。但是圖像中的所有物體都是由相互連通在一起的像素組合而成的,一個(gè)獨(dú)立的物體是一個(gè)連通區(qū)域,那么若有不同的連通區(qū)域就意味著圖像中存在不同的物體,因此在對物體進(jìn)行檢測之前,首先必須確定該物體是否是獨(dú)立的。因此,為了加以區(qū)別,需要對不同的連通域進(jìn)行不同的標(biāo)識,從而實(shí)現(xiàn)目標(biāo)物體與背景的分離,并消除噪聲,識別同一顏色的多個(gè)目標(biāo)[14-16]。
像素在圖像子集中的連通:設(shè)S是圖像中的一個(gè)子集,p和q是S中的點(diǎn)。在S中,當(dāng)p和q之間存在一條全部由S中的點(diǎn)形成的路徑時(shí),p和q就是連通的。
為了達(dá)到實(shí)時(shí)性的效果,本文采用四連通的區(qū)域標(biāo)記算法,如圖6所示。分為3個(gè)步驟:采用所學(xué)習(xí)的顏色特征向量逐行掃描圖像,標(biāo)記連通區(qū)域,并記錄等價(jià)標(biāo)記;計(jì)算等價(jià)標(biāo)記矩陣的傳遞閉包,將區(qū)域連通標(biāo)記用其等價(jià)組的標(biāo)記代替;連通區(qū)域特征的提取。
圖6 連通性
采用所學(xué)習(xí)的顏色特征向量根據(jù)式(6)逐行處理圖像。由于四連通性總是發(fā)生在相鄰的兩行之間,而且圖像掃描又是從上到下,自左往右進(jìn)行的,所以只需要考慮當(dāng)前像素點(diǎn)與它左邊的像素點(diǎn)和上行的像素點(diǎn)的關(guān)系。假設(shè)p為當(dāng)前像素點(diǎn),p8為左邊的像素點(diǎn),p2為上行的像素點(diǎn),則本文所采用得四連通區(qū)域標(biāo)記算法如下:
(1)如圖7(a)所示:如果當(dāng)前點(diǎn)和左邊點(diǎn)、上行點(diǎn)均不同色,則把當(dāng)前點(diǎn)標(biāo)定為所屬顏色的一個(gè)新標(biāo)記;
(2)如圖7(b)所示:如果當(dāng)前點(diǎn)與上行點(diǎn)同色,而與左邊點(diǎn)不同色,則把當(dāng)前點(diǎn)標(biāo)定為鄰點(diǎn)同色的標(biāo)記;
(3)如圖7(c)所示:如果當(dāng)前點(diǎn)與左邊點(diǎn)同色,而與上行點(diǎn)不同色,則把當(dāng)前點(diǎn)標(biāo)定為鄰點(diǎn)同色的標(biāo)記;
(4)如圖7(d)所示:如果當(dāng)前點(diǎn)跟左邊點(diǎn)、上面點(diǎn)均同色,但兩者不是同一個(gè)標(biāo)記,則記錄這兩個(gè)鄰點(diǎn)的標(biāo)記為等價(jià)標(biāo)記,并把上面點(diǎn)的標(biāo)記賦給當(dāng)前點(diǎn);
(5)如圖7(e)所示:如果當(dāng)前點(diǎn)跟左邊點(diǎn)、上面點(diǎn)均同色,而且是同一個(gè)標(biāo)記,則把上面點(diǎn)的標(biāo)記賦給當(dāng)前點(diǎn)。
圖7 四連通區(qū)域標(biāo)記算法
等價(jià)標(biāo)記矩陣的傳遞閉包的計(jì)算,就是將兩個(gè)等價(jià)連通性區(qū)域標(biāo)記擴(kuò)張為一個(gè)新的區(qū)域,并用等價(jià)組的標(biāo)記來標(biāo)記這個(gè)新區(qū)域。Warshall算法計(jì)算簡單快速,因此,本文采用Warshall算法計(jì)算等價(jià)標(biāo)記矩陣的傳遞閉包,來完成具有相同顏色特征的區(qū)域連通標(biāo)記與其等價(jià)組的標(biāo)記之間的傳遞[17-19]。
經(jīng)過基于顏色特征的區(qū)域分割和連通區(qū)域提取后,由于攝像頭檢測誤差和環(huán)境干擾,圖像中仍存在與目標(biāo)具有同一顏色特征的噪聲點(diǎn),影響目標(biāo)的準(zhǔn)確識別。通過實(shí)驗(yàn)發(fā)現(xiàn),這些區(qū)域的面積要遠(yuǎn)小于目標(biāo)物體的面積,因此采用基于區(qū)域面積的濾波方法過濾噪聲,提高目標(biāo)識別的準(zhǔn)確性。首先,標(biāo)記有效顏色區(qū)域,并統(tǒng)計(jì)這些區(qū)域的個(gè)數(shù),并測量各個(gè)區(qū)域的面積。由于目標(biāo)所占屏幕像素面積與目標(biāo)距離相關(guān),因此根據(jù)檢測距離設(shè)定動態(tài)面積閾值,當(dāng)區(qū)域的面積小于這個(gè)閾值時(shí),則認(rèn)為是噪聲并消除;否則,為目標(biāo)物體。基于連通性的目標(biāo)區(qū)域提取的實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 連通區(qū)域提取圖像
設(shè)連通域的標(biāo)記為L n,那么它的面積areaLn(單位:像素個(gè)數(shù))的計(jì)算公式為:
式中:I=Ii×Ij,為連通域的標(biāo)記;RO為目標(biāo)區(qū)域;。
針對機(jī)器視覺圖像中機(jī)器人對目標(biāo)的準(zhǔn)確檢測與識別的問題,本文提出以了一種基于顏色特征和連通域標(biāo)記的目標(biāo)檢測算法。首先人工標(biāo)定目標(biāo)顏色的顏色閾值,進(jìn)行顏色特征學(xué)習(xí),提取符合目標(biāo)顏色特征的區(qū)域;然后采用四連通的區(qū)域標(biāo)記算法,標(biāo)識符合目標(biāo)顏色特征的多個(gè)顏色區(qū)域,并結(jié)合Warshall算法實(shí)現(xiàn)同一顏色的多個(gè)目標(biāo)的識別;最后依據(jù)目標(biāo)所占屏幕像素面積與目標(biāo)距離的關(guān)系,通過檢測距離設(shè)定動態(tài)面積閾值,過濾具有同一顏色特征的噪聲點(diǎn),實(shí)現(xiàn)目標(biāo)區(qū)域的準(zhǔn)確識別。