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