婁 路 呂 惠 宋 然
(1.重慶交通大學信息科學與工程學院, 重慶 400074; 2.山東大學控制科學與工程學院, 濟南 250061)
植物表型是指植物可測量的特征和性狀, 是植物受自身基因和生長環境相互作用的結果, 也是決定農作物產量、品質和抗逆性等性狀的重要因素[1]。傳統的植物表型研究主要依靠手動測量和專家經驗,效率低且具有很強的主觀性。隨著植物功能基因組學和作物分子育種研究的深入,傳統的表型觀測已經成為制約其發展的主要瓶頸,而新興的植物表型分析技術成為解決這一問題的有效途徑[2]。在植株表型測量中,為實現各器官相關表型的精確測量,比如對葉子形態(包括葉面積、葉片數量、葉傾角、葉脈等)、莖形態、果實特征等表型的測量,則對植物的各器官進行高精度分割是非常重要的前提條件[3]。其中,植物莖葉自遮擋現象比較嚴重,因此植物莖葉的高精度分割研究成為植物表型研究領域的熱點與難點之一。
近年來,隨著計算機視覺技術的不斷成熟,基于圖像的植物表型研究成為農業研究的熱門領域。早期基于圖像的植物表型研究主要是利用圖像處理技術、機器學習算法和葉子的形狀特征等[4-12]實現植物葉片的分割,并進行葉片計數、病蟲害檢測和植物識別等表型研究。隨著植物表型研究的深入以及深度學習算法的快速發展,在植物圖像的分析和識別中出現了新的挑戰和需求,即滿足高精度的植物表型數據需求成為植物表型研究的重點[13-22]。深度學習算法能夠實現植物表型更高精度地提取和測量,這不僅僅局限于植物的單一器官。在植物分割領域目前仍集中于葉片分割[14]。針對植物幼苗時期葉片的表型研究問題(如葉片分割、葉片計數、葉子跟蹤和定位等),2014年召開的歐洲計算機視覺會議上舉辦了葉子分割挑戰賽并公開了其數據集[15](Computer vision problems in plant phenotyping, CVPPP)。國內外的研究者基于此數據集進行研究并取得了很多成果[16-22]。XI等[16]提出利用具有10個單位隱藏層的前饋神經網絡進行前景/背景分割,降低背景干擾,再利用分水嶺算法進行葉片分割,并實現葉片計數,但分割效果并不理想,對稱最佳骰子(Symmetric best dice, SBD)分數[17]只有71.1%。ROMERA-PAREDES等[18]首先提出基于遞歸神經網絡的循環實例分割算法,但葉子分割效果很差,之后在此算法基礎上進行改進,使用條件隨機場(Conditional random field, CRF)作為后處理,盡管分割結果有所改善,SBD分數提升了10個百分點左右,但SBD分數也只達到66.6%。隨后,REN等[19]提出一種具有注意力機制的端到端遞歸神經網絡架構用于植物葉片的實例分割,該算法不僅解決了部分遮擋問題,且實現了精細分割,分割效果有很大提升,即SBD分數達到84.9%。KULIKOV等[20]從語義分割角度思考,首先提出一種將實例分割簡化為語義分割的新方法,以端到端的方式訓練實例分割,網絡架構可以利用標準的語義分割架構。此算法不需要受到常規實例分割方法中的對象建議和邊界框檢測的限制,因此在小型數據集上也能得到很好的分割效果。同樣地,BRABANDERE等[21]和KULIKOV等[22]分別提出基于判別損失函數和基于正弦波嵌入式網絡對植物圖像進行實例分割,2種方法在葉子實例細分上表現出很大競爭優勢,且后一種方法是目前在擬南芥幼苗期的葉片分割算法中表現最好的,其SBD分數達到89.9%。
上述研究大多是以植物幼苗為研究對象,即分割類別只有葉子一類,并沒有實現植物莖葉的分割,也沒有實現針對植物全生長周期的通用性分割模型。隨著植物的生長,植物的自遮擋問題越來越嚴重,導致植物表型測量更加困難。Mask-RCNN[23]是專門進行實例分割的深度學習算法,能同時實現多目標檢測和實例分割。因此本文擬采用Mask-RCNN算法實現植物莖葉的實例分割,然后結合目標檢測結果,以期利用基于多視角圖像的葉子跟蹤算法解決葉片遮擋問題,并能夠計算出葉片數量和葉片面積。
使用CVPPP數據集中常用的A1序列(擬南芥幼苗),該序列有128幅圖像,每幅圖像的分辨率為500像素×530像素。該數據集是擬南芥幼苗的單視角圖像(俯視圖)。
除公共數據集外,本文還使用了自采集的擬南芥、玉米和酸漿屬植物3種植物在不同生長時期的多角度圖像。這些植物生長在自動控制環境(溫室大棚)中,溫度設置在15~20℃之間,并配有輔助燈光照明。自采集設備主要是帶有變焦鏡頭的普通高分辨率數碼相機(佳能Canon 600D型)、三角支架、漫反射補光燈和一個簡易電動轉盤。在拍攝時,相機的擺放位置距離植物0.5~2 m,根據植物形態不同,可采用豎向(肖像模式)或橫向(風景模式)拍攝,確保整個植物位于相機取景框范圍之內。相機鏡頭的水平位置略高于植物,拍攝角度約為45°,鏡頭聚焦點瞄準植物主莖的下部而不是頂部或葉片表面,拍攝開始前鎖定自動變焦開關(禁止自動調焦)。同時,為了提高拍攝圖像的清晰度,減少陰影(通常是由植物自身遮擋引起的),使用了2個漫射照明燈和黑色背景[24],拍攝實際場景如圖1所示,拍攝裝置平面示意圖如圖2所示。在成像過程中,植物臨時從溫室大棚轉移到轉盤上。轉盤勻速順時針轉動,約1.5 r/min,相機采用自動快門連續拍攝模式,從而得到360°全方位視角的植物圖像序列,拍攝圖像編號依次遞增,原始圖像分辨率很高,為2 304像素×3 456像素。植物的整個拍攝過程通常在2~3 min內可以完成。針對植物形態結構的復雜程度,本文選擇間隔3°~6°拍攝1幅圖像,并將原始圖像分辨率降低一半進行實驗,以提高運算性能。實驗由英國阿伯里斯特威斯大學IBERS學院英國國家植物表型組研究中心(NPPC)[25]的成員提供了植物樣本和圖像采集方面的幫助,由中心主任JOHN H D教授提供實驗指導。

