岑冠軍 華俊達 潘怡穎 劉大河 蘇貝貝 鐘政 張連寬 高燕



摘? 要:為實現(xiàn)果樹產(chǎn)量的智能評估,本研究對自然環(huán)境下的圣心芒果樹圖像進行果實識別研究,提出基于深度學(xué)習(xí)算法的芒果圖像在線識別計數(shù)方法。首先,采用Faster R-CNN深度學(xué)習(xí)模型構(gòu)建芒果圖像識別算法;接著基于微信小程序與網(wǎng)頁平臺開發(fā)芒果圖像上傳模塊,實現(xiàn)隨時隨地上傳芒果圖像至服務(wù)器;然后采用基于TCP協(xié)議的服務(wù)器客戶端通信模式,并結(jié)合基于MATLAB平臺的Faster R-CNN程序集,構(gòu)建上傳圖像的在線分析模塊,實現(xiàn)線上芒果圖像的實時識別與計數(shù);最終,芒果圖像的識別與計數(shù)結(jié)果通過微信小程序和Web頁面程序反饋給用戶,內(nèi)容包括單張圖片和1個果園區(qū)域內(nèi)所有圖片的識別與計數(shù)結(jié)果,并實現(xiàn)青色芒果和紅色芒果的分類統(tǒng)計。應(yīng)用本研究構(gòu)建的在線深度學(xué)習(xí)識別計數(shù)方法,在自然環(huán)境下采集125幅芒果圖像進行測試試驗。結(jié)果表明:芒果圖像識別算法的計數(shù)識別準確率達到82.3%,其中漏檢率與誤檢率分別為11.7%和8.6%,平均計數(shù)誤差與計數(shù)誤差率分別為4.2和7.9%;芒果圖像在線識別計數(shù)方法能有效實現(xiàn)果樹圖像的采集、上傳、識別與計數(shù)、分類統(tǒng)計和結(jié)果反饋,對整個果園區(qū)域內(nèi)結(jié)果數(shù)量進行統(tǒng)計與分析,為果園的智慧管理提供科學(xué)決策依據(jù)。
關(guān)鍵詞:芒果圖像;識別與計數(shù);Faster-RCNN;在線方法
中圖分類號:S667.7;TP391.41? ? ? 文獻標識碼:A
Online Recognition and Counting with Deep Learning for Mango
Images
CEN Guanjun1, HUA Junda1, PAN Yiying1, LIU Dahe1, SU Beibei1, ZHONG Zheng1, ZHANG Liankuan1*, GAO Yan2*
1. College of Mathematics and Informatics, South China Agricultural University, Guangzhou, Guangdong 510642, China; 2. Plant Protection Research Institute, Guangdong Academy of Agricultural Sciences / Guangdong Provincial Key Laboratory of High Technology for Plant Protection, Guangzhou, Guangdong 510640, China
Abstract: In order to realize the intelligent assessment of fruit yield, this paper carried out an research on the fruit recognition of Shengxin mango image in natural environment, and proposed an online method of recognition and counting with deep learning of mango images. Firstly, the recognition algorithm for mango image was realized using the Faster R-CNN Model, a deep learning framework. Secondly, an upload module for mango images based on Wechat applet and Web platform was developed, which can upload images to a server at all times and places. Thirdly, a server-client communication mode based on the TCP protocol and the Faster R-CNN assembly in MATLAB were adopted to construct an online analysis module, which realized the real-time and online recognition and counting for mango images. Finally, the recognition and counting results for a single picture, or all pictures in an orchard, were feedback to users through the Wechat applet program and Web page program, including the classification statistics of green mango and red mango. A total of 125 mango images in natural environment had been collected and analyzed using the method proposed in the paper. The results showed that the correct recognition and counting rate of mango fruit was 82.3%, among which the rate of missed detection and error detection was 11.7% and 8.6%, respectively, the average counting error was 4.2 and the average counting error rate was 7.9%. The experimental results demonstrated that, the method proposed in the paper was able to provide a scientific decision-making basis for the wisdom management of orchards through results quantity analysis obtained by images recognition and counting.
Keywords: mango image; recognition and counting; Faster R-CNN; on-line method
DOI: 10.3969/j.issn.1000-2561.2020.03.002
芒果(Mangifera indica L.)是多年生的漆樹科常綠大喬木,原產(chǎn)印度,營養(yǎng)豐富,是東南亞、非洲東西部和美洲許多發(fā)展中國家重要的出口經(jīng)濟作物。近年來,我國芒果產(chǎn)業(yè)得到快速發(fā)展,芒果生產(chǎn)由數(shù)量擴展型向質(zhì)量效益型轉(zhuǎn)變。然而芒果品種多而雜,果園管理水平和采后處理技術(shù)落后,直接影響果實商品質(zhì)量和市場競爭力。芒果園智能化和精細化管理是芒果種植業(yè)的未來發(fā)展趨勢,運用圖像識別技術(shù)和現(xiàn)代智能算法對果園中芒果植株基礎(chǔ)生物學(xué)信息進行實時監(jiān)測和智能分析并指導(dǎo)芒果生產(chǎn),是實現(xiàn)芒果園智能化和精細化管理的有效途徑。
目前,深度學(xué)習(xí)方法越來越多的應(yīng)用于水果圖像的目標檢測研究中。傳統(tǒng)的水果圖像識別方法通過提取圖像中水果的顏色、形狀和紋理等特征,然后運用非監(jiān)督或者監(jiān)督分類算法,如K-mean算法、K最近鄰法、支持向量機等進行目標判別,其特征是根據(jù)特定圖像和人類視覺敏感性而人為設(shè)計的特征(hand crafted features),健壯性較差,如顏色特征容易受到光照的影響、形狀特征容易受到成像距離、枝葉遮擋和果實重疊的影響,這限制了傳統(tǒng)的水果圖像識別方法的應(yīng)用效果[1-6]。不同于傳統(tǒng)水果圖像識別方法,基于深度學(xué)習(xí)的水果圖像識別是通過模型學(xué)習(xí)圖像隱含的獨特特征來檢測目標,其得到的特征表示具有非常強的泛化能力,可成功的應(yīng)用于測試集圖像的目標檢測[7-9]。迄今為止,國內(nèi)外在芒果圖像的識別研究方面只有少量的報道應(yīng)用了神經(jīng)網(wǎng)絡(luò)及深度學(xué)習(xí)方法。Nanaa等[10]采用反向傳播神經(jīng)網(wǎng)絡(luò)模型和Hough變換從芒果樹圖像中識別芒果,對單個芒果識別準確率達到96.26%,但對重疊芒果識別準確率較差Borgoti等[8]對澳大利亞果園中的芒果、蘋果和杏仁3種果樹圖像,運用不同的深度學(xué)習(xí)框架進行圖像識別研究,對芒果圖像識別的F1分數(shù)最高達到了90.8%;Ramesh等[11]采用深度語義分割和CNN框架構(gòu)建了識別芒果的MangoNet,對測試集圖片的平均識別準確率達到91.4%。上述報道主要聚焦于探討怎樣構(gòu)建深度學(xué)習(xí)模型提高芒果圖像的識別準確率,因此只統(tǒng)計了識別準確率,未統(tǒng)計計數(shù)準確率,而基于深度學(xué)習(xí)的芒果圖像識別計數(shù)及在線實時分析的相關(guān)研究鮮有報道。
本研究建立自然環(huán)境下芒果的深度學(xué)習(xí)圖像識別模型,并結(jié)合基于MATLAB平臺的Faster R- CNN(Regions with Convolution Neural Network)、微信小程序和騰訊云等技術(shù)構(gòu)建了芒果樹圖像在線識別計數(shù)的方法,實現(xiàn)從手機端采集植株圖片和PC端上傳圖片數(shù)據(jù)、服務(wù)器進行深度學(xué)習(xí)圖像識別計數(shù)、客戶端查詢獲取分析結(jié)果等功能,為應(yīng)用人工智能及現(xiàn)代信息技術(shù)構(gòu)建智慧果園提供方法支撐。
1? 材料與方法
1.1? 圖像采集
芒果圖像于2018年1月采集,地點位于海南省三亞市的樂東福田的圣心芒果園,在天氣晴朗的條件下進行采集。圣心芒(Mangifera indica Linn.)為漆樹科植物芒果,原產(chǎn)于熱帶地區(qū),主要為短橢圓形,皮色分為2種:紅色和青色。使用Cannon EOS 700D相機和華為CAZ-AL10型智能手機拍攝成熟期的芒果。Cannon EOS 700D相機的圖像分辨率為3456×5184 dpi。華為智能手機的分辨率為1080×1920 dpi。攝像頭與目標芒果距離在0.2~5.0 m之間,共采集300張不同角度的芒果樹圖片,每1張圖像有1~50個芒果。
1.2? 方法
1.2.1? 基于深度學(xué)習(xí)(Faster R-CNN)的芒果圖像識別分析方法? Faster R-CNN算法是當(dāng)前較為先進的目標檢測方法,由Grishick R和He K在2015年提出,該算法是在Grishick R同年較早時候提出的Fast R-CNN基礎(chǔ)上增加了區(qū)域建議網(wǎng)絡(luò)(Region Proposal Networks, RPN),通過交替訓(xùn)練,讓RPN和Fast R-CNN共享網(wǎng)絡(luò)參數(shù),極大地減少了區(qū)域建議的時間,能夠快速生成候選區(qū)域,提高目標檢測的效率[12-13]。
Faster R-CNN整體框架如圖1所示。本研究以采集到的芒果圖像作為輸入;卷積層為特征提取層,是1個卷積模型,可選擇ZFNet或VGG16模型。本研究使用的是ZFNet模型,對輸入圖像感興趣區(qū)域進行特征提取,得到芒果特征圖。由區(qū)域建議網(wǎng)絡(luò)生成矩形目標建議框集合(即圖1中芒果感興趣區(qū)域)。把建議窗口映射到特征圖上,通過感興趣區(qū)域池化層(Region of Interest Pooling, ROI池化層)使輸出特征圖尺寸固定,將固定大小的特征圖用用Softmax模型進行目標類別的識別分類,并使用L1 Loss進行邊框回歸(Bounding-Box Regression)得到目標在圖片中的精確位置。
從采集圖片中隨機選取175張圖片作為訓(xùn)練集,剩下125張圖片作為測試集,首先對芒果植株圖像進行標注,標注信息包括芒果位置和成熟度,然后按照PASCAL VOC 2007的數(shù)據(jù)集格式形成數(shù)據(jù)集。接著對已經(jīng)標注的芒果圖像進行規(guī)整化尺度的調(diào)整,輸入到Faster R-CNN中進行交替訓(xùn)練,步驟如下:
(1)訓(xùn)練RPN,用ImageNet預(yù)訓(xùn)練的模型初始化,并做端到端的微調(diào)用于區(qū)域建議任務(wù);
(2)利用(1)中的RPN生成的建議框,由Faster R-CNN訓(xùn)練1個單獨的檢測網(wǎng)絡(luò);
(3)用檢測網(wǎng)絡(luò)初始化RPN訓(xùn)練,但固定共享的卷積層,并且只微調(diào)RPN獨有的層;
(4)保持共享的卷積層固定,微調(diào)Faster R-CNN的fc層。
將需要識別的芒果樹掛果圖像,輸入到上述訓(xùn)練好的Faster R-CNN網(wǎng)絡(luò)中,進行目標識別,識別結(jié)果進行統(tǒng)計分析,得到每張圖像的掛果量統(tǒng)計信息。
1.2.2? 芒果樹掛果圖像數(shù)據(jù)的傳輸與存儲? 用戶采集的圖像數(shù)據(jù)通過手機客戶端或者PC客戶端,經(jīng)HTTP協(xié)議、SSL加密通信和騰訊云對象存儲服務(wù)(Cloud Object Storage, COS),上傳到騰訊云存儲服務(wù)器上(圖2)。對象存儲服務(wù)是騰訊云提供的面向非結(jié)構(gòu)化數(shù)據(jù)的分布式存儲服務(wù),支持HTTP/HTTPS 協(xié)議訪問,其能容納海量數(shù)據(jù)并保證用戶對帶寬和容量擴充無感知,具有安全可靠、成本優(yōu)廉,便于接入等優(yōu)點,本研究應(yīng)用該服務(wù)實現(xiàn)芒果樹掛果圖像數(shù)據(jù)的上傳、存儲和下載功能。
手機客戶端實現(xiàn)芒果樹掛果圖像數(shù)據(jù)的實時采集和傳輸,是基于微信小程序的多個API(Appli- cation Programming Interface)開發(fā)的,能將手機采集到的芒果樹圖像、采集位置的地理信息和用戶信息等數(shù)據(jù)并上傳到存儲服務(wù)器。手機客戶端在微信小程序的支持下,只需具備微信程序和網(wǎng)絡(luò)連接就可以實現(xiàn)數(shù)據(jù)的上傳,同時,其小程序樣式代碼封裝在微信小程序里面,安全性高且運行穩(wěn)定。PC客戶端主要針對相機采集的圖像數(shù)據(jù)進行集中傳輸,采用基于Bootstrap加JQuery架構(gòu)開發(fā)的Web頁面應(yīng)用,在騰訊云對象存儲服務(wù)提供的軟件開發(fā)工具包(COS SDK)支持下實現(xiàn)圖像數(shù)據(jù)的批量上傳與下載,并通過騰訊地圖錄入圖片采集位置的地理信息。
1.2.3? 芒果樹掛果圖像實時分析的通信機制? 芒果樹掛果圖像的實時分析過程如圖3所示,芒果樹掛果圖像通過客戶端上傳到存儲服務(wù)器并存儲完成后,存儲服務(wù)器將其下載地址返回給控制服務(wù)器,控制服務(wù)器接收到圖片下載地址后,通知深度學(xué)習(xí)圖像分析服務(wù)器下載并分析上傳的圖片。
深度學(xué)習(xí)圖像分析采用Python+MATLAB進行算法開發(fā)和服務(wù)暴露,包含Python服務(wù)器模塊和MATLAB模塊。Python服務(wù)器模塊通過內(nèi)嵌的TCP服務(wù)接受來自控制服務(wù)器的用戶圖片識別分析任務(wù),當(dāng)接收到新任務(wù)通知時,該模塊將要檢測的圖片(任務(wù))從存儲服務(wù)器下載到MAT LAB模塊工作目錄下,同時將圖片名稱傳遞給MATLAB模塊。MATLAB模塊通過TCP服務(wù)接收Python服務(wù)器模塊傳遞過來的圖片名稱,并調(diào)用基于深度學(xué)習(xí)的Faster R-CNN對該名稱指向的圖片進行目標識別檢測,檢測完成后通知Python服務(wù)器模塊,由Python服務(wù)器模塊將圖片識別分析結(jié)果保存到數(shù)據(jù)庫中,同時返回給控制服務(wù)器,任務(wù)執(zhí)行完成。
在實時分析時,為防止多用戶并發(fā)請求出現(xiàn)任務(wù)執(zhí)行阻塞的情況,Python服務(wù)器模塊的TCP服務(wù)采用多線程處理,將接收到的芒果樹掛果圖像分析任務(wù)放入由獨立線程維護的任務(wù)隊列進行緩存。Python服務(wù)器模塊將定時查詢該任務(wù)隊列,在隊列不為空時,取出1個任務(wù)派遣給MATLAB模塊。如果對于每1個派遣的任務(wù),MATLAB模塊都調(diào)用1個新MATLAB實例進行處理,這將消耗大量的系統(tǒng)內(nèi)存資源,系統(tǒng)難以支撐高并發(fā)請求的情況。因此,MATLAB模塊的TCP服務(wù)采用單線程處理,對接收到的所有圖像分析任務(wù)調(diào)用同1個MATLAB實例依次進行目標檢測,節(jié)約了系統(tǒng)的內(nèi)存資源,保障了一定的并發(fā)處理能力。
1.2.4? 芒果樹掛果圖像在線反饋方法? 深度學(xué)習(xí)服務(wù)器統(tǒng)計出的芒果樹結(jié)果狀態(tài)信息由控制服務(wù)器實時反饋到用戶的手機客戶端或者PC客戶端上。手機客戶端采用微信小程序作為人機交互界面(圖4),主要針對手機拍攝的單張圖片的目標檢測結(jié)果的統(tǒng)計分析及實時反饋。PC端采用WEB應(yīng)用頁面開發(fā)的可視化界面展現(xiàn)分析結(jié)果(圖4,圖5),主要進行圖片的批量分析和匯總,界面中不同區(qū)域(果園)采集的圖片在圖像列表中列出,其左邊顯示該圖片的像素、預(yù)測產(chǎn)量和青芒果與紅芒果預(yù)測產(chǎn)量等信息,點擊圖像列表中單個圖片將在界面右側(cè)圖像詳細圖展示其詳細信息;界面右側(cè)芒果數(shù)量統(tǒng)計圖表為選中區(qū)域(果園)所有圖片的分析結(jié)果匯總情況。
2? 結(jié)果與分析
為檢驗本研究所構(gòu)建的Faster R-CNN模型對芒果圖像識別的健壯性和準確率,試驗分別選取不同尺度、不同光照條件下和不同結(jié)果密度的125幅芒果樹圖像進行測試驗證,并采用人工檢視的方式計數(shù)每張圖片上的芒果數(shù)目。
本研究構(gòu)建的Faster R-CNN模型對芒果圖像的識別探測效果如圖6所示。圖6B和圖6D分別是逆光和順光條件下的識別效果,對比其識別前的圖像(圖6A,圖6C),表明2種光照條件下Faster R-CNN模型都有著良好的識別效果。圖6B中芒果樹的結(jié)果位置分散密度低,而圖6D中芒果樹的結(jié)果位置集中,尤其是圖像的右下部分結(jié)果密度高,從識別后的圖像可以看出,F(xiàn)aster R-CNN模型對不同結(jié)果密度的芒果樹圖像同樣具有良好的識別效果。圖6B和圖6D是芒果樹完整植株圖像,而圖6F為部分芒果樹冠圖像。圖6展示的識別結(jié)果表明,F(xiàn)aster R-CNN模型對不同尺度的芒果樹植株圖像亦有良好的識別效果。圖6B和圖6D中白色箭頭指向的水果處在近地面位置,其枯葉背景與水果顏色混雜,但本研究構(gòu)建的Faster R-CNN模型對近地面的水果均能識別出。對于部分遮擋與重疊芒果,本研究采用的深度學(xué)習(xí)算法也能夠識別出來,如圖6B和圖6D中黃色箭頭所示。同時本研究發(fā)現(xiàn),對于明顯小于正常尺寸和嚴重遮擋并且重疊的芒果,深度學(xué)習(xí)模型的識別性能受到一定影響,如圖6B和圖6D中橙色箭頭所指向的芒果未被識別出來。
為進一步分析本研究構(gòu)建的Faster R-CNN模型在芒果樹圖像識別中的果實識別與計數(shù)效果,本研究利用5個指標:平均計數(shù)誤差(ACE)、平均計數(shù)誤差率(ACEP)、計數(shù)識別準確率(CRP)、漏檢率(MP)和誤檢率(FP)作為參數(shù),來進行識別率的分析。計算公式如下:
Dorj U O, Lee M, Yum S. An yield estimation in citrus orchards via fruit detection and counting using image processing[J]. Computers and Electronics in Agriculture, 2017, 140: 103-112.
Bargoti S, Underwood J. Deep fruit detection in orchards[C]//2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore: IEEE, 2017.
Bargoti S, Underwood J P. Image segmentation for fruit detection and yield estimation in apple orchards[J]. Journal of Field Robotics, 2017, 34(6): 1039-1060.
Nanaa K, Mohamed, Rizon M, Rahman M N A, et al. Detecting mango fruits by using randomized hough transform and back propagation neural network[C]// International Conference on Information Visualisation, Paris: IEEE, 2014: 388-391.
Ramesh K, Avadesh M, Omkar N. MangoNet: A deep semantic segmentation architecture for a method to detect and count mangoes in an open orchard[J]. Engineering Applications of Artificial Intelligence, 2019, 77: 59-69.
He K M, Zhang X Y, Ren S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
Ren S Q, He K M, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
Hamuda E, Glavin M, Jones E. A survey of image processing techniques for plant extraction and segmentation in the field[J]. Computers and Electronics in Agriculture, 2016, 125: 184-199.
DeChant C, Wiesner-Hanks T, Chen S, et al. Automated identification of northern leaf blight-infected maize plants from field imagery using deep learning[J]. Phytopathology, 2017, 107: 1426-1432.