YOLO1
一、亮点
- 经典的one-stage方法
- 把检测问题转化成回归问题,一个CNN搞定
- 可对视频进行实时检测
二、核心思想
如果物体的中心点落在某个格子,那就让这个格子负责预测这个物体。格子如何预测物体呢?每个格子产生2种比例的候选框w1、h1和w2、h2。看两种候选框跟实际的物体匹配的怎么样,哪个跟真实物体的IOU更大就选哪个。为使候选框更好的匹配,需要对w、h进行微调。我们的任务就能变成预测w、h的值为多少最合适,以及候选框的位置x、y,这就成了回归问题。因为每个位置都要预测,会得到许多的候选框,每一个候选框都有一个置信度(confidence),它表示这个位置是否是一个物体。所以我们要预测的除了w、h、x、y,还有置信度c。但这么多候选框,并不是所有的都要使用,置信度比较小的候选可以直接过滤掉,它表示这个位置是物体的概率较小。这样,最后我们想要得到的结果是合适的候选框。
三、网络结构
将输入图片的尺寸同一调整成448X448X3。
网络的输出是7X7X30的结构,它代表什么呢?
可以把它当做特征图。7X7代表最后的网格的尺寸,每一个格子有30个值。下图为30个值的构成。
前10个值是两种候选框的尺寸以及置信度,后面20个值是20个类别的概率。
四、损失函数
损失函数的构成
1、位置误差
2、置信度误差
3、分类误差
五、NMS(非极大值抑制)
在有很多候选框重叠的情况下,选择IOU最大的。
六、总结
1、优点:
快速、简单
2、缺点:
- 很难检测重合的物体、小物体
- 多标签的物体难以处理
- 只有两种候选框,能够检测的物体有限
- 每个cell只预测一个类别,如果重叠无法预测