你将收获

学懂YOLOv4目标检测原理

读懂C语言实现的darknet源码

适用人群

具有一定深度学习基础,希望学习YOLOv4目标检测的实现原理与darknet源码的同学们

课程介绍

需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》,

课程链接 https://edu.csdn.net/course/detail/29865

【为什么要学习这门课】

Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!

 代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。

YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。

YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。

【课程内容与收获】

本课程将解析YOLOv4的实现原理和源码,具体内容包括:

- YOLOv4目标检测原理
- 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算
- 代码阅读工具及方法
- 深度学习计算的利器:BLAS和GEMM
- GPU的CUDA编程方法及在darknet的应用
- YOLOv4的程序流程

- YOLOv4各层及关键技术的源码解析

本课程将提供注释后的darknet的源码程序文件。

【相关课程】

除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括:

《YOLOv4目标检测实战:训练自己的数据集》

《YOLOv4-tiny目标检测实战:训练自己的数据集》

《YOLOv4目标检测实战:人脸口罩佩戴检测》
《YOLOv4目标检测实战:中国交通标志识别》

建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。

【YOLOv4网络模型架构图】

下图由白勇老师绘制

 

查看更多

课程目录

讨论留言
99 条回复 进入帖子
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
bslongjuanfeng2023-04-13
  • 打赏
  • 举报
回复

老师,系统的界面怎么优化

白日蝉鸣2023-03-02
  • 打赏
  • 举报
回复

老师,我是计算机视觉小白,第一次接触人工智能,我想请教一下我要完成基于改进yolov4的行人检测系统应该怎么做,建议学习您这门课吗(一个月内完成)。快速做出系统。

#风小松2022-03-01
  • 打赏
  • 举报
回复
老师训练过程中那些先验框有什么作用呢?
bai666ai2022-03-01
  • 举报
回复
@#风小松

先验框可看作预设的框,训练时根据提取的图像特征会确定哪些先验框中是否有物体,物体的置信度、并且预测真实框和先验框的位置和大小偏移。

#风小松2022-02-26
  • 打赏
  • 举报
回复
老师,训练过程 get_yolo_box 函数的原理是什么呢?不太理解训练过程如何得到预测框。
#风小松2022-02-16
  • 打赏
  • 举报
回复
老师,yolov4训练forward_yolo_layer函数中计算iou时候,用的是传统的iou还是giou还是ciou呢????
bai666ai2022-02-16
  • 举报
回复
@#风小松

从yolov4.cfg文件中可以看出默认是iou_loss=ciou

#风小松2022-02-16
  • 打赏
  • 举报
