YOLOv1(训练过程)

YOLOv1训练阶段

YOLOv1在训练时,权重朝着什么方向更新呢?
上篇文章提到每个grid cell能预测两个bounding box,那么,训练的目的其实是使标签中画出的标准框所属的grid cell,这个grid cell能预测出两个bounding box,我们选择一个和标准框IOU大的bounding box,使它朝着和标准框重合的方向更新梯度,另一个IOU小的bounding box我们使它的置信度尽量小,从而在预测时更容易被淘汰

YOLOv1损失函数如下:
YOLOv1(训练过程)_第1张图片

坐标损失: 包含2项

  1. 负责检测物体的bounding box的中心点坐标定位损失:即负责检测物体的那个框 和 标签中的标准框,这两个框的中心点坐标误差

  2. 负责检测物体的bounding box的宽高损失:即负责检测物体的那个框 和 标签中的标准框,这两个框的宽、高的误差。

    这里需要注意的是,为什么同样都是回归误差,宽高损失里面会有根号?这是因为加上根号会使得小框对误差更敏感,同样的偏差之下,小框的损失会更大,大框造成的损失会更小

有了这两部分损失,预测出的bounding box就会逐步朝着和标准框重合的方向回归、逼近

置信度损失:包含2项

  1. 负责检测物体的bounding box的置信度损失:这里的标签值是预测框和标准框的IOU
  2. 不负责检测物体的bounding box的置信度损失:这里标签值是0,目的是使不负责检测物体的框的置信度越来越小,这样在预测阶段更容易被淘汰

网络预测类别损失:即负责预测物体的grid cell的分类误差,这里和一般的神经网络分类问题的回归损失函数类似

有几个点需要说明:

一、
在这里插入图片描述
一般赋予较大的值,其存在的意义在于将那些负责预测物体的bounding box的坐标、宽高赋予更大的权重

二、(这里感谢B站up主@同济子豪兄)

YOLOv1(训练过程)_第2张图片

你可能感兴趣的:(深度学习,目标检测,计算机视觉,人工智能,神经网络,深度学习)