千家信息网

怎样深度学习中的检测网络SSD/Faster R-CNN/YOLO

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇文章给大家分享的是有关怎样深度学习中的检测网络SSD/Faster R-CNN/YOLO,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧
千家信息网最后更新 2024年12月12日怎样深度学习中的检测网络SSD/Faster R-CNN/YOLO

本篇文章给大家分享的是有关怎样深度学习中的检测网络SSD/Faster R-CNN/YOLO,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

何为检测?

深度学习中的检测任务(Detection)是指检测出图片中的物体位置,一般需要进行画框。比如下图中把人、羊,还有狗都框出来了,具体来说,网络需要输出框的坐标。


检测网络有哪些?

常用的检测可以大致可以分为两类:two stage和one stage. Two stage是说在检测网络分两步,第一步是框出物体,第二步是确定这个物体的分类。One stage就是根据提取的特征,直接使用回归网络得出其分类和检测框。其中,Faster R-CNN属于two stage,SSD和YOLO属于one stage.


One stage的好处是快,Two stage的好处是准确,在得到检测框后,再去分类这个任务要比直接回归网络得到分类好容易很多。


下图是Faster RCNN的结构:


主要分为四个步骤:

- 卷积层。原始图片先经过conv-relu-pooling的多层卷积神经网络,提取出特征图(feature map)。

- RPN层,region proposal networks。RPN层用于生成候选框,并利用softmax判断候选框是前景还是背景,从中选取前景候选框(因为物体一般在前景中),并回归调整候选框的位置,获得框内的物体的feature map

- ROI层,它将大小尺寸不同物体的feature map池化成相同的大小,然后送入后续的全连接层进行物体分类

- 分类层。利用ROI层输出的特征图进行分类,同时再次对检测框bounding box进行回归从而得到更精确的形状和位置。


SSD和YOLO可以放在一起对比,因为都是属于one stage的网络,在获取feature map后,检测和分类一起在一起进行。SSD和YOLO的区别在于SSD能够进行多尺度特征提取,可以看到上面的SSD结构有6个箭头指向Detections,每一个箭头代表一个尺度的feature map,卷积层越往后越能看到全局的特征。YOLO则没有这方面的设计,只有一个特征输出到Detections网络中。



因为SSD网络的这种设计,检测精度比YOLO高,同时速度比Faster RCNN快,因此也是当前应用最广泛的检测网络之一。另外,在SSD原始论文中用到的是VGG骨架来提取特征,现在很多更好的特征提取网络,例如ResNet,mobilenet也在大量应用,进一步提高精度或者加快速度。

以上就是怎样深度学习中的检测网络SSD/Faster R-CNN/YOLO,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0