劉海濤, 韓鑫*, 蘭玉彬, 2, 伊麗麗, 王寶聚, 崔立華
(1.山東理工大學(xué)農(nóng)業(yè)工程與食品科學(xué)學(xué)院, 山東淄博 255000;2.山東省農(nóng)業(yè)航空智能裝備工程技術(shù)研究中心, 山東淄博 255000;3.山東綠風(fēng)農(nóng)業(yè)集團(tuán)有限公司, 山東濱州 256600)
我國是世界上較大的棉花生產(chǎn)國和消費(fèi)國, 棉花產(chǎn)業(yè)與人們的日常生活息息相關(guān)。近年來,由于種植成本高昂、機(jī)械化生產(chǎn)程度低等因素導(dǎo)致我國棉花種植面積和產(chǎn)量自2011年以來不斷減少[1-5]。棉花打頂是田間栽培管理過程中的重要環(huán)節(jié), 擺脫人工打頂促進(jìn)機(jī)械化打頂是降低成本、提升棉花生產(chǎn)效率的重要手段[6-7]。對于棉花打頂機(jī)的設(shè)計, 首要任務(wù)和工作重點是在復(fù)雜的田間環(huán)境、枝葉對頂芽的遮擋以及不損傷棉桃的情況下, 精準(zhǔn)去除頂芽。因此對棉花株頂?shù)木珳?zhǔn)定位是關(guān)鍵。
傳統(tǒng)的棉花打頂機(jī)基本上采用仿形裝置和測量棉株高度2種方法進(jìn)行棉株的識別定位。滕華燈等[8]研制了3FDD-1800型打頂機(jī), 通過對仿形輪結(jié)構(gòu)的優(yōu)化對比, 最終選擇斜拉式仿形輪進(jìn)行棉田地塊的仿形。然而該設(shè)計忽略了棉株生長高度的差異, 不能對棉株直接仿形, 打頂效果不佳。姚強(qiáng)強(qiáng)等[9]設(shè)計了接觸式仿形裝置, 通過調(diào)整仿形板質(zhì)量、仿形板與切割器之間的位置參數(shù)等, 使打頂率達(dá)到了88.64%。但該裝置對仿形板質(zhì)量要求高, 對仿形效果影響大。周海燕等[10]對不同傳感器測量株高進(jìn)行了對比試驗, 結(jié)果表明, 相較于超聲波傳感器, 激光傳感器測量誤差小, 更適合測量棉株高度。但外界環(huán)境對傳感器測量精度影響大且價格昂貴。彭強(qiáng)吉等[11]采用光電傳感器設(shè)計了一套測量光幕裝置, 通過發(fā)射器產(chǎn)生的等間距光束掃描棉株從而實現(xiàn)高精度的實時測量, 但該方法也未能考慮實際環(huán)境對測量精度的影響, 且價格高昂貴。綜上所述, 不論是采用仿形裝置還是使用傳感器都未能很好地解決打頂機(jī)對棉株的精準(zhǔn)定位以及外界環(huán)境給測量過程帶來的干擾問題, 進(jìn)而影響打頂?shù)遁S的作業(yè)精度, 存在漏刀、過切、對棉桃的損傷等問題, 給大規(guī)模應(yīng)用推廣帶來阻礙[12-13]。
隨著圖像處理與人工神經(jīng)網(wǎng)絡(luò)等相關(guān)技術(shù)的發(fā)展, 基于棉株頂芽的顏色特征、形態(tài)特征進(jìn)行識別定位的研究也取得進(jìn)展。研究人員通過對采集的棉株圖像進(jìn)行灰度化、二值化、除噪、邊緣提取等處理, 最終獲得分割后的頂芽信息, 從而實現(xiàn)棉株的識別定位。劉俊奇[14]提出一種基于BP神經(jīng)網(wǎng)絡(luò)的棉株頂尖識別方法, 基于頂尖圖像信息, 利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行識別, 但該方法對圖像分割結(jié)果要求高。瞿端陽[15]通過對比棉株頂芽在HSI、YIQ、YCbCr不同顏色空間下的分割效果, 最終確定采用YCbCr顏色空間進(jìn)行分割, 其正確率達(dá)到了86%。采用BP神經(jīng)網(wǎng)絡(luò)對分割結(jié)果進(jìn)行訓(xùn)練, 最終在測試集的識別精度為85.7%。但該方法識別耗時長, 且未考慮遮擋等情況。近年來基于深度學(xué)習(xí)方法在農(nóng)產(chǎn)品的識別和病蟲害檢測方面的應(yīng)用發(fā)展迅速, 這也為棉株頂芽的識別研究帶來新思路。沈曉晨[16]借鑒YOLOv3的柵格思想, 利用遷移能力較好的VGG16網(wǎng)絡(luò)對棉株頂芽圖像進(jìn)行訓(xùn)練, 經(jīng)過1 000次迭代, 模型最終在測試集上的識別精度達(dá)到了83.4%。該研究探索了利用深度學(xué)習(xí)框架進(jìn)行棉株頂芽識別的可行性, 但由于采集圖像數(shù)據(jù)量少, 模型在訓(xùn)練過程中產(chǎn)生了過擬合現(xiàn)象。研究人員利用傳統(tǒng)的圖像處理方法對頂芽圖像進(jìn)行了大量研究, 而使用深度學(xué)習(xí)在棉花頂芽的精準(zhǔn)識別方面研究還不夠深入, 檢測精度不理想, 未能考慮不同自然環(huán)境以及葉片遮擋等情況對棉花頂芽識別精度的影響。因此, 為提供在復(fù)雜棉田環(huán)境下對棉株頂芽進(jìn)行非接觸式、低成本的精準(zhǔn)識別方法, 本文基于YOLOv4模型在復(fù)雜環(huán)境下對棉株頂芽的精準(zhǔn)識別定位進(jìn)行了研究。
圖像采集于山東綠風(fēng)農(nóng)業(yè)集團(tuán)有限公司棉花基地(山東無棣), 棉花品種為魯棉532, 種植模式為一模三行, 76 cm等行距, 采集設(shè)備為索尼HDR-CX900E全高清攝像機(jī), 分辨率為5 024像素×2 824像素。采集時間分別在每天上午6:00—9:00、下午3:00—5:00之間, 為了模擬棉花打頂機(jī)攝像頭的拍攝姿態(tài), 在距離棉花頂葉30~50 cm的自然光照下采取俯視角度進(jìn)行拍攝,共采集到2 900張頂芽圖像(表1), 涵蓋了順光、逆光、側(cè)光等拍攝方式, 晴天、陰天、雨天等光照條件以及單株、多株、遮擋等植株自然狀態(tài)(圖1)。順光指光線照射方向與照相機(jī)拍攝方向一致且二者夾角在±10°以內(nèi), 逆光指光線照射方向與照相機(jī)拍攝方向相反或二者成鈍角關(guān)系, 側(cè)光指光線照射方向與照相機(jī)拍攝方向成90°或二者成銳角關(guān)系。
圖1 自然環(huán)境下的棉花頂芽圖像Fig.1 Image of cotton top in natural environment
表1 不同條件下棉花頂芽數(shù)量統(tǒng)計Table 1 Statistics of cotton top leaves under different conditions
在訓(xùn)練深度網(wǎng)絡(luò)模型時, 為了保證棉花頂葉圖像數(shù)據(jù)的多樣性, 提高網(wǎng)絡(luò)泛化能力, 避免過小的數(shù)據(jù)量使訓(xùn)練網(wǎng)絡(luò)產(chǎn)生過擬合[17-19], 利用數(shù)據(jù)增強(qiáng)方法對原始圖像進(jìn)行數(shù)據(jù)擴(kuò)展。利用左右翻轉(zhuǎn)、裁剪、旋轉(zhuǎn)、添加高斯噪聲及調(diào)整色調(diào)飽和度等方法, 得到14 500張有效圖像來制作數(shù)據(jù)集, 其中旋轉(zhuǎn)角度在-90°到90°范圍內(nèi)隨機(jī)選擇。使用LabelImg工具對檢測目標(biāo)進(jìn)行人工標(biāo)注制作樣本標(biāo)簽, 然后按照8∶1∶1的比例劃分訓(xùn)練集11 745張、驗證集1 305張、測試集1 450張, 并且將生成的xml類型文件, 按照PASCAL VOC數(shù)據(jù)集的格式進(jìn)行保存。
1.3.1 YOLOv4模型YOLOv4目標(biāo)檢測模型是YOLO(You Only Look Once)系列的第4個版本[20], 該模型基于回歸的思路, 在完成目標(biāo)定位的同時實現(xiàn)目標(biāo)分類, 不再生成候選區(qū)域框[21-25]。YOLOv4主干特征提取網(wǎng)絡(luò)為CSPDarknet53, 即在Darknet53網(wǎng)絡(luò)基礎(chǔ)上引入CSPnet結(jié)構(gòu)。CSPDarknet53主要由2個網(wǎng)絡(luò)模塊構(gòu)成(圖2), CBM模塊即卷積模塊包括卷積(convolution)、批量歸一化(batch normalization, BN)、Mish激活函數(shù)操作;Resblock_Body為殘差模塊, 其中Res_unit為殘差單元。此外YOLOv4結(jié)合了SPP(spatial pyramid pooling)[26]、PANet(path aggregation network)[27]2種特征金字塔結(jié)構(gòu), 利用SPP模塊的1×1、3×3、5×5、13×13尺度的池化核對最后特征圖層進(jìn)行最大池化處理, 如圖3所示。YOLOv4在特征金字塔網(wǎng)絡(luò)(feature pyramid networks, FPN)基礎(chǔ)上添加了自下而上的路徑增強(qiáng), 即PANet結(jié)構(gòu), 通過2次步長為2的上采樣和2次步長為2的下采樣實現(xiàn)特征圖信息由深層特征到淺層特征、淺層特征到深層特征的雙向融合。
圖2 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 YOLOv4 network structure
圖3 SPP網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure of SPP
1.3.2 邊界框分類預(yù)測與損失函數(shù)YOLOv4有2種像素輸入模式, 本文采用416像素×416像素將輸入的棉花頂芽圖像縮放至該像素大小, 經(jīng)CSPDarknet53主干網(wǎng)路以及SPP、PANet網(wǎng)絡(luò)模塊的特征提取與融合, 最終輸出3個大小為13×13×18、26×26×18、52×52×18的有效特征圖像來檢測棉花頂芽, 其中13、26、52為特征圖像素大小, 18為3個預(yù)測邊界框的位置。調(diào)整信息可用x、y、w、h、C來表示, 其中x、y為預(yù)測邊界框的中心位置調(diào)整參數(shù),w、h為預(yù)測邊界框的寬高調(diào)整參數(shù),C有2部分, 分別是當(dāng)前單元網(wǎng)格中是否存在棉花頂芽目標(biāo)以及預(yù)測概率, 最后通過得分排序和非極大值抑制(non-maximum suppression, NMS)從中篩選出棉花頂芽預(yù)測框。
不斷優(yōu)化網(wǎng)絡(luò)損失函數(shù), 降低誤差提升網(wǎng)絡(luò)檢測精度。YOLOv4利用CIOU損失[28-29]優(yōu)化, 考慮真實框和預(yù)測框之間的重疊面積、中心點距離、長寬比3個因素, CIOU loss將框的寬高以及中心點聯(lián)系在一起, 使得預(yù)測框回歸誤差小, 定位精準(zhǔn)。
1.3.3 K-means聚 類YOLOv4模 型 延 續(xù) 了YOLOv3在先驗框尺寸設(shè)置的策略, 使用K-means算法得到9個不同尺寸基于COCO數(shù)據(jù)集的先驗框。初始先驗框的選擇對模型預(yù)測精度和速度均會產(chǎn)生影響, 本文識別的棉花頂芽對象與COCO數(shù)據(jù)集在類別數(shù)目和目標(biāo)尺寸以及分布上差異較大, 因此YOLOv4模型預(yù)先設(shè)定的先驗框尺寸并不適于頂芽識別, 使用K-means算法對棉花頂芽數(shù)據(jù)集進(jìn)行聚類分析, 優(yōu)化先驗框尺寸, 得到Y(jié)OLOv4-Kmeans模型。不同于傳統(tǒng)的聚類方法使用歐氏距離, YOLO系列引入平均交并比(average intersection over union, AIoU)[30]方法對Kmeans聚類結(jié)果進(jìn)行評價以降低誤差, 并定義了距離參數(shù)D。
式中,D(i,box)為標(biāo)注框與聚類中心距離;IoU(i,box)為標(biāo)注框與聚類中心的交并比;i為隨機(jī)設(shè)置的聚類中心;box為標(biāo)注框。其中, IoU(i,box)值越大, 說明重合程度越高, 標(biāo)注框與聚類中心的距離就越短, 聚類效果好。
隨機(jī)設(shè)置9個聚類中心對棉花頂芽數(shù)據(jù)集進(jìn)行聚類分析, 得到平均交并比與聚類中心數(shù)之間的關(guān)系。
1.3.4 試驗環(huán)境與參數(shù) 棉花頂芽檢測模型試驗平臺為臺式計算機(jī), 處理器為Intel Xeon CPU E5-2670@2.6GHz(2處理器), 32 GB運(yùn)行內(nèi)存, 顯卡為8 GB的NVIDIA GeForce GTX2 060s GPU, 軟件環(huán)境為Windows 7操作系統(tǒng), 采用Pytorch深度學(xué)習(xí)框架進(jìn)行模型訓(xùn)練。訓(xùn)練時, 32張圖像為1個批次(batch size), 初 始 學(xué) 習(xí) 率(learning rate)為0.001, 動量(momentum)設(shè)置為0.9, 權(quán)值衰減率(decay)為0.000 5, 訓(xùn)練代數(shù)(epoch)為150, 進(jìn)行49 950次迭代。
1.3.5 評價指標(biāo) 模型的性能評估可以反映模型訓(xùn)練結(jié)果的優(yōu)劣, 并為后續(xù)改進(jìn)優(yōu)化提供參考, 本文以棉花頂芽的精準(zhǔn)、快速識別為研究目的, 要求在保證檢測精度的同時兼顧速度。因此, 本文選擇平均精度(average precision, AP)、調(diào)和平均值(F1)、準(zhǔn)確率(P)、召回率(R)、檢測時間(t)作為評價指標(biāo), 計算公式如下。
式中,TP為正樣本, 被檢測為正樣本的數(shù)量;FP為負(fù)樣本, 被檢測為正樣本的數(shù)量;FN為正樣本被檢測為負(fù)樣本的數(shù)量;n為類別數(shù)目;AP為平均精度,f(P,R)為P-R曲線所包圍的面積;F1為調(diào)和平均值。此外, 檢測時間t為單張棉株圖像平均處理時間(s)。
如圖4所示, 先驗框數(shù)量為9(K=9)時, 平均交并比最大為87%, 因此將聚類結(jié)果定為先驗框尺寸分別是(39,66)(49,87)(57,110)(62,95)、(69,131)(71,115)(83,144)(104,177)(110,87)。
圖4 先驗框數(shù)量與平均交并比之間的關(guān)系Fig.4 Relationship between the number of anchors and AIoU
圖5所示為損失函數(shù)隨迭代次數(shù)的變化曲線, 可以看出, 前5 000次迭代, 損失值迅速下降, 模型快速收斂, 至迭代10 000次損失函數(shù)趨于穩(wěn)定, 而40 000次迭代以后損失值振蕩幅度較小, 表明訓(xùn)練結(jié)果較好, 自此每訓(xùn)練1 000次, 輸出1個權(quán)重, 共得到9個權(quán)重模型供后續(xù)選優(yōu)。
圖5 棉花頂芽識別損失函數(shù)曲線Fig.5 Relationship of cotton top loss function curve
通過訓(xùn)練共得到9個權(quán)重模型, 性能參數(shù)如表2所示, 平均精度都在98%以上, 模型8的平均精度值最高達(dá)到了99.44%, 而兼顧了模型精確率和召回率的綜合指標(biāo)F1值最高為96.84%, 雖然模型4的平均精度值較模型8低了0.04個百分點, 但F1值和準(zhǔn)確率提高了1.77個百分點和3.29個百分點, 表現(xiàn)更好。因此綜合來看模型4可選作棉花頂芽測試模型。
表2 訓(xùn)練權(quán)重模型對比Table 2 Comparison of training weight models
2.4.1 優(yōu)化前后模型檢測性能比較 本文在YOLOv4模型的基礎(chǔ)上, 利用K-means算法對棉花頂芽圖像數(shù)據(jù)集進(jìn)行重新聚類, 優(yōu)化了先驗框的尺寸, 優(yōu)化前后的網(wǎng)絡(luò)性能對比效果如表3所示, 聚類后YOLOv4模型在各個指標(biāo)方面均有不同程度的提高, 其中精確率提升幅度最大, 增加了1.73個百分點, 召回率提升了0.52個百分點,F1值提升了1.16個百分點, 平均精度提高了0.36個百分點, 并且單張圖片的檢測時間縮短了0.28 s。說明通過對先驗框聚類可以提升棉花頂芽檢測性能。
表3 優(yōu)化前后模型性能的指標(biāo)對比Table 3 Comparison of the performance indexes of the model before and after optimization
圖6為YOLOv4模型聚類前后對棉花頂芽檢測的P-R曲線(YOLOv4-Kmeans即為調(diào)整先驗框后YOLOv4模型), 曲線下方所圍成的面積即為該模型對應(yīng)的AP值, 因此該曲線越靠近右上角或右下角說明模型檢測效果越優(yōu), 可以看出對先驗框優(yōu)化后的YOLOv4模型表現(xiàn)好于未優(yōu)化模型。
圖6 P-R曲線Fig.6 P-R curve
2.4.2 模型檢測性能比較分析 為了進(jìn)一步探究先驗框優(yōu)化后YOLOv4模型與其他模型在棉花頂芽識別方面的優(yōu)劣, 本文采用YOLOv3、Tiny-YOLOv4、SSD模型進(jìn)行訓(xùn)練, 初始參數(shù)均相同。如表4所示, 在相同的測試集下, 4個模型的平均精度以及召回率都達(dá)到了99%以上, 其中聚類優(yōu)化后的YOLOv4比YOLOv3、Tiny-YOLOv4、SSD模型在檢測精確率方面提升明顯, 分別增加0.48%、21.65和22.18%。同樣,F1值也高出0.44%、12.85%、13.17%。而在檢測速度方面, 由于Tiny-YOLOv4是輕量化模型, 因此檢測耗時最短, 單張圖像平均檢測時間達(dá)到了0.53 s, 而YOLOv4模型單張圖像平均檢測時間對比YOLOv3、SSD模型分別縮短0.19和0.13 s。綜合分析表明, 先驗框聚類優(yōu)化后的YOLOv4模型能夠在復(fù)雜的自然環(huán)境下有效檢測出棉花頂芽, 并且在識別精度和速度方面有優(yōu)勢。如圖7所示, 在不同的拍攝環(huán)境下, 只有優(yōu)化先驗框的YOLOv4模型(YOLOv4-Kmeans)能夠完整檢測出多株棉花頂芽, 而其他模型均未能檢測出位于圖像左側(cè)的1株棉株, 造成漏檢。另外在雨天以及輕度遮擋環(huán)境下, 所有模型均能準(zhǔn)確檢測出棉株頂芽。
圖7 復(fù)雜環(huán)境下5種模型棉株頂芽識別結(jié)果Fig.7 Recognition results of cotton top by 5 models under complex environment
表4 四種模型識別棉花頂芽的結(jié)果Table 4 Recognition results of four models for cotton top
此外, 由于光照強(qiáng)度和光線角度的影響使得部分棉花頂芽圖像反光嚴(yán)重, 頂芽特征丟失, 因此處理逆光以及遮擋狀態(tài)的頂芽也是棉花頂芽檢測的重點和難點。除上述試驗外, 本文從測試集選取了334張存在逆光狀態(tài)的圖像以及138張存在遮擋狀態(tài)的圖像, 利用YOLOv4、YOLOv3、Tiny-YOLOv4、SSD模型對不同狀態(tài)下的頂芽進(jìn)行檢測, 結(jié)果如表5所示。
由表5可知, 在逆光狀態(tài)下YOLOv4和SSD模型對棉花頂芽的檢測精度相差無幾, 均達(dá)到了99.9%以上, 高于YOLOv3、Tiny-YOLOv4模型0.5、0.29個百分點, YOLOv4模型F1值表現(xiàn)好于SSD模型, 且相比于表3和表4, 各個模型平均精度并沒有下降, 說明逆光環(huán)境對于棉花頂芽檢測精度影響不明顯。而在遮擋狀態(tài)下, SSD模型AP值高于YOLOv4模 型0.04個百 分點, 高 于YOLOv3模 型0.29個百分點, 高于Tiny-YOLOv4模型0.73個百分點, 但SSD模型在2種狀態(tài)下識別精確率偏低, 說明該模型對于棉花頂芽真假樣本的辨別能力弱。此外, 在遮擋狀態(tài)下4種模型的檢測精度相較于表3和表4均有下降, 這可能是因為其他葉片的遮擋使得棉花頂芽圖像部分特征缺失, 從而造成檢測精度的降低。綜上所述, YOLOv4模型在逆光狀態(tài)下對頂芽檢測性能好, 而在遮擋狀態(tài)下表現(xiàn)并不突出, 且各個模型的檢測精度在逆光條件下并未受到影響, 但在遮擋條件下的檢測精度均有不同程度的降低。
表5 逆光與遮擋狀態(tài)測試集不同模型檢測結(jié)果Table 5 Test results of backlight and occlusion state test sets by different models (%)
現(xiàn)階段我國棉花機(jī)械化打頂仍存在精度低、棉株損傷率高等問題, 其中對棉花頂芽的精準(zhǔn)識別定位是減少刀軸過切、漏切率, 提高產(chǎn)量的重要手段。當(dāng)前對于棉株的識別定位研究多集中在利用傳感器以及傳統(tǒng)圖像處理上, 隨著5G的出現(xiàn)以及計算機(jī)硬件的更新?lián)Q代, 更快的數(shù)據(jù)處理速度讓深度學(xué)習(xí)方法在進(jìn)行精準(zhǔn)、快速的頂芽識別定位成為可能。YOLO是可以對目標(biāo)實時識別和定位的端到端的深度卷積神經(jīng)網(wǎng)絡(luò)模型[31], 該網(wǎng)絡(luò)在YOLOv3基礎(chǔ)上集成了更多的特征提取與融合方法, 相較YOLOv3, 該網(wǎng)絡(luò)的檢測精度和速度都更高, 性能優(yōu)異。本文選取YOLOv4深度學(xué)習(xí)模型對棉花頂芽進(jìn)行了研究, 利用K-means算法對棉花頂芽數(shù)據(jù)集重新聚類, 優(yōu)化先驗框尺寸。對比原模型, 檢測平均精度提升了0.36個百分點, 單張圖像平均檢測時間縮短了0.28 s, 說明對模型的先驗框優(yōu)化能夠提升棉花頂芽檢測精度。
與YOLOv3、Tiny-YOLOv4、SSD目標(biāo)檢測模型相比, YOLOv4模型的檢測精確率和F1值最高, 說明該模型對精確率和召回率的兼顧性好;在檢測精度方面, SSD和Tiny-YOLOv4模型均有好的表現(xiàn), 但兩者檢測準(zhǔn)確率和檢測速度方面均不如YOLOv4。與沈曉晨[16]的方法相比, 本文數(shù)據(jù)集涵蓋了多種氣候條件, 豐富了數(shù)據(jù)多樣性, 在克服過擬合現(xiàn)象的同時, 大幅度提升了檢測精度。
本文在聚焦頂芽研究外, 還進(jìn)一步探索了復(fù)雜的自然環(huán)境對棉花頂芽檢測的影響。利用YOLOv4、YOLOv3、Tiny-YOLOv4、SSD模型進(jìn)行測試試驗,結(jié)果表明,各個模型在逆光環(huán)境下對于棉花頂芽檢測精度并沒有下降, 說明了逆光狀態(tài)對棉花頂芽檢測影響不明顯。但在遮擋情況下各個模型檢測精度均出現(xiàn)下降。
本文利用YOLOv4模型一方面為深度學(xué)習(xí)在棉花打頂領(lǐng)域的應(yīng)用可行性作了探索研究, 另一方面也為后續(xù)實地試驗奠定基礎(chǔ)。未來需要提升棉株的檢測速度, 對處于不同生長期的頂芽分類研究, 以實現(xiàn)精細(xì)化打頂是后續(xù)的研究重點。