?

基于改進YOLOv5的復雜跨域場景下的豬個體識別與計數

2023-01-16 09:52寧遠霖李振波
農業工程學報 2022年17期
關鍵詞:跨域豬只計數

寧遠霖,楊 穎,李振波,2,3,吳 瀟,張 倩

基于改進YOLOv5的復雜跨域場景下的豬個體識別與計數

寧遠霖1,楊 穎1※,李振波1,2,3,吳 瀟1,張 倩1

(1. 中國農業大學信息與電氣工程學院,北京 100083;2. 農業農村部農業信息獲取技術重點實驗室,北京 100083;3. 農業農村部國家數字漁業中心,北京 100083)

為解決復雜跨域場景下豬個體的目標檢測與計數準確率低下的問題,該研究提出了面向復雜跨域場景的基于改進YOLOv5(You Only Look Once version 5)的豬個體檢測與計數模型。在骨干網絡中分別集成了CBAM(Convolutional Block Attention Module)即融合通道和空間注意力的模塊和Transformer自注意力模塊,并將CIoU(Complete Intersection over Union)Loss替換為EIoU(Efficient Intersection over Union)Loss,以及引入了SAM (Sharpness-Aware Minimization)優化器并引入了多尺度訓練、偽標簽半監督學習和測試集增強的訓練策略。試驗結果表明,這些改進使模型能夠更好地關注圖像中的重要區域,突破傳統卷積只能提取卷積核內相鄰信息的能力,增強了模型的特征提取能力,并提升了模型的定位準確性以及模型對不同目標大小和不同豬舍環境的適應性,因此提升了模型在跨域場景下的表現。經過改進后的模型的mAP@0.5值從87.67%提升到98.76%,mAP@0.5:0.95值從58.35%提升到68.70%,均方誤差從13.26降低到1.44。該研究的改進方法可以大幅度改善現有模型在復雜跨域場景下的目標檢測效果,提高了目標檢測和計數的準確率,從而為大規模生豬養殖業生產效率的提高和生產成本的降低提供技術支持。

模型;計算機視覺;目標檢測;計數;注意力機制;半監督學習

0 引 言

目前中國的豬存欄量和出欄量均居世界第一[1],但中國國內的生豬生產水平仍難以滿足需求,部分豬肉仍需靠進口來彌補空缺[2]。因此,在養殖業正逐漸從傳統的散戶養殖的階段過渡到集約化養殖、大規模自動化養殖階段的時代背景下,如何提高大規模養殖場景下產業的生產效率,降低養殖成本,成為中國豬肉自給自足進程中不可缺少的一環。

豬只計數也稱豬只盤點,是大規模養殖中工作量較大,容易出錯的工作。由于豬只的淘汰、出售和死亡,導致在養殖過程中豬舍中的豬只數量可能不斷地發生變化[3],因此在養殖管理過程中需要對豬只數量進行統計[4]。傳統的豬只計數主要采用人工清點的方式進行,在大規模復雜場景下,這不僅計數不準,并且消耗人力物力,效率較低。并且由于人與動物接觸過多,也可能會有染病的風險[5]?;谀繕藱z測的計數通過計算機視覺技術對目標進行自動檢測和定位,在獲取位置的同時對數量也進行統計,極大地節省了人力物力的投入。目前,國內外學者在動物的自動計數領域已經開展了一些研究,如Ahn等[6]基于YOLOv4-Tiny(You Only Look Once-Tiny)算法進行改進,能夠在嵌入式版上實現實時的豬只檢測和計數;黎袁富等[7]利用YOLOX研究了對魚苗的檢測和計數方法,在水箱中魚苗數量較大時仍然能夠獲得不錯的效果。

動物行為分析同樣是大規模養殖中工作量較大,且容易受主觀經驗影響的工作。動物的健康狀況往往能夠通過其行為體現[8],傳統的行為分析方法通??咳斯び^察,容易受到個人經驗和自然環境等因素的影響,近年來,基于目標檢測的動物行為分析方法得到了廣泛的研究,如Liu等[9]使用基于SSD(Single Shot MultiBox Detector)的目標檢測算法來識別和定位生豬的咬尾行為,并在群養場景下可達到89.23%的準確率;Zhang等[10]構建了基于SSD和MobileNet的SBDA-DL模型,用于識別母豬的飲水、排尿和哺乳行為;薛月菊等[11]基于Faster RCNN(Faster Region-CNN)實現對哺乳母豬的站立、坐立、俯臥、腹臥和側臥5類姿態的識別;董力中等[12]基于YOLOv5(You Only Look Once version 5)實現對豬只站、走、臥三種行為的識別。

