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

融合跨階段局部網絡和空間金字塔池化的Yolov3目標檢測算法

2021-11-06 12:03:26梁禮明錢艷群吳媛媛
重慶理工大學學報(自然科學) 2021年10期
關鍵詞:特征檢測

梁禮明,錢艷群,吳媛媛

(江西理工大學 電氣工程與自動化學院,江西 贛州 341000)

目標檢測任務是實例分割、姿態估計、自動駕駛、視頻分析等任務的基礎,更是計算機視覺領域中非常熱門的研究方向。傳統的檢測算法利用滑動窗口的技術從輸入圖像上提取大量候選框,人工設計特征提取器提取候選區域的特征,選取合適的分類器進行分類。大數據時代下,傳統的手工提取的方法已經不能滿足人們對目標檢測的高要求,隨著深度學習技術的發展和計算機硬件設備的提高,在檢測任務上達到了快速且精確的程度。基于深度學習的目標檢測方法分為2種:基于候選區域的兩階段檢測和基于回歸的一階段檢測。Ren等[1]提出的Faster RCNN利用候選區域提取模塊RPN替換SS算法,通過anchor機制生成候選區域,達到了更為準確的定位和較高的識別精度。Lin等[2]提出的FPN網絡,設計了具有橫向連接的自頂向下的體系結構,使檢測器不再只在網絡的頂層進行檢測。Dai等[3]提出的R-FCN使用全卷積網絡實現計算共享,提高檢測的速度。He等[4]提出的Mask RCNN用ROI Align取代Faster RCNN中的感興趣池化層解決特征圖與原始圖像上的感興趣區域不對準的問題。Hao等[5]提出的BlendMask采用一種自頂向下與自底向上設計相結合的策略,不但可以用在實例級別的識別檢測任務上,還能很好地解決全景分割問題。

雖然兩階段的目標檢測算法精度更高,但檢測速度較慢,而一般的工業或是自動駕駛等領域對實時性的要求又很高,所以相比兩階段檢測算法,速度較快的一階段檢測算法更有發展空間。最有代表性的一階段目標檢測算法是SSD算法[6]和Yolo系列算法[7-12],其中Yolov3[12]是Yolo系列中應用最為廣泛的目標檢測算法。張智等[8]將Yolov3中采用不同深度的空洞卷積引入低層紋理特征豐富高層的語義信息。譚芳等[9]利用FAST角點檢測算法與BRISK特征點描述算法改進Yolov3完成多目標行人跟蹤任務。李軒等[10]在Yolov3的基礎上利用暗通道去霧算法實現圖片增強。許多改進的算法僅僅是針對某個類別,泛化能力較差,無法應對類別多的場景,并不適用于通用目標檢測,尤其是在復雜的環境和背景下,原Yolov3算法往往存在邊界框的定位不準、對物體的檢測精度不高等問題。本文以Yolov3算法為基礎,提出融合跨階段局部網絡和空間金字塔池化的Yolov3目標檢測算法,通過將主干網絡融合跨階段局部網絡CSPNet提高網絡的學習能力,引入改進的空間金字塔池化結構增強網絡的局部區域特征,在損失函數中融入focal loss解決正負樣本不均衡所帶來的問題,旨在保證速度的前提下,提高Yolov3的檢測精度。

1 Yolov3算法原理

2018年提出的Yolov3在Yolov1[7]和Yolov2[11]的基礎做更進一步的改進,采用Darknet53作為基礎網絡,運用殘差結構使得網絡的層數可以更深,網絡結構中有大量的1×1和3×3的卷積層,特征圖的大小通過調節卷積步長確定,其網絡結構如圖1所示。

圖1 Yolov3網絡結構框圖

