文章目录
- 2-1图像卷积
- 2-2卷积核和步长
- 2-2Yolov4的卷积例子
- 2-6 全连接层讲解
- 2-8VGG做图像检测、预测、训练的整个流程介绍
- 3-1YOLOV3网络结构回顾1
- 3-5 YOLOV4网络结构backbone
- 3-7 YOLOv4网格思想
- 3-8 先验框anchors原理
- 3-9 头部DECODE
- 3-10 YOLO头部总结
- 3-11 backbone构建01(CSPDarknet)
- CSPX的实现
- 3-15 从零写代码头部Decode01(三个灰色盒子)
- 3-17代码解读,模型推断部分
- 3-18 代码解读使用yolo.cfg方式构造网络
- 4-1 Yolov4模型训练和代码实现
- 4-2 整体的训练流程
- 4-3 模型训练build_target原理解析
- 4-4 模型训练build_target原理解析02
- 4-4 模型训练build_target原理解析03
- 4-6 4-7 损失函数理论讲解
- 4-8 从零写代码build_target训练核心函数01
- 4-11~4-13 从零写训练部分基础函数
- 4-14~4-16 代码解读基于Pytorch的模型训练
2-1图像卷积
卷积的过程:
如果卷积核是(3,3,3,256):
2-2卷积核和步长
用卷积代替maxpool下采样,因为maxpool会丢失很多信息
2-2Yolov4的卷积例子
2-6 全连接层讲解
w[4095,0:45]*X[0:45]=y0, 类似于卷积的点乘操作,实际y0拥有了原始特征图所有的信息(因为是X[0:45]),卷积是对应位置的局部特征点乘,而全连接层是全局特征信息点乘
2-8VGG做图像检测、预测、训练的整个流程介绍
讲的很好,对于整个训练的过程,以及反向传播算法的流程
3-1YOLOV3网络结构回顾1
整个网络的构成
3-5 YOLOV4网络结构backbone
主要比较V4与v3之间的区别:
3-7 YOLOv4网格思想
三个head的输出,如何定位为障碍物,把18通道拆分成3(3个anchor)*6
然后与真值去对比,然后定义Loss,然后进行反向传播
3-8 先验框anchors原理
主要介绍了3-7同样的内容,就是anchors如何定位到真值的obj,然后联系到真值进行Loss的计算,然后反向传播
3-9 头部DECODE
Decode部分如何得到物体的
3-10 YOLO头部总结
3-11 backbone构建01(CSPDarknet)
CSPX的实现
在CSPDarknet.py里面
backbone_neck的构造(3-11~3-14:P3 P4 P5)在yolo4.py里面
3-15 从零写代码头部Decode01(三个灰色盒子)
在文件yolo_layer.py
2021-03-02理解decoder部分
又多了一些见解,发现这部分讲的真好,明天继续看
3-17代码解读,模型推断部分
backbone与neck与灰色盒子,整体整合(见inference.py)
包括加载预训练权重、有目标的anchor、非极大值抑制、然后可视化
3-18 代码解读使用yolo.cfg方式构造网络
通过解析yolo4_car_det_1cls.cfg配置文件,把里面每一层都解析出来,构建网络(面向过程的方式)
weights文件夹里面多了一个权重文件:哟lov_citycar_6000_2cls.weights,是在darkNet框架下训练好的一个模型(一个在中国的道路车辆检测的模型:一个是车辆一个是车的logo)
基于darknet前向推理的方式的讲解,使得可以利用已经训练好的权重直接加载:
基于darkNet导入它的权值,解析它的config去构造它的网络来做一个前向推理的一部分,为什么基于darkNet方式去构造模型:这样会有一个很好的通用性,可以直接把darkNet的权重拷贝过来去做推断或者直接在这个权重上面去做预训练比在COCO上做预训练要好很多,我们自己训练好的权重也可以导入到darknet里面去做推断,这样就实现了darknet和我们的一个互通,这样就使我们最终的代码变得灵活
4-1 Yolov4模型训练和代码实现
完整的训练代码工程在work_dir文件夹里面
4-2 整体的训练流程
4-3 模型训练build_target原理解析
4-4 模型训练build_target原理解析02
4-4 模型训练build_target原理解析03
4-6 4-7 损失函数理论讲解
4-8 从零写代码build_target训练核心函数01
在文件yolo_loss.py里面
4-11~4-13 从零写训练部分基础函数
4-14~4-16 代码解读基于Pytorch的模型训练
train.py是基于yolo_body构建的训练代码
train_dark.py是基于darknet构建的训练代码