本文使用的 YOLOv3 SPP 模型为 Ultralytics 版本,该版本网络模型与 YOLOv3 模型(Redmon et al., 2017)中的 DarkNet53 结构相同,不同点在于 YOLOv3 SPP 模型在DarkNet53 输出与预测特征层 1 之间添加了一个 SSP…
5.2 YOLOv4 网络结构 5.2.1 Backbone: CSPDarknet53 5.2.2 Neck: SPP,PAN 5.3 优化策略 5.3.1 Eliminate grid sensitivity :消除grid网格敏感程度 5.3.2 Mosaic 数据增强 5.3.3 IoU threshold正负样本匹配 5.3.4 Optimizer Anchors 5.3.5 CIoU(定位损失) 参考:太阳花的小绿豆系列博文《object detection目标检测...
2. YOLOv3和YOLOv3-spp网络结构对比 YOLOv3网络结构图: YOLOv3-spp网络结构图: SPP模块结构如下图: 从上述两副网络结构图中我们可以看出,在相对于普通版本的YOLOv3,SPP版本在第五、六层卷积之间增加了一个SPP模块,这个模块主要是由不同的池化操作组成,具体的实现在YOLOv3-SPP的cfg文件中: ### SPP ### [ma...
Yolov4的Neck结构主要采用了SPP模块、FPN+PAN的方式。 (1)SPP模块 SPP模块,其实在Yolov3中已经存在了,在Yolov4的C++代码文件夹中有一个Yolov3_spp版本,但有的同学估计从来没有使用过,在Yolov4中,SPP模块仍然是在Backbone主干网络之后: 作者在SPP模块中,使用k={1*1,5*5,9*9,13*13}的最大池化的方式,再将...
YOLOv3和YOLOv4长篇核心综述(下) 4.3.3 Neck创新 在目标检测领域,为了更好的提取融合特征,通常在Backbone和输出层,会插入一些层,这个部分称为Neck。相当于目标检测网络的颈部,也是非常关键的。 Yolov4的Neck结构主要采用了SPP模块、FPN+PAN的方式。 (1
Yolov3是目标检测Yolo系列非常非常经典的算法,不过很多同学拿到Yolov3或者Yolov4的cfg文件时,并不知道如何直观的可视化查看网络结构。如果纯粹看cfg里面的内容,肯定会一脸懵逼。 其实可以很方便的用netron查看Yolov3的网络结构图,一目了然。 这里不多说,如果需要安装,可以移步大白的另一篇文章:《网络可视化工具netron详...
其实可以很方便的用netron查看Yolov3的网络结构图,一目了然。 这里不多说,如果需要安装,可以移步大白的另一篇文章:《网络可视化工具netron详细安装流程》。 如果不想安装,也可以直接点击此链接,查看Yolov3可视化流程图。 2.2 网络结构图 绘制网络结构图受到Yolov3另一位作者文章的启发,包括下面Yolov4的结构图,确实,...
Neck:目标检测网络在BackBone和最后的输出层之间往往会插入一些层,比如Yolov4中的SPP模块、FPN+PAN结构 Prediction:输出层的锚框机制和Yolov3相同,主要改进的是训练时的损失函数CIOU_Loss,以及预测框筛选的nms变为DIOU_nms 总体来说,Yolov4对Yolov3的各个部分都进行了改进优化,下面丢上作者的算法对比图。
4.2 网络结构图 Yolov4的结构图和Yolov3相比,因为多了CSP结构,PAN结构,如果单纯看可视化流程图,会觉得很绕,不过在绘制出上面的图形后,会觉得豁然开朗,其实整体架构和Yolov3是相同的,不过使用各种新的算法思想对各个子结构都进行了改进。 先整理下Yolov4的五个基本组件: ...
其实可以很方便的用netron查看Yolov3的网络结构图,一目了然。 2.2 网络结构图 上图三个蓝色方框内表示Yolov3的三个基本组件: CBL:Yolov3网络结构中的最小组件,由Conv+Bn+Leaky_relu激活函数三者组成。 Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。