Yolov3借鑒FPN的思想,大的尺寸特征圖用來預測小物體,小的尺寸特征圖用來預測大物體,檢測層共有3個尺度的輸出,分別是在32倍降采樣、16倍降采樣、8倍降采樣進行檢測。輸入圖像是經過主干網絡等一系列卷積層生成的特征圖,經過3×3、1×1卷積之后生成Feature Map1,用經過1×1的卷積層加上上采樣層,與主干網絡的中間層輸出特征進行concat操作,生成Feature Map2,同樣的操作之后產生Feature Map3,Yolov3從主干網絡DarkNet53中共提取了3個不同的特征層進行預測,使用邏輯回歸預測每個邊界框的是否存在檢測目標,然后采用非極大值抑制篩選出最終的檢測結果。此外,Yolov3還借助殘差網絡residual network[13]的思想,在一些層之間設置了快捷路徑(shortcut connections)[13]。這種結構的特點就是能夠通過增加一定的深度來提高準確率,并且能緩解增加深度帶來的梯度消失問題。

Yolov3算法的損失函數共有3個組成部分,分別是bbox、置信度和類別帶來的誤差。具體損失函數如下:

Loss=bbxloss+confloss+probloss=

(1)

2 改進型Yolov3算法

2.1 主干網絡的改進

Yolov3的特征提取網絡DarkNet53借鑒了Resnet[13]的跨層連接操作(如圖2(a)),隨著網絡的層數加深,對神經網絡所需的推理計算能力的要求進一步提高,目前先進的檢測技術之所以能在計算機視覺任務上取得顯著的成果,很大原因在于具備昂貴的計算資源。為了減輕這種需要大量推理計算能力的問題,本文中將跨階段局部網絡(CSPNet)應用于DarkNet53,CSPNet是wang等[14]提出的一種新型網絡結構體系,主要目的是豐富梯度組合,在緩解計算量的情況下還能提高網絡的學習能力和推理速度,大大減少內存開銷。CSPNet的基本思想是將特征層拆分為2個部分:一部分進行卷積操作,另一部分和之前進行卷積操作的結果concat,利用跨階段的分割與合并策略,能夠有效地減少信息在集成過程中重復使用的可能性[15]。改進的網絡結構如圖2(b)所示。

圖2 融合CSPNet的網絡結構框圖

首先,改進的網絡結構將原來DarkNet53殘差塊的堆疊分成了Shortconv和Mainconv兩部分。Shortconv部分的目的是生成一個大的殘差邊,經過1×1卷積調整通道數后連至最后。Mainconv部分作為主干部分繼續進行殘差塊的堆疊,先經過1×1的卷積調整通道數,再經過的卷積增強特征的提取,接著將其輸出進行跨層連接。之后經過的卷積將其通道數調整為與Shortconv部分相同。最后,將Shortconv部分和Mainconv部分進行堆疊。其中,N的取值依次為1、2、8、8、4。通過將基礎層的特征分成2個部分,然后通過一個跨階段的層次結構合并他們,利用這種方式,使得網絡傳播的梯度信息可以產生較大的相關差異。此外,本文還對激活函數進行了改進,將原Yolov3的激活函數LeakyReLU函數換成Mish函數。Mish函數[16]具有“有下界無上界“的特點,可以在訓練過程中有效地避免梯度飽和。此外,Mish激活函數還具有非單調性和光滑的特點,此特點優于LeakyRelu函數在零點處不光滑、梯度為零的情況。改進的Mish激活函數能夠很好地提高網絡的學習能力,提升梯度的傳遞效率,公式如下:

Mish=x*tanh(ln(1+ex))

(2)

2.2 特征增強網絡

