YOLO


YOLO

YOLO是Joseph Redmon等人在2015年的论文中提出的一种极其快速、准确的物体检测架构随后在2016年(YOLOv2)和2018(YOLOv3)中进行了改进。

YOLOv3的架构和全卷积网络的架构非常相似,但有一些重要的区别:

  • 它为每个网格单元输出5个边界框(而不是一个),并且每个边界框都带有一个客观分数。由于它在包含20个类的PASCAL VOC数据集上进行了训练,因此每个网格单元还输出20个类别概率。每个网格单元共有45个数字:5个边界框,每个边界框具有4个坐标,再加上5个客观分数和20个类概率。
  • YOLOv3不预测边界框中心的绝对坐标,而是预测相对于网格单元坐标的偏移,其中(0,0)表示在该单元格左上角,而(1,1)表示右下角。对于每个网格单元,YOLOv3被训练只能预测其中心位于该单元内的边界框(但是边界框本身通常会远远超出网格单元)。YOLOv3将逻辑激活函数应用于边界框坐标,以确保它们在0到1的范围内。
  • 在训练神经网络之前,YOLOv3会找到5个具有代表性的边界框,称为锚框(或先验边界框)。它通过K-Means算法应用于训练集边界框的高度和宽度来实现。例如,如果训练图像包含许多行人,则锚框之一将可能具有典型的行人尺寸。然后,当神经网络预测每个网格单元的5个边界框时,它实际上预测了重新缩放每个锚定框的幅度。例如,假设一个锚框的高度为100像素,宽度为50像素,并且网络预测(对于一个网格单元)垂直缩放因子为1.5,水平缩放因子为0.9。那预测的边界框大小为150X45。更准确地说,对于每个网格单元和每个锚框,网络都将预测垂直和水平缩放比例的对数。拥有这些先验知识使网络更有可能预测出适当尺寸的边界框,并且由于它能更快地学习到合理边界框的样子,因此也加快了训练速度。
  • 该网络使用不同比例的图像进行训练:在训练过程中每隔几批,网络会随机选择一个训的图像尺寸。这使得网络能够学习检测不同比例的物体。还可以在不同的比例下使用YOLOv3:较小比例的准确率较低,但速度比较大比例的要快,因此可以根据实际情况选择合适的折衷方案。

相关