徐海東 馬 偉 譚 彧 劉星星* 鄭永軍 田志偉
(1.中國農(nóng)業(yè)大學(xué) 工學(xué)院,北京 100083;2.中國農(nóng)業(yè)科學(xué)院 都市農(nóng)業(yè)研究所,成都 610213)
我國是茶葉生產(chǎn)大國,2021年茶葉產(chǎn)量318萬t,茶葉產(chǎn)量居世界第一[1]。茶葉估產(chǎn)能夠在采收時(shí)間和采摘量之間尋求收益最大化時(shí)提供可靠的數(shù)據(jù)支持,直接關(guān)系到農(nóng)戶的經(jīng)濟(jì)收入?,F(xiàn)有的茶葉估產(chǎn)主要依靠茶農(nóng)的種植經(jīng)驗(yàn)或直接采摘后稱重估計(jì)產(chǎn)量,這種方法獲取產(chǎn)量信息較為滯后,不能在茶葉生長時(shí)期提供相關(guān)的產(chǎn)量數(shù)據(jù)支持,不利于茶葉生長的前期管理。
目前,針對(duì)小麥、大豆、油菜等大規(guī)模種植的經(jīng)濟(jì)作物估產(chǎn)技術(shù)已經(jīng)較為成熟。常用的估產(chǎn)方法有田間抽樣調(diào)查法、農(nóng)業(yè)氣象模型估產(chǎn)法、基于光譜指數(shù)的作物估產(chǎn)法、基于圖像的作物估產(chǎn)法[2]。田間抽樣調(diào)查主要步驟為:在大田中按面積等距或者按組平均抽樣法選取若干代表性小田塊,水稻成熟后,收獲小田塊中水稻,并對(duì)其進(jìn)行人工脫粒和后續(xù)的一系列考種步驟,提取產(chǎn)量相關(guān)四因素,進(jìn)一步利用公式折算出該片田塊的水稻產(chǎn)量數(shù)據(jù)[3]。現(xiàn)有利用農(nóng)業(yè)氣象模型估算產(chǎn)量的方法,大都是研究對(duì)作物產(chǎn)量貢獻(xiàn)性較大的氣象因子,分析氣象因子之間相關(guān)性,進(jìn)而利用回歸建模預(yù)估最終作物的產(chǎn)量情況[4],陳冬梅等[5]使用自適應(yīng)增強(qiáng)的BP模型,結(jié)合59個(gè)縣市的地面氣象數(shù)據(jù),對(duì)浙江省的茶葉產(chǎn)量進(jìn)行了預(yù)測(cè)。遙感估產(chǎn)主要利用多光譜相機(jī)來獲取作物不同光譜波段下的反射指數(shù)信息,結(jié)合作物農(nóng)藝學(xué)性狀,綜合構(gòu)建產(chǎn)量預(yù)估模型[6]。王鵬新等[7]使用遙感技術(shù),選取玉米植被溫度系數(shù)和葉面積指數(shù)為特征變量,使用極限梯度提升算法和隨機(jī)森林算法對(duì)玉米單產(chǎn)進(jìn)行估測(cè),估計(jì)了河北中部平原玉米單產(chǎn)。使用氣象模型和光譜指數(shù)的估產(chǎn)方法主要應(yīng)用于大規(guī)模作物估產(chǎn),對(duì)于個(gè)體農(nóng)戶的小規(guī)模作物的估產(chǎn)手段還較為缺乏。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,已經(jīng)有了很多成熟的深度學(xué)習(xí)算法用以檢測(cè)目標(biāo)的數(shù)量,主要可分為2類:一類是以YOLO[8-11]和SSD[12-14]為代表的一階段快速檢測(cè)算法,其優(yōu)點(diǎn)是速度快,但檢測(cè)精度相對(duì)較低;另外一類是以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)R-CNN[15-17]為代表的二階段檢測(cè)算法,優(yōu)點(diǎn)是準(zhǔn)確度高,缺點(diǎn)是速度相比于一階檢測(cè)算法較慢。
綜上,現(xiàn)有的田間估產(chǎn)主要方法是遙感估產(chǎn),依賴于遙感數(shù)據(jù)與樣本產(chǎn)量間的映射模型,常用于大規(guī)模農(nóng)作物估產(chǎn)。對(duì)于小規(guī)模茶園估產(chǎn),相關(guān)研究報(bào)道較少。本研究擬使用YOLOv5目標(biāo)檢測(cè)算法識(shí)別茶葉嫩芽并計(jì)算嫩芽數(shù)目,再使用田間抽樣法,通過目標(biāo)檢測(cè)算法獲取抽樣點(diǎn)的嫩芽數(shù)目,并利用最小二乘法建立產(chǎn)量預(yù)估模型,最后按照估產(chǎn)模型估算出茶園嫩芽的產(chǎn)量,以期在茶葉生長時(shí)期為農(nóng)戶提供茶葉嫩芽產(chǎn)量相關(guān)的數(shù)據(jù)支撐,便于茶葉生產(chǎn)的前期管理。
試驗(yàn)地點(diǎn)位于四川省都江堰市的青城道茶觀光園,試驗(yàn)茶葉品種為青城道茶,數(shù)據(jù)采集時(shí)間為分別為2021年4月、7月和9月。
圖像采集設(shè)備為Intel RealSense D435i攝像頭,分辨率為1 920像素×1 080像素。采集春茶、夏茶、秋茶圖像共計(jì)1 000張,作為試驗(yàn)所用數(shù)據(jù)集。模型訓(xùn)練測(cè)環(huán)境為Intel Corei7-10750H CPU@2.60 GHz,NVIDIA GeForce RTX2060,16 G內(nèi)存,軟件環(huán)境為Python3.6,Pytorch深度學(xué)習(xí)框架,操作系統(tǒng)為Windows10。
使用在線工具makesense.ai對(duì)茶葉圖像數(shù)據(jù)進(jìn)行標(biāo)注。標(biāo)注對(duì)象為嫩芽的一葉一芽,標(biāo)注完成后對(duì)標(biāo)注文件進(jìn)行了歸一化處理,使得在訓(xùn)練的時(shí)候能夠更快地讀取數(shù)據(jù)。
共標(biāo)注圖像1 000張,其中800張用于目標(biāo)檢測(cè)算法的訓(xùn)練,200張用于算法的測(cè)試。由于訓(xùn)練算法模型需要大量的圖像數(shù)據(jù),因此對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)操作。數(shù)據(jù)增強(qiáng)的方式包括添加噪聲、旋轉(zhuǎn)、鏡像等步驟(圖1),可提高目標(biāo)檢測(cè)算法的泛化能力。本試驗(yàn)中,選擇添加高斯噪聲到原始圖像中,這是由于在實(shí)際環(huán)境中,噪聲通常不是由單一來源引起的,而是來自許多不同來源的噪聲的復(fù)合體。假設(shè)實(shí)噪聲是具有不同概率分布的非常多隨機(jī)變量的加法和,并且每個(gè)隨機(jī)變量都是獨(dú)立的,則隨著噪聲源數(shù)量的增加,它們的歸一化和將收斂為高斯分布,因此在算法模型中添加高斯噪聲可以更好地適應(yīng)實(shí)際場(chǎng)景的應(yīng)用,提高算法模型的魯棒性。使用數(shù)據(jù)增強(qiáng)的方式將原有800張訓(xùn)練集擴(kuò)充至8 000張。
圖1 茶葉圖像數(shù)據(jù)增強(qiáng)Fig.1 Tea image data enhancement
YOLO是一種基于回歸的目標(biāo)檢測(cè)算法。經(jīng)過不斷的發(fā)展,算法迭代到目前最新的YOLOv5系列。與R-CNN系列的目標(biāo)檢測(cè)算法相比,YOLO算法在保證精度的前提下顯著的提高了模型的運(yùn)行速度。YOLOv5目標(biāo)檢測(cè)算法是基于YOLOv3的改進(jìn)算法,采用多尺度預(yù)測(cè)方法,可以同時(shí)檢測(cè)不同大小的圖像特征的目標(biāo)。因此,YOLOv5目標(biāo)檢測(cè)算法在算法精度和運(yùn)行時(shí)間方面相較之前版本都有了較大提升,適合用于茶園場(chǎng)景中的茶葉嫩芽檢測(cè)。YOLOv5目標(biāo)檢測(cè)算法的網(wǎng)絡(luò)結(jié)構(gòu)主要分為Input、Backbone、Neck、Prediction這4個(gè)部分(圖2)。
圖2 YOLOv5網(wǎng)絡(luò)模型Fig.2 YOLOv5 network model
YOLOv5目標(biāo)檢測(cè)算法的基本原理是:將輸入圖像分成7×7的網(wǎng)格,每個(gè)網(wǎng)格負(fù)責(zé)預(yù)測(cè)以該網(wǎng)格單元為中心的目標(biāo)邊界框及其相應(yīng)的置信度值;生成預(yù)測(cè)框后,按非極大抑制篩選最后結(jié)果(圖3)。
本研究提出的茶葉嫩芽估產(chǎn)方法分為2部分:1)采集茶葉嫩芽圖像數(shù)據(jù)訓(xùn)練目標(biāo)檢測(cè)算法,用以快速地檢測(cè)出茶葉嫩芽的數(shù)目;2)擬合茶葉嫩芽數(shù)目與產(chǎn)量間的關(guān)系,獲得茶葉嫩芽產(chǎn)量。
在標(biāo)準(zhǔn)化種植的茶園中(圖4),茶壟的寬度約為100 cm,兩條茶壟的間距約為60 cm,茶壟之間分布較為均勻,茶壟的頂部可近似一個(gè)平面,茶葉嫩芽豎直生長在茶壟的表面。因此可通過抽樣調(diào)查法,在茶園中抽取若干抽樣點(diǎn),通過目標(biāo)檢測(cè)算法計(jì)算抽樣點(diǎn)的茶葉數(shù)目,并結(jié)合抽樣面積計(jì)算茶葉嫩芽生長密度,進(jìn)而利用數(shù)學(xué)模型估算茶園嫩芽產(chǎn)量,本研究用嫩芽的質(zhì)量表示產(chǎn)量。
根據(jù)抽樣點(diǎn)茶葉嫩芽數(shù)量建立估產(chǎn)模型步驟如下。
1)計(jì)算出抽樣區(qū)域面積S,根據(jù)識(shí)別的茶葉嫩芽數(shù)Ne,估算幼苗種植密度Re:
(1)
圖3 YOLOv5檢測(cè)原理Fig.3 YOLOv5 detection principle
圖4 標(biāo)準(zhǔn)化種植茶園整體圖Fig.4 Overall view of the standardize tea plantation
2)根據(jù)茶場(chǎng)總面積ST估算茶葉嫩芽總數(shù)P:
P=ReST
(2)
3)根據(jù)嫩芽數(shù)量與產(chǎn)量之間的關(guān)系確定茶園總產(chǎn)量M:
M=k·P+b
(3)
式中:k為線性關(guān)系的比例系數(shù);b為偏差。
4)聯(lián)合式(1)、(2)和(3)可得出茶葉產(chǎn)量M的計(jì)算方法:
(4)
在茶園中采收約500 g茶葉嫩芽,茶葉嫩芽的外形特征見圖5。嫩芽高度約為18 mm,寬度約8 mm,大小分布較為均勻,因此可初步做出假設(shè),茶葉嫩芽的數(shù)目與質(zhì)量之間有較好的線性關(guān)系。
圖5 茶葉嫩芽外形特征Fig.5 Tea shoot shape characteristics
設(shè)計(jì)試驗(yàn)從人工采收的嫩芽中稱取10,20,…,80 g共8份茶葉嫩芽,每個(gè)質(zhì)量獨(dú)立稱取3次(稱完一次質(zhì)量后需將嫩芽放回,重新從采收到的嫩芽中稱取該質(zhì)量的嫩芽),記錄每個(gè)質(zhì)量下的茶葉嫩芽數(shù)目,計(jì)算3次嫩芽數(shù)目的平均值,最后利用最小二乘法擬合出茶葉嫩芽數(shù)目與質(zhì)量間的關(guān)系(圖6)。
圖6 茶葉嫩芽數(shù)目與質(zhì)量的線性關(guān)系Fig.6 Linear relationship between number of tea shoots and quality
最小二乘法確定茶葉嫩芽與質(zhì)量之間的線性關(guān)系為:
M=0.100 3P-0.142 3
(5)
線性擬合關(guān)系中,決定系數(shù)R2=0.999 8,表明茶葉嫩芽的數(shù)目和質(zhì)量之間有高度線性關(guān)系,因此使用茶葉數(shù)目估計(jì)茶葉產(chǎn)量是可行的。
2.2.1評(píng)價(jià)指標(biāo)
為評(píng)價(jià)圖像識(shí)別算法的性能,本研究選取精度(P)和平均準(zhǔn)確率(Mean average precision,MAP)作為算法的主要評(píng)價(jià)指標(biāo)。計(jì)算公式分別如下:
(6)
(7)
式中:TP(True positive)表示正樣本預(yù)測(cè)正確的數(shù)量;FN(False negative)為負(fù)樣本預(yù)測(cè)錯(cuò)誤的數(shù)量;FP(False positive)為正樣本預(yù)測(cè)錯(cuò)誤的數(shù)量;TN(True negative)為負(fù)樣本預(yù)測(cè)正確的數(shù)量;p(r)為不同查準(zhǔn)率r下對(duì)應(yīng)的查全率;Api為第i類的檢測(cè)準(zhǔn)確率,N為類別數(shù)量。
2.2.2YOLOv5訓(xùn)練結(jié)果分析
茶葉嫩芽檢測(cè)模型共訓(xùn)練3 000次,結(jié)果見圖7。可見,訓(xùn)練達(dá)到約300次時(shí)模型精度提升最快,在500次左右時(shí)模型精度趨于穩(wěn)定,最終模型的精度為99.02%。在訓(xùn)練到500次左右模型平均準(zhǔn)確率提升較快,在2 500次左右趨于穩(wěn)定,最終平均準(zhǔn)確率為90.14%,基本滿足茶葉嫩芽檢測(cè)需求。
圖7 茶葉嫩芽檢測(cè)模型訓(xùn)練結(jié)果Fig.7 Tea shoot detection model training results
2.2.3不同檢測(cè)算法對(duì)比分析
表1示出YOLOv5、SSD和Faster R-CNN算法對(duì)相同數(shù)據(jù)集的訓(xùn)練結(jié)果。在平均檢測(cè)時(shí)間上,YOLOv5對(duì)單張圖片的處理時(shí)間為9 ms,略優(yōu)于SSD,明顯優(yōu)于Faster R-CNN。這是由于使用了一階檢測(cè)算法的YOLOv5和SSD在對(duì)圖像進(jìn)行處理的時(shí)候無需先生成特征框,使得其識(shí)別速度快,要優(yōu)于使用二階檢測(cè)算法的Faster R-CNN。
表1 YOLOv5、SSD和Faster R-CNN算法對(duì)相同數(shù)據(jù)集的訓(xùn)練結(jié)果Table 1 Training results of YOLOv5,SSD and Faster R-CNN algorithms on the same dataset
在圖像識(shí)別的準(zhǔn)確率上,使用二階檢測(cè)算法的Faster R-CNN的平均準(zhǔn)確率達(dá)到94.34%高于YOLOv5和SSD,但差距不太明顯。在網(wǎng)絡(luò)模型的大小上,YOLOv5的優(yōu)點(diǎn)體現(xiàn)的較為明顯,僅需13.7 MB,這使得YOLOv5適合在移動(dòng)設(shè)備上使用。
綜合考慮平均準(zhǔn)確率、檢測(cè)時(shí)間和網(wǎng)絡(luò)模型大小后選擇使用YOLOv5作為茶葉嫩芽的目標(biāo)檢測(cè)算法。
2.3.1評(píng)價(jià)指標(biāo)
本研究使用相對(duì)誤差δ作為估產(chǎn)方法精度的評(píng)價(jià)指標(biāo),具體公式為:
(8)
式中:x表示估計(jì)產(chǎn)量;μ表示實(shí)際產(chǎn)量。
2.3.2估產(chǎn)試驗(yàn)
估產(chǎn)試驗(yàn)用到的茶葉圖像采集裝置見圖8,該裝置由攝像頭、圖像采集架和電腦組成,采集架的底部長和寬都為50 cm,抽樣區(qū)域面積為0.25 m2。攝像頭將采集到的圖像送入目標(biāo)檢測(cè)算法中處理,先利用算法識(shí)別出抽樣區(qū)域內(nèi)的茶葉嫩芽數(shù)量,再結(jié)合抽樣面積和茶園茶葉種植面積估算出茶園嫩芽總體數(shù)量,最后將嫩芽數(shù)量帶入式(5)估算出茶園茶葉產(chǎn)量。估產(chǎn)試驗(yàn)在3條茶壟中隨機(jī)抽取了9個(gè)抽樣點(diǎn),每條茶壟寬約1 m,長約50 m,試驗(yàn)茶壟總面積為150 m2,茶園茶葉種植面積約為20 000 m2。
1.攝像頭;2.圖像采集架;3.圖像采集區(qū)域;4.電腦1.Camera;2.Image acquisition bracket;3.Image acquisition area;4.Computer圖8 茶葉圖像采集裝置Fig.8 Tea image acquisition device
田間試驗(yàn)中抽樣點(diǎn)的茶葉嫩芽識(shí)別結(jié)果見表2??梢?,嫩芽個(gè)數(shù)分布較為均勻,9個(gè)抽樣點(diǎn)嫩芽平均個(gè)數(shù)為12.11個(gè),結(jié)合抽樣區(qū)域面積可計(jì)算嫩芽平均生長密度為48.44個(gè)/m2,可以此密度估算茶園茶葉嫩芽產(chǎn)量。抽樣點(diǎn)嫩芽的識(shí)別效果見圖9,可以看出本研究算法可以準(zhǔn)確的識(shí)別出抽樣區(qū)域的茶葉嫩芽。
表2 抽樣點(diǎn)茶葉嫩芽識(shí)別結(jié)果Table 2 Identification results of tea buds at sampling points
由抽樣點(diǎn)茶葉嫩芽數(shù)量和嫩芽密度(表2)結(jié)合茶園面積可估算出茶園茶葉嫩芽產(chǎn)量,結(jié)果見表3。對(duì)于茶葉種植面積為150 m2的試驗(yàn)茶地,估計(jì)產(chǎn)量為0.73 kg,實(shí)際采收產(chǎn)量為0.58 kg,相對(duì)誤差為25.86%。對(duì)于茶葉種植面積為20 000 m2的茶園,估計(jì)產(chǎn)量為97.17 kg,實(shí)際采收產(chǎn)量約為75 kg,相對(duì)誤差為29.56%。綜上,利用圖像數(shù)據(jù)識(shí)別的方法估計(jì)茶園嫩芽產(chǎn)量基本可行。
1.識(shí)別到的茶葉嫩芽;2.圖像采集架1.Identified tea buds;2.Image acquisition bracket圖9 抽樣點(diǎn)茶葉嫩芽識(shí)別效果Fig.9 Identification effect of tea buds at sampling points
表3 茶園茶葉嫩芽估產(chǎn)結(jié)果Table 3 Yield estimation results of tea buds in tea farm
本研究提出了一種基于YOLOv5的茶葉嫩芽估產(chǎn)方法,并在田間展開相關(guān)試驗(yàn)工作驗(yàn)證此方法的可靠性。主要結(jié)論如下:
1)YOLOv5算法可以用于茶葉嫩芽檢測(cè)。本研究算法對(duì)于茶葉嫩芽識(shí)別精度為99.02%,平均準(zhǔn)確率為90.14%。
2)本研究算法可快速的估計(jì)出茶葉嫩芽產(chǎn)量。嫩芽估計(jì)產(chǎn)量與實(shí)際采收產(chǎn)量相對(duì)誤差為29.56%,證明本研究算法具有一定的可行性。如增加抽樣點(diǎn)樣本數(shù)量、提高茶場(chǎng)有效種植面積統(tǒng)計(jì)精度,可以進(jìn)一步提茶葉嫩芽估產(chǎn)的準(zhǔn)確性。
對(duì)于小規(guī)模的茶葉產(chǎn)量估計(jì),本研究在傳統(tǒng)的田間抽樣調(diào)查法的基礎(chǔ)上做出改進(jìn),用圖像識(shí)別的方式替代了人工識(shí)別嫩芽,以抽樣點(diǎn)的茶葉生長情況為依據(jù)估算出茶園嫩芽的產(chǎn)量,為小規(guī)模茶園農(nóng)戶提供茶葉嫩芽產(chǎn)量相關(guān)的數(shù)據(jù)支持,便于茶葉生產(chǎn)的前期管理。下一步可將本估產(chǎn)方法移植到手機(jī)中,農(nóng)戶可通過手機(jī)攝像頭拍攝茶葉照片,快速的估計(jì)出茶園嫩芽產(chǎn)量。