基于YOLOT網絡的小目標檢測
來源:用戶上傳
作者:王恒,李鵬飛
摘要:當前以大數據、深度學習、算力為基礎的目標檢測在智能農業、人臉識別、安防監控、行人檢測、車輛檢測等領域有著廣泛的應用。特別是農業中的蔬果發育及采摘、病蟲雜草識別、產量預測等應用都將有力地支撐著智能農業蓬勃的發展。但是農業中小型瓜果蔬菜等小目標在采集的圖像中所占像素太少、覆蓋區域不足、攜帶信息少等問題導致識別率不高,出現漏檢、誤檢等錯誤。文章提出一個基于YOLOv5改進的卷積神經網絡YOLOT。第一:YOLOT改進了YOLOv5網絡并添加了注意力機制在Backbone中,提高了其對小目標特征提取的有效度。第二:針對小目標淺層信息與深層信息相差較大,改進了特征金字塔,使其準確率有了明顯提高。第三:針對小目標占比像素過少,優化了錨框。綜合上述改進以及實驗對比,筆者提出的YOLOT網絡對農業中小型目標的檢測率明顯優于YOLOv5檢測算法。
關鍵詞:農業;YOLOv5;小目標;注意力機制;特征金字塔
中圖分類號:TP18 文獻標識碼:A
文章編號:1009-3044(2021)32-0022-04
1引言
隨著我國制造強國戰略的提出,在“創新驅動、質量為先、綠色發展、結構優化、人才為本”的基本方針指導下,農業生產迎來了一場高新技術變革,精細化農業已成為現代農業發展的主流[1]。傳統農作物生長環境的檢測[2-4]、農作物識別與采摘、產量預測[5]等基本依靠人力進行,而人力自身的限制性比如自身經驗的豐富度、專業知識的應用等,導致了成本過于高昂且時效性低、誤差大。然而隨著計算機領域中人工智能不斷發展,越來越多的深度學習技術應用在農業領域[6],人力的影響因素大幅度下降,逐漸形成了現在的智能農業。
基于深度學習[7]的目標檢測[8-9]是人工智能領域的核心問題之一,通過遙感、無人機、攝像頭、紅外線等設備生成的數據,采用深度學習中的卷積神經網絡(CNN)從大量的圖片、視頻媒體數據中自動的、有規律的、有目標的學習高級語義特征,從而在復雜環境中鎖定指定目標。它是結合了目標定位、目標識別兩項任務的計算機視覺任務。這一技術可以及時辨別雜草、有害生物、實時監測作物的生長狀況、作物的產量等,強有力地支撐了智能農業迅速的發展。
傳統目標檢測步驟主要由數據信息預處理(旋轉、剪裁、拼接、去色等)、預設大小的錨框滑動、語義信息特征提取、目標特征選擇、目標特征分類、最后處理六部分組成,但是由于其沒有針對性、算法復雜度高、魯棒性差以及當時硬件算力等原因,使得檢測效果達不到實際需求,使得其發展受到限制。即使Hinton在2006年提出了深度學習[10],但直到2012年卷積神經網絡Alex-Net[11]才在圖像分類檢測上取得了史無前例的重大的突破。
2 目標檢測
2006年發展至今,基于深度學習的目標檢測算法實現效果已遠遠超出傳統目標檢測算法?,F在的深度學習目標檢測算法大致可以分為兩大類,一類為基于分類的二階段檢測算法,另一類是基于回歸的一階段檢測算法。
二階段目標檢測算法是基于分類的一個思想。二階段算法直接用卷積神經網絡(CNN)對每個不同大小的滑動窗口產生的候選區進行物體存在判斷,判斷目標是否存在此滑動窗口。二階段目標檢測算法研究的重點是如何增加網絡對目標特征的提取能力以及分類能力。二階段算法代表有R-CNN[12-15]、Faster R-CNN[16-19]等。但是因為目標的大小以及位置不明確,所以這一類算法需要使用多尺度窗口遍歷整個圖片,從而會生成大量冗余的候選框。雖然后期對此類二階段算法進行了多種如多尺度輸入、多尺度檢測、FPN(特征金字塔)[20]等優化,然而模型的訓練速度、檢測速度依然很慢,不容易部署應用在實際工程中。
在不斷的探索與積累中,一階段算法應運而生,這一類算法直接將卷積神經網絡作為回歸器,把輸入的一整張數據圖像作為待檢測的候選區,輸入卷積神經網絡,并且將目標在待檢測圖像中的相對位置信息進行輸出。一階段代表算法有YOLO系列[21-24]、SSD[25]等。這類算法訓練參數的設置大多數依靠經驗和實踐,缺乏理論支撐。
不論一階段還是二階段算法,對于小目標[26]的識別率都很低??偨Y主要有以下幾個原因:
1)卷積神經網絡的步長可能大于目標,導致小目標的特征提取不足或者完全沒有提取,無法將小目標傳遞至下一層網絡。
2)網絡先驗框設置不足。網絡中通常會設置幾組先驗框,一組先驗框又包含了幾種尺寸的先驗框,這就會只有一小部分先驗框與真實的小目標重疊,進而導致正負樣本極大不平衡。
3)在進行數據預處理時,會對圖像大小進行調整,這會進一步降低小目標覆蓋區域、降低其攜帶的語義信息。
4)交并比閾值設置不合理。小目標候選邊界框(Bounding Box)與正確框(Ground Truth)之間的交并比較小,IOU的設置直接影響正負樣本的選取。
本文依據農業中小型瓜果蔬菜目標的特點,為了達到更好的應用效果,以收割后的麥茬這種小目標為實驗對象,制作了小目標數據集。這一數據集也補充了農業中對于小目標數據集不足的問題。設計了基于YOLOv5網絡的檢測識別算法YOLOT如圖1所示。
首先,在YOLOv5的主干網絡(Backbone)中添加了通道注意力以及空間注意力,使神經網絡專注于圖片中麥茬這種小目標,可以更好地提取目標特征。針對淺層與高層語義信息差異大以及高級語義信息與低級語義信息的融合問題,特征金字塔中位置信息的傳輸不準確問題,改進了特征金字塔并且添加了注意力模塊。經過大量的實驗,得到了最適合小目標的錨框以及IOU閾值。最后,為了驗證YOLOT算法的優越性,筆者分別對比了YOLOv3算法、YOLOv5算法,并且做了消融驗,進一步驗證各個優化部分的有效性。
nlc202301131451
3 YOLOT
3.1注意力機制
圖片是目標檢測常用的一種低信息密度的數據格式,所以,卷積神經網絡進行目標特征提取時,不可避免地會提取許多無用的冗余信息,進而可能會影響檢測效果。為了使卷積神經網絡更專注于檢測目標,越來越多的神經網絡開始引入注意力機制[27]。注意力機制使得卷積神經網絡集中注意圖片的某一個局部,不平等地對待總體輸入, 進一步加強網絡的特征提取能力。
卷積神經網絡中常用的兩種注意力機制是通道注意力[28]與空間注意力機制[29]。通道注意力機制如圖2所示。首先,將特征圖進行基于H和W的最大池化以及平均池化。然后將池化后的輸出分別經過全連接層[30]進行逐元素相乘的加和操作,最后經過激活函數Softmax[31]生成通道注意力特征圖與輸入特征圖進行逐元素相乘。通道注意力機制可以表達為:
[MCF=бMLPAvgPoolF+MLPMaxPoolF]
[=б(W1(W0(FCavg))+W1(W0(FCmax)))]
通道注意力機制是將特征圖在空間維度上進行壓縮,得到一個一維矢量后再進行下一步處理。在空間維度上進行壓縮時,不僅考慮了平均值池化還考慮了最大值池化。平均值池化和最大值池化可用來聚合特征映射的空間信息。對于每張圖像通道注意力將圖像中各個區域的語義信息進行關注度優先級排序,優先級高的語義信息更重要,反之則對于給定目標來說并不重要。平均值池化對特征圖上的語義信息進行映射權重計算,這樣在梯度反向傳播計算時,只有特征圖中權重最大的語義信息存在梯度反饋??臻g注意力機制如圖3所示,對通道進行壓縮,在通道維度分別進行了平均值池化和最大值池化。最大值池值化提取次數依據高寬而定,最后將前面提取的特征圖合并得到二維通道的特征圖。
空間注意力機制可以表示為:
[Ms(F) = б(f7*7([AvgPool(F);MaxPool(F)]))]
[= б(f7*7([Fsavg;Fsmax]))]
其中,σ為sigmoid操作,7*7表示卷積核大小。
空間注意力模塊(SAM)將輸入的每個通道特征進行相同的空間加權處理,忽視了通道之間的信息交互,而通道注意力模塊(SEM)則忽視了空間的信息交互,順著這兩個方向深度挖掘內部關鍵信息,篩選出重要信息,剔除不相關信息,提升小目標的檢測精度和泛化性能。
本文YOLOT引入了結合通道與空間的注意力C制CBAM如圖4所示。
CBAM注意力機制不僅捕獲跨通道的信息,還可以感知位置敏感信息,這就使得YOLOT能夠更準確地識別鎖定目標位置。
3.2特征金字塔
特征金字塔(FPN)是根據古埃及金字塔形狀啟發設計而成的特征提取器,目的是提高檢測物體的精度與識別速度。它替代了如Faster-R-CNN中的特征提取器,可以生成更高質量的、更多語義信息的特征圖。特征圖金字塔主要解決物體檢測多尺度、高級語義信息、低級語義信息結合問題。圖像經過Backbone的卷積核下采樣后,得到的特征圖(Feature Map),圖像的空間分辨率減少,空間信息丟失。但是高級語義信息將被更多地檢測到。為了解決圖像下采樣時目標位置信息丟失問題,這時會進行兩次上采樣,生成具有相同分辨率的特征圖,然后將圖片按照指定維度進行融合連接。這種融合不僅增加了目標的位置信息,還將高級語義與低級語義信息融合,進一步增加了小目標檢測率。雖然特征金字能夠提高目標的檢測率,但是對于麥茬這種小目標還是遠遠不夠。從下面的消融實驗中可以明顯看出,YOLOv5網絡對于麥茬的識別率一般,所以在YOLOT網絡中針對這一現象,嘗試在特征金字塔中加入CBAM注意力機制,進一步提高小目標的位置及語義信息的權重關注度。這一方法的有效性在實驗結果的對比中,可以得到有力的支持,如圖5所示。
YOLOT使用了三層特征金字塔,與之對應的也有三組九種不一樣的錨框。在引言中提到,三組九種不同大小的錨框在不同特征層進行目標定位識別時,錨框大小也會對小目標的識別率產生一定的影響。針對這個問題,YOLOT重新設計了錨框大小。圖6所示,黃色為YOLOT采用錨框(5,7),綠色藍色為YOLOv5原設計錨框(30,61)、(62,45)、(59,119)、(116,90)、(156,198)。
4數據集
利用索尼ILCE-7M2進行麥茬數據的采集,經過篩選整理隨機選出100張圖像。如圖7所示,一個白框覆蓋面積為1m2,即數據集中每張圖像所代表的是1m2內所有的麥茬。使用Labelimg標記麥茬目標,每張圖像標記所有麥茬、識別標簽效果如圖7所示。
規定目標占圖像比小于0.001的為小目標,小目標占總標記數比大于90%的圖像為合格圖像,經統計符合此規定的圖像占95%。為進一步增強網絡的泛化能力,拍攝時選取不同背景色,不同麥茬排列方式如圖8所示。
5實驗結果及實驗環境
為了證明網絡的各項改進點對模型的性能提升有貢獻,本文在統一的實驗環境下進行了對比實驗。實驗環境為Windows10操作系統、RTX2080TI、RTX3080顯卡、PyTorch深度學習框架、數據集為自制麥茬數據,圖片分辨率為640*640,訓練批大小為20,初始學習率為0.01,所有參照模型均按照此參數訓練1000個epoch。對比實驗采用精度(precision)、召回率(recall)、平均精度(map)對各個模型進行對比。
P=[TPTP+FP]R=[TPTP+FN]AP=[01PRdR]mAP=[ikAPik]
其中,TP(True Positive)代表原本為正樣本且被檢測為正樣本的目標,FP(False Positive)代表原本為負樣本但被檢測為正樣本的目標,FN(False Negative)代表原本為正樣本但被檢測為負樣本的目標,P為精確率,R為召回率[32]。K代表待檢測目標的類別數,AP 是計算某一類 P-R 曲線下的面積,mAP 則是計算所有類別 P-R 曲線下面積的平均值。
nlc202301131451
表1采用指標是選取訓練后最高mAP對應的各參數數據,可以看出YOLOT比其他算法對小目標的識別率都有明顯的提升。準確率相比平均提升9.23%,召回率相比平均提升8.53%,平均精度相比平均提升11.3%。為了進一步證明YOLOT算法的改進提升特別做了消融實驗,研究添加修改部分分別對小目標檢測的提升效果。
6消融實驗
本文通過消融實驗對比分析,進一步驗證了各個部分的優化效果,其結果匯集如表2所示。從表2中數據可知,在農業小目標數據集中YOLOv5框架的mAP只有69.3%,當在各部分引入CBAM注意力模塊后均有提升。在骨干網絡(Backbone)加入CBAM注意力模塊后,模塊進一步加強了主干網絡對有效語義信息的關注度,故mAP指標提升了4.7%。針對小目標的尺度問題,YOLOT網絡優化后的錨框,使網絡在錨框回歸以及錨框預測有著更好的效果,mAP指標提升了2.1%。針對小目標因為占像素少,FPN 各層對目標高級與低級語義信息的關注度傳遞問題,引入CBAM注意力模塊后,使得YOLOT網絡mAP指標提升了2.7%。雖然PAN優化了YOLOv5網絡,使得原YOLOv5對小目標的mAP提升,但是引入CBAM注意力模塊卻有了更進一步的提升,指標mAP提升了2.0%。在這一系列針對農業小目標檢測的改進,使得YOLOT網絡檢測能力有了很大的提升,指標mAP指標相較原YOLOv5提升了9.4%,證明了YOLOT各項改進的有效性、正確性。
7結束語
本實驗以自制麥茬數據集為研究對象,提出了基于YOLOv5的深度神經網絡農業小目標檢測方法。添加混合了通道、空間注意力機制的CBAM在原YOLOv5中主干網絡(Backbone)與多層金字塔(FPN)中。重新優化了小目標的錨框。針對農業小目標數據集不足的問題,制作了麥茬數據集。通過與原算法對比分析,證明了YOLOT網絡農業小目標提升的有效識別率。
下一步工作是繼續優化模型結構與損失函數以及IOU對多類目標檢測設置問題,希望能有效解決麥茬重疊、粘連導致檢測精度不高的情況,從而使模型結構對這種小型單一目標有更好的檢測效果。
參考文獻:
[1] 焦偉,李維華.中國制造2025之農業機械發展分析和思考[J].農業裝備與車輛工程,2016,54(3):65-68.
[2] 周光良.完善農業環境監測機制保障農產品安全生產[J].中國農業文摘-農業工程,2018,30(3):60-61.
[3] 王恩亮,華馳.基于物聯網技術的農業環境監測站的設計[J].計算機測量與控制,2016,24(5):18-20,24.
[4] 王曉旭,王承林,成燕平.農業溫室環境檢測系統設計[J].邢臺學院學報,2019,34(4):180-184,188.
[5] 張明輝.層次分析法在小麥產量預測中的應用研究[J].糧食科技與經濟,2020,45(6):100-102.
[6] 邊柯橙,楊海軍,路永華.深度學習在農業病蟲害檢測識別中的應用綜述[J].軟件導刊,2021,20(3):26-33.
[7] 呂璐,程虎,朱鴻泰,等.基于深度學習的目標檢測研究與應用綜述[J].電子與封裝,2022,22(1):72-80.
[8] 董文軒,梁宏濤,劉國柱,等.深度卷e應用于目標檢測算法綜述[J].計算機科學與探索,2022,16(5):1025-1042.
[9] 李柯泉,陳燕,劉佳晨,等.基于深度學習的目標檢測算法綜述[J].計算機工程,2022,48(7):1-12.
[10] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.
[11] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems - Volume 1.New York:ACM,2012:1097-1105.
[12] Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[J].2014 IEEE Conference on Computer Vision and Pattern Recognition,2014:580-587.
[13] Felzenszwalb P F,Girshick R B,McAllester D,et al.Object detection with discriminatively trained part-based models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.
[14] Carreira J,Sminchisescu C.CPMC:automatic object segmentation using constrained parametric Min-cuts[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(7):1312-1328.
nlc202301131451
[15] Gu C H,Lim J J,Arbelaez P,et al.Recognition using regions[C]//2009 IEEE Conference on Computer Vision and Pattern Recognition.Miami,FL.IEEE,2009:1030-1037.
[16] Ren S Q,He K M,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.
[17] Alexe B,Deselaers T,Ferrari V.Measuring the objectness of image windows[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(11):2189-2202.
[18] Carreira J,Sminchisescu C.Constrained parametric Min-cuts for automatic object segmentation[J].2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2010:3241-3248.
[19] Szegedy C , Toshev A,Erhan D. Deep Neural Networks for object detection[C]//Advances in Neural Information Processing Systems,2013.
[20] Lin T Y,Dollár P,Girshick R,et al.Feature pyramid networks for object detection[EB/OL].2016:arXiv:1612.03144.https://arxiv.org/abs/1612.03144
[21] Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas,NV,USA.IEEE,2016:779-788.
[22] Redmon J,Farhadi A.YOLO9000:better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu,HI,USA.IEEE,2017:6517-6525.
[23] Redmon J,Farhadi A.YOLOv3:an incremental improvement[EB/OL].2018:arXiv:1804.02767.https://arxiv.org/abs/1804.02767.
[24] Bochkovskiy A,Wang C Y,Liao H Y M.YOLOv4:optimal speed and accuracy of object detection[EB/OL].2020:arXiv:2004.10934.https://arxiv.org/abs/2004.10934.
[25] Liu W,Anguelov D,Erhan D,et al.SSD:single shot MultiBox detector[EB/OL].2015:arXiv:1512.02325.https://arxiv.org/abs/1512.02325
[26] ⒑榻,王懋,劉麗華,等.基于深度學習的小目標檢測綜述[J].計算機工程與科學,2021,43(8):1429-1442.
[27] Vaswani A,Shazeer N,Parmar N,et al.Attention is all You need[EB/OL].2017:arXiv:1706.03762.https://arxiv.org/abs/1706.03762.
[28] Hu J,Shen L,Albanie S,et al.Squeeze-and-excitation networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(8):2011-2023.
[29] Zhu X Z,Cheng D Z,Zhang Z,et al.An empirical study of spatial attention mechanisms in deep networks[C]//2019 IEEE/CVF International Conference on Computer Vision (ICCV).Seoul,Korea (South).IEEE,2019:6687-6696.
[30] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].2014:arXiv:1409.1556.https://arxiv.org/abs/1409.1556.
[31] Liu W Y,Wen Y D,Yu Z D,et al.Large-margin softmax loss for convolutional neural networks[EB/OL].2016:arXiv:1612. 02295.https://arxiv.org/abs/1612.02295.
[32] 李發光,伊力哈木?亞爾買買提.基于改進CenterNet的航拍絕緣子缺陷實時檢測模型[J].計算機科學,2022,49(5):84-91.
【通聯編輯:唐一東】
nlc202301131451
轉載注明來源:http://www.hailuomaifang.com/8/view-15444097.htm