蔡道清 周洪宇 覃程錦 李彥明 劉成良
(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院, 上海 200240)
農(nóng)機(jī)智能化是當(dāng)前農(nóng)業(yè)智能化領(lǐng)域研究的熱點(diǎn)[1],而基于視覺的環(huán)境感知技術(shù)是實(shí)現(xiàn)農(nóng)機(jī)智能化的關(guān)鍵。農(nóng)機(jī)在戶外環(huán)境作業(yè)時(shí),不同時(shí)刻對應(yīng)的自然光照情況存在較大差異。因此,基于原始圖像的傳統(tǒng)特征提取算法魯棒性較差,光照多變性已成為限制機(jī)器視覺在農(nóng)機(jī)智能化應(yīng)用的重要因素。
為降低自然光照多變性的影響,國內(nèi)外學(xué)者們提出了許多圖像預(yù)處理算法。文獻(xiàn)[2-3]采用RGB顏色空間,利用歸一化2G-R-B作為顏色特征因子,增強(qiáng)圖像中綠色比重;文獻(xiàn)[4-5]將RGB顏色模型轉(zhuǎn)換為YUV[6]顏色模型,削弱光強(qiáng),突出農(nóng)作物顏色特征;文獻(xiàn)[7-8]在HSV顏色空間內(nèi)處理圖像,HSV顏色模型將色彩和亮度分離。文獻(xiàn)[9-10]將RGB顏色模型轉(zhuǎn)換到對數(shù)色度空間,在對數(shù)空間找到特殊方向,以產(chǎn)生光照不變圖,其中,文獻(xiàn)[9]使用相機(jī)校準(zhǔn)的方式尋找方向角,文獻(xiàn)[10]引入最小熵方法計(jì)算方向角。上述方法通過增強(qiáng)農(nóng)作物顏色特征或者轉(zhuǎn)換顏色空間,在空間域處理圖像,這在一定程度上降低了光照對圖像的干擾。
根據(jù)Retinex理論[11-12],圖像包括光照成分和物體反射成分兩部分,光照成分可以看作原始圖像的低通濾波后的圖像,即原始圖像的低頻部分。因此,通過在原始圖像中去除某些低頻成分,能夠獲得不受光照影響的特征。 本文從圖像頻域出發(fā),提出基于小波變換的農(nóng)田圖像光照不變特征提取算法。對原始圖像進(jìn)行剪裁和歸一化等預(yù)處理,選用Haar小波基對原始圖像進(jìn)行多級(jí)小波分解,以閾值法更新小波高頻系數(shù),進(jìn)而重構(gòu)獲得多尺度反射模型,最終提取光照不變特征。
根據(jù)Retinex理論,圖像I(x,y)可以表示為
I(x,y)=R(x,y)L(x,y)
(1)
式中R(x,y)——(x,y)處像素的反射成分
L(x,y)——(x,y)處像素的光照成分
R(x,y)僅由圖像場景中物體表面的反射特性決定,而L(x,y)由光源決定,是圖像中的光照成分。因此,對于自然光照下的農(nóng)田圖像,可以以反射成分R(x,y)作為其光照不變特征。直接獲取R(x,y)是比較困難的。根據(jù)文獻(xiàn)[13]中的假設(shè),圖像中光照成分隨著像素空間位置的變化而緩慢變化,即光照成分對應(yīng)圖像中低頻部分;而圖像中反射成分對應(yīng)高頻部分。因此,通過平滑原始圖像[14-15]可以近似得到光照成分L(x,y),進(jìn)而獲得反射成分R(x,y),即光照不變特征,公式為
(2)
將原始圖像轉(zhuǎn)換到對數(shù)域空間,簡化式(2),可得
R′(x,y)=I′(x,y)-L′(x,y)
(3)
其中
R′(x,y)=lnR(x,y)
I′(x,y)=lnI(x,y)L′(x,y)=lnL(x,y)
平滑操作應(yīng)僅在具有均勻照明的像素中進(jìn)行,因?yàn)橹T如投射陰影的照明不連續(xù)性違反了亮度緩慢變化的假設(shè)。如果直接平滑這種不連續(xù)性,會(huì)產(chǎn)生光暈偽像。因而,通過平滑原始圖像得到近似圖像,進(jìn)而提取光照不變成分的方式無法有效去除光照不變特征中的陰影特征[11]。
小波變換常被用于信號(hào)多分辨率分解,信號(hào)f(x)的離散小波分解式為
(4)
式中j0——任意的開始尺度
cj0(k)——尺度系數(shù)
dj(k)——小波系數(shù)
φj0,k(x)、ψj,k(x)——尺度函數(shù)和小波函數(shù)
圖像作為二維函數(shù),由1個(gè)二維尺度函數(shù)φ(x,y)和3個(gè)二維小波函數(shù)ψH(x,y)、ψV(x,y)和ψD(x,y)構(gòu)建。小波函數(shù)度量圖像灰度沿不同方向的變化:ψH(x,y)度量灰度沿列方向的變化,ψV(x,y)度量灰度沿行方向的變化,ψD(x,y)度量灰度沿對角線方向的變化。因此,尺寸為M×N的圖像f(x,y)的離散小波變換為
(5)
式中Wφ(j0,m,n)——f(x,y)在尺度j0處的低頻系數(shù)
φj0,m,n(x,y)——尺度函數(shù)
農(nóng)田圖像二級(jí)小波分解如圖1所示。圖1a中,HH1、HL1和LH1是原始圖像一級(jí)分解后的高頻系數(shù),對一級(jí)分解后的低頻系數(shù)LL1再進(jìn)行小波分解,可得到二級(jí)分解后高頻系數(shù)HH2、HL2和LH2,低頻系數(shù)LL2。因?yàn)镠aar小波基具有簡單實(shí)用、易編程實(shí)現(xiàn)等優(yōu)點(diǎn),本文采用Haar小波基對農(nóng)田圖像二級(jí)分解,如圖1b所示。
圖1 農(nóng)田圖像二級(jí)小波分解圖
小波變換將原始圖像分解成低頻部分和高頻部分,不同級(jí)別的小波分解能夠得到不同尺度的低頻圖像。在第j級(jí)的小波分解后,將高頻部分值重置為0,只保留低頻部分,根據(jù)修改后的高頻信息和未修改的低頻信息重構(gòu)原始圖像,可得到原始圖像I′(x,y)的近似圖像L′j(x,y),此圖像包含的是原始圖像的低頻信息。在對數(shù)域,作原始圖像和近似圖像的差,得到原始圖像的反射成分圖R′j(x,y)。假設(shè)原始圖像做了J級(jí)的小波分解,則會(huì)生成J幅不同尺度下的近似圖像,進(jìn)而得到J幅反射成分圖,結(jié)合J幅反射成分圖構(gòu)造農(nóng)田圖像多尺度反射模型,即
(6)
其中,φ(·)是一個(gè)非線性函數(shù),本文選擇的是反正切函數(shù),因?yàn)榉凑泻瘮?shù)能夠一定程度上減少高頻噪聲[11]。
在上述得到近似圖像L′j(x,y)過程中,沒有考慮原始圖像中可能存在陰影的問題。圖像中的陰影部分對應(yīng)著光照不連續(xù)的地方,是一種高頻信息,應(yīng)該在近似圖像中保留這一特征。直接重置小波分解后的所有高頻系數(shù)值為0,使得近似圖像中缺失了陰影對應(yīng)的高頻信息,從而在反射成分圖中出現(xiàn)了陰影特征,顯然,這樣得到的反射成分圖不是光照不變特征。
在原始圖像經(jīng)過小波分解后得到的高頻信息中,大部分信息對應(yīng)著圖像場景中物體的反射成分,陰影部分對應(yīng)的高頻信息比較少,因而,可以將表征陰影部分的高頻信息看作高頻信息里的噪聲。使用基于小波的收縮方法能夠檢測此噪聲[16]。
以對農(nóng)田圖像第j級(jí)小波分解為例,說明如何檢測陰影部分對應(yīng)的高頻信息,并更新小波高頻系數(shù)。令Y(j,o)表示農(nóng)田圖像第j級(jí)小波分解后得到的小波系數(shù),其中,o=0、1、2、3,分別對應(yīng)著LL、HL、LH、HH子帶。對于高頻子帶中每一個(gè)像素(x,y),以閾值T判斷其是否對應(yīng)陰影部分的頻率。
(7)
式中η(j,o)——農(nóng)田圖像第j級(jí)分解后o子帶中像素是否表征陰影的檢測結(jié)果
閾值T的計(jì)算式為
(8)
(9)
(10)
(11)
式中γ——閾值調(diào)整系數(shù)
Mj、Nj——農(nóng)田圖像第j級(jí)小波分解后子帶尺寸
Median(|Y(1,3)(x,y)|)——農(nóng)田圖像一級(jí)分解后的LH子帶中像素值的中值
因?yàn)棣?j,o)是農(nóng)田圖像第j級(jí)分解后o子帶中像素是否表征陰影的檢測結(jié)果,以η(j,o)更新原始小波系數(shù)Y(j,o)(x,y),可得
(12)
對應(yīng)著低頻信息的Y(j,0)(x,y)保持不變,即
(13)
(14)
式中W-1——小波反變換算子
(15)
為得到高品質(zhì)的光照不變特征,在實(shí)際試驗(yàn)中需要考慮:①對相機(jī)采集的原始圖像進(jìn)行裁剪,使得圖像尺寸為2的整數(shù)次冪。②小波變換前對圖像進(jìn)行歸一化處理,使得圖像像素均值為0,方差為1。③農(nóng)田圖像進(jìn)行了四級(jí)小波分解與重構(gòu)。④在0~8.0之間,每隔0.5對γ取值,對同一場景不同光照條件下的農(nóng)田圖像提取光照不變特征,比較其相似度。當(dāng)γ=5.0時(shí),不同光照條件下的農(nóng)田圖像對應(yīng)的光照不變特征相似度最高,因此,試驗(yàn)部分γ均為5.0。
為驗(yàn)證所提算法的有效性,以上海市松江區(qū)農(nóng)田為試驗(yàn)對象,采集了同一場景不同光照條件下的農(nóng)田圖像,提取其光照不變特征,如圖2所示。同時(shí),以歐氏距離為標(biāo)準(zhǔn)比較其相似度,生成相似度矩陣圖,如圖3所示。
圖2 不同自然光照下的原始圖像和光照不變圖的對比
圖3 原始圖像和光照不變圖的相似度矩陣圖
圖2原始圖像對應(yīng)的采集時(shí)間分別是10:00、12:00、14:00、17:00、18:00??梢钥闯?,在不同時(shí)刻,由于自然光照的變化,采集到的同一場景下的原始圖像差別很大,然而,通過本文所述算法提取的光照不變圖相似度很高,物體特征幾乎不受光照影響。圖3以歐氏距離評(píng)判兩兩圖像的相似度,圖中每一個(gè)單元格都表示兩幅圖像的相似度,顏色越接近白色,則對應(yīng)的歐氏距離越小,說明兩幅圖像相似度越高。從圖3a可以看出,原始圖像兩兩相似度不高,尤其第1幅和第5幅圖像,相似度很低;而圖3b中,每一個(gè)單元格顏色都趨向于白色,證明兩兩圖像相似度比較高。因此,基于本文所述算法提取的農(nóng)田圖像光照不變特征是有效的。
機(jī)器視覺在農(nóng)業(yè)領(lǐng)域的重要應(yīng)用是提取農(nóng)作物航線[17-20]。為進(jìn)一步驗(yàn)證所提算法對光照變化的魯棒性,開展了農(nóng)作物航線提取試驗(yàn),具體提取流程為:①預(yù)處理原始圖像:裁剪和歸一化。②提取光照不變特征圖。③以O(shè)tsu算法計(jì)算閾值,并得到二值化圖。④在二值化圖上實(shí)行形態(tài)學(xué)閉運(yùn)算,并作圖像的恒等反變換。⑤提取航線。
其中,基于步驟④得到的形態(tài)學(xué)操作圖,步驟⑤以如下方式提取航線:①將形態(tài)學(xué)操作圖橫向均分為m行。②分別計(jì)算m行中每一列上白色像素的數(shù)目,并將每一行中白色像素占比大于60%的列標(biāo)記為1,其余列標(biāo)記為0。③從每一行的中心點(diǎn)開始向左、向右迭代,當(dāng)遇到第一個(gè)為0的列時(shí)迭代停止,根據(jù)左右停止位置值計(jì)算中間位置值。④對m行的中間位置值進(jìn)行線性回歸,求得航線的斜率與偏移量。
圖4 10:00農(nóng)作物航線提取結(jié)果
圖5 12:00農(nóng)作物航線提取結(jié)果
圖6 14:00農(nóng)作物航線提取結(jié)果
圖7 17:00 農(nóng)作物航線提取結(jié)果
圖8 18:00 農(nóng)作物航線提取結(jié)果
圖4~8分別是不同時(shí)刻對農(nóng)作物提取航線的結(jié)果。其中,從原始圖像可以看出,農(nóng)作物的光照條件有明顯差異;圖4~8中b、c、d對應(yīng)著步驟②、③、④;圖4~8中e為最終的航線提取圖,紅色線是人工標(biāo)注的航線參考線,藍(lán)色線是算法提取的航線,可以看出,無論是自然光照比較好的情況,還是光照不理想的情況,基于光照不變特征提取的航線都比較準(zhǔn)確,航線誤差在±2°以內(nèi)。因此,光照不變特征增強(qiáng)了機(jī)器視覺在自然光照條件下應(yīng)用的魯棒性。
同時(shí),在NVIDIA的Jetson TX2硬件平臺(tái)上,包括光照不變特征圖提取和航線提取的算法總耗時(shí)在300 ms以內(nèi)。根據(jù)ZED相機(jī)官方手冊,相機(jī)有效測量距離是0.3~20 m,試驗(yàn)中在距離相機(jī)20 m的位置放置標(biāo)志物,相機(jī)視野中可以清楚地看到標(biāo)志物,由此可見,相機(jī)前視距離能達(dá)到20 m,能夠滿足農(nóng)機(jī)正常作業(yè)的實(shí)時(shí)性要求。
(1)提出了基于小波變換的農(nóng)田圖像光照不變特征提取算法。從圖像的頻域出發(fā),基于Retinex光照模型,通過多級(jí)小波分解分離圖像高低頻成分,進(jìn)而構(gòu)建多尺度反射模型,以閾值法消除圖像中陰影部分對光照不變特征的影響。從相似度對比試驗(yàn)結(jié)果可以看出,該算法提取的特征圖幾乎不受自然光照的影響,且能夠極大程度保留場景中的物體特征。
(2)該算法對光照變化具有較高的魯棒性,基于光照不變特征獲取的農(nóng)作物航線具有較高精度,與人工標(biāo)注的參考線誤差在±2°以內(nèi),能夠滿足農(nóng)機(jī)導(dǎo)航的精度要求。同時(shí),在NVIDIA的Jetson TX2硬件平臺(tái)上,算法總耗時(shí)在300 ms以內(nèi),相機(jī)前視距離可達(dá)20 m,能夠滿足農(nóng)機(jī)正常作業(yè)的實(shí)時(shí)性要求。