0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于SSD算法的小目標檢測方法研究

li1234567890123 ? 來源:li1234567890123 ? 作者:li1234567890123 ? 2022-04-02 16:14 ? 次閱讀

摘要:

針對通用目標檢測方法在復雜環(huán)境下檢測小目標時效果不佳、漏檢率高等問題,本文對SSD小目標檢測算法進行改進。利用訓練損失的反饋作為判斷條件,結合數(shù)據(jù)增強提高模型對復雜環(huán)境的抗干擾能力,降低小目標的漏檢率,在網絡中引入注意力機制,增加SENet (Squeeze-and-Excitation)模塊,對模型中的特征通道進行權重重分配,對無效的特征權重進行抑制,提升有用的特征權重占比。實驗結果表明,相比原SSD算法,改進的SSD算法在不引入過多計算量的情況下,能夠有效彌補訓練過程中小目標監(jiān)督不到位的不足,在VOC數(shù)據(jù)集和工地安全帽佩戴數(shù)據(jù)集上,精度都得到了明顯提升。

1. 引言

目標檢測是計算機視覺中最具有挑戰(zhàn)性的任務,目的是在圖像的復雜背景下找到若干目標,并對每一個目標給出一個精確的目標包圍盒并判斷包圍盒中的目標所屬的類別 [1]。深度學習的興起使得目標檢測得到加速發(fā)展,準確性和實時性都得到了提升,如Girshick等人提出的R-CNN、Fast R-CNN算法 [2] [3]、Ren等人提出的Faster R-CNN算法 [4]、Joseph等人提出的YOLO算法 [5] 以及Liu等人提出的SSD (Single Shot MultiBox Detector)算法 [6] 等。其中,小目標檢測是目標檢測領域中一個重要的難點問題,實際應用場景復雜、小目標信息不充分,導致小目標的檢測效果始終不是很好。小目標檢測因而成為計算機視覺領域中的一項具有巨大挑戰(zhàn)性的任務。

上述方法僅對常規(guī)的目標檢測問題效果較好,但所提取出的特征對小目標的表示能力較差,檢測效果不佳。MS COCO數(shù)據(jù)集中將尺寸小于32 × 32像素的目標定義為小目標 [7],大于32 × 32像素小于96 × 96像素的目標定義為中目標,大于96 × 96像素的目標為大目標。Huang等人 [8] 對現(xiàn)階段的檢測器進行調研發(fā)現(xiàn),現(xiàn)階段的目標檢測系統(tǒng)的精度,在小目標上的精度普遍比大目標低10倍,原因主要是由于樣本中的小目標分辨率太低,雖然卷積神經網絡的特征提取能力對于大中目標已經足夠,但是對于小目標還是力不從心,小目標能提供給模型的信息過少也是制約目標檢測發(fā)展的瓶頸之一。對此,一系列針對小目標檢測的方法應運而生,小目標檢測因而成為熱點研究領域。

Fu等人 [9] 提出DSSD算法,利用ResNet [10] 替換SSD中的VGG [11] 模型,同時為了減少小目標的漏檢率,加入反卷積層(Deconvolution),將圖像分為更小的格子,但因為ResNet中引入殘差連接等,算法的額外開銷較大,比SSD算法的速度略慢。Singh等人 [12] 從訓練角度切入,在數(shù)據(jù)層面思考,對數(shù)據(jù)集進行分析,發(fā)現(xiàn)訓練樣本中的小目標在待檢測的圖像中占比較小,于是采用一種多尺度的訓練方式——圖像的尺度歸一化(SNIP),在金字塔模型的每一個尺度上進行訓練,高效利用訓練數(shù)據(jù),檢測效果得到顯著提升,但是計算成本巨大。Lin等人 [13] 利用特征金字塔網絡(FPN)融合模型高低層語義信息,增強模型提取的特征對小目標的表達能力。雖然上述方法都在一定程度上提升了小目標的檢測精度,由于網絡模型冗余導致的算法實時性不足、模型輕量化導致的精度不夠、數(shù)據(jù)量不平衡導致訓練不充分等因素,上述方法在實際場景下的檢測效果仍然不理想。

