在本章節中,回顧了固态硬盘(单发探测器)。美国有线电视新闻网(通過使用)地区提案网(我們只需要一次拍攝來偵測影像中的多個物件,而基於)的方法,如R-系列,需要兩次拍攝,一次用於生成地区提案,一次用於偵測每個建議的物件。基于因此,與基於兩次rpn的的方法相比、固态硬盘要快得多。
SSD300以59 Fps的速度達到74.3%的MAP,而SSD500以22 Fps的速度達到76.9%的MAP,其表現優於Ficker R-CNN(7FPS时MAP为73.2%)和YOLOv1(45 FPS时MAP为63.4%)。以下是使用MobileNet進行特徵選取的固态硬盘示例:Faster R-CNN (73.2% mAP at 7 FPS) YOLOv1 (63.4% mAP at 45 FPS)
從上面,我們可以看到驚人的实时性能。固态硬盘是2016年ECCV的一篇論文,在我寫這篇文章時引用了2000多篇。
承保范围是什么?
1.多盒检测器
- 在經過一定的卷積進行特徵選取後,我們得到了一個大小為m×n(位置數)的具有p個通道的Feature Layer,如8×8或4×4以上.在這個m×n×p特征层上應用了一個3×3转换
- 對於每個位置,我們得到k個包围盒。這些k個包围盒具有不同的大小和長寬比。這個概念是,也許垂直矩形更適合人類,而水平矩形更適合汽車.
- 對於每個邊界框,我們將計算c個Class Score和相對於原始默认边界框形狀的4個偏移量。
- 因此,我們得到了(c+4)KMN输出。
這就是為什麼這篇論文被稱為“固态硬盘:单发多盒探测器”。但上面提到的只是固态硬盘的一部分。
2.SSD网络架构
為了得到更準確的偵測,不同層的特征地图也要進行3×3的小卷積,用於如上所示的目標偵測。
- 例如,在Conv4_3,其大小為38×38×512.採用3×3conv.有4個包围盒,每個包围盒都有(类+4)輸出。因此,在Conv4_3時,輸出為38×38×4×(c+4)。假設有20個对象类加上一個背景类,輸出為38×38×4×(21+4)=144400。根據包围盒的數量,有38×38×4=5776個包围盒。
- 類似地,其他Conv層也是如此:
- Conv7:19×19×6=2166箱(每个位置6箱)
- Conv8_2:10×10×6=600个盒子(每个位置6个盒子)
- Conv9_2:5×5×6=150个盒子(每个位置6个盒子)
- Conv10_2:3×3×4=36个盒子(每个位置4个盒子)
- Conv11_2:1×1×4=4个长方体(每个位置4个长方体)
如果我們把它們加起來,我們總共得到5776+2166+600+150+36+4=8732box。如果我們還記得Yolo,在Grid中有7×7個位置,每個位置有2個包围盒。Yolo只得到了7×7×2=98盒。因此,固态硬盘有8732個包围盒,比yolo的包围盒多。
3.损失函数
損失函數由兩個項目組成:lconf和loc,其中N是匹配的默认值框。
LLOC是定位损失,它是预测框(L)和地面实况框(G)參數之間的平滑L1损失。這些參數包括包围盒的中心點(Cx、Cy)、寬度(W)和高度(H)的偏移。美国有线电视新闻网更快的R-這種損失與類似。
LCONF是信任度损失、它是多等级信任度(C)上的软最大信任度损失。(通過交叉验证將α設定為1.)xij^p={1,0}是將第i個默认框與第j個第p類個地真值框匹配的指標。
4.默认框的比例和纵横比
假設我們有m個用於預測的要素地图、我們可以為第k個要素地图計算Scale-Sk。其中SMIN為0.2SMAX為0.9.這意味著最低層的比例為为0.2%,最高層的比例為为0.9%。中間的所有層都是有規則的間隔.
對於每個Scale-Sk,我們有5個非正方形纵横比:
對於宽高比為1:1的情况,我們得到了SK‘:
因此,我們最多可以有6個具有不同纵横比的边界框。對於只有4個包围盒的網路層,將忽略ar=1/3和3的情況。
5.培训的一些细节
5.1硬性否定挖掘
我們不使用所有Negative Example,而是使用每個Default Box的最高Trusted Lost對它們進行排序,並挑選出最高的,以便使Negative和Posives之間的比率最多為3:1.
這可以導致更快的優化和更穩定的訓練.
5.2数据增强
通過以下管道對每個訓練影像進行隨機採樣:
- 整個原始輸入影像
- 對Patch進行採樣,以便與Object的重疊為0.1、0.3、0.5、0.7或0.9.
- 隨機抽取一個补丁
每個采样面片的大小為[0.1,1]或原始影像大小,纵横比為1/2到2。在上述步驟之後,每個采样补丁將被調整到固定大小,並且可能以0.5的機率水平翻轉,此外還有一些光度量失真[14]。
5.3声道卷积(孔算法/膨胀卷积)
基本網絡為VGG16,並使用ILSVRC分类数据集進行預訓練。FC6和FC7更改為卷積層,如Conv6和Conv7上圖所示VGG16
此外、FC6、和、FC7、使用Atrus卷积(也稱為Hole Algorithm或Expanded卷積)代替傳統卷積.Pool5由2×2-S2變為3×3-S1。
如我們所見,Conv6和Conv7的Feature Map較大,與傳統卷積相比,使用如上所示的ATHOS卷积可以增加接受场,同時保持相對較少的參數數量。(我希望我能在未來回顧DeepLab以更詳細地介紹這一點.)
6.结果
有兩種模型:固态硬盘300和固态硬盘512.
SSD300型:300×300输入图像,分辨率較低,速度較快。
SSD512:512×512输入图像,分辨率較高,準確度更高。讓我們看看結果.
6.1模型分析
- 数据增强至關重要,從为65.5%,提高到为74.3%。
- 使用更多的默认框为形狀,MAP從为71.6%,提高到为74.3%.
- 使用Atrus,結果大致相同.但是沒有Atros的大約慢20%.
Conv層的輸出越多,包含的包围盒就越多。通常,準確率從为62.4%,提高到为74.6%。然而,包含感染11_2會使結果更糟。作者認為盒不夠大,無法覆蓋大型物體。
6.2帕斯卡VOC 2007
如上所示、SSD512的MAP為为81.6%。SSD300有79.6%的MAP,這已經比速度更快的78.8%的R-cnn好。
6.3帕斯卡VOC 2012
SSD512(80.0%),比较快,R-CNN(75.9%),的準確率高了4.1%。
6.4 MS可可
SSD512在MAP@0.5cnn更快的R-的準確率上僅比快1.2%.這是因為對於較大的物體,它的AP(4.8%),和AR(4.6%)要好得多,但對於較小的物體,AP(1.3%)和AR(2.0%)的改善相對較少。
更快的R-CNN比起固态硬盘在較小物件上更具競爭力。基于作者認為這是由於rpn的的方法,包括兩次拍摄。
6.5 ILSVRC Det
在固态硬盘300上獲得了初步結果:在Val2集合上獲得了43.4%的MAP。
6.6针对小对象精度的数据增强
為了克服在6.4中提到的小物件Missing Detect的弱點,進行了“縮小(Zom Out)”操作用於建立更多的小訓練樣本.並達到在多個跨資料集增加了2%-3%MAP,如下所示:
6.7推理时间
- 批量大小為1時,固态硬盘300和固态硬盘512可分別獲得46和19 FPS。
- 批量大小為8時,固态硬盘300和固态硬盘512可分別獲得59和22 FPS。
SSD300和SSD512都具有更高的MAP和FPS。因此、固态硬盘是需要研究的物件偵測方法之一。順便說一句,我希望將來我能涵蓋数字标清。
参考文献
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/10/12/%e5%9b%ba%e6%80%81%e7%a1%ac%e7%9b%98%e2%80%8a-%e2%80%8a%e5%8d%95%e6%ac%a1%e6%8b%8d%e6%91%84%e6%8e%a2%e6%b5%8b%e5%99%a8%e7%89%a9%e4%bd%93%e6%a3%80%e6%b5%8b/