RCNN个人理解

paper:Rich feature hierarchies for accurate object detection and semantic segmentation
比较好的博客:
https://zhuanlan.zhihu.com/p/23006190
https://blog.csdn.net/WoPawn/article/details/52133338

以上博客可以帮助很好理解,然后就是个人的补充了。
名词解释:
ImageNet ILSVC 2012:一个用于图片分类的数据集,每张图片都有对应标签告知这个图片属于什么类,总共1000类。
PASCAL VOC 2007:一个数据集用于目标检测或分类,每张图片中针对每个对象有对应的框框和标签,即有图片中物体类别和位置信息,总共20类。

(each picture)is exhaustively annotated, meaning that in each image all instances from all 200 classes are labeled with bounding boxes

ground-truth,就是PASCAL VOC 中每个物体,数据集本来就给标记了的。一个图片中可以有多个物体,所以一张图片可以有多个ground-truth,每个ground-truth可以是不同类别的。
region proposal:根据selective search 方法从每个图片中选出来的2000个矩形候选框,大小形状各异,出发点是期望每个候选框能尽量的框住想识别的物体,即希望与ground-truth尽可能重叠。

网络架构:
采用的是CNN的网络架构,例如AlexNet或VGGnet,原文采用的是AlexNet,但是这两种都测试了,VGG相对准确率更高,但是更加的耗时!

train的过程:
pretrain阶段,即预训练的阶段:是先采用AlexNet 的网络在ILSVC数据集上训练,差不多达到AlexNet原作差不多的准确率之后,进入fine-tuning即微调阶段接着用SGD的方式进行训练。
fine-tuning阶段:
网络结构变化:这里采用了迁移学习的思想,在上面预训练好的CNN网络基础上进行修改,去掉最后一个40961000的全连接层,改为409621的全连接层,即将原网络输出1000个类的分类器改成输出N+1(N为类的数量20,1为背景)个类别的分类器,这样原网络参数就作为现网络的初始化参数,这样可以解决样本数量较小时的网络训练问题。
训练数据集变化:将输入数据改成VOC数据集中的每个图片selective search得到的那些Region proposals,因为要做有监督训练,所以需要给这些proposal 做标签,给出他们对应的类。具体就是proposal 如果和某个ground-truth的IoU大于0.5,则该proposal对于这个ground-truth对应类就是正样本positive,否则就是negative负样本。这样就能得到大量有标签的数据进行预训练了,否则样本过少则这个CNN网络则无法拟合。
将这些数据输入CNN网络训练完成后,得到的CNN网络作为提取图片特征的工具,能够提取21个类的共性特征,然后分类的问题交给21个训练好的svm分类器。
SVM训练时,输入的数据是每个ground-truth和被标记维负样本的proposal经过pretraind CNN(AlexNet)提取到的特征,这里被标记为负样本的是那些与该类的groud-true的Iou小于0.3的,至于IoU大于0.3又不是groud-truth的proposal会被忽略!(hard negative mining选择负样本)
把每个proposal输入,最后得到对于各个类的得分,对于每个类采用非极大值抑制,去掉和得分搞的候选框重叠较大的那些候选框,并且得分低于该类的阈值的也去掉,最后保留下来的就是合格的proposal,相当于能够对proposal实现分类了,但是此时定位效果还较差,因为proposal box 和ground-truth box的重叠度也就是准确度还不够高,所以要调整位置。
然后是用bound ing box regression 调整候选框的位置,即这个模型实现P到G的 映射,其中的参数需要训练得到,训练的数据为(P,G)数据对。bound ing box regression需要针对每个class训练一个。
训练回归函数的数据对(P,G),我们只选择那些至少与一个G很接近的,并且,每个P只与一个和它IoU最大(并且要大于0.6)的G匹配,作为训练数据对。每个目标类都要做这样一次训练,因为要训练出一个针对每个类的boundin box regression。在回归之后可以继续拿回归后的bounding box做P,与G配对之后作为数据再次训练求得更优的boundingbox,但是实际上证明这样的迭代并不会带来更优的结果!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值