R-CNN与SPP-net对比

来源:互联网 发布:辐射新维加斯捏脸数据 编辑:程序博客网 时间:2024/05/15 20:22

图像包含的信息非常的丰富,其中的物体有不同的形状(shape)、尺寸(scale)、颜色(color)、纹理(texture),要想从图像中识别出一个物体很难,还要找到物体在图像中的位置更是难上加难。该文对比了两种

本来想画两个流程图,但viso2010实在用不惯,就直接写步骤吧。

R-CNN的算法流程:

1.通过选择性搜索(SS算法),对待检测的图片进行搜索出2000个候选窗口。

2.把这2k个候选窗口的图片都缩放到227*227,然后分别输入CNN中,每个候选窗台提取出一个特征向量,也就是说利用CNN进行提取特征向量。

3.把上面每个候选窗口的对应特征向量,利用分类器进行分类识别。

SPP-Net的算法流程:

1.首先通过选择性搜索,对待检测的图片进行搜索出2000个候选窗口。

2.特征提取阶段。同样是用卷积神经网络进行特征提取,但是SPP-Net用的是金字塔池化。操作如下:把整张待检测的图片,输入CNN中,进行一次性特征提取,得到feature maps,然后在feature maps中找到各个候选框的区域,再对各个候选框采用金字塔空间池化,提取出固定长度的特征向量。而R-CNN输入的是每个候选框,然后在进入CNN,因为SPP-Net只需要一次对整张图片进行特征提取。

3.和R-CNN一样,进行特征向量分类识别。

如何在feature maps中找到原始图片中候选框的对应区域?

假设(x’,y’)表示特征图上的坐标点,坐标点(x,y)表示原输入图片上的点,那么它们之间有如下转换关系:

(x,y)=(S*x’,S*y’)

其中S的就是CNN中所有的strides的乘积。

反过来,我们希望通过(x,y)坐标求解(x’,y’),那么计算公式如下:

 

因此我们输入原图片检测到的windows,可以得到每个矩形候选框的四个角点,然后我们再根据公式:

Left、Top:

 

Right、Bottom:

 




0 0