尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

EmbodiedScan训练调优进阶:从基线AP 15.22到更高精度的5个实用技巧

EmbodiedScan训练调优进阶:从基线AP 15.22到更高精度的5个实用技巧 EmbodiedScan训练调优进阶从基线AP 15.22到更高精度的5个实用技巧【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScanEmbodiedScan训练调优是许多3D感知研究者绕不开的一课。作为 CVPR 2024 与 NeurIPS 2024 收录的多模态 3D 感知套件EmbodiedScan 官方给出的多视角 3D 检测基线在 AP0.25 上仅有15.22分AR 为 52.23可以说提升空间相当可观。本文不堆大段源码而是围绕数据增强、迁移学习、长尾优化、训练调度与推理调优五个方向为你梳理 5 个立即可上手的实用技巧帮助你把 EmbodiedScan 的检测精度从基线 AP 15.22 一步步推向更高水平。EmbodiedScan 是什么为什么值得调优EmbodiedScan 是一套面向具身智能的多模态、以自我为中心ego-centric的 3D 感知数据集与基准。它涵盖了 5000 次真实场景扫描、100 万张 RGB-D 视角图像、100 万条语言指令、16 万 个 3D 定向框类别多达 760并附带 80 类密集语义占用标注。官方配套的Embodied Perceptron基线框架可以同时处理 RGB-D 序列、点云与文本输入支持多视角 3D 检测、连续 3D 检测、多视角 3D 视觉定位和占用预测四大任务。由于官方重新划分了训练/验证集公开基准的分数与论文略有出入。以下是仓库中记录的核心基线成绩也是我们后面所有调优讨论的起点任务对应配置AP0.25AR0.25AP0.5多视角3D检测mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py15.2252.238.13连续3D检测cont-det3d_8xb1_embodiedscan-3d-284class-9dof.py17.8347.539.04多视角3D视觉定位mv-grounding_8xb12_embodiedscan-vg-9dof-full.py36.78-15.97拿到代码后只需在配置目录configs/下选定任务用tools/train.py即可启动训练。下面进入正题。技巧一用多视角数据增强让训练集“活”起来多视角数据的数据增强是提升 EmbodiedScan 泛化能力最直接的手段相关逻辑集中在embodiedscan/datasets/transforms/下的multiview.py与augmentation.py。多视角采样训练时通过MultiViewPipeline从每帧 RGB-D 视角反投影点云单帧采样约n_points // 10个点最后聚合为 10 万点输入让模型看到更完整的场景结构。随机翻转RandomFlip3D在鸟瞰平面做水平/垂直各 0.5 概率的翻转相当于把场景左右、前后“镜像”了一遍。全局变换GlobalRotScaleTrans提供 ±5° 旋转、0.9~1.1 缩放和 0.1 平移抖动模拟不同拍摄位置与尺度。小技巧如果你的 GPU 显存允许可以把训练视角数从 20 提高到 30 甚至 40。视角越多模型对遮挡和视角变化的鲁棒性越强代价只是训练速度变慢。技巧二从预训练权重出发让迁移学习事半功倍EmbodiedScan 的模型是典型的“2D 骨干 3D 稀疏骨干”双分支结构充分利用预训练权重能显著加速收敛、稳住早期 AP。2D 分支使用 ImageNet 预训练的 ResNet50init_cfg指向torchvision://resnet50并设置frozen_stages1、norm_evalTrue让低层特征保持稳定。3D 分支使用 MinkResNet-34见embodiedscan/models/backbones/mink_resnet.py负责体素化的稀疏特征提取。更妙的是任务之间的迁移官方在多视角 3D 视觉定位配置mv-grounding_8xb12_embodiedscan-vg-9dof-full.py中通过load_from直接加载 3D 检测任务的 checkpoint 作为初始化定位任务因此能站在更高起点上快速收敛。如果你要做定位任务强烈建议先训好检测模型再迁移。技巧三针对284类长尾分布精细化调优检测头EmbodiedScan 的检测任务有284 个类别其中大量是“椅子”“桌子”之外的罕见类别长尾效应非常明显。官方在mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py中做了两个关键设计类别分组通过classes_split(head_labels, common_labels, tail_labels)把 284 类划分为头部、常见、尾部三组方便你针对不同分组单独调整损失权重或采样策略。解耦框回归损失检测头FCAF3DHeadRotMat开启decouple_bbox_lossTrue将 9-DoF 框回归拆成 4 组decouple_groups4权重设为[0.2, 0.2, 0.2, 0.4]——把更多权重留给中心点、朝向等更难回归的部分。实践中你可以进一步对尾部类别做类别重加权或过采样缓解样本不足导致的漏检。分类损失默认使用 Focal Loss对类别不平衡本身就有不错的抵抗力。技巧四优化学习率与训练调度稳定提升AP训练稳定与否很大程度取决于优化器与学习率调度的搭配。基线默认训练 12 个 epoch配置非常轻量优化器AdamWlr0.001weight_decay0.0001并开启梯度裁剪clip_grad(max_norm10)防止训练震荡。调度MultiStepLR在 epoch 8 和 11 处各衰减一次gamma0.1即训练末期快速收敛到精细解。数据重复用RepeatDataset(times10)把训练集重复 10 遍配合每 epoch 的随机增强相当于变相扩充了数据量。在视觉定位任务中官方还采用了分组学习率text_encoder的学习率乘子设为 0冻结文本编码器decoder设为 0.1避免破坏预训练语言特征的稳定性。这个思路同样适用于其他多模态任务——先冻结再解冻是稳定提升 AP 的经典操作。技巧五推理阶段调优榨干模型最后一分精度训练结束后推理与评估配置同样藏着提分空间无需重新训练即可见效测试时多视角增强测试管线MultiViewPipeline的n_images从训练的 20 提高到50并设置orderedTrue按顺序采样更多视角场景覆盖更完整检测召回率通常会有明显提升。后处理参数test_cfg中nms_pre1000、iou_thr0.5、score_thr0.01。如果你发现漏检多可以适当降低score_thr如果误检多则适当调高。可视化排查仓库在embodiedscan/visualizer/提供了EmbodiedScanBaseVisualizer推理时可直接把 3D 检测框叠加到点云场景上用肉眼定位问题类别比盲调参数高效得多。跑测试只需一条命令python tools/test.py 配置路径 checkpoint路径非常方便做 A/B 对比。写在最后调优路线图总结从基线 AP 15.22 出发推荐的 EmbodiedScan 训练调优顺序是先检查数据增强与多视角采样是否充分技巧一再确认预训练权重是否加载正确技巧二随后针对 284 类长尾做检测头与损失调整技巧三接着微调学习率调度稳住收敛技巧四最后用测试时增强与后处理参数做收尾冲刺技巧五。每一步改动都可以用tools/test.py快速验证形成“改配置 → 训练 → 评估”的闭环。需要说明的是EmbodiedScan 的连续 3D 检测基线AP 17.83和多视角 3D 视觉定位AP 36.78同样适用上述思路尤其是迁移学习技巧在定位任务上收益极大。调优路上不妨多翻翻configs/下的官方配置和embodiedscan/源码很多隐藏参数本身就是最好的“调优导师”。祝你的 AP 一路高涨早日刷出新纪录【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表