王季
(200093 上海市 上海理工大學 機械工程學院)
目前,在室外野外圖像中進行準確的小麥頭視覺檢測依然具有挑戰性。密集的小麥植株經常重疊,風會使照片模糊;外觀會因成熟度、顏色、基因型和頭部方向而異。由于小麥在世界范圍內種植,因此必須考慮不同的品種、種植密度、樣式和田間條件,針對小麥麥穗開發的模型需要適應不同的生長環境。當前的檢測方法涉及一級和二級檢測器,但是即使在使用大型數據集進行訓練時,仍然存在對訓練區域的過度擬合[1-2]。
本文所用數據集源于Kaggle 的Global Wheat Detection 比賽,該數據集是由來自7 個國家的研究機構牽頭,包括東京大學、法國國家農業食品與環境研究院、阿爾瓦利斯植物研究院、蘇黎世聯邦理工學院、薩斯喀徹溫大學、昆士蘭大學、南京農業大學和英國洛桑研究所。該數據集提供了尺寸為1 024×1 024 的小麥圖片共3 422 張,給出麥穗邊界框的中心點的坐標以及邊界框的尺寸。本次比賽提供的數據集相關尺寸見表1。

表1 小麥相關數據Tab.1 Wheat related data
表1 中:寬度,高度——數據集中圖片的寬和高;麥穗框坐標——圖片中麥穗邊界框中心點坐標以及邊界框的長、寬;來源地——圖片中小麥的來源地。
根據表1 數據,結合具體的小麥圖片可知,對小麥麥穗檢測的難點如下:
(1)密集的小麥植株經常重疊;
(2)風會使照片模糊;
(3)外觀會因成熟度、顏色、基因型和頭部方向而異,且地域來源分布對外觀的影響尤為重要。地域來源分布如圖1 所示。

圖1 小麥來源分布圖Fig.1 Wheat source distribution map
使用LabelImg 開源圖像標注工具對部分標注不準確的邊界框進行了修正,輸出修正后的新數據集,下面訓練過程將使用修正過后的數據集。
將數據集進行StratifiedKFold 交叉驗證。劃分后得到5 組數據集,每組數據集分布為訓練集2 800 張,測試集573 張。對數據集劃分的具體實現方式為以小麥的來源為依據,對數據集進行有策略的五折交叉驗證劃分,使得劃分出來的訓練集和測試集的小麥來源分布保持和未劃分之前的數據集一致,以避免因為分布不均衡而使模型效果不佳。
原始圖片為1 024×1 024,若使用該尺寸圖片進行訓練容易造成溢出顯存的現象,因此將圖片轉換成512×512 尺寸,且對圖片進行數據增強。
使用Pytorch 框架加載圖片的過程中,針對密集的小麥植株經常重疊以及風會使得采樣得到的小麥圖片變得模糊這一難例,對訓練集采樣mixup 方法進行圖像增強,具體實現方法如下:
對于輸入的一個批量的訓練圖片,采取部分直接加載圖片,部分將其和隨機抽取的圖片進行相加融合,融合比例λ=0.8,融合時將兩張圖片對應的每個像素值按融合比例對應相加,得到混合張量X,公式如式(1):

式中:M1——原始圖片;M2——隨機挑選出來的圖片;λ——融合比例;X——混合張量。
混合張量X 即為新的輸入變量,傳遞給模型得到輸出張量Y,隨后計算損失函數時,針對2個圖片的標簽分別計算損失函數,然后按照比例λ進行損失函數的加權求和,公式如式(2):

式中:λ——融合比例;Y——預測值;T1——原始圖片的標簽;T2——隨機抽取的圖片的標簽;criterion()——損失函數;L——總損失函數
mixup 實現的效果如圖2 所示。

圖2 圖片融合效果圖Fig.2 Mixup effect drawing
EfficientDet 使用EfficientNet 網格作為主干網絡,同時提出BiFPN,使模型實現高效的雙向跨尺度連接和加權特征融合[3],其結構圖如圖3 所示?;谝陨系奶攸c,EfficientDet-D7 在COCO 數據集上實現了當前最優的51.0mAP,準確率超越之前最優檢測器(+0.3%mAP),其規模僅為之前最優檢測器的1/4,而后者的FLOPS更是EfficientDet-D7 的9.3 倍[4]。所以,本文選用EfficientDet 作為實驗模型。

