999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Faster-RCNN算法實現農田害蟲圖像檢測及定位

2023-03-16 10:24:56揭陽職業技術學院黃玲玲
數字技術與應用 2023年2期
關鍵詞:實驗檢測模型

揭陽職業技術學院 黃玲玲

本文利用Faster-RCNN進行目標檢測,對收集到的3000多張害蟲圖片進行28個類別的訓練,達到自動識別害蟲類別的目的。首先對于所給數據進行數據預處理,對輸入的有效圖片進行原圖同比縮放bbox、垂直翻轉等方式進行數據增強,訓練過程中把圖片按90%:10%隨機分配到訓練集和驗證集中,最后利用已經訓練好的Faster-RCNN網絡模型進行目標檢測。模型訓練集上的損失值在經歷200個Epoch的訓練后逐漸收斂于橫軸,意味著模型在訓練集上的預測結果逐漸正確,Loss曲線在訓練到第200個Epoch時損失值就達到了0.11157,基本沒有出現大幅度震蕩的現象,表明模型的訓練是有效的。test_map曲線是表示模型在測試集上的mAP@0.5值,該值是用來表示檢測的精度值,該值越接近于1表明實驗結果精度越高。實驗結果表明,mAP@0.5值達到了24.696%。

1 問題背景

病蟲害一直是農業生產中無法避免的問題,每年都會由此造成巨大的經濟損失。為了對農田病蟲害進行有效的預防和控制,需要收集有害生物信息,在此基礎上進行蟲情分析。由于農田害蟲的多樣性和復雜性,人工識別統計的檢測方式難以滿足現代大規模農業生產對蟲害預防工作的需要。近年來出現的蟲情測報燈是蟲情信息采集的智能設備,可以實現無人自動誘集、殺蟲、蟲體分散、拍照等作業,并實時地將蟲情信息上傳至云平臺。蟲情測報燈的投入使用可幫助植保人員高效地進行蟲情分析,提高測報工作效率和準確率,避免農藥的濫用和誤用,減少農產品的農藥殘留,改善農田生態環境。

本文根據采集到的3000多張害蟲圖像,建立識別害蟲種類及位置的Faster-RCNN模型,并使用該模型對日常采集到的害蟲進行檢測,利用mAP@0.5值來評價模型的精度。

2 Faster-RCNN算法的介紹

隨著大數據時代的到來和計算機視覺的發展,近年來目標檢測領域取得了突破性的進展。現階段基于深度學習的圖像檢測算法大致可以分成兩大流派:一種是“一步走(One-stage)”算法——YOLO系列;一種是“兩步走(Two-stage)”算法,例如:Faster-RCNN,主要思路是先產生候選區域然后再進行分類;Faster-RCNN是改進的RCNN模型,融合了RPN與Fast RCNN基本結構。它最大的創新之處就在于通過添加RPN網絡,基于Anchor機制來生成候選框,代替Selective Search,最終將特征提取、候選框選取、邊框回歸和分類都整合到一個網絡中,從而有效地提高檢測精度和檢測效率。具體的流程就是將輸入圖像縮放以后進入到卷積層提取特征得到Feature Map,然后特征圖送入RPN網絡生成一系列Object可能的候選框,接下來將原始的Feature Maps和RPN輸出的所有候選框ROI矩陣(N×5)輸入到ROI Pooling層,提取收集Proposal,并計算出固定大小的Proposal Feature Maps,送入全連接層進行目標分類與坐標回歸。

Faster-RCNN實現了在深度網絡模型中集成了目標區域提取、深度特征提取、目標檢測和識別的過程,檢測精度較高,但是訓練的速度相對YOLO會慢一點。針對該模型的這個短板,本次實驗的解決方法是在GPU中運行來提高速度,本次實驗的檢測對象——農田害蟲屬于小目標檢測,存在重疊、緊挨的現象,為提高精度,故本次實驗采用Pytorch框架構建Faster-RCNN模型,更加方便地訓練自己的數據集,代碼易讀,直接高效。

3 數據處理

3.1 數據清洗、分析

3.1.1 數據標注