綜上,豬只的自動計數和檢測研究已經取得了一些成果,但還存在以下3點問題:1)數據集單一,即訓練集和測試集往往來自同一拍攝場景,甚至來自于同一段視頻片段,訓練集和測試集的圖像幀高度相似。然而,由于多種外部因素例如拍攝視角和背景噪聲的影響,不同數據集具有不同的性質,這就導致跨域問題,即在一個域上訓練的模型可能在另外一個域上性能較差[13]。2)檢測目標通常較大,清晰度高,即場景中的檢測目標通常在整幅圖像中占比較大,且在光線良好的環境中拍攝,但真實養殖場景中往往光線復雜,豬只個體較小且圖像模糊,這就導致方法對于小目標檢測效果較差,無法適應真實豬舍場景中目標小且密集、光線較暗的復雜情況。3)研究方法無法對比,現有研究通常是基于私有數據集進行的測試,從而導致現有方法所提到的性能和指標難以復現。

針對以上問題,為了貼合真實的多場景下檢測和計數任務的需求,本文重點研究復雜跨域場景下的目標檢測和計數,研究擬選用來自于真實養殖環境中來自不同場景和拍攝視角的公開數據集,其中待檢測目標大小差異明顯,數據集明顯跨域。為此,本文擬從網絡層面改進以增強網絡對模型的特征提取能力、選擇合適的損失函數以增強模型的定位準確率、選擇合適的優化器以使模型擁有更好的泛化能力、選擇合適的訓練策略以增強模型對不同大小目標和不同場景的適應性,從而提高模型在復雜跨域場景下的目標檢測和計數準確率,輔助智能化養殖,提高生產效率,降低生產成本。

1 試驗數據與分析

1.1 數據來源與預處理

本文數據來源選自于2021年6-10月在訊飛開放平臺舉辦的“豬只盤點挑戰賽”[14],此次比賽提供700張圖像用于訓練,其中500張為box標注,200張為mask標注。對于測試集,初賽和復賽各提供了220張圖像。由于初賽數據集基本不存在跨域問題,故本文的訓練集設置為訓練集+初賽測試集,測試集設置為復賽測試集。

為了充分利用比賽數據,首先需要將200張mask標注信息轉換為box標注信息,具體方法是分別計算所有mask標注關鍵點在軸方向和軸方向坐標的最小值和最大值,然后生成box標注。

1.2 數據分析

訓練集的700張圖像的分辨率為1 920×1 080像素和1 536×2 048像素兩種,拍攝于兩個場景中的不同時間段,目標較大,光線良好;初賽測試集的220張圖像的分辨率為1 920×1 080,拍攝場景雖與訓練集不同,但環境相似且目標大小相似,基本不存在跨域的問題;復賽測試集的220張圖像的分辨率為1 280×960,分辨率較小,拍攝場景與訓練集和初賽測試集的拍攝場景均不同,目標較小,大量目標存在大面積重疊,肉眼對部分豬個體有較大的識別難度。

如表1所示,本文分別計算了目標的高度比、寬度比以及高寬比,其分別代表了目標的高寬像素值與整幅圖像高寬像素值的比值以及目標自身高寬像素值的比值。

從表1可以看出,復賽測試集的寬度比和高度比相對訓練集和初賽測試集較小,這表明復賽測試集中的目標相對較小,僅有訓練集和初賽測試集目標大小的三分之一左右;同時復賽測試集的高寬比相對訓練集和初賽測試集較大,這表明復賽測試集的目標更加細長。

表1 不同數據集中標注框的高寬特點

綜上,訓練集、初賽測試集與復賽測試集之間存在嚴重的跨域的問題,不僅體現在背景環境中,也體現在目標大小和目標自身的高寬比中。

2 基于改進YOLOv5的豬個體檢測與計數研究

2.1 數據增強

神經網絡通常需要大量數據進行訓練,而在真實場景中往往由于采集成本等問題無法獲得充足的訓練樣本,并且由于本文數據集中存在跨域問題,因此利用數據增強方法使得模型具有更好的泛化性顯得尤為重要,本文采用以下幾種數據增強方法實現數據集的增強。

Mosaic增強[15]指利用四張圖像拼接到一張圖像中,從而達到豐富背景和變相增加批量大?。˙atch Size)的作用;Mixup增強[16]指將不同圖像堆疊到一張圖像中,也能達到豐富背景和變相增強Batch Size的作用,但與Mosaic通過拼接合并圖像不同,Mixup增強會通過改變不同圖像的透明度的方式,將不同圖像堆疊到一張圖像中,而不是簡單地拼接不同圖像。除了Mosaic增強、Mixup增強外,本文采用的數據增強方法還包括HSV(Hue, Saturation, Value)顏色變換、圖像隨機旋轉、圖像隨機平移、圖像隨機縮放、圖像隨機剪切變換、圖像上下翻轉、圖像左右翻轉、均值濾波圖像模糊、中值濾波圖像模糊、轉灰度圖以及自適應直方圖均衡化。本文采用上述數據增強方法增強后的部分效果示意圖如圖1所示。

