時君偉 胡敏英 任振輝
摘要:為了實(shí)現(xiàn)農(nóng)作物圖像多目標(biāo)的準(zhǔn)確識別,提出了四連通或八連通的連通域判別法。利用MATLAB的數(shù)值計(jì)算、圖形處理和可視化建模以及動態(tài)仿真等功能,對黃瓜植株花朵圖像預(yù)處理,去除干擾目標(biāo),對目標(biāo)處理結(jié)果進(jìn)行整合,進(jìn)而得到多目標(biāo)處理結(jié)果。結(jié)果表明該方法依據(jù)圖像信息即可有效地實(shí)現(xiàn)多目標(biāo)的分離和識別。
關(guān)鍵詞:機(jī)器視覺;多目標(biāo);MATLAB仿真;提取識別
中圖分類號:TP391.41文獻(xiàn)標(biāo)識碼:A文章編號:0439-8114(2012)15-3342-03
Recognition and Extraction of Multiple Targets Based on Machine Vision Image
SHI Jun-wei,HU Min-ying,REN Zhen-hui
(College of Mechanical and Electrical Engineering, Agricultural University of Hebei, Baoding 071001, Hebei, China)
Abstract: The discriminance of 4-connected or 8-connected domain was presented to realize accurate identification of the target crop images. Using MATLAB functions, such as numerical computation, graphic processing, visual modeling and dynamic simulation, the images of cucumber flowers were preprocessed and the jamming images were removed, and then single images were integrated to obtain the multiple images. The results showed that this algorithm could separation and recognization of the multiple objects effectively with machine vision.
Key words: machine vision; multiple target; MATLAB simulation; extraction and recognition
長期以來,農(nóng)作物果實(shí)的采摘、部分作物花朵的授粉以及農(nóng)藥噴灑都是通過人工來完成的,但在一些高濕、高溫、有毒的環(huán)境中,不適于人工的長期作業(yè)[1]。因此自動采摘果實(shí)與代替人工授粉的智能機(jī)械需要非常突出,而這種智能機(jī)械必須基于機(jī)器視覺,它作為智能化農(nóng)業(yè)機(jī)械系統(tǒng)的信息輸入端,擔(dān)負(fù)著對信息的采集、處理與輸入任務(wù),必須能夠通過對采集圖像的信息處理,提取出準(zhǔn)確目標(biāo)的圖像信息并加以識別,能夠分別確定所需目標(biāo)、噪聲目標(biāo)和假目標(biāo),且進(jìn)一步分析其在整體圖像中的位置,最終使機(jī)器(計(jì)算機(jī))依據(jù)這些信息能夠準(zhǔn)確地實(shí)行下一步操作[2,3]。
1單目標(biāo)的提取識別
對單個圖像目標(biāo)的處理,采用了以顏色為優(yōu)勢特征的提取算法。算法針對目標(biāo)與背景顏色的明顯差異,將圖像轉(zhuǎn)化為灰度圖像,利用從RGB到HSV的轉(zhuǎn)換公式:
H=cos-1[■]
(其中R≠B或G≠B)
S=1-■[min(R,G,B)]
V=■
對調(diào)整后的灰度圖像分別計(jì)算其R、G、B分量值和H、S、V分量值,將目標(biāo)特征突顯化。通過對各分量圖像的對比,選取目標(biāo)突顯最為明顯的R、G和V分量灰度圖像。采用迭代法求出最佳閾值,再利用MATLAB語言求出圖像的全局閾值[4],得到全局閾值分割圖像,利用該閾值對各圖像分別進(jìn)行閾值分割,并運(yùn)用二值形態(tài)學(xué)方法對圖像進(jìn)行膨脹和腐蝕處理,以完全分離花朵目標(biāo)。
2多目標(biāo)的提取識別
2.1多目標(biāo)的分離
單個目標(biāo)的提取識別處理過程相對簡單,但實(shí)際應(yīng)用中往往存在一幅圖像中出現(xiàn)多個目標(biāo)的情況,因此必須進(jìn)行多目標(biāo)的分離,使其能夠按照單個目標(biāo)提取識別方法進(jìn)行處理,而且要去除噪聲目標(biāo)和小目標(biāo)(假目標(biāo)或非需要目標(biāo)),然后再對單個目標(biāo)處理結(jié)果進(jìn)行整合,并輸出為多個目標(biāo)的處理結(jié)果。
圖1為待處理圖像,圖中有兩個目標(biāo)(框①所示),并有一個假目標(biāo)(框②所示)和若干噪聲目標(biāo)。
依照單目標(biāo)的提取識別,首先對原始圖像調(diào)整灰度值并進(jìn)行R分量顯示,通過迭代法求最佳閾值,即:
第一步,求出圖像中的最小和最大灰度值及閾值初值;
第二步,根據(jù)閾值T將圖像分割成目標(biāo)和背景兩部分,求出兩部分的平均灰度值。其中Z(i,j)是圖像上(i,j)點(diǎn)的灰度值,N(i,j)是(i,j)點(diǎn)的權(quán)重系數(shù),N(i,j)?。ǎ椋辏c(diǎn)灰度的概率;
第三步,求出新的閾值;
第四步,若閾值分割結(jié)果使目標(biāo)亮點(diǎn)相對集中則結(jié)束,此T即為最佳閾值,否則k+1→k轉(zhuǎn)第二步。
再通過最佳閾值選取最后對目標(biāo)灰度圖像進(jìn)行閾值分割和二值形態(tài)學(xué)操作處理,得到圖2目標(biāo)結(jié)果。
2.2多目標(biāo)中假目標(biāo)的去除
經(jīng)過閾值分割和二值形態(tài)學(xué)操作處理后,目標(biāo)圖像中的斑點(diǎn)噪聲已被濾除,因此在后面的操作中只要對假目標(biāo)進(jìn)行處理即可。該算法采用了連通域處理法,對圖像中的真假目標(biāo)一同做連通域標(biāo)定。
連通域分四連通或八連通。四連通是說一個像素,如果像素的位置在其他像素相鄰的上、下、左或右,則認(rèn)為它們是連接著的,連通的;在左上角、左下角、右上角或右下角連接,則認(rèn)為它們不連通。而八連通是指,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角連接著,則認(rèn)為它們是連通的。
算法中提出以目標(biāo)圖像中最大連通域作為真實(shí)目標(biāo)的基準(zhǔn),大于此連通域30%的目標(biāo)連通域作為真實(shí)目標(biāo)保留以進(jìn)行下一步識別處理,而對于不足30%基準(zhǔn)連通域的則認(rèn)定為假目標(biāo)而濾除。處理后的結(jié)果如圖3。
原圖中的假目標(biāo)(③所示)和噪聲目標(biāo)(②所示)均已被濾除,而所需目標(biāo)圖像(①所示)得以保留,且目標(biāo)輪廓未受影響,目標(biāo)效果良好。
該步處理MATLAB實(shí)現(xiàn)的部分代碼如下:
[L,n] = bwlabel(R5,8);
n1=0;n2=0;n3=0;n4=0;n5=0;n6=0;n7=0;n8=0;n9=0;
for u=1:size(L,1)
for v=1:size(L,2)
if L(u,v)==1
n1=n1+1;
else if L(u,v)==2
n2=n2+1;
………………
end
R6=L;
figure,subplot(1,2,1);
imshow(R5);title('未濾除假目標(biāo)圖像');
R6=R6-R6;
for u=1:size(L,1)
for v=1:size(L,2)
if L(u,v)>=1
R6(u,v)=1;
end
end
end
subplot(1,2,2);
imshow(R6);title('濾除假目標(biāo)后圖像');
2.3目標(biāo)個數(shù)的確定與位置顯示
經(jīng)過濾除處理后的二值圖像只含有所需目標(biāo),進(jìn)一步處理必須要使算法能夠識別目標(biāo)的個數(shù),并進(jìn)行分離,然后分別計(jì)算每個目標(biāo)的中心位置,再整合為綜合結(jié)果輸出。
在圖3中可以看到,圖中目標(biāo)數(shù)為兩個,按照兩個連通域?qū)Χ祱D像進(jìn)行分離。目標(biāo)圖像分離后分別對每一個目標(biāo)圖像進(jìn)行中心位置計(jì)算,逐一得出結(jié)果,然后再綜合到一張圖像中,并通過4×4矩陣膨脹顯示,結(jié)果如圖4。將中心位置標(biāo)注在原二值圖像中(框①所示),可見算法對中心位置的計(jì)算結(jié)果良好。
該步處理MATLAB實(shí)現(xiàn)的部分代碼如下:
for a=1:n
if a==1
Hmin=0;Hmax=0;Smin=0;Smax=0;
for u=1:size(R,1) %求MAX
for v=1:size(R,2)
if M1(u,v)==1
if Hmin==0
Hmin=u;Hmax=u;Smin=v;Smax=v;
………………
figure,subplot(2,2,1);imshow(R6);title('目標(biāo)二值圖像');
subplot(2,2,2);imshow(M0);title('目標(biāo)的中心坐標(biāo)位置');
subplot(2,2,3);imshow(R3);title('目標(biāo)原二值圖像');
subplot(2,2,4);imshow(R3-M0);title('目標(biāo)中心在原圖像中的位置');
3小結(jié)
利用機(jī)器視覺和圖像處理技術(shù)對農(nóng)作物植株圖像進(jìn)行識別提取在農(nóng)業(yè)領(lǐng)域逐步得到應(yīng)用[5]。在對多目標(biāo)圖像的處理中,提出的連通域判別思想簡化了算法程序,而且在運(yùn)算結(jié)果中既舍棄了無關(guān)信息,又保留了實(shí)用性強(qiáng)的精確信息,為每個目標(biāo)的中心位置確定提供了可靠依據(jù),并且很好地去除了假目標(biāo)的干擾,在運(yùn)算中取得了良好效果。
參考文獻(xiàn):
[1] 袁忠興,譚峰,尚廷義.基于機(jī)器視覺的農(nóng)田作物識別算法的研究[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2008,20(6):82-85.
[2] 田金鋒,楊榮松,任德均.基于機(jī)器視覺的產(chǎn)品噴碼識別系統(tǒng)[J].微計(jì)算機(jī)信息,2010,26(9):185-187.
[3] 李春雷,崔斌,吳興寬,等.基于機(jī)器視覺的噴絲頭自動化檢測方法[J]. 紡織學(xué)報,2010, 31(11):126-130.
[4] 趙小軍,林晨,黃柳仙,等.基于MATLAB圖像處理的車輛檢測與識別[J]. 數(shù)據(jù)采集與處理,2009,24(增刊):141-143.
[5] 王柯,方陸明,付鋆萍. 森林火災(zāi)圖像幾何特征提取識別的算法研究[J]. 浙江林業(yè)科技,2009,29(6):38-41.