張衛(wèi)正,李旭光,萬瀚文,李燦林,張偉偉,金保華,劉 巖
(1.鄭州輕工業(yè)大學 計算機與通信工程學院,河南 鄭州 450002; 2.鄭州大學國際學院,河南 鄭州 450000)
玉米(ZeamaysL.)是禾本科一年生草本植物,具有較強的耐旱性、耐寒性、耐貧瘠性以及極好的環(huán)境適應性,與水稻、小麥并稱為世界三大糧食作物[1-2]。玉米的營養(yǎng)價值較高,是畜牧業(yè)、養(yǎng)殖業(yè)等的重要飼料來源,也是食品、醫(yī)療衛(wèi)生、輕工業(yè)等不可或缺的原料之一[3-4]。玉米的表型分析一直是世界各地植物遺傳育種研究的熱點,表型是研究“基因型-表型-環(huán)境”作用機制的重要橋梁,高通量的表型檢測有助于輔助作物育種,加速整個環(huán)節(jié)和進程[5]。
傳統(tǒng)的表型提取方法,在獲取表型信息時容易損傷植株,并且通常具有勞動力密集、耗時、成本高等缺點。而基于圖像的植物表型分析,則可在相對較短的時間內(nèi)大批量、無損地分析并提取植株性狀[6]。可通過將整個植物視為單個對象(整體表型)或作為單個組分(如葉和莖等組分表型)來計算高級表型,以研究玉米等植物的生物物理特征[7]。
植物活力可以通過個體葉片隨時間的生長來表征,葉片長度和連接尖端距離是2種重要的表型,有助于確定植物對環(huán)境脅迫的反應。葉片曲率是葉子韌性的量度,葉片下垂可作為營養(yǎng)缺乏等反映植株活力的指標。莖葉角是玉米植株主莖與垂直線的夾角,可作為監(jiān)測植株因風力等自然災害而倒伏的早期敏感信號?;谟嬎銠C視覺的葉片研究可取代人工及機械測量裝置,顯著降低人工操作的勞動強度[8]。
在玉米植株的莖葉分割方面,蘇偉等[9]采用激光雷達獲取大田玉米植株的點云,通過Cloud Compare軟件裁切工具手動分離出單株玉米,利用玉米葉片和莖稈表面法線的差異,采用DoN(Difference of normals operator)法線差分算法實現(xiàn)莖葉的分割。黃成龍等[7]利用并行細化算法對完整的二值圖像提取植株骨架,并去除細小毛刺,采用霍夫變換對玉米骨架圖像檢測豎直方向上的直線,識別骨架中莖稈部分。根據(jù)葉片的聯(lián)通性和位置信息,對葉片骨架進行識別并用不同的偽彩進行標記,實現(xiàn)玉米植株的莖葉分割。BRICHET等[10]首先從12個側視圖中選擇玉米植株展開度最好的視圖,然后采用均值平移和HSV閾值算法提取玉米植株,接著采用Scikit-image庫的中軸算法提取植株的骨架,使用最短路徑算法來檢測主莖,從而實現(xiàn)莖葉分割。CABRERA等[11]使用細化算法從二值化圖像中提取植株骨架,采用Imagej中的插件Analyze Skeleton進一步獲得主莖的中間節(jié)點和葉片分支的端點,從而實現(xiàn)莖葉分割。CHOUDHURY等[12]使用快速行進距離變換來對二值圖像進行骨架化,之后采用基于閾值的骨架修剪來去除偽分支,然后檢測植株骨架中的節(jié)點和端點,根據(jù)植株的先驗知識完成莖葉分割。
將機器視覺和圖像處理技術應用于農(nóng)業(yè)研究與生產(chǎn),具有廣泛的應用前景和實用價值。本研究采用已有的骨架提取算法,結合二叉樹分析進行玉米植株的莖葉分割,以求處理流程便捷有效。研究將有助于基于計算機視覺的玉米植株以及其他具有相似結構的谷物作物(例如高粱)的表型分析研究。
本研究采用內(nèi)布拉斯加大學林肯分校的植物表型數(shù)據(jù)集(Nebraska-Lincoln Component Plant Phenotyping Dataset,UNL-CPP),可從https://plantvision.unl.edu/dataset公開獲得。
該數(shù)據(jù)集包含玉米、高粱、珍珠谷子、普羅米谷子等谷類作物的圖像,每棵植株均有0°和90° 2個側視圖。使用內(nèi)布拉斯加大學林肯分校的Lemnatec Scanalyzer 3D高通量表型分析設備對植株進行拍攝,該設備的可見光攝像頭每天采集2個側視圖,本研究選用數(shù)據(jù)集中的3組玉米植株圖像,共計180張圖像。該數(shù)據(jù)集包含原始圖像、地面實況圖像和帶注釋的圖像,以促進葉片檢測和跟蹤、葉片分割、整體和組分表型分析領域的研究[13]。
UNL-CPPD包含玉米植株從0~27 d生長過程中逐天采集的圖像,通常為了便于分析,考慮采用0°側視圖為樣本,確保植株完整的展現(xiàn),在該特定視角下,相機的主光軸垂直植株所在的豎直面。所選取的圖像如圖1所示。本研究所使用UNL-CPPD中的圖像,其圖像采集裝置經(jīng)過合理設計,視野清晰,距離適中。觀察采集箱的背景板為白色,兩側黑色粗帶為采集箱的支撐框架。
圖1 UNL-CPPD數(shù)據(jù)集中的玉米植株圖像Fig.1 Image of maize plant from UNL-CPPD data base
借鑒張衛(wèi)正等[14]的方法,從圖像的中軸線分別向兩側逐步檢測分析,當檢測到出現(xiàn)采集箱的黑色支撐架時,分別將左右兩側的黑色支撐架裁剪掉,如圖2所示。由于攝像頭與采集箱位置固定,為了便于玉米植株圖像的分析和參數(shù)提取,統(tǒng)一裁減掉培養(yǎng)盆的上邊沿到底部區(qū)域(根據(jù)先驗知識,裁減掉底部的共計260行像素),如圖3所示,從而消除培養(yǎng)盆的干擾。
圖2 裁剪掉兩側玉米植株圖像黑色支撐架Fig.2 Cut the black support frame of maizeplant image on both sides
采用常用平均值法,將PNG格式的圖像轉換為灰度圖像,即計算PNG圖像(與RGB圖像都具備3個通道)的3個通道的平均值作為灰度。
本研究采用最大類間方差法(Ostu)算法確定灰度閾值然后進行圖像二值化處理。該算法按圖像的灰度特性,將圖像分成背景和前景兩部分。背景和前景之間的類間方差越大,說明構成圖像的兩部分的差別越大,當部分前景錯分為背景或部分背景錯分為前景都會導致兩部分差別變小。因此,使類間方差最大的分割意味著錯分概率最小。Ostu算法不受圖像亮度和對比度的影響,計算簡單、穩(wěn)定有效,是實際應用中經(jīng)常采用的確定閾值的方法[15-16]。
設灰度圖像灰度級是L,則灰度范圍為[0,L-1],利用Ostu算法計算圖像的最佳閾值為:
t=Max[w0(t)×(u0(t)-u)^2+w1(t)×(u1(t)-u)^2)]
(1)
其中,當分割的閾值為t時,w0為背景比例,u0為背景均值,w1為前景比例,u1為前景均值,u為整幅圖像的均值。
使以上表達式值最大的t,即為分割圖像的最佳閾值。對原圖像f(x,y)使用上面的準則找到閾值t,將圖像分割為2個部分,從而實現(xiàn)圖像二值化,如圖4所示。
圖4 玉米植株的二值化圖像Fig.4 Binary image of maize plant
玉米植株的二值化圖像中,不可避免會產(chǎn)生噪聲及面積較小的背景等干擾,由先驗知識發(fā)現(xiàn),整棵玉米植株就是一個連通區(qū)域,且該區(qū)域的面積最大。采用Matlab中的函數(shù)bwlabeln對玉米植株的二值化圖像進行連通區(qū)域標記,經(jīng)檢測得到3個連通區(qū)域,查找并保留面積最大的連通區(qū)域,將該連通區(qū)域保存為玉米植株,如圖5所示。刪除剩余連通區(qū)域,從而消除噪聲及背景干擾。
圖5 玉米植株圖像中最大的連通區(qū)域 Fig.5 The largest connected area in the maize plant image
由于玉米植株的葉片及莖稈顏色變化,植株個別像素點的顏色與背景接近,在圖像處理的過程中會產(chǎn)生孔洞。采用Matlab的孔洞填充函數(shù)imfill()予以消除。
圖像中的目標細化是獲得目標骨架的過程,骨架細化算法的目的就是為了方便描述、抽取目標的線性特征[17-18]。一般細化算法要滿足以下幾點要求:(1)保證原來圖像邊緣的連通性;(2)原來圖像邊緣的中心線為骨架圖像;(3)盡可能多地將1個像素寬度的線條圖像作為細化結果;(4)細化速度要快[19]。本研究采用的骨架細化函數(shù)為bwmorph(image,‘thin’,Inf),其中,image表示被處理的目標圖像,‘thin’表示細化操作,Inf表示進行多次的操作,直到圖像不能再細化。通過細化獲得的骨架模型,如圖6所示。
由于葉片較寬或葉片受到外力、病害等因素而出現(xiàn)折彎,經(jīng)過細化的玉米植株的骨架可能會出現(xiàn)毛刺,本研究設定閾值為30,對骨架的毛刺予以去除。
圖6 玉米植株的細化及骨架模型Fig.6 Thinning and skeleton model of maize plant
1.4.1 骨架的端點和交叉點查找 分別以構成植株骨架的坐標點為中心,查找該中心的8鄰域。當該點的領域有3個值不為0,則該點為交叉點;當該點的領域有1個值不為0,則該點為端點;通過Matlab中的函數(shù)bwmorph(image,‘endpoints’)和bwmorph(image,‘branchpoints’)查找并標記骨架線的端點和交叉點,如圖7所示。
圖7 玉米植株骨架的端點和交叉點Fig.7 End points and branch points of the maize plant skeleton
1.4.2 骨架的二叉樹分析 二叉樹是每個結點最多有2個子樹的樹結構。通常子樹被稱作“左子樹”(Left subtree)和“右子樹”(Right subtree)[20]。二叉樹常被用于實現(xiàn)二叉查找樹和二叉堆[21]。本研究通過分析植株的骨架結構,發(fā)現(xiàn)可以采用二叉樹對骨架進行分析,逐步實現(xiàn)對植株骨架的標記和識別,步驟如下:
步驟1:選取骨架的最低點(即行坐標最大的端點)為起點S,沿骨架線向上查找,檢測到的第1個交叉點即為一級節(jié)點(Node 1),從S走到Node 1之間的骨架線即為一級莖段。
步驟2:以Node 1為起點,該點具有3個鄰域,其中一級莖段是Node 1的鄰域之一,該鄰域已經(jīng)完成標記;分別向Node 1的剩余2個鄰域(這2個鄰域可稱之為2條支路)行走。當沿某條支路查找,遇到端點,則該條支路為葉片1,如果該端點位于Node 1的左側,則稱該條支路為左側葉片1;如果該端點位于Node 1的右側,則稱該條支路為右側葉片1。當沿某條支路查找,遇到交叉點,則該交叉點為二級節(jié)點(Node 2),該條支路為二級莖段。
步驟3:由于交叉點有多個,如果該交叉點不是最后一個,則重復步驟2;如果該交叉點是最后一個,則該交叉點分別到最后剩余的2個端點,構成2條支路,分別根據(jù)端點相對交叉點的位置,稱最后剩余的兩條支路為左側葉片n-1、右側葉片n。
應用本研究所提出的以上算法對圖7中的骨架進行標記和分析,如圖8所示。
圖8 玉米植株骨架的標記和分析Fig.8 Skeleton marking and analysis of maize plant
針對圖7中玉米植株的骨架,其對應的二叉樹分析如圖9所示??梢钥闯觯衩字仓甑慕Y構完全符合二叉樹的特征,可以應用二叉樹進行分析。圖8與圖9可實現(xiàn)一一對應,完全滿足骨架分析的要求。
圖9 玉米植株的二叉樹分析Fig.9 Binary tree analysis of maize plant
根據(jù)以上莖葉標記與分析的結果,將玉米植株骨架和原始圖像中的莖葉分割效果展示出來,各個葉片與莖分別用隨機顏色顯示,如圖10所示。
采用本研究所提出的方法對其他2組圖像進行骨架提取和端點、交叉點檢測,如圖11所示,對應的莖葉分割效果如圖12所示。
圖10 骨架和圖像中的莖葉分割效果Fig.10 Stem and leaf segmentation of skeleton and image
圖11 樣本的骨架提取和端點、交叉點檢測Fig.11 Skeleton extraction and end points,branch points detection of samples
圖12 樣本的莖葉分割效果Fig.12 Stem and leaf segmentation of samples
該圖像處理方法可在Thinkpad電腦[產(chǎn)品型號T460P,16G RAM,Intel(R) 雙核I7-6700 HQ CPU @2.60 GHz]中進行分析,每幅圖像的處理用時小于8 s,可滿足科研和生產(chǎn)的要求。
由于數(shù)據(jù)庫中的圖像,均是在具備充分的先驗知識的情況下所采集,放置玉米植株的采集箱及承載玉米植株的培養(yǎng)盆的大小已知,攝像頭與玉米植株樣本的距離為常量,可由此計算樣本圖像中每個像素所代表的尺寸(以mm為單位),從而進一步計算玉米的株高、葉片長度和莖寬等參數(shù)。此外,本研究中的所有圖像處理操作均在Matlab軟件中開發(fā)完成,自動化程度高,具有復現(xiàn)性,可對同一植株的不同生長階段進行莖葉分割。
骨架提取算法直接影響莖葉分割的效果,本研究中所采用的細化算法快速地將玉米植株的骨架細化到最簡狀態(tài),并剔除毛刺,保證了植株的結構特征。宗澤等[22]以玉米作物為例,結合最小二乘法和遺傳算法提取作物骨架等表型參數(shù),株高誤差減小了35%,葉長誤差減小了70%,葉傾角誤差減小了20%,有效地提高了作物表型參數(shù)的測量精度。對比上述研究,本研究中骨架提取算法計算量小,精度滿足研究要求。
本研究消除噪聲及其他干擾,保留玉米植株的圖像,圖像錯分率可忽略不計,并創(chuàng)新性地提出二叉樹分析算法,進行植株骨架的莖葉分割,從下到上依次對植株骨架進行遍歷分析,分割的效果具有準確、直觀的優(yōu)點,設置隨機色顯示不同葉片,便于對分割的精度進行人工評定。玉米植株的莖葉分割所需時間小于8 s,滿足實時性的要求。王傳宇等[23]提出了一種基于時間序列多圖像的玉米植株干旱脅迫表型檢測方法,采用統(tǒng)計學習方法對圖像序列進行初始背景分割,圖像錯分率為2.12%,在植株器官分割階段,融合植株形態(tài)先驗知識,通過逐行掃描和鄰域數(shù)量判斷拆分植株器官像素,并計算葉片角度比值。對比上述研究,本研究在玉米植株的莖葉分割精度、處理速度及效果展示等方面都具有較大的進步。
本研究從已有的內(nèi)布拉斯加大學林肯分校的植物表型數(shù)據(jù)集選取玉米植株圖像,該數(shù)據(jù)集采用標準化種植,圖像的采集時間及方式經(jīng)過精心的設計與規(guī)劃,相對于現(xiàn)有的玉米植株栽培,具有批量化和集約化的優(yōu)勢。自動進行玉米植株圖像的提取和二值化,通過建立植株的骨架模型及去除骨架中的毛刺,實現(xiàn)骨架上的端點和交叉點的檢測,采用二叉樹分析骨架模型,確立各級節(jié)點及各個葉片,從而實現(xiàn)莖葉分割。通過多個樣本圖像的試驗,表明本研究所采用骨架提取和二叉樹分析的方法可以實現(xiàn)玉米植株的莖葉分割,具有快捷有效、計算速度快、自動化程度高等優(yōu)點,滿足植物表型提取的科研要求,為玉米等植物表型分析與育種等提供支持,具有一定的實用性。
后續(xù)可在本研究的基礎上進行莖葉角測量、葉片長度測量、葉片曲率計算、葉片存在交叉情況的葉片分割與識別等研究,為植株活力檢測、植物對環(huán)境脅迫的響應等整體和組分表型分析提供支持。通過調(diào)整相關參數(shù),本研究所提出的方法可擴展到其他具有相似結構的谷物作物(例如高粱)植株的檢測與分析,具有一定的推廣價值。