空間金字塔池化結構(spatial pyramid pooling)原是用于解決卷積神經網絡對圖像重復特征提取的問題[17],并且可以將不同大小的特征圖進行一系列尺度的池化操作,再轉化為所需要的維度的特征向量,有效避免了圖像因為裁剪、縮放所帶來的問題。本文借鑒空間金字塔池化思想,目的是為了進一步獲得局部特征信息,與改進的主干網絡得到的全局特征信息融合,提高檢測精度。如圖3所示,在主干網絡的最后一個特征層的卷積里加入改進的空間金字塔池化結構,先對13×13的特征圖進行1次卷積操作,然后借鑒空間金字塔池化的思想對卷積后的特征圖進行3個不同尺度的池化處理,池化核大小分別為13×13、9×9、5×5,步長均為1,最后將13×13的全局特征圖和經過3個池化操作的局部特征圖進行concat后,再進行1次卷積操作。改進的空間金字塔池化結構可以在很大程度上增加最后一個特征層的感受野,使得上下文特征更加明顯,能夠進一步獲得豐富的局部特征信息。

圖3 改進的空間金字塔池化結構框圖

2.3 改進的損失函數

單階段目標檢測器直接從輸入圖像中產生成千上萬的候選框,在這些密集的檢測框中,只有很少的一部分候選框是包含目標的,其他的都是背景框,因此在訓練過程中存在正負樣本的嚴重不均衡問題。此外,在這些大量的候選框中,還存在許多易分類樣本與難分類樣本,使得損失函數很難對模型做出正確的指導。Lin等[18]提出一種新的loss計算方案,通過控制正負樣本的權重和控制易分類樣本和難分類樣本的權重來解決上述問題。先以簡單的二分類為例,普通的交叉熵loss為:

(3)

其中,y代表目標的類別標簽,取值為0或1;p代表模型預測y=1的概率。利用簡化交叉熵損失,具體如下:

(4)

此時,交叉熵loss變為:

CE(p,y)=CE(pt)=-loga(pt)

(5)

由于數據集中存在極大的正負樣本不均衡問題,因此在交叉熵損失函數中利用與目標存在概率成反比的系數來調整,在常規的交叉熵損失函數前加上一個系數at來調整正負樣本的影響,通過改變at的值來控制正負樣本對loss的影響,at的表示如下:

(6)

結合式(4)~(6),則可得到:

(7)

其中,a的取值范圍為0~1。如果將a的值設置成0~0.5,就會降低正樣本的權重,增加負樣本的權重;如果將a的值設置成0.5~1,就能增加正樣本的權重,減少負樣本的權重,因此通過改變a的值就能改變正負樣本的權重。此外,focal loss還在交叉熵損失函數的基礎上設置了一個(1-pt)r調制參數。以正樣本為例,當網絡能夠正確分類時,此時的樣本是容易分類樣本,pt趨于1,整個調制參數趨于0,對loss的貢獻很小;當網絡不能很好地分類時,此時的樣本是難分類樣本,pt趨于0,調制參數趨于1。和容易分類樣本相比,難分類樣本的權重就大得多,對loss的貢獻大。通過調整r值以實現調制系數的改變,其具體公式如下:

FL(pt)=-at(1-pt)γloga(pt)

(8)

改進后的Yolov3損失函數為:

Loss=bbxloss+confloss+probloss=

(9)

3 實驗

3.1 實驗環境

實驗環境為Linux操作系統Ubuntu 16.04,深度學習開發環境的各個軟件版本為:python 3.7,cuda 9.2,cudnn 7.1,Anaconda 3,Pytorch 0.4.1。CPU型號為Intel I7-7800,選用NVIDIA Titan X的GPU。

3.2 實驗數據集

采用PASCAL VOC數據集,總共有20種類別。訓練數據采用VOC 2007訓練驗證集和VOC 2012訓練驗證集,總共有16 551張圖片,包含40 058個樣本框。VOC 2007部分數據作為驗證集。選用VOC 2012測試集作為測試數據,總共有4 952張圖片,包含12 032個樣本框。

3.3 實驗細節

