目标检测5——Faster R-CNN(RPN网络代替Selective Search来获取候选框)
发布时间:2024年01月14日
二阶段目标检测系列文章
目标检测1——二阶段目标检测概述
目标检测2——R-CNN(将CNN网络应用在目标检测领域的开山之作)
目标检测3——SPPNet(空间金字塔池化可以接收任何尺度的图像)
目标检测4——Fast R-CNN(ROI Pooling、SVD、Multi-task Loss等新特性实现端到端的训练并显著提升训练和推理的速度)
目标检测5——Faster R-CNN(RPN网络代替Selective Search来获取候选框)
一、基本介绍
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- Fast R-CNN = Fast R-CNN + RPN
- 采用 Reigion Proposal Network(RPN)网络取代 Selective Search 模块
- 候选框生成网络 RPN 和检测网络 Fast R-CNN 共享卷积计算
二、Faster R-CNN
1. CNN网络
通过 CNN 网络输出的 Feature Map 有两个应用
- 一个是和 ROI Pooling 结合使用
- 另一个是通过 RPN 网络
2. RPN网络
RPN的作用:选择比较好的 anchor boxes
锚框-Anchor Box
- 9个锚框 k=9,
- 3个尺度 scale:(128,256,512)
- 3个宽高比 aspect ratio:(1:1,1:2,2:1)
- 锚框大小和数量:W×H×k
通过 scale 和 aspect ratio 的操作,让 Anchor 产生的候选框具有尺度不变性(不同大小的图像输入网络也可以正确的被识别)
RPN网络基本步骤
- 将 Feature Map 进行一次 3×3 的卷积,以每个滑动窗口的中心点作为锚点 (anchor) 生成 9个锚框 (anchor box),再分为两个分支(输出 256×W×H)
- Classification:识别哪些区域是前景物体、 哪些区域是背景
- 进行一个 18 通道的 1×1 的卷积(2×k,输出 18×W×H)
- Reshape:2k×W×H -> 2×k×W×HSoftmax:计算二分类概率
- Reshape:2×k×W×H -> 2k×W×H
- 输出 256×(正标签,负标签)
- BBox Regression:获取前景区域的大致坐标
- 进行一个 36 通道的 1×1 的卷积(4×k,输出 36×W×H)
- 输出 128×(dx, dy, dw, dh)
- Proposal:由普通的Python代码完成
- 移除超出边界的 anchors (在图像内的anchor box区域宽度、高度低于最小区域大小的情况)
- 选择出前景概率最大的 N 个proposal(论文中建议12000训练/6000预测)
- 使用非极大值抑制 (NMS) 对候选框进行过滤 (IoU阈值0.7)
- 对NMS结果再做 Top M 的操作,获取概率最大的 M 个 proposal (论文中建议2000训练/300预测)
三、Faster R-CNN相关思考题
- 对于一幅有多个 anchor boxes (2w),那么如何获得正负样本呢?
- Faster R-CNN 如何训练?—Alternating training
- Alternating training 训练过程?
四、参考资料
文章来源:https://blog.csdn.net/qq_45792437/article/details/135574613
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!