將圖片中能明確辨認類別的昆蟲進行標注,生成標注文件。<annotation>標簽代表了這是一個標注,<path>標簽代表了文件的路徑,其中在<size>標簽下,分別包含了圖像的寬度、高度以及通道數的信息,本次實驗采集的圖片標記為寬度5472和高度3648,圖像的通道數為3,意義為圖片是彩色圖;在<object>標簽下意味著檢測目標的類別,以及具體的坐標位置,其類別為棉鈴蟲,觀察檢測目標的檢測框,左上角的橫坐標3634,左上角的縱坐標33,右下角的橫坐標4508,右下角的縱坐標597。根據4個坐標,可以知道昆蟲在圖片的具體位置。標注文件示例如下:

<annotation>

<folder>datasets/JpegImages</foler>

<filename>00043.jpg</filename>

<path>datasets/JpegImages/00043.jpg</path>

<source>

<database>Unknown</database>

</source>

<size>

<width>5472</width>

<height>5472</height>

<width>5472</width>

</size>

<segmented>0</segmented>

<object>

<name>棉鈴蟲</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

<bndbox>

<xmin>3634</xmin>

<ymin>33</ymin>

<xmax>4508</xmax>

<ymax>3634</ymax>

</bndbox>

</object>

</annotation>

3.1.2 數據分析

對標注文件中所有標簽數據進行目標昆蟲位置及大小歸一化處理,得到目標昆蟲相對位置及相對大小歸一圖(如圖1所示)。圖像顯示目標昆蟲相對集中于圖片的中部位置。目標框的相對寬度集中于0%~20%,目標框的相對高度集中于0%~30%,這說明該檢測任務是以中小目標為主,在改進網絡和訓練時需要重點照顧這部分中小比例的目標。

圖1 目標昆蟲相對位置(左)及相對大小(右)歸一圖Fig.1 Normalized graph about relative position (left) and relative size (right) of target insects

3.2 數據增強

為了擴充數據量,避免產生過擬合的情況,Faster-RCNN應用了某些數據增廣策略,例如:按與原圖同等比例縮放bbox、進行垂直翻轉、進行水平翻轉、隨機填充、調節亮度、對比度等[1]。訓練過程中把圖片按90%:10%隨機分配到訓練集和驗證集中。

4 Faster-RCNN模型、步驟

4.1 輸入(Input)

采用等比縮放將原始圖片的長和寬統一縮放為一個標準的尺寸,再進行自適應填充,然后輸送到網絡中。鑒于圖片長寬比不同,等比縮放時取最小縮放比,這不會造成信息損失。本次實驗將寬度5472和高度3648的圖片通過0.16的比率壓縮到876×584。

4.2 骨干網絡(Backbone)

本次實驗選擇VGG16作為Faster-RCNN的骨干網絡,VGG主要由3個部分Conv層、Relu層和Pooling層組成,包括13個Conv層、13個Relu層和4個Pooling層疊得到的。

Faster-RCNN首先是支持輸入任意大小的圖片的,進入網絡之前對圖片進行了規整化尺度的設定,如可設定圖像短邊不超過600,圖像長邊不超過1000,假定M×N=1000×600(如果圖片少于該尺寸,可以邊緣補0,即圖像會有黑色邊緣)。

13 個 Conv 層 設 置 kernel_size=3,pad=1,stride=1,Conv層并不會改變圖片大小(即:輸入的圖片大小=輸出的圖片大小),卷積公式如式(1)所示:

13個Relu層:激活函數,不改變圖片大小。

4個 Pooling 層設置 kernel_size=2,stride=2;pooling層會讓輸出圖片是輸入圖片的1/2。經過Conv Layers,圖片大小變成(M/16)×(N/16),即:60×40(1000/16≈60,600/16≈40);則,Feature Map就是60×40×512-d(注:VGG16是512-d,ZF是256-d),表示特征圖的大小為60×40,數量為512。

4.3 核心網絡(RPN)

Faster-RCNN提出了一種加速區域建議計算的方法,即建立RPN網絡。它能夠同時預測輸入圖片的每個位置目標區域框是否是目標的得分[1]。

Faster-RCNN的整體結構可以看做是“RPN+Fast-CNN”的集合,RPN網絡用于生成高質量的區域建議框,Fast-CNN用于生成高質量區域建議特征以及分類的作用。在RPN網絡層中通過使用Softmax函數來將Anchors進行二分類,判斷是否目標物。接下來運用Bounding Box Regression對Anchors進行校正,這樣可以得到更準確的Proposal。