圖1 多視角二維圖像拍攝裝置Fig.1 Multi-view 2-D imaging setup

圖2 拍攝裝置示意圖Fig.2 Illustration of imaging setup1.背景 2.照明燈 3.相機 4.計算機 5.轉盤
本文自采集的擬南芥數據包括4個時間序列的圖像,按照擬南芥的生長周期長短依次命名為M1~M4,其中M1數據集圖像是在擬南芥播種后28 d左右拍攝的,M2~M4數據集圖像則是在M1數據采集之后每間隔3~4 d持續追蹤同一株擬南芥生長過程拍攝的。自采集的酸漿屬植物數據集(L1、L2)和玉米數據集(P1、P2)是分別拍攝采集2株酸漿屬植物和2株玉米得到的。本文將擬南芥的M1數據集、玉米的P1數據集和酸漿屬植物的L1數據集作為訓練集,分別為166、60、120幅圖像,樣本圖像如圖3所示。本文為測試模型對植物分割的通用性,將擬南芥的M2~M4數據集、玉米的P2數據集和酸漿屬植物的L2數據集作為測試集,每個測試集各包含10幅圖像。

圖3 標注過程Fig.3 Illustration of labelling process
采用Labelme工具對數據集進行標注。CVPPP數據集的A1序列(擬南芥)有128幅圖像,且分辨率不高,均為500像素×530像素。A1序列中擬南芥是幼苗植株,因此只有葉子1個標注類,標注后的結果如圖3第1行圖像所示。
在自采集的訓練數據集中,擬南芥(M1)、玉米(P1)和酸漿屬植物(L1)3種植物的樣本圖像數量分別為166、60、120幅。由于圖像中擬南芥幼苗體積小,所占圖像面積的比例較小(無用背景區域較多),本文先裁剪出圖像中擬南芥區域后再進行標注,裁剪后圖像分辨率為800像素×380像素。自采集擬南芥數據集與CVPPP數據集的A1序列中標注類別相同,只有葉子1個類,標注后的樣本圖像如圖3第2行所示。由于實驗平臺采用的圖形處理器(Graphics processing unit, GPU)的顯存容量限制, 自采集的玉米和酸漿屬植物圖像需要進一步降低圖像分辨率才能保證訓練實驗正常進行。玉米和酸漿屬植物數據集的圖像分辨率分別被降至600像素×400像素和400像素×600像素。玉米的標注類別分為葉子和莖2類,而酸漿屬植物的標注類別分為莖、葉柄和葉3類, 其中葉柄是指葉子和莖干相連的部分,具體的標注結果如圖3第3行和第4行所示。
1.3.1Mask-RCNN算法基礎框架
Mask-RCNN算法因能精確地保存像素的空間位置以及完成逐像素的掩膜預測,使得最終的模型不僅能夠進行目標檢測和分類,也能進行實例分割,而其他的神經網絡算法(如YOLO、RCNN等)并不能滿足本文的要求,即同時實現目標檢測和實例分割。Mask-RCNN算法的主干網絡通常是采用殘差網絡ResNet101或ResNet50,經過實驗對比,本文決定采用ResNet101。從網絡的底層到高層依次提取出植物圖像的低級特征(邊緣和角等)和高級特征(葉片和莖等),再使用特征金字塔網絡(Feature pyramid networks, FPN)將高級特征傳入底層,使其與低級特征融合,形成特征圖輸入到區域建議網絡(Region proposal networks, RPN)中。RPN通過分布在特征圖中不同尺寸的錨框(anchor)尋找存在目標的區域,形成區域建議框,并且每個建議框有2個輸出,分別是anchor的前景/背景分類和前景邊框。隨后對建議框進行分類并生成掩膜(Mask)和邊界框(BBox)。其中,分類器是對建議框進行具體分類(葉子、莖等類別)和邊框精調,實現目標檢測功能。最后經過1個全卷積網絡(Fully convolutional network, FCN)對建議框進行掩膜生成,完成圖像實例分割,具體的網絡結構如圖4所示。

