跟李沐学AI:目标检测的常用算法

区域神经网络R-CNN

使用启发式搜索算法来选择锚框 -> 使用预训练模型来对每个锚框抽取特征 -> 训练一个SVM对类别进行分类 -> 训练一个线性回归模型来预测边缘框偏移

 锚框大小不一,如何将不同的锚框统一为一个batch? -> 兴趣区域池化层

兴趣区域(RoI)池化层

给定一个锚框,将锚框均匀分割为n x m块,输出每块中的最大值。因此不管锚框多大,总是输出nm个值。

让每个锚框都可以变为一个形状相同的mini-batch。

Fast RCNN

与原本的RCNN相比,Fast R-CNN用来提取特征的卷积神经网络的输入是整个图像,而不是各个提议区域。Fast RCNN首先使用CNN对整个图片抽取特征得到feature map。

再将使用启发式搜索算法在原图片画出的锚框映射到feature map中。

随后使用Rol池化层对每个锚框生成固定长度的特征。

最后使用全连接层进行分类预测和偏移预测。

Faster R-CNN

使用一个区域提议网络来替代启发式搜索以得到更好的锚框。区域提议网络先粗糙地画出锚框,再将结果输入主网络。

二元类别预测用于预测当前锚框是否是一个高质量地锚框。边界框预测用于计算锚框和边缘框地偏差。

Mask R-CNN

如果有像素级别的标号,使用FCN来利用这些信息。

R-CNN总结

R-CNN是最早也是最有名一类地基于锚框和CNN地目标检测算法。

Fast/Faster R-CNN持续提升性能。

Fasster R-CNN和Mask R-CNN是在追求高精度场景下地常用算法。 

单发多框检测SSD(Single Shot Detection)

对每个像素,生成以它为中心的多个锚框。具体方法与上一节相同。

SSD模型

基本网络用于从输入图像中提取特征,因此它可以使用深度卷积神经网络。 单发多框检测论文中选用了在分类层之前截断的VGG现在也常用ResNet替代。我们可以设计基础网络,使它输出的高和宽较大。 这样一来,基于该特征图生成的锚框数量较多,可以用来检测尺寸较小的目标。

接下来的每个多尺度特征块将上一层提供的特征图的高和宽缩小(如减半),并使特征图中每个单元在输入图像上的感受野变得更广阔。

由于接近顶部的多尺度特征图较小,但具有较大的感受野,它们适合检测较少但较大的物体。底部则可以拟合小物体。

简而言之,通过多尺度特征块,单发多框检测生成不同大小的锚框,并通过预测边界框的类别和偏移量来检测大小不同的目标,因此这是一个多尺度目标检测模型。

SSD总结

SSD通过单神经网络检测模型

以每个像素为中心产生多个锚框

在多个段的输出上进行多尺度的检测

YOLO

SSD中的锚框大量重叠,因此浪费了很多计算。YOLO将图片平均分成SxS个锚框,如果一个标注的边界框的中心点落在某个锚框内,则该锚框负责预测这个边界框。每个锚框预测B个边缘框。边界框的预测包括中心点相对于网格左上角的偏移量(x, y),以及边界框的宽(w)和高(h)相对于整个图像的比例。边界框的预测包括中心点相对于网格左上角的偏移量(x, y),以及边界框的宽(w)和高(h)相对于整个图像的比例。每个网格还预测C个类别概率,C是所有可能类别的数量。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值