圖3 EfficientDet 結構圖Fig.3 EfficientDet architecture
對劃分出的3373 副小麥數據集進行訓練,模型基于pytorch 框架編寫,系統試驗的硬件環境為CentOs 系統,NVIDIA Tesla v100 顯卡。實驗參數如下:Batch_size=2,number_workers=2,n_poches=40,lr=0.000 4。
對五折劃分后的數據集分別采用EfficientDet進行訓練,得到5 個目標檢測模型。采用多個檢測模型分別對訓練集進行檢測,然后對訓練集的檢測結果采用加權盒融合算法進行檢測結果的融合,具體實現方法如下:
每個模型的每個預測框都被添加到一個列表B 中。該列表按置信度得分的降序排序。
為盒子簇和融合盒子定義空列表L 和F。列表L 中的每個位置可以包含一組盒子(或單個盒子),形成一個簇。F 中的每個位置只包含一個盒子,這是來自L 中相應聚類的融合盒子。生成融合盒子的方程將在后面討論。
循環遍歷B 中的預測框,并嘗試在列表F中找到匹配的框。匹配被定義為與所討論的框有很大重疊的框(IoU>0.55)。如果未找到匹配,則將列表B 中的框添加到列表L 和F 內,作為新條目。進入B 中的下一個預測框,如果找到匹配,則將此框添加到列表L 中與列表L 中匹配框對應的位置。重新計算F 中的當前盒子坐標和置信度得分,使用L 中累積的對應位置的所有T 個盒子,融合公式如式(3)—式(5):

式中:C——置信度;T——檢測框數量;X,Y——橫縱坐標。
將融合盒子的置信度得分設置為組成它的所有盒子的平均置信度。融合盒子的坐標是組成它的盒子的坐標的加權和,其中權重是對應盒子的置信度得分,因此與置信度較低的盒子相比,具有較大置信度的盒子能夠控制到融合后的盒子的坐標。
處理完B 中的所有盒子后,重新縮放F 列表中的置信度得分。將其乘以同一個類別中的盒子數量,然后除以模型數量n。以單個麥穗的檢測框融合為例,加權盒子融合算法(WBF)流程圖如圖4 所示。

圖4 加權盒子融合演示Fig.4 WBF demo
麥穗檢測的主要指標是根據不同的交叉點(IoU)閾值的平均精度的平均值。具體計算方法如下[5-6]。
一組預測邊界框和地面真實邊界框的IoU 計算公式為

式中:A,B——真實框和預測框。
IoU 的閾值會在一定范圍內變化,并在每個閾值下計算平均精度值。閾值從0.5 到0.75 按0.05等間隔變化。換句話說,在0.5 的閾值下,如果預測邊界框與真實邊界框的IoU 大于0.5,則將其視為預測準確。
對于每一個閾值t,精度值通過比較源于預測對象和真實對象的IoU。對于TP,FN,FP 計進行算,公式如式(7):

式中:P(t)——閾值t 時圖像的平均精度,當預測對象和真實對象的IoU 大于閾值t 時,預測對象為TP;當預測對象和真實對象的IoU 小于閾值t 時,預測對象為FP;當真實對象不存在相匹配的預測對象時為FN。單張圖像的平均精度值是指在不同閾值下的平均精度值求和的平均值,計算公式如式(8):

式中:thresholds——閾值的總數。
根據評價指標,對測試集圖片進行不同閾值下Iou 的平均精度的平均值進行計算,得到檢測精度為0.732,部分檢測成果如圖5 所示。

圖5 檢測成果Fig.5 Detection results
通過EfficientDet 方法構建了比較合適的全球小麥麥穗頭的檢測模型,實現了野外環境下對小麥麥穗頭快速且較為準確的檢測,模型的加測準確率為0.732 左右。