伍 健,鄧夢(mèng)薇,鐘培華
(江西農(nóng)業(yè)大學(xué)計(jì)算機(jī)與信息工程學(xué)院,南昌,330045)
在有關(guān)機(jī)器視覺(jué)的應(yīng)用領(lǐng)域中,由于直線(xiàn)為目標(biāo)的定位和識(shí)別提供了直接的線(xiàn)索和提示,因此,直線(xiàn)形的目標(biāo)探測(cè)是一個(gè)關(guān)鍵的問(wèn)題。例如,包明和路小波[1]通過(guò)直線(xiàn)的探測(cè)來(lái)定位并提取出車(chē)牌;朱光[2]和王海軍等[3]通過(guò)探測(cè)直線(xiàn)的方式從遙感影像中分別提取道路和橋梁等??梢?jiàn),直線(xiàn)作為各類(lèi)目標(biāo)的一種基本形態(tài),其探測(cè)問(wèn)題已是機(jī)器視覺(jué)系統(tǒng)中的一項(xiàng)基本任務(wù),具有很強(qiáng)的實(shí)用性。
通常,直線(xiàn)形目標(biāo)采用Hough 變換及其改進(jìn)算法來(lái)探測(cè)和定位。例如,樊玲和張曉玲[4]用Hough 變換方法來(lái)估計(jì)微弱目標(biāo)的航跡;孫明等[5]用Hough 變換方法定位QR 碼等。對(duì)于直線(xiàn)形目標(biāo)的探測(cè)問(wèn)題,除了基于Hough 變換類(lèi)型方法之外,基于鏈碼的直線(xiàn)探測(cè)方法(如文獻(xiàn)[6]等),和基于Radon 變換的直線(xiàn)探測(cè)方法(如文獻(xiàn)[7]等),都是較為經(jīng)典實(shí)用的算法。近年來(lái),研究者致力于開(kāi)發(fā)無(wú)參數(shù)或?qū)崟r(shí)的檢測(cè)方法,如Lu 等[8]提出一種無(wú)參數(shù)的直線(xiàn)探測(cè)方法;Akinlar 和Topal[9]提出一種可實(shí)時(shí)運(yùn)行的無(wú)參數(shù)檢測(cè)方法等。然而,由于大多數(shù)探測(cè)方法都需要進(jìn)行各種圖像預(yù)處理,例如圖像濾波,閾值化,邊緣提取等操作。因此,其探測(cè)結(jié)果毫無(wú)疑問(wèn)會(huì)受到預(yù)處理結(jié)果的影響,探測(cè)可靠性與這些預(yù)處理的質(zhì)量緊密相關(guān)。
在精準(zhǔn)農(nóng)業(yè)的應(yīng)用場(chǎng)景中,基于視覺(jué)的田間機(jī)器人需要探測(cè)作物以便自主行動(dòng),包括避開(kāi)植株以免受到碾壓,進(jìn)行精準(zhǔn)灌溉、施肥、收割等各類(lèi)操作。目前對(duì)植株定位的研究多數(shù)傾向于提取條播作物的行。如刁智華等[10]對(duì)玉米行的提取技術(shù);姜國(guó)權(quán)等[11]先用點(diǎn)粒子群聚類(lèi)算法對(duì)作物按行分類(lèi),再用最小二乘法擬合出麥田作物的行等。用這類(lèi)方法獲取植株位置,在條播行中,需要用等間隔方式粗略地估算,如Tellaeche 等[12]就用這種方式進(jìn)行選擇性地噴灑除草劑,達(dá)到控制雜草生長(zhǎng)的目的。除此之外,有研究者則不通過(guò)這類(lèi)方法進(jìn)行植株定位,而是采用圖像分割方法進(jìn)行定位。如閆如忠和林宇超[13]通過(guò)植株與雜草之間的顏色及形態(tài)特征來(lái)實(shí)現(xiàn)植株的定位,這類(lèi)方法在具有彩色感知的視覺(jué)系統(tǒng)上,對(duì)較稀疏種植的小型作物的定位比較有效??紤]到許多直立狀態(tài)下的植株定位問(wèn)題可以歸結(jié)為直線(xiàn)段的定位問(wèn)題,因此,視覺(jué)感知系統(tǒng)也可以通過(guò)直線(xiàn)探測(cè)的方法來(lái)進(jìn)行植株定位。從田間圖像中定位植株,用通常的直線(xiàn)探測(cè)方法往往還不夠好,這是因?yàn)樘镩g圖像具有交互的遮擋,復(fù)雜交織的光影等各類(lèi)因素干擾。從這些含有大量雜亂信息的田間圖像中定位植株,對(duì)圖像濾波,邊緣提取等預(yù)處理方法提出了很大的挑戰(zhàn)。為了避免圖像預(yù)處理結(jié)果的不利影響,本文嘗試了一種無(wú)需任何預(yù)處理的直線(xiàn)段探測(cè)研究,提出了輪廓差分的概念,用于探測(cè)給定方向的直線(xiàn)段。該方法將直線(xiàn)段的搜尋問(wèn)題轉(zhuǎn)化為輪廓差分極大值的搜尋問(wèn)題。針對(duì)田間圖像的實(shí)驗(yàn)表明,本文方法在大部分情況下都能準(zhǔn)確地標(biāo)記出直線(xiàn)形目標(biāo)的位置,而且對(duì)噪聲和模糊具有較強(qiáng)的抗干擾能力。
如圖1 所示,傾角為θ的直線(xiàn)段L 一端點(diǎn)安放在灰度圖像f(x,y)的點(diǎn)p= (xp,yp)處,則圖像f(x,y)在p處關(guān)于直線(xiàn)段L 的輪廓差分(Contour difference,CD)定義如下
式中:參數(shù)blurVal是一個(gè)用來(lái)刻畫(huà)直線(xiàn)邊緣模糊程度的度量,即直線(xiàn)段L 越模糊,其值應(yīng)越大;q′是圖像f(x,y)上的點(diǎn),它滿(mǎn)足
欲求p處的輪廓差分,可先通過(guò)
來(lái)計(jì)算距離p點(diǎn)為l的q點(diǎn)坐標(biāo);再通過(guò)
來(lái)確定q'坐標(biāo)。其中rot(,90°)表示對(duì)向量以q點(diǎn)為中心,順時(shí)針旋轉(zhuǎn)90°,具體地,當(dāng)p及q點(diǎn)確定后,q'坐標(biāo)可以這樣確定
圖1 在p 點(diǎn)處輪廓差分的定義Fig.1 Definition of contour dif?ference at point p
通過(guò)上述定義可知,輪廓差分就是沿著直線(xiàn)L 在法方向上累積對(duì)應(yīng)點(diǎn)之間的絕對(duì)差。
圖2(a,b)所示的分別是一幅室內(nèi)走廊場(chǎng)景圖及其各點(diǎn)處的輪廓差分值,其中待檢目標(biāo)長(zhǎng)為L(zhǎng)=70 像素 的豎直直線(xiàn)段(θ=90°,blurVal=2 像素)。從輪廓差分灰度圖(圖2(b))可見(jiàn),場(chǎng)景內(nèi)的各豎直門(mén)框處的輪廓差分值可以明顯觀(guān)察到,這一點(diǎn)在圖2(c)中更能反映出來(lái),它展示了輪廓差分在第251 行的曲線(xiàn)圖。在圖2(d)中,也展示了Hough 變換在θ=90°處的數(shù)據(jù)曲線(xiàn)圖。對(duì)比這兩幅曲線(xiàn)圖的峰值突出程度,容易發(fā)現(xiàn):當(dāng)用Hough 變換來(lái)檢測(cè)該幅圖像的豎線(xiàn)時(shí),由于這些變換值相差不大,將導(dǎo)致其閾值選取更困難;而輪廓差分于潛在直線(xiàn)段處的值遠(yuǎn)遠(yuǎn)比周?chē)闹蹈怀?,因此其閾值的選取更容易。由此可見(jiàn),輪廓差分的概念能更好地反映直線(xiàn)段存在的可能性。
圖2 輪廓差分?jǐn)?shù)據(jù)與Hough 變換數(shù)據(jù)的比較Fig.2 Comparison between curves of contour difference and Hough transform
以下考慮如何從輪廓差分?jǐn)?shù)據(jù)中搜尋目標(biāo)直線(xiàn)段。從圖2(b)的輪廓差分灰度圖可以發(fā)現(xiàn),輪廓差分值越大,直線(xiàn)存在的可能性就越大。因此,搜尋直線(xiàn)段只需在輪廓差分?jǐn)?shù)據(jù)內(nèi)搜索極大值即可。為了減少搜尋時(shí)間,這里先用一個(gè)輪廓灰度閾值Thr來(lái)排除明顯沒(méi)有直線(xiàn)段的位置,即當(dāng)
時(shí),則當(dāng)前點(diǎn)p被視為不可能出現(xiàn)待檢直線(xiàn)段的地方。注意,上式中的#L 表示直線(xiàn)段L 像素點(diǎn)的數(shù)目,Thr可以認(rèn)為是目標(biāo)直線(xiàn)段相對(duì)于周?chē)h(huán)境的平均灰度差。經(jīng)過(guò)式(6)過(guò)濾后的點(diǎn),有時(shí)并不全適合被視為待檢目標(biāo)之處。實(shí)際上,經(jīng)過(guò)許多實(shí)驗(yàn)驗(yàn)證,在這些經(jīng)過(guò)Thr閾值后剩余的點(diǎn)中,偶爾有一些過(guò)度較突然的邊緣,但并不是想要的待檢直線(xiàn)段。為了避免此類(lèi)誤檢,這里引入另一個(gè)參數(shù)——輪廓方差σ2,其定義如下:假設(shè)待檢直線(xiàn)段L 當(dāng)前安放在圖像的p點(diǎn)處,則在p點(diǎn)處的輪廓方差為
圖3 用輪廓差分探測(cè)直線(xiàn)的算法流程圖Fig.3 Flowchart of contour difference based algorithm
則認(rèn)為在點(diǎn)p處出現(xiàn)了目標(biāo)直線(xiàn)段。
根據(jù)上述討論,基于輪廓差分的直線(xiàn)段檢測(cè)算法的流程總結(jié)如圖3 所示。
由于Hough 變換方法是各類(lèi)應(yīng)用場(chǎng)景下的成熟并廣泛使用的直線(xiàn)探測(cè)方法,以下采用Hough 變換法作為本文實(shí)驗(yàn)對(duì)比的對(duì)象。在全部實(shí)驗(yàn)中,為Hough 變換方法選取最合適的實(shí)驗(yàn)參數(shù),獲取其最優(yōu)的探測(cè)結(jié)果。
基于輪廓差分的直線(xiàn)探測(cè)方法需要5 個(gè)參數(shù),分別為直線(xiàn)段長(zhǎng)度L,傾角θ,邊緣模糊值blurVal,輪廓灰度閾值Thr,以及輪廓方差容許值Tol。其中前3 個(gè)參數(shù)決定了待探測(cè)直線(xiàn)的屬性,是由待檢目標(biāo)直線(xiàn)段來(lái)確定,而輪廓灰度閾值Thr及輪廓方差容許值Tol由具體的田間場(chǎng)景確定。一般地,對(duì)于8 bit的灰度圖像而言,輪廓灰度閾值Thr及輪廓方差容許值Tol取值范圍為
其中Tol=+∞表明忽視輪廓方差的限制。參數(shù)blurVal值的選取應(yīng)視目標(biāo)邊緣的模糊程度而定,其值通常介于2 ~8 之間。目標(biāo)邊緣越模糊,其值就應(yīng)越大。實(shí)驗(yàn)表明,該參數(shù)會(huì)影響目標(biāo)定位的精確度,越大的blurVal值,目標(biāo)定位將越不準(zhǔn)確,定位的偏離就越大。
在圖4 和圖5 中,分別展示了一組豎直和水平線(xiàn)段探測(cè)的結(jié)果。從這些圖像上可以發(fā)現(xiàn),基于輪廓差分和Hough 變換的直線(xiàn)探測(cè)方法,均能較準(zhǔn)確地標(biāo)記目標(biāo)直線(xiàn)段。在探測(cè)過(guò)程中,基于Hough 變換的直線(xiàn)探測(cè)方法能成功檢測(cè)出目標(biāo)直線(xiàn),是因?yàn)樗玫闹T如Canny 等邊緣算子成功地提取了目標(biāo)邊緣和細(xì)節(jié)?;谳喞罘值闹本€(xiàn)探測(cè)方法,它完全不需要邊緣提取過(guò)程,只需計(jì)算出每一點(diǎn)的輪廓差分,標(biāo)記出合適的極大值即可。
圖4 豎線(xiàn)探測(cè)對(duì)比Fig.4 Detection of vertical lines
圖5 水平線(xiàn)的探測(cè)對(duì)比Fig.5 Detection of horizon lines
圖6 展示了另一組情形——斜直線(xiàn)段的探測(cè)結(jié)果。從第一幅輸入圖像的探測(cè)結(jié)果來(lái)看,Hough 變換方法對(duì)橋梁斜拉線(xiàn)的探測(cè)基本失敗,這是由于在邊緣提取過(guò)程中,Canny 算子并沒(méi)有全部正確標(biāo)記出這些斜拉線(xiàn)(θ=25°),導(dǎo)致Hough 變換方法的探測(cè)失敗。而基于輪廓差分方法對(duì)輸入圖像無(wú)需任何預(yù)處理過(guò)程,直接將大部分斜線(xiàn)探測(cè)出來(lái)了。在第二幅輸入圖像中,試紙以?xún)A角為θ=60°疊放在白紙上。從探測(cè)結(jié)果來(lái)看,這兩種探測(cè)方法基本都能正確標(biāo)記出試紙的位置。在光和影的影響下,基于輪廓差分方法對(duì)試紙下半部分的標(biāo)記并不理想之外,Hough 變換方法對(duì)試紙下方部分的探測(cè)也不準(zhǔn)確。
然而,在田間場(chǎng)景下,基于邊緣提取過(guò)程的直線(xiàn)探測(cè)方法,會(huì)因過(guò)多干擾因素而出現(xiàn)錯(cuò)誤標(biāo)記。圖7 展示了兩種方法從田間圖像中探測(cè)植株的結(jié)果。從探測(cè)結(jié)果中可以看出,基于Hough 變換的直線(xiàn)探測(cè)方法,可以正確地檢出大部分植株,但是出現(xiàn)了少部分誤檢現(xiàn)象。從田間圖像中準(zhǔn)確提取目標(biāo)的邊緣,需要克服枝條分叉,互相遮擋,光影交織,信息過(guò)量等諸多影響,對(duì)邊緣提取算子提出了較高的要求。在包含了大量干擾的田間圖像中,不合適的邊緣提取技術(shù),無(wú)疑會(huì)直接影響植株的定位。在Hough變換方法的實(shí)驗(yàn)中,本文采用了廣泛使用的Canny 算子來(lái)提取邊緣,并試圖調(diào)整其參數(shù)避免田間干擾因素,但仍然不能完全正確地標(biāo)記植株。而用輪廓差分檢測(cè)植株,則可以避免邊緣提取過(guò)程的影響,正確地標(biāo)記出植株的位置。
圖6 斜線(xiàn)探測(cè)對(duì)比Fig.6 Detection of slant lines
在田間圖像中,除了上述提到的因素干擾邊緣提取外,其他降質(zhì)因素,如噪聲和模糊,也會(huì)對(duì)目標(biāo)定位產(chǎn)生重大影響。在圖8 的實(shí)驗(yàn)中,對(duì)上例中的一幅田間圖像加入噪聲干擾進(jìn)行了測(cè)試,這些高斯噪聲是通過(guò)MATLAB 的imnoise 命令加入的。由于噪聲的影響,輪廓方差σ2的控制意義不大,這里將其輪廓方差的容許值置為T(mén)ol=+∞。隨著噪聲水平的逐步增加,Hough 探測(cè)方法的結(jié)果正確標(biāo)記的直線(xiàn)數(shù)目分別為3 株、2 株、1 株,與沒(méi)有噪聲情形探測(cè)出3 株的情況相比,明顯隨噪聲增強(qiáng)而探測(cè)數(shù)目減少,并且探測(cè)結(jié)果也不穩(wěn)定,這說(shuō)明噪聲對(duì)Hough 探測(cè)方法影響嚴(yán)重。基于輪廓差分的直線(xiàn)探測(cè)方法,即使采用相同的探測(cè)參數(shù),其結(jié)果隨著噪聲水平的增加也變化不大,都能較準(zhǔn)確地定位植株。類(lèi)似地,加入模糊干擾后,如圖9 所示,模糊對(duì)基于Hough 的直線(xiàn)探測(cè)方法影響更嚴(yán)重,但對(duì)于基于輪廓差分的直線(xiàn)探測(cè)方法來(lái)說(shuō),可以通過(guò)blurVal參數(shù)的調(diào)節(jié)來(lái)克服模糊的干擾,達(dá)到直線(xiàn)段探測(cè)的目的。
圖7 植株探測(cè)Fig.7 Detection of plants’location
圖8 在噪聲環(huán)境下的植株定位Fig.8 Detection of plants’location under Gaussian noise
圖9 在模糊干擾下的植株定位結(jié)果Fig.9 Detection of plants’location under blurred cases
直線(xiàn)探測(cè)的錯(cuò)誤可以分為兩種:一種稱(chēng)為遺漏,把本應(yīng)檢測(cè)出來(lái)的目標(biāo)當(dāng)非目標(biāo)對(duì)象而遺漏了;另一種稱(chēng)為誤檢,把非目標(biāo)對(duì)象當(dāng)成目標(biāo)而標(biāo)記出來(lái)了。為了對(duì)比兩者在探測(cè)誤差上的差異,用這兩種算法分別對(duì)10 幅圖像(參見(jiàn)http://wudging.ys168.com)的特定目標(biāo)直線(xiàn)進(jìn)行了實(shí)驗(yàn)。表1 記錄了這兩種算法的探測(cè)數(shù)據(jù),其中遺漏可以通過(guò)直線(xiàn)總數(shù)與命中數(shù)之間的差值獲知,誤檢則可以直接從失誤數(shù)這一列中獲知。通過(guò)表1 可以發(fā)現(xiàn),基于輪廓差分的直線(xiàn)探測(cè)方法在遺漏和誤檢兩類(lèi)錯(cuò)誤中都比Hough 變換法較為優(yōu)秀。
最后,就目標(biāo)直線(xiàn)為水平情況下,以圖5 的第一幅輸入圖像作為實(shí)驗(yàn)對(duì)象,對(duì)傾角θ做了靈敏度實(shí)驗(yàn)(即其他參數(shù)不變的情況下,變動(dòng)傾角參數(shù)),實(shí)驗(yàn)結(jié)果如圖10 所示。其中圖中的命中率是指正確探測(cè)出的直線(xiàn)數(shù)目與實(shí)際水平線(xiàn)數(shù)目(20 條)的比值。從曲線(xiàn)的走勢(shì)圖可以發(fā)現(xiàn),在其參數(shù)設(shè)置得當(dāng)?shù)臈l件下,若傾角的誤差小于±4°時(shí),則命中率≥75%。也可以認(rèn)為,用本文所述的基于輪廓差分法來(lái)探測(cè)目標(biāo)直線(xiàn),其角度分辨率為3°,即:在實(shí)際應(yīng)用中,為了探測(cè)的可靠性,建議目標(biāo)與非目標(biāo)直線(xiàn)之間傾角差距應(yīng)大于3°。
表1 兩種算法的探測(cè)精度比較Table 1 Comparison of accuracy between contour difference and Hough transform methods
在直線(xiàn)探測(cè)問(wèn)題中,通常的圖像預(yù)處理方法會(huì)對(duì)直線(xiàn)探測(cè)有重大影響,特別地,在田間圖像中定位植株問(wèn)題中,這些影響難以用尋常的預(yù)處理方法消除。本文提出了基于輪廓差分概念的直線(xiàn)探測(cè)方法,它不依賴(lài)圖像預(yù)處理過(guò)程,可直接從圖像平面進(jìn)行直線(xiàn)段的探測(cè)。對(duì)田間圖像的實(shí)驗(yàn)表明,本文所述方法能準(zhǔn)確地定位植株,對(duì)噪聲和模糊的干擾也較魯棒。
圖10 傾角θ 的靈敏度曲線(xiàn)圖Fig.10 Target-hit curves with various pa?rameters