2.2 YOLOv5網絡改進

2.2.1 YOLOv5網絡介紹

YOLOv5[17]是目前較為先進的實時單階段目標檢測網絡,目前具有YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x、YOLOv5n6、YOLOv5s6、YOLOv5m6、YOLOv5l6、YOLOv5x6共十個子網絡,其中n網絡最小、x網絡最大,以6為結尾的模型擁有4個檢測Head,其他模型擁有3個檢測Head。本文對未改進的十個子網絡進行了測試,其中YOLOv5l6網絡的mAP@0.5值相對較高,因此本文選擇以YOLOv5l6作為基礎網絡進行改進。本文在骨干網絡(Backbone)上分別集成了CBAM即融合通道與空間注意力的模塊以及Transformer自注意力模塊,改進前后的YOLOv5l6網絡對比如圖2所示。

a. 原圖a. Original imageb. Mosaic增強b. Mosaic augmentc. Mixup增強c. Mixup augmentd. 隨機剪切變換d. Random shear transformatione. 直方圖均衡化e. Histogram equalization

注:Conv代表卷積;BN代表批歸一化;SiLU代表Sigmoid加權線性單元;Concat代表拼接;MaxPool代表最大池化;Transformer代表自注意力模塊;CBAM代表通道和空間注意力模塊;SPPF代表快速空間金字塔池化模塊。

2.2.2 集成CBAM注意力模塊

由于豬舍光線和環境較為復雜,使得網絡難以關注到關鍵的信息,給模型帶來了性能影響。為解決上述問題,使網絡更好地關注于豬個體,本文提出了一種集成CBAM(Convolutional Block Attention Module)[18]即融合通道注意力與空間注意力的YOLOv5網絡。

考慮到特征提取主要在骨干網絡中進行,因此本文選擇將CBAM模塊添加到原有的骨干網絡中的C3_m_n模塊后,形成新的C3_m_n_C模塊,如圖2所示。

2.2.3 集成Transformer自注意力模塊

近年來,Vision Transformer(ViT)[19]和Obeject Detection with Transformers(DETR)[20]等基于Transformer的工作得到了極大關注。Transformer架構被認為可以更好地獲取來自全局感受野的信息,而不像CNN一樣局限于卷積核內的相鄰信息,因此在圖像分類、目標檢測、圖像分割等領域顯著改進了基線。在豬舍場景下,由于光線噪聲問題,部分豬個體的輪廓邊界不明顯,完全基于CNN的骨干網絡難以確定輪廓邊界。受到BoTNet[21]工作的啟發,本文選擇通過替換C3_n_m模塊中的BottleNeck為Transformer Encoder的方式將Transformer集成到骨干網絡中,從而能夠借助Transformer架構的優勢,提取全局感受野的信息,突破卷積核只能捕獲相鄰特征的限制,減小背景噪聲對模型性能的影響。需要強調的是,本文使用的Transformer Encoder架構與Vision Transformer中的略有不同,由于LN層會影響計數精度,本文去掉了Layernorm(LN)層。

考慮到骨干網絡較上層的特征圖擁有更大的分辨率,若將其替換為Transformer架構則需要非常大的計算資源消耗。因此,本文選擇將Transformer架構集成到骨干網絡的最后一個C3_n_m模塊中,命名為C3TR_n。此處的特征圖經過了64倍的下采樣,對計算資源的消耗相對較小,如圖2所示。

2.3 損失函數選擇

YOLOv5中使用的定位損失函數為CIoU(Complete over Union)Loss[22-23],其在DIoU(Distance IoU)Loss[23]的基礎上發展而來。雖然CIoU Loss從形式上考慮了重疊損失、中心點距離損失和box框的寬高損失,但其寬高損失設計不合理,例如當標注框與預測框的寬高成比例時,寬高損失為0,即退化為DIoU Loss。為解決上述問題,有學者提出了名為EIoU(Efficient IoU)Loss[24]的方法。EIoU Loss同時兼顧了重疊損失、中心點距離損失以及寬高損失,其中重疊損失、中心點距離損失延續了CIoU Loss中使用的方法,但寬高損失相比CIoU Loss直接最小化了預測框和標注框的寬高差,因此收斂速度更快,效果更好。因此,本文選擇將YOLOv5中使用的CIoU Loss替換為EIoU Loss。

2.4 優化器選擇

目前大多數神經網絡都是過參數化的,雖然理論上可以選用合適的訓練算法,使得訓練出來的網絡具有良好的泛化能力[25]。但事實上,網絡通常會選擇“記住”訓練集,即使訓練集的標簽受到了污染,甚至完全錯誤,網絡也能使訓練誤差降低為0[26]。

