劉海濤, 韓鑫*, 蘭玉彬, 2, 伊麗麗, 王寶聚, 崔立華
(1.山東理工大學農業工程與食品科學學院, 山東淄博 255000;2.山東省農業航空智能裝備工程技術研究中心, 山東淄博 255000;3.山東綠風農業集團有限公司, 山東濱州 256600)
我國是世界上較大的棉花生產國和消費國, 棉花產業與人們的日常生活息息相關。近年來,由于種植成本高昂、機械化生產程度低等因素導致我國棉花種植面積和產量自2011年以來不斷減少[1-5]。棉花打頂是田間栽培管理過程中的重要環節, 擺脫人工打頂促進機械化打頂是降低成本、提升棉花生產效率的重要手段[6-7]。對于棉花打頂機的設計, 首要任務和工作重點是在復雜的田間環境、枝葉對頂芽的遮擋以及不損傷棉桃的情況下, 精準去除頂芽。因此對棉花株頂的精準定位是關鍵。
傳統的棉花打頂機基本上采用仿形裝置和測量棉株高度2種方法進行棉株的識別定位。滕華燈等[8]研制了3FDD-1800型打頂機, 通過對仿形輪結構的優化對比, 最終選擇斜拉式仿形輪進行棉田地塊的仿形。然而該設計忽略了棉株生長高度的差異, 不能對棉株直接仿形, 打頂效果不佳。姚強強等[9]設計了接觸式仿形裝置, 通過調整仿形板質量、仿形板與切割器之間的位置參數等, 使打頂率達到了88.64%。但該裝置對仿形板質量要求高, 對仿形效果影響大。周海燕等[10]對不同傳感器測量株高進行了對比試驗, 結果表明, 相較于超聲波傳感器, 激光傳感器測量誤差小, 更適合測量棉株高度。但外界環境對傳感器測量精度影響大且價格昂貴。彭強吉等[11]采用光電傳感器設計了一套測量光幕裝置, 通過發射器產生的等間距光束掃描棉株從而實現高精度的實時測量, 但該方法也未能考慮實際環境對測量精度的影響, 且價格高昂貴。綜上所述, 不論是采用仿形裝置還是使用傳感器都未能很好地解決打頂機對棉株的精準定位以及外界環境給測量過程帶來的干擾問題, 進而影響打頂刀軸的作業精度, 存在漏刀、過切、對棉桃的損傷等問題, 給大規模應用推廣帶來阻礙[12-13]。
隨著圖像處理與人工神經網絡等相關技術的發展, 基于棉株頂芽的顏色特征、形態特征進行識別定位的研究也取得進展。研究人員通過對采集的棉株圖像進行灰度化、二值化、除噪、邊緣提取等處理, 最終獲得分割后的頂芽信息, 從而實現棉株的識別定位。劉俊奇[14]提出一種基于BP神經網絡的棉株頂尖識別方法, 基于頂尖圖像信息, 利用BP神經網絡進行識別, 但該方法對圖像分割結果要求高。瞿端陽[15]通過對比棉株頂芽在HSI、YIQ、YCbCr不同顏色空間下的分割效果, 最終確定采用YCbCr顏色空間進行分割, 其正確率達到了86%。采用BP神經網絡對分割結果進行訓練, 最終在測試集的識別精度為85.7%。但該方法識別耗時長, 且未考慮遮擋等情況。近年來基于深度學習方法在農產品的識別和病蟲害檢測方面的應用發展迅速, 這也為棉株頂芽的識別研究帶來新思路。沈曉晨[16]借鑒YOLOv3的柵格思想, 利用遷移能力較好的VGG16網絡對棉株頂芽圖像進行訓練, 經過1 000次迭代, 模型最終在測試集上的識別精度達到了83.4%。該研究探索了利用深度學習框架進行棉株頂芽識別的可行性, 但由于采集圖像數據量少, 模型在訓練過程中產生了過擬合現象。研究人員利用傳統的圖像處理方法對頂芽圖像進行了大量研究, 而使用深度學習在棉花頂芽的精準識別方面研究還不夠深入, 檢測精度不理想, 未能考慮不同自然環境以及葉片遮擋等情況對棉花頂芽識別精度的影響。因此, 為提供在復雜棉田環境下對棉株頂芽進行非接觸式、低成本的精準識別方法, 本文基于YOLOv4模型在復雜環境下對棉株頂芽的精準識別定位進行了研究。
圖像采集于山東綠風農業集團有限公司棉花基地(山東無棣), 棉花品種為魯棉532, 種植模式為一模三行, 76 cm等行距, 采集設備為索尼HDR-CX900E全高清攝像機, 分辨率為5 024像素×2 824像素。采集時間分別在每天上午6:00—9:00、下午3:00—5:00之間, 為了模擬棉花打頂機攝像頭的拍攝姿態, 在距離棉花頂葉30~50 cm的自然光照下采取俯視角度進行拍攝,共采集到2 900張頂芽圖像(表1), 涵蓋了順光、逆光、側光等拍攝方式, 晴天、陰天、雨天等光照條件以及單株、多株、遮擋等植株自然狀態(圖1)。順光指光線照射方向與照相機拍攝方向一致且二者夾角在±10°以內, 逆光指光線照射方向與照相機拍攝方向相反或二者成鈍角關系, 側光指光線照射方向與照相機拍攝方向成90°或二者成銳角關系。

