YOLO损失函数 · 课程目录
30章
从入门到自定义
01
YOLO损失函数全景概览:从YOLOv1到YOLOv8的损失函数演进史,为什么损失函数是目标检测的灵魂?
演进史 · 灵魂基石
02
边界框回归损失(上):L1 Loss、L2 Loss、Smooth L1 Loss的原理、公式推导与代码实现。
L1 / L2 / Smooth L1
03
边界框回归损失(下):IoU Loss、GIoU Loss、DIoU Loss、CIoU Loss的深度对比与实战选择。
IoU家族 · 实战对比
04
置信度损失详解:Focal Loss在YOLO中的应用,解决正负样本不平衡的利器。
Focal Loss · 样本平衡
05
分类损失详解:CrossEntropy Loss与BCE Loss在YOLO中的区别,为什么YOLOv3以后都用BCE?
CE vs BCE · 分类选择
06
YOLOv1损失函数:原版YOLOv1的损失函数拆解,坐标误差、IOU误差、分类误差的权重设计。
YOLOv1 · 权重拆解
07
YOLOv2损失函数改进:Batch Normalization、Anchor Box引入后损失函数的变化。
YOLOv2 · BN & Anchor
08
YOLOv3损失函数:多尺度预测下的损失计算,三个输出头的损失如何分配?
YOLOv3 · 多尺度头
09
YOLOv4损失函数:CIoU Loss + DIoU NMS的组合拳,Mish激活函数对损失的影响。
YOLOv4 · CIoU + Mish
10
YOLOv5损失函数:自动学习Anchor、损失函数超参的自动调优策略。
YOLOv5 · 自动调优
11
YOLOv6损失函数:TaskAligned Assigner与VariFocal Loss的创新设计。
YOLOv6 · TaskAligned
12
YOLOv7损失函数:辅助头损失、深度监督、粗到细的损失引导策略。
YOLOv7 · 辅助头
13
YOLOv8损失函数:DFL Loss(Distribution Focal Loss)与TaskAligned Loss的融合。
YOLOv8 · DFL融合
14
损失函数中的正负样本分配(上):MaxIoU Assigner、ATSS Assigner原理。
正负样本 · MaxIoU/ATSS
15
损失函数中的正负样本分配(下):TaskAligned Assigner、OTA(Optimal Transport Assignment)。
TaskAligned · OTA
16
损失函数的权重平衡艺术:不同损失项之间的权重如何设置?LOSS_XY、LOSS_WH、LOSS_OBJ、LOSS_CLS的调参经验。
权重平衡 · 调参经验
17
自定义损失函数实战(一):修改边界框回归损失,将CIoU替换为EIoU Loss或SIoU Loss。
自定义 · EIoU/SIoU
18
自定义损失函数实战(二):修改分类损失,引入Label Smoothing或Asymmetric Loss。
Label Smoothing · Asymmetric
19
自定义损失函数实战(三):修改置信度损失,自定义Focal Loss的alpha和gamma参数。
Focal Loss · 调参
20
自定义损失函数实战(四):添加辅助损失,如Center-ness Loss、Quality Focal Loss。
辅助损失 · Center-ness
21
损失函数与NMS的联动:为什么损失函数改完后NMS也要跟着改?Soft-NMS、DIoU NMS的集成。
NMS联动 · Soft/DIoU
22
损失函数的梯度分析:反向传播中不同损失项的梯度大小对比,梯度爆炸/消失的排查方法。
梯度分析 · 爆炸/消失
23
损失函数的可视化:如何用TensorBoard绘制损失曲线?损失震荡、不收敛的排查思路。
TensorBoard · 曲线排查
24
多任务学习的损失平衡:GradNorm、Uncertainty Weighting在YOLO多任务损失中的应用。
多任务 · GradNorm
25
小目标检测的损失优化:针对小目标的损失函数改进策略,如Normalized Wasserstein Distance Loss。
小目标 · Wasserstein
26
旋转目标检测的损失函数:Scaled IoU Loss、KLD Loss在旋转框检测中的适配。
旋转框 · KLD Loss
27
损失函数的代码架构解析:Ultralytics YOLOv8源码中损失函数的模块化设计。
源码架构 · 模块化
28
损失函数的单元测试:如何为自定义损失函数编写pytest测试用例,确保梯度正确。
pytest · 梯度校验
29
损失函数的工程化部署:ONNX导出时损失函数的影响,训练与推理的一致性检查。
ONNX · 一致性
30
综合实战:从零构建一个自定义YOLO损失函数,并在VisDrone数据集上训练对比。
综合实战 · VisDrone