張連寬, 肖德琴, 岑冠軍, 于永浩
(1.華南農業(yè)大學 數(shù)學與信息學院, 廣東 廣州 510642; 2.廣西作物病蟲害生物學重點實驗室, 廣西 南寧 530007)
傳統(tǒng)大田農作物信息的采集由人工采樣方式進行,其檢測與分析方法的工作量大、覆蓋面積小、效率較低、成本高、專業(yè)性強,不能滿足現(xiàn)代農業(yè)的自動化和智能化生產要求.隨著圖像采集與傳輸技術的發(fā)展,大田作物圖像信息的采集已越來越多地應用于農業(yè)生產與科研領域.從圖像信息中自動提取單個植株的生長信息,如株高、植株數(shù)量、出苗率、種植密度、行距與株距、葉片形態(tài)與顏色等信息,從而分析作物的長勢,評估病蟲害的影響,對大田作物生產的精準化和智能化管理具有重要價值,是當前農業(yè)圖像領域研究的重要方向.
目前,從大尺度田間圖像中提取作物生長宏觀信息的報道較多.文獻[1]采用無人機采集油菜遙感影像,并用回歸分析方法建立油菜株數(shù)與其外接矩形長寬比、像素分布密度以及周長柵格數(shù)的線性關系.文獻[2]先采用彩色分割法去除背景,然后在提取骨架的基礎上檢測圖像角點,以角點個數(shù)作為田間玉米株數(shù).文獻[3]用無人機采集玉米視頻圖像,在彩色空間中采用閾值分割法獲得玉米苗數(shù)量,與人工計數(shù)的相關系數(shù)達到0.89.文獻[4]用無人機采集小麥圖像,采用顏色分割法去除小麥背景圖像,并用支持向量機識別前景目標來估計作物密度狀況.文獻[5]將圖像采集裝置安裝在玉米收獲機上,采集玉米收割后的留高茬地塊視頻,用近圓形識別法識別玉米秸稈斷面,從而得到玉米植株總數(shù).文獻[6]提出了分段垂直投影的水稻秧苗中心線提取方法,準確率達到了94.50%.
以上相關報道主要從大尺度田間圖像中估算作物生長的宏觀信息,如植株數(shù)量、出苗率、葉面積指數(shù)等,但是不能提取單個植株生長的微觀信息.從大田作物圖像中分割出單個植株,并獲取植株生長的微觀信息,如葉片與果實的大小、紋理與空間分布以及受病蟲害損害的程度等,能夠構建出準確的作物生長模型[7-8]、獲取詳細的作物表型信息[9-10]、準確地識別病蟲害[11-15],為精準的田間管理提供關鍵信息.文中擬構建基于葉片匹配的識別算法,從按行連續(xù)移動相機采集的近距離作物圖像中,分離出單個植株圖像,為植株生長微觀信息的圖像采集提供算法支撐.
本試驗圖像采集于華南農業(yè)大學教學與實驗基地和廣東省良種推廣總站基地.試驗采集生菜、花椰菜、紫甘藍、青花菜、甘藍苗期或生長期的圖像,連續(xù)兩株作物葉片距離在8 cm以上.圖像采集采用單反相機Cannon EOS 700D(分辨率為5 184×3 456像素)和Apple 7智能手機(分辨率為4 032×3 024像素).選擇微風天氣,手持相機在作物上部,距離作物20~60 cm,讓鏡頭朝下,連續(xù)沿作物行移動拍攝.動態(tài)采集圖像時相機不需要精心設置位置,具有較大靈活性,表現(xiàn)在以下幾個方面:① 手持相機沿著行行走拍攝時,僅大體讓相機沿著行作物拍攝,相機的角度不必刻意保持一致,相鄰兩張照片采集時相機角度可以在一定角度變化(通常小于30°);② 相機與作物距離20~60 cm,在沿著行移動相機時相對于地面的距離也不刻意保持一致,前后照片相較于地面可以相差數(shù)厘米;③ 相機也不需要嚴格沿著作物行中心線移動,可以偏移中心線,只要目標作物包含在采集照片的上下邊界內;④ 由于方案采用了拼接技術,為了保證拼接圖像的進行,連續(xù)兩張照片需要有15%重疊部分,除此之外,沿著行采集圖像時,采集圖像的距離也不需嚴格保持一致.
作物植株的圖像提取算法框架如圖1所示.
圖1 基于葉片匹配的作物植株圖像分割算法
首先對采集的圖像去除背景中的土壤和雜草等背景,獲得作物葉片圖像.然后根據葉片距離將圖像中每個作物的葉片從圖像中分離出來.對單株作物可能會在不同圖幅中重復出現(xiàn)的問題,采用基于圖像拼接的方法實現(xiàn)圖片匹配,獲得各株作物在不同圖幅中的位置關系.最后,對每株作物,通過匹配關系提取各株作物圖像,統(tǒng)計作物株數(shù).
1.2.1去除背景
文中采用了文獻[16]方法,首先,通過顏色分割去除非綠色部分(RGB的綠色通道值大于紅色通道與藍色通道值),再通過光滑度去除雜草和噪聲.光滑度的公式如下:
(1)
式中:D為一個9×9區(qū)域;p為圖像某個像素;ψ為彩色圖像灰度值函數(shù).不同作物的光滑度不同,通常雜草的光滑度高于葉片的光滑度.圖2中第1行是連續(xù)采集的5幅番茄苗圖像,對應的第2行圖像為去除背景后的結果,經過背景去除,原始圖像中每株番茄苗的葉片都被很好地從背景中分離出來.
圖2 番茄苗圖像的背景去除
1.2.2各作物植株葉片的歸類
如圖2所示,作物的枝莖光滑度差,經過背景去除后,作物圖像不僅去除了土壤等背景,也會將枝莖刪除掉,僅剩下葉片圖像,且一些葉片處于分離狀態(tài).株內作物的葉片之間雖然分離,但距離較小,株間作物的葉片距離較遠,根據這一特點,設置距離門限(按作物不同株葉片的圖像距離設置).若距離小于門限的葉片被認為屬于同一株作物,否則被認為屬于不同株作物.為分析整株作物狀況,圖像中采集到某株作物的部分圖像(邊界部分含有的作物葉片圖像)將會被刪除,由于是按行連續(xù)拍攝,該植株的完整圖像將會在其他圖像中出現(xiàn),并被提取出來.通過基于距離的分類處理與邊界消除,圖2中原始圖像里屬于各番茄植株的葉片被正確分類,結果如圖3所示,圖像中植株自左至右編號,用數(shù)字表示.
圖3 番茄植株葉片的歸類
1.2.3作物植株去重與數(shù)量統(tǒng)計
連續(xù)采集的圖像中,同株作物圖像可能會在不同圖像中出現(xiàn),因此需要識別出重復的株圖像.在圖2連續(xù)拍攝的5幅圖像中,共有8株番茄苗,但實際上是3株番茄苗呈現(xiàn)于不同的圖像中,如圖3所示.
從圖2和3可以看出,在沿作物行連續(xù)拍攝采集的作物圖像中,同株作物的圖像存在如下特征:① 同株作物在不同圖幅中的位置不同.由于攝像頭可能存在晃動、拍攝角度變化,同株作物在不同圖幅中的位置不同,變化規(guī)律也不同;② 同株作物只可能出現(xiàn)在連續(xù)相鄰的2幅或者多幅圖像中.如1號番茄出現(xiàn)在a圖和b圖兩幅圖中,c圖中沒有出現(xiàn),說明從c圖開始攝像頭已經離開了1號番茄的采集范圍,后面拍攝的圖像也不會出現(xiàn)1號番茄.
根據上述兩個特征,在相鄰圖幅中檢測是否有同株作物,如果有則去重,進而設計了算法1,實現(xiàn)了作物植株的識別與株數(shù)的統(tǒng)計.
算法1
Input:
plants in the first image:img11,img12,
…,img1m1;
plants in the second image:img21,img22,
…,img2m2;
…
plants in the last image:imgn1,imgn2,
…,imgnmn
Output: plant amountNplant
fori=2 tondo
forj=1 tomido
fork=1 tomi-1 do
ifimgijis matched withimgi-1,k
Nplant=Nplant;
else
Nplant=Nplant+1;
endif
endfor
endfor
endfor
算法1按拍攝順序逐幅掃描圖像,首先將第1幅圖像的株數(shù)作為總株數(shù)Nplant的初始值,然后對第n+1幅圖像中的每株作物,將其與第n幅圖像中的各株作物進行匹配,若與第n幅圖像中的一個作物植株匹配成功,則Nplant不變,否則將Nplant加1.如圖3中b圖2號作物,第1次出現(xiàn)在圖中,由于與圖3中a圖的植株沒有匹配成功,看作新株作物,Nplant加1,接著在檢測c圖時,與b圖中的1號作物匹配成功,所以Nplant不變,以此類推.因此同一株作物雖然出現(xiàn)在不同的圖像中,但識別與計數(shù)只進行一次.
相鄰圖像中相同作物植株的匹配采用圖像拼接技術實現(xiàn).圖像拼接就是將數(shù)張有重疊部分的圖像拼成一幅無縫的大型圖像.將連續(xù)兩幅作物圖像拼接成一個圖像,由于同株作物的圖像屬于重疊區(qū)域,所以拼接后,同株作物在前后圖中的圖像會拼接成一株圖像.文中采用Matthew Brown的圖像拼接方法[17]實現(xiàn)前后連續(xù)圖的拼接.以圖2中的第2、3兩幅圖(分別表示為imgA和imgB)為例,簡述步驟如下:
1)對連續(xù)相鄰的兩幅圖,用Harris角點檢測算法檢測角點,兩圖分別檢驗出1 148和1 188個點,見圖4中a、b圖.
圖4 Harris角點檢測結果
2)采用自適應非極大抑制方法在兩幅圖中各選擇不多于500個關鍵點, 見圖4中c、d圖.
3)對imgA和imgB進行拼接,需要求出imgA中的點pi(xi,yi)與imgB中對應點pi′(x′i,y′i)的投影關系h,h為一個3×3矩陣,投影變換表示為
(2)
用8對匹配點(pi,pi′)能夠獲得h.SIFT(scale-invariant feature transform)算法對矩陣變換不敏感,噪點污染和光照強弱的變化不會影響其穩(wěn)定性[18].因此對imgA和imgB的關鍵點采用了SIFT向量表示其特征,進行匹配,如圖5所示.
圖5 前后圖的圖像匹配
在匹配點中,隨機取出8對匹配點,計算兩幅圖像的投影變換矩陣h.對imgA中其余點,用式(2)計算對應坐標,與SIFT的匹配點坐標進行距離比較,估計h的誤差.隨機進行2 000次這樣的匹配驗證,獲得誤差最小的投影變換矩陣h.
4)通過投影變換關系建立一個全景空白畫布.兩幅圖像朝畫布進行投影變換,對兩幅圖像的交叉區(qū)域,按照交叉融合的方法(cyber-physical system,CPS)獲得全景圖像,如圖6a所示.
圖6 前后圖像拼圖及各株葉片圖像相應變換
從拼接的過程看,同株作物在前后圖幅的圖像會朝著同一個地方映射,交叉融合拼接成一個作物植株圖像.以圖6為例,采用如下算法進行單株圖像匹配:① 將前后兩幅圖像采用Matthew Brown圖像拼接方法進行拼接,同時根據兩個彩色圖像充分多的匹配點獲得兩幅圖像的單應性變換h和交叉融合CPS;② 將前一幅圖像中的各植株與空圖按單應性變換h和交叉融合CPS獲得相應的拼接圖,如圖6b所示.將后一幅圖像中的各植株與空圖按h和CPS獲得相應的拼接圖,如圖6c所示;③ 提取前后幅圖像中的各作物植株,對其進行投影變換,將變換后的圖像基于質心歐氏距離的閾值進行匹配,若歐氏距離小于閾值,則認為同一株匹配圖像,否則認為不同株圖像.
圖6b中的2號作物圖像與6c中1號作物是同一株作物.由于只對含有一株作物圖像做單應性變換,而交叉融合與空圖進行變換,圖像的亮度有差異,但變換后圖像的形狀與位置變化不大.6b中的1號作物圖像與6c中1號作物不是同一株作物,單應性變換后的圖像形狀與位置差異大.為了簡化計算,僅采用質心中心歐氏距離的方法判定是否為同株作物圖像.將行內連續(xù)兩株作物正常距離的一半作為閾值.當變換后兩個圖像的質心距離小于閾值時,認為是同一株作物圖像,反之被認為是不同株作物的圖像.
通過算法1獲得作物圖像的匹配關系如表1所示.圖3中5幅圖像植株數(shù)量為8,現(xiàn)匹配5對,所以植株數(shù)量為3,與實際相符.
表1 作物葉片圖像的匹配表
1.2.4圖像中作物植株的提取
A中各株圖像之間的匹配表示這些圖像采集的同一株作物,顯然各株圖像的匹配關系滿足以下等價性質:① 自反性:任意的x∈A,則x∈A,即x與x匹配;② 對稱性:若x與y匹配,即x中的作物與y中作物是采集的同一株作物,則y與x也匹配,即y中的作物與x中作物也是采集的同一株作物;③ 傳遞性:x與y匹配,y與z匹配,則x與z匹配.
根據相鄰兩幅圖像的匹配關系(如表1所示),將采集的所有植株基于傳遞性,劃分到不同植株的子集.需要將滿足等價關系的集合進行劃分,獲得各植株的劃分集合.采用圖的傳遞閉包工具實現(xiàn).首先將各株作物葉片圖像映射為從1開始的數(shù)字,如表2所示.
表2 作物葉片圖像的映射
則表1的匹配關系用矩陣表示為
(3)
記:M(R2)=M(R)×M(R),M(R3)=M(R2)×
M(R),…,由于M(R2)=M(R4),所有傳遞閉包關系為
M(t(R))=M(R)∨M(R2)∨M(R3)∨M(R4)∨
(4)
式(4)的傳遞閉包關系如圖7所示,從而得知共有3株作物,第1株標號為1、2;第2株標號為6、8;第3株標號為3、4、5、7.
圖7 葉片匹配的傳遞閉包圖
在自動對焦采集圖像時,當作物植株居于圖像中心時,圖像質量更清晰,能夠識別出更全面的植物信息.因此在獲得各株圖像序列圖的基礎上,在每個序列集合中選擇最靠近圖像中心的圖像.計算各子圖中作物圖像的質心與圖幅的中心距離,取距離最小的株圖像,并從對應的原始圖像中將其區(qū)域分割出來(四周加上窄的邊界).各株圖像的分割結果如圖8所示.
圖8 各株番茄圖像的分割結果
大田環(huán)境下采集作物圖像較為復雜,一方面,機械與人工種植作業(yè)受到各種因素的影響,造成植株的相對位置、株間距離存在變化,甚至植株缺失;另一方面,無論用農機攜帶攝像頭、推車攜帶攝像頭還是人工手持攝像頭,在復雜田間行走采集作物圖像時,不平的地形、機械震動與人的抖動都造成圖像采集前后相對位置的變化.因此在試驗時,手持相機沿著作物行進行圖像采集時不刻意保持相機恒定的高度、采集圖像間隔距離等,以反映實際的大田采集狀況.
文中基于葉片匹配來分離作物植株圖像.顏色分割與光滑度分割后,由于莖、枝光滑度低,分割算法將刪除這些部分,使得有些葉片會處于分離狀態(tài).因此主要采取葉片距離門限的方法將葉片歸為不同株作物中,株間葉片距離較大、株內葉片距離較小時較容易將各株圖像分離.株與株之間葉片圖像距離較大的分割結果如圖9所示,由于株與株之間有明顯的距離,算法能夠成功地將各株圖像分割開來.而圖10中,株與株之間有葉片圖像重疊,被看作一株作物,產生錯誤分離結果.
圖9 株與株之間葉片圖像距離較大的分割結果
圖10 株與株之間葉片圖像重疊的分割結果
除了株與株粘連或距離過小不適宜本方法,只要株與株有一定的距離,提出的算法具有較強的魯棒性,分割結果如圖11、12所示.雖然圖像有較大的角度差,但本算法仍然可以成功分割出5株作物.
圖11 角度變化的拼接
圖12 角度變化獲得的各株作物圖像
在株與株葉片存在間距的基礎上,對5種作物進行了測試,每種作物連續(xù)近距離拍攝了10個種植行.統(tǒng)計了各行作物采集的圖像數(shù)、圖像中總的作物株數(shù),并對各行作物人工統(tǒng)計株數(shù)與所提方案的檢測株數(shù)進行比較,結果如表3所示,株數(shù)檢測的正確率100%,而且所有行的作物圖像提取正確率也達到100%.
表3 各株作物圖像提取正確率
需要指出的是,雖然所提方案主要針對單行進行,但對于多行能夠同時覆蓋在攝像頭內的,只要葉片之間不粘連,所提方案也能夠順利進行.例如表3中第10行,檢測結果如圖13所示,攝像頭一次分別覆蓋2行與3行,株數(shù)檢測與各株圖像提取率都達到100%.
圖13 圖像覆蓋多行作物
本算法只需對相鄰圖像做拼接計算,并不需要將所有圖像拼接到一起,因此算法所需的計算資源要求低,運算效率高.以表3第5行為例,其是用相機Cannon采集的一行40幅圖像.為了提高效率,先將圖像都縮放到原來的20%(分辨率為1 037×692像素).在處理器為Intel Core(TM)i5-6500 CPU內存為8 G的計算機上,40幅圖像進行去背景和各株圖像分離,用時112.570 0 s,39對相鄰圖像拼接用時83.663 2 s,采用葉片距離進行相鄰匹配計算用時3.748 2 s,生成閉包圖并在閉包圖中搜索各株作物在圖像中的圖號與株號用時67.096 5 s,分割各株圖像用時1.305 6 s,整個過程約需268 s.
提出了基于葉片圖像匹配的方法提取作物植株圖像的算法,該算法具有以下特點:① 高正確性.若株與株之間的葉片距離小于株內葉片的空隙距離,所有試驗圖像的識別正確率都達到了100%,本算法具有較高的正確率.② 低復雜性.提出的算法對計算資源要求較低,株圖像匹配采用的拼接算法僅基于前后圖像的拼接,不必借助高運算能力的服務器進行整個區(qū)域多圖長時間拼接計算,僅用普通計算機即可實現(xiàn).借助于株圖像的匹配閉包關系,可以便捷地獲得各株圖像.