目前大多數訓練損失都是非凸的,即模型存在多個局部和全局極小值,在不同的極小值處,模型的泛化能力也會不同[25]?,F有常用的SGD(Stochastic Gradient Descent)、Adam(Adaptive Moment Estimation)[27]、AdamW(Adam with Decoupled Weight Decay)[28]等優化器雖然可以讓網絡找到全局最小值,但這些最小值的附近可能是非常陡峭的,即輕微的參數變化就會大幅影響損失,會降低模型的泛化能力。SAM(Sharpness-Aware Minimization)[25]優化器通過同時最小化損失值以及損失值附近的銳度,使網絡的參數能夠優化到損失相對平坦,即附近的參數也有更低的損失的地方,提高模型在跨域場景下的表現。

2.5 訓練策略改進

在模型的訓練過程中,本文使用了多尺度訓練、偽標簽半監督學習和測試集增強的策略,提高了模型對不同大小目標的適應性以及在跨域場景下的表現。具體的訓練策略如下:1)使用數據增強后的訓練集訓練模型,在此期間,使用多尺度訓練策略隨機調整模型輸入圖像的分辨率。2)使用測試集增強與偽標簽結合的方法給測試集打標簽。3)將訓練集和測試集組合成新的訓練集。4)再次重復(1)~(3)兩次。

1)多尺度訓練

由于復賽測試集中的目標相對訓練集較小,這在一定程度上會影響模型的效果。為了解決上述問題,本文在訓練時使用多尺度訓練的策略,提升模型對不同尺度目標的適應性。具體做法是使模型輸入圖像的分辨率在[0.8,]中隨機選取,其中為模型原始輸入分辨率。

2)偽標簽與測試集增強

偽標簽[29]是一種半監督學習方法,旨在借助無標簽的數據來提升有監督過程中的模型性能。由于豬舍場景復雜,目標大小不一,使得從已知場景中獲取的訓練集上訓練出的模型難以在未知場景下也擁有較好的性能。通過使用偽標簽方法,可以讓模型學習到測試集的數據分布,提升模型在測試集中的表現。

在生成測試集標簽時,本文使用了測試集增強的方法。具體做法是將輸入圖像的原圖、左右翻轉圖、上下翻轉圖依次送入模型,得到預測結果,然后將這三份預測結果合并,再進行非極大值抑制(Non Maximum Suppression,NMS),得到最終的模型預測結果。雖然使用測試集增強的方法往往能夠獲得更高的模型準確率,但其會大大增加推理時間。因此本文僅在生成測試集偽標簽時使用該策略獲得更加準確的測試集偽標簽,在進行模型性能評估時并不使用測試集增強。

在循環迭代訓練過程中,本文對新的訓練集中來自測試集的部分也同樣應用數據增強??紤]到模型在偽標簽訓練階段的主要學習對象是測試集的數據分布,而數據增強的做法通常是打亂數據分布,因此區別與訓練集,本文對測試集使用Mosaic數據增強的概率從100%調整到50%,以降低對數據分布影響較大的Mosaic數據增強的發生概率。其他超參數與默認超參數保持不變。

2.6 模型訓練設置

本文試驗不設置驗證集。通常,模型使用訓練集進行訓練,并使用驗證集觀察訓練結果,調整超參數,最后在測試集上進行測試。然而,由于本文試驗所用數據集存在跨域問題,即使劃分驗證集,并手動根據驗證集的結果調整超參數,也無法保證模型能夠在測試集有很好的表現,另外,也無法保證與其他模型對比的公平性。因此,本文除偽標簽訓練外,全部使用模型自帶的默認超參數進行訓練。

本文所有試驗所用的圖像分辨率默認均調整為1 920×1920,Batch Size為8。所有試驗均使用在COCO數據集上訓練的預訓練模型進行遷移學習,所有關于檢測速度的試驗均包括預處理時間、推理時間和后處理時間且均在單張顯卡上進行。

2.7 評價指標

在目標檢測方面,全類平均精度(mean Average Precision, mAP)常用于評價目標檢測算法的識別效果,其由準確率(Precision)和召回率(Recall)共同決定,因此,本文選擇mAP@0.5和mAP@0.5:0.95作為評價指標。其中mAP@0.5代表當檢測框與標注框的IoU閾值大于0.5時視為預測正確的mAP;mAP@0.5:0.95指標較為苛刻,其代表選擇不同IoU閾值(0.5, 0.55, … , 0.9, 0.95)的mAP的平均值。在計數方面,本文選擇均方誤差(Mean Square Errors, MSE)作為評價指標。

3 結果與分析

本文所使用的試驗環境如下,操作系統為Ubuntu18.04,CPU為Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz,GPU為NVIDIA Tesla V100 × 4,CUDA 版本為10.2,Python版本為3.8.13,內存為128GB,深度學習框架為PyTorch1.11.0。

3.1 消融試驗