本文基于SSD方法,利用數(shù)據(jù)增強和注意力機制設計一種小目標檢測算法,在增加計算量可近似忽略的前提下,提升檢測精度。首先,對訓練過程進行優(yōu)化,采用數(shù)據(jù)增強的方法加強模型對小目標的監(jiān)督,以每次迭代過程中的各項目標損失占比為判斷依據(jù),確定是否在下次迭代過程中增強輸入數(shù)據(jù),若在當前迭代中小目標貢獻的損失占比小于給定閾值,則下次迭代輸入為增強圖像,反之輸入原圖像;此外加入SENet模塊,提升有效的特征信息權重,抑制作用較小的特征信息權重。實驗結果表明,改進后的SSD算法優(yōu)于原SSD算法,在實際場景下也能有很好的檢測效果。

2. SSD算法

2.1. 網絡模型

SSD的主要特點是在不同尺度上進行檢測與識別,其網絡模型分為基礎網絡和附加網絡,在基礎網絡的末端添加了幾個特征層作為附加網絡用于預測不同尺度目標以及包圍盒的偏移量和置信度。該算法以VGG-16模型作為特征提取網絡并將其全連接層替換為卷積層,網絡輸入RGB三通道圖像,附加網絡附加4個卷積層。為提高目標檢測精度,SSD算法在不同的尺度上進行檢測,如圖1所示,圖像輸入網絡后從左至右得到6層不同尺寸的特征圖(feature map) Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2,尺寸分別為38 × 38、19 × 19、10 × 10、5 × 5、3 × 3、1 × 1,借鑒Faster RCNN算法中的錨點思想,在特征圖上生成不同尺度不同寬高比的先驗框,而后通過非極大抑制(NMS)等方法輸出最終目標類別和定位結果。

Figure 1. SSD network model

圖1. SSD網絡模型

2.2. SSD優(yōu)缺點分析

作為單步檢測器,SSD算法以回歸的方式進行分類和定位,并結合Faster RCNN中的錨點思想進行預測,其算法中的先驗框可以使得模型更快的收斂,降低訓練成本。若沒有采用錨點,則直接回歸預測目標的坐標位置,模型難以收斂且計算成本巨大。同時SSD算法選取了模型中的六個特征圖進行多尺度檢測,各個卷積層所輸出的特征圖包含的信息是不同的,深層特征尺寸小,包含的語義信息更豐富,適合檢測大目標,而淺層特征尺寸大,細節(jié)紋理特征信息更為豐富,對小目標的檢測很有幫助,其采用的多尺度檢測一定程度上是有利于提升小目標的檢測精度的。

雖然SSD采用了多尺度的檢測機制,利用VGG-16作為網絡模型,通過Conv4_3的大尺度特征圖來預測小目標,但是該層離頂層距離仍然較遠,一個32 × 32的目標經過卷積后在Conv4_3特征圖上大小僅為4 × 4,如此少的像素信息難以對目標進行預測。另一方面,雖然采用了六個特征圖進行預測,但是特征與特征之間都是獨立的,實際上,模型的底層高分辨率特征由于經過的卷積運算較少,包含更多的紋理和細節(jié)信息,但包含的語義信息不足,難以區(qū)分目標和背景,而高層低分辨率特征語義信息豐富,但卷積下采樣過程中丟失了大量細節(jié)信息。同時,淺層特征圖中包含大量通道,不同通道對于網絡的判斷也有差別,有些通道包含的信息更為豐富,有些則不那么重要,SSD算法并沒有在通道上進行注意力關注。綜上,SSD算法在實際應用場景下,對于小目標的檢測效果并不理想。

3. 算法改進

3.1. 數(shù)據(jù)增強

