理解RCNN的思路整理(待补充代码)

RCNN中了解的概念

RCNN的最主要的核心思想

1、训练一个网络,输入一个最多仅含有一个主体的图片或图片碎片(包含大部分信息)后,可以自动预测出该图片中是否有主体,并且输出主体对象的中心位置与该图片中心的偏移量(经过归一化)。

在这里插入图片描述输入:红框内的图片
输出:绿框和红框的偏移量(经过归一化)和红框内主体对象的类别概率

2、当输入一个图片时,采用贪心算法,生产该图片中不同位置不同尺寸的图片碎片,投入RCNN的核心网络,获得该图片碎片所属的类型和主体位置的偏移量。

RCNN核心思路实现的难点

1、RCNN核心网络的结构是什么?
2、获得大量标识框样本的难度比较高。如何保证在比较少样本下,如何完成训练?
3、采用贪心算法去寻找一个图片中主体的位置,效率太低,基本在现实中办不到。如何解决这个问题?

RCNN难点解决思路

1、RCNN核心网络的结构是什么?

RCNN的核心网络有20个SVM模型和20个线性回归模型组成。 20个SVM模型主要是根据输入的图片去预测所属类别的概率。 20个线性回归模型主要是根据输入的图片去预测主体位置的偏移量。

2、获得大量标识框样本的难度比较高。如何保证在比较少样本下,如何完成训练?
根据有限的标识框的样本,去生成大量尺寸的样本去训练SVM模型和线性回归模型。同时SVM模型和线性回归模型本身也适合小样本的建模。

3、采用贪心算法去寻找一个图片中主体的位置,效率太低,基本在现实中办不到。如何解决这个问题?
根据颜色、纹理等连通性,从1个图片中挑选出2000个候选图片,进行预测。而不是完全进行枚举操作,以大大降低判断的计算量。

为了提高识别率,有哪些考虑

为了提高识别率,RCNN做了以下的考虑:
训练SVM和线性回归模型时,输入值不是图片的原始内容,而是专门训练了一个CNN网络,去提取图片特征。

完整的训练过程

生成原始训练集

使用选择性搜索方法,为每个图片生成2000个碎片化图片。并且准备好这些碎片化图片的类型和主体的偏移量。

特征提取

使用所有的碎片化图片训练出一个CNN网络。并将其中一层的输出,作为该图片的特征。

训练模型

将所有的碎片化图片的CNN特征,和对应的类型和主体的偏移量,作为训练样本去完成对20个SVM和20个线性回归器的训练。

完整的预测过程

1、使用选择性搜索方法,获得2000个碎片化图片
2、使用训练好的CNN模型,获得2000个碎片化图片对应的特征
3、使用训练好的SVM获得2000个碎片化图片的类型,并使用NMS(Non-Maximum Suppression 非极大值抑制)的方法,去掉那些重复的主体对象的碎片化图片
4、将第3步剩下的碎片化图片的特征输入对应本类型的线性回归器,预测出主体的位置。

(完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值