02.YOLO核心技术初探:锚定框与交并比
从环境搭建和基础概念中走出来现在我们要触碰YOLO最核心的两个技术基石锚定框和交并比。这两个概念是理解YOLO如何检测物体的关键也是你从“知道YOLO是什么”迈向“懂得YOLO怎么工作”的第一步。我们先说交并比它通常被简称为IoU。想象你画了一个圈这个圈是物体真实的位置比如一张照片里的猫。你又在照片上画了一个框这是YOLO模型猜出来的猫的位置。理想情况是这两个框完全重合。但现实中猜测框不会那么精准。IoU就是用来量化这个“猜得有多准”的数学工具。它的计算很简单两个框重叠部分的面积除以两个框合并起来的总面积。如果两个框完全重合IoU等于1完美。如果完全不重叠IoU等于0完全没猜对。YOLO在训练和检测时会用IoU来淘汰那些猜得太离谱的框只保留IoU高于某个阈值比如0.5的候选框。这个机制叫非极大值抑制后面我们会细讲。现在你只需要记住IoU是YOLO判断检测质量的核心标尺。接下来是锚定框。这可能是初学者最困惑的概念之一。简单说锚定框就是一组预先定义好的“形状模板”。YOLO在检测之前并不知道要检测的物体是什么形状。比如一辆汽车通常是扁长的一个人通常是瘦高的一只猫接近正方形。YOLO不可能每次都要从零开始想象物体的形状。锚定框就是模型提前准备好的、一系列常见形状的参考框。这些框的尺寸和长宽比是经过统计分析训练数据中所有物体的真实框之后计算得出的。比如对于通用数据集锚定框可能包含“瘦高型”、“扁长型”、“接近正方形”等几种典型样式。实际检测时YOLO并不直接预测物体的宽和高而是预测物体相对于“最匹配的锚定框”的偏移量。想象一下你手里有一把尺子锚定框你要测量一个物体。你不需要重新制作一把尺子只需要告诉别人“这个物体比这把尺子宽10%高5%”就可以了。YOLO就是这样做的。它把图像划分成网格每个网格负责检测物体。在每个网格上YOLO都会放置固定数量的锚定框比如3个或5个。然后模型会判断哪个锚定框最可能包含物体物体在这个锚定框的基础上需要横向偏移多少纵向偏移多少宽度和高度需要缩放多少通过这种方式YOLO把复杂的形状预测任务简化成了几个简单的数值回归问题。你可能会有疑问锚定框是怎么定出来的这通常在训练前完成。编写YOLO训练脚本时会先用K-means聚类算法分析训练集里所有物体的真实边界框。算法会自动找出最典型的几种框的尺寸和长宽比然后把这些数值写入配置文件。这些数值就是锚定框的初始值。在训练过程中模型会不断调整预测值让预测框越来越接近真实框但锚定框本身通常是不变的。不同数据集需要不同的锚定框比如检测行人密集的场景锚定框会更偏向瘦高型检测车辆锚定框会更偏向扁长型。所以当你看到YOLO的预测输出有多个框时那些框本质上就是在不同锚定框基础上微调出来的结果。再配合IoU来筛选掉重叠严重或者置信度低的框最终只输出最准确的几个。把这两个概念结合起来理解YOLO先用锚定框提供一系列初始猜测模板然后模型针对每个模板预测微调值得到最终的候选框。接着用IoU计算每个候选框与真实物体的重合程度保留高IoU的框去掉低IoU的框。这就是YOLO在整个检测流程中最核心的基础逻辑。后续我们讨论损失函数、网络结构、训练细节时都会反复用到这两个概念。现在你只要在心里记住锚定框是骨架IoU是筛子YOLO通过这两样工具把图像中的物体精准地框出来。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2554483.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!