目标检测: Faster R-CNN原理

Faster R-CNN论文地址:  https://arxiv.org/pdf/1506.01497.pdf

1 概述:

Fast R-CNN仍然使用selective search, 会存在一些问题:
1 使用selective search获取候选框, 这是在CPU上运算的, 会出现性能瓶颈, 没有充分利用GPU加速;
2 统一的一套候选框并未对特定数据集进行优化, 因此会导致训练速度慢和精度提升困难

因此衍生的新思路就是使用CNN训练一个RPN, 用此来提取候选框, RPN网络是一个全卷积神经网络,通过共享卷积层特征可以实现proposal的提取,由于使用了GPU加速,
RPN提取一幅像的proposal只需要10ms.

Faster R-CNN结构:

网络结构图 (https://sevenold.github.io/2019/06/object-detection-FasterRCNN/):


1 RPN. 是全卷积网络, 目的就是提取候选框, 取代selective search


2 Fast R-CNN. 使用RPN提取的候选框进行检测定位

2 步骤

1 预训练一个分类CNN
2 训练CNN+RPN. 使用预训练的CNN, 输出特征图, 微调RPN, 当IoU>0.7为正例, <0.3为负例
2.1 以特征图每个像素为中心, 以滑窗形式计算Anchor box(3种尺寸,3种宽高比, 每个像素点9个box)
2.2 一个分支为分类(是背景/不是背景), 一个分支为回归xywh(以中心点为基准)
3 固定RPN, 训练CNN+Fast R-CNN. 使用最初预训练的CNN, 输出特征图, 使用RPN输出的候选框, 训练CNN+Fast R-CNN
4 固定CNN+Fast R-CNN, 训练RPN, 此时共享第三步的CNN
5 固定CNN+RPN, 训练Fast R-CNN, 此时共享第三步的CNN
6 重复4和5步

3 损失理解

    

4 性能比对

posted @   dangxusheng  阅读(516)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示