先看这个目录呀0 文章采集1 三个核心知识2 整体网络结构图3 主网络DarkNet53和 ResNet 的区别4 yolov3代码学习了 ResNet 和 FPN也就具备了理解 YOLO 核心架构的“骨架”和“神经”。现在学 YOLO 会非常顺畅因为你会发现它其实就是把这些经典组件“组装”起来。YOLO 的“骨架”就是 ResNetYOLOv3 及之后的版本如 v4, v5, v8都使用了基于 ResNet 思想的 Darknet 或 CSPDarknet 作为主干网络。你学过的“残差连接”是它的核心。YOLO 的“神经”就是 FPNYOLO 之所以能同时检测大物体和小物体靠的就是 FPN特征金字塔结构。这“多尺度特征融合”正是 YOLO 检测头的核心逻辑。建议的学习顺序先看 YOLOv3这是引入 FPN 和 ResNet 思想的第一代结构最经典最容易看懂原理。再看 YOLOv5/v8这是目前最流行的工业级版本。你会发现它的代码结构非常清晰Backbone主干 就是 ResNet 变体Neck颈部 就是 FPN 变体。0 文章采集这块文章很多如下【目标检测 | yolov3 原理和介绍 - CSDN App】https://blog.csdn.net/hhl_work/article/details/140929409【YOLOv3算法与论文详细解读 - CSDN App】https://blog.csdn.net/J_oshua/article/details/135700463【YOLOv3详解 - CSDN App】https://blog.csdn.net/xiahan_qian/article/details/124897269【YOLOv3网络结构 - CSDN App】https://blog.csdn.net/qq_44655084/article/details/129972638【原作者封山之作YOLOv3 - 知乎】https://zhuanlan.zhihu.com/p/689965199【YOLOv3网络结构和解析 - CSDN App】https://blog.csdn.net/dz4543/article/details/90049377【YOLOv3 - CSDN App】https://blog.csdn.net/u013172930/article/details/153923613把它们的图呀我就整理下放到各个适合的章节。1 三个核心知识多尺度检测FPN这是YOLOv3的“杀手锏”。它像搭积木一样把深层特征懂语义和浅层特征有细节融合在一起解决了小目标检测难的问题。Darknet-53主干网络这是YOLOv3的“发动机”。它用残差连接Residual Block解决了深层网络训练难的问题让模型既深又稳。9种先验框Anchor BoxesYOLOv3预设了9种不同大小的框大、中、小各3个让模型预测时更有“准头”框得更准。2 整体网络结构图采集的文章中的好的图。感谢。1yolov3论文中的结构图红色添加了416x416看原论文的网络结构它把卷积层取代了池化层如果按照resnet类比它就是c1-c6与resnet不同的是c1-c6每块都是由一个卷积层间隔开来。Convolutional的意思是Conv Layer(卷积层)BN LayerLeaky ReLU Layer(即CBL)。而Residual指的是上图的那条线就是执行Add操作。2【目标检测 | yolov3 原理和介绍 - CSDN App】https://blog.csdn.net/hhl_work/article/details/140929409我在它的图的基础上增加了2个方框并标注了下网络你看主干网络BackBone自底向上Neck自顶向下还有横向连接多么符合FPN的思想多么完美我觉得是这是全网最好的yolov3整体网络结构图其他的图可以不用看了太次——只取一个一个精华即可咱们对比下FPN的图来自【FPN(Feature Pyramid Networks)网络–特征图金字塔网络适合小目标检测网络。 - CSDN App】https://blog.csdn.net/weixin_43331421/article/details/140209622:这不就联动起来了yolov3就是参考了FPN思想从此目标检测领域确定了neck标准。整体网络图有了还有FPN思想也有了Resnet残差网络结构也知道了——就像有地图导航了剩下的就是看yolov3代码了跟着导航走不迷路。想起一首古诗说“不识庐山真面目只缘身在此山中”——我觉得不对这是因为古代没有卫星地图导航3还有的这样画这个原图Neck部分画的不好看的比较吃力所以我就给它捂住了防止浪费精力要看Neck部分看2的图。另外它这个主网络没有画出各残差块之间的间隔卷积层——CBL。不过它罗列的主网络的详细参数中又加上它了不过又写错了如下论文中5大残差结构之间都是通过CBL间隔起来的不过它的步长是2——下采样作用和上表的Conv Block差不多而它的表格里写成了Conv不对都应该改成Conv Block就对了只不过步长要写成2。4【原作者封山之作YOLOv3 - 知乎】https://zhuanlan.zhihu.com/p/689965199这个图画的也是我也觉得第二好的只是和2画的倒过来了。原文解释可以看到, 整个YoloV3可以分为三个部分分别是Darknet53FPN以及Yolo Head。Darknet53可以被称作YoloV3的主干特征提取网络这里把Convolutional和Residual称之为Resblock_body, 输入的图片首先会在Darknet53里面进行特征提取提取到的特征可以被称作特征层是输入图片的特征集合。在主干部分我们获取了三个特征层进行下一步网络的构建这三个特征层称它为有效特征层残差网络的特点是容易优化并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接缓解了在深度神经网络中增加深度带来的梯度消失问题其中FPN是指特征金字塔, 也可以被称作YoloV3的加强特征提取网络在主干部分获得的三个有效特征层会在这一部分进行特征融合(进行上采样)特征融合的目的是结合不同尺度的特征信息。在FPN部分已经获得的有效特征层被用于继续提取特征5还有一个这个图呢主干是横着画的不太符合FPN思想因为FPN中说的横向连接的“横向”在哪不过neck是也是自顶向下画的看着很不错。我觉得它是为了留下姓名放到中间其实主干网络自底向上也可以把归属放到中间的。画的很不错第3好6还有的更加详细1-5都是整体网络结构图就像是大致轮廓而6则是地图放大具体到细节但是它画的也是倒过来的参照2的完美图把它在脑子里再倒过来看3 主网络DarkNet53和 ResNet 的区别虽然都用了残差但 Darknet-53 更“轻快”激活函数用 LeakyReLU 代替 ReLU防止神经元“死掉”。下采样方式用 步长为 2 的卷积 代替池化层能保留更多位置信息。结构设计Darknet-53 的残差块是先 1x1 再 3x3而 ResNet 的 Bottleneck 是先 1x1 降维再 3x3最后 1x1 升维结构更复杂。4 yolov3代码