圖1 自然環境下的棉花頂芽圖像Fig.1 Image of cotton top in natural environment

表1 不同條件下棉花頂芽數量統計Table 1 Statistics of cotton top leaves under different conditions
在訓練深度網絡模型時, 為了保證棉花頂葉圖像數據的多樣性, 提高網絡泛化能力, 避免過小的數據量使訓練網絡產生過擬合[17-19], 利用數據增強方法對原始圖像進行數據擴展。利用左右翻轉、裁剪、旋轉、添加高斯噪聲及調整色調飽和度等方法, 得到14 500張有效圖像來制作數據集, 其中旋轉角度在-90°到90°范圍內隨機選擇。使用LabelImg工具對檢測目標進行人工標注制作樣本標簽, 然后按照8∶1∶1的比例劃分訓練集11 745張、驗證集1 305張、測試集1 450張, 并且將生成的xml類型文件, 按照PASCAL VOC數據集的格式進行保存。
1.3.1 YOLOv4模型YOLOv4目標檢測模型是YOLO(You Only Look Once)系列的第4個版本[20], 該模型基于回歸的思路, 在完成目標定位的同時實現目標分類, 不再生成候選區域框[21-25]。YOLOv4主干特征提取網絡為CSPDarknet53, 即在Darknet53網絡基礎上引入CSPnet結構。CSPDarknet53主要由2個網絡模塊構成(圖2), CBM模塊即卷積模塊包括卷積(convolution)、批量歸一化(batch normalization, BN)、Mish激活函數操作;Resblock_Body為殘差模塊, 其中Res_unit為殘差單元。此外YOLOv4結合了SPP(spatial pyramid pooling)[26]、PANet(path aggregation network)[27]2種特征金字塔結構, 利用SPP模塊的1×1、3×3、5×5、13×13尺度的池化核對最后特征圖層進行最大池化處理, 如圖3所示。YOLOv4在特征金字塔網絡(feature pyramid networks, FPN)基礎上添加了自下而上的路徑增強, 即PANet結構, 通過2次步長為2的上采樣和2次步長為2的下采樣實現特征圖信息由深層特征到淺層特征、淺層特征到深層特征的雙向融合。

圖2 YOLOv4網絡結構Fig.2 YOLOv4 network structure

