当前位置:网站首页>目标检测之锚点与锚框
目标检测之锚点与锚框
2022-07-22 21:47:00 【烧技湾】

导读:目标检测模型使用锚框去预测物体的位置框,它对于目标检测任务具有关键意义。理解并仔细地微调模型的锚框是对于提升检测性能非常重要,特别是数据集具有不规则的物体时。
锚框与目标检测任务
目标检测,不同于图像分类任务。通常一副图片中具有多个相同或者不同类别的物体,目标检测任务,需要准确地确认并定位到所有物品。
此图展示了一个目标被检测到的结果,既需要给出object class的置信度,又需要给出位置框的坐标(x1,x2,y1,y1,此处用了四个数去描述位置框)。目标检测模型处理此任务通过将预测分为两部分来解决:通过回归预测边界框;通过分类来预测类标签。
什么是锚框?
为了预测和定位一幅图片中多个目标,多数领先的检测模型如EfficientDet和YOLO都以锚框作为先验,然后开始调整。一般来说,使用边界框按照以下顺序:
- 在图像中形成数千个候选锚框;
- 对于每个锚框,预测该框的一些量,并作为候选框;
- 基于真实标注的边界框,计算损失函数;
- 计算给定偏移框与真实对象重叠的概率;
- 如果该概率大于0.5,将该预测纳入损失函数;
- 通过逐渐奖励与惩罚预测框,推动模型走向预测正确的方向。
如果你只是轻微训练模型,将会看到预测框出现在各处。如下图所示:
如果你在自己的数据集上训练YOLO,可能需要自定义设置这些锚框。但YOLOv5能够基于训练集自动学习锚框分布,每次训练时,自适应的计算不同训练集中的最佳锚框值。
当然,如果觉得计算的锚框效果不是很好,也可以在代码中将自动计算锚框功能关闭。
在代码中描述为:
parser.add_argument('--noautoanchor', action='store_true', help='disable autoanchor check')
关闭自动计算锚框功能,即train.py中这一行代码,设置成False,每次训练时,不会自动计算。
边栏推荐
猜你喜欢

Amazon's zoox passed the safety test and applied for a test drive in California

“蔚来杯“2022牛客暑期多校训练营1 (部分题目总结)

scala idea提示函数参数

Fledgling Xiao Li's 108th blog binary print

实验三 LZW
![[record of question brushing] 18. Sum of four numbers](/img/51/1be89efe609572a8b71f2f7c386711.png)
[record of question brushing] 18. Sum of four numbers

实验五 JPEG

我为OpenHarmony 写代码,战“码”先锋第二期正式开启!

数据脱敏的场景与价值【总结】

开幕在即 | “万物互联,使能千行百业”2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛
随机推荐
关于Redis,是先更新数据库,还是先更新缓存?
项目升级遇到的坑
Mysql A left(right) join B on A.id=B.id and A.age=1与A left(right) join B on A.id=B.id where A.age=1
浅谈性能优化:APP的启动流程分析与优化
The Chinese and English dot matrix character display principle of the 111th blog of the fledgling Xiao Li
开幕在即 | “万物互联,使能千行百业”2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛
自定义flink es source
Scala gets all files in the specified directory
Simulate not all endpoints registered exceptions and Solutions
Why does MySQL index use b+ tree instead of jump table?
Worthington:来自酵母的己糖激酶的特性及其它参数说明
驱动页面性能优化的3个有效策略
Scala学习——泛型[T]的6种使用
General, special and hidden attributes of the file (instance generates animation)
Bottom compulsory of large factory: "communication realization between application program and AMS"
实验六 MPEG
实验二 YUV
如何配置CANoe Network-based access模式的以太网网络拓扑
6-15漏洞利用-smb-RCE远程命令执行
scala 主构造器_Scala主构造器深度