圖4 Mask-RCNN 結構圖Fig.4 Framework of Mask-RCNN
1.3.2模型訓練
本文的實驗運行環境為安裝Windows 10操作系統的計算機服務器,CPU為Intel E5-2678V3,GPU顯卡為GTX1080Ti。編程語言為Python 3.7,采用Tensorflow 1.12.0和OpenCV 3.4軟件庫。模型訓練時,將學習率設置為0.01,動量默認設置為0.9,batch size設為4,其他參數為默認值。實驗選擇的Mask-RCNN的主干網絡為 ResNet101,訓練階段首先迭代40次用于訓練調整網絡的heads層,然后迭代80次用于從ResNet的階段4開始微調,最后對整個網絡進行調整,迭代40次。每一個訓練總共迭代160次,大約需要訓練8 h。
1.3.3評估方法
本文目的是對植物的莖葉進行較好的分割和分類,即實現目標檢測和實例分割,因此需要采用不同的評價指標分別對模型性能進行評估。針對模型的目標檢測性能,本文采用的評價指標是類別平均精度[26](Mean average precision, mAP0.5),當交并比(IOU)大于等于0.5時精度(AP)定義為AP0.5。對于實例分割部分,本文采用平均交并比(Mean intersection over union, mIOU)進行評價。因此,在目標檢測中,當IOU大于等于0.5時,該預測框檢測正確;當IOU小于0.5時,該預測框檢測錯誤。
遮擋問題是基于圖像的植物表型研究的難點之一,在單一視角采集的植物圖像中,感興趣的表型特征可能因為器官遮擋導致提取困難或提取錯誤。本文針對該問題提出了新思路:利用多視角植物圖像中的特征匹配實現葉子目標的跟蹤,部分解決遮擋導致的葉子識別問題。以本文使用的酸漿屬植物數據集(L1)為例,采用尺度不變特征變換(Scale invariant feature transform, SIFT)[27]算法進行特征點檢測與匹配,利用投票策略和選取最大值的方法,完成時間序列圖像中多葉子目標的動態跟蹤與計數。詳細的跟蹤實現方法描述為:
Input:2幅植物不同角度圖像(原圖像Pt+1和目標圖像Pt+2)
(1)對Pt+1和Pt+2進行特征點檢測和匹配
(3)使用Mask-RCNN模型對Pt+1和Pt+2進行分割
(4)得到Pt+1和Pt+2目標識別框bi(i=0,1,…,n)和bj(j=0,1,…,m)
(5)初始化k=0,i=0,j=0,matches=[]∥k為特征點對序號,i和j分別為Pt+1和Pt+2的識別框下標,matches用于存儲匹配好的實例
(6) ifk≤r
(7) ifj≤mand (xk2,yk2)?bj
(8) ifi≤nand (xk1,yk1)?bi
(9) 將(i,j)保存到matches中
(10) elsei+1 then Goto(9)
(11) elsej+1 then Goto(8)
(12) elsek+1 then Goto(8)
(13)matches集合中每個實例對應關系以少數服從多數原則,確定最后的匹配結果
output:輸出葉子跟蹤后的分割效果圖
針對單視角的CVPPP數據集,本文將其A1序列按照4∶1∶1的比例隨機取樣構建了訓練集、驗證集和測試集[28]。所采用的Mask-RCNN模型在訓練集和驗證集上的實驗耗時約8 h,最終損失率降低至0.092。然后將訓練好的模型在測試集上進行測試,實驗效果良好,精度性能指標mAP0.5和mIOU分別為85.3%和73.4%。某個測試的可視化結果如圖5第1行第3列圖像所示,葉片遮擋對檢測精度有一定影響:對于遮擋較重的2片葉子,模型不能正確地將它們分割為不同的實例對象;而被莖干遮擋分成2部分的同片葉片(遮擋不嚴重),模型識別基本正確,仍將其分類為一個實例對象。由此可以看出,基于單一視角的植物圖像分割受遮擋影響較大且很難解決。