訓練過程具體過程如下:

輸入圖像經過VGGNet之后將得到一個特征圖(即CNN的輸出),用滑動窗口在這個特征圖上進行滑動,又會得到一個新的特征圖,把這個特征圖上的每一個點映射到原始輸入圖像上,每個單個元素其值對于原始圖像中的某個區域,對原始區域按事先定義的規則進行縮放和偏移,就可以得到k個新的區域,這k個新的區域就被叫做Anchor(這里k=9),之后再把這些區域進行分類和回歸[1]。

分類層經過一個卷積層后,維度變為1×18×37×55。這里18個Feature Map是有具體物理意義的,它對應9個Anchor的得分,每個Anchor有2個得分,分別是存在目標和不存在目標的得分,這2個得分概率之和為1。位置回歸層經過一個卷積層之后,維度變為1×36×37×55,共36個Feature Map,這36個Feature Map對應9個Anchor的調整參數,每個Anchor有4個調整參數。

4.4 實現目標物的分類

把在第2個步驟得到的高維特征圖和第3個步驟得到的輸出區域一起運送到ROI層中,在神經網絡模型的末尾運用全連接層,把目標物進行分類別區分,實現目標物體的多分類。

4.5 實現邊框的回歸

利用Propasal Feature Maps計算每個Proposal所屬地的不同類別概率信息,利用Bounding Box Regression來得到物體檢測框的準確位置,從而得到目標對象的檢測結果[1]。

5 模型訓練結果分析

5.1 訓練環境

本文基于PyTorch1.6版本進行實驗,圖像檢測對硬件要求較高,實驗時采用了Intel酷睿i5-10400F的CPU中央處理器。同時使用NVDIA GeForce RTX2070 SUPER的GPU參與運算。

5.2 參數設置

Faster-RCNN模型的參數設置表如表1所示。

表1 Faster-RCNN模型的參數設置表Tab.1 Parameter setting table of the Faster-RCNN model

5.3 模型訓練流程

在訓練Faster-RCNN時通常的數據流如下:

(1)從圖表中提取特征;

(2)產生Anchor目標;

(3)RPN網絡中得到位置和目標預測分值;

(4)取前N個坐標及其目標得分即建議層;

(5)傳遞前N個坐標通過Faster-CNN網絡,生成4中建議的每個位置的位置和CLS預測;

(6)對4中建議的每個坐標生成建議目標;

(7)采用2,3計算rpn_cls_loss和rpn_reg_loss;

(8)采用5,6計算roi_cls_loss和roi_reg_loss。

5.4 模型結果及分析

模型迭代200個Epoches后收斂,詳細結果如表2、圖2所示。

表2 目標檢測算法測試結果Tab.2 Target detection algorithm test results

圖2 目標檢測算法測試結果圖像Fig.2 Target detection algorithm test result image

total_loss曲線圖橫坐標含義為迭代次數,單位為(次),縱坐標含義為概率值p∈(0,1),無具體單位。模型訓練集上的損失值在經歷200個Epoche的訓練后逐漸收斂于橫軸,意味著模型在訓練集上的預測結果逐漸正確,Loss曲線在訓練到第200個Epoch時損失值就達到了0.11157,基本沒有出現大幅度震蕩的現象,表明模型的訓練是有效的。

test_map曲線是表示模型在測試集上的mAP@0.5值,該值是用來表示檢測的精度值,該值越接近于1表明實驗結果精度越高[2]。實驗結果表明,mAP@0.5 值達到了24.696%。

