物体检测丨浅析one-stage detector「YOLOv1、v2、v3、SSD」

之前做object detection用到的都是two stage,one stage如YOLO、SSD很少接触,这里开一篇blog简单回顾该系列的发展。很抱歉,我本人只能是蜻蜓点水,很多细节也没有弄清楚。有需求的朋友请深入论文和代码,我在末尾也列出了很多优秀的参考文章。

YOLOv1

You Only Look Once: Unified, Real-Time Object Detection

核心思想

用一个CNN实现end-to-end,将目标检测作为回归问题解决。

1559093054882

将输入图片分割为\(S\times S\)网格,如果物体的中心落入网格中央,这个网格将负责检测这个物体。因此网络学会了去预测中心落在该网格中的物体。

每个网格预测\(B\)个bounding boxes和confidence scores。confidence scores包含两方面:

这个boundingbox包含物体的可能性\(Pr(Object)\):bb包含物体时\(Pr(Object)=1\)否则为0。

这个boundingbox的准确度\(IOU^{truth}_{pred}\):pred和gt的IoU。

因此,confidence scores可定义为$Pr(Object)*IoU^{truth}_{pred} $

每个bbox包含5个predictions:\(x,y,w,h和confidence\)\((x,y)\)表示bbox中心坐标,\(h,w\)表示bbox长宽,\(confidence\)表示pred和gt box的IoU。

每个网格预测\(C\)个类别概率\(Pr(Class_i|Object)\),表示该网格负责预测的边界框目标属于各类的概率。我们不考虑box的数量即\(B\)

测试阶段我们将类别概率和confidence score相乘,得每个box的类特定confidence score:

\[Pr(Class_i|Object)*Pr(Object)*IoU^{truth}_{pred}=Pr(Class_i)*IoU^{truth}_{pred}\]

表示box中类别出现的概率和预测box与目标的拟合程度。

1559094618604

将图片分解为$S\times S \(个gird,每个grid预测\)B\(个bbox,confidence和\)C\(个类概率,预测值为\)S\times S \times (B*5+C)$

网络架构

1559093969006

网络结构参考GooLeNet,包含24个卷积层和2个激活层,卷积层使用1x1卷积降维然后跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU:\(max(x,0.1x)\),最后一层采用线性激活层。

网络输出维度为30(\(B=2\)),前20个元素是类别概率值,然后2个是边界框置信度,最后8个是bbox的\((x,y,w,h)\)

Loss:YOLO把分类问题转化为回归问题

v2-45795a63cdbaac8c05d875dfb6fcfb5a_r

第一项是bbox中心坐标误差项;第二项是bbox高与宽误差项;

第三项是包含目标bbox置信度误差项;第四项是不包含目标bbox置信度误差项;

最后一项是包含目标的grid分类误差项。

将Loss对应到predtion张量上:

v2-d6fcd043ca10718f9f88857f4af9fa58_r

实验结果

1559094247691

SSD

SSD:Single Shot MultiBox Detector

核心思想

速度比YOLO快,精度可以跟Faster RCNN媲美。

采用多尺度特征图用于检测:大特征图检测小目标,小特征图检测大目标。

采用卷积进行检测:与YOLO最后采用全连接层不同,SSD直接采用卷积提取检测结果。

设置先验框:借鉴Faster RCNN中anchor理念,为每个网格设置不同长宽比的anchor,bbox以anchor为基准。

v2-f6563d6d5a6cf6caf037e6d5c60b7910_r

网络架构

在VGG16基础上增加了卷积层获得更多特征图用于检测。

上是SSD,下是YOLO

v2-a43295a3e146008b2131b160eec09cd4_r

实验结果

v2-09cf380f4fc0572c12acfd5f1372d310_r

YOLOv2

YOLO9000: Better, Faster, Stronger

核心思想

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfsgs.html