圖5 擬南芥分割可視化結果Fig.5 Visualization results of Arabidopsis segmentation
對于自采集的擬南芥數據集,本文進行了組合對比實驗,即從M1數據集中隨機抽取100幅圖像作為訓練集B,也將訓練集B與CVPPP的A1序列中的80幅圖像混合為1個訓練集C。在這2個訓練集上分別進行實驗,模型訓練精度較高,損失率分別降至0.094和0.090。
為驗證Mask-RCNN算法在植物莖葉分割領域的泛化能力,本文繼續進行對比分析實驗,將以上3個數據集訓練得到的Mask-RCNN模型分別在擬南芥不同生長周期的數據集(A1和M1~M4)上進行分割測試實驗,目標檢測和分割評估結果如表1和表2所示。從表1、2可以得到:①隨著生長周期的延展,擬南芥不斷長出了新葉片,形態變化顯著,整體上分割精度有小幅度的下降,但是mAP0.5基本都大于70.0%,mIOU也基本都在60.0%以上。②如果訓練集中植物樣本類型越多(包含更多生長周期植物圖像),分割和識別精度也將會有所提高。如M4測試集的分割可視化樣本圖像所示,A1序列的訓練模型(圖5c)在測試時存在一片葉片的一部分被重復識別為單個實例,訓練集B訓練出的模型(圖5d)對部分葉片的識別和分割不完全,存在葉片部分邊緣分割缺失,導致分割精度降低,而訓練集C訓練出的模型(圖5e)并沒有出現重復識別的情況,且分割精度較高。

表1 擬南芥在不同時期目標檢測結果(mAP0.5)Tab.1 Target detection results of Arabidopsis in different periods (mAP0.5) %

表2 擬南芥在不同時期的分割評估結果(mIOU)Tab.2 Segmentation results of Arabidopsis in different periods (mIOU) %
玉米和酸漿屬植物屬于多實例分割,其中玉米分為葉子和莖2類,而酸漿屬植物則有葉子、莖干和葉柄3類。本實驗從自采集的玉米(P1)和酸漿屬植物(L1)數據集中分別隨機抽取40幅和72幅圖像作為訓練集,玉米和酸漿屬植物的分割模型在訓練時參數與擬南芥分割模型訓練時的參數設置保持一致,2個模型訓練的最終損失率分別降至0.075和0.083。
與擬南芥的分割模型測試方式相同,本文將訓練好的模型在同一植物不同生長時期進行對比測試,盡管玉米結構相對復雜和葉片扭曲嚴重,酸漿屬植物存在葉片遮擋等問題,但最終2個分割模型測試實驗的評價指標mAP0.5也都達到70.0%。玉米的分割可視化結果如圖6第1行所示。從圖6中可以看出:①玉米葉片細長且存在扭曲,表面紋理差異明顯,導致該葉片可能被錯誤識別成2段。②在玉米的P2時期,mAP0.5仍達到74.4%,但mIOU僅為54.4%,主要原因也在于玉米葉片的扭曲,使得在分割時識別不完全,從而導致分割精度很低。酸漿屬植物的測試結果可視化樣本如圖6第2行所示。可以看出,在L2測試集上,由于酸漿葉之間相互遮擋嚴重,導致實例對象的漏檢,最后的mAP0.5只為70.0%左右,mIOU也只達到58.1%。遮擋問題一直是植物表型研究中的一個重點和難點[11]。