Mosaic方法 [14] 是由Bochkovskiy等人提出的一種數(shù)據(jù)增強方法,可以當作是Cutmix [15] 方法的改進版。Cutmix算法對一張圖像進行操作,在待增強圖像上隨機生成一個裁剪框,在裁剪框內填充訓練集中其它數(shù)據(jù)中相應的位置像素,可以提高訓練的效率。而Mosaic方法在Cutmix基礎上再加入兩張圖像,如圖2所示,采用4張圖像進行混合,極大程度地豐富了訓練圖像的背景以及上下文信息,可以一定程度降低小目標的漏檢率,同時4張圖像的混合使得mini-batch不需要太大,可降低硬件需求。

Figure 2. Mosaic data enhancement example

圖2. Mosaic數(shù)據(jù)增強示例

3.2. 訓練優(yōu)化

目標在現(xiàn)實生活中其實是隨處可見的,比如遠距離的交通標志,空中大背景下的小鳥等。MS COCO數(shù)據(jù)集中設定小于32 × 32大小的目標即為小目標,小目標雖然是很常見的,但其分布卻是不可預測的。MS COCO數(shù)據(jù)集中,有41.43%的目標是小目標,遠遠高于其他兩種尺度的目標。然而,包含小目標的圖像只占訓練集所有圖像的51.82%,而包含大尺度目標和中等尺度目標的圖像占比分別為70.07%和82.28%。也就是說,現(xiàn)有的環(huán)境下,待檢測的大部分目標都是小目標,但是幾乎一半的圖像是不包含小目標的。這種訓練樣本的不平衡,也就導致訓練的不平衡,嚴重阻礙了訓練過程的推進。因此,考慮結合數(shù)據(jù)增強的策略從訓練過程中去改善這種不平衡。模型在訓練過程中大中小目標都是會反饋一定的損失進行優(yōu)化驅動的,而在這一過程中,小目標所貢獻的損失往往偏低,這樣一來,訓練好的模型對于大中目標的檢測效果自然更好,這里提出一種優(yōu)化方法,根據(jù)小目標所貢獻的損失占總損失的比例來進行訓練優(yōu)化,如圖3所示。假定某次迭代d中,來自小目標貢獻的損失占總損失的比例小于給定閾值μ(即表示這次迭代小目標受到的監(jiān)督不足),則第d +1次迭代采用數(shù)據(jù)增強后的圖像輸入,反之,則采用原常規(guī)訓練圖像(此處閾值根據(jù)經驗設置,經過多次不同閾值的設置對比,取0.1最為合適)。對于目標o,其面積So可以近似于它的包圍盒寬高之積ho×wo,S表示第d次迭代中的小目標,MS COCO數(shù)據(jù)集規(guī)定面積小于32 × 32的目標即為小目標,LdSLSd為第d次迭代下小目標的總損失,LdLd為第d次迭代下的總損失,μdSμSd為小目標的損失比。這種優(yōu)化方法能夠損失分布不均勻以及訓練樣本不平衡的問題。

Figure 3. Training optimization pipeline

圖3. 訓練優(yōu)化流程圖

3.3. 模型優(yōu)化

SENet (Squeeze-and-Excitation Networks) [16] 是Hu等人結合注意力機制提出的一種網絡結構,Hu等人曾憑借該結構奪得ImageNet2017競賽圖像分類任務冠軍。該網絡的核心思想在于,通過學習的方式,自動獲取網絡中每一個特征通道的重要程度,而網絡也可以依據(jù)這個重要程度去提升有用的特征通道重要性并且抑制對于當前任務用處不大的通道重要性。輸入特征X,經過一系列卷積池化操作得到特征通道數(shù)為C的特征U。首先對特征U進行壓縮(Squeeze)操作,沿著空間維度進行特征壓縮,得到通道級的全局特征,這個特征某種程度上具備全局感受野,且輸出的維度與輸入的特征通道數(shù)相匹配,表示在特征通道上響應的全局分布,可以讓較淺的層獲得更為全面的感受野。而后進行激勵(Excitation)操作,學習各個通道之間的關系,通過參數(shù)w為每個特征通道生成權重。最后再進行權重的重新分配,完成在通道維度上對于特征的重標定,使得模型對于各個通道的特征更有判別能力。

