蘇寶峰 劉易雪 王 琮 米志文 王方圓
(1.西北農林科技大學機械與電子工程學院, 陜西楊凌 712100; 2.農業農村部農業物聯網重點實驗室, 陜西楊凌 712100;3.西安交通大學機械工程學院, 西安 710049)
提高植物表型的獲取效率是研究植物生理機制過程亟待解決的問題。植物表型數據的缺失限制了研究人員對數量性遺傳性狀分析的能力[1-2]。借助智能化設備鑒定植物表型是智慧農業的重要組成部分[3-4]。葉面積的測定是植物生理機制研究中一項基本測定,無損鑒定植物的葉面積可為研究植物的光合效率等生理機制提供數據支撐[5]。
目前較為流行的葉面積測定方法為使用手持設備、通過單一圖像處理的方式測定葉片面積[6-7]。然而,從單一圖像測定葉面積的方法不能滿足表型數據高通量獲取的要求,利用三維重建結構技術獲取葉片形態成為研究無損估測葉面積的新方向[8-11]。
目前常見的三維點云獲取設備主要有基于激光掃描原理的FastScan、Vivid9i,利用結構光獲取對象深度信息原理的Microsoft Kinect、3D Scanner等儀器以及基于雙目相機的立體視覺系統[12-22]。文獻[16]通過三維掃描儀完成了對蘋果葉片的三維重建。文獻[17]使用FastScan對煙草植株進行掃描,得到煙草植株的三維結構。文獻[18]把獲取的深度信息和顏色信息進行配準后,獲得了包含顏色和紋理信息的油菜三維重建模型。文獻[19]改進了使用Kinect重建植株三維點云的配準方法。文獻[20]使用消費級深度相機對玉米植株進行了三維重建,并提出了去噪方法。文獻[21]使用Kinect重建了玉米的三維模型,并提出了有效去除離群點的方法。文獻[22]提出了一種基于雙目視覺的能量最低模型,以此估計植物的葉面積、高度及地上生物量。
然而,這些方法均存在成本較高、對應用環境要求苛刻等問題。使用激光掃描儀雖然可以獲得精確的三維點云,但所需成本高,數據處理過程繁瑣,適用性不強;基于結構光的深度圖像系統對光照環境的配置要求高;雙目立體視覺系統使用前需人工校正相機。運動恢復結構算法的提出降低了對點云獲取設備和環境的要求,可基于消費級相機獲取的多幅圖像實現三維重建[23]。文獻[24]使用運動恢復結構算法對株高大于50 cm大豆和向日葵進行三維重建,并對整株植株進行了分割。雖然詳細地描述了點云獲取過程,然而針對點云分割處理的問題,僅分割出植株上的葉片,未能分割出單一葉片。
針對上述問題,本文提出面向智能手機平臺獲取圖像進行植物3D表型信息提取的方法。該方法通過運動恢復結構(Structure from motion,SfM)對智能手機獲取的圖像進行處理,獲取點云數據,針對點云數據處理問題,采用顏色特征閾值分割算法實現點云去噪,采用聚類算法實現點云分割;針對離散點云的表面重建問題,采用滾球算法對點云進行表面重建,得到網格模型,以實現葉片面積的計算。
以3株株高約為30 cm的盆栽赤霞珠葡萄植株為對象,編號1、2、3,1號植株葉片數量為5,葉片重疊率較低;2號植株的葉片數量為9,葉片重疊率適中;3號植株的葉片數量為10,葉片重疊率較高,如圖1所示。

