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