【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介

1.R-CNN (14年)

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第1张图片

  1.首先用selective search的方法选出许多候选框;

  2.对于每一个候选框分别执行卷积网络的操作,提取特征;

  3.把卷积做好的特征放到svm分类器和Bbox reg的回归器。

  缺点:

  1.候选框没有共享卷积神经网络,不同的框要构造不同的神经网络(因为卷积层虽然不要求图片大小,但是全连接层有要求)。

  2.分类用svm做,很麻烦。

  3.特别费时,一次训练需要84小时,检测一张图片要84秒。

  改进,改进后名字叫SPP-Net:

     加了一个特殊的pooling层SPP层,连在全连接层前面。

  原理:把任意大小的图片进行一个pooling,pooling成一个串,把当前不同尺寸大小的图片,经过Pooling后拼接在一起连成的串的大小一致。然后就可以执行全连接操作,这样不用不同的框构造不同的神经网络,因为全连接层大小也一致了。

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第2张图片

 

2.fast R-CNN(15年)

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第3张图片

   1.不用selective search操作,先执行卷积操作,这样可以特征共享卷积,一张图像只做一次卷积,加快了速度。

   2.在特征图上找特征图上的某一块对应的是原始图像上的框。

   3.Rol Pooling (SPP操作中的一个特例)之后,得到的特征大小一样的图像然后经过全连接层。

   4.回归加分类

   缺点:

      在上述2中原始图像的框先要对原图像做处理,找到一系列框,这个过程大概耗费两秒时间(只能在CPU中计算),然后再在特征图上通过特征图上的某一块,找到原图像对应的框。

 训练测试时间对比:

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第4张图片

    右图蓝色条为加上原图候选框选择的过程, 可以看出fast r-cnn因为有选框的过程变了慢了好多倍。

 

3.Faster R-CNN(15年底)

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第5张图片

 1.对图像做卷积操作。

 2.卷积完之后产生的特征图做RPN层操作,由特征图产生候选框。(核心操作)     

   2.1.对候选框做2分类,是物体的留下,不是物体的删除

   2.1.对留下来的候选框和已标签的候选框做回归,计算出loss。

 3.ROI pooling。

 4.然后做n分类,然后和已标签的候选框做回归。   

时间对比:

【深度学习】 三大经典识别算法 R-CNN、Fast R-CNN、Faster R-CNN概述简介_第6张图片

你可能感兴趣的:(深度学习)