鐘偉鎮(zhèn),劉鑫磊,楊坤龍,李豐果
(華南師范大學 物理與電信工程學院/物理國家級實驗教學示范中心,廣東 廣州 510006)
不同植物葉片的差異比較大,能夠直接反映植物生長狀態(tài)信息,而且植物葉片容易采摘,因此,常作為植物識別、分類和生長狀態(tài)監(jiān)控的對象進行研究。然而,在自然環(huán)境中獲取植物葉片圖像時,葉片圖像中常常包含復雜的背景和多片相同葉片同時存在的情況。一方面,復雜的背景包含土地、建筑物和與擬識別對象外觀相似的植物等;另一方面,多片目標葉片同時存在且相互重疊,葉片呈現(xiàn)角度不同等情況。這些因素極大增加了目標葉片分割和識別的難度,也直接影響了目標葉片分割和特征提取的準確度和效率。
深度學習由于其精確度高,響應速度快而迅速在葉片分割和識別[1-4],以及病斑提取[5]領域被廣泛使用。許景輝等[6]在VGG-16模型的基礎上設計了新的全連接層,并將該模型應用到玉米的病害識別上,結(jié)果表明,該模型對玉米健康葉、大斑病葉、銹病葉圖像的平均識別準確率為95.33%。賈少鵬等[7]提出了一種CNN與膠囊網(wǎng)絡的組合模型,該模型對番茄灰霉病病害圖像的識別正確率達93.75%。Dyrmann等[8]使用深度卷積神經(jīng)網(wǎng)絡對包括雜草在內(nèi)的22種植物進行分類,該網(wǎng)絡的分類準確度達86.2%。高云等[9]在深度卷積神經(jīng)網(wǎng)絡基礎上建立Pig Net網(wǎng)絡,對群豬圖像進行實例分割,對訓練集和驗證集的分割準確率分別為86.15%和85.40%。馮海林等[10]將Alex Net、VGG Net-16、Inception-V3和ResNet-50四種模型通過相對多數(shù)投票法和加權平均法建立集成的新模型Trees Net,對復雜背景下樹種圖像識別準確率達到99.15%。Mehdipour-Ghazi等[11]通過優(yōu)化轉(zhuǎn)移學習參數(shù),使用深度神經(jīng)網(wǎng)絡進行植物識別,最好的組合系統(tǒng)在驗證集上的總體準確度達到了80%。畢松等[12]提出一種對自然環(huán)境下柑橘進行識別的深度學習模型,該模型在自然環(huán)境下對柑橘的平均識別準確率為86.6%;孫哲等[13]提出一種基于Faster R-CNN的西蘭花幼苗檢測模型,該模型以ResNet101網(wǎng)絡為特征提取網(wǎng)絡,對西蘭花幼苗的平均檢測精度為90.89%。袁銀等[14]利用SGD(隨機梯度下降法)優(yōu)化google Net的深度卷積神經(jīng)網(wǎng)絡,該網(wǎng)絡對50種常規(guī)植物圖像的識別準確率在90%以上。穆龍濤等[15]采用Im-AlexNet為特征提取層的Faster R-CNN目標檢測算法,對復雜環(huán)境下相互遮擋的獼猴桃進行識別,在不同環(huán)境下識別精度為96.00%。綜上所述,在深度學習領域,有關植物葉片的分割與識別已經(jīng)取得不小的成果,但是缺少一種高效的針對植物葉片的種類識別與分割統(tǒng)一模型。Mask Region-based Convolutional Neural Network (Mask-RCNN)是一種通過使用標記好的圖像進行訓練,同時對多個目標進行分割和識別且準確率較高的深度學習框架。本文采用Mask-RCNN對自然狀態(tài)下的包含地面、綠色植物等復雜背景的4種植物的多目標葉片圖像進行像素級別的分割和植物葉片種類的識別,并對分割準確率進行定量分析。這一研究將對復雜背景下植物多目標葉片分割和識別提供算法參考,也為基于植物葉片的植物生長狀態(tài)的監(jiān)控提供算法支持。
采用在華南植物園使用手機拍攝的植物葉片圖像作為訓練樣本,共拍攝了7 357張圖像。由于Mask-RCNN為有監(jiān)督深度學習網(wǎng)絡,因此需對訓練圖像進行標注,共標注了3 000張植物葉片圖像作為訓練數(shù)據(jù)。這3 000張圖像共包含4種植物,分別為孔雀竹芋(Calatheamakoyana)、珊瑚樹(Viburnumodoratissinum)、洋常春藤(HederahelixL.)和黃花羊蹄甲(Bauhiniatomentosa),這4種植物在形狀或顏色上有較大差異,便于區(qū)分。
A,孔雀竹芋;B,珊瑚樹;C,洋常春藤;D,黃花羊蹄甲。A,Calathea makoyana;B,Viburnum odoratissinum;C,Hedera helix L.;D,Bauhinia tomentosa.圖1 葉片樣本標注示意圖Fig.1 Schematic diagrams of the leaf sample labeling
由于顯卡內(nèi)存限制,需對圖像進行一定比例的縮小后進行標注,縮小后的圖像像素大小不超過850×850,相應地訓練所需顯卡內(nèi)存不超過8 GB。圖1所示為葉片樣本的標注,選擇圖像中葉片面積最大且葉片完整的1片或者2片葉片(具體以圖像中實際完整葉片數(shù)目來選擇,有1個就選擇1個,有多個就選擇多個)作為目標葉片,使用標注軟件labelme將4種植物葉片圖像中目標葉片的邊緣輪廓使用標注點標注出來,并使用不同標注標簽即葉片英文名進行分類。所有的標注信息如標注標簽、標注點坐標等將會保存到與原圖像對應的json文件中。
使用labelme打開原圖像和對應json文件即可看到圖1所示圖像,標注點將圖像分為2部分,標注點內(nèi)部為不同種類的目標葉片,其余為背景;但標注的標簽信息不會在圖像中顯示,只能在labelme的其他視圖中看到;因此,將標注后的json文件轉(zhuǎn)化為可視圖像,結(jié)果如圖2所示。樣本圖像中的不同目標葉片將會用不同顏色的掩膜覆蓋,并在右下角顯示出標記的標簽。此時每張圖像對應的json文件只包含對應的原圖像標注信息,將所有標注圖像的json文件合成1個包含所有標注圖像標注信息的json文件,轉(zhuǎn)換成coco數(shù)據(jù)集輸入到網(wǎng)絡中進行訓練。
A,孔雀竹芋;B,珊瑚樹;C,洋常春藤;D,黃花羊蹄甲。A,Calathea makoyana;B,Viburnum odoratissinum;C,Hedera helix L.;D,Bauhinia tomentosa.圖2 標注后的葉片圖像樣本Fig.2 Labelled leaf samples
1.3.1 Mask-RCNN基本框架
Mask-RCNN可分為4個主要的結(jié)構:主干架構(Backbone)、區(qū)域候選網(wǎng)絡(RPN)、興趣區(qū)域(ROI)分類器和邊框回歸器、分割掩膜(Mask)生成網(wǎng)絡。Mask-RCNN的主干架構通常會利用1種或2種常用的卷積神經(jīng)網(wǎng)絡對訓練圖像進行特征提取,這是整個Mask-RCNN的基礎部分,不同的深度學習網(wǎng)絡對不同物體的特征提取效果不一,在進行遷移時要選取合適的深度學習網(wǎng)絡作為主干網(wǎng)絡,在使用相同數(shù)據(jù)進行訓練時,使用ResNet101比ResNet50等網(wǎng)絡精度更高[16]。
本文采用ResNet101與FPN相結(jié)合作為主干架構對植物葉片圖像進行特征提取,其中ResNet101是一個共有101次卷積的卷積神經(jīng)網(wǎng)絡,可以依次提取出低級特征(邊緣、角點等)和高級特征(葉片、花朵、地面等),形成5層不同大小和維度的特征圖(feature maps),如果只使用ResNet101網(wǎng)絡的最后一層特征圖作為該網(wǎng)絡的輸出,由于其分辨率比較低,難以檢測出比較小的葉片特征:因此,使用FPN網(wǎng)絡將底層到高層的特征圖進行融合,充分利用ResNet 101網(wǎng)絡各層提取到的特征,將主干架構提取得到的特征圖輸入到區(qū)域候選網(wǎng)絡。區(qū)域候選網(wǎng)絡是一個典型的二分類網(wǎng)絡,其作用是將圖像分為目標葉片與背景2個類別,并將植物葉片以盡量貼合葉片大小的方框分別框選出來,此時只能區(qū)分出包含目標葉片的大概區(qū)域與背景,無法對目標葉片進行細致的物種分類和葉片分割。經(jīng)過區(qū)域候選網(wǎng)絡可以得到1個或多個必然包含目標葉片的區(qū)域,該區(qū)域?qū)⒈惠斎隦OIAlign中池化為固定大小的特征圖,再分別輸入到2個分支中。其中1個分支網(wǎng)絡通過興趣區(qū)域(ROI)分類器和邊框回歸器來進行目標葉片識別,興趣區(qū)域(ROI)分類器和邊框回歸器均由1個全連接層構成,1個全連接層作為興趣區(qū)域(ROI)分類器將興趣區(qū)域分類為具體的植物類別,另一個全連接層則作為邊框回歸器調(diào)整興趣區(qū)域的中心點位置和長寬比,以求更精準地檢測到目標葉片。另一個分支網(wǎng)絡則是由全卷積網(wǎng)絡(fully convolutional networks,F(xiàn)CN)構成的分割掩膜(Mask)生成網(wǎng)絡,該網(wǎng)絡會產(chǎn)生與目標葉片大小、形狀一致的掩膜對目標葉片圖像進行分割。最終將識別與結(jié)果相結(jié)合,得到1張包含目標葉片類別和與目標葉片大小、形狀一致的分割掩膜的圖像。
1.3.2 模型參數(shù)
本文使用Ubuntu 16.04操作系統(tǒng),服務器使用顯卡為NVIDIA Tesla P4,顯存為8 GB。使用Mask-RCNN-fpn-resnet101做預訓練模型。2組參數(shù)組合對最終選擇的參數(shù)組合進行多次實驗進行比較:(1)取max epoch為12,初始學習率設置為0.01,動量默認設置為0.9,實驗表明,網(wǎng)絡會誤識別不屬于本文所需分析的4種植物葉片,即網(wǎng)絡欠擬合,模型復雜度較低;(2)取max epoch為24,初始學習率設置為0.02,動量默認設置為0.9,結(jié)果表明,網(wǎng)絡會誤識別4種植物種類,即網(wǎng)絡過擬合,泛化能力較差。
本文最終選擇分割效果最好的參數(shù)組合,即:
圖3 Mask-RCNN的結(jié)構圖Fig.3 Architecture of Mask-RCNN
max epoch為24,采用帶動量的梯度下降優(yōu)化算法,初始學習率設置為0.01,動量默認設置為0.9。訓練需要運行時間大約11 h,訓練完成后分割需要幾秒鐘。圖4是本文在上述參數(shù)下網(wǎng)絡訓練的損失與精準度收斂曲線圖,可以看出,loss(損失)在0.04附近收斂,accuracy(精準度)在0.99附近收斂。說明網(wǎng)絡達到了很好的擬合效果。
圖4 Mask-RCNN的訓練結(jié)果收斂曲線圖Fig.4 Convergence curve of training results of Mask-RCNN
1.3.3 錯分率計算
為了對分割效果進行定量評價,選擇以人工在Photoshop軟件中摳出的目標葉片作為評價基準,使用錯分率針對本文算法對目標葉片分割的準確率進行評價。本文將圖像中的點定義為4種情況:算法分割的結(jié)果與手動分割的結(jié)果相比較,將分割正確的目標葉片上的點稱為正確的目標(true positive),將目標葉片上的點判斷成了背景的點稱為錯誤的目標(false positive),將分割正確的背景上的點稱為正確的背景(true negative),將背景上的點判斷成了目標葉片上的點稱為錯誤的背景(false negative)。因此,定義了相關的4種錯分率計算方式。第1種是將背景誤分割為目標的點即錯誤背景點占算法分割出來的目標點的比例,稱為錯誤背景率(false negative rate,F(xiàn)NR);第2種是將目標誤分割為背景的點即錯誤目標點占算法分割出來的背景點的比例,稱為錯誤目標率(false positive rate,F(xiàn)PR);第3種為所有誤分割的點占整個圖像的比例,稱為圖像錯分率(error rate,ER);第4種為所有誤分割的點占實際葉片的比例,稱為葉片錯分率(error rate for object,ERO)。
目標葉片指的是在圖像中面積較大且較為完整的葉片。圖5中展示了有2個目標葉片的樣本圖像原圖和分割后的圖像。圖5-A為原圖,可以看到圖像中有2個目標葉片;圖5-B為原圖輸入訓練好的Mask-RCNN后輸出的結(jié)果圖,圖中的2個目標葉片分別被不同顏色的掩膜覆蓋并各自處于1個獨立的綠色方框中,將圖5-B的方框部分放大得到圖5-E和5-F,框選出目標葉片的綠色方框左上角的內(nèi)容是該框內(nèi)目標葉片的預測標簽和分數(shù),即該框中的目標葉片的植物分類和目標葉片屬于該植物類別的概率。本次分割實驗包含2個類型,即黃花羊蹄甲和背景,所以顯示的標簽都是“Bauhiniatomentosa”,概率分別為0.90和0.99。將圖5-B中覆蓋目標葉片的掩膜提取出來得到圖5-C,將圖5-C與利用PS摳出的目標葉片圖像5-D進行比較,計算錯分率。
為了驗證算法的可靠性,選擇了4種植物葉片圖像共80個樣本,利用Mask-RCNN進行分割,再進行識別統(tǒng)計和錯分率分析,這80個樣本中共含有125片葉片。圖6所示為80張樣本中部分圖像的原圖、分割效果圖、相應的掩膜和手動分割效果圖。
A,原圖;B,實驗結(jié)果圖;C,掩膜;D,PS摳圖;E,目標葉片1,F(xiàn),目標葉片2。A,Original image;B,Experimental result;C,Mask;D,Segmented image by Photoshop;E,Target blade 1;F,Target blade 2.圖5 原圖與分割后的圖像樣本Fig.5 Original image and segmented image sample
從左到右依次為原圖、分割效果圖、掩膜、PS摳圖。From the left to right were original image,segmentation diagram,mask and segmented image by photoshop,respectively.圖6 部分測試樣本實驗結(jié)果示意圖Fig.6 Schematic diagram of the experimental results of part of integrant test samples
統(tǒng)計結(jié)果顯示,Mask-RCNN對于所有樣本的其余125個葉片全部識別正確,且保持較高的識別概率,識別效果較好。為了對分割結(jié)果的準確性進行定量分析,采用以Photoshop手動摳圖的葉片為基準,計算錯分率,錯分率計算結(jié)果如圖7所示。80個樣本的錯誤背景率(FNR)和錯誤目標率(FPR)最高不超過2.72%和3.15%,說明將背景誤分割為目標和將目標誤分割為背景的概率較低,對于背景和目標有較好的分類。樣本的圖像錯分率(ER)最高不超過2.49%,平均圖像錯分率為0.93%。樣本的葉片錯分率(ERO)平均值為4.79%。其中,圖像錯分率(ER)為圖像分割領域通用指標。綜合以上計算結(jié)果,說明Mask-RCNN對復雜背景下植物葉片有較好的分割效果。
圖7 測試樣本的錯分率Fig.7 Error rate of test samples
使用Mask-RCNN深度學習網(wǎng)絡對復雜背景下的4種植物(孔雀竹芋、珊瑚樹、洋常春藤和黃花羊蹄甲)進行了目標識別和圖像分割。共拍攝了7 357張圖像,標注了4種植物的3 000張葉片圖像作為數(shù)據(jù)庫,并輸入Mask-RCNN深度學習網(wǎng)絡進行訓練,訓練后識別和分割了80個樣本,并對其中80個樣本進行了識別統(tǒng)計和錯分率分析。結(jié)果表明:Mask-RCNN深度學習網(wǎng)絡對這4種植物的識別效果較好,未出現(xiàn)識別錯誤的情況;分割的平均圖像錯分率為0.93%,最大值不超過2.49%,即分割準確率達97.51%。說明Mask-RCNN可以對在自然環(huán)境下獲得的存在復雜背景和光照不均等情況的植物圖像進行較為準確的分割和識別,具有良好的遷移性。誠然,對于自然生長狀態(tài)的植物利用葉片進行識別和監(jiān)控時,由于拍攝葉片圖像時極其容易受到光照、拍攝角度等因素的影響,同時背景極具偶然性,這些因素給分割和識別目標葉片帶來了困難,需要進一步研究。