Faster R-CNN论文
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN的改进
1.产生proposal 窗口 CNN 和Object detection 共享
2. RPN 代替 Selective Search 产生建议窗口
Relation Works
Object Proposal
基于grouping super-pixels:Selective Search, CPMC, MCG
基于滑动窗口:EdgeBoxes objectness in windows
Faster R-CNN
Faster R-CNN 的过程![the process of Faster R-CNN](https://img-blog.csdnimg.cn/f28ddc29b9f04e7b9e6a6e820ca3280b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55m96bqm,size_17,color_FFFFFF,t_70,g_se,x_16)
Step1: 输入图片
Step2: 对整张图片进行特征提取
Step3: 用Region Proposal Network生成一堆Anchor box,对其进行裁剪过滤后通过softmax判断anchors属于物体还是不属于物体,softmax实现二分类的功能;同时,另一分支bounding box regression修正anchor box,形成较精确的proposal
Step4: 把__建议窗口映射__到__CNN的最后一层卷积feature map__
Step5: 通过RoI(region of interest) pooling 层使每个Rol 成为固定尺寸的feature map
Step6: 通过Softmax loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练.
anchor
anchor:在图像上预设好的不同大小,不同长宽比的参照框。
类似于滑动窗口,但不同的是,每个像素点上都有多个anchor, 这多个anchor的size和大小和长宽比不同。
例如:在256256大小的图片上, 经过64, 128, 256采样会产生44, 22,11的__feature map__我们在每个像素点上都设置三个不同大小的anchor.
通过神经网络训练, 输出三个值:每个anchor有物体的概率, 物体中心点与anchor自身的中心点位置的偏移量, 相对于anchor的宽高比例
FasterRCNN的RPN网络部分,anchor为三个尺度128, 256, 512,三个比例1:1, 1:2, 2:1,所以一共9组anchor
anchor的生成和排序
特征图采用滑窗方式遍历,每个特征像素点有多个size和scale各不相同的anchor,文中对应的anchor
对应庞大数目Anchor,需要通过__置信度剔除大多数Candidate__,通常保留100-300个就足够了。
训练过程中__通过IOU进行正负样本的选择__,测试过程中__置信度较低的被丢弃__。
RPN过程