目标检测是目前计算机视觉领域最热门的技术之一,该领域的研究一直在以非常快的速度进行。
但究竟什么是物体检测?对象检测处理通过给定输入(图像或视频)中的边界识别和定位某些类的对象。
截至目前,一些最成功的对象检测算法如下:
1. 基于区域的 CNN:RCNN、Fast RCNN、Faster RCNN
2. YOLO
3. SSD
一、R-CNN:
该算法在图像中查找可能包含对象的特定区域(使用选择性搜索)并通过 CNN 提取特征,提取的特征用于预测它们周围的类和边界框。
RCNN 基础步骤:
1. 从输入图像中提取了大约 2000 个自下而上的区域。
2. 无论候选区域的大小或纵横比如何,我们都将围绕边界框中的所有像素扭曲到所需的大小。对于每个提议,它使用大型 CNN 计算特征。
3. 它使用特定类的线性 SVM 对每个区域进行分类。
4. 该算法还预测了四个偏移值,以提高边界框的精度。
缺点:
1. 训练缓慢:每张图像应该分类大约 2000 个区域建议,这需要大量时间。
2. 推理速度慢:使用 VGG16 大约需要 47 秒/每张图像。
二、Fast R-CNN :
Fast R-CNN 是 R-CNN 算法的继承者。与之前讨论的 R-CNN 相比,Fast R-CNN 多项更改,使其更快、更准确。R-CNN 的主要问题是它在不共享计算的情况下为每个区域提议执行 CNN 传递。Fast R-CNN 通过通过 CNN 转发整个图像来改进 R-CNN。
它包括以下步骤:
1. 整个图像通过CNN向前传递,生成卷积特征图。
2. 从卷积特征图中识别感兴趣的区域,并在其上应用ROI 池化层以将它们全部重塑为相同的大小。然后将每个建议传递给一个完全连接的层。
3. 然后并行使用 Softmax 层和线性回归层来输出类和边界框。
缺点:
尽管 Fast R-CNN 在速度和准确性方面是对 R-CNN 的改进,但它仍然使用选择性搜索区域提议,这实际上是一个耗时的过程。
三、Faster R-CNN :
Faster R-CNN 是对 Fast R-CNN 的进一步改进。Fast R-CNN 和 Faster R-CNN 之间的主要区别在于它使用区域提议网络 (RPN) 来生成感兴趣的区域。
以下是Faster R-CNN的步骤:
1. 整个图像通过 CNN 向前传递以生成卷积特征图(就像我们在 Fast R-CNN 的情况下所做的那样)。
2. 通过在这些特征图上应用区域提议网络 (RPN) 来识别感兴趣的区域,这些特征图返回具有对象性分数的对象提议。
3. 对它们应用ROI池化层使它们具有相同的大小,然后将提案传递到全连接层。
4.在其顶部应用Softmax层和线性回归层对边界框进行分类和输出。
Faster R-CNN 是我们在本文中讨论的对象检测算法中最好的,对象检测不仅限于基于区域的 CNN。
参考:
- http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
- https://arxiv.org/pdf/1311.2524.pdf
- https://arxiv.org/pdf/1504.08083.pdf
本文暂时没有评论,来添加一个吧(●'◡'●)