因此,考慮到SSD算法模型中不同的通道對于小目標的檢測也有著不同影響,也可以通過增強有效通道的特征權重,抑制無效通道的特征權重,從而提升SSD算法對于小目標檢測的精度。所以選擇在Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2層之后加入SE模塊對特征圖的特征通道進行權重重分配,改進后的結構圖如圖4所示。

4. 實驗

實驗平臺采用如下配置:Ubuntu18.04操作系統(tǒng),基于Pytorch1.3框架搭建實驗,GPU顯卡型號為RTX2080ti,為充分展現(xiàn)實驗效果,采用兩套數(shù)據(jù)集,分別為Pascal VOC數(shù)據(jù)集以及SHWD數(shù)據(jù)集(工地場景安全帽數(shù)據(jù)集),其中,為避免產生過擬合等由于數(shù)據(jù)量不充足造成的問題,選用VOC2007和VOC2012數(shù)據(jù)集的訓練集作為訓練集,在VOC2012數(shù)據(jù)集的測試集上進行測試。SHWD數(shù)據(jù)集提供了用于安全帽佩戴和人頭檢測的數(shù)據(jù),包括7581張圖像,其中9044個佩戴安全帽的樣本和111514個正常頭部樣本。

實驗采用VOC2007數(shù)據(jù)集和VOC2012數(shù)據(jù)集進行訓練,選取目前幾個比較流行的目標檢測方法進行對比,包括YOLO系列、SSD系列、RCNN系列,可以看出算法的平均精度得到了有效的提高,如表1所示。

Figure 4. Improved network structure diagram

圖4. 改進后的網絡結構圖

Table 1. Comparison of mAP indexes of several target detection algorithms

表1. 幾種目標檢測算法mAP指標對比

具體各類的精度如表2所示,在VOC2007驗證集上進行驗證,將本文改進的SSD算法與原算法對比。可以得知,改進后的模型在bird、bottle、plants、chair等不同小目標類別上相比于原SSD算法均有著不同程度的提高。

算法名稱 數(shù)據(jù)集 mAP(%) aero bike bird boat bottle bus car cat chair
SSD 07 + 12 77.6 79.9 85.1 76.1 71.7 54.0 85.6 85.9 87.1 58.6
Ours 07 + 12 80.6 83.8 87.7 79.1 75.2 59.2 88.9 87.7 88.3 64.2
cow table dog horse motorbike person plant ship sofa train tv
SSD 83.6 76.3 85.2 87.3 86.2 79.1 50.3 78.9 77.6 87.5 77.1
Ours 85.0 77.6 86.4 88.6 86.8 81.9 57.9 81.7 82.1 88.7 81.2

Table 2. Comparison of different types of AP indexes

表2. 不同類別的AP指標對比

圖5是原SSD算法與本文改進算法的效果對比,可以看出,原SSD算法對于chair、bottle、plant等小尺寸目標檢測效果較差,漏檢率較高,而改進后的SSD算法一定程度上降低了小目標的漏檢率,并且提升了檢測小目標的精度。

Figure 5. Comparison of SSD algorithm and improved SSD algorithm

圖5. SSD算法效果與改進SSD算法效果對比

除了在標準公共數(shù)據(jù)集下進行比較,為了進一步探究算法的實際應用有效性,在相同的實驗環(huán)境下,通過SHWD數(shù)據(jù)集中的安全帽佩戴進行訓練,將訓練完成后的模型進行測試,測試指標如表3所示,可以看出改進后的算法在該數(shù)據(jù)集上的平均精度是要高于SSD算法的,同時在識別安全帽是否佩戴的兩種情況下,精度都是要高于原SSD算法的。如圖6所示,圖6左側代表改進SSD算法的效果,圖6右側表示原SSD算法效果。由圖6可以看出,工地場景下遮擋情況較多,原SSD算法容易因為遮擋而沒有檢測到相應目標,甚至可能因為環(huán)境光線等因素而出現(xiàn)誤判,而改進SSD算法在遮擋情況下仍然成功檢測到相應目標。

