当前位置: 首页>編程日記>正文

SSD目标检测(Single Shot MultiBox Detector)(一)

SSD目标检测(Single Shot MultiBox Detector)(一)

SSD目标检测(Single Shot MultiBox Detector)(一)

1. SSD目标检测概述

1.1 SSD的套路

SSD全称Single Shot MultiBox Detector,是大神Liu Wei在2015年发表的惊世之作(至少笔者这么认为,也是为什么先讨论SSD的原因)。 SSD提供300*300和512*512两个尺度的检测。与前辈Faster R-CNN一样,都是采用了Region Proposal的路线,不同点在于对预选框(Prior Box)选取策略和多尺度上。

       SSD目标检测算法先是在固定的六个中间层(Feature Map)上选取预选框(Prior Box或Anchors),然后在训练过程中,通过Prior Box与Ground True的IOU来确定正例和负例,最后经过Smooth L1 Loss的定位损失和交叉熵的置信损失的组合来激励反向优化。其中边框回归(Bounding Regression)用于调整边框以获得精确地目标定位。

1.2 SSD的优点和缺点

多尺度,目标检测尺寸跨度大;

采用不同宽高比例构建Prior Box,对于形态轮廓多变的目标具有良好的精确度;

占比更小的目标具有更好的检测效果(相比Faster-rcnn);

单次检测多目标,比以前的算法YOLO更准更快,并没有使用RPN和Pooling操作;

2 SSD目标检测基本原理

2.1 SSD的设计理念

SSD的设计理念也是很明朗,初始阶段是一个经典的VGG16网络,FC6和FC7用卷积来替代。然后添加多个卷积-池化-ReLU组。通过选取其中6个卷积层作为类别和定位计算层。这留个卷积层分别是Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2,这六个卷积层的分辨率分别是38*38,19*19, 10*10, 5*5, 3*3, 1*1。通过在这六个卷积层上创建prior box,记录每个prior box相应匹配的grouth truth的坐标信息,计算prior box与ground truth的IOU作为得分,选取大于阈值(通常选0.5)的prior box作为正例,选择3倍于正例数量的反例。计算正例与反例相结合的交叉熵信息作为分类置信损失,通过正例记录坐标与预测坐标的L1平滑计算定位损失,分类置信损失与定位损失的和(分别乘以不同属性的权值)作为总的损失。

2.2 SSD的网络结构

引用一幅经典的结构图。

由图中可以看出,SSD在网络的起始阶段采用VGG16进行特征的提取,同时将VGG16的FC6和FC7用卷积层替代。除此之外,还去掉所有的Dropout层和FC8层,添加了Atrous算法(hole算法),将Pool5从2x2-S2变换到3x3-S1。

抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造4-6个不同尺度大小的Prior Box,然后分别进行检测和分类。最后通过NMS来抑制重叠,去除伪目标框。

2.3 Prior box

Prior Box类似于Fast Rcnn的anchors,是事先选取的锚点(推荐点)。在上述六个卷集层上,对应于feature map的每一个cell,设计对应于原图(300*300)不同长款的区域,作为用于计算Loss的区域。同样引用一张图来说明:

(该图引自于CSDN 大写的ZDQ《最详细的目标检测SSD算法讲解》一文)

先不关心b图和c图中的框的颜色,b和c图中,每个框的基准来自于对应于feature map中的每一个cell,针对不同的长和宽,来计算对应于原图的区域。

再来说蓝色框和红色框,蓝色框对应于a图中的CAT,红色框对应于a图中的DOG,因为IOU都大于阈值(一般为0.5)所以标记为正例。

2.4 Feature Map和多尺度

如图所示,SSD的多尺度体现在利用六个不同分辨率的卷集层作为Feature Map,来计算损失。越靠前的卷集层,能够检测更小的区域,对应于更小的目标,反之,越靠后的Feature Map越能检测较大的目标。

Conv4_3的每个Cell对应于原图的8*8的一个区域,Conv11_2则对应于原图300*300的全区域。

 

续:我们将在SSD目标检测(Single Shot MultiBox Detector)(二)中探讨SSD的两个关键点:三个生成网络和LOSS计算。

3. SSD目标检测的几个关键点

3.1 三个生成网络

3.2 定位损失和置信损失

 


https://www.fengoutiyan.com/post/14661.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機