為明確不同改進點對模型整體性能的影響,驗證各改進點的有效性,本文設計了消融試驗,分別從網絡、損失函數、優化器、訓練策略多方面測試了改進方法的有效性,如表2所示。從表中可以看出,各個改進點對模型的檢測性能和計數性能均有提升。在原骨干網絡上集成CBAM模塊和Transformer模塊,模型的mAP@0.5分別提升了2.48個百分點和3.46個百分點,均方誤差分別降低了2.62和6.58;將模型損失函數改為EIoU,模型的mAP@0.5提升了0.93個百分點,均方誤差降低了2.73。改進后模型的mAP@0.5值從87.67%提升到98.76%,mAP@0.5:0.95值從58.35%提升到68.70%,均方誤差從13.26降低到1.44,這表明改進后的YOLOv5模型的檢測性能和計數性能均有較大的提升,且在模型參數量略有增加的前提下依然能接近原模型的計算速度。綜上,本文改進后的模型的在整體性能超越原有模型。

表2 消融試驗

注:mAP@0.5 代表當檢測框與標注框的 IoU 閾值大于0.5 時視為預測正確的mAP;mAP@0.5:0.95代表選擇不同 IoU 閾值(0.5, 0.55, … , 0.9, 0.95)的 mAP的平均值;mAP表示全類平均精度。

Note: mAP@0.5 means that the prediction is correct when the IoU threshold of the detection box and the annotation box is greater than 0.5; mAP@0.5:0.95 means the average value of mAPs with different IoU thresholds (0.5, 0.55, … , 0.9, 0.95); mAP meansmean average precision.

3.1.1 優化器選擇對模型性能的影響

不同優化器的試驗結果如表3所示,選擇 SAM優化器后,相較于YOLOv5中使用的SGD優化器,模型的mAP@0.5提升了6.03個百分點,mAP@0.5:0.95提升了5.8個百分點,均方誤差降低了8.71,對模型的檢測性能和計數性能均有所提升。同時,對比Adam優化器與AdamW優化器,SAM優化器在跨域場景中仍有較大優勢。本文通過將SGD優化器替換為SAM優化器,使得模型的參數優化過程具有了銳度感知的能力,提高了模型的泛化能力。

表3 不同優化器的試驗結果

3.1.2 Transformer選擇對模型性能的影響

本文對在骨干網絡中是否集成Transformer模塊以及是否集成帶有Layernorm(LN)層的Transformer模塊進行了對比試驗,具體試驗結果如表4所示。

如表4所示,集成帶有LN層的Transformer模塊后,模型的mAP@0.5提升了3.56個百分點,mAP@0.5:0.95提升了3.43個百分點,均方誤差降低了5.433;集成不帶有LN層的Transformer模塊后,模型的mAP@0.5提升了3.46個百分點,mAP@0.5:0.95提升了2.14個百分點,均方誤差降低了6.58。兩種方案對模型的檢測性能和計數性能均有所提升,并且降低了模型的參數量和浮點計算量,但略微影響了檢測速度。兩者相比,帶有LN層的Transformer的檢測精度(mAP@0.5和mAP@0.5:0.95)略高,但計數精度(MSE)較差。綜合考慮,本文選擇不帶有LN層的Transformer模塊。本文通過集成Transformer模塊,使模型具有提取全局信息的能力,降低了復雜背景噪聲和豬個體輪廓邊界不清楚對模型性能的影響。

表4 不同骨干網絡的試驗結果

3.2 與其他模型的對比試驗

本文選擇了經典的Faster RCNN[30]模型、針對密集對象的VarifocalNet[31]模型以及屬于anchor-free的YOLOX(L)[32]模型與本文改進模型進行對比,對比模型均選自mmdetection框架[33]的代碼實現。本文與其他模型的對比試驗詳見表5。

表5 與其他模型的試驗結果對比

如表5所示,對比模型均不能很好地應對跨域問題,無論選擇哪種評價指標,本文改進后模型的檢測性能和計數性能均有較大優勢,并且仍然能夠保持相對較快的速度。

3.3 模型可視化分析與比較

相較于改進前的模型和其他模型,本文改進后的模型展現出了較強的特征提取能力和泛化能力,即使在跨域場景中也依然能夠準確識別大部分的待測目標,其中部分識別結果的展示對比如圖3所示。其中,場景一和場景二標簽中的目標個數均為36,Faster RCNN、VarifocalNet、YOLOX(L)、YOLOv5l6、改進后的YOLOv5l6在場景一/場景二檢測到的目標個數分別為19/27、31/37、32/39、35/35、36/36,與真實值標簽中目標個數的偏差分別為17/9、5/1、4/3、1/1、0/0??梢钥闯?,本文提出的改進模型無論是與其他模型相比,還是與改進前的模型相比,檢測出的豬只數量與實際數量偏差最小,其他模型都有不同程度的漏檢和誤檢。改進后的模型將嚴重遮擋的豬個體和漏檢的小目標豬個體都檢測出來,證明了本文方法改進的有效性。