采用端到端的方式優化模型,使用多任務損失函數優化網絡參數。訓練之前,先將訓練集數據中的真實框使用K-means聚類的方法得到先驗框的寬和高,總共得到3個尺度9個錨框,分別是(10×13)、(16×30)、(33×23)、(30×61)、(62×45)、(59×119)、(116×90)、(156×198)和(373×326)。實驗在Pytorch框架上進行,圖像輸入大小為 416×416,通道數為3,訓練時批量大小設置為16,動量值設置成0.9,在訓練的初始階段,為了加強模型的穩定,采用warm up[19]預熱學習率方式。warm up階段分兩輪,先讓學習率逐步增大到0.000 1,等模型相對穩定后采用consine衰減[19]讓學習率逐步降低以減小網絡的損失。其模型訓練的學習率示意圖如圖4所示。

圖4 學習率示意圖

損失函數中的a值設置為0.75,γ值設置為2。圖5為損失函數訓練曲線,其中橫坐標是迭代次數,縱坐標是loss值,藍色線代表損失值,紅色線代表驗證集的平均精度,數字是每迭代1 000次的評估結果。從圖5中可以看出:損失函數一開始下降較快,之后變慢到最后基本穩定在0.1左右。

圖5 損失函數訓練曲線

3.4 實驗結果及分析

進行原Yolov3算法與改進Yolov3算法的對比實驗。訓練數據均采用VOC 07訓練驗證集加VOC 12訓練驗證集,使用平均準確率(mAP)作為評價指標,選取VOC 07測試集作為測試數據。表1為不同算法在VOC 07測試集上的測試結果。從表1可以看出:在圖像大小輸入相同的情況下,與原Yolov3_416算法相比,改進的算法的mAP值提升了1.8%,與原Yolov2_416算法相比,改進的算法的mAP值提升了4.4%。并且本文改進的算法比一階段檢測算法FSSD的mAP值高9.8%,比兩階段檢測算法R-FCN的mAP值高0.7%,可以看出本文的算法在目標檢測任務上的提升效果較明顯。

表1 不同算法在VOC 07測試集上的結果

將改進型Yolov3算法與原算法在PASCAL VOC 07測試集上進行單種類別的比較,結果如表2所示。

表2 VOC 07測試集單類AP結果 %

從表2可以看出:改進型的Yolov3算法對像鳥、船、瓶子以及飛機等小物體的檢測精度有了明顯提升,說明引入的空間金字塔池化結構對尺度不同的物體尤其是小尺度的物體具有很好的檢測效果。隨機選取VOC 07測試圖片進行測試,如圖6(a)、圖6(c)所示為原Yolov3算法檢測,圖6(b)、圖6(d)所示為改進的算法檢測。從圖中很明顯可以看出:改進的算法檢測出原算法沒有檢測出來的小尺度的人和車,并且相同的目標改進的算法也比原算法檢測精度高。此外,為了證明改進算法在面對現實場景中環境的復雜性和背景的多樣性時具有較好的魯棒性,對現實中的圖片進行了檢測與展示,如圖6(e)所示為Yolov3算法檢測,圖6(f)所示為本文改進的算法檢測。從檢測效果圖看到,改進的算法檢測出了遠處的卡車和行人,說明改進的算法泛化性能更好。

圖6 測試圖對比

3.5 消融實驗

為了驗證每個改進模塊對最終性能的影響,進行了消融實驗,檢測結果均在VOC 07測試集上進行評估,圖片輸入大小均為416×416。實驗結果如表3所示。第1組為原Yolov3算法,其mAP值為79.4%;第2組為融合CSPNet的Yolov3算法,其mAP值為80.3%,因為采用跨階段的分割與合并策略,增強了主干網絡的學習能力,使得其檢測精度提高了0.9%;第3組在前一組的基礎上加入改進的空間金字塔池化結構,其mAP值為80.7%,增加最后一個特征層的感受野,使模型能更好地獲得豐富的局部特征信息,使得其檢測精度提高了0.4%,說明改進的空間金字塔結構對模型整體性能的提升有一定的影響;第4組也就是本文算法,在前一組的基礎上使用了Focal loss,其mAP值為81.2%,說明所改進的損失函數使得正負樣本不均衡問題得到緩解,不但使檢測精度進一步提升,而且總體相比于原始的Yolov3算法有了很好的改進效果。

