【3D目标检测】Is Pseudo-Lidar needed for Monocular 3D Object detection?
创始人
2024-06-02 03:11:06
0

目录

  • 概述
  • 细节
    • 背景
    • 网络结构
    • 3D检测头
    • 损失函数
    • 深度预训练
    • 讨论

概述

【2021】【DD3D】
研究的问题:

  • 如何引入获得空间信息
  • 如何增强深度估计效果

解决的方法:

  • 密集深度估计子网络
  • 大规模数据集下的深度估计预训练

细节

背景

背景:基于伪点云的算法能够随着深度估计效果的提升而提升,比如在大规模数据集中预训练的深度估计网络能够很好的提升伪点云算法的效果,但是单目深度估计这个任务很困难。简单且端到端的3D检测器似乎更有前景,但他们无法受益于深度估计网络的预训练。因此作者提出了一个端到端且能够受益于深度预训练的网络。
本文方法与伪点云方法的流程比较:
在这里插入图片描述

单目3D目标检测的分类:

  • 将2D检测器的结果通过形状和场景几何等信息提升到3D空间
  • 利用2D/3D之间的几何一致性约束,将检测任务变为优化问题
  • 视图转换的方法,将图像转换为点云、鸟瞰图等

网络结构

主要分为两部分:特征提取网络和检测头。特征提取网络中提取多尺度特征,但每个尺度特征对应的检测头都是一样的,也就是分类头、2D检测头和3D检测头。
其中,分类头以及2D检测头和FCOS中的定义相同,关键是3D检测头。
在这里插入图片描述

3D检测头

任务:3D检测头负责预测3D边界框、稠密深度图以及置信度,总共12个参数
前四个参数(qw,qx,qy,qz)(q_w,q_x,q_y,q_z)(qw​,qx​,qy​,qz​)表示方向参数,作者这里预测3个方向,而不是平常的一个方向
两个深度参数zcz_czc​与zpz_pzp​,前者是目标的z坐标,只与目标对应的特征有关,后者是到目标表面的深度,与图像中每个像素都有关,通过zcz_czc​与zpz_pzp​可以计算得到真正的深度dcd_cdc​与dpd_pdp​,其中涉及到的参数都是已知的。可以发现计算p的过程中用到了相机内参(焦距),作者说这种设计使得网络是具有相机意识的,也就是不仅从输入图像中推断深度,还从像素大小推断深度,而这对于训练的稳定很有用。实践中,输入图像的尺寸改变之后,作者也会对内参矩阵进行变换,最终求的的深度图也会做上采样。(因为在作者的设计中,计算深度考虑到了像素)
在这里插入图片描述

位置参数(Δu,Δv)(\Delta u,\Delta v)(Δu,Δv),具体的位置计算如下:
在这里插入图片描述
尺寸参数(δW,δH,δD)(\delta W,\delta H,\delta D)(δW,δH,δD),具体的尺寸计算如下:
在这里插入图片描述
其中(W0,H0,D0)(W_0,H_0,D_0)(W0​,H0​,D0​)是数据集中各类别的平均尺寸

置信度参数β3D\beta_{3D}β3D​,具体的边界框置信度计算如下:
在这里插入图片描述
作者将边界框置信度乘上前面分类头的分类置信度,得到最终的置信度。

损失函数

主要是三个检测头的损失,包括2D检测损失,3D检测算是以及置信度损失
在这里插入图片描述
其中2D检测损失是与FCOS完全相同的,3D检测损失用的是Disentangling Monocular 3D Object Detection中提到的disentangled L1 loss作为回归损失,置信度损失用的是自监督损失,在这里插入图片描述

深度预训练

作者在深度估计任务下做预训练,能够使得网络得到更准确的空间信息。具体的过程是:DD3D中作者先用一组在COCO数据集上预训练的2D目标检测参数初始化了特征提取网络FPN,然后将深度估计网络放到DDAD15M数据集上预训练,然后在KITTI-3D中训练。

在深度预测数据集中做密集深度预测(数据集的gt就是点云投影得到的深度图),训练时采用的深度损失如下:
在这里插入图片描述
作者发现:

  • 使用FPN产生的多尺度特征,而不是单一尺度特征,进行预测会使训练更加稳定
  • 使用L1 loss、较大的batch-size以及尺寸输入会比在深度估计任务中常用的SILog loss效果好
  • 因为作者在设计深度参数的时候采用了相机内参,因此在做迁移的时候会更加有效

讨论

大规模深度预训练真的有用吗?去除COCO数据集的初始化参数会导致效果小幅下降,但是去掉DDAD 15M这个大数据集的预训练之后,效果显著下降。
在这里插入图片描述
深度预训练真的有用吗?作者分别使用2D检测和深度估计作为预训练,发现在深度估计数据集上预训练效果更好。
在这里插入图片描述
预训练数据集的大小?作者发现随着预训练数据集的增大,带来的提升也越来越大
在这里插入图片描述

伪点云方法中预训练的问题1——需要微调:
DD3D的训练中作者先用一组在COCO数据集上预训练的2D目标检测参数初始化了特征提取网络FPN,然后将深度估计网络放到DDAD15M数据集上预训练,然后在KITTI-3D中训练。
PL的训练,作者先DDAD15M数据集上预训练,然后在KITTI-depth上微调,最后KITTI-3D中训练。
原因是作者发现,没有KITTI-depth上的微调,会导致PL性能的大幅下降。差不多就是不进行微调的话,预训练就没用了(而DD3D则不需要微调)
在这里插入图片描述

伪点云方法中预训练的问题2——泛化性能相对较差:
在验证集上PL的方法会比DD3D好一些,但是测试集上PL的方法会比DD3D低很多

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...