圖1 實驗用盆栽赤霞珠葡萄植株Fig.1 Potted Cabernet sauvignon grape
本文使用圖像采集平臺為iPhone xs Max。依賴其f/1.8光圈的1 200萬像素主廣角鏡頭采集圖像。為保證圖像采集平臺的可替代性,拍攝模式采用默認的自動對焦方式,禁止閃光,禁止獲取HDR圖像。先經過預備實驗,手持手機在距葡萄樹苗0.5 m的范圍內連續采集圖像以獲取更多的細節信息。采集的圖像尺寸為3 024像素×4 032像素,圖像的文件格式為JPG。1號植株采集了78幅圖像,記為1號圖像集;2號植株采集了65幅圖像,記為2號圖像集;3號植株采集了109幅圖像,記為3號圖像集。
針對使用普通消費級相機重建目標三維模型的問題,運動恢復結構算法是一種常見的三維重建方法,是一種利用存在信號耦合的圖像序列估測目標物體三維結構的攝像測量技術。
運動恢復結構算法使用SIFT算法完成圖像特征點匹配。SIFT算法通過提取局部圖像特征處理圖像平移、旋轉尺度變換的干擾問題,降低對圖像拍攝的要求。提取特征點(基于高斯差分法的尺度空間極值點)后對提取到的特征點附加詳細信息,再通過兩幅圖像間的特征點找出匹配對,建立物體間的對應關系[25-26]。檢測兩幅圖像的所有特征點,計算第2幅圖像特征點的特征向量集合與第1幅圖像特征點特征向量集合的歐氏距離,然后對獲得的所有歐氏距離進行比較,其中最小的歐氏距離對應特征向量的特征點就是兩幅圖像所匹配的特征點[27]。


使用光束平差算法優化后,對稀疏點云對應的特征點周圍像素進行擴展,形成密集點云。
目前能實現運動恢復結構算法的軟件有OpenVMS、Pix4D Mapper、Agisoft PhotoScan等。本文選擇Agisoft PhotoScan軟件進行點云獲取。將3個圖像集分別導入Agisoft PhotoScan對3株葡萄進行三維重建,重復驗證本文所提方法。使用Agisoft PhotoScan中的長度測量工具測量標尺長度,與實際值換算得出點云數據的比例尺。
處理點云數據實現葉面積的計算過程如下:①分割背景點云。②基于HSV顏色空間使用閾值分割法去除植株點云的噪點。③使用K-means聚類算法對點云的三維坐標矩陣進行分類,實現單片葉片點云的分割。④基于滾球算法重建了葉片的表面網格模型。⑤通過計算網格面積求得葉片面積。
1.3.1背景點云分割
針對密集點云數據繁雜背景分割的問題,使用MeshLab中的濾波器工具提取葡萄盆栽的點云,去除背景點云。
1.3.2植株點云去噪
噪點主要存在于葉片表面周圍以及下側,主要源自葉片表面反光導致的特征點匹配錯誤產生的錯誤點以及在葉片遮擋下枝干的特征點匹配錯誤產生的錯誤點。噪點的顏色特征區別于葉片點云特征,因此將顏色特征作為閾值區分出噪點。使用Matlab Color Threshold工具箱提取葉片的顏色閾值創建掩膜函數。選取HSV顏色空間作為特征,在Color Threshold可視化界面中,提取葉片顏色特征邊界值,通道1的閾值范圍為[50.623,83.666],通道2的閾值范圍為[-41.963,-12.479],通道3的閾值范圍為[-25.137,39.775],創建掩膜矩陣BW。以點云數據的顏色矩陣C為對象,生成新的顏色矩陣R。以掩模矩陣BW為索引,生成這些點新的坐標矩陣L。將矩陣R、L寫為點云格式,得到去噪后的植株點云。
1.3.3單個葉片點云分割
根據葉片在植株上的分布情況,任意兩片葉片間存在一定距離,采用無監督聚類算法完成單片葉片點云的分割工作。對經過去噪處理后的植株點云使用K-means算法對點云數據的三維坐標矩陣進行分類。K-means算法的目標是把n個樣本點劃分到k個不同類簇里,在樣本中隨機選取k個初始中心,然后對靠近它的點進行歸類,通過迭代的方法,每次在每個聚類中重新計算中心值,然后再比較聚類中心間的距離,直到達到所設定的收斂條件后聚類結束。對應不同的植株,在分割時將k值設置為對應的葉片數量。
1.3.4葉片點云表面重建
為了還原不規則葉片表面形狀,針對葉片表面卷曲不平整的問題,以單個葉片離散點云為對象,使用滾球算法(Ball pivoting)重建葉片的表面網格模型。滾球算法的原理是首先在點云中隨機尋找到一個種子三角形,然后滾球算法會在這個種子三角形邊界內滾動一個預先給定直徑的小球,當這個小球碰到三角形邊界外的另外一個點時就組成另外一個三角形。滾球算法的收斂條件是當所有的邊界都被滾動到且沒有多余的點再組成三角形[27]。根據點云的密集程度,設置收斂條件為小球半徑為聚類半徑的20%,最大閾值角度為90°,在MeshLab中實現這一算法。
1.3.5葉片面積計算
通過統計葉片表面的三角網格面積計算出葉片的表面積。使用Matlab處理點云表面模型,基于海倫凱勒公式計算得到單個網格三角形的面積以求得葉片面積。計算網格面積公式為
根據表4中數據可知,以FPS的大小評估算法的檢測速度,可知Faster-RCNN不能滿足無人車障礙物檢測系統所需的實時性;以mAP值評估算法的檢測精度,可知表4目標檢測算法中DSSD算法檢測精度最高,且在任一類別的目標檢測上,DSSD算法均優于其它算法。當FPS滿足20時即可保持畫面的流暢[13],故DSSD算法可以保證無人車障礙物檢測系統的檢測準確率和實時性需要。

