目标检测算法R-CNN系列之R-CNN

        R-CNN系列的目标检测算法,对以后的目标检测算法有着深远的影响,因此非常有必要了解R-CNN系列算法的基本思想。首先要了解的就是R-CNN目标检测算法,该算法的基本流程如下:
        1、对输入图片,采用Selective Search算法,以产生候选框
        2、将提取到的候选框输入到卷积神经网络中,提取特征,得到特征图
        3、对提取到的特征图,分别做分类和回归,分类得到候选框中物体的类别,回归得到预测框的位置
在这里插入图片描述
        可以看到R-CNN目标检测算法的思路非常的简单,但是它存在着很多的问题,下面一个一个的进行介绍:
        1、候选框
        首先为什么要产生候选框,传统的目标检测算法是通过滑动窗口法来提取候选框,但是这种方式由于提取到的候选框数量太多,且存在大量的冗余,导致目标检测算法的效率低下。而Selective Search算法,通过图片的纹理、梯度等特征,我们可以产生可能包含物体的候选框,这样相比于滑动窗口法,提取到的候选框的数量就要少很多了,从而提高了算法的效率。之所以产生候选框,是因为在候选框中找到物体的效率要比在一张图片当中寻找物体的效率,要高的多。
        此外,通过Selective Search算法产生的候选框,大小不一,从而导致了一个非常麻烦的事情,就是卷积神经网络的权值无法共享
        2、卷积神经网络权值不共享
        由于卷积神经网络中存在全连接层,导致对于不同大小的输入候选框,无法公用同一个卷积神经网络,这也是R-CNN目标检测算法速度非常慢的一个重要原因。
        3、R-CNN目标检测算法不是一个end2end的结构
        从上图中我们可以看到,输入的图片需要先做一个Selective Search,然后传入神经网络,之后还需要分别训练一个分类器和回归器,因此它并不是一个端到端的结构,故模型非常复杂。此外,R-CNN采用的分类器为SVM支持向量机,我们都知道这是一个比较复杂的分类器。
        总结,R-CNN的检测思路很简单,但是效率很低,主要存在以下问题:神经网络权重不共享、不是端到端的结构、是用来复杂的分类器SVM。之后我们看到的Fast R-CNN就是在R-CNN的基础上进行改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值