【论文解读】单目3D目标检测 MonoDLE(CVPR2021)

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 本文分享单目3D目标检测,MonoDLE模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。

 本文分享单目3D目标检测,MonoDLE模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。

image.gif



 一、MonoDLE简介

MonoDLE作为一个延续CenterNet框架的单目3d检测器,在不依赖dcn的情况下获得了较好的性能,可以作为baseline。

MonoDLE和SMOKE有些像,都是单目实现3D目标检测,通过几何约束和回归3D框信息,得到3D框的中心点、尺寸、朝向,但是它反驳了SMOKE提出的2D检测对3D检测没有帮助的论点。

开源地址:https://github.com/xinzhuma/monodle

论文地址:【CVPR2021】Delving into Localization Errors for Monocular 3D Object Detection


二、论文核心观点

论文核心观点,主要包括为三点:

    1. 2d box中心点与投影下来的3d box中心点,存在不可忽视的差异优先使用3d box投影下来的中心点
    2. 较远目标,会带偏模型训练在训练时,可以过滤这些过远的物体标签
    3. 提出了一种面向 3D IoU 的损失,用于对象的大小估计,不受“定位误差”的影响。


    三、模型框架

    MonoDLE是基于CenterNet框架,实现单目3d检测的。模型结构如下:

    Backbone:DLA34

    Neck:DLAUp

    2D 框检测:3个分支

      • 分支一 通过输出heatmap,预测2D框中心点的粗略坐标,以及类别分数。(CenterNet用的是标签中2D框中心作为GT值来监督,MonoDLE采用了3D投影坐标作为粗坐标的监督
      • 分支二 预测的2D框中心点粗坐标与真实坐标之间的偏移。
      • 分支三 预测2D框的size。

      3D Detection:4个分支

        • 分支一 预测2D框中心点粗坐标的深度值。
        • 分支二 预测2D框中心点粗坐标与真实的3D投影坐标之间的偏移。
        • 分支三 预测3D框的size。
        • 分支四 预测偏航角。

        模型结构如下图所示:

        image.gif



        四、模型预测信息与3D框联系

        3D框相关的信息

        1、3D中心点坐标(cw, yw, zw):通过预测3D中心在像素坐标系下的坐标,结合相机内参可以获得中心点在图像物理坐标系下的坐标(x,y,z)。再结合预测深度zw,获得zw/z的比例系数,就能求出xw,yw。由此可见,深度估计对整体定位精度的影响还是很大的。

        2、深度估计:基于端到端的思路实现;同时在输出上做了一个不确定性建模,在预测深度d的基础上同时预测标准差σ。对于σ的分布,文中做了拉普拉斯分布和高斯分布,起到一定优化作用。

        3、尺寸估计:以往的尺寸估计,应用的损失函数都是通过计算和真值框之间的交并比来约束尺寸。这样带来的问题就是,由于中心点的预测误差导致的损失偏大,会给尺寸估计带来不必要的负担。所以作者提出了尺寸估计并专门设计了损失函数,只针对尺寸的预测误差对这个分支进行优化。并且根据长宽高对于IOU影响的比例不同,对参数优化的权重也按比例进行了设置。

        4、航向角估计:用的是multi-bin loss。

        模型预测信息,如下图所示:

        image.gif


        五、损失函数

        MonoDLE的损失由7部分组成,

          • 分类损失:Focal Loss
          • 2D 中心点损失:L1 Loss
          • 2D size损失:L1 Loss
          • 3D 深度估计损失:
          • 3D 中心点损失:L1 Loss
          • 3D heading angle:multi-bin Loss
          • 3D size:普通的L1 Loss & MonoDLE提出的 IoU Loss



          六、核心内容——3D框中心点偏差分析

          作者做了实验,分析3D框中心点偏差,以CenterNet作为baseline ,它是使用2D框的中心点,作为3D框在图像中的坐标,进行指导训练。AP只有9.97。

            • 当使用3D投影坐标作为图像中坐标的监督时,AP有16.54。
            • 当把模型预测的深度值,替换为真实的深度,AP有35.11。
            • 当把模型输出的3D中心坐标,替换为激光雷达的真实3D中心坐标,AP有72.36。

            image.gif

            由此可以知道影响单目相机做3D目标检测的主要原因:深度3D中心点偏差。同时使用3D投影的中心坐标,有助于估计粗略的中心感知 3D 几何信息,提高模型精度。

            由此分析问题得到的结论:

            • 2D框中心与3D对象的投影中心之间的偏差,证实了保持2D检测相关分支的必要性,通过这种方式,2D 检测被用作相关的辅助任务来帮助学习与 3D 检测共享的特征,这与SMOKE中丢弃 2D 检测的现有工作不同。
            • 观察到检测精度随着距离的增加而显著下降,认为由于不可避免的定位错误,几乎不可能使用现有技术准确地检测远距离对象,为此,提出了两种方案:从训练集中去除远距离样本,以及降低了这些样本的训练损失权重。
            • 以往的尺寸估计,应用的损失函数都是通过计算和真值框之间的交并比来约束尺寸。这样带来的问题就是,由于中心点的预测误差导致的损失偏大,会给尺寸估计带来不必要的负担。所以作者提出了尺寸估计并专门设计了损失函数,只针对尺寸的预测误差对这个分支进行优化。并且根据长宽高对于IOU影响的比例不同,对参数优化的权重也按比例进行了设置。

            下面进一步分析:2D框中心与3D框的投影中心之间的偏差

            image.gif

            蓝色点是 2D框中心红色是3D框的投影中心,能明显看到偏差。


            看一下模型预测的heatmap,分别使用2D Center和3D 投影中心作为粗坐标监督的影响,可以看出使用3D 投影中心作为监督效果更好。

            • 第二行为2D Center监督下,网络输出粗坐标的特征可视化结果
            • 第三行为3D 投影中心监督下,网络输出粗坐标的特征可视化结果

            image.gif



            七、忽略远距离目标

            作者认为忽略远距离目标有助于提高3D目标检测的整体性能,为此提出了两个对应的方案:

            方案一 Hard coding:当样本的深度超过给定值,就直接舍弃,不会在训练阶段使用。

            image.gif

            方案二 Soft coding:距离越远,样本的权重值越小,c 和T分别为调整对称性和弯曲度中心的超参数,默认为c = 60 , T = 1。

            image.gif


            八、实验对比与模型效果

            在Kitti验证集做实验,评价指标为Car类别的AP40(BEV / 3D)

            • p 表示使用3D 投影中心作为粗中心坐标的监督
            • I 表示使用对3D size估计的IOU oriented optimization
            • s 表示忽略远距离目标

            image.gif

            模型预测效果:

            image.gif


            用蓝色、绿色和红色的方框来表示汽车、行人和骑自行车的人。激光雷达信号仅用于可视化。

            image.gif

            效果对比:M3D-RPN (left) and MonoDLE (right).

            image.gif



            分享完成~

            相关文章
            |
            机器学习/深度学习 算法 PyTorch
            论文阅读笔记 | 目标检测算法——DETR
            论文阅读笔记 | 目标检测算法——DETR
            992 0
            论文阅读笔记 | 目标检测算法——DETR
            |
            3月前
            |
            机器学习/深度学习 算法 数据挖掘
            CVPR2024 医学图像相关论文
            CVPR2024医学图像相关论文汇总,涵盖图像重建、超分、配准、分割、生成、分类、联邦学习、预训练模型、视觉-语言模型及计算病理等多个领域。包括多项创新技术,如QN-Mixer、PrPSeg、MAPSeg等,涉及多个开源项目和代码。持续更新中,欢迎关注。原始GIT地址:https://github.com/MedAIerHHL/CVPR-MIA
            237 0
            |
            8月前
            |
            机器学习/深度学习 人工智能 计算机视觉
            【CVPR小目标检测】- ISNet红外小目标检测
            【CVPR小目标检测】- ISNet红外小目标检测
            263 1
            |
            8月前
            |
            机器学习/深度学习 Shell 计算机视觉
            【论文精读】CVPR2021 - ReDet:一种用于航空目标检测的旋转等变检测器
            【论文精读】CVPR2021 - ReDet:一种用于航空目标检测的旋转等变检测器
            |
            8月前
            |
            机器学习/深度学习 数据可视化 计算机视觉
            【论文速递】CVPR2022 - 检测测器的局部和全局知识蒸馏
            【论文速递】CVPR2022 - 检测测器的局部和全局知识蒸馏
            |
            传感器 计算机视觉
            【论文解读】单目3D目标检测 DD3D(ICCV 2021)
            本文分享单目3D目标检测,DD3D 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
            738 1
            |
            8月前
            |
            机器学习/深度学习 数据挖掘 网络安全
            【论文速递】CVPR2022 - 用于半监督物体检测的尺度等效蒸馏
            【论文速递】CVPR2022 - 用于半监督物体检测的尺度等效蒸馏
            |
            机器学习/深度学习 编解码 算法
            论文阅读笔记 | 目标检测算法——DCN(可变形卷积网络)
            论文阅读笔记 | 目标检测算法——DCN(可变形卷积网络)
            798 0
            论文阅读笔记 | 目标检测算法——DCN(可变形卷积网络)
            |
            机器学习/深度学习 自动驾驶 定位技术
            【论文解读】SMOKE 单目相机 3D目标检测(CVPR2020)
             SMOKE是一种用于自动驾驶的实时单目 3D 物体检测器。为什么会注意这边文章呢?是因为这两天发布的百度Apollo 7.0 的摄像头障碍物感知,也是基于这个模型改进的;于是令我产生了一些兴趣。
            500 0
            |
            机器学习/深度学习 数据可视化 计算机视觉
            【论文解读】单目3D目标检测 CUPNet(ICCV 2021)
            本文分享单目3D目标检测,CUPNet 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
            161 0