一、Two-Stage
这是一种Proposal-based的方法,需要先使用启发式方法,(selective search)或者CNN网络(RPN)产生RegionProposal然后再在Region Proposal上做分类和回归。
1,R-CNN
2,Fast R-CNN
3,Faster R-CNN
4,Mask R-CNN
二、One-Stage
YOLO系列
SSD
RetinaNet
Faster RCNN简介
Faster RCNN是Fast RCNN的优化版本,二者主要的不同在于感兴趣区域的生成方法,Fast RCNN使用的是选择性搜索,而Faster RCNN用的是Region Proposal网络(RPN)。RPN将图像特征映射作为输入,生成一系列object proposals,每个都带有相应的分数。
- 输入图像到卷积网络中,生成该图像的特征映射。
- 在特征映射上应用Region Proposal Network,返回object proposals和相应分数。
- 应用Rol池化层,将所有proposals修正到同样尺寸。
- 最后,将proposals传递到完全连接层,生成目标物体的边界框。
那么Region Proposal Network具体是如何工作的呢?首先,将CNN中得来的特征映射输入到Faster RCNN中,然后将其传递到Region Proposal Network中。RPN会在这些特征映射上使用一个滑动窗口,每个窗口会生成具有不同形状和尺寸的k个anchor box:
Anchor boxes是固定尺寸的边界框,它们有不同的形状和大小。对每个anchor,RPN都会预测两点: - 首先是anchor就是目标物体的概率(不考虑类别)
- 第二个就是anchor经过调整能更合适目标物体的边界框回归量
现在我们有了不同形状、尺寸的边界框,将它们传递到Rol池化层中。经过RPN的处理,proposals可能没有所述的类别。我们可以对每个proposal进行切割,让它们都含有目标物体。这就是Rol池化层的作用。它为每个anchor提取固定尺寸的特征映射:
之后,这些特征映射会传递到完全连接层,对目标进行分类并预测边界框。