綜合上述實驗可得,本文提出的改進SSD算法相較改進前的算法,一定程度上降低了小目標的漏檢率,同時精度得到有效提高,對于小目標以及遮擋目標的檢測效果也更好,在實際的應用場景下如文中選用的工地環(huán)境下,也能得到充分應用,具有一定的實用價值。

算法名稱 AP (%) mAP(%)
佩戴安全帽 未佩戴安全帽
SSD300 86.5 87.6 87.1
SSD512 87.7 88.5 88.1
Ours 90.6 91.1 90.9

Table 3. Comparison of two methods in construction site

表3. 工地場景下兩種方法對比

Figure 6. Comparison of two methods in construction site

圖6. 工地場景下兩種方法效果對比

5. 結語

本文針對小目標檢測效果不佳、漏檢率高等問題,對SSD算法進行改進,從小目標的訓練損失占比切入,對每次迭代過程中的損失占比進行監(jiān)督,結合一些數(shù)據(jù)增強方法增強了小目標的訓練效果,在計算量增加成本可以忽略不計的情況下提高了檢測效果。并在模型中引入SENet模塊,篩選通道間的注意力并學習通道之間的相關性,對每層的特征通道進行權重重分配,最終改進的SSD算法在小目標的檢測效果上得到了很大的改善,同時在安全帽佩戴數(shù)據(jù)集上表現(xiàn)優(yōu)異,在實際場景下也具備一定的應用價值。未來將繼續(xù)研究訓練過程的優(yōu)化和網絡結構的調整以及從多尺度的方面入手,爭求進一步提高精度。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4580

    瀏覽量

    92364
  • 檢測
    +關注

    關注

    5

    文章

    4399

    瀏覽量

    91263
  • SSD
    SSD
    +關注

    關注

    20

    文章

    2818

    瀏覽量

    117026