圖3 識別結果對比圖

4 結 論

真實養殖場景下環境復雜、條件多變,且豬只遮擋嚴重、個體尺度不一,給豬只自動檢測和計數帶來了巨大的困難和挑戰。針對這種跨域場景下的復雜目標檢測和計數問題,本文提出了基于改進YOLOv5的豬個體檢測與計數模型,結論如下:

1)在原骨干網絡上集成卷積塊注意力模塊(Convolutional Block Attention Module,CBAM)和Transformer模塊,可分別提高模型對圖像中重要區域特別是小目標的關注度和全局信息的提取能力,改進之后的模型與原模型相比,mAP@0.5(當檢測框與標注框的IoU閾值大于0.5時視為預測正確的mAP)分別提升了2.48個百分點和3.46個百分點,均方誤差分別降低了2.62和6.58。

2)將模型損失函數改進為EIoU(Efficient Intersection over Union)Loss,有效解決了CIoU(Complete Intersection over Union)Loss中寬高損失設計不合理的問題,使得模型mAP@0.5提升了0.93個百分點,均方誤差降低了2.73。

3)通過采用SAM(Sharpness-Aware Minimization)優化器,提高了模型的泛化能力,模型的mAP@0.5提升了6.03個百分點,均方誤差降低了8.71。

4)通過多尺度訓練和偽標簽與測試集增強相結合的策略的引入,可增強模型對不同尺度目標的適應性,進一步提高了模型在跨域數據集上的泛化能力。試驗結果證明了本文改進后的模型展現了較強的特征提取能力和泛化能力,即使在跨域場景中依然能夠準確識別大部分的待測目標。

本文的方法也存在不足,在跨域場景中仍有少部分特別密集和嚴重遮擋的場景,但由于非極大值抑制過程的缺陷,使得預測框之間相互抑制造成漏檢,這部分工作將是本文未來的研究重點。

[1] 俞燃. 基于深度學習的哺乳期豬只目標檢測與姿態識別[D]. 哈爾濱:東北農業大學,2021.

Yu Ran. Object Detection and Pose Recognition of Suckling Pigs Based on Deep Learning[D]. Harbin: Northeast Agricultural University, 2021. (in Chinese with English abstract)

[2] 熊本海,楊亮,鄭姍姍,等. 哺乳母豬精準飼喂下料控制系統的設計與試驗[J]. 農業工程學報,2017,33(20):177-182.

