1、R-CNN
R-CNN(Region-based Convolutional Neural Network)分三个步骤:
- 利用’选择性搜索(Selective Search)’算法生成约2k个region proposal,以获取可能出现的目标;
- 对每个region proposal运行CNN;
- 上述得到的CNN进行如下操作:
a.输入到支持向量机(SVM),以对上述区域进行分类
b.输入到一个线性回归器,以收缩目标周围边界框(假如目标存在)
R-CNN模型图如下所示:
R-CNN
2、Fast R-CNN
Fast R-CNN相较于R-CNN主要是在检测速度方面进行了提升,而提升手段如下:
- 在推荐区域之前,先对图像进行特征提取,这样做的好处是使整个图像只使用一个CNN(之前需要对2k个推荐区域分别运行CNN)
- 将R-CNN中的SVM替换为softmax,softmax直接输出类概率,而使用SVM需要训练多个SVM对每个目标类进行分类
相较R-CNN而言Fast R-CNN在速度上提升了许多,然而Fast R-CNN仍存在未解决的瓶颈问题:用于生成region proposal的选择搜索算法。
3、Faster R-CNN
Faster R-CNN在Fast R-CNN的基础上通过引入region proposal网络(RPN)来代替选择搜索算法。