造成mAP@0.5值不夠理想的主要原因在于源數據集。一方面,源數據雖然有3000多張圖片,但是,其中做出標注的只有500多張,其他的由于背景噪聲、昆蟲殘缺無法辨認等原因,并沒有給出標注,依靠500多張圖片作為訓練集,想識別出28類昆蟲,有點不太現實。盡管已經做了數據增強,結果仍然不夠理想;另一方面,每個類別的圖片數量差距很大,例如“八點灰燈蛾”,數據集標注了244只,可以通過隨機裁剪、水平翻轉、垂直翻轉,隨機拼接來增加數據集。有的類別只給了1張圖片,例如:“豆野螟”和“干紋冬夜蛾”。如果訓練集只給了1張圖片的這類昆蟲的一種形態,那么計算機將無法對其腹部圖片、遮擋圖片進行識別,就算是對其做了數據增強仍然不足以支撐深度學習網絡的要求,最后會對訓練結果、識別精度產生一定的影響。雖然實驗的訓練結果顯示不太滿意,但是其中某些類別實際檢測效果仍可以達到0.99,且該部分只是為了產生訓練數據。

6 模型檢測結果

驗證集的測試結果展示如圖3所示,結果表明,類似八點灰燈蛾這類數據量足夠的目標,盡管有緊挨、重疊現象,測試出來的最差的結果仍能達到0.99,而像蟋蟀這類數據量只有39的,測試結果相應的降低。目前模型還無法識別只提供1張圖片的豆野螟和干紋冬夜蛾,也存在漏測的情況。

圖3 驗證集的測試結果Fig.3 Test results of validation set

引用

[1]周佳淇.基于改進的Faster RCNN算法的目標檢測及定位[D].黑龍江:哈爾濱理工大學,2021.

[2]沈祥壯.Python數據分析入門——從數據獲取到可視化[M].北京:電子工業出版社,2018.

猜你喜歡
實驗檢測模型
一半模型
記一次有趣的實驗
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做個怪怪長實驗
3D打印中的模型分割與打包
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 日本午夜在线视频| 欧美啪啪网| 毛片免费观看视频| 国产精品19p| 中文无码毛片又爽又刺激| 欧美成人怡春院在线激情| 亚洲一区二区在线无码| 亚洲最新网址| 麻豆精选在线| 毛片免费高清免费| 国产成人精品一区二区秒拍1o| julia中文字幕久久亚洲| 美女被操91视频| 91成人在线免费观看| 国产精品99一区不卡| 国产中文在线亚洲精品官网| 99在线国产| 中文字幕不卡免费高清视频| 日韩福利视频导航| 欧美亚洲一区二区三区导航| 欧美.成人.综合在线| 国产精品hd在线播放| 亚洲一区毛片| 亚洲成人黄色在线| 黄色片中文字幕| 亚洲国产成人在线| 国产青青操| AV色爱天堂网| 亚洲日韩国产精品无码专区| 国产欧美日韩综合在线第一| 理论片一区| 亚洲无码高清免费视频亚洲| 久久99国产视频| 国产精品欧美在线观看| 国产精品久久久久久久久久98| 亚洲成aⅴ人在线观看| 久久综合九色综合97婷婷| 国产91透明丝袜美腿在线| 狠狠色噜噜狠狠狠狠色综合久| 精品国产成人三级在线观看| 亚洲 欧美 偷自乱 图片| 波多野结衣无码视频在线观看| 国内精品久久人妻无码大片高| 国产精品成人久久| 91小视频在线播放| 欧美三級片黃色三級片黃色1| 天堂中文在线资源| 波多野结衣中文字幕一区二区| 国产麻豆91网在线看| 九九热免费在线视频| 亚洲一区二区日韩欧美gif| 天天操精品| 91在线高清视频| 国产97公开成人免费视频| 国产人成乱码视频免费观看| 亚洲精品成人片在线播放| 91啪在线| 99ri精品视频在线观看播放| 久久国产V一级毛多内射| 婷婷六月在线| 国产精品lululu在线观看| 国产精品天干天干在线观看| 亚洲国产精品久久久久秋霞影院| 亚洲资源站av无码网址| AV不卡无码免费一区二区三区| 国产成人无码久久久久毛片| 国产小视频a在线观看| 成人91在线| 美美女高清毛片视频免费观看| 亚洲欧美h| 亚洲有码在线播放| 99在线观看精品视频| 国产精品视频导航| 一区二区理伦视频| 视频二区中文无码| 男人天堂亚洲天堂| 国产麻豆91网在线看| 无码内射中文字幕岛国片| 手机永久AV在线播放| 99这里只有精品免费视频| 国产成人福利在线视老湿机| 日韩AV无码免费一二三区 |