(1)
式中A——每個三角網格的面積,cm2
r——三角網格序號
S——植物葉片的總面積,cm2
n——三角網格總數
通過植物的三維模型比例尺的比例變換得出植物葉片面積的計算值。
使用1.2節中的點云獲取方法獲取葡萄植株的三維點云數據與相機姿態如圖2所示。

圖2 三維重建結果Fig.2 Result of 3D reconstruction
對于1號植株,校對78幅圖像后,生成34 508個特征點,得到了3 329 326個密集點云;對于2號植株,校對65幅圖像后,生成了33 791個特征點,得到了3 566 248個密集點云;對于3號植株,校對109幅圖像后,生成了79 567個特征點,得到了4 017 324個密集點云。由結果可以看出,使用運動恢復結構算法處理可見光圖像可以恢復出目標的三維實景模型,重建效果好。這種三維重建的方法對原始圖像采集平臺以及采集方式的要求低,便于操作。
單個葉片分割結果如圖5所示。從分割結果來看,本文所提分割方法適合離散分布的葉片點云的分割。
葉片表面重建結果如圖6所示。重建結果表明,使用滾球算法可以滿足還原葉片的形狀的需求,得到接近實際的葉片表面模型。

圖3 葡萄葉片提取結果Fig.3 Extraction results of plant point clouds

圖4 植株點云去噪結果Fig.4 Denoising results of plant point cloud

圖5 葉片點云分割結果Fig.5 Results of leaf point cloud segmentation

圖6 葉片表面重建結果Fig.6 Result of leaf surface reconstruction
為了評估實驗結果,本文對比了目前常見的葉面積測定方法。分別使用葉形紙稱量法[30-31]、掃描葉片法[32]測定了3株葡萄的葉片面積并對比測定結果。
在使用葉形紙稱量法進行測量時,選用標準A4紙,用分析天平準確稱量后,得出A4紙的面積質量比。用鉛筆在紙上準確勾勒出每片葡萄葉片的形狀后剪出并稱量,經過換算得到了葉片面積。
在使用掃描葉片法進行測量時,采摘葉片后將葉片平鋪放置于打印機的掃描面板上,使用的打印機型號為Brother MFC-7860DN Printer,二值化處理掃描圖像后,統計得出每株葡萄的葉片面積值。
將上述兩種方法得到的結果與本文方法得出的結果進行比較,見表1。

