趙春江,文朝武,林 森,郭文忠,龍潔花
·農(nóng)業(yè)信息與電氣技術·
基于級聯(lián)卷積神經(jīng)網(wǎng)絡的番茄花期識別檢測方法
趙春江1,2,文朝武1,2,林 森2※,郭文忠2,龍潔花1,2
(1. 上海海洋大學信息學院,上海 201306;2. 北京農(nóng)業(yè)智能裝備技術研究中心,北京 100097;)
對作物花期狀態(tài)的準確識別是溫室作物授粉的前提。為提高花期識別的準確率,該研究以溫室番茄為例,提出一種基于級聯(lián)卷積神經(jīng)網(wǎng)絡的番茄花期識別檢測方法。首先采用改進的基于特征金字塔花束提取神經(jīng)網(wǎng)絡(FlowerExtraction Feature Pyramid Networks, FE-FPN)實現(xiàn)番茄花束的局部區(qū)域提取,并采用Prim最小生成樹對提取的花束區(qū)域圖像進行識別優(yōu)先級排序,然后按序?qū)⑵漭斎氲礁倪M的Yolov3網(wǎng)絡,實現(xiàn)番茄花朵不同花期的精準辨識檢測。在包含4類花期、共1 600幅樣本的番茄花束圖像數(shù)據(jù)集上進行試驗驗證,本文方法對番茄不同花期的檢測性能較好,平均檢測精度達到了82.79%,平均單張檢測時間為12.54 ms,各花期檢測精度為花蕾期85.71%、全開期95.46%、謝花期62.66%、初果期88.34%;相比Mask R-CNN和空間金字塔池化網(wǎng)絡(Spatial Pyramid Pooling Networks, SPP-Net),平均檢測精度提高了3.67和2.39個百分點,而且識別錯誤率比基礎Yolov3網(wǎng)絡降低了1.25個百分點。最后,將本文所提方法部署到大型玻璃溫室環(huán)境下番茄授粉機器人上進行實際驗證,識別準確率為76.67%,除去漏提取花束準確率達85.18%。研究結果可為設施番茄授粉機器人的精準作業(yè)提供重要依據(jù)。
識別;級聯(lián)神經(jīng)網(wǎng)絡;小目標檢測;授粉機器人
番茄是設施栽培蔬菜的主要種類之一,也是典型的自花授粉植物,在自然栽培環(huán)境中可以通過自然風、昆蟲等媒介完成授粉過程。但是在設施栽培過程中,由于溫室的密閉性、缺乏自然風和昆蟲的活動等原因,番茄常常授粉不良,造成落花、落果、畸形果等現(xiàn)象普遍發(fā)生[1]。目前,人工授粉方法存在主觀性強、工作效率低、勞動強度大等問題,且激素處理不當容易引起激素殘留或產(chǎn)生畸形果[2]。而授粉機器人則可以有效降低田間作業(yè)勞動量,提高番茄產(chǎn)量和品質(zhì)[3],但現(xiàn)有授粉機器人大多處于試驗或理論階段,對番茄花束的區(qū)域提取和花期精準識別是制約番茄授粉機器人應用的關鍵環(huán)節(jié)。
近年來,對于番茄花朵的識別問題,使用基于深度學習的花朵分類方法最為廣泛,該類方法是使用含有多層堆疊結構的卷積神經(jīng)網(wǎng)絡對花朵顏色、形狀和外觀特征進行識別,以獲得更好的識別效果[4-8]。Oppenheim等[9]提出一種基于機器視覺的溫室番茄花朵檢測算法,在生長環(huán)境復雜、不同光照和花朵大小不同的條件下實現(xiàn)了溫室內(nèi)番茄黃花計數(shù),該方法雖然利用溫室無人機近距離實現(xiàn)了全開期黃花的識別,但并未解決同一花束中各個花期的分類問題。Yuan等[10]將一種抗日照波動的魯棒色彩和亮度補償方法設計在機器視覺系統(tǒng)的番茄花檢測研究中,采用掃描策略在不同的光照變換情況下,根據(jù)色差和攝像機性能關系對攝像機參數(shù)進行自適應調(diào)整,以獲得最佳番茄花色效果,提高識別算法在不同光照條件下的識別要求,該方法從光學相機出發(fā)解決識別模型的光照變化問題,并沒有增加模型訓練的魯棒性。Tian等[11]提出了一種將SSD深度學習技術引入到花卉檢測與識別領域的方法,在牛津大學出版的花卉數(shù)據(jù)集上進行訓練和測試,該方法在VOC2007上平均準確率為83.64%,VOC2012上平均準確率為87.4%,并引入視頻流的方案解決了對2個或多個目標花卉的檢測,但其識別準確率和時間效率上有待提高。鄧穎等[12]提出一種基于實例分割的柑橘花朵識別及花量統(tǒng)計方法,以花期的柑橘樹冠圖像為樣本進行花朵實例的識別及分割,通過對Mask R-CNN主體卷積部分和掩模分支部分的優(yōu)化,實現(xiàn)對復雜結構圖像中密集柑橘花朵的高效檢測、計算圖像中可見花朵的數(shù)量,該方法初步實現(xiàn)了柑橘植株局部花朵的識別,但其檢測環(huán)境要求配置較高,且識別誤差率還有待優(yōu)化。林君宇等[13]提出應用卷積神經(jīng)網(wǎng)絡識別花卉及其病癥,該方法提供一種多輸入卷積神經(jīng)網(wǎng)絡模型來提高訓練速度,結合網(wǎng)絡多輸入和遷移學習方法,設計并實現(xiàn)基于卷積神經(jīng)網(wǎng)絡的分類模型,集成為花卉分類-病癥識別一體化工具,對花卉的病癥識別準確率達到88.2%,相比基于支持向量機的分類模型,準確率高出至少27.0%,該方法使用多輸入網(wǎng)絡提高識別準確率,但只能識別近距離大目標花卉,沒有實現(xiàn)小目標花朵識別問題。
國內(nèi)外研究大多針對花朵進行識別[14-18],同時對花束區(qū)域進行提取和花期識別的研究較少。本文研究的番茄授粉機器人授粉對象為整個花束區(qū)域,需要對花束區(qū)域進行提取,并對該花束中各花期花朵進行精準識別。由于番茄花朵生長環(huán)境為非結構化環(huán)境[19],花朵呈現(xiàn)小目標和多目標分布,一個植株往往含有多個花束,且同一花束中存在不同花期的花朵等特點;傳統(tǒng)的卷積神經(jīng)網(wǎng)絡通常采用單一的網(wǎng)絡結構進行特征提取,不能同時對花束區(qū)域和花期信息同時進行提取,導致提取的花朵特征信息不夠充分,網(wǎng)絡的識別精度不高[20-21]。針對這些問題,本文提出一種將兩級神經(jīng)網(wǎng)絡級聯(lián)的方法,以期實現(xiàn)番茄花束區(qū)域的提取和花束中花期的精準識別,并計算全開期花朵在該花束中的占比,作為番茄授粉機器人精準作業(yè)的關鍵決策,為番茄授粉機器人的精準作業(yè)探索一種新的識別方法。
本文試驗在全國蔬菜質(zhì)量標準中心(山東壽光)科技示范推廣基地進行,為研究算法的工程適用性,將試驗環(huán)境設立在大型玻璃溫室內(nèi),試驗番茄品種為迪諾番茄。番茄花期包含花蕾期、全開期、謝花期和初果期4個花期,其中花朵全開期是最佳授粉時期[22]。因此,對全開期花朵的精準識別是成功授粉的關鍵,若花束中沒有全開期花朵,則無需授粉。本試驗選取含有多種花期的番茄花朵作為研究對象。
玻璃溫室環(huán)境下番茄花朵識別試驗存在遠目標、光線易變、曝光和背景噪聲干擾等問題,在進行試驗前期首先對圖像數(shù)據(jù)進行優(yōu)化,通過補光和遮陽等辦法增強模型的魯棒性。
本文使用由國家農(nóng)業(yè)智能裝備工程技術研究中心自主研發(fā)的番茄授粉機器人(圖1)進行樣本采集。采集相機為圖漾科技的FM810-IX-A 3D高清相機,分辨率為1 280×960,測量精度為2 mm。機器人核心控制器配置為I7-4700MQ 2.4GCPU、8G DDR3L內(nèi)存和500G固態(tài)硬盤。
圖1 番茄授粉機器人
本文網(wǎng)絡訓練使用的硬件配置為:Intel? Xeon(R) CPU 2.5G Hz中央處理器,64GB運行內(nèi)存,1T硬盤,1個12GB GeForce GTX 2080ti GPU和1個12GB GeForce GTX 1080ti GPU。算法試驗環(huán)境為Ubuntu16.04系統(tǒng),使用Python和C++語言編寫網(wǎng)絡訓練、測試和應用程序。
本文試驗采用番茄授粉機器人采集試驗樣本,分別在早8:00、中12:00和晚18:00 這3個時段對樣本進行采集,為避免花朵遮擋問題,本文在圖像采集過程中使用相機旋轉(zhuǎn)對同一植株進行不同角度拍攝。
本文試驗樣本集共1 600張圖像,按12:3:1比例用于級聯(lián)網(wǎng)絡訓練、測試和驗證。并根據(jù)當前天氣狀況對早8:00時、中午12:00時和晚上18:00時采集的圖像進行曝光調(diào)節(jié),試驗花朵拍攝樣例如圖2所示。
圖2 不同時間和不同天氣采集的番茄花樣例
樣本采集設定晴天、陰天和多云天氣采集圖像比為5:4:6,如表1,中午受太陽光照的影響,適當增加中午圖像樣本數(shù)量,增強網(wǎng)絡模型的魯棒性。試驗使用labelimg對目標花束和花束中各個花期花朵進行人工標注,花朵總數(shù)12 036個,其中全開期7 603個,初果期1 611個,花蕾期2 012個,謝花期810個。
表1 不同時間段番茄花朵圖像樣本采集數(shù)量
基于番茄花朵小目標且多密集分布的特點,本文將改進的基于特征金字塔的花束提取網(wǎng)絡(Flower Extraction-FPN,F(xiàn)E-FPN)與改進的多尺度多輸入卷積神經(jīng)網(wǎng)絡(Yolov3)進行級聯(lián),提出一種復雜環(huán)境下番茄花期精準識別方法。兩級網(wǎng)絡逐次進行特征提取,通過第一級網(wǎng)絡對花束進行區(qū)域提取,第二級網(wǎng)絡有序的對花束中各花期花朵進行精準識別,具體步驟為:1)采用改進的融合特征金字塔網(wǎng)絡FE-FPN實現(xiàn)番茄花束區(qū)域提取,標記全部花束的像素區(qū)域;2)采用Prim最小生成樹原則對提取的花束圖像進行花期識別優(yōu)先級排序;3)有序地將花束圖像傳入多尺度輸入Yolov3網(wǎng)絡,對番茄花朵的花期進行細精準識別,并統(tǒng)計全開期花朵在該花束中的占比。
2.1.1 花束局部區(qū)域提取
區(qū)域提取是根據(jù)特定的特征把圖像分成若干個區(qū)域并提取出感興趣目標的技術和過程,常用的基于邊緣檢測圖像提取算法不受光照變化的影響,以圖像的對比度和邊界特征為基礎進行區(qū)域提取,但由于番茄花朵目標小、所處環(huán)境復雜、噪聲大的特點,該算法需要提前人工干預,而且算法相對復雜,計算量大,識別時間長[23-24],在番茄授粉機器人上不具備實用性。本文使用基于特征編碼的區(qū)域提取算法[25-26]實現(xiàn)番茄花束的局部區(qū)域提取。
FPN[27]是在ResNet50 架構下的特征金字塔網(wǎng)絡,該網(wǎng)絡通過bottom-up和top-down的方法實現(xiàn)目標檢測,具有較強的語義特征。本文使用FE-FPN網(wǎng)絡對番茄花束信息進行特征提取、特征融合和多尺度預測輸出。在FPN網(wǎng)絡基礎上增加輸出的Feature map上采樣到原圖分辨率功能,以實現(xiàn)對花束的目標區(qū)域提取,并標記出各花束在原始圖像中的幾何中心像素位置,進一步計算每個花束優(yōu)先順序的權重因子。
如圖3,本文在FE-FPN中每個融合特征圖上都連接一個RPN(Region Proposal Network)網(wǎng)絡,用于生成多尺度候選框,然后將生成的候選框集合并進行分配,以實現(xiàn)目標花束的多尺度預測,并在檢測到的目標花束上生成預測框,改進網(wǎng)絡輸出結構,將預測框內(nèi)花束區(qū)域圖像區(qū)域裁剪,作為花束有效授粉區(qū)域,并將其尺寸調(diào)整為416×416×3、208×208×3和104×104×3,為第二級聯(lián)神經(jīng)網(wǎng)絡提供多尺度輸入。
注:RPN為區(qū)域生成網(wǎng)絡;Bottom-up、Top-down代表自下而上和自上而下的網(wǎng)絡結構;FSa與FSb代表提取的花束區(qū)域。
2.1.2 基于Prim的花期識別優(yōu)先級排序
一張番茄花朵原圖中通常含有多個花束,對提取后的各個花束進行優(yōu)先級排序不僅可以提高授粉速率,還能節(jié)省資源。在FE-FPN對番茄花束區(qū)域圖像提取后,本文使用最小生成樹Prim算法[28]對原圖中各花束區(qū)域圖像進行優(yōu)先級排序,并根據(jù)最短路徑原則將花束圖像有序傳入Yolov3網(wǎng)絡實現(xiàn)花期精準識別。
由圖4,設花束的帶權無向圖為<,>,其中為花束坐標點,為權重?;ㄊ崛膱D像左上角開始,每提取出1個花束后,計算該花束中心像素點到其余花束中心點的像素距離為權重因子,由式(2)計算。
式中,、分別為花束中心兩像素點之間橫、縱坐標值。
注:是兩花束之間像素距離權重值,下標表示兩相鄰花束。
Note:is the pixel distance weight value between the two bouquets, and the subscript means connected bouquets.
圖4 花束的帶權無向圖
Fig.4 Weighted undirected graph of bouquet
權重排序從花束A出發(fā),計算花束A到花束B、花束C、花束D的最小權值點為第一條路徑;接下來計算下一個目標點的最小權值花束(即最短路徑),最終以最小生成樹的形式遍歷整個圖像中各花束的位置。
2.1.3 改進的Yolov3網(wǎng)絡模型
Yolov3 是2018年由Redmon[29]提出的,該算法在機器視覺圖像檢測和目標分類方面有很大的性能提高。Yolov3在Yolo(You only look once)原有的基礎上,利用Darknet 53卷積神經(jīng)網(wǎng)絡進行目標特征提取,增加Yolo預測框,采用3種尺度張量信息預測輸出,在目標大小不一和部分遮擋情況下都具有很好的檢測效果,利用隨機多尺度增強了算法的魯棒性。
Darknet 53 網(wǎng)絡為全卷積神經(jīng)網(wǎng)絡,主要包含卷積層、批量標準化層和全連接層,使用Leaky ReLU激活函數(shù)進行信息映射[30],但只能輸入單一尺寸的原始圖像,在特征提取過程種只能進行片面提取。本案例中花蕾與植株莖稈和花萼顏色、形狀特征具有相似性,原Darknet 53無法準確進行特征提??;本研究將Darknet 53輸入更改為多輸入網(wǎng)絡,增加特征信息的冗余,以提高對番茄花期的檢測質(zhì)量。修改Darknet 53 結構以適應不同尺度輸入網(wǎng)絡結構(如圖4)。激活函數(shù)采用Leaky ReLU,卷積操作后將激活函數(shù)輸出的結果映射到Res1和Res2結構。Yolov3除DBL結構外,還由Res結構組成,其中為Res塊中含有Res unit的數(shù)量,Res結構包含零填充與殘差結構。
由圖5所示,改進的多尺度輸入網(wǎng)絡將416×416×3大小的花束圖像傳入網(wǎng)絡第一輸入口,Conv1按32×3×3尺度進行卷積操作,卷積核步長為1,接著進行第二次Conv2 64×3×3/2卷積得到208×208×64的特征圖,第二輸入口將208×208×3的圖像與該特征圖進行拼接操作(concat),之后將該特征圖208×208×67傳入Res1操,之后在Conv5 128×3×3/2卷積層卷積后輸出104×104×64大小的特征圖,最后輸入104×104×3的花束圖像進行拼接后傳入Res2中,進行Res8 等剩余的操作。
注:Conv代表卷積層,數(shù)字代表層次,Res Blo代表殘差塊。下同。
本文將花束區(qū)域提取網(wǎng)絡與小目標檢測網(wǎng)絡進行級聯(lián),提出一種溫室環(huán)境下的番茄花期精準識別方法。試驗首先對相機采集的原始圖像進行曝光度調(diào)節(jié)、去噪等預處理,將處理后的圖像傳入第一級FE-FPN網(wǎng)絡,對圖像中存在的目標花束區(qū)域多尺度預測,通過上采樣方案對預測特征進行多尺度預測得到花束FS圖像,F(xiàn)Sa1、FSa2、FSa3分別是同一花束提取出的416×416×3、208×208×3和104×104×3各尺度像素圖。使用最小生成樹prim算法對提取的多個花束FS圖像進行識別優(yōu)先級排序,將各尺度花束FS圖像放入對應的張量中,然后將張量(vector)按照對應的尺度傳入第二級網(wǎng)絡Yolov3中,對番茄花朵花蕾期、全開期、謝花期和初果期進行精準識別。最后計算同一花束中全開期花朵的數(shù)量和占比。番茄花朵識別架構如圖6所示。
注:圖中FSa與FSb為提取的花束區(qū)域,其數(shù)字1,2,3為不同尺度花束圖。
由圖6番茄花朵識別架構可知,本文使用的級聯(lián)卷積神經(jīng)網(wǎng)絡為串行網(wǎng)絡結構,即第二級網(wǎng)絡的輸入完全依賴第一級聯(lián)網(wǎng)絡的輸出,第一級聯(lián)網(wǎng)絡提取效果又直接影響第二級網(wǎng)絡識別精度。本文首先人工對原始圖像中花束和花朵進行標注,采用分步訓練的方式分別對第一級聯(lián)網(wǎng)絡和第二級聯(lián)網(wǎng)絡進行訓練。兩級網(wǎng)絡均使用從頭進行獨立模型訓練,各項訓練參數(shù)設置為:FE-FPN網(wǎng)絡訓練進行10 000次迭代,權值衰減速率為0.001,訓練批量為1,動量為0.9,初始學習率為10-5。由圖7a的 FE-FPN訓練損失曲線可以看出,F(xiàn)E-FPN訓練過程中在0~2 000次內(nèi)下降速度較快,訓練迭代為5 000次左右開始收斂,并達到擬合狀態(tài)。
Yolov3進行20 020次迭代,批量大小為64,動量為0.9,權值衰減為0.005,初始學習率為10-3。圖7b為改進后的Yolov3訓練損失曲線,在訓練迭代次數(shù)為10 000次左右開始收斂,到16 000 次到達平緩狀態(tài),即擬合狀態(tài)。
圖7 級聯(lián)神經(jīng)網(wǎng)絡獨立訓練損失曲線
為驗證各級網(wǎng)絡的性能,本文采用2種評估指標分別對第一級網(wǎng)絡和第二級網(wǎng)絡模型進行評估。
2.4.1花束區(qū)域提取算法指標
使用手工提取出理想花束,然后將手工提取結果和算法提取結果進行對比[31],以相似度ESim(Extract Similarity)、正確率Acc(Accuracy)、過提取率OER(Over Extraction Rate)、漏提取率MER(Missed Extraction Rate)評價各算法對番茄花束的提取質(zhì)量。當算法提取的區(qū)域大于實際提取區(qū)域,或者將一個區(qū)域劃分為2個或2個以上的,稱為過提??;反之,算法提取區(qū)域小于實際提取區(qū)域叫做漏提取。根據(jù)式(3)~(6)計算番茄花束提取結果的評價指標。
2.4.2 識別算法指標
在識別性能評價指標上,本文選用包括均值平均檢測精度AP、各花期類別的檢測精度P、準確率,檢測時間r、錯誤率r、召回率、交并比OU。錯誤率r=100%;交并比OU是預測框和真實框的交集和并集的比值,表示番茄花朵的定位精度。AP是計算花蕾期、全開期、謝花期和初果期各項P的平均值;P是準確率在召回率R上的積分,一般P值越高,模型性能越好。計算公式如下:
式中TP為實際為正樣本且被檢測為正樣本的數(shù)量,F(xiàn)P為實際為負樣本且被檢測為正樣本的數(shù)量,F(xiàn)N是實際為正樣本且被檢測為負樣本的數(shù)量,c是類別總數(shù)(c=4),k為類別編號(k=1,2…);J為平均精度函數(shù),即類別號為k的精確率P與召回率R所構成P-R曲線的面積。