王宏樂,葉全洲,王興林,劉大存,梁振偉
(1.深圳市五谷網(wǎng)絡(luò)科技有限公司,廣東 深圳 518000;2.深圳市豐農(nóng)數(shù)智農(nóng)業(yè)科技有限公司,廣東 深圳 518000)
【研究意義】水稻是我國乃至世界上最重要的糧食作物。科學、高效而準確地預(yù)測水稻產(chǎn)量,不但能為產(chǎn)量預(yù)估、收獲、烘干和倉儲物流提供及時、準確的農(nóng)情信息,對于糧食的供需平衡、農(nóng)業(yè)政策的制定等也具有重要意義[1-3]。目前,大面積的水稻估產(chǎn)主要采取衛(wèi)星遙感估產(chǎn)的方法,如定量遙感反演與產(chǎn)量形成過程模型相耦合的方法、基于實測的水稻冠層反射光譜的多生育期復(fù)合估產(chǎn)模型等方法[4-5],但其在普適性、精準性和高效性等方面仍有待進一步優(yōu)化和完善,獲得更準確、及時的產(chǎn)量估算仍依賴于田間人工測產(chǎn)調(diào)查。特定品種的稻穗數(shù)量與水稻產(chǎn)量密切相關(guān),準確獲得田間單位面積水稻穗數(shù)是水稻產(chǎn)量準確預(yù)估的重要前提和基礎(chǔ)[2-3,6]。然而,田間單位面積水稻穗數(shù)的調(diào)查是人工測產(chǎn)調(diào)查過程中最費時費力的環(huán)節(jié),同時,調(diào)查者的主、客觀因素都極易影響調(diào)查結(jié)果的準確性[2-4]。因此,建立水稻產(chǎn)量快速調(diào)查的方法,對解放勞動力,提高測產(chǎn)工作效率和精度等具有重要意義。
【前人研究進展】目前水稻稻穗識別的主要技術(shù)為圖像分割和目標檢測。Xiong 等[7]提出Panicle-SEG 算法,實現(xiàn)了對不同品種及生育期大田稻穗的分割,準確率達到70%~80%。在此基礎(chǔ)上,宋余慶等[6]基于DBSE-Net 的大田稻穗圖像分割,進一步提高了識別精度;Tanaka 等[8]報道了基于水稻RGB 圖像的分割模型,可對多品種不同角度采集的稻穗進行精準識別及產(chǎn)量估算,經(jīng)多地驗證后,具有廣泛的適應(yīng)性和準確度。然而圖像分割模型訓練復(fù)雜,計算相對耗時,受圖像背景影響大[3]。目標檢測技術(shù)已運用于多個農(nóng)業(yè)場景中,如麥穗檢測。David 等[9-10]報道并優(yōu)化了小麥麥穗的識別算法,建立了全球麥穗檢測數(shù)據(jù)集(Global Wheat Head Detection,GWHD)。此后,國內(nèi)外大量學者對小麥穗數(shù)檢測模型做出優(yōu)化與改進,并開發(fā)出田間麥穗快速識別與計算的方法,包括基于無人機的麥穗圖片的精準計數(shù)方法研發(fā)、小麥麥穗檢測算法優(yōu)化、小麥單位面積的實時在線檢測方法的實現(xiàn)等[9-13]。與小麥相比,水稻不同品種間的穗形差異大,稻穗由于自重下垂,高種植密度下葉片與稻穗貼合更緊密,葉片對稻穗的局部遮擋使稻穗特征中混入葉片噪聲,嚴重影響稻穗識別準確率和計數(shù)精度。姜海燕等[14]設(shè)計了一種基于生成特征金字塔的稻穗檢測(Generative Feature Pyramid for Panicle Detection,GFP-PD)方法,對稻穗的識別準確率達90%以上。Sun 等[3]使用改進的YOLOv4 對彎曲稻穗檢測,解決了秈稻品種雜交稻的精準檢測問題,在齊穗后7 d 內(nèi)能獲得較高準確率。
【本研究切入點】粳稻和秈稻為我國主要的兩大類水稻種植品種,品種的多樣性和復(fù)雜性導(dǎo)致稻穗形狀、顏色、姿態(tài)等存在一定差異,影響圖像識別精準性?;谒镜舅氲哪繕藱z測算法,雖已有一些研究報道,但缺乏其對不同品種稻穗估測的系統(tǒng)性研究,而在水稻稻穗深度學習訓練數(shù)據(jù)集對深度學習模型的影響方面,更是缺乏相關(guān)報道。YOLO(You Only Look Once)是一種目前應(yīng)用廣泛的目標檢測模型,可很好地平衡檢測速度和檢測精度,且擁有較好的小目標檢測能力。其中YOLOv5 憑借其較快的檢測速度及良好的檢測精度得到研究人員的青睞[11-13,15]。根據(jù)寬度和深度的設(shè)置,YOLOv5 分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。其 中YOLOv5l兼具較高的運算速度及不錯的平均精度[11,16]。Wang 等[17]報道指出,新的網(wǎng)絡(luò)結(jié)構(gòu)YOLOv7,其整體準確度和速度均優(yōu)于YOLOv5。目前已應(yīng)用于安全頭盔、交通標識等領(lǐng)域的目標檢測,并取得不錯的效果[18-19]。無人機具有快速、低成本、靈活獲取高分辨率圖像及農(nóng)情信息的特點,尤其適合復(fù)雜農(nóng)田環(huán)境的信息采集作業(yè)[1-2,4-5,12,20]。本研究擬采用粳稻和秈稻主栽品種,研究無人機照片數(shù)據(jù)深度學習數(shù)穗測產(chǎn)技術(shù)對粳稻和秈稻的識別效果,嘗試建立高效、可靠的稻穗快速檢測計數(shù)技術(shù)?!緮M解決的關(guān)鍵問題】本研究將重點解決無人機照片的數(shù)據(jù)清洗、稻穗標注、數(shù)據(jù)集構(gòu)建和PyTorch 深度學習建模訓練方法,以期獲得科學、高效和多品種適用性的數(shù)穗技術(shù)。
水稻秈稻稻穗圖片的采集和產(chǎn)量調(diào)查時間為2021 年10 月13 日,地點為廣東省廣州市從化區(qū)生態(tài)優(yōu)質(zhì)絲苗米產(chǎn)業(yè)園,種植品種為美巴香占,隨機選擇11 個調(diào)查點。水稻粳稻采集時間和產(chǎn)量調(diào)查時間為2022 年11 月5 日,地點為廣東省清遠市飛來峽水稻種植基地實驗田,種植品種為南粳46,隨機選擇9 個為調(diào)查點。
圖像采集時間為水稻齊穗期到灌漿期(圖1),稻穗穗形直立或略彎曲、不松散和不交纏。稻穗數(shù)據(jù)集的采集設(shè)備為大疆精靈4RTK 無人機,云臺拍攝角度為-85°~-90°之間,相機視角(Field of view,F(xiàn)OV)為84°,總像素為2 048 萬,分辨率為4 864×3 648。無人機圖像于晴天10: 00—14: 00 采集,拍攝高度為距離水稻冠層1.7~1.8 m,拍攝圖片的覆蓋面積約為4 m2。每個調(diào)查點面積約為4 m2,圈出范圍后在其正上方使用無人機采集圖像,隨后進行人工調(diào)查,人工調(diào)查方法參考Tanaka[6]。
為降低重復(fù)圖片數(shù)量以及非靶標圖片對模型訓練的干擾,采用人工篩選的方法對所采集圖像進行數(shù)據(jù)清洗。清洗后的數(shù)據(jù)使用Labelimg 軟件[21]對目標稻穗分別進行水平框的框選,當圖像邊緣顯示的谷粒面積≥30%以上時進行標定,否則不標定。水平框標注采用x、y、w、h 表示,其中,x、y 為目標框的中心坐標,w、h 分別為沿X和Y軸的邊界框的長度。
分別建立包含90 張粳稻和秈稻標注圖片的水稻稻穗數(shù)據(jù)集,其中包含粳稻樣本28 728 個、秈稻樣本21 608 個。依據(jù)兩種水稻的不同特征,將數(shù)據(jù)集重新分組(表1)。在目標檢測算法中,重疊率(Intersection of union,IoU)是在特定數(shù)據(jù)集中檢測相應(yīng)物體準確度的標準[18-24]。平均精度(mean Average Precision,mAP)為目標檢測常用的判定指標,一般使用mAP@IoU 的方式表示[11-16,21]。分別從粳稻和秈稻的數(shù)據(jù)集中隨機抽取10 張作為獨立測試集和驗證集,其中測試集用于mAP 的計算[22]。將圖片尺寸調(diào)整到1 024×1 024 后再進行訓練與測試。
水稻稻穗檢測使用YOLOv5l 和YOLOv7 的網(wǎng)絡(luò)體系結(jié)構(gòu)。YOLOv5l 參照李志軍等[25]方法進行,YOLOv7 模型訓練參照Wang 等[17]方法進行,模型的深度和寬度均設(shè)為1,將前景和背景IoU閾值設(shè)為0.3。本研究基于PyTorch 深度學習框架進行模型改進和算法訓練。計算機配有NVIDIA V100 的圖形處理器(GPU),搭載Intel(R)Xeon(R)Gold 5218 CPU@ 2.30GHz,內(nèi)存為128 GB。實驗環(huán)境為Ubuntu 18.04 LTS 64 位系統(tǒng)、Cuda11.3、Cudnn8.1.0、Pytorch1.7.1、Python3.7。模型訓練的批處理大小為64,輸入圖像且統(tǒng)一為640×640 分辨率。
使用建立的模型對調(diào)查點采集的圖像進行水稻稻穗數(shù)量預(yù)測,將預(yù)測結(jié)果與實際調(diào)查結(jié)果進行相關(guān)性比較分析,使用相關(guān)系數(shù)R2預(yù)測結(jié)果的準確性[1-2]。均方根誤差(Root Mean Square Error,RMSE)一般用于反映測量值與真實值之間的偏差,平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)可以反映預(yù)測值與真實值之間的相對距離[1,8]。本研究使用R2、RMSE和MAPE對模型預(yù)測值與真實值進行驗證和評價。
用相同的測試集對使用不同數(shù)據(jù)集訓練得到的模型進行測試(表1)。將模型對測試集的檢測結(jié)果與真實值進行分析比較,計算得出每個錨框的IoU 值。使用獲得的IoU 值制作箱型圖(圖2),結(jié)果表明,在對粳稻測試集的檢測中,模型1 組所獲得的IoU 值的中位數(shù)最高,YOLOv7模型為0.6733、YOLOv5 模型為0.6455;其次為模型3 組,YOLOv7 模型為0.6499、YOLOv5模型為0.6230;模型2 組所獲得IoU 值的中位數(shù)最低,YOLOv7 模型為0.4732、YOLOv5 模型為0.3794。在對秈稻測試集的檢測中,模型2 組所獲得IoU 值的中位數(shù)最高,YOLOv7 模型為0.6494、YOLOv5 模型為0.5403;其次為模型3 組,YOLOv7 模型為0.4862、YOLOv5 模型為0.3933;模型1 組獲得IoU 值的中位數(shù)最低,YOLOv7 模型為0.4732、YOLOv5 模型為0.2581(圖2)。基于此,為更合理地評價模型的識別精度,本研究除計算通用指標mAP@0.5 外,同時考慮選擇最低IoU 的中位數(shù)0.2581,即計算mAP@0.25 的值并參考作為評價標準。對于相同的數(shù)據(jù),YOLOv7模型下IoU 值的中位數(shù)普遍高于YOLOv5 模型。
圖2 不同模型得到的重疊率分布情況Fig.2 Distribution of interscetion over union (IoU) from different models
分別使用YOLOv7 和YOLOv5l 對3 組數(shù)據(jù)進行訓練,使用相同的測試集對模型進行測試和評價。結(jié)果表明,測試集對YOLOv7 模型的測試結(jié)果普遍優(yōu)于YOLOv5l(表2、圖3、表3)。僅使用粳稻數(shù)據(jù)訓練得到的模型對粳稻有較好的識別精度,YOLOv7 模型的mAP@0.5 為80.75%、mAP@0.25 為93.01%,優(yōu)于YOLOv5l 模型的mAP@0.5 值73.36%、mAP@0.25 值91.16%;但兩種模型對秈稻的識別精度均不高,mAP@0.5 及mAP@0.25 在20%~40%。對秈稻識別最佳的模型為使用秈稻數(shù)據(jù)訓練得到的模型,YOLOv7 模型的mAP@0.5 為73.19%、mAP@0.25 為83.71%,優(yōu) 于YOLOv5l 模型的mAP@0.5 值72.77%、mAP@0.25 值81.66%;但兩種模型對粳稻識別精度不高,mAP@0.5 及mAP@0.25 在30%~40%。使用粳稻和秈稻混合的數(shù)據(jù)訓練得到的模型3 組對粳稻和秈稻有一定的識別精度,基本能框出識別靶標,但低于僅使用粳稻數(shù)據(jù)訓練得到的模型對粳稻的識別精度和僅使用秈稻數(shù)據(jù)訓練得到的模型對秈稻的識別精度。
表2 不同模型在水稻稻穗測試集的檢測精度(%)對比Table2 Comparison of detection accuracy of different models in rice panicles test datasets
表3 水稻稻穗計數(shù)結(jié)果Table 3 Results of rice panicles counts
圖3 不同模型對水稻不同亞種稻穗的識別結(jié)果樣例Fig.3 Detection results of rice panicles from different subspecies by different models
結(jié)果表明,單一數(shù)據(jù)訓練的模型對與其一致的靶標測試集的識別精度最高,對與其不一致的測試集測試精度最低,混合數(shù)據(jù)訓練的模型對兩種靶標均有一定的識別精度,但精度略低。所有模型的mAP@0.25 值均明顯大于mAP@0.5,重疊率對水稻稻穗的識別影響較大。
本研究設(shè)計了9 個粳稻、13 個秈稻的驗證樣本,對預(yù)測模型的預(yù)測結(jié)果進行驗證和評價。結(jié)果(圖4)表明,僅使用粳稻數(shù)據(jù)訓練得到的模型對粳稻有較好的識別精度,預(yù)測值與實測值顯著相關(guān)。其中YOLOv7 模型對粳稻預(yù)測精度最高,R2為0.9585、RMSE為9.17、MAPE為2.01%;其次為YOLOv5 模型,R2為0.9522、RMSE為11.91、MAPE為2.15%。對秈稻識別最佳的模型為使用秈稻數(shù)據(jù)訓練得到的,其中YOLOv7 模型對秈稻預(yù)測精度最高,R2為0.8595、RMSE為24.22、MAPE為7.55%;其次為YOLOv5,R2為0.7737、RMSE為32.56、MAPE為7.83%。僅 使用粳稻數(shù)據(jù)訓練得到的模型對秈稻的識別效果不佳,僅使用秈稻數(shù)據(jù)訓練得到的模型對粳稻識別效精度也偏低。但使用粳稻和秈稻混合的數(shù)據(jù)訓練得到的對粳稻和秈稻均有一定的識別精度,低于僅使用粳稻數(shù)據(jù)訓練得到的模型對粳稻的識別精度和僅使用秈稻數(shù)據(jù)訓練得到的模型對秈稻的識別精度;其中YOLOv7 模型對粳稻稻穗的識別效果較好,R2為0.9323、RMSE為13.17、MAPE為5.57%,對秈稻稻穗識別表現(xiàn)也較好,R2為0.7735、RMSE為37.73、MAPE為9.52%;YOLOv5 模型對粳稻稻穗和秈稻的識別精度略低于YOLOv7,在對粳稻的識別中,R2為0.8919、RMSE為15.73、MAPE為6.01%;在對秈稻的識別 中,R2為0.6201、RMSE為41.67、MAPE為10.94%。
圖4 水稻稻穗預(yù)測值和實際值關(guān)系Fig.4 Relationships between predict values and actual values of rice panicles number
在目標檢測算法中,IoU 是在特定數(shù)據(jù)集中檢測相應(yīng)物體準確度的標準,當IoU ≥0.5 時,通常認為目標被預(yù)測正確。IoU 閾值的設(shè)定對mAP 值影響很大。而對于稻穗、麥穗等細小目標,由于其形狀細長,且為非規(guī)則圖形,具有方向隨意性,即使較小的角度變化也會導(dǎo)致IoU 的迅速下降。黃碩等[11]報道的YOLOv5 檢測模型對小麥麥穗的mAP@0.5 也僅為0.467~0.515。因此,諸多關(guān)于細小密集物體檢測報道均會考量IoU 低于0.5 的情況[23-25]。本研究通過調(diào)查IoU 的實際分布情況,將IoU 的閾值設(shè)置為0.25。mAP 值評價的是算法對圖像識別的精度,在實際應(yīng)用中,仍要考慮使用無人機采集稻穗圖像的方法與真實情況之間的關(guān)系。因此,田間實際調(diào)查十分必要。通常使用模型的預(yù)測值與實際值建立回歸方程,計算R2、RMSE以及MAPE等指標評價模型或方法的精度[1,12,32]。田間調(diào)查驗證表明,所獲得的最優(yōu)模型的預(yù)測值,可較為準確地實現(xiàn)該場景下粳稻和秈稻的稻穗預(yù)測。其中,粳稻最優(yōu)模型下預(yù)測值與調(diào)查值之間的R2值大于0.9、MAPE值小于5%,秈稻最優(yōu)模型預(yù)測值與調(diào)查值之間的R2值大于0.8,MAPE值小于10%。本方法對秈稻的識別仍有優(yōu)化空間,可通過增加或調(diào)整數(shù)據(jù)集結(jié)構(gòu)來進行優(yōu)化[22]。本研究所使用的算法也還有進一步優(yōu)化的空間,如可考慮使用旋轉(zhuǎn)框或高分辨率識別模型等方式,或通過引入Soft-NMS 的判定機制,有可能進一步提升識別的精確度[3,27-30]。
小麥麥穗具有頂端生長,形態(tài)特征大多直立或略彎曲,大多形態(tài)相似的特點,國內(nèi)外已有諸多基于深度學習的小麥麥穗識別的報道[9-13]。David 等[9-10]報道并優(yōu)化了小麥麥穗的識別算法,建立全球麥穗檢測數(shù)據(jù)集(Global Wheat Head Detection,GWHD)。然而水稻稻穗在成熟期后期單穗較重,易彎曲并交纏,較難通過圖像數(shù)據(jù)進行稻穗計數(shù)[3,6-7]。因而,有學者使用基于深度學習的圖像分割技術(shù)來實現(xiàn)水稻稻穗的識別,但對于交纏的水稻,通過圖像分割技術(shù)也較難直接計數(shù),它們多是通過將分割的結(jié)果與田間實測穗數(shù)建立相關(guān)性關(guān)系,來實現(xiàn)田間穗數(shù)預(yù)測[6-7,31]。本方法通過基于深度學習的目標檢測方法來直接實現(xiàn)對田間水稻穗數(shù)的預(yù)測,實現(xiàn)路徑更為簡單、準確。但當水稻稻穗松散、下垂、交纏時,基于深度學習的圖像識別檢測算法,較難得到可靠的結(jié)果。本方法通過在水稻齊穗至灌漿期之間進行采集圖像,來規(guī)避水稻稻穗松散交纏的情況發(fā)生,可以形成標準化的數(shù)據(jù)采集和穗數(shù)預(yù)測技術(shù)體系,但這也縮短了田間數(shù)據(jù)采集的時間窗口。在不同稻穗數(shù)據(jù)集上的表現(xiàn)結(jié)果表明,YOLOv7 模型優(yōu)于YOLOv5 模型,與YOLOv7 在其他領(lǐng)域的報道結(jié)果一致[17-19]。本試驗建立的單位面積水稻穗數(shù)計算方法尚有不足,仍需進一步優(yōu)化算法、引入面積計算機制,以進一步提高識別和計數(shù)準確率。
本研究初步建立了基于YOLOv7 的無人機田間水稻單位面積穗數(shù)的快速調(diào)查方法,田間調(diào)查時間為從水稻齊穗期至灌漿期,所建立的預(yù)測模型和方法具有較高精度,可應(yīng)用于實際田間測產(chǎn)工作。YOLOv7 對稻穗的識別普遍優(yōu)于YOLOv5,不同品種類型植株需要不同的稻穗計數(shù)測產(chǎn)模型和方法,本技術(shù)對粳稻的檢測精度優(yōu)于秈稻,對秈稻的檢測算法需進一步優(yōu)化。