表1 葉片面積計算結果Tab.1 Calculation results of leaf area cm2
通過對比計算結果可知,本文方法的計算結果貼近其他兩種常見的葉面積測定方法。相比這兩種通過直接收割葉片測定面積的方法,本文方法沒有破壞性。1、2、3號植株的葉片重疊情況不等,但就處理結果來看,本文方法具有一定的穩健性。1、2、3號植株的葉片面積大小不一,面積最小的葉片僅有1 cm2左右,但結果表明,本文方法的計算結果與其他兩種方法對比的誤差仍然很小。使用其計算結果與使用掃描法測定的面積相比,1號植株的平均誤差為1.67 cm2,誤差占葉片面積的平均百分比為6.39%;2號植株的平均誤差為1.16 cm2,誤差占葉片面積的平均百分比為4.41%;3號植株的平均誤差為0.79 cm2,誤差占葉片面積的平均百分比為3.21%。3次重復實驗結果平均誤差為1.21 cm2(平均百分比4.67%);與葉形紙稱量法測定值相比,1號植株的平均誤差為1.58 cm2,誤差占葉片面積的平均百分比為4.51%;2號植株的平均誤差為1.66 cm2,誤差占葉片面積的平均百分比為8.96%;3號植株的平均誤差為1.00 cm2,誤差占葉片面積的平均百分比為4.67%。3次重復實驗結果平均誤差為1.41 cm2(平均百分比6.05%)。誤差分析如表2所示。

表2 葉片面積誤差分析Tab.2 Error analysis cm2
目前在田間無損測定植物的葉面積主要采用手持設備獲取單一圖像并對圖像處理的方法[31-33]。在本文中,使用圖像處理法估測3株植株的葉面積以作對比。使用1.3節中同樣的手機采集每株葡萄的圖像,在采集過程中放置面積為25 cm2的黑色方格紙作為參照標志。首先使用Matlab中Image Labeler工具對黑色方格紙進行標記,并使用Canny算子提取出黑色方格紙的輪廓,腐蝕填充后統計像素數。使用閾值分割法對葉片進行分割,選取L*a*b顏色空間作為特征,設置通道1的閾值范圍為[0.555,0.647],通道2的閾值范圍為[0.431,0.497],通道3的閾值范圍為[0.503,0.497 4],使用Canny算子提取葉片的輪廓,腐蝕填充后得到葉片的像素數,換算得出每株葉片的估測值。
使用單一圖像法處理得到的植株整株葉面積之和估測值與本文方法及葉形紙稱量法、掃描法的結果對比如表3所示。結果表明,在獲取整株植株的葉片面積時,使用單一圖像處理方法估測的葉面積結果與葉形紙稱量法相比,3次重復實驗的平均誤差為53.05 cm2;與掃描法相比,3次重復實驗的平均誤差為80.10 cm2。使用三維重建法估測的結果與葉形紙稱量法相比,3次重復實驗的平均誤差為37.93 cm2;與掃描法相比, 3次重復實驗的平均誤差為5.07 cm2。一方面來看,誤差來源可能是在實際情況中大多數葉片是彎曲的、不平整的。基于圖像處理的方法可能很難解決不在同一平面內的扭曲葉面的面積估測問題,然而這為基于三維點云的葉面積估測方法帶來了機遇。從另一方面來看,在處理從單一視角獲取的植株圖像時,基于Canny算子提取葉片區域的方法無法很好地解決葉片間的重疊問題,在處理重疊的葉片時,會被誤認為這是一個聯通的區域,而非分離的區域,如圖7所示。這也是偏差較大的原因之一。

表3 與圖像法結果對比Tab.3 Comparison results between proposed methods and image processing cm2
結果表明,針對整個植株的單個葉片面積測定問題,本文無損精確測定葉片面積的方法是可靠的。相比處理單一圖像來估測葉面積的方法,本文方法更能處理葉片重疊、葉片卷曲等現象導致計算有誤的問題。相比其他方法重建植株的三維點云模型的方法,本文方法不需要搭載復雜的系統,也不需要對相機進行校正,操作更加簡便且成本低廉。

圖7 葉片區域提取過程Fig.7 Leaf area extraction based on image processing
(1)使用運動恢復結構算法處理智能手機所獲取的植物圖像,對植物進行三維點云模型重建,提出了一種葉片點云分割、表面重建方法及葉片面積無損估測的方法。該方法適用于日常圖像獲取平臺,成本低廉,操作簡單,且獲取的點云數據還原度較高。
(2)相比常規測定葉片面積的方法,本文方法的計算結果與掃描葉片法測定值相比平均誤差為1.21 cm2,誤差占葉片面積的平均百分比為4.67%;與葉形紙稱量法測定值相比平均誤差為1.41 cm2,誤差占葉片面積的平均百分比為6.05%。表明該方法具有較高的可靠性。