YOLO系列之yolov1解读(1)
文章目录
- 说明
- 原理
- 解析
- 损失函数的定义
- 技巧
- 总结
- 参考
论文地址: https://arxiv.org/pdf/1506.02640.pdf
说明
- 这个系列会总结关于yolo的解读,为本人理解,还望交流指正。
V1版本:
- v1版本的结构为
img --》VGGNET–》4096-》7730
原理
- 将图像分为7*7 的格子,每个格子预测两个先验框
- 一开始会初始化GT的中心点,那些落在中心点的格子负责预测物体,并且一个格子只负责一个物体的预测,那些没落到中心点的格子,不负责预测物体。(简单说有中心点的格子负责预测物体,没有格子的不负责预测)
- 通过训练进行预测框的更新
解析
7 * 7 * 30
7cell* cell * ((x,y, w,h ,confidence) * 2, 20类的概率)
损失函数的定义
位置 + 大小 + confidence + rnoobject Confidence + 类预测
coord 是object 为1 的 ,比较重要,所以coord 的概率要设置比较大, noobj的概率设置较小。
根号是为了避免小偏移对大图像的影响过小。
技巧
为了更好的收敛, 让(x,y)坐标变成偏移量,如坐标为(3.4, 4.5), 可以设置为(0.4, 0.5),在计算的时候再加上3和4, 能使得更快更好的收敛
-
只对最大的预测框进行回归修正,实验证明,并不会降低map
-
采用非极大值预测方法, 如果对于一些大物体,可能会有多个网格同时预测同一个物体。
-
对置信度修改, 结合类别的概率* IOU,可过滤小概率物体大IOU的框
总结
- v1中每个格子只负责预测一个物体, 所以对于小物体和重叠的物体无法更好的预测出。
- 运用全连接层,使得计算量大并且复杂。
参考
https://zhuanlan.zhihu.com/p/70387154?utm_medium=social&utm_oi=1160532055342977024