python - 为什么YOLOv3计算调整anchor box的offset值,而不是直接输出bounding box的维度?
问题描述
我试图了解 YOLOv3 的工作原理。而且这件事还是让我很困惑:YOLO 可以确定边界框(坐标和尺寸),但是为什么它不直接输出这些值,而不是用它们来调整锚框呢?
解决方案
与固定锚点相比,大多数对象检测算法计算边界框的偏移量(x、y、宽度、高度)。
通常生成锚点以遵循固定网格:为网格上的每个位置创建一组具有不同纵横比和不同区域的锚点。
学习算法从固定锚点输出一个偏移量,从中可以推断出整体坐标,而不是试图直接找到整体坐标,因为它是一个局部且位置不变的特征,所以要容易得多。
这意味着如果在图片的左上角有一只带有错误居中边界框的狗,则要求算法输出偏移量,就好像狗在图片的右下角一样,这使其具有鲁棒性移动并且不需要它学习图像中对象的全局位置。
推荐阅读
- c# - 如何在 xamarin 表单上添加室内地图
- javascript - 如何在 js 中制作更小的 js 代码?
- java - 简单的多边形点测试,边缘行为一致
- jenkins - 多分支管道插件中的“来自 SCM 的管道脚本”选项
- maven-3 - 有没有办法在 Maven 原型中订购属性?
- mysql - 用于存储问卷和多项选择答案的数据库模式
- c# - Visual Studio 应用程序以代码 -1 (0xffffffff) 退出,应用程序没有响应
- c# - Number is notcoming is DropDownlist using loop
- python - Python Pywin32 - ReadEventLog 溢出错误
- javascript - Angular 6 中的 CSS 间距问题