3  YOLOv3

3.1  文章

3.1.1  YOLOv3 深入理解

链接:

https://www.jianshu.com/p/d13ae1055302

概述:

讲先验框尺寸和输出tensor组成

3.1.2  What’s new in YOLO v3?

链接:

https://towardsdatascience.com/yolo-v3-object-detection-53fb7d3bfe6b

概述:

介绍了YOLO3改进,不是很详细,但是可以锻炼英文阅读能力。

3.1.3  如何在PyTorch中从零开始实现YOLO

链接:

https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/

概述:

讲解YOLO实现,附代码

3.1.4  YOLO3学习总结

链接:

https://blog.csdn.net/gentelyang/article/details/80874039

概述:

详细介绍了YOLOv3框尺寸的改进情况,以及Dark Net网络改进策略。

3.2  原文解读

 

 

YOLO3改进的地方

 

3.3  代码解读

3.3.1  DarkNet53.py

YOLOv3文章理解与代码理解资料链接

 

图 Net

YOLOv3文章理解与代码理解资料链接

 

1.调用Dark Net53主函数API,括号里面的数字是ResdualBlock块堆叠的数量,和上图流程图对应。

2.第一次进入时,通道数设置的是32,并进行第一次卷积操作。

3._make_layer函数是用于堆叠不同层对应的不同数量的Block块。并输出最后三层。

4.ResdualBlock就是基本块,包括一个1*1卷积和一个3*3卷积。结果出用结果和残差边相加输出。

1*1卷积和3*3卷积效果:

可以达到减少参数量的效果。链接:

https://www.zhihu.com/question/384884504/answer/1129599207

https://www.zhihu.com/question/56024942

3.3.2  yolo3.py

1.自定义一个2D卷积。

2.make_last_layers函数对应最后红框中的内容,做输出的最后的计算。

3.YoloBody是算法的主题,调用Dark Net函数,返回最后三层的out123,对着三个层做相应的卷积和上采样处理。

3.3.3  yolo_training.py

IOU计算。

LOSS计算。

3.3.4  config.py

模型参数。

3.3.5  dataloader.py

制作数据集。

3.3.6  utils.py

YOLO解码操作。

3.3.7  train.py

训练数据集流程:

  1. 加载参数模型。
  2. 划分数据集。
  3. 动态学习率训练模型。
  4. 冻结训练和解冻训练。

3.3.8  test.py

3.3.9  voc_annotation.py

制作数据集列表文件。

3.3.10  vedio.py

检测视频。

3.3.11  predict.py

检测图片。

3.3.12  yolo.py

创建YOLO类,包含功能有:

1.参数设置。

2.加载模型。

3.YOLO解码操作。

4.检测图片。非极大值抑制。

5.画框。

相关文章:

  • 2021-07-09
  • 2022-01-15
  • 2021-09-23
  • 2021-10-11
  • 2021-06-11
  • 2021-10-04
  • 2022-02-26
猜你喜欢
  • 2022-01-06
  • 2021-09-16
  • 2022-01-10
  • 2021-11-03
  • 2021-08-14
  • 2022-12-23
  • 2022-01-28
相关资源
相似解决方案