基于改進(jìn)SSD算法的小目標(biāo)檢測(cè)研究*
*基金項(xiàng)目:寧夏高等學(xué)??茖W(xué)研究項(xiàng)目(NGY2020009);寧夏重點(diǎn)研發(fā)計(jì)劃(引才專項(xiàng))項(xiàng)目(2020BEB04018);寧夏自然科學(xué)基金項(xiàng)目(2021AAC03096)
本文引用地址:http://2s4d.com/article/202110/429083.htm0 引言
近年來(lái),常用的目標(biāo)檢測(cè)算法在小目標(biāo)應(yīng)用場(chǎng)景中也已證明了其卓越的性能。目標(biāo)檢測(cè)場(chǎng)景中小目標(biāo)識(shí)別檢測(cè)一直是熱點(diǎn)研究問(wèn)題,基于此問(wèn)題提出改進(jìn)SSD算法的圖像小目標(biāo)檢測(cè)模型及其應(yīng)用。首先在原SSD主干部分和檢測(cè)部分之間引入改進(jìn)特征金字塔網(wǎng)絡(luò),融合不同層感受野特征信息提升小目標(biāo)檢測(cè)性能。其次使用深層特征提取網(wǎng)絡(luò)ResNet50 替換VggNet16 提升整體網(wǎng)絡(luò)精度。最后在檢測(cè)層使用全局平均池化層替換全連接層,降低參數(shù)從而提高檢測(cè)速度,設(shè)計(jì)得到改進(jìn)網(wǎng)絡(luò)RFG_SSD 算法。通過(guò)使用改進(jìn)SSD 算法和其他的一些主流檢測(cè)方法,在小目標(biāo)檢測(cè)數(shù)據(jù)集上進(jìn)行3 種評(píng)價(jià)指標(biāo)的對(duì)比實(shí)驗(yàn),包括平均精度、速度以及小目標(biāo)檢測(cè)個(gè)數(shù)。結(jié)果表明,改進(jìn)算法平均精度達(dá)到98.05%,F(xiàn)PS達(dá)到85.56,小目標(biāo)檢測(cè)個(gè)數(shù)相較原SSD 檢測(cè)個(gè)數(shù)高出3倍多,小目標(biāo)檢測(cè)性能效果顯著提升。
1 目標(biāo)檢測(cè)研究方法綜述
目標(biāo)檢測(cè)的目的是從所需要檢測(cè)的目標(biāo)圖像中找到需要檢測(cè)的目標(biāo),目標(biāo)檢測(cè)包含定位與識(shí)別兩個(gè)過(guò)程,目標(biāo)定位是在需要檢測(cè)的目標(biāo)圖像中找到需要檢測(cè)的目標(biāo)位置,目標(biāo)識(shí)別是在目標(biāo)圖像中識(shí)別出,并且定位到需要檢測(cè)的目標(biāo)類別。目標(biāo)檢測(cè)的任務(wù)可以分成3 個(gè)部分,①先建立一個(gè)提取候選區(qū)域的模型,運(yùn)用建立的模型從真實(shí)的目標(biāo)檢測(cè)應(yīng)用場(chǎng)景中提取出需要的候選區(qū)域;②在提取出的候選區(qū)域中識(shí)別出其分類模型;③對(duì)識(shí)別出的分類模型的參數(shù)作出進(jìn)一步的精確調(diào)整,并對(duì)提取到的有用的候選框的位置進(jìn)一步精確調(diào)修,從而使之達(dá)到較滿意的檢測(cè)效果。目前,對(duì)于目標(biāo)檢測(cè)的算法主要分成兩大類,一類是傳統(tǒng)的目標(biāo)檢測(cè)算法[1-10],另一類是基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法[11-12]。
1.1 基于傳統(tǒng)視覺(jué)的目標(biāo)檢測(cè)算法
基于傳統(tǒng)視覺(jué)的目標(biāo)檢測(cè)算法的目標(biāo)檢測(cè)過(guò)程主要使用3 個(gè)步驟:①目標(biāo)圖像中的候選區(qū)域的選取主要使用窗口生成;②在候選區(qū)域中特征的提取是在這些候選區(qū)域上提取到對(duì)目標(biāo)圖像檢測(cè)有用的特征;③使用分類器對(duì)所需要檢測(cè)的目標(biāo)圖像進(jìn)行分類,從而確定需要檢測(cè)的目標(biāo)圖像中的目標(biāo)類別。對(duì)于目標(biāo)檢測(cè)的工作很早就已經(jīng)展開(kāi)。2001 年,Viola 和Jones 與其關(guān)目標(biāo)圖像中的所有滑動(dòng)窗口,不如關(guān)注所需檢測(cè)的目標(biāo)圖像中可能會(huì)有檢測(cè)目標(biāo)圖像的某些區(qū)域,過(guò)濾滑動(dòng)窗口減少了整個(gè)目標(biāo)發(fā)現(xiàn)任務(wù)所需的時(shí)間;2002 年,Papageorgiou 等人提出了用于靜態(tài)目標(biāo)檢測(cè)場(chǎng)景中需要檢測(cè)的目標(biāo)圖像所通用的框架,使用這個(gè)框架不需要有任何的先驗(yàn)知識(shí),運(yùn)動(dòng)分割或者模型,就可以從這個(gè)框架中直接學(xué)習(xí)到我們所需要的特征;2004 年,Lowe 對(duì)SIFT 尺度不變特征進(jìn)一步改進(jìn),改進(jìn)之后的運(yùn)動(dòng)目標(biāo)是由獲取目標(biāo)圖像的關(guān)鍵點(diǎn)及其鄰近的梯度信息來(lái)描述的;2005 年,Dalai 等人提出了HOG梯度方向直方圖,HOG 是在需要檢測(cè)的目標(biāo)圖像的一些局部區(qū)域做特定動(dòng)作,也是對(duì)行人進(jìn)行目標(biāo)檢測(cè)的一種特征描述子,并且可以使光線變化以及圖像形狀都可以具有好的魯棒性,由于其不會(huì)被需要檢測(cè)的行人的一些細(xì)小肢體動(dòng)作干擾,所以HOG 非常適合做一些人體檢測(cè)任務(wù);2010 年,F(xiàn)elzenszwalb 等將SVM 與HOG特征兩者的功能結(jié)合,提出了一種DPM 可變形部件模型,DPM 是利用滑動(dòng)窗口來(lái)提取目標(biāo)圖像所需要的特征,檢測(cè)行人的輪廓信息時(shí),使用了多尺度DPM 檢測(cè)。
1.2 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法可以分為以下3 類,①基于區(qū)域建議的目標(biāo)檢測(cè)算法,例如Faster R-CNN算法,R.CNN 算法等;②基于回歸的目標(biāo)檢測(cè)算法,例如KittiBox 算法、SSD 算法、YOLO 算法等;③基于搜索的目標(biāo)檢測(cè)算法,例如基于視覺(jué)注意的AttentionNet和基于強(qiáng)化學(xué)習(xí)的算法。
1) 基于區(qū)域建議的目標(biāo)檢測(cè)算法。2013 年,Ross Girshick 等人提出了R-CNN 算法,R-CNN 是一種基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法。2015 年,何凱明等人提出了SPP.Net,SPP.Net 對(duì)R-CNN 算法做了改進(jìn),在全連接層與卷積層之間添加了特征空間金字塔層級(jí)網(wǎng)絡(luò)結(jié)構(gòu),從而在訓(xùn)練過(guò)程中解決了R-CNN 算法只能輸入一些固定尺寸的圖像的缺陷,進(jìn)一步改進(jìn)實(shí)現(xiàn)了輸入任意尺寸的圖片都可以進(jìn)行訓(xùn)練,而且也實(shí)現(xiàn)了共享特征提取層的特點(diǎn),使訓(xùn)練速度進(jìn)一步加快。SPP.Net 和R-CNN 算法相比,兩者都存在缺陷,一是有很多計(jì)算重復(fù),二是訓(xùn)練過(guò)程也相對(duì)復(fù)雜。2015 年,R.CNN 作者Ross Girshickt 提出了Fast R-CNN 算法,F(xiàn)ast R-CNN 算法中使用新的網(wǎng)絡(luò),新的網(wǎng)絡(luò)中融合了后續(xù)的SVM 分類和CNN 特征提取來(lái)實(shí)現(xiàn)分類和回歸,改進(jìn)了R-CNN 算法。2016 年,Shaoqing Ren 等人通過(guò)對(duì)Fast R-CNN 算法的優(yōu)化改進(jìn),提出了Faster R-CNN算法,F(xiàn)aster R-CNN 算法創(chuàng)造了一個(gè)RPN,用RPN 替代了Fast R-CNN 算法以及R-CNN 算法中運(yùn)用的選擇性搜索方法。2016 年,Dai J 等人提出R-FCN 方法,R-FCN 方法是在Faster R-CNN 算法的網(wǎng)絡(luò)結(jié)構(gòu)上改進(jìn)得到的,R-FCN 方法是通過(guò)在目標(biāo)RoI pooling Layer感興趣區(qū)域池化層,即在RoI pooling Layer 前加入目標(biāo)的位置信息,讓不同的特征圖可以檢測(cè)出目標(biāo)圖像中的不同位置。2019 年杜雪、廖泓舟、張勛等人提出水下目標(biāo)智能識(shí)別方法,它是基于深度卷積特征提出的,加入了VGGNet 視覺(jué)幾何組網(wǎng)絡(luò)的逐層遞增的卷積層思想,同時(shí)加入遷移學(xué)習(xí)以及數(shù)據(jù)增強(qiáng)技術(shù)進(jìn)行二次學(xué)習(xí),學(xué)習(xí)水下目標(biāo)的獨(dú)特能力,解決水下數(shù)據(jù)集不足的狀況,并且也防止了過(guò)擬合的發(fā)生;2019 年,Wei-Hong lin 等人提出并構(gòu)建了一個(gè)有更好泛化能力的模型,在Faster R-CNN 方法的基礎(chǔ)上,通過(guò)研究增強(qiáng)策略,從而去模擬重疊、模糊和遮擋的目標(biāo),也創(chuàng)造了一種稱為ROIMIX 的增強(qiáng)方法,ROIMIX 方法也能夠表示圖像之間的相互作用。
2)基于回歸的目標(biāo)檢測(cè)算法,例如SSD 算法,KittiBox 算法等,2015 年Wei Liu 等人提出了基于改進(jìn)的SSD 算法,在這個(gè)改進(jìn)的SSD 算法中合并了YOLO中的回歸思想以及Faster R-CNN中的錨(anchor)機(jī)制。為了能夠達(dá)到更快的檢測(cè)速度,Joseph 等人在2015 年提出YOLO 算法,模型去掉了兩階段算法中尋找框的步驟,直接設(shè)計(jì)網(wǎng)絡(luò)輸出帶有框與分類置信度的圖片,也是第一個(gè)一階段目標(biāo)檢測(cè)算法,在速度上更是遠(yuǎn)超兩階段算法。但YOLO 算法由于沒(méi)有對(duì)于框的預(yù)先設(shè)定,導(dǎo)致其精度較低。Joseph 受兩階段方法設(shè)定錨框的啟發(fā),為一階段算法加入預(yù)設(shè)框,提出YOLO v2、YOLO v3,既保持了算法的速度又進(jìn)一步提升了算法精度。目標(biāo)檢測(cè)過(guò)程中,在模型最后懲罰預(yù)測(cè)框進(jìn)行位置優(yōu)化時(shí),框回歸損失函數(shù)的設(shè)定直接影響優(yōu)化的速度和定位的準(zhǔn)確度。為了更加準(zhǔn)確預(yù)測(cè)出目標(biāo)的位置,框回歸損失函數(shù)的設(shè)定經(jīng)歷了一系列發(fā)展。2015年Girshick 等人在Fast r-cnn 中引入smooth L1 損失函數(shù),兩階段算法中多沿用此損失函數(shù)作為框回歸優(yōu)化算法。而YOLO 系列中使用的是均方誤差(MSE)函數(shù)。兩種損失函數(shù)的設(shè)計(jì)思路均為懲罰預(yù)測(cè)框與目標(biāo)框四個(gè)坐標(biāo)信息之間的歐式距離,而實(shí)際上在評(píng)判預(yù)測(cè)框定位準(zhǔn)確性和保留預(yù)測(cè)框的過(guò)程中的指標(biāo)是IOU,但這兩者之間非等價(jià)關(guān)系。即多個(gè)預(yù)測(cè)框可能有相同大小的smooth L1 損失,但他們與真實(shí)框的IOU 卻相差很大,導(dǎo)致懲罰損失函數(shù)不能對(duì)框之間的IOU 進(jìn)行直接優(yōu)化。為了解決這個(gè)問(wèn)題,J.Yu 等人引入IOU 損失函數(shù),最大化預(yù)測(cè)框與目標(biāo)框之間的IOU 來(lái)優(yōu)化預(yù)測(cè)框位置,即拉大兩框之間的重合面積,與評(píng)價(jià)預(yù)測(cè)框的指標(biāo)函數(shù)相符合。但當(dāng)預(yù)測(cè)框與目標(biāo)框沒(méi)有重疊部分面積時(shí),目標(biāo)損失函數(shù)值為1,無(wú)法進(jìn)行梯度回轉(zhuǎn),且IOU 也不能完全反應(yīng)兩個(gè)框的相交情況。于是,2019 年Rezatofighi H 等人提出廣義的交開(kāi)比GIOU(Generalized Intersection over Union),它由兩部分組成損失函數(shù),在最大化兩框相交面積的同時(shí)最小化兩框形成的最大框,去掉了兩框之間的面積,模型避免了當(dāng)兩框不相交時(shí)梯度消失的問(wèn)題。目前YOLO 系列算法已經(jīng)更新至第5 代版本,第1 代到第4 代已經(jīng)開(kāi)源,很多深度學(xué)習(xí)框架都可以很好地實(shí)現(xiàn)YOLO系列算法。2021 年,鄒慧海等人提出改進(jìn)網(wǎng)絡(luò)RFG_SSD 算法,提升了檢測(cè)精度和效率。
3)基于搜索的目標(biāo)檢測(cè)算法,例如基于視覺(jué)注意的AttentionNet 和基于強(qiáng)化學(xué)習(xí)的算法?;谥岛瘮?shù)的DRL 算法采用深度神經(jīng)網(wǎng)絡(luò)對(duì)值函數(shù)或者動(dòng)作值函數(shù)進(jìn)行近似,通過(guò)時(shí)間差分(temporal difference,TD)學(xué)習(xí)或者Q 學(xué)習(xí)的方式分別對(duì)值函數(shù)或者動(dòng)作值函數(shù)進(jìn)行更新。2015 年,DeepMind 團(tuán)隊(duì)在Nature 上發(fā)表了深度Q 網(wǎng)絡(luò)(deep Q-network,DQN) 的文章, 認(rèn)為DRL可以實(shí)現(xiàn)類人水平的控制。2017 年,DeepMind 團(tuán)隊(duì)根據(jù)深度學(xué)習(xí)和策略搜索的方法推出了AlphaGo。2019 年,DeepMind 團(tuán)隊(duì)基于MADRL 推出AlphaStar 方法??梢钥吹剑珼RL 在封閉、靜態(tài)和確定性的環(huán)境(如圍棋、游戲等)下,可以達(dá)到甚至超越人類的決策水平。
2 小目標(biāo)檢測(cè)使用的評(píng)價(jià)指標(biāo)與常用數(shù)據(jù)集
2.1 評(píng)價(jià)指標(biāo)
在小目標(biāo)檢測(cè)實(shí)驗(yàn)中,我們使用了要檢測(cè)目標(biāo)的真實(shí)圖像數(shù)據(jù)作為本課題的實(shí)驗(yàn)數(shù)據(jù),實(shí)驗(yàn)所用的數(shù)據(jù)集包含1 萬(wàn)多張小目標(biāo)檢測(cè)場(chǎng)景的真實(shí)圖像,而且具有與實(shí)際應(yīng)用場(chǎng)景一致的詳細(xì)目標(biāo)圖像的標(biāo)注數(shù)據(jù)。對(duì)于幾種目標(biāo)檢測(cè)算法,都以此數(shù)據(jù)集作為進(jìn)行實(shí)驗(yàn)的標(biāo)準(zhǔn)數(shù)據(jù),比較不同的目標(biāo)檢測(cè)算法在準(zhǔn)確率、效率等性能指標(biāo)上的異同。在準(zhǔn)確度方面,實(shí)驗(yàn)采用交并比方法評(píng)估各個(gè)算法的檢測(cè)結(jié)果。
2.2 常用數(shù)據(jù)集
為了進(jìn)一步深入研究小目標(biāo)應(yīng)用場(chǎng)景,國(guó)內(nèi)外學(xué)者公開(kāi)發(fā)表了很多目標(biāo)檢測(cè)應(yīng)用領(lǐng)域的數(shù)據(jù)集。數(shù)據(jù)集在整個(gè)目標(biāo)檢測(cè)領(lǐng)域的發(fā)展史中占有重要地位,而開(kāi)發(fā)一些高級(jí)目標(biāo)檢測(cè)算法的關(guān)鍵是具有足夠大,并且有專門的不同應(yīng)用場(chǎng)景所需要的數(shù)據(jù)集,也是比較不同算法的評(píng)估基準(zhǔn)。近十年來(lái),目標(biāo)檢測(cè)不同應(yīng)用場(chǎng)景中也涌現(xiàn)出了很多著名的公開(kāi)數(shù)據(jù)集,包括SUN、BDD100K、ImageNet 等。當(dāng)應(yīng)用區(qū)域檢測(cè)到很多小目標(biāo)時(shí),也提出了很多相關(guān)的數(shù)據(jù)集,例如特定區(qū)域的目標(biāo)檢測(cè),特別是航拍圖像中的目標(biāo)檢測(cè)、遙感衛(wèi)星圖像中的目標(biāo)檢測(cè)等,相關(guān)的一些常用目標(biāo)檢測(cè)應(yīng)用場(chǎng)景的數(shù)據(jù)集對(duì)比如表1 所示。
3 結(jié)束語(yǔ)
實(shí)驗(yàn)通過(guò)對(duì)幾種算法的對(duì)比研究,對(duì)基于改進(jìn)的SSD 算法的小目標(biāo)圖像的目標(biāo)檢測(cè)方法進(jìn)行評(píng)估。使用該算法與其他主流檢測(cè)方法在小目標(biāo)檢測(cè)數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),包括平均精度、速度以及小目標(biāo)檢測(cè)個(gè)數(shù)。使用小目標(biāo)檢測(cè)常用數(shù)據(jù)集提供的小目標(biāo)圖像中的目標(biāo)真實(shí)圖像數(shù)據(jù)作為本研究的實(shí)驗(yàn)數(shù)據(jù),同時(shí),每個(gè)圖像中都有相應(yīng)的詳細(xì)注釋數(shù)據(jù)。比較幾種不同的目標(biāo)檢測(cè)算法,都以此數(shù)據(jù)集作為進(jìn)行實(shí)驗(yàn)的標(biāo)準(zhǔn)數(shù)據(jù),比較不同的目標(biāo)檢測(cè)算法在準(zhǔn)確率、效率等性能指標(biāo)上的異同。在準(zhǔn)確度方面,實(shí)驗(yàn)采用交并比方法評(píng)估各個(gè)算法的檢測(cè)結(jié)果,用交并比(IOU)計(jì)算公式計(jì)算。本文還以系統(tǒng)檢測(cè)精度、處理時(shí)間、檢測(cè)時(shí)間等指標(biāo)作為評(píng)價(jià)目標(biāo)檢測(cè)算法性能優(yōu)劣的標(biāo)準(zhǔn)。
參考文獻(xiàn):
[1] 付若楠.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)研究[D].北京:北京交通大學(xué),2017.
[2] 王震.基于深度學(xué)習(xí)的快速目標(biāo)檢測(cè)技術(shù)研究[D].天津:天津理工大學(xué),2017.
[3] 袁寶紅.基于視頻的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤研究[D].合肥:安徽大學(xué),2014.
[4] 張巍.水下圖像的目標(biāo)檢測(cè)與定位研究[D].武漢:華中科技大學(xué),2007.
[5] BENGIO Y.Deep learning of representations:Looking forward[C].SLSP 2013, Tarragona,(sp):1-37.
[6] 高志華.基于深度學(xué)習(xí)的CPU實(shí)時(shí)動(dòng)物目標(biāo)檢測(cè)[J].現(xiàn)代計(jì)算機(jī),2017(31):3-9.
[7] 周曉彥,王珂,李凌燕.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法綜述[J].電子測(cè)量技術(shù),2017(11):4-8.
[8] 張慧,王坤峰.深度學(xué)習(xí)在目標(biāo)視覺(jué)檢測(cè)應(yīng)用進(jìn)展與展望[J].電子測(cè)量技術(shù),2017,43(8):1289-1305.
[9] 陳江昀.一種基于深度學(xué)習(xí)的新型小目標(biāo)檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用與軟件2017,34(10):227-231.
[10] 張芳慧.行車視頻中基于深度學(xué)習(xí)的目標(biāo)檢測(cè)[D].北京:北京交通大學(xué),2018.
[11] 張志豪.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法研究[D].成都:電子科技大學(xué),2018.
[12] 史文麗.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法研究[D].大連:大連海事大學(xué),2018.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年10月期)
評(píng)論