深度学习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 类型
二分类 / 多分类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/91629.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/91629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux网络】netstat 的 -anptu 各个参数各自表示什么意思?

netstat 是一个网络统计工具,它可以显示网络连接、路由表、接口统计、伪装连接和多播成员资格。在 netstat 命令中,不同的参数可以用来定制输出的内容。 你提到的 -anptu 参数组合各自的功能如下: -a (all): 显示所有活动的连接和监听端口。它…

[硬件电路-115]:模拟电路 - 信号处理电路 - 功能放大器工作分类、工作原理、常见芯片

功能放大器是以特定功能为核心的集成化放大电路,通过将运算放大器与外围电阻、电容等元件集成在单一芯片中,实现标准化、高性能的信号放大功能。其核心优势在于简化设计流程、提升系统稳定性,并针对特定应用场景优化性能参数。以下从定义、分…

双网卡UDP广播通信机制详解

UDP广播通信机制详解 一、通信流程分析 发送阶段 通过Client.Bind(192.168.0.3, 60000)将UDP套接字绑定到指定网卡和端口设置RemoteHost "255.255.255.255"实现全网段广播数据流向:192.168.0.3:60000 → 255.255.255.255:50000 接收阶段 设备响应数据应返…

从遮挡难题到精准测量:激光频率梳技术如何实现深孔 3D 轮廓的 2um 级重复精度?

一、深孔 3D 轮廓测量的遮挡困境深孔结构(如航空发动机燃油喷嘴孔、模具冷却孔)因孔深大(常超 100mm)、深径比高(>10:1),其 3D 轮廓测量长期受限于光学遮挡难题。传统光学测量技术&a…

.NET 依赖注入(DI)全面解析

文章目录一、依赖注入核心原理1. 控制反转(IoC)与DI关系2. .NET DI核心组件二、服务生命周期1. 三种生命周期类型三、DI容器实现原理1. 服务注册流程2. 服务解析流程四、高级实现方法1. 工厂模式注册2. 泛型服务注册3. 多实现解决方案五、ASP.NET Core中的DI集成1. 控制器注入2…

K8S部署ELK(二):部署Kafka消息队列

目录 1. Kafka 简介 1.1 Kafka 核心概念 (1)消息系统 vs. 流处理平台 (2)核心组件 1.2 Kafka 核心特性 (1)高吞吐 & 低延迟 (2)持久化存储 (3)分…

Rust进阶-part1-智能指针概述-box指针

Rust进阶[part1]_智能指针概述&box指针 智能指针概述 在Rust中,智能指针是一类特殊的数据结构,它们不仅像普通指针一样可以引用数据,还带有额外的元数据和功能。与普通指针不同,智能指针通常使用结构体实现,并且会实现 Deref 和 Drop 等特定的trait,以提供更强大的…

C++扩展 --- 并发支持库(补充1)

C扩展 --- 并发支持库(下)https://blog.csdn.net/Small_entreprene/article/details/149606406?fromshareblogdetail&sharetypeblogdetail&sharerId149606406&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link atom…

在Three.js中导入和添加自定义网格的最佳实践 - 综合指南

探索在Three.js中导入和添加自定义网格的最佳实践。本指南涵盖增强 3D 项目的技术、技巧和实际示例。 添加图片注释,不超过 140 字(可选) 强烈建议使用 GLTF 格式来集成 3D 几何体,提供简化的流程,并固有地支持动画、…

Redis知识点(1)

目录 Redis Redis和MySQL的区别 Redis的高可用方案 Redis可以用来做什么 Redis的数据类型 字符串 列表 哈希 集合 有序集合 Bitmap Redis为什么快呢? I/O多路复用 说说select,poll,epoll,kqueue,IOCP的区别 Redis为什么早期选择单线程? …

使用iptables封禁恶意ip异常请求

查看后端日志发现一IP(103.76.250.29)频繁请求不存在的资源路径​​(如 /api/v1/guest/comm/config、/theme/default/assets/compoments.js 等),并伴随对根路径 / 的正常访问。这种行为的可能性包括恶意扫描、自动化工…

BehaviorTree.Ros2 编译教程

1. 源码下载 git clone https://github.com/BehaviorTree/BehaviorTree.ROS2.git2. 编译过程 源码中有3个项目: btcpp_ros2_interfacesbtcpp_ros2_interfacesbtcpp_ros2_samples 2.1 编译btcpp_ros2_interfaces: colcon --packages-select btcpp_ros2_interfaces2.2 编译 …

AR智能巡检系统:制造业设备管理的效率革新

随着工业4.0和数字化转型的加速,设备管理在制造业、能源、交通等关键领域的重要性愈发凸显。传统设备巡检依赖人工记录和纸质报告,不仅效率低下,还容易因人为疏忽导致数据错误或安全隐患。然而,增强现实(AR www.teamhe…

破解海外仓客户响应难题:自动化系统是关键

在跨境电商蓬勃发展的当下,海外仓作为连接卖家与终端消费者的重要枢纽,其服务效率直接影响着卖家的运营成果。其中,即时客户响应一直是行业痛点,尤其对中小型海外仓而言,单纯依靠人力维持全天候服务意味着高昂的成本压…

PyTorch基础——张量计算

文章目录PyTorch基础——张量计算1 什么是张量计算?2 基本算术运算2.1 加法运算2.1.2 torch.add2.1.3 a.add(b) 与 a.add_(b)a.add(b) 方法a.add_(b) 方法核心区别2.2 减法运算2.2.1 toch.sub()2.2.2 a.sub(b) 和a.sub_(b)a.sub(b) 方法a.sub_(b) 方法核心区别使用建…

云原生联调利器:Telepresence实战

Telepresence在云原生联调中的应用:本地服务直连K8s集群实战在云原生开发中,调试和测试服务常常需要本地环境与远程Kubernetes(K8s)集群无缝集成。Telepresence是一个开源工具,它允许开发者将本地服务“注入”到K8s集群…

浏览器【详解】requestIdleCallback(浏览器空闲时执行)

简介requestIdleCallback 是浏览器的一个 API,用于在浏览器空闲时间执行低优先级任务,避免阻塞主线程,提升页面性能和响应速度。 当浏览器完成了关键任务(如渲染、布局、用户交互处理)且暂时没有更高优先级的工作时&am…

STP技术

一、环路的危害1.现象链路指示灯快速闪烁MAC表震荡:交换机频繁修改MAC地址表 → 转发失效。2.环路危害造成的影响链路堵塞主机操作系统响应迟缓二层交换机管理缓慢冲击网关设备的CPU三、STP的作用1.STP基本原理STP即生成树协议,它通过阻断冗余链路来消除…

RAGFLOW~knowledge graph

start 为了增强多跳问答,RAGFlow在数据提取和索引之间增加了一个知识图谱构建步骤,如下面所示。这一步骤会从您指定的分块方法生成的现有块中创建额外的块。 从v0.16.0版本开始,RAGFlow支持在知识库上构建知识图谱,允许你在知识库…

机器学习【二】KNN

KNN算法是一种基于实例的惰性学习算法,其核心思想是通过"多数投票"机制进行分类决策。算法流程包括数据准备(需归一化处理)、距离计算(常用欧氏距离)、选择K值(通过交叉验证确定)和决…