深度学习loss总结(二)
对于目前深度学习主流任务学习,loss的设置至关重要。下面就不同任务的loss设置进行如下总结:
(1)目标检测
2D/3D目标检测中的 Loss(损失函数)是训练模型时优化目标的核心,通常包括位置、类别、尺寸、方向等多个方面。以下是目前 常见的 2D 和 3D 目标检测 Loss 分类与总结:
🔷 一、2D 目标检测常见 Loss
2D 目标检测常见于图像(如 COCO、VOC),其 Loss 主要分为以下三类:
1. 分类损失(Classification Loss)
-
Cross Entropy Loss:最常用,如 Faster R-CNN、YOLOv3。
-
Focal Loss:用于处理前景/背景不均衡,如 RetinaNet。
2. 边界框回归损失(Bounding Box Regression Loss)
-
Smooth L1 Loss / Huber Loss:常用于 R-CNN 系列。
-
IoU Loss:直接优化 IoU,稳定性更好。
-
GIoU / DIoU / CIoU Loss(用于 YOLOv4/v5 等):
-
GIoU: Generalized IoU,考虑重叠与包围。
-
DIoU: Distance IoU,考虑中心距离。
-
CIoU: Complete IoU,综合中心、面积和长宽比。
-
3. 辅助任务损失
-
Objectness Loss:YOLO 系列判断该区域是否有目标。
-
Center-ness Loss:FCOS 中判断中心点可信度。
-
Heatmap Loss(如 CornerNet, CenterNet):
-
用高斯热图回归目标中心点,常用 MSE 或 focal loss。
-
🔷 二、3D 目标检测常见 Loss
3D 检测用于点云(如 KITTI、nuScenes、Waymo),损失函数更加复杂,涵盖了空间维度、方向等:
1. 分类损失
-
同 2D 检测,使用 CrossEntropy/Focal Loss。
-
在 anchor-based 方法中用于前背景分类。
2. 3D 边界框回归损失
-
通常为多项组合,包括中心位置、大小、方向等:
➤ 位置损失:
-
L1 / Smooth L1:对中心点 (x,y,z)(x, y, z)。
-
Center Distance Loss:点云中心与GT中心的距离。
➤ 尺寸损失:
-
对 w,h,lw, h, l 使用 L1/Smooth L1。
➤ 朝向损失(方向角):
-
角度回归 loss:L1 / Smooth L1。
-
角度分类 loss:方向离散为多个 bin,使用分类损失。
-
Sin-Cos 回归 loss:使用 sin(θ),cos(θ)\sin(\theta), \cos(\theta) 规避周期性问题。
3. IoU类损失
-
3D IoU Loss(较难优化但直观):如 PointRCNN。
-
BEV IoU Loss(Bird's Eye View):简化空间问题。
4. 关键点 / 热力图损失
-
Heatmap Loss(如 CenterPoint, PV-RCNN)用于预测中心点。
-
通常为 Gaussian Focal Loss。
-
-
Offset Loss:预测热图中心点到真实中心点的偏移量。
5. 方向不变性损失
-
Corner Loss(如 Frustum-PointNet):
-
通过角点预测反推旋转和平移,更鲁棒。
-
-
Chamfer Distance(点云匹配):在 PointNet++ 等方法中。
🔷 三、检测 Loss 组合示意
模型 | 分类 Loss | 回归 Loss | 特殊项 |
---|---|---|---|
Faster R-CNN | Cross Entropy | Smooth L1 | - |
YOLOv5 | BCE / Focal | CIoU Loss | Objectness Loss |
RetinaNet | Focal Loss | Smooth L1 | - |
CenterNet | Heatmap Loss | Offset + Size (L1) | - |
PointRCNN | Focal + IoU | 3D Box Regression + Corner Loss | Direction Class |
PV-RCNN | Heatmap + CE | L1 + 3D IoU + Sin-Cos Angle Loss | RoI Pool + BEV Match |
CenterPoint | Heatmap + CE | Offset + Size + Direction (multi-part) | Gaussian Focal + Direction Bin |
✅ 总结:选择检测 Loss 的核心要点
目标 | 推荐 Loss 类型 |
---|---|
二分类 / 多分类 |