一种基于目标表面点高度和不确定性的单目深度估计方法

未命名 10-09 阅读:131 评论:0


1.本发明涉及计算机技术领域的深度学习单目3d目标检测领域,具体来说是一种基于目标表面点高度和不确定性的单目深度估计方法。


背景技术:

2.单目三维目标检测是自动驾驶和机器人导航领域的一项基础性工作。随着深度神经网络的快速发展,二维目标检测取得了令人满意的性能。由于三维物体检测需要预测物体在三维空间中的位置、大小和方向,因此难度更大,更具挑战性。
3.最近提出的基于激光雷达的三维目标检测方法由于深度估计准确而取得了良好的性能,但对于自动驾驶车辆来说,这种方法成本高且计算量大。单目方法具有经济、轻便等优点,越来越受到计算机视觉界的重视。由于缺乏深度信息,基于图像的单目方法与基于激光雷达的方法之间仍然存在着巨大的差距。
4.从图像中直接预测实例深度是一个病态问题。近年来,有一些工作是基于几何投影进行深度估计。例如,monorcnn和gupnet分别对二维和三维包围框的高度进行回归,然后通过投影约束方程推断实例深度。由于观测角度和物体位置的影响,二维包围框高度很难代表物理高度的投影,而物理高度应该是测量物体顶部到下方地面的距离。另外,这种方法只估计单个实例深度,可能不可靠。
5.一些工作预测3d包围框的八个角(关键点),并使用已知的物理高度生成深度候选对象。然而,3d框的角通常不是物体上的物理点,其中一些可能被遮挡,另一些可能属于背景,而预测的高度误差会传播到最终实例深度,导致深度估计误差放大。


技术实现要素:

