7.8.1 YOLO概述
7.8.1 yolo概述
yolo,全称为you only look once detector,是一个可以一次性预测多个检测框位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其最大的优势就是速度快。yolo发展到现在已经成为一系列目标检测算法的统称。yolo流程简化图如图7-41所示。
图7-41 yolo流程简化图
如图7-42所示,原始图像经过卷积网络处理后,生成了一个7x7x30维的特征向量,可以理解为把原图像分割成了大小相等的7x7个网格,每个网格生成2个检测框,称为bounding box,每个bounding box对应5个预测参数,即bounding box的中心点坐标、宽和高以及置信度评分。所谓置信度评分就是iou和目标分类每个类别的概率分数的综合指标。每个网格有30维的特征,其中前10维为两个bounding box的特征,后20维为20类物体的概率分数。
图7-42 每个网格对应2个bounding box
yolo有众多版本,其中最著名是yolo v3。图7-43所示为yolo v3的预测结果,可以理解为把图像分别划分成13x13、26x26和52x52三组网格,每组网格也被称为特征图。
图7-43 yolo v3对图像的预测结果
如图7-44所示,每个网格都包括三个预测结果,即三个预测框。每个预测框都由三部分组成,分别是预测框的四个坐标以及识别为不同物体的分类概率。以ms coco数据集为例,ms coco包含80种物体,yolo v3的分类结果就是该预测框被识别为这80种物体的概率。需要指出的是,一个预测框中通常包含不止一种物体,因此每个分类结果是相互独立的,概率总和不为1,比如一个预测框中同时包含猫和狗,那么识别为猫和狗的概率可能都是0.9。
图7-44 yolo v3网格的结构
如图7-45所示,yolo v3中对物体检测框位置是通过四个坐标表示的,即(tx,ty,tw,th)。假设物体的检测框真实坐标为(bx,by,bw,bh),分别表示预测框的中心点的横纵坐标以及整个预测框的宽和高。
图7-45 yolo v3的检测框的表示方法
物体的检测框真实坐标计算方法如图7-46所示。
综上所述,通常把图片大小转换成416x416,经过yolo v3预测后输出的box个数为:
3x(13x13+26x26+52x52)=10 647
图7-46 yolo v3检测框的计算方法
每个预测框都由4+1+80=85个参数组成。如何从10 647个预测框中选择最合适的一个表示物体的范围呢?有兴趣的读者可以进一步阅读相关文献。
yolo,全称为you only look once detector,是一个可以一次性预测多个检测框位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其最大的优势就是速度快。yolo发展到现在已经成为一系列目标检测算法的统称。yolo流程简化图如图7-41所示。
图7-41 yolo流程简化图
如图7-42所示,原始图像经过卷积网络处理后,生成了一个7x7x30维的特征向量,可以理解为把原图像分割成了大小相等的7x7个网格,每个网格生成2个检测框,称为bounding box,每个bounding box对应5个预测参数,即bounding box的中心点坐标、宽和高以及置信度评分。所谓置信度评分就是iou和目标分类每个类别的概率分数的综合指标。每个网格有30维的特征,其中前10维为两个bounding box的特征,后20维为20类物体的概率分数。
图7-42 每个网格对应2个bounding box
yolo有众多版本,其中最著名是yolo v3。图7-43所示为yolo v3的预测结果,可以理解为把图像分别划分成13x13、26x26和52x52三组网格,每组网格也被称为特征图。
图7-43 yolo v3对图像的预测结果
如图7-44所示,每个网格都包括三个预测结果,即三个预测框。每个预测框都由三部分组成,分别是预测框的四个坐标以及识别为不同物体的分类概率。以ms coco数据集为例,ms coco包含80种物体,yolo v3的分类结果就是该预测框被识别为这80种物体的概率。需要指出的是,一个预测框中通常包含不止一种物体,因此每个分类结果是相互独立的,概率总和不为1,比如一个预测框中同时包含猫和狗,那么识别为猫和狗的概率可能都是0.9。
图7-44 yolo v3网格的结构
如图7-45所示,yolo v3中对物体检测框位置是通过四个坐标表示的,即(tx,ty,tw,th)。假设物体的检测框真实坐标为(bx,by,bw,bh),分别表示预测框的中心点的横纵坐标以及整个预测框的宽和高。
图7-45 yolo v3的检测框的表示方法
物体的检测框真实坐标计算方法如图7-46所示。
综上所述,通常把图片大小转换成416x416,经过yolo v3预测后输出的box个数为:
3x(13x13+26x26+52x52)=10 647
图7-46 yolo v3检测框的计算方法
每个预测框都由4+1+80=85个参数组成。如何从10 647个预测框中选择最合适的一个表示物体的范围呢?有兴趣的读者可以进一步阅读相关文献。