Bounding Box Regression超详解(全站最全汇总版)综合各个途径文档 看这一篇就够了 解决你所有疑惑

简介: Bounding Box Regression超详解(全站最全汇总版)综合各个途径文档 看这一篇就够了 解决你所有疑惑

0.回顾一下RCNN


大家一般都是从RCNN开始了解Bounding Box Regression的,所以这里简单回顾一下RCNN

RCNN算法流程可分为4步:

1.一整图像生成1K~2K个候选区域(使用Selective Search方法)

2.对每个候选框区域使用深度网络提取特征

3.特征送入每一类的SVM分类器,判别是否属于该类

4.使用回归器精细修正候选框位置

image.png

image.png

image.png

image.png

image.png

image.png

image.png

这里我要说的就是RCNN的第四步,即“边界框回归”

主要围绕着这六个问题来解析Bounding Box Regression:

1.为什么要边框回归?

2.什么是边框回归?

3.边框回归细节

4.为什么使用相对坐标差?

5.为什么宽高比只能取对数?

6.为什么IoU较大时边界框回归可视为线性变换?

1.为什么要边框回归?


image.png

对于上图,绿色的框表示Ground Truth, 红色的框为Selective Search提取的Region Proposal。那么即便红色的框被分类器识别为飞机,但是由于红色的框定位不准(IoU<0.5), 那么这张图相当于没有正确的检测出飞机。 如果我们能对红色的框进行微调, 使得经过微调后的窗口跟Ground Truth 更接近, 这样岂不是定位会更准确。 确实,Bounding-box regression 就是用来微调这个窗口的。

2.边框回归是什么?


对于窗口一般使用四维向量 ( x , y , w , h ) (x,y,w,h)(x,y,w,h)来表示, 分别表示窗口的中心点坐标和宽高。 对于图 2, 红色的框 P 代表原始的Proposal, 绿色的框 G 代表目标的 Ground Truth, 我们的目标是寻找一种关系使得输入原始的窗口 P 经过映射得到一个跟真实窗口 G 更接近的回归窗口G ^ \widehat{G}

G 。

image.png



3.边框回归细节


RCNN论文里指出,边界框回归是利用平移变换和尺度变换来实现映射 。

image.png

image.png

注意:当输入的Proposal 与 Ground Truth 相差较小时(RCNN设置的是IOU>0.6)可以认为这种变换是一种线性变换,那么我们就可以用线性回归模型对窗口进行微调,只有当Proposal和Ground Truth比较接近时(线性问题),我们才能将其作为训练样本训练我们的线性回归模型,否则会导致训练的回归模型不work(当Proposal跟Ground Truth离得较远,就是复杂的非线性问题了,此时用线性回归建模显然不合理)。这个也是G-CNN: an Iterative Grid Based Object Detector多次迭代实现目标准确定位的关键。

那么什么是线性回归?

线性回归就是给定输入的特征向量 X, 学习一组参数 W, 使得经过线性回归后的值跟真实值 Y(Ground Truth)非常接近.,即Y≈WX

那么这个映射关系中我们的输入以及输出分别是什么呢?

image.png

image.png

image.png

4.为什么使用相对坐标差?


一句话概括:进行尺度归一化。 一句话概括:进行尺度归一化。一句话概括:进行尺度归一化。

image.png

image.png

5.式(4)为什么宽高比要取对数(为什么不直接使用宽高比值来作为目标进行学习)?


一句话概括:保证缩放尺度的非负性。 一句话概括:保证缩放尺度的非负性。一句话概括:保证缩放尺度的非负性。

要得到一个放缩的尺度,这里必须限制尺度大于0。那么,我们学习的image.png

怎么保证满足大0呢?

最直观的想法就是引入EXP函数,如公式(4)所示,那么反过来推导就是Log函数的来源了。

6.为什么IoU较大时边界框回归可视为线性变换?


image.png

本文参考多篇文章、视频、论文、汇总而成

关于RCNN中Bounding-box regression的个人理解

CSDN

CSDn

知乎

BiliBili

有问题欢迎大家指正,如果感觉有帮助的话请点赞支持下👍📖🌟

相关文章
|
11月前
|
人工智能 自然语言处理 开发工具
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
本文介绍统一多模态 Transformer(UMT)在跨模态表示学习中的应用与优化,涵盖模型架构、实现细节与实验效果,探讨其在图文检索、图像生成等任务中的卓越性能。
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
|
10月前
|
存储 弹性计算 缓存
阿里云ECS通用算力型u2i服务器性能测评、CPU型号及配置参数解析
阿里云ECS通用算力型u2i实例,搭载Intel® Xeon® Platinum处理器,支持第五、六代至强平台,适用于Web、Java、中小型数据库等场景。提供1:1至1:8多种vCPU与内存配比,最大32vCPU,标配ESSD Entry云盘,网络性能随规格提升增强,支持IPv4/IPv6,适用于企业级应用、数据分析、缓存集群等业务,兼顾性能与成本效益。
699 157
|
9月前
|
传感器 算法 自动驾驶
【卡尔曼滤波跟踪】基于卡尔曼滤波的二维目标跟踪(Matlab实现)
【卡尔曼滤波跟踪】基于卡尔曼滤波的二维目标跟踪(Matlab实现)
370 0
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
27597 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习 PyTorch 算法框架/工具
【YOLOv8改进 - 注意力机制】GAM(Global Attention Mechanism):全局注意力机制,减少信息损失并放大全局维度交互特征
YOLO目标检测专栏探讨了模型创新,如注意力机制,聚焦通道和空间信息的全局注意力模组(GAM),提升DNN性能。GAM在ResNet和MobileNet上优于最新方法。论文及PyTorch代码可在给出的链接找到。核心代码展示了GAM的构建,包含线性层、卷积和Sigmoid激活,用于生成注意力图。更多配置详情参阅相关博客文章。
【YOLOv8改进 - 注意力机制】GAM(Global Attention Mechanism):全局注意力机制,减少信息损失并放大全局维度交互特征
|
机器学习/深度学习 算法 计算机视觉
没有公式,不要代码,让你理解 RCNN:目标检测中的区域卷积神经网络
没有公式,不要代码,让你理解 RCNN:目标检测中的区域卷积神经网络
676 0
没有公式,不要代码,让你理解 RCNN:目标检测中的区域卷积神经网络
|
Linux
LINUX安装依赖库冲突的最终版本:下列软件包有未满足的依赖关系/但是它将不会被安装/无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
LINUX安装依赖库冲突的最终版本:下列软件包有未满足的依赖关系/但是它将不会被安装/无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
3258 0
|
安全 Linux 数据安全/隐私保护
使用 `chage` 命令管理 Linux 用户密码过期策略
`chage` 命令用于管理Linux用户密码过期策略,包括设置密码最长有效期、警告天数、过期宽限期和账户非活动天数。例如,`chage -M 90 username` 设置密码最长有效期为90天,`chage -W 7 username` 设定到期前7天警告。确保具备足够权限(如root)并理解更改影响。此工具有助于增强系统安全和符合安全策略。
|
机器学习/深度学习 算法 固态存储
选择性搜索算法(Selective Search)超详解(通俗易懂版)
选择性搜索算法(Selective Search)超详解(通俗易懂版)
选择性搜索算法(Selective Search)超详解(通俗易懂版)
|
机器学习/深度学习 编解码 算法
【YOLO系列】YOLOv2论文超详细解读(翻译 +学习笔记)
【YOLO系列】YOLOv2论文超详细解读(翻译 +学习笔记)
2368 0
【YOLO系列】YOLOv2论文超详细解读(翻译 +学习笔记)

热门文章

最新文章