6.本发明的目的在于以gupnet为基础架构,估计目标表面采样点的物理高度和像素高度,实现高精度的深度估计,提供一种基于目标表面点高度和不确定性的单目深度估计方法,该方法在3d目标检测数据集kitti上达到单目方法中最高的检测效果。
7.为了实现上述目的,其具体技术方案是:
8.一种基于目标表面点高度和不确定性的单目深度估计方法,该方法包括如下步骤:
9.步骤1:训练阶段,将道路交通场景的图像中的每个目标即汽车、行人和骑行者分解为n*n个表面采样点,对表面采样点的物理高度和像素高度进行建模,利用相机参数和投影变换计算两种高度的真实值,作为训练时的真实标签;
10.步骤2:推理阶段,输入的图像经过主干网络提取特征之后连接多检测头来预测每个表面采样点的物理高度和像素高度以及所述两高度对应的拉普拉斯不确定性,并预测每一个表面采样点到目标3d中心的距离,对于每一对物理高度和像素高度,利用相机针孔模型计算出一个候选表面深度值以及此深度值对应的不确定性;
11.步骤3:将表面采样点的深度与表面点到目标3d中心的距离相加之后得到n*n个实
例深度候选值;
12.步骤4:根据每个表面采样点实例深度的不确定性将深度候选值加权组合为最终的实例深度;
13.步骤5:利用kitti训练集提供的3d包围框真实标签以及步骤1生成的真实标签对网络进行训练;训练完后,在kitti测试集上进行性能测试。
14.步骤1所述表面采样点的物理高度和像素高度,是指相机坐标系下表面点到底面的距离h
3d
和h
3d
在图像中的投影像素高度h
2d
;具体计算如下:
15.a1:将雷达点云投影到图像平面,得到像素级的深度图,利用roi-align获取n*n个表面采样点的像素坐标以及对应深度的标签;
16.a2:用相机内参将表面点重投影到3d空间中:
[0017][0018]
其中,(u
sur
,v
sur
)表示表面采样点的像素坐标,(cu,cv)表示图像中心的像素坐标,(f
x
,fy)分别表示相机的水平焦距和垂直焦距,(x
sur
,y
sur
,z
sur
)表示表面点在3d空间中的坐标;
[0019]
a3:将目标3d包围框的底面中心点的y坐标与表面点在3d空间中的y坐标相减得到物理高度的真实标签
[0020][0021]
a4:利用相机透视几何模型将投影到图像平面得到像素高度的真实标签
[0022][0023]
其中,f表示相机焦距。
[0024]
步骤2所述根据预测的物理高度h
3d
和像素高度h
2d
计算出一个候选表面深度值,具体为:
[0025][0026]
其中,f表示相机焦距。
[0027]
步骤3所述的n*n个实例深度候选值,其每个表面采样点对应的实例深度由表面点的深度和表面点到目标3d中心的距离相加得到:
[0028]zgeo
=z
sur
+δzꢀꢀꢀꢀ
(5)
[0029]
其中,δz表示表面点到目标3d中心的距离。
[0030]
步骤4所述将深度候选值加权组合为最终的实例深度,具体为:
[0031][0032]
其中,表示2d包围框中n*n个表面采样点中位置为(i,j)的表面采样点的实例深度,i为横坐标,j为纵坐标;ω
ij
表示该表面采样点实例深度的权重,z
ins
表示最终的实例深度。
[0033]
本发明同现有技术相比,其优点在于:本发明以gupnet为基础框架,根据表面采样点的物理高度和像素高度推理出的深度候选值精度相对于传统的相机针孔模型方法更准
确和可靠,并且保持着满足实时要求的推理速度。具体表现为:
[0034]
1)本发明预测出的表面采样点的物理高度和像素高度不受观测角和目标车身长度的影响,误差较小,推理出的实例深度更为可靠。本发明在3d目标检测数据集kitti中取得最好的3d检测和bev检测效果。
[0035]
2)传统的基于相机针孔模型的方法只预测实例级别的深度,深度候选值较少,本发明对于单个目标生成n*n个深度候选值,当某些表面采样点被遮挡或者截断时,剩余的可见点仍然可以推理出可靠的深度值。
[0036]
3)建模表面采样点高度的同时能够感知目标的三维轮廓特征,因此本发明在kitti数据集中的3d检测结果比bev检测结果提升更明显。
[0037]
4)本发明在nvidia gpu 3090卡上单帧图像的推理时间是40ms,远远超越单目3d检测的一些方法。
附图说明
[0038]
图1为本发明的单目深度估计示意图;
[0039]
图2为本发明流程图;
[0040]
图3-4为本发明实施例场景图。
具体实施方式
[0041]
下面结合附图对本发明作进一步说明,本发明的过程和原理对本专业的人来说是非常清楚的。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]
本发明提出一种基于目标表面点高度和不确定性的单目深度估计方法(shud),该方法对目标表面采样点的物理高度和投影的像素高度进行建模和预测,建立在深度神经网络模型上,以gupnet网络为基础架构,得到了优秀的测试性能。
[0043]
本发明包括如下步骤:
[0044]
步骤1:训练阶段,将道路交通场景的图像中的每个目标即汽车、行人和骑行者分解为n*n个表面采样点,对表面采样点的物理高度和像素高度进行建模,利用相机参数和投影变换计算两种高度的真实值,作为训练时的真实标签;
[0045]
步骤2:推理阶段,输入的图像经过主干网络提取特征之后连接多检测头来预测每个表面采样点的物理高度和像素高度以及它们的拉普拉斯不确定性,并预测每一个表面采样点到目标3d中心的距离,对于每一对物理高度和像素高度,利用相机针孔模型计算出一个候选表面深度值以及此深度值对应的不确定性;
[0046]
步骤3:将表面采样点的深度与表面点到目标3d中心的距离相加之后得到n*n个实例深度候选值;
[0047]
步骤4:根据每个表面采样点实例深度的不确定性将深度候选值加权组合为最终的实例深度;
[0048]
步骤5:利用kitti训练集提供的3d包围框真实标签以及步骤1生成的真实标签对网络进行训练;训练完后,在kitti测试集上进行性能测试。
[0049]
实施例
[0050]
1、构建网络基础架构
[0051]
如图2所示,搭建gupnet网络结构,采用roi-align将检测到的2d包围框分为n*n个网格,每个网格的中心代表一个表面采样点,利用检测头预测每一个表面采样点的高度信息以及对应的不确定性。
[0052]
2、推理表面深度
[0053]
如图1所示,由一组目标表面点的物理高度和像素高度估计目标深度;将每个表面采样点回归的物理高度和像素高度利用相机针孔模型计算出n*n个候选表面深度值。
[0054]
3.推理候选实例深度
[0055]
将网络预测的表面采样点到目标3d中心的距离与表面采样点的深度相加,得到n*n个候选实例深度。
[0056]
4.推理最终的实例深度
[0057]
根据每个候选实例深度的不确定性将它们加权组合为最终的单一实例深度。
[0058]
5、训练深度卷积神经网络。
[0059]
6、训练完毕后进行测试。
[0060]
模型训练完毕,固定模型参数,在测试集上进行验证得到测试结果。
[0061]
以下是训练过程的具体实施例。在这个实施例中用于训练的图像数据集为kitti。
[0062]
i)输入图3所示图像,该图像中包含一辆汽车,检测到的2d包围框,如图4所示;
[0063]
ii)设置表面点采样率为5*5。如图2所示,输入的图像经过主干网络提取特征之后连接多检测头来预测每个表面采样点的物理高度和像素高度以及它们的拉普拉斯不确定性,并预测每一个表面采样点到目标3d中心的距离,对于每一对物理高度和像素高度,利用相机针孔模型计算出一个候选表面深度值以及此深度值对应的不确定性;
[0064]
iii)将表面采样点的深度与表面点到目标3d中心的距离相加之后得到5*5个实例深度候选值;
[0065]
iv)根据每个表面采样点实例深度的不确定性将深度候选值加权组合为此汽车最终的实例深度;
[0066]
v)最后使用拉普拉斯不确定性损失函数对输出结果与kitti数据集提供的3d包围框真实标签之间计算的loss进行梯度回传,更新网络的参数。训练完后,在测试集合上面进行性能测试。
[0067]
1、在包含汽车、行人和骑行者三种类别的kitti子训练集进行训练,设置不同的表面点采样率,训练完后验证集上的实验结果对比如下表1。
[0068]
表1不同表面点采样率的模型性能对比
[0069][0070]
2、在包含三种类别的kitti完整训练集中进行训练,训练完后在测试集上car的实验结果对比如下表2。
[0071]
表2不同单目3d目标检测器性能对比
[0072]
[0073]