收藏 人收藏

    評論

    相關推薦

    高校開展RK3588課題研究 只能人工標注練算法?

    進行研究開發(fā),是一個不錯的選擇。這個過程中如何讓算法更加精準的識別檢測目標成為首要解決的問題。要想讓AI算法更能精確的識別
    的頭像 發(fā)表于 10-23 08:07 ?79次閱讀
    高校開展RK3588課題<b class='flag-5'>研究</b>    只能人工標注練<b class='flag-5'>算法</b>?

    圖像分割與目標檢測的區(qū)別是什么

    圖像分割與目標檢測是計算機視覺領域的兩個重要任務,它們在許多應用場景中都發(fā)揮著關鍵作用。然而,盡管它們在某些方面有相似之處,但它們的目標、方法和應用場景有很大的不同。本文將介紹圖像分割
    的頭像 發(fā)表于 07-17 09:53 ?865次閱讀

    目標檢測與識別技術有哪些

    目標檢測與識別技術是計算機視覺領域的重要研究方向,廣泛應用于安全監(jiān)控、自動駕駛、醫(yī)療診斷、工業(yè)自動化等領域。 目標檢測與識別技術的基本概念
    的頭像 發(fā)表于 07-17 09:40 ?461次閱讀

    目標檢測與識別技術的關系是什么

    目標檢測與識別技術是計算機視覺領域的兩個重要研究方向,它們之間存在著密切的聯(lián)系和相互依賴的關系。 一、目標檢測與識別技術的概念
    的頭像 發(fā)表于 07-17 09:38 ?400次閱讀

    目標檢測識別主要應用于哪些方面

    目標檢測識別是計算機視覺領域的一個重要研究方向,它主要關注于從圖像或視頻中識別和定位目標物體。隨著計算機視覺技術的不斷發(fā)展,目標
    的頭像 發(fā)表于 07-17 09:34 ?758次閱讀

    慧視小目標識別算法 解決目標檢測中的老大難問題

    隨著深度學習和人工智能技術的興起與技術成熟,一大批如FasterR-CNN、RetinaNet、YOLO等可以在工業(yè)界使用的目標檢測算法已逐步成熟并進入實際應用,大多數(shù)場景下的目標檢測
    的頭像 發(fā)表于 07-17 08:29 ?323次閱讀
    慧視小<b class='flag-5'>目標</b>識別<b class='flag-5'>算法</b>   解決<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>中的老大難問題

    圖像識別算法都有哪些方法

    傳統(tǒng)方法和基于深度學習的方法。 傳統(tǒng)圖像識別算法 1.1 邊緣檢測 邊緣檢測是圖像識別的基礎,它用于檢測
    的頭像 發(fā)表于 07-16 11:14 ?4650次閱讀

    基于深度學習的小目標檢測

    在計算機視覺領域,目標檢測一直是研究的熱點和難點之一。特別是在小目標檢測方面,由于小目標在圖像中
    的頭像 發(fā)表于 07-04 17:25 ?644次閱讀

    口罩佩戴檢測算法

    口罩佩戴檢測算法基于YOLOv5在圖像識別檢測領域的優(yōu)異性能,本文研究基于基于YOLOv5的口罩佩自動戴檢測方法。首先從網絡和真實生活中中尋
    的頭像 發(fā)表于 07-01 20:20 ?247次閱讀
    口罩佩戴<b class='flag-5'>檢測算法</b>

    人員跌倒識別檢測算法

    人員跌倒識別檢測算法是基于視頻的檢測方法,通過對目標人體監(jiān)測,當目標人體出現(xiàn)突然倒地行為時,自動監(jiān)測并觸發(fā)報警。人員跌倒識別
    的頭像 發(fā)表于 06-30 11:47 ?382次閱讀
    人員跌倒識別<b class='flag-5'>檢測算法</b>

    深入了解目標檢測深度學習算法的技術細節(jié)

    本文將討論目標檢測的基本方法(窮盡搜索、R-CNN、FastR-CNN和FasterR-CNN),并嘗試理解每個模型的技術細節(jié)。為了讓經驗水平各不相同的讀者都能夠理解,文章不會使用任何公式來進行講解
    的頭像 發(fā)表于 04-30 08:27 ?274次閱讀
    深入了解<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>深度學習<b class='flag-5'>算法</b>的技術細節(jié)

    深度學習檢測目標常用方法

    深度學習的效果在某種意義上是靠大量數(shù)據(jù)喂出來的,小目標檢測的性能同樣也可以通過增加訓練集中小目標樣本的種類和數(shù)量來提升。
    發(fā)表于 03-18 09:57 ?650次閱讀
    深度學習<b class='flag-5'>檢測</b>小<b class='flag-5'>目標</b>常用<b class='flag-5'>方法</b>

    AI驅動的雷達目標檢測:前沿技術與實現(xiàn)策略

    傳統(tǒng)的雷達目標檢測方法,主要圍繞雷達回波信號的統(tǒng)計特性進行建模,進而在噪聲和雜波的背景下對目標存在與否進行判決,常用的典型算法如似然比
    發(fā)表于 03-01 12:26 ?1934次閱讀
    AI驅動的雷達<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>:前沿技術與實現(xiàn)策略

    深度學習在植物病害目標檢測研究進展

    關注。 中國農業(yè)科學院農業(yè)信息研究所/農業(yè)農村部農業(yè)大數(shù)據(jù)重點實驗室聯(lián)手甘肅農業(yè)大學機電工程學院,組成科研團隊,針對深度學習在植物葉部病害檢測與識別展開研究, 植物病害目標
    的頭像 發(fā)表于 11-20 17:19 ?506次閱讀

    如何使用質心法進行目標追蹤--文末送書

    TBD方法完整的流程如圖2所示,該方法共有5個步驟,其中最關鍵的是“目標檢測”和“目標關聯(lián)”兩個步驟,“
    的頭像 發(fā)表于 10-31 15:47 ?722次閱讀
    如何使用質心法進行<b class='flag-5'>目標</b>追蹤--文末送書