YOLOv4网络详解

YOLO v4

网络结构:

Backbone: CSP-Darknet53

Neck: SPP、PAN

Head: YOLOv3

优化策略:

  • Eliminate grid sensitivity
  • Mosaic data augmentation
  • Iou threshold(match positive samples)
  • Optimizered anchors
  • ciou

Backbone:

CSP-Darknet53

Part1/Part2:

通常输入图像在通道方向进行一个均分操作,但csp并非如此

在csp模块之前进行一个下采样,将输出依次通过两个1*1的卷积层(输出特征层的个数为输入特征层个数的一半 128 -> 64),然后接上resblock,再继续接上1*1的卷积层(对应图b的transition),与part1输出进行拼接,再通过1*1的卷积层(对应图b最后一个transition)

Resblock:

Csp作用:

  • 增强cnn学习能力
  • 移除计算瓶颈
  • 降低显存的使用

Cspdarknet53的结构:

ConvBNMish:

卷积层+BN层+Mish激活函数

Mish激活函数:

与 ReLU、Leaky ReLU 相比,Mish 保持了输入的负值部分,并且其曲线更加平滑和连续。

ResBlock:

1*1卷积层+3*3卷积层

输入和输出add相加

DownSample1通道数没有减半的CSP,从DownSample2后和CSP是一致的,通道数输出对于输入减半;1深度不变,2345都是在深度上concat

Neck:

SPP、PAN

SPP(Spatial Pyramid Pooling):

对于输入,依次通过5*5,9*9,13*13的最大池化下采样层(stride=1),经过对应的padding后,他们的输入输出特征层的大小高宽是一致的,再将三模块的输出和原输入四个分支进行concat拼接

作用:一定程度解决多尺度问题

PAN(path aggregation network):

(a)左:网络的backbone,一般进行特征提取

(a)右:对提取的特征层上构建特征金字塔(fpn)

              Fpn:高层的语义信息向底层进行融合

(b):与fpn相反,将低层的语义信息向高层融合

PAN:(a)右+(b)

原始的Pannet中关于特征层与特征层融合部分采取相加策略,yolov4采用的是concat,将两个特征层在深度上进行拼接

Head:YOLOv3

Yolov4网络建构:

ConvSet :

是一组卷积层的堆叠,通常包括卷积、批量归一化、激活函数(Leaky ReLU)以及 1x1 和 3x3 的卷积操作。主要作用是进一步提取和增强特征表达能力,为后续的检测头提供更加丰富的特征信息

Leakey relu:

Leaky ReLU 保留了负值部分,不过会将其按比例缩小,避免了 ReLU 的“死神经元”问题

Conv2d:

 

只是普通的卷积操作,没有BN和激活函数

C=(4+1+num_classes)*3

4:x、y、w、h

1:objectness

num_classes:分类个数

*3:每个anchor,特征层都会采用三个不同的模板

优化策略:

Eliminate grid sensitivity(消除grid网格敏感程度):

问题:

如果gt box的中心点落在grid cell的边界上,希望经过sigmoid函数尽可能为0,x趋于负无穷,而极端数值网络无法达到,因此引入缩放因子scale,主流scale = 2

消除grid 网格敏感度

Mosaic data augmentation

将4张不同的图片按照一定的规则拼接在一起,扩充样本的多样性

IoU threshold(match positive samples)

匹配正样本

与u版yolov3差不多

Yolov3:

若有多个anchor template的iou符合,那么将gt同时分配给anchor1和anchor2,以增加正样本的数量

Yolov4:

通过消除grid网格敏感度将网络预测相对grid左上角从原来的(0,1)缩放到(-0.5,+1.5),增加了格子扩充正样本

根据位置扩充格子,特殊情况只采用刚好落入的anchor

Optimizered anchors

Yolov3 k-means聚类

  • Ciou

YOLOv4是一种高效的目标检测算法,具有极高的实时性能和较低的计算复杂度。其网络结构主要由三个部分组成:骨干网络、特征金字塔和检测头。 首先是骨干网络YOLOv4采用了CSPDarknet53作为其骨干网络,相比于以往的Darknet53,CSPDarknet53通过引入CSP(Cross Stage Partial)结构来提升网络的性能。CSP结构将输入特征图分为两部分,并在其中一部分上进行卷积操作,然后将结果与另一部分进行串联操作,这样可以减少计算量并保持信息传递的完整性。 其次是特征金字塔,特征金字塔由四个不同尺寸的特征图组成,分别用于检测不同大小的目标。为了生成这个金字塔,YOLOv4引入了Panet结构,即特征金字塔网络。Panet结构通过上采样和融合操作,将不同尺度的特征图进行融合,以便在不同尺度上进行目标检测。 最后是检测头,YOLOv4采用了三个并行的检测头,分别预测不同尺度的目标框。每个检测头输出相应的目标框、置信度和类别信息。为了提高检测精度,YOLOv4还使用了多尺度训练和数据增强技术,并引入了CIoU损失函数来优化边界框的预测。 总的来说,YOLOv4网络结构的设计充分考虑了骨干网络、特征金字塔和检测头的协同作用,通过引入CSP结构和Panet结构,以及采用多尺度训练和数据增强等策略,使得YOLOv4目标检测任务上表现出了较高的准确性和实时性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值