表3 消融實驗結果

4 結論

以Yolov3算法為基礎,針對原算法在復雜的環境和背景下存在邊界框定位不準、對各個尺度的目標檢測精度不高等問題,提出了一種融合跨階段局部網絡和空間金字塔池化的Yolov3目標檢測算法。該算法將主干網絡融合跨階段局部網絡CSPNet提高網絡的學習能力;為了充分利用網絡的多尺度局部區域特征,引入一種改進的空間金字塔池化結構增強特征提取能力;在損失函數中融入focal loss解決正負樣本不均衡所帶來的問題。實驗結果表明:該算法在PASCAL VOC數據集上的平均精度達到81.2%,比原Yolov3算法精度提高0.7%,并且能夠很好地檢測一些小尺度的目標。從效果圖中可以看出:對于一些遮擋比較嚴重的目標還不能很好地檢測,因此,下一階段的任務是研究如何提高遮擋目標的檢測效果。

猜你喜歡
特征檢測
抓住特征巧觀察
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主站蜘蛛池模板: 亚洲午夜片| 国产精品福利导航| 综合亚洲网| a在线亚洲男人的天堂试看| 国产福利一区在线| 香蕉视频在线精品| 国产激情无码一区二区三区免费| 国产精品美女免费视频大全| 婷婷五月在线视频| 精品国产免费人成在线观看| 玖玖免费视频在线观看| 91麻豆国产精品91久久久| 国产福利不卡视频| 网友自拍视频精品区| 欧美黄网站免费观看| 女人18一级毛片免费观看| 91精品专区| 国模粉嫩小泬视频在线观看 | 国产小视频在线高清播放| 亚洲色精品国产一区二区三区| 亚洲欧洲综合| 日韩欧美国产区| 亚洲欧美在线综合一区二区三区| 在线va视频| 欧美性爱精品一区二区三区| 伊人查蕉在线观看国产精品| 亚洲中文在线视频| 国产麻豆精品在线观看| 韩日免费小视频| 欧美三級片黃色三級片黃色1| 亚洲天堂区| 丝袜无码一区二区三区| 国产成在线观看免费视频| 日本一区高清| 亚洲日韩在线满18点击进入| 激情综合激情| 怡红院美国分院一区二区| 九九线精品视频在线观看| 亚洲人妖在线| 国产欧美中文字幕| 国产福利小视频在线播放观看| 国产亚洲高清视频| 国产成人无码综合亚洲日韩不卡| 亚洲欧美不卡视频| 第九色区aⅴ天堂久久香| 有专无码视频| 亚洲欧洲综合| 伊人成色综合网| 中文无码毛片又爽又刺激| 99视频精品在线观看| 狠狠色丁香婷婷| 亚洲欧美日韩另类| 久久久久久久97| 在线精品亚洲一区二区古装| 亚洲热线99精品视频| 国产精品久久自在自线观看| 亚洲天堂网视频| 精品伊人久久久香线蕉 | 久久久久久久久18禁秘| 久久黄色一级片| 日本人妻丰满熟妇区| 国产成人禁片在线观看| 精品人妻无码中字系列| 四虎国产永久在线观看| 日日拍夜夜嗷嗷叫国产| 一级黄色网站在线免费看| 中文字幕中文字字幕码一二区| 亚洲精品卡2卡3卡4卡5卡区| 婷婷色一二三区波多野衣| 国产精品亚洲专区一区| 久久婷婷国产综合尤物精品| 欧美中出一区二区| 色哟哟国产精品一区二区| 国产1区2区在线观看| 久久久久国色AV免费观看性色| 国产精品lululu在线观看| 97超爽成人免费视频在线播放| 欧洲在线免费视频| 五月婷婷综合网| 91探花在线观看国产最新| 久久a毛片| 国产粉嫩粉嫩的18在线播放91|