RCNN流程理解

本文详细介绍了RCNN目标检测算法的基本流程,包括训练阶段的SelectiveSearch候选框生成、AlexNet预训练、SVM分类器训练及Bounding-box回归,以及测试阶段的NMS非极大值抑制等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RCNN

由于毕设课题是检测产品表面的缺陷,涉及到目标检测领域的各种算法,特开博客记录每日学习,以防脑袋漏风。鄙人是机械专业,对这个领域基本意义上就是小白中的辣鸡小白,因此不适用于参考,如有不对之处还请指正。

RCNN的基本流程: 引用网上的一张流程图,这张图是之前看到的,感觉挺好的,侵删 ~
在这里插入图片描述
训练阶段:

1.首先采用Selective Search方法从检测图片中生成许多候选图像框(SS算法详解参照博客
2.对CNN进行预训练,这里采用的网络架构是在Imagenet上预训练的Alexnet,预训练后将最后一层的输出num_class由1000变为21(20类物体+背景,将之前生成的候选框resize到统一输入大小227*227,然后将IOU<0.5的框作为负例,>0.5的作为当前类别的正例,用于fine-tuning预训练的Alexnet,生成新的参数
(IOU即样本框A与ground turth B 之间的定义:A∩B/A∪B,即样本框与图像中所有已经标定的真值框,重叠的最大面积除以两个框的并集面积)
3.训练完成后,提取fc7层4096维特征,其中,IOU<0.3的图像框作为负例, 标定的ground turth作为正例,输入SVM(权重为[4096, 21])中训练21种类别,得到分类器。
4.识别任务完成,接下来是定位任务,Bounding-box regression训练,采用 pool5特征输入线性回归器训练,训练四种变换的权重,输出回归后的建议框。

测试阶段:
1.输入图像,SS过程得到约2K个建议框
2.resize 到227*227,输入训练好的 CNN中,得到fc7层特征
3.输入训练好的SVM中,得到各个建议框的类别得分,通过NMS非极大值抑制(将同一类别其他建议框与得分最高的建议框计算IOU,如果IOU>阈值,去除,然后取第二得分高的,重复操作,最后在保留的建议框中,去除得分低于该类别阈值的,最后得到剩下的建议框)
4.使用20个回归器对上述剩余的建议框中,输入IOU >0.6的进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。

以上是一个简单的流程讲述,b-box回归器操作不是太理解,贴上参考日后再接着看
RCNN论文译文,

针对SVM分类器,因为是直接学习深度学习了,也基本没有看这个

然后是一些代码链接,看了看别人写的代码,一脸懵逼,我的代码能力简直就是渣中渣,贴上以后再回来看吧,先抓紧学一下后面的网络。。。
https://github.com/yangxue0827/RCNN
http://www.cnblogs.com/edwardbi/p/5647522.html 这个是tflearn编的
https://blog.youkuaiyun.com/MyJournal/article/details/77841348 这个给的不太全

OK,先记录这么多,接下来看一下fast rcnn, 加油吧渣渣少年,木有时间让我挥霍了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值