圖6 玉米和酸漿屬植物分割可視化結果Fig.6 Visualization results of maize and physalis segmentation
在植物表型研究中,葉片數目的準確計算和葉面積的無損測量是研究目標之一。本文在完成植物分割基礎上,首先采用分辨率為400像素×600像素的酸漿屬植物圖像進行特征匹配, 但是跟蹤效果較差,只有50%左右的葉片跟蹤正確。通過實驗對比,本文最終采用分辨率為800像素×1 200像素的圖像進行實驗,效果較好,實驗結果如圖7所示。

圖7 在L1數據集上的跟蹤結果Fig.7 Results of leaf tracking on L1 dataset
本實驗輸出可視化圖像結果時,按照拍攝時間的前后順序,t+1時刻圖像與t時刻圖像中同一片葉片對象的掩膜顏色和標簽編號保持一致,便于匹配跟蹤結果的觀測與分析。在實驗中發現,相鄰2幅圖像的間隔角度在3°~6°時跟蹤效果最好。若選取的圖像間隔角度過大,將導致特征點匹配數量降低,大約只有50%的葉子能夠正確匹配。本實驗可視化結果見圖7,由t時刻的結果圖像可以看到,標號為3的葉片由于莖干的遮擋,被錯誤分割成2片葉片(標記為3和8),導致最終的葉片總數暫時被錯誤統計為9片。而在t+2時刻之后的圖像中,因為之前遮擋不復存在,標號8的“葉片”消失,只出現標號3的葉片,說明跟蹤方法有效地進行了糾錯。在全部序列即將結束的t+8和t+9時刻圖像中,標號6和標號3的葉片盡管分別因為遮擋被錯誤分割為2片葉片,但均被跟蹤算法檢測為同一個分類,糾正為1片葉片,葉片總數最終也統計為正確的8片。由此可以看出,雖然也有遮擋,但是可以通過對多視角圖像的葉片跟蹤,從其他角度的圖像中得到葉片的精確數目。
葉片面積是植物學家一直比較關注的植物表型特征之一。由于單視角的2D圖像存在投影變換和遮擋的問題,基于圖像對植物葉面積進行測量的方法難于進行。傳統方法一般采取專門手持的葉面積測量儀器對葉片進行手工測量[29];或者把葉片裁剪下來,平鋪后用相機進行俯視拍攝(正投影),然后用專門的植物圖像處理軟件進行葉面積的計算[30]。傳統方法需要人工介入,較為耗時低效,本文采用酸漿屬植物(L1)的實例分割和葉跟蹤實驗結果,可以簡單便捷地對葉面積進行估測。因為Mask-RCNN是基于像素點的實例分割算法,其輸出結果中邊界框(BBox)和掩膜(Mask)是由包含像素點位置和分類類別的多維數組表示,二值Mask數組用“1”代表該像素屬于分類目標。因此,Mask中的“1”的統計數量就近似對應每片葉片分割區域的像素總數。本文在對序列圖像進行葉子跟蹤的同時,將每片葉片的像素總數按照標簽編號順序依次存儲在一個二維數組中,通過排序對比,提取每片葉片對應的最大像素數量(近似認為最接近正投影角度)。然后對每片葉片的最大像素數量進行等比例換算(還原到原始采集圖像分辨率),即可粗略地估算出葉子的2D投影圖像面積(像素)。通過以上方法,本實驗得到的葉片1~8的投影面積分別為64 812、51 732、244 312、116 619、558 213、541 326、62 482、285 560像素。通過已知的拍攝相機參數(鏡頭焦距、圖像分辨率、CCD物理尺寸等)與固定參照物尺寸(花盆和標定板),可計算出原始圖像中每個像素面積近似對應0.02 mm2,因此換算出葉片1~8的實際物理面積分別約為12.96、10.35、48.86、23.32、111.64、108.27、12.50、57.11 cm2。由于缺少拍攝采集時刻這株酸漿植物葉面積的手工真實測量值(ground truth),目前無法對本文葉片面積估算方法的準確率進行定量分析,有待進一步實驗驗證。
(1)基于Mask-RCNN的實例分割算法對于植物莖葉分割的通用性能好,mAP0.5大部分在70.0%以上,單實例分割的mIOU大多在60.0%以上。
(2)在嚴重遮擋及分割目標較小的情況下,基于Mask-RCNN的實例分割算法的準確性不高,有待進一步提高。
(3)借助多視角時間序列圖像,通過葉片圖像的特征點匹配進行植物葉片跟蹤的方法,在一定程度上能有效解決由遮擋導致的葉片表型參數提取準確率下降的問題。