yolo 系列

yolov3和yolov4

目录

yolov3和yolov4

前言

一、yolov3

1.1.yolov3框架

1.2 FPN(Feature Pyramid Networks)

1.2 上采样upsample

二.yolov4

2.1yolov4框架

 2.2 PAN

三、Prediction创新之路

3.1 lou_loss

3.2 GIou_loss 

 3.3 DIou_loss 

3.4CIOU_los 

3.5总结


前言

记录自己对yolo的理解,不喜勿喷!

文章末尾有引用各位大佬的链接!

一、yolov3

1.1.yolov3框架

yolov3框架如下:由backbone+Neck+prediction构成 

yolo 系列_第1张图片

其中Neck采用FPN结构,FPN是自顶向下的,将高层的特征信息通过上采样(upsample)的方式进行传递融合,得到进行预测的特征图。

1.2 FPN(Feature Pyramid Networks)

FPN是特征金字塔网络:对网络的最后一层feature map做上采样,然后与相应尺寸feature map做融合

yolo 系列_第2张图片

思想:对最底层的特征进行向上采样,并与之融合,加强了特征提取,即将高层的语义传递下来,补充底层的语义,使之获得高分辨率,强语义的特征,有利于小目标检测。

记忆点:自底向上,自顶向下,横向连接

自底向上:使用Darknet53(没有全连接层)作为backbone对图片进行特征提取,得到的feature map :608->304->152->76->38->19

自顶向下:最后一层feature map (19*19)进行上采样upsample

横向连接:为了特征融合:横向连接的两层特征在空间尺寸相同,主要是将底层的空间信息,以及顶部的语义信息进行融合

1.2 上采样upsample

二.yolov4

2.1yolov4框架

yolov4框架:同样由backbone+neck+prediction构成

yolo 系列_第3张图片

其中Neck是由FPN和一个自底向上的特征金字塔(包含两个PAN网络),FPN自顶向下传达强语义特征,PAN自底向上传达强定位,两两联手,从不同的主干层对不同的检测层进行参数聚合。

 2.2 PAN

yolo 系列_第4张图片

原本的PANet网络的PAN结构中,两个特征图结合是采用shortcut即add操作,而Yolov4中则采用concat(route)操作,特征图融合后的尺寸发生了变化。

yolo 系列_第5张图片

三、Prediction创新之路

目标检测的损失函数一般是分类损失函数和目标框回归损失函数组成。

主要从目标框回归损失函数来看yolo系列的变化,从IOU_loss->GIOU_loss->DIOU-loss->CIOU_loss演变

目标框损失函数主要考虑三个方面:重叠面积、中心点距离,长宽比

3.1 lou_loss

IOU_loss损失函数计算方法:

具体看下图: 

yolo 系列_第6张图片

 IOU_loss损失函数可以简单的看作交集和并集,但是存在以下两个问题

yolo 系列_第7张图片

 问题1:如图状态1,当两个框不相交的时候,IOU_loss不可导,无法优化黄色框

问题2:如图状态2和状态3,当IOU相同时,IOU_loss无法分辨出黄色框的相交情况。

3.2 GIou_loss 

GIOU_loss损失函数计算方法: 

为了解决上述的问题,2019提出GIOU_loss,增加了相交尺度的衡量方式。

yolo 系列_第8张图片

但是这只是单纯的缓解,存在以下的问题,如下图所示,当预测框在真实框之内的时候,退化成IOU_loss

yolo 系列_第9张图片

 3.3 DIou_loss 

公式如下:

C2是指的最小包围矩形框的对角线的平方,是指的是,预测框和真实框中心点的距离平方。

yolo 系列_第10张图片

 DIOU考虑到了重叠面积,以及中心点距离,当目标框包裹预测框的时候,收敛更加块,因为直接度量2个框的距离,但是没有考虑到长宽比,

yolo 系列_第11张图片

由于预测框和目标框的中心点相同,所以DIOU_loss又不起作用。

3.4CIOU_los 

公式如下:在DIOU_loss下+au,将预测框和目标框的长宽比都考虑了进去。

 

这样CIOU_loss,就将重叠面积,中心点距离,长宽比都考虑进去 

3.5总结

IOU_loss:考虑了重叠问题

GIOU_loss:在IOU基础上,解决了边界框不重合的问题

DIOU_loss:在IOU和GIOU基础上,解决了面积重叠问题

CIOU_loss:在DIOU基础上,解决了长宽比的问题 


引用

深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解 - 知乎

什么是FPN(Feature Pyramid Networks--特征金字塔)? - 知乎

https://blog.csdn.net/avideointerfaces/article/details/103964660

你可能感兴趣的:(python,pandas)