技术特征:
1.一种基于目标表面点高度和不确定性的单目深度估计方法,其特征在于,该方法包括如下步骤:步骤1:训练阶段,将道路交通场景的图像中的每个目标即汽车、行人和骑行者分解为n*n个表面采样点,对表面采样点的物理高度和像素高度进行建模,利用相机参数和投影变换计算两种高度的真实值,作为训练时的真实标签;步骤2:推理阶段,输入的图像经过主干网络提取特征之后连接多检测头来预测每个表面采样点的物理高度和像素高度以及所述两高度对应的拉普拉斯不确定性,并预测每一个表面采样点到目标3d中心的距离,对于每一对物理高度和像素高度,利用相机针孔模型计算出一个候选表面深度值以及此深度值对应的不确定性;步骤3:将表面采样点的深度与表面点到目标3d中心的距离相加之后得到n*n个实例深度候选值;步骤4:根据每个表面采样点实例深度的不确定性将深度候选值加权组合为最终的实例深度;步骤5:利用kitti训练集提供的3d包围框真实标签以及步骤1生成的真实标签对网络进行训练;训练完后,在kitti测试集上进行性能测试。2.如权利要求1所述的基于目标表面点高度和不确定性的单目深度估计方法,其特征在于,步骤1所述表面采样点的物理高度和像素高度,是指相机坐标系下表面点到底面的距离h
3d
和h
3d
在图像中的投影像素高度h
2d
;具体计算如下:a1:将雷达点云投影到图像平面,得到像素级的深度图,利用roi-a1ign获取n*n个表面采样点的像素坐标以及对应深度的标签;a2:用相机内参将表面点重投影到3d空间中:其中,(u
sur
,v
sur
)表示表面采样点的像素坐标,(c
u
,c
v
)表示图像中心的像素坐标,(f
x
,f
y
)分别表示相机的水平焦距和垂直焦距,(x
sur
,y
sur
,z
sur
)表示表面点在3d空间中的坐标;a3:将目标3d包围框的底面中心点的y坐标与表面点在3d空间中的y坐标相减得到物理高度的真实标签高度的真实标签a4:利用相机透视几何模型将投影到图像平面得到像素高度的真实标签a4:利用相机透视几何模型将投影到图像平面得到像素高度的真实标签其中,f表示相机焦距。3.如权利要求1所述的基于目标表面点高度和不确定性的单目深度估计方法,其特征在于,步骤2所述根据预测的物理高度h
3d
和像素高度h
2d
计算出一个候选表面深度值,具体为:其中,f表示相机焦距。4.如权利要求1所述的基于目标表面点高度和不确定性的单目深度估计方法,其特征
在于,步骤3所述的n*n个实例深度候选值,其每个表面采样点对应的实例深度由表面点的深度和表面点到目标3d中心的距离相加得到:z
geo
=z
sur

z
ꢀꢀꢀ
(5)其中,δ
z
表示表面点到目标3d中心的距离。5.如权利要求1所述的基于目标表面点高度和不确定性的单目深度估计方法,其特征在于,步骤4所述将深度候选值加权组合为最终的实例深度,具体为:其中,表示2d包围框中n*n个表面采样点中位置为(i,j)的表面采样点的实例深度,i为横坐标,j为纵坐标;ω
ij
表示该表面采样点实例深度的权重,z
ins
表示最终的实例深度。

技术总结
本发明公开了一种基于目标表面点高度和不确定性的单目深度估计方法,提出用物体表面点的物理高度和投影高度来代替物体本身的高度,从而得到多个深度候选值。此外,估计高度的不确定性,并用直接回归的深度代替高不确定性的推断实例深度。根据不确定度,将这些深度预测结合起来,得到最终目标深度。本发明在KITTI数据集上取得了最好的性能表现,并且推理时间满足自动驾驶实时性的要求。满足自动驾驶实时性的要求。满足自动驾驶实时性的要求。


技术研发人员:吉银帅 续晋华 孙仕亮
受保护的技术使用者:华东师范大学
技术研发日:2023.06.14
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