回复
老师,yolov4训练的时候,打印出来的数据什么意思呢?就是那些v3 (iou loss, Normalizer: (iou: 0.07, obj: 1.00, cls: 1.00) Region 76 Avg (IOU: 0.000000), count: 1, class_loss = 57396.046875, iou_loss = 0.000000, total_loss = 57396.046875
bai666ai2022-02-16
  • 举报
回复
#风小松2022-02-16
  • 打赏
  • 举报
回复
老师,想问一下代码在哪里下载呢?
bai666ai2022-02-16
  • 举报
回复
@#风小松

先下载课件,项目流程一节的课件中有百度网盘链接

#风小松2022-02-16
  • 举报
回复
@#风小松找到了,谢谢老师
github_noname2021-09-03
  • 打赏
  • 举报
回复
老师,yolov4训练时是否进行了数据归一化,在哪里进行的处理?
liuqiliang1262021-08-28
  • 打赏
  • 举报
回复
老师你好,我怎么训练,输入detector train cfg/voc-ball.data cfg/yolov4-voc-ball.cfg yolov4.conv.137就可以吗,还有用到预训练吗?
bai666ai2021-08-28
  • 举报
回复
@liuqiliang126

yolov4.conv.137就是预训练权重

m0_464200002021-06-17
  • 打赏
  • 举报
回复
白老师您好,想问一下有没有这个课件的ppt啊?pdf的有些动画没法看。
bai666ai2021-06-17
  • 举报
回复
@m0_46420000

没有动画的部分请看下视频吧

迦南giser2020-12-16
  • 打赏
  • 举报
回复
请问老师标签平滑的代码是在哪个文件里呢
bai666ai2020-12-16
  • 举报
回复
@迦南giser在yolo_layer.c中
迦南giser2020-12-17
  • 举报
回复
@迦南giser想问一下标签平滑是自动调用的吗?if (label_smooth_eps) y_true = y_true * (1 - label_smooth_eps) + 0.5*label_smooth_eps中的label_smooth_eps的值是在确定的
zhouweihust2020-10-10
  • 打赏
  • 举报
回复
问下老师,yoloV4的yolo head的工作原理是什么呢?谢谢!
bai666ai2020-10-10
  • 举报
回复
@zhouweihust请看下yolo_layer一节,如有具体问题再讨论下
沙度灬2020-09-15
  • 打赏
  • 举报
回复
老师,请问如果我想运用kmeans处理数据集标记后的xml文件,那我在训练的时候如何将这个应用的v4的代码中呢?
bai666ai2020-09-18
  • 举报
回复
@沙度灬你用kmeans处理数据集做什么用途?
沙度灬2020-09-23
  • 举报
回复
@沙度灬老师,主要是想对数据集的目标框做预处理,得到不同的聚类框
CaptainSG2020-08-26
  • 打赏
  • 举报
回复
老师,有没有demo.c ,detecter.c,darknet.c这些文件的注释,这一部分的讲解在其它课程中吗?
bai666ai2020-09-03
  • 举报
回复
@CaptainSG你先下载并看下程序代码注释中有没有
weixin_425079542020-08-24
  • 打赏
  • 举报
回复
老师,我想问下13*13和52*52的网格大小是一样大的吗?还是特征图一样大?
bai666ai2020-08-25
  • 举报
回复
@weixin_42507954我理解是特征图一样大,52*52的格式更小一些。
weixin_425079542020-08-25
  • 举报
回复
@weixin_42507954老师,那yolov4的3个yolo层的特征图分辨率都是一样大的吗?那具体是多少呢?不是三个尺度分别降维32倍,16倍,8倍吗,请问这个体现在哪呢?老师,我还有个问题,检测的时候是把图片resize到608,416这种大小吗?
weixin_425079542020-08-25
  • 举报
回复
@weixin_42507954回复 @bai666ai 老师,那yolov4的3个yolo层的特征图分辨率都是一样大的吗?那具体是多少呢?不是三个尺度分别降维32倍,16倍,8倍吗,请问这个体现在哪呢?老师,我还有个问题,检测的时候是把图片resize到608,416这种大小吗?
weixin_425079542020-08-24
  • 打赏
  • 举报
回复
老师,请问第二章第一节中所讲的thresh,对应detector.c中的thresh吗?还是对应别的?
bai666ai2020-08-25
  • 举报
回复
@weixin_42507954第二章第一节中所讲的thresh具体的播放时间是哪里?
weixin_425079542020-08-25
  • 举报
回复
@weixin_42507954老师,在23:00处的那张ppt上
阿特密斯X2020-08-22
  • 打赏
  • 举报
回复
请问老师:understand这个软件在哪里可以下载呀
bai666ai2020-08-22
  • 举报
回复
@阿特密斯X可从这里下载:https://scitools.com/
qq_395345032020-08-13
  • 打赏
  • 举报
回复
想请问下老师,darknet这个框架可以训练cfg文件中其他的模型吗?比如vgg16,从哪里可以看到步骤呢?
bai666ai2020-08-22
  • 举报
回复
@qq_39534503cfg目录下有其它模型,但没有详细的介绍,只能自己试试了。
qq_395345032020-08-13
  • 打赏
  • 举报
回复
-point参数在detector.c中的1946行
bai666ai2020-08-22
  • 举报
回复
@qq_39534503在detector.c的函数validate_detector_map中,你可以看到if (map_points == 0) {...} else 对map的计算的区别
qq_395345032020-08-13
  • 打赏
  • 举报
回复
请问老师,detector.c中的iou_thresh 和thresh 这两个阈值有什么区别吗
bai666ai2020-08-13
  • 举报
回复
@qq_39534503thresh是和NMS极大值抑制相关的参数;ious_thresh是和map计算的阈值
加载更多回复