圖3 SPP網絡結構Fig.3 Network structure of SPP
1.3.2 邊界框分類預測與損失函數YOLOv4有2種像素輸入模式, 本文采用416像素×416像素將輸入的棉花頂芽圖像縮放至該像素大小, 經CSPDarknet53主干網路以及SPP、PANet網絡模塊的特征提取與融合, 最終輸出3個大小為13×13×18、26×26×18、52×52×18的有效特征圖像來檢測棉花頂芽, 其中13、26、52為特征圖像素大小, 18為3個預測邊界框的位置。調整信息可用x、y、w、h、C來表示, 其中x、y為預測邊界框的中心位置調整參數,w、h為預測邊界框的寬高調整參數,C有2部分, 分別是當前單元網格中是否存在棉花頂芽目標以及預測概率, 最后通過得分排序和非極大值抑制(non-maximum suppression, NMS)從中篩選出棉花頂芽預測框。
不斷優化網絡損失函數, 降低誤差提升網絡檢測精度。YOLOv4利用CIOU損失[28-29]優化, 考慮真實框和預測框之間的重疊面積、中心點距離、長寬比3個因素, CIOU loss將框的寬高以及中心點聯系在一起, 使得預測框回歸誤差小, 定位精準。
1.3.3 K-means聚 類YOLOv4模 型 延 續 了YOLOv3在先驗框尺寸設置的策略, 使用K-means算法得到9個不同尺寸基于COCO數據集的先驗框。初始先驗框的選擇對模型預測精度和速度均會產生影響, 本文識別的棉花頂芽對象與COCO數據集在類別數目和目標尺寸以及分布上差異較大, 因此YOLOv4模型預先設定的先驗框尺寸并不適于頂芽識別, 使用K-means算法對棉花頂芽數據集進行聚類分析, 優化先驗框尺寸, 得到YOLOv4-Kmeans模型。不同于傳統的聚類方法使用歐氏距離, YOLO系列引入平均交并比(average intersection over union, AIoU)[30]方法對Kmeans聚類結果進行評價以降低誤差, 并定義了距離參數D。

式中,D(i,box)為標注框與聚類中心距離;IoU(i,box)為標注框與聚類中心的交并比;i為隨機設置的聚類中心;box為標注框。其中, IoU(i,box)值越大, 說明重合程度越高, 標注框與聚類中心的距離就越短, 聚類效果好。
隨機設置9個聚類中心對棉花頂芽數據集進行聚類分析, 得到平均交并比與聚類中心數之間的關系。
1.3.4 試驗環境與參數 棉花頂芽檢測模型試驗平臺為臺式計算機, 處理器為Intel Xeon CPU E5-2670@2.6GHz(2處理器), 32 GB運行內存, 顯卡為8 GB的NVIDIA GeForce GTX2 060s GPU, 軟件環境為Windows 7操作系統, 采用Pytorch深度學習框架進行模型訓練。訓練時, 32張圖像為1個批次(batch size), 初 始 學 習 率(learning rate)為0.001, 動量(momentum)設置為0.9, 權值衰減率(decay)為0.000 5, 訓練代數(epoch)為150, 進行49 950次迭代。
1.3.5 評價指標 模型的性能評估可以反映模型訓練結果的優劣, 并為后續改進優化提供參考, 本文以棉花頂芽的精準、快速識別為研究目的, 要求在保證檢測精度的同時兼顧速度。因此, 本文選擇平均精度(average precision, AP)、調和平均值(F1)、準確率(P)、召回率(R)、檢測時間(t)作為評價指標, 計算公式如下。

式中,TP為正樣本, 被檢測為正樣本的數量;FP為負樣本, 被檢測為正樣本的數量;FN為正樣本被檢測為負樣本的數量;n為類別數目;AP為平均精度,f(P,R)為P-R曲線所包圍的面積;F1為調和平均值。此外, 檢測時間t為單張棉株圖像平均處理時間(s)。
如圖4所示, 先驗框數量為9(K=9)時, 平均交并比最大為87%, 因此將聚類結果定為先驗框尺寸分別是(39,66)(49,87)(57,110)(62,95)、(69,131)(71,115)(83,144)(104,177)(110,87)。

