【论文解读】单目3D目标检测 MonoFlex(CVPR 2021)

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

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

image.gif


一、MonoFlex 简介

MonoFlex是一种端到端单阶段的单目3D目标检测方法,它基于CenterNet框架结合几何约束,回归方式输出3D框信息。

它优化了被截断物体的3D检测,同时优化了中心点的深度估计,检测速度也比较快。

开源地址:https://github.com/zhangyp15/MonoFlex

论文地址:Objects are Different: Flexible Monocular 3D Object Detection


二、论文核心观点

论文核心观点,主要有3点组成:

    • 1、有截断的物体正常的物体分开处理,提出了截断目标预测的解耦方法。主要体现在:截断的中心点选取差异。
    • 2、深度估计中同时考虑:关键点估计的几何深度直接回归深度,然后两者做加权结合。
    • 3、边缘特征提取和融合,单独把边沿的像素拿出来做注意力特征提取,提高offset和heat map的精度。


    三、模型框架

    MonoFlex是一个单阶段的框架,实现单目3d检测的模型结构如下:

    Backbone:DLA34

    Neck:FPN

    Head:由四部分组成

    第一部分,预测2D框中心点。

      • 通过输出heatmap,预测所有类别的中心点(默认类别为3)。
      • 这部分加入了Edge Fusion,增强边缘的中心点预测。

      第二部分,预测中心点的偏差。

        • 对于正常物体,预测2D框中心点与3D框投影坐标之间的偏差。
        • 对于截断物体,预测2D框中心,和3D框中心投影点与图像边沿之间交点的偏差。(下面详细讲)

        第三部分,预测常规的信息。

          • 2D框宽高。
          • 3D方向。
          • 3D尺寸。

          第四部分,预测深度信息。

            • 深度信息1:模型直接归回的深度信息。
            • 深度信息2:通过关键点和几何约束,计算出来的深度信息。估计一共10个关键点:3D框8个顶点和上框面、下框面在图片中的投影到x_r的offset;然后通过相机模型计算深度。
            • 深度信息融合,把几何深度直接回归深度,然后两者做加权结合。

            模型结构如下图所示:

            image.gif


            补充一下Edge Fusion模块:

            为了提高截断物体的中心点检测,提出了边缘特征提取和融合,单独把边沿的像素拿出来做注意力特征提取,提高offset和heat map的精度。

              • 模块首先提取特征映射的四个边界,将其连接到边缘特征向量中。
              • 然后由两个1*1 conv处理,以学习截断对象的唯一特征。
              • 最后,将处理的向量重新映射到四个边界,并添加到输入特征图。

              在热图预测中,边缘特征可以专门用于预测外部对象的边缘热图,从而使内部对象的位置不被混淆。




              四、损失函数

              MonoFlex 的损失由6部分组成:

                • 2D框中心点损失,通过输出heatmap,预测所有类别的中心点;使用 Focal Loss 函数。
                • 2D框尺寸损失,使用 L1 Loss 函数。
                • 3D框中心点与2D框中心点的偏差损失,使用 L1 Loss 函数。
                • 3D朝向角损失,使用MultiBin 函数。
                • 3D尺寸损失,使用 L1 Loss 函数。
                • 深度信息损失,包括直接回归损失和关键点损失。

                补充一下heatmap的损失,它是采用带惩罚因子的Facal Loss。

                image.gif

                偏差损失计算公式:

                image.gif

                关键带你采用L1 loss进行回归:

                image.gif



                五、核心观点——截断的物体正常的物体分开处理

                预测3D框中心点的偏差中早期是使用2D框中心,作为3D框在图像的中心;直接预测2D框中心点的偏差

                现有的大部分单目3D检测方法是预测2D框中心点与3D框投影坐标之间的偏差。原理可以看MonoDLE

                作者做了实验,分析截断的物体正常的物体的中心点偏差分布。根据物体的投影3D中心在图像内部还是外部,将物体分为两组,内部对象(Inside Objects)和外部对象(Outside Objects)在从2D中心到投影3D中心过程中,呈现完全不同的偏差分布。

                image.gif

                考虑到两组偏移量相差大,联合学习会产生长尾偏移,因此作者将内外对象的表示和偏移学习进行解耦。

                于是在MonoFlex提出了:有截断的物体和正常的物体要分开处理。主要体现在:截断的中心点选取差异。

                下面分析中心点选取的差异:

                  • 对于正常物体,预测2D框中心点与3D框投影坐标之间的偏差。
                  • 对于截断物体,预测2D框中心,和3D框中心投影点与图像边沿之间交点的偏差。

                  下面图中,Xb是2D框中心、Xc是3D框投影在图像中的中心、Xl是预测2D框中心和3D框中心投影点,在图像边沿之间交点。

                  正常物体,预测3D框中心偏差时,使用Xc与Xb之间的距离作为标签。即:δc=Xc−Xb。

                  截断物体,预测3D框中心偏差时,使用Xl与Xb之间的距离作为标签。

                  image.gif

                  image.gif

                  上图右侧看一下截断物体,中心点在图像边缘的heatmap情况。

                  为了提高截断物体的中心点检测,提出了边缘特征提取和融合,单独把边沿的像素拿出来做注意力特征提取,提高offset和heat map的精度。

                  下面是对比图像边沿交点Xl(浅蓝色),与2D框中心Xb(绿色)

                  image.gifimage.gif

                  下面是是对比实验:

                  image.gif



                  六、核心观点——深度估计同时考虑几何深度直接回归深度

                  在深度估计中,同时考虑关键点估计的几何深度直接回归深度,然后两者做加权结合。

                  一、直接回归深度

                  image.gif


                  关键点估计的几何深度

                  采取10个关键点:8个顶点+1个顶面中心+1个底面中心。通过10个关键点和相机投影模型,可以计算出深度信息z。

                  image.gif

                  使用目标的2D高度和3D高度之间的相对比例来计算目标深度,投影公式:

                  image.gif编辑

                  从高度求解深度不仅与orientation估计无关,而且受dimension估计误差的影响较小。

                  即:3D 边界框支撑线的深度可以通过对象高度和线的像素高度来计算。将十个关键点分为三组,每组都可以独立产生中心深度。

                  image.gif


                  【三、深度信息加权合并】

                  利用M+1个深度估计值和不确定性,进行加权求解平均值:

                  image.gif

                  该方式可以为那些高置信度的估计器分配更高的权重,同时对潜在的不准确具有鲁棒性。



                  七、实验对比与模型效果

                  在KITTI 验证/测试集上的实验,选择Car类别。模型精度高,实时性好。


                  模型检测效果:

                  image.gif

                  在截断物体的检测效果:

                  image.gif



                  分享完成~

                  相关文章
                  |
                  机器学习/深度学习 算法 PyTorch
                  论文阅读笔记 | 目标检测算法——DETR
                  论文阅读笔记 | 目标检测算法——DETR
                  888 0
                  论文阅读笔记 | 目标检测算法——DETR
                  |
                  机器学习/深度学习 编解码 算法
                  【论文理解】ICCV2021-视频中小目标检测Dogfight
                  论文地址:https://arxiv.org/abs/2108.02092目标:在无人机飞行过程中捕获的背景杂乱的画面中检测其他无人机挑战:任意的移动(相机移动,目标也移动)小尺寸,只占画面像素的0.05%~0.07%(PASCAL VOC (22.62%) and ImageNet (19.94%))形状变换(拍摄角度不同,拍摄的无人机形状不同)遮挡基于region-proposal的方法无法捕
                  |
                  12月前
                  |
                  传感器 计算机视觉
                  【论文解读】单目3D目标检测 DD3D(ICCV 2021)
                  本文分享单目3D目标检测,DD3D 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
                  525 1
                  |
                  12月前
                  |
                  机器学习/深度学习 数据可视化 计算机视觉
                  【论文解读】单目3D目标检测 CUPNet(ICCV 2021)
                  本文分享单目3D目标检测,CUPNet 模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
                  131 0
                  |
                  12月前
                  |
                  算法 自动驾驶 数据挖掘
                  【论文解读】单目3D目标检测 LPCG(ECCV 2022)
                  本文分享单目3D目标检测,LPCG模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
                  247 0
                  |
                  12月前
                  |
                  数据可视化 计算机视觉 异构计算
                  【论文解读】单目3D目标检测 MonoCon(AAAI2022)
                  本文分享单目3D目标检测,MonoCon模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
                  344 0
                  |
                  12月前
                  |
                  数据可视化 计算机视觉
                  【论文解读】单目3D目标检测 MonoDLE(CVPR2021)
                  本文分享单目3D目标检测,MonoDLE模型的论文解读,了解它的设计思路,论文核心观点,模型结构,以及效果和性能。
                  346 0
                  |
                  12月前
                  |
                  机器学习/深度学习 自动驾驶 定位技术
                  【论文解读】SMOKE 单目相机 3D目标检测(CVPR2020)
                   SMOKE是一种用于自动驾驶的实时单目 3D 物体检测器。为什么会注意这边文章呢?是因为这两天发布的百度Apollo 7.0 的摄像头障碍物感知,也是基于这个模型改进的;于是令我产生了一些兴趣。
                  437 0
                  |
                  机器学习/深度学习 编解码 算法
                  CVPR 2023 | IGEV-Stereo & IGEV-MVS:双目立体匹配网络新SOTA!
                  CVPR 2023 | IGEV-Stereo & IGEV-MVS:双目立体匹配网络新SOTA!
                  754 0
                  |
                  算法 API 计算机视觉
                  【OpenVI—论文解读系列】榜首模型人脸检测MogFace CVPR论文深入解读
                  人脸检测算法是在一幅图片或者视频序列中检测出来人脸的位置,给出人脸的具体坐标,一般是矩形坐标。
                  357 0