目录
- 从零开始实现SSD目标检测(pytorch)
- 第一章 相关概念概述
- 1.1 检测框表示
- 1.2 交并比
- 第二章 基础网络
- 第三章 先验框设计
- 第四章 LOSS设计
- 第一章 相关概念概述
从零开始实现SSD目标检测(pytorch)
特别说明:
- 本系列文章是Pytorch目标检测手册的翻译+总结
- 知其然知其所以然,光看论文不够,得亲自实现
第一章 相关概念概述
1.1 检测框表示
边界宽(bounding box)是包围一个物体(objective)的框,用来表示这个物体的位置、形状、大小等信息。不是最小外接矩形,仅仅是一个转动角度为 0 的框。如下图1-1
所示:
表示框的方法有很多(不赘述),图1-1
的方式为框的边界四个极值坐标\(x_{min},y_{min},x_{max},y_{max}\)。
但是这样做的有点缺点:
- 知道\(x_{min},y_{min},x_{max},y_{max}\),我们无法知道这个目标的更多信息(比例),必须画出来才有感官
- 如果没有图像的宽高,像素值毫无用处(其实还是无法知道比例信息)
改进方式如下图1-2
所示
图1-2
使用比例的方式,很直观的知道目标更多的信息
但是还有一个缺点:
- 直接看这个信息,我们不知道目标长宽信息(当然你自己可以另外计算)
- 也不知道中心位置(相对于边界,我们更关心中心)
再次改进的方式如下图1-3
所示:
\(c_x,c_y,w,h\),中心点+宽高的方式,满足视觉信息最大化。
1.2 交并比
如何用来判断一个框检测的好与坏?
- 使用交集\(A \cap B\)
直接使用交集的大小去判断好坏,大尺度和小尺度不对等
比如:A和B大小都为100,交集50. C和D大小都为10,交集5.
如何说明这两组哪个好坏?
通过上述的例子,我们发现少了一个比例问题。。。
- 使用 \(\frac{A{\cap}B}{A{\cup}B}\)交集除以并集
完全解决上诉问题
注意:这里还存在一个关于LOSS的问题,具体可参考GIOU
第二章 基础网络
第三章 先验框设计
第四章 LOSS设计
原文地址:https://www.cnblogs.com/wjy-lulu/p/11827204.html
时间: 2024-11-05 20:39:44