圖4 先驗框數量與平均交并比之間的關系Fig.4 Relationship between the number of anchors and AIoU
圖5所示為損失函數隨迭代次數的變化曲線, 可以看出, 前5 000次迭代, 損失值迅速下降, 模型快速收斂, 至迭代10 000次損失函數趨于穩定, 而40 000次迭代以后損失值振蕩幅度較小, 表明訓練結果較好, 自此每訓練1 000次, 輸出1個權重, 共得到9個權重模型供后續選優。

圖5 棉花頂芽識別損失函數曲線Fig.5 Relationship of cotton top loss function curve
通過訓練共得到9個權重模型, 性能參數如表2所示, 平均精度都在98%以上, 模型8的平均精度值最高達到了99.44%, 而兼顧了模型精確率和召回率的綜合指標F1值最高為96.84%, 雖然模型4的平均精度值較模型8低了0.04個百分點, 但F1值和準確率提高了1.77個百分點和3.29個百分點, 表現更好。因此綜合來看模型4可選作棉花頂芽測試模型。

表2 訓練權重模型對比Table 2 Comparison of training weight models
2.4.1 優化前后模型檢測性能比較 本文在YOLOv4模型的基礎上, 利用K-means算法對棉花頂芽圖像數據集進行重新聚類, 優化了先驗框的尺寸, 優化前后的網絡性能對比效果如表3所示, 聚類后YOLOv4模型在各個指標方面均有不同程度的提高, 其中精確率提升幅度最大, 增加了1.73個百分點, 召回率提升了0.52個百分點,F1值提升了1.16個百分點, 平均精度提高了0.36個百分點, 并且單張圖片的檢測時間縮短了0.28 s。說明通過對先驗框聚類可以提升棉花頂芽檢測性能。

表3 優化前后模型性能的指標對比Table 3 Comparison of the performance indexes of the model before and after optimization
圖6為YOLOv4模型聚類前后對棉花頂芽檢測的P-R曲線(YOLOv4-Kmeans即為調整先驗框后YOLOv4模型), 曲線下方所圍成的面積即為該模型對應的AP值, 因此該曲線越靠近右上角或右下角說明模型檢測效果越優, 可以看出對先驗框優化后的YOLOv4模型表現好于未優化模型。

圖6 P-R曲線Fig.6 P-R curve
2.4.2 模型檢測性能比較分析 為了進一步探究先驗框優化后YOLOv4模型與其他模型在棉花頂芽識別方面的優劣, 本文采用YOLOv3、Tiny-YOLOv4、SSD模型進行訓練, 初始參數均相同。如表4所示, 在相同的測試集下, 4個模型的平均精度以及召回率都達到了99%以上, 其中聚類優化后的YOLOv4比YOLOv3、Tiny-YOLOv4、SSD模型在檢測精確率方面提升明顯, 分別增加0.48%、21.65和22.18%。同樣,F1值也高出0.44%、12.85%、13.17%。而在檢測速度方面, 由于Tiny-YOLOv4是輕量化模型, 因此檢測耗時最短, 單張圖像平均檢測時間達到了0.53 s, 而YOLOv4模型單張圖像平均檢測時間對比YOLOv3、SSD模型分別縮短0.19和0.13 s。綜合分析表明, 先驗框聚類優化后的YOLOv4模型能夠在復雜的自然環境下有效檢測出棉花頂芽, 并且在識別精度和速度方面有優勢。如圖7所示, 在不同的拍攝環境下, 只有優化先驗框的YOLOv4模型(YOLOv4-Kmeans)能夠完整檢測出多株棉花頂芽, 而其他模型均未能檢測出位于圖像左側的1株棉株, 造成漏檢。另外在雨天以及輕度遮擋環境下, 所有模型均能準確檢測出棉株頂芽。

圖7 復雜環境下5種模型棉株頂芽識別結果Fig.7 Recognition results of cotton top by 5 models under complex environment