Xiong Benhai, Yang Liang, Zheng Shanshan, et al. Design and test of precise blanking control system for lactating sows[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(20): 177-182. (in Chinese with English abstract)

[3] 李靜. 基于深度學習的群豬盤點算法研究[D]. 武漢:華中農業大學,2021.

Li Jing. Research on Pig Herd Counting Based on Deep Learning[D]. Wuhan: Huazhong Agricultural University, 2021. (in Chinese with English abstract)

[4] 高云,李靜,余梅,等. 基于多尺度感知的高密度豬只計數網絡研究[J]. 農業機械學報,2021,52(9):172-178.

Gao Yun, Li Jing, Yu Mei, et al. High-density Pig Counting Net Based on Multi-scale Aware[J]. Transactions of the Chinese Society for Agricultural Engineering, 2021, 52(9): 172-178. (in Chinese with English abstract)

[5] Guo H, Ma X, Ma Q, et al. LSSA_CAU: An interactive 3d point clouds analysis software for body measurement of livestock with similar forms of cows or pigs[J]. Computers and Electronics in Agriculture, 2017, 138: 60-68.

[6] Ahn H, Son S, Kim H, et al. EnsemblePigDet: Ensemble deep learning for accurate pig detection[J]. Applied Sciences, 2021, 11(12): 5577.

[7] 黎袁富,杜家豪,莫家浩,等. 基于YOLOX的魚苗檢測與計數[J]. 電子元器件與信息技術,2022,6(5):192-4.

[8] 李菊霞,李艷文,牛帆,等. 基于YOLOv4的豬只飲食行為檢測方法[J]. 農業機械學報,2021,(3):251-256.

Li Juxia, Li Yanwen, Niu Fan, et al. Pig diet behavior detection method based on YOLOv4[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, (3): 251-256. (in Chinese with English abstract)

[9] Liu D, Oczak M, Maschat K, et al. A computer vision-based method for spatial-temporal action recognition of tail-biting behaviour in group-housed pigs[J]. Biosystems Engineering, 2020, 195: 27-41.

[10] Zhang Y, Cai J, Xiao D, et al. Real-time sow behavior detection based on deep learning[J]. Computers and Electronics in Agriculture, 2019, 163: 104884.

[11] 薛月菊,朱勛沐,鄭嬋,等. 基于改進Faster R-CNN識別深度視頻圖像哺乳母豬姿態[J]. 農業工程學報,2018,34(9):189-196.

Xue Yueju, Zhu Xunmu, Zheng Chan, et al. Lactating sow postures recognition from depth image of videos based on improved Faster R-CNN[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(9): 189-196. (in Chinese with English abstract)

[12] 董力中,孟祥寶,潘明,等. 基于姿態與時序特征的豬只行為識別方法[J]. 農業工程學報,2022,38(5):148-157.

Dong Lizhong, Meng Xiangbao, Pan Ming, et al. Recognizing pig behavior on posture and temporal features using computer vision[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2022, 38(5): 148-157. (in Chinese with English abstract)

[13] 劉亞婧. 圖像識別的跨域技術研究[D]. 合肥:中國科學技術大學,2022.

Liu Yajing. Cross-Domain Technology Development for Image Recognition[D]. Hefei: University of Science and Technology of China, 2022. (in Chinese with English abstract)

[14] 科大訊飛. 豬只盤點挑戰賽[EB/OL]. 2021-10-24[2022-07-01]. http://challenge.xfyun.cn/topic/info?type= pig-check.

[15] Bochkovskiy A, Wang C Y, Liao H. YOLOv4: Optimal speed and accuracy of object detection[EB/OL]. 2020-04-23 [2022-07-01]. https://arxiv.org/abs/2004.10934.

[16] Zhang H, Cisse M, Dauphin Y N, et al. mixup: Beyond empirical risk minimization[EB/OL]. 2018-04-27 [2022-07-01]. https://arxiv.org/abs/1710.09412.

[17] Jocher G. Ultralytics/yolov5: v6.1 - tensorrt, tensorflow edge tpu and openvino export and inference[EB/OL]. 2022-02-22[2022-07-01]. https://github.com/ultralytics/yolov5.

[18] Woo S, Park J, Lee J-Y, et al. Cbam: Convolutional block attention module[C]//Proceedings of the European conference on computer vision (ECCV). Munich, Germany: Springer, 2018: 3-19.

[19] Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[EB/OL]. 2021-06-03[2022-07-01]. https://arxiv.org/ abs/2010.11929.

[20] Carion N, Massa F, Synnaeve G, et al. End-to-end object detection with transformers[C]//Proceedings of the European conference on computer vision (ECCV). Online: Springer, 2020: 213-29.

[21] Srinivas A, Lin T-Y, Parmar N, et al. Bottleneck transformers for visual recognition[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. Online: IEEE, 2021: 16519- 16529.

[22] Zheng Z, Wang P, Ren D, et al. Enhancing geometric factors in model learning and inference for object detection and instance segmentation[EB/OL]. 2021-07-05[2022-07-01]. https://arxiv.org/abs/2005.03572.

[23] Zheng Z, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression[C]//Proceedings of the AAAI conference on artificial intelligence. New York, USA: AAAI Press, 2020: 12993-3000.

[24] Zhang Y-F, Ren W, Zhang Z, et al. Focal and efficient IOU loss for accurate bounding box regression[EB/OL]. 2021-01-20[2022-07-01]. https://arxiv.org/abs/2101.08158.

[25] Foret P, Kleiner A, Mobahi H, et al. Sharpness-aware minimization for efficiently improving generalization[EB/OL]. 2021-04-29[2022-07-01]. https://arxiv.org/abs/2010.01412.

[26] Zhang C, Bengio S, Hardt M, et al. Understanding deep learning requires rethinking generalization[EB/OL]. 2017-02-26[2022-07-01]. https://arxiv.org/abs/1611.03530.

[27] Kingma D P, Ba J. Adam: A method for stochastic optimization[EB/OL]. 2017-01-30[2022-07-01]. https://arxiv.org/ abs/1412.6980.

[28] Loshchilov I, Hutter F. Decoupled weight decay regularization[EB/OL]. 2019-01-04[2022-07-01]. https://arxiv.org/ abs/1711.05101.

[29] Lee D-H. Pseudo-label: The simple and efficient semi- supervised learning method for deep neural networks[C]// Workshop on challenges in representation learning, ICML. Atlanta, USA: IMLS, 2013: 896.

[30] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.

[31] Zhang H, Wang Y, Dayoub F, et al. Varifocalnet: An iou-aware dense object detector[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Online: IEEE, 2021: 8514-23.

[32] Ge Z, Liu S, Wang F, et al. Yolox: Exceeding yolo series in 2021[EB/OL]. 2021-08-06[2022-07-01]. https://arxiv.org/abs/ 2107.08430.

[33] Chen K, Wang J, Pang J, et al. MMDetection: Open mmlab detection toolbox and benchmark[EB/OL]. 2019-06-17 [2022-07-01]. https://arxiv.org/abs/1906.07155.

Detecting and counting pig number using improved YOLOv5 in complex scenes

Ning Yuanlin1, Yang Ying1※, Li Zhenbo1,2,3, Wu Xiao1, Zhang Qian1

(1.,,100083,; 2.,100083,; 3.,100083,)

The number of pigs in the shed often varies continuously in large-scale breeding scenes, due to the elimination, sale, and death. It is necessary to count the number of pigs during breeding. At the same time, the health status of the pigs is closely related to their behavior. The abnormal behavior can be predicted in time from the normal behavior of pigs for better economic benefits. Object detection can be expected to detect and count at the same time. The detection can be the basis of behavioral analysis. However, the current detection and counting performance can be confined to the blur cross-domain at the different shooting angles and distances in the complex environment of various pig houses.In this study, a novel model was proposed for pig individual detection and counting using an improved YOLOv5(You Only Look Once Version 5) in the complex cross-domain scenes. The study integrated CBAM (Convolutional Block Attention Module), a module that combined both channel and spatial attention modules, in the backbone network, and integrated the Transformer, a self-attention module, in the backbone network, and replaced CIoU(Complete IoU) Loss by EIoU(Efficient IoU) Loss, and introduced the SAM (Sharpness-Aware Minimization) optimizer and training strategies for multi-scale training, pseudo-label semi-supervised learning, and test set augment. The experimental results showed that these improvements enabled the model to better focus on the important areas in the image, broke the barrier that traditional convolution can only extract adjacent information within the convolution kernel, enhanced the feature extraction ability, and improved the localization accuracy of the model and the adaptability of the model to different object sizes and different pig house environments, thus improving the performance of the model in cross-domain scenes. In order to verify the effectiveness of the above improved methods, this paper used datasets from real scenes. There was cross-domain between these datasets, not only in the background environment, but also in the object size and the aspect ratio of the object itself. Sufficient ablation experiments showed that the improved methods used in this paper were effective. Whether integrating CBAM, integrating Transformer, using EIoU Loss, using SAM optimizer, using multi-scale training, or using a combination of pseudo-label semi-supervised learning and test set augment, the mAP (mean Average Precision) @0.5 values, the mAP@0.5:0.95 values and the MSE (Mean Square Errors) of the model where improved to varying degrees. After integrating all improvement methods, the mAP@0.5 value of the improved model was increased from 87.67% to 98.76%, the mAP@0.5:0.95 value was increased from 58.35% to 68.70%, and the MSE was reduced from 13.26 to 1.44. Compared with the classic Faster RCNN model, the VarifocalNet model for dense object detection and the YOLOX model belong to anchor-free, the detection performance and counting performance of the improved model in this paper had greater advantages regardless of which evaluation metric was chosen, and was still able to maintain a relatively fast speed. The results showed that the improved model in this paper exhibited strong feature extraction and generalization ability, and could still accurately identify most of the objects to be tested even in cross-domain scenes. The above research results demonstrated that the improved method in this paper could significantly improve the object detection effect of the existing model in complex cross-domain scenes and increase the accuracy of object detection and counting, so as to provide technical support for improving the production efficiency of large-scale pig breeding and reducing production costs.

models; computer vision; object detection; counting; attention mechanism; semi-supervised learning

10.11975/j.issn.1002-6819.2022.17.018

S126

A

1002-6819(2022)-17-0168-08

寧遠霖,楊穎,李振波,等. 基于改進YOLOv5的復雜跨域場景下的豬個體識別與計數[J]. 農業工程學報,2022,38(17):168-175.doi:10.11975/j.issn.1002-6819.2022.17.018 http://www.tcsae.org

Ning Yuanlin, Yang Ying, Li Zhenbo, et al. Detecting and counting pig number using improved YOLOv5 in complex scenes[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2022, 38(17): 168-175. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2022.17.018 http://www.tcsae.org

2022-08-08

2022-08-28

科技創新2030-“新一代人工智能”重大項目課題-典型畜禽疫病診斷與主動防控智慧云平臺(2021ZD0113805)

寧遠霖,研究方向為計算機視覺。Email:c2605759123@163.com

楊穎,博士,副教授,研究方向為計算機視覺、模式識別和語音識別等。Email:hbxtyy@126.com

猜你喜歡
跨域豬只計數
基于多標簽協同學習的跨域行人重識別
為群眾辦實事,嶗山區打出“跨域通辦”組合拳
混合跨域神經網絡的草圖檢索算法
古人計數
G-SRv6 Policy在跨域端到端組網中的應用
豬胃潰瘍的病因與防治措施
豬舍富集的環境對豬只的影響?
遞歸計數的六種方式
古代的計數方法
秋冬季防應激不可忽略飲水消毒
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合