梁 靚,李富忠,張吳平,王思雨,肖奕同,侯晨連
(山西農(nóng)業(yè)大學(xué) 軟件學(xué)院,山西 太谷 030801)
谷子(Setaria italica)為禾本科狗尾草屬作物,屬于小雜糧中的典型作物,具有耐旱、耐瘠薄、抗逆性強(qiáng)等特點(diǎn),是山西農(nóng)業(yè)供給側(cè)改革、調(diào)整種植產(chǎn)業(yè)結(jié)構(gòu)和大力發(fā)展的優(yōu)勢(shì)特色小雜糧[1]。山西谷子資源的苗色、穗型、粒色類型豐富,涵蓋了中國(guó)谷子資源的基本類型;山西谷子種質(zhì)資源遺傳多樣性大,類型多,資源豐富,為谷子種質(zhì)創(chuàng)新和分子生物學(xué)研究積累了豐富的物質(zhì)基礎(chǔ)[2]。因此,對(duì)谷子進(jìn)行精細(xì)管理,監(jiān)測(cè)其生長(zhǎng)動(dòng)態(tài)具有重要意義。
目前,谷子的表型監(jiān)測(cè)多以傳統(tǒng)人工監(jiān)測(cè)方式為主。人工監(jiān)測(cè)的勞動(dòng)強(qiáng)度高,費(fèi)時(shí)費(fèi)力,而且不能實(shí)時(shí)動(dòng)態(tài)地監(jiān)測(cè)作物表型的變化,同時(shí)由于人的主觀性影響也會(huì)帶來(lái)較大偏差[3],大大限制了大規(guī)模遺傳育種篩選的效率??焖贌o(wú)損測(cè)量作物性狀的方法一直是作物精確化育種領(lǐng)域所研究的熱點(diǎn)[4]。近年來(lái),圖像技術(shù)逐漸被應(yīng)用于農(nóng)作物的生長(zhǎng)監(jiān)測(cè)中。與傳統(tǒng)方式相比,圖像處理技術(shù)極大地提高了農(nóng)業(yè)生產(chǎn)的效率和產(chǎn)量。吳文華[5]以油菜為研究對(duì)象,基于油菜的二維圖像,通過(guò)圖像采集與算法處理,對(duì)油菜生長(zhǎng)過(guò)程中的冠層結(jié)構(gòu)參數(shù)、株型參數(shù)、油菜籽千粒質(zhì)量等參數(shù)進(jìn)行研究,同時(shí)基于卷積神經(jīng)網(wǎng)絡(luò)對(duì)油菜主根進(jìn)行了分割。尹英杰等[6]獲取圖像時(shí)采用單目視覺(jué)系統(tǒng),提取玉米骨架圖像,計(jì)算得到葉傾角、葉向值等葉片形態(tài)特征。從單角度測(cè)量作物表型信息雖然簡(jiǎn)單便捷[7],但存在遮擋、獲得表型數(shù)據(jù)不準(zhǔn)確等問(wèn)題,因此,試驗(yàn)中多考慮采取使植物旋轉(zhuǎn)從而獲取不同角度信息的方式,經(jīng)過(guò)算法處理提取相關(guān)的表型參數(shù)[8-9]。張慧春等[10]采用相機(jī)運(yùn)動(dòng)、植株固定的方式,從不同角度拍攝擬南芥的不同圖像,得出擬南芥三維點(diǎn)云。通過(guò)點(diǎn)云計(jì)算出擬南芥的葉片長(zhǎng)寬、葉面積及葉夾角、主莖長(zhǎng)度等參數(shù)并進(jìn)行建模。宗澤等[11]采用TOF深度相機(jī)拍攝得到玉米的深度圖像,并對(duì)玉米圖像進(jìn)行骨架提取并提取特征點(diǎn),結(jié)合空間幾何數(shù)學(xué)計(jì)算出玉米的株高、莖粗及葉傾角等。張德榮[12]利用二維圖像對(duì)作物籽粒進(jìn)行計(jì)數(shù)、對(duì)葉面積和葉長(zhǎng)葉寬測(cè)量,同時(shí)提出了嵌入式系統(tǒng)開發(fā)模式,為便攜式農(nóng)業(yè)儀器的開發(fā)提供了參考。方偉等[13]將小麥放置于旋轉(zhuǎn)平臺(tái)上拍攝圖像,通過(guò)可見(jiàn)光成像體素重構(gòu)的方法對(duì)植物形態(tài)進(jìn)行三維重建。通過(guò)三維重建檢測(cè)植株株型,并結(jié)合三維模型處理的方法提取了株型相關(guān)的若干參數(shù),為計(jì)算小麥株型參數(shù)提供了基礎(chǔ)。本研究在室內(nèi)環(huán)境下,將苗期谷子置于旋轉(zhuǎn)平臺(tái)拍攝照片,然后通過(guò)輪廓提取及骨架提取等算法得出谷子地上部的表型數(shù)據(jù)。與三維重建不同的是,基于圖像的三維重建技術(shù)一般分為3個(gè)步驟:稀疏重建、稠密重建和表面重建[14]。重建過(guò)程較為復(fù)雜,且拍攝過(guò)程易受環(huán)境光影響,會(huì)出現(xiàn)遮擋空洞等問(wèn)題,對(duì)提取表型參數(shù)會(huì)形成較大影響。
綜上所述,越來(lái)越多的研究致力于通過(guò)最方便的方法獲得作物表型參數(shù)。在本研究中將苗期谷子放置在旋轉(zhuǎn)平臺(tái)上拍攝圖像,利用算法得到單株谷子的多角度二值圖像,通過(guò)算法對(duì)圖像進(jìn)行處理,從而分割谷子葉片。通過(guò)輪廓提取和骨架提取等算法相結(jié)合,求得谷子株高、葉片長(zhǎng)度、葉片最大寬度、節(jié)長(zhǎng)及莖粗,最后將算法計(jì)算結(jié)果與真實(shí)值進(jìn)行對(duì)比分析,以實(shí)現(xiàn)自動(dòng)提取苗期谷子地上部多個(gè)表型參數(shù)并測(cè)量的目的。
試驗(yàn)選取大田生長(zhǎng)良好的幼苗期谷子(6葉期至10葉期),完整移栽到花盆內(nèi),使谷子保持正常生長(zhǎng)狀態(tài)。將相機(jī)放置在固定位置,花盆放置在旋轉(zhuǎn)平臺(tái)上,保持固定高度,同時(shí)保持花盆與相機(jī)固定距離。拍攝背景統(tǒng)一為黑色。在與谷子同一水平上放置邊長(zhǎng)為2 cm的正方形標(biāo)定物。設(shè)定花盆初始位置為0°,平臺(tái)勻速轉(zhuǎn)動(dòng)360°,使花盆轉(zhuǎn)回到初始位置。為了使每株谷子拍得更全面,花盆轉(zhuǎn)動(dòng)過(guò)程中每隔10°拍攝一幅圖像,即最后每株谷子共拍攝36幅圖像。
拍攝結(jié)束后,對(duì)谷子的株高、葉片長(zhǎng)度、葉片最大寬度、節(jié)長(zhǎng)及莖粗進(jìn)行實(shí)體測(cè)量。株高:用卷尺測(cè)量每株谷子地上部從底端測(cè)量到頂端直立葉尖的最大距離。葉片長(zhǎng)度:用卷尺測(cè)量拉直后的葉片底部至葉尖的距離。葉片最大寬度:用卷尺測(cè)量展開后的葉片最大寬度位置的距離。葉面積:通過(guò)像素法對(duì)葉片的二值圖像進(jìn)行分析,求得每個(gè)葉片的真實(shí)葉面積。節(jié)長(zhǎng):用數(shù)顯卡尺測(cè)量連續(xù)2個(gè)莖節(jié)之間的距離。莖粗:用數(shù)顯卡尺測(cè)量每一個(gè)莖節(jié)最寬位置的直徑,求取每株谷子節(jié)寬的平均值記作莖粗。
對(duì)獲得每個(gè)植株的圖像進(jìn)行處理,首先分別分割出標(biāo)定物以及谷子,使用色彩分割算法獲得谷子的二值圖(圖1)。
對(duì)獲得的谷子二值圖進(jìn)行形態(tài)學(xué)處理。形態(tài)學(xué)處理包括腐蝕、膨脹等算法[15-17],運(yùn)用形態(tài)學(xué)處理算法,可進(jìn)一步提高圖像質(zhì)量。由于頂端葉片和兩側(cè)葉片方向不同,為了更好地提取頂端葉片的區(qū)域,創(chuàng)建2個(gè)橢圓形結(jié)構(gòu)基元g1、g2。g1為(1,101)的結(jié)構(gòu)基元,g2為(13,201),讓y方向更大一些,x方向比較小一些,這樣更符合頂端葉片的豎長(zhǎng)的特征,保證不會(huì)對(duì)葉片造成形狀、尺寸上的改變。根據(jù)2個(gè)結(jié)構(gòu)基元先進(jìn)行腐蝕,消除邊緣的葉片區(qū)域,然后進(jìn)行膨脹,填充空洞;接著對(duì)完成腐蝕膨脹的區(qū)域,進(jìn)行“與”操作,得到最終的頂端葉片區(qū)域,如圖2所示。
在谷子二值圖的基礎(chǔ)上,提取谷子地上部整體輪廓[18-19],即將圖像目標(biāo)的內(nèi)部點(diǎn)消除。所謂內(nèi)部點(diǎn),需要根據(jù)當(dāng)前像素點(diǎn)[20]的鄰域來(lái)進(jìn)行判斷。假設(shè)P(x,y)為目標(biāo)像素,目標(biāo)像素為0,背景像素為255,那么P(x,y)=0且目標(biāo)像素的8個(gè)鄰域像素均為0,滿足這樣條件的點(diǎn)為內(nèi)部點(diǎn),刪除內(nèi)部點(diǎn)即可得到谷子圖像輪廓,如圖3所示。得到谷子整體輪廓后,獲取谷子輪廓的最小外接矩形,計(jì)算矩形的高度,通過(guò)單位換算從而求得谷子株高,如圖4所示。
構(gòu)建谷子每個(gè)葉片的外接矩形像素集并且篩選出輪廓內(nèi)所有像素點(diǎn)。在葉片區(qū)域中,遍歷每個(gè)像素點(diǎn)。隨機(jī)搜索1%像素提高內(nèi)切圓半徑下限,循環(huán)搜索剩余像素對(duì)應(yīng)內(nèi)切圓半徑。利用二分法計(jì)算像素點(diǎn)的內(nèi)切圓,尋找區(qū)域最大半徑,計(jì)算每個(gè)區(qū)域的葉片最寬的地方,即為葉片最大寬度,如圖5所示。
在圖像處理的時(shí)候,需要對(duì)谷子圖像進(jìn)行細(xì)化,提取出谷子圖像的骨架信息,進(jìn)行更加有效的分析。圖像細(xì)化(Image Thinning)一般指二值圖像的骨架化(Image Skeletonization)的一種操作運(yùn)算。所謂的細(xì)化就是經(jīng)過(guò)一層層的剝離,從原來(lái)的圖中去掉一些點(diǎn),但仍要保持原來(lái)的形狀,直到得到圖像的骨架。本研究中采用Zhang并行快速細(xì)化算法[21],該算法每一次的迭代步驟是對(duì)符合特定條件的目標(biāo)像素進(jìn)行腐蝕,效果就是目標(biāo)變得越來(lái)越細(xì)。通過(guò)不斷的迭代,直到在上一次腐蝕后的目標(biāo)在本輪操作中,沒(méi)有新的像素點(diǎn)被腐蝕,算法結(jié)束。通過(guò)算法細(xì)化圖像,得到了整株谷子的骨架,如圖6所示。
這就相當(dāng)于突出谷子的主要結(jié)構(gòu)和形狀信息,去除了多余信息,根據(jù)這些保留的信息可以實(shí)現(xiàn)圖像上特征點(diǎn)的檢測(cè),如端點(diǎn)和交叉點(diǎn)[22]。骨架的端點(diǎn)和交叉點(diǎn)的查找要以構(gòu)成植株骨架的坐標(biāo)點(diǎn)為中心,查找該中心的八鄰域。當(dāng)該點(diǎn)的領(lǐng)域有3個(gè)值不為0,則該點(diǎn)為交叉點(diǎn);當(dāng)該點(diǎn)的領(lǐng)域只有1個(gè)值不為0,則為端點(diǎn)。最終查找并標(biāo)記骨架的端點(diǎn)和交叉點(diǎn),結(jié)果如圖7所示。
在細(xì)化的基礎(chǔ)上,通過(guò)計(jì)算葉片骨架化后像素點(diǎn)的個(gè)數(shù),來(lái)計(jì)算葉片長(zhǎng)度。由于骨架可以看作一個(gè)圖形的中軸線,所以,由谷子的骨架圖可知,谷子葉片的長(zhǎng)度約等于葉片骨架化后的交叉點(diǎn)到端點(diǎn)的線段長(zhǎng)度,谷子莖節(jié)的長(zhǎng)度約等于每個(gè)交叉點(diǎn)之間的線段長(zhǎng)度。
其中,f代表葉片提取骨架后的圖像,l代表像素點(diǎn)的個(gè)數(shù),即像素單位長(zhǎng)度。
在計(jì)算莖粗的時(shí)候,首先可以計(jì)算2個(gè)節(jié)點(diǎn)之間的橫向?qū)挾?。如圖8所示,圖中的紅色所示是節(jié)點(diǎn)的位置,求得2個(gè)節(jié)點(diǎn)之間的中間點(diǎn)位置(藍(lán)點(diǎn)),過(guò)該點(diǎn)沿與區(qū)域垂直的方向,尋找邊界上相鄰像素灰度不一樣的2個(gè)點(diǎn),即圖中的1和2,計(jì)算得到點(diǎn)1和點(diǎn)2之間的距離就是節(jié)寬。最后對(duì)1株谷子求得的所有節(jié)寬求平均值,記作谷子的莖粗。
圖像分析結(jié)果圖9所示。
通過(guò)算法分析每株谷子的36幅序列圖像,每個(gè)角度都能識(shí)別到谷子葉片數(shù)、株高、葉片長(zhǎng)度,葉片最大寬度、節(jié)長(zhǎng)以及莖粗。由于每幅圖像角度不同,每個(gè)葉片的表型數(shù)據(jù)都不能通過(guò)同一幅圖像得出最準(zhǔn)確的值,需要通過(guò)分析所有圖像選取每個(gè)葉片的長(zhǎng)度最大值作為葉片長(zhǎng)度,寬度最大值作為葉片最大寬度,每個(gè)莖節(jié)長(zhǎng)度的最大值作為谷子的節(jié)長(zhǎng),對(duì)每株谷子所有莖節(jié)的寬度最大值求取平均值作為谷子的莖粗。通過(guò)算法分析結(jié)果(圖9),以1株谷子的36幅序列圖像處理結(jié)果為例。
與基于圖像的三維重建技術(shù)相比,本研究提到的方法可以通過(guò)1株谷子的多角度圖像可以較準(zhǔn)確地提取到植株表型參數(shù),即使其中一些角度的圖像會(huì)出現(xiàn)遮擋、反光、不清晰的問(wèn)題,也可以在其他圖像中分析出需要的參數(shù),通過(guò)本研究算法分析,得到的結(jié)果也將更為精確。
為了驗(yàn)證算法的有效性,用卷尺測(cè)量從谷子地上部最底端到頂端直立葉尖的距離作為株高,將算法計(jì)算的谷子株高結(jié)果與人工手動(dòng)測(cè)量的結(jié)果進(jìn)行對(duì)比,對(duì)比結(jié)果如表1所示。表中主要列出了10株谷子株高算法測(cè)量值和人工測(cè)量值以及兩者之間的相對(duì)誤差。
表1 10株谷子株高算法測(cè)量值與真實(shí)值對(duì)比結(jié)果Tab.1 Compar ison between algorithmic measurement and tr ue value of plant height in 10 plants of millet
通過(guò)表1可知,株高的算法測(cè)量值與真實(shí)值的平均相對(duì)誤差為3.52%。將2組值進(jìn)行擬合,擬合結(jié)果如圖10所示,可以得到回歸方程為y=1.007 1x+0.845 3。通過(guò)檢驗(yàn),F(xiàn)=396.943 8,P<0.01,說(shuō)明方程具有統(tǒng)計(jì)學(xué)意義。決定系數(shù)R2達(dá)到0.980 3,算法測(cè)量值與真實(shí)值接近,證明該算法可以較準(zhǔn)確的測(cè)量出谷子株高的真實(shí)值。
用卷尺測(cè)量葉片鋪平拉直后的葉片底部至葉尖的長(zhǎng)度作為葉片長(zhǎng)度,測(cè)量葉片完全展開后最寬位置的長(zhǎng)度作為葉片最大寬度。將算法計(jì)算的葉片長(zhǎng)度和葉片最大寬度與人工手動(dòng)測(cè)量的結(jié)果進(jìn)行對(duì)比,對(duì)比結(jié)果如表2、3所示。2個(gè)表中分別列出了35組谷子葉片長(zhǎng)度、葉片最大寬度的算法測(cè)量值和真實(shí)值以及二者之間的相對(duì)誤差。
從表2、3可以看出,葉片長(zhǎng)度的算法測(cè)量值與真實(shí)值的平均相對(duì)誤差為7.01%,葉片最大寬度的算法測(cè)量值和真實(shí)值的平均誤差為5.30%,考慮原因是葉片自然狀態(tài)下無(wú)法完全伸展以及會(huì)互相遮擋,所以,拍照時(shí)會(huì)產(chǎn)生一定誤差。將2組值分別進(jìn)行擬合,擬合結(jié)果如圖11、12所示,可以得到葉片長(zhǎng)度的回歸方程為z=0.969t+0.258 3(P<0.01),決定系數(shù)R2達(dá)到0.97。葉片最大寬度的回歸方程為w=0.955 9k+0.081 7(P<0.01),決定系數(shù)R2為0.97,證明該算法可以較準(zhǔn)確的測(cè)量出谷子葉片長(zhǎng)度和葉片最大寬度的真實(shí)值。
表2 葉片長(zhǎng)度算法測(cè)量值與真實(shí)值對(duì)比結(jié)果Tab.2 Comparison between algorithmic measurement and true value of leaf length
表3 葉片最大寬度算法測(cè)量值與真實(shí)值對(duì)比結(jié)果Tab.3 Comparison between algorithmic measurement and true value of the maximum leaf width
以同一試驗(yàn)田同一品種的谷子為研究對(duì)象,取樣測(cè)得葉片長(zhǎng)度和葉片最大寬度,通過(guò)像素法計(jì)算出這些谷子每個(gè)葉片的面積[23],求得葉面積系數(shù)為0.567 4。本研究中算法以此葉面積系數(shù)代入算法求得葉面積,用算法計(jì)算得到的葉面積和像素法求得的真實(shí)葉面積的結(jié)果進(jìn)行對(duì)比,將2組值進(jìn)行擬合,擬合結(jié)果如圖13所示。結(jié)果可以得到葉面積的回歸方程m=1.067 5n+0.504 4(P<0.01),決定系數(shù)R2為0.934 1,證明此葉面積系數(shù)得出的葉面積較為準(zhǔn)確,且證明了該算法可以比較準(zhǔn)確的測(cè)量出谷子葉面積的真實(shí)值。
用數(shù)顯卡尺測(cè)量連續(xù)2個(gè)莖節(jié)之間的長(zhǎng)度作為節(jié)長(zhǎng),計(jì)算每個(gè)莖節(jié)最寬位置的直徑長(zhǎng)度的平均值作為莖粗。將算法計(jì)算的節(jié)長(zhǎng)和莖粗與人工手動(dòng)測(cè)量的結(jié)果進(jìn)行對(duì)比,節(jié)長(zhǎng)對(duì)比結(jié)果如表4所示,表中主要列出了28組谷子節(jié)長(zhǎng)的算法測(cè)量值和人工測(cè)量值以及兩者之間的相對(duì)誤差;莖粗的對(duì)比結(jié)果如表4所示,表中主要列出了10組谷子莖粗的算法測(cè)量值和人工測(cè)量值以及兩者之間的相對(duì)誤差。
由表4、5可知,節(jié)長(zhǎng)的算法測(cè)量值與真實(shí)值的平均相對(duì)誤差為7.91%,莖粗的算法測(cè)量值和真實(shí)值的平均誤差為7.07%??紤]原因是每張照片拍攝角度不同,谷子葉片會(huì)對(duì)莖稈產(chǎn)生一定的遮擋,且谷子苗期的莖稈比較細(xì)小,所以,算法測(cè)量時(shí)會(huì)產(chǎn)生一定誤差。將2組值分別進(jìn)行擬合,擬合結(jié)果如圖14、15所示,可以得到節(jié)長(zhǎng)的回歸方程為q=0.968 8p-0.002 2(P<0.01),決 定 系 數(shù)R2達(dá) 到0.952 5。莖粗的回歸方程為s=0.685 1v+0.176 1(P<0.01),決定系數(shù)R2為0.914 8,證明該算法可以較準(zhǔn)確的測(cè)量出谷子節(jié)長(zhǎng)和莖粗的真實(shí)值。
表4 節(jié)長(zhǎng)算法測(cè)量值與真實(shí)值對(duì)比結(jié)果Tab.4 Comparison between algorithmic measurement and true value of node length
表5 莖粗算法測(cè)量值與真實(shí)值對(duì)比結(jié)果Tab.5 Comparison between algorithmic measurement and true value of stem diameter
本研究以苗期谷子為研究對(duì)象,通過(guò)算法對(duì)苗期谷子的地上部表型特征指標(biāo)進(jìn)行自動(dòng)分析,求得谷子的株高、葉片長(zhǎng)度、葉片最大寬度、節(jié)長(zhǎng)、莖粗。此方法求得的株高與真實(shí)值的平均相對(duì)誤差為3.52%,葉片長(zhǎng)度與真實(shí)值的平均相對(duì)誤差為7.01%,葉片最大寬度與真實(shí)值的平均相對(duì)誤差為5.30%,節(jié)長(zhǎng)與真實(shí)值的平均相對(duì)誤差為7.91%,莖粗與真實(shí)值的平均相對(duì)誤差為7.07%。表明本研究中的算法對(duì)于測(cè)量谷子的實(shí)際株高、葉片長(zhǎng)度、葉片最大寬度、節(jié)長(zhǎng)及莖粗均有較好的效果。
本研究提出了基于骨架提取算法和輪廓提取算法相結(jié)合的作物表型特征提取方法,能夠有效地獲取苗期谷子地上部的輪廓圖像和骨架圖像,從而進(jìn)一步通過(guò)分析谷子的輪廓圖像和骨架圖像實(shí)現(xiàn)苗期谷子地上部表型特征參數(shù)的無(wú)損測(cè)量,實(shí)現(xiàn)連續(xù)定量檢測(cè)。在大田環(huán)境下,多種自然因素對(duì)使用本研究方法的曲線擬合影響較大,比如谷子的葉片折疊、斷裂以及孕穗期的谷穗影響等,在后續(xù)的研究中仍需要進(jìn)一步提高其準(zhǔn)確性。
本研究中基于輪廓提取和骨架提取算法相結(jié)合的作物表型特征提取方法,對(duì)于生長(zhǎng)狀態(tài)良好的苗期谷子的地上部表型無(wú)損測(cè)量具有良好的效果。在接下來(lái)的工作中,將會(huì)繼續(xù)研究谷子其他生長(zhǎng)時(shí)期表型參數(shù)的測(cè)量方法,如拔節(jié)期、孕穗期等,并且將對(duì)谷子整個(gè)生育期的表型參數(shù)進(jìn)行完整評(píng)判。