表4 四種模型識別棉花頂芽的結果Table 4 Recognition results of four models for cotton top
此外, 由于光照強度和光線角度的影響使得部分棉花頂芽圖像反光嚴重, 頂芽特征丟失, 因此處理逆光以及遮擋狀態的頂芽也是棉花頂芽檢測的重點和難點。除上述試驗外, 本文從測試集選取了334張存在逆光狀態的圖像以及138張存在遮擋狀態的圖像, 利用YOLOv4、YOLOv3、Tiny-YOLOv4、SSD模型對不同狀態下的頂芽進行檢測, 結果如表5所示。
由表5可知, 在逆光狀態下YOLOv4和SSD模型對棉花頂芽的檢測精度相差無幾, 均達到了99.9%以上, 高于YOLOv3、Tiny-YOLOv4模型0.5、0.29個百分點, YOLOv4模型F1值表現好于SSD模型, 且相比于表3和表4, 各個模型平均精度并沒有下降, 說明逆光環境對于棉花頂芽檢測精度影響不明顯。而在遮擋狀態下, SSD模型AP值高于YOLOv4模 型0.04個百 分點, 高 于YOLOv3模 型0.29個百分點, 高于Tiny-YOLOv4模型0.73個百分點, 但SSD模型在2種狀態下識別精確率偏低, 說明該模型對于棉花頂芽真假樣本的辨別能力弱。此外, 在遮擋狀態下4種模型的檢測精度相較于表3和表4均有下降, 這可能是因為其他葉片的遮擋使得棉花頂芽圖像部分特征缺失, 從而造成檢測精度的降低。綜上所述, YOLOv4模型在逆光狀態下對頂芽檢測性能好, 而在遮擋狀態下表現并不突出, 且各個模型的檢測精度在逆光條件下并未受到影響, 但在遮擋條件下的檢測精度均有不同程度的降低。

表5 逆光與遮擋狀態測試集不同模型檢測結果Table 5 Test results of backlight and occlusion state test sets by different models (%)
現階段我國棉花機械化打頂仍存在精度低、棉株損傷率高等問題, 其中對棉花頂芽的精準識別定位是減少刀軸過切、漏切率, 提高產量的重要手段。當前對于棉株的識別定位研究多集中在利用傳感器以及傳統圖像處理上, 隨著5G的出現以及計算機硬件的更新換代, 更快的數據處理速度讓深度學習方法在進行精準、快速的頂芽識別定位成為可能。YOLO是可以對目標實時識別和定位的端到端的深度卷積神經網絡模型[31], 該網絡在YOLOv3基礎上集成了更多的特征提取與融合方法, 相較YOLOv3, 該網絡的檢測精度和速度都更高, 性能優異。本文選取YOLOv4深度學習模型對棉花頂芽進行了研究, 利用K-means算法對棉花頂芽數據集重新聚類, 優化先驗框尺寸。對比原模型, 檢測平均精度提升了0.36個百分點, 單張圖像平均檢測時間縮短了0.28 s, 說明對模型的先驗框優化能夠提升棉花頂芽檢測精度。
與YOLOv3、Tiny-YOLOv4、SSD目標檢測模型相比, YOLOv4模型的檢測精確率和F1值最高, 說明該模型對精確率和召回率的兼顧性好;在檢測精度方面, SSD和Tiny-YOLOv4模型均有好的表現, 但兩者檢測準確率和檢測速度方面均不如YOLOv4。與沈曉晨[16]的方法相比, 本文數據集涵蓋了多種氣候條件, 豐富了數據多樣性, 在克服過擬合現象的同時, 大幅度提升了檢測精度。
本文在聚焦頂芽研究外, 還進一步探索了復雜的自然環境對棉花頂芽檢測的影響。利用YOLOv4、YOLOv3、Tiny-YOLOv4、SSD模型進行測試試驗,結果表明,各個模型在逆光環境下對于棉花頂芽檢測精度并沒有下降, 說明了逆光狀態對棉花頂芽檢測影響不明顯。但在遮擋情況下各個模型檢測精度均出現下降。
本文利用YOLOv4模型一方面為深度學習在棉花打頂領域的應用可行性作了探索研究, 另一方面也為后續實地試驗奠定基礎。未來需要提升棉株的檢測速度, 對處于不同生長期的頂芽分類研究, 以實現精細化打頂是后續的研究重點。