CN115205654A - 一种新型基于关键点约束的单目视觉3d目标检测方法 - Google Patents

一种新型基于关键点约束的单目视觉3d目标检测方法 Download PDF

Info

Publication number
CN115205654A
CN115205654A CN202210846973.1A CN202210846973A CN115205654A CN 115205654 A CN115205654 A CN 115205654A CN 202210846973 A CN202210846973 A CN 202210846973A CN 115205654 A CN115205654 A CN 115205654A
Authority
CN
China
Prior art keywords
target
model
monocular
branch
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210846973.1A
Other languages
English (en)
Inventor
宗文豪
王潇
李聪聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Helmin Intelligent Technology Suzhou Co ltd
Original Assignee
Helmin Intelligent Technology Suzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Helmin Intelligent Technology Suzhou Co ltd filed Critical Helmin Intelligent Technology Suzhou Co ltd
Priority to CN202210846973.1A priority Critical patent/CN115205654A/zh
Publication of CN115205654A publication Critical patent/CN115205654A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种新型基于关键点约束的单目视觉3D目标检测方法,方法先对单目图像进行图像预处理和标签预处理;预处理后的单目图像通过卷积神经网络进行数字特征提取,并基于数字特征提取出针对网络分支任务的信息,生成模型的最终输出结果并进行解码,获取目标的中心点位置和长宽高属性;根据网络分支任务的信息设计损失函数,并在损失函数中增加预测的2D关键点与基于预测3D位置计算出的2D关键点之间的损失项l2d‑3d,对网络进行多分支协同训练和模型优化,获得训练好的3D目标检测模型;对模型进行格式转换和编译后,部署在AI运算设备中进行模型在线推理。本发明利用单目图像进行3D目标检测并且保持了较高的准确性和鲁棒性。

Description

一种新型基于关键点约束的单目视觉3D目标检测方法
技术领域
本发明涉及3D目标检测技术领域,尤其涉及一种基于关键点约束和多任务协同的单目视觉3D目标检测方法。
背景技术
3D目标检测技术对于自动驾驶感知任务有着重要的作用,其核心任务包括定位自动驾驶车辆周围的动态目标、估计目标类别和空间大小及朝向,如图2所示。然而,如何在保证安全的前提下节约成本依旧是一个暂时尚未完全解决的问题。在各类感知传感器中,单目视觉摄像头因其成本低,体积小,重量轻,成为了自动驾驶技术中最为广泛使用的一种传感器。但是,如何利用这种不具备深度信息的数据来进行3D目标检测并且保持较高的准确性和鲁棒性依旧是一个巨大的挑战。
现有的目标检测技术存在以下缺点:
1.现有技术选择的关键点并非最优,通常选择目标3D外接框的8个角点,这些角点并未落在目标主体像素上,无法有效表达目标特征。
2.现有技术的检测分支不充分,多个检测分支之间无法协同训练,模型难以学习到更准确的特征。
3.现有技术在融合几何约束时引入的后处理流程过于复杂,运算复杂度较高,算法的实时性和可行性较低。
发明内容
本发明的目的在于克服现有技术的不足,提供一种新型基于关键点约束的单目视觉3D目标检测方法,设计了以目标3D外接框6个面中心在图像平面投影点为2D关键点的预测分支任务,同时基于多个分支任务预测的结果设计损失函数,使该损失函数在训练过程中同时影响多个分支任务,从而实现多分支任务间的协同训练,提升了目标检测模型性能。此外,方法还设计了预测2D关键点与基于预测3D位置计算出2D关键点之间的损失,从而将2D关键点预测分支任务和其它分支任务协同训练,提升检测性能。
本发明的目的是通过以下技术方案来实现的:
一种新型基于关键点约束的单目视觉3D目标检测方法,包括以下步骤:
步骤一:数据预处理,利用单目相机采集单目图像,并对单目图像进行图像预处理和标签预处理;
步骤二:特征提取,构建卷积神经网络,将预处理后的单目图像通过卷积神经网络进行数字特征提取,并基于数字特征提取出针对网络分支任务的信息,生成模型的最终输出结果;
步骤三:目标信息解码,对模型的最终输出结果进行解码,获取目标的中心点位置和长宽高属性;
步骤四:损失函数计算,根据网络分支任务的信息设计损失函数,并在损失函数中增加预测的2D关键点与基于预测3D位置计算出的2D关键点之间的损失项l2d-3d,利用损失函数和预处理后的单目图像对卷积神经网络进行多任务分支协同训练和模型优化,获得训练好的3D目标检测模型;
步骤五:模型部署,将训练好的3D目标检测模型进行格式转换和编译后,部署在AI运算设备中进行模型在线推理。
具体的,所述步骤一中的图像预处理过程具体包括:对于单目相机采集的多个单目图像,先通过仿射变换将所有单目图像的形状统一转换为[W,H,3];然后将单目图像中每个像素的RGB值由[0,255]规范化到[0,1]之间;
具体的,所述步骤一中的标签预处理过程具体包括以下子步骤:
S11,2D中心点标签生成,首先初始化一个形状为[W/4,H/4,C]的全零矩阵H;然后计算单目图像中每个目标在4倍下采样后的浮点型坐标(kfj,yfj)和整型坐标(xij,yij);最后,按下式对全零矩阵H中的元素赋值:
Figure BDA0003733844100000021
其中,σj是该由目标2D框的长宽确定的标准差;按照上式对全零矩阵H赋值后,全零矩阵H中的峰值对应单目图像中目标中心点位置,获得单目图像中关于目标的2D中心点标签;
S12,2D中心点偏移标签生成,先初始化一个形状为[W/4,H/4,2]的全零矩阵O_2D;然后按下式对全零矩阵O_2D进行赋值:
O_2D(xij,yij,0)=xfj-xij
O_2D(xij,yij,1)=yfj-yij
赋值完成后,获得全零矩阵H中峰值对应的目标中心点位置与单目图像中目标真实中心点位置之间的偏移量,生成目标的2D中心点偏移标签;
S13,2D长宽标签生成,首先,初始化一个形状为[W/4,H/4,2]的全零矩阵S;然后按下式对矩阵S进行赋值生成2D长宽标签:
S(xij,yij,0)=wj
S(xij,yij,1)=hj
其中wj、hj分别代表每个目标的长和宽;
S14,3D中心点投影偏移标签生成,首先初始化一个形状为[W/4,H/4,2]的全零矩阵O_3D;然后,按下式对矩阵O_3D进行赋值生成3D中心点投影偏移标签:
O_3D(xij,yij,0)=dxj
O_3D(xij,yij,1)=dyj
其中dxj、dyj分别代表每个目标的3D中心点在单目图像中的投影与目标2D框中心点在x方向和y方向上的偏移;
S15,3D中心点深度标签生成,在单目图像中,通过3D框在像素坐标系下的维度信息与3D框在预测世界坐标系下的比例计算获得目标3D中心点的深度d;然后通过公式d0=1/σ(d)-1,将深度d转换为绝对深度d0,其中σ为Sigmoid函数;
S16,3D长宽高标签生成,根据单目图像中目标的三维长宽高信息,计算出三维长宽高信息相对于平均维数的比例;
S17,3D朝向标签生成,采用基于MultiBin的回归方式预测目标朝向相对于bin中心的残差;
S18,2D关键点标签生成,利用面中心点作为关键点,建立多任务学习网络,对每个目标生成6个关键点的标签;对于第i个3D目标框,假设其朝向为Ri(θ),3D坐标为
Figure BDA0003733844100000031
Figure BDA0003733844100000032
以及长宽高分别为Di=[li,wi,hi]T,目标6个面中心点的奇次坐标可以表示为:
Figure BDA0003733844100000033
Figure BDA0003733844100000034
Figure BDA0003733844100000035
根据目标绕3D坐标y轴变化的角度建立旋转矩阵R,R的表达式如下:
Figure BDA0003733844100000041
在给定相机内参矩阵K的情况下,将立方体面中心点投影到图像坐标系中后,由下式计算得出2D关键点的坐标
Figure BDA0003733844100000042
具体的,所述步骤二具体包括:
构建卷积神经网络,卷积神经网络包括主干网络和检测头分支,主干网络采用改进的DLA-34网络;检测头分支包括2D中心点分支
Figure BDA0003733844100000043
2D中心点偏移分支
Figure BDA0003733844100000044
2D长宽
Figure BDA0003733844100000045
3D中心点投影偏移
Figure BDA0003733844100000046
3D长宽高
Figure BDA0003733844100000047
3D朝向
Figure BDA0003733844100000048
3D中心点深度
Figure BDA0003733844100000049
和2D关键点偏移
Figure BDA00037338441000000410
将经过图像预处理和标签预处理的单目图像输入主干网络,提取出高度抽象的数字特征;检测头分支基于数字特征进一步提取出对应分支任务的信息,将检测头分支输出的8个张量作为卷积神经网络的最终输出结果。
具体的,所述步骤三具体包括:对检测头分支输出的8个张量进行解码,首先提取每个类别的预测的热力图的峰值,并保留前100个峰值;记
Figure BDA00037338441000000411
为被检测到的n个中心点集合
Figure BDA00037338441000000412
中属于类别c的中心点;其中,坐标
Figure BDA00037338441000000413
代表目标2D中心点的大致位置,通过坐标
Figure BDA00037338441000000414
同样能获取目标的长宽高属性。而对于检测头8个分支输出的8个张量,每个张量的前两维度都是w/4x h/4,第三个维度是属性信息。将坐标(x,y)带入前两维度后得到第三个维度的信息,即该分支给出的目标属性。使用该坐标依次索引其他张量结果可得到目标的其他属性。
具体的,所述步骤四具体包括:首先基于步骤二中提取出的8个网络分支信息设计对应的损失函数,损失函数包括2D中心点预测损失函数ln、2D中心点偏移预测损失函数l2Doff、2D长宽预测损失l2D、3D中心点投影偏移预测损失函数l3Doff、3D中心点深度预测损失函数ldep、3D长宽高预测损失l3D、3D朝向角预测损失函数lori和2D关键点预测损失函数lkp;然后在损失函数中增加基于预测3D位置计算出的2D关键点与预测的2D关键点之间的损失项l2d-3d;最后利用预处理后的单目图像对卷积神经网络进行多任务分支协同训练,同时在训练过程中利用损失函数对卷积神经网络的参数进行模型优化,将最终训练好的卷积神经网络作为3D目标检测模型。
具体的,所述步骤五具体包括:
模型格式转换,将3D目标检测模型格式转换为模型部署工具支持的模型格式;
模型编译,深度学习模型在这个阶段被编译成AI运算设备支持的格式,并使用具有代表性的校准图像对模型进行量化;
模型推理:在AI运算设备中加载和编译模型编译后生成的代码和数据文件,生成可执行程序并执行,实现模型在线推理。
本发明的有益效果:
1.本发明针对单目视觉3D目标检测设计了一种以目标3D外接框6个面中心在图像平面投影点为2D关键点的预测分支任务。
2.本发明设计了一种多任务协同的训练方法。基于多个分支任务预测的结果设计损失函数,使该损失函数在训练过程中同时影响多个分支任务,从而实现多分支任务间的协同训练,提升模型性能。
3.本发明针对单目视觉3D目标检测任务设计了一种多任务协同训练方法。设计了预测2D关键点与基于预测3D位置计算出2D关键点之间的损失,从而将2D关键点预测分支任务和其它分支任务协同训练,提升检测性能。
附图说明
图1是本发明的方法步骤流程图;
图2是单目视觉3D目标检测示例图;
图3是本发明的多任务协同的3D目标检测流程图;
图4是2D框中心点与3D框中心点差异示意图;
图5是目标2D关键点位置样例图;
图6是主干网络结构示意图。
具体实施方式
为了对本发明的技术特征、目的和有益效果有更加清楚的理解,现对本发明的技术方案精选以下详细说明。显然,所描述的实施案例是本发明一部分实施例,而不是全部实施例,不能理解为对本发明可实施范围的限定。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他所有实施例,都属于本发明的保护范围。
实施例一:
本实施例中,如图1所示,一种新型基于关键点约束的单目视觉3D目标检测方法,包括以下步骤:
步骤一:数据预处理,利用单目相机采集单目图像,并对单目图像进行图像预处理和标签预处理;
步骤二:特征提取,构建卷积神经网络,将预处理后的单目图像通过卷积神经网络进行数字特征提取,并基于数字特征提取出针对网络分支任务的信息,生成模型的最终输出结果;
步骤三:目标信息解码,对模型的最终输出结果进行解码,获取目标的中心点位置和长宽高属性;
步骤四:损失函数计算,根据网络分支任务的信息设计损失函数,并在损失函数中增加预测的2D关键点与基于预测3D位置计算出的2D关键点之间的损失项l2d-3d,利用损失函数和预处理后的单目图像对卷积神经网络进行多任务分支协同训练和模型优化,获得训练好的3D目标检测模型;
步骤五:模型部署,将训练好的3D目标检测模型进行格式转换和编译后,部署在AI运算设备中进行模型在线推理。
针对目前单目视觉3D目标检测存在缺陷问题,当前一种主流的,也是和本发明最接近的技术方案是CenterNet及其衍生算法。CenterNet的技术路线为:原始图像完成预处理后,经过主干网络进行特征提取。提取出的特征经由不同的检测分支直接或间接输出3D检测框的各种属性(也即目标类别,中心点坐标,长宽高以及朝向角)。
CenterNet的衍生算法认为需要深度神经网络和几何约束的结合来协同估计3D检测框的外观和空间相关信息。例如,RTM3D将3D检测框的8个角点视为关键点,然后在检测分支中进一步增加了关键点预测分支用于预测角点在图像中的2D坐标,最后利用几何约束条件,求解优化问题,得到最终的3D检测框。与yolo,ssd,faster_rcnn等依靠大量anchor的检测网络相比,CenterNet是一种anchor-free的目标检测网络,在速度和精度上都比较有优势。除了检测任务外,CenterNet还可以用于肢体识别或者3D目标检测等,因此CenterNet提出了三种backbone的网络结构,分别是Resnet-18,DLA-34和Hourglass-104。
本实施例中,如图3所示,方法的技术实现流程具体如下:
步骤一:数据预处理
输入图像预处理。对于任意形状的输入图像,为了保证最终的输出特征大小固定,通过仿射变换将其转换为统一形状[W,H,3]。此外,为了更好地特征学习,还需将每个像素的RGB值由[0,255]规范化到[0,1]之间。对于图像输入,可以采用单目相机时间序列上的多张图像、多个单目相机获取的多张图像或多个单目相机时间序列上的多张图像来进行目标检测。
标签预处理。由于现有大部分数据集的标注文件中的数据并不一定是网络需要直接预测的对象。以nuScenes数据集[4]为例,该数据集中对于每个目标,包含了其类别、中心点在世界坐标系中的坐标、长宽高、朝向以及2D框在像素坐标系下的坐标。然而,这些标签需要经过如下所述的预处理:
(1)2D中心点标签生成。首先,初始化一个形状为[W/4,H/4,C]的全零矩阵H。然后,计算每个目标在4倍下采样后的浮点型坐标(xfj,yfj),及整型坐标(xij,yij)。最后,按下式对矩阵中的元素赋值。
Figure BDA0003733844100000071
其中,σj是该由目标2D框的长宽确定的标准差。实际上,按照上式赋值后,矩阵H中的一个峰值即对应了一个目标中心点的大致位置。
(2)2D中心点偏移标签生成。由于矩阵H中的峰值实际上对应的是目标中心点位置取整后对应的坐标,与实际坐标存在一定误差。所以为了精确定位每个目标的位置,还需预测目标真实中心点位置与矩阵H中峰值距离之间的偏移。具体做法如下:首先,初始化一个形状为[W/4,H/4,2]的全零矩阵O_2D。然后,按下式对矩阵O_2D进行赋值。
O_2D(xij,yij,0)=xfj-xij
O_2D(xij,yij,1)=yfj-yij
(3)2D长宽标签生成。模型可以直接预测目标的长宽。首先,初始化一个形状为[W/4,H/4,2]的全零矩阵S。然后,按下式对矩阵S进行赋值。其中wj、hj分别代表每个目标的长和宽。
S(xij,yij,0)=wj
S(xij,yij,1)=hj
(4)3D中心点投影偏移标签生成。如图4所示,目标的2D中心点与3D中心点投影可能存在一定的偏移。
因此,为了准确估计3D中心点投影位置,可以通过估计其与2D中心点之间的偏移的方式。具体做法同上,首先初始化一个形状为[W/4,H/4,2]的全零矩阵O_3D。然后,按下式对矩阵O_3D进行赋值。其中dxj、dyj分别代表每个目标的3D中心点在图像中的投影与其2D框中心点在x方向和y方向上的偏移。
O_3D(xij,yij,0)=dxj
O_3D(xij,yij,1)=dyj
(5)3D中心点深度标签生成。为了计算目标的3D中心点在3D空间中的位置,还需要计算3D中心点的深度。在深度预测中,本发明基于不确定性的深度预测方法。首先,深度是可以通过3D框在像素坐标系下维度信息与其相应预测世界坐标系下的比例计算获得。考虑深度是一个标量,不容易回归,我们首先通过公式d0=1/σ(d)-1,将网络输出深度d变成绝对深度d0,其中σ为Sigmoid函数。
(6)3D长宽高标签生成。目标3维长,宽,高的信息也非常的重要,该分支的输出为
Figure BDA0003733844100000081
为更使得这里的维数回归更加稳定,我们不直接回归它维数具体的数值,而是将它们相对于平均维数的比例用于回归。
(7)3D朝向标签生成。本发明采用基于MultiBin的回归方式,具体来说,每个朝向区间被几个重叠的bin来表示。神经网络对每个bin赋予几个个标量用于判断汽车朝向是在哪个bin的朝向范围内,并且可以预测该朝向相对于bin中心的残差。这里,经过八个bin的回归之后,得到输出的大小为
Figure BDA0003733844100000082
(8)2D关键点标签生成。本发明提出利用面中心点作为关键点,建立多任务学习网络(全景驾驶感知网络YOLOP),也即在进行后续基于关键点预测的目标检测中需要用到关键点标签,所以在对每个目标生成6个关键点(对应每个立方体的6个面)的标签,如4所示。对于第i个3D目标框,假设其朝向为Ri(θ),3D坐标为
Figure BDA0003733844100000083
以及长宽高分别为Di=[li,wi,hi]T。因此,目标6个面中心点的奇次坐标可以表示为:
Figure BDA0003733844100000084
Figure BDA0003733844100000085
Figure BDA0003733844100000086
在自动驾驶中,我们通常将路面视为是平的,所以这里的旋转矩阵R的参数只考虑目标绕y轴变化的角度的一个,假设在上述第一步中收集到的参数‘rotation_y’为ry,则R的表达式可表示为如下:
Figure BDA0003733844100000087
在给定相机内参矩阵K的情况下,可以计算出立方体面中心点投影到图像坐标系中后2D关键点的坐标可由下式计算得出。
Figure BDA0003733844100000091
最终效果图如图5所示。
步骤二:特征提取
特征提取一共包括两个部分:主干网络以及检测头分支。主干网络负责将预处理后的图像通过卷积神经网络表示为高度抽象的数字特征;检测头分支则基于该特征进一步提取针对该分支任务的信息,生成模型的最终输出结果。如图6所示,主干网络采用改进的DLA-34主干网络进行处理。此外,也可以采用MLP,CNN,ResNet,Transformer等主干网络来提取图像的数字特征。
将W×H×3的RGB三通道图像I输入,输出的特征图像将获得四倍的下采样。为了利用关键点信息进行几何约束以及不确定性进行深度预测优化,下面这些信息将会利用深度神经网络来进行学习。
检测头分支一共包含8个分支,也即2D中心点分支
Figure BDA0003733844100000092
2D中心点偏移分支
Figure BDA0003733844100000093
2D长宽
Figure BDA0003733844100000094
3D中心点投影偏移
Figure BDA0003733844100000095
3D长宽高
Figure BDA0003733844100000096
3D朝向
Figure BDA0003733844100000097
3D中心点深度
Figure BDA0003733844100000098
2D关键点偏移
Figure BDA0003733844100000099
它们与预处理后的标签数据一一对应。
步骤三:后处理
该过程可以理解为步骤一中标签预处理的逆过程,其目的是将检测头输出的8个分支的张量解码为目标的中心点位置以及长宽高等属性。
2D中心点分支的输出张量是3个维度,前2个维度是w/4x h/4,是一张热力图,其中峰值表示目标中心位置;第3个维度是类别C(一共有C个类别);即2D中心点分支的输出张量一共是C张热力图,每张热力图代表属于这个类别的目标的中心位置分布,选择峰值作为该类别预测的目标的中心位置。首先提取每个类别的预测的热力图的峰值(也即其值大于其周围八个邻域的地方),并保留前100个峰值。记
Figure BDA00037338441000000910
为被检测到的n个中心点的集合
Figure BDA00037338441000000911
中类别c的部分,其坐标
Figure BDA00037338441000000912
代表了目标2D中心点的大致位置。通过该坐标同样能获取目标的其他属性。而对于检测头8个分支输出的8个张量,每个张量的前两维度都是w/4 x h/4,第三个维度是属性信息(即类别)。将坐标(x,y)带入前两维度后得到第三个维度的信息,即该分支给出的目标属性。使用该坐标依次索引其他张量结果可得到目标的其他属性。
步骤四:Loss计算(该步骤仅模型训练时发生)
基于上述多任务协同的3D目标检测神经网络(卷积神经网络)的分支信息,本发明涉及以下损失函数:2D中心点预测损失函数ln,2D中心点偏移预测损失函数l2Doff,2D长宽预测损失l2D,3D中心点投影偏移预测损失函数l3Doff,以及3D中心点深度预测损失函数ldep,3D长宽高预测损失l3D,3D朝向角预测损失函数lori,以及2D关键点预测损失函数lkp
此外,本发明增加了预测的2D关键点与基于预测3D位置计算出的2D关键点之间的损失项l2d-3d,这项损失的计算用到2D中心点预测、2D关键点预测、3D中心点深度预测、3D长宽高预测和3D朝向角预测的结果,因此这项损失会协同训练多个任务分支。通过这种多分支间的协同训练,能够有效的引入分支间约束,提升检测性能。此外,也可以采用3D关键点实现协同训练。
综上,这个多任务分支的3D目标检测的结果即如下所示:
L=wnln+w2Doffl2Doff+w2Dl2D+worilori+w3Dl3D+w3Doffl3Doff+wdepldep+wkplkp+w2d-3dl2d-3d
其中,ln与CenterNet中所用的focal loss一致,l2D所用的是深度指导的l-1loss,朝向角损失lori采用MultiBin loss,其余损失函数均采用L1-loss。
步骤五:模型部署
为了将模型应用于实际的场景中,还需要将训练好的模型部署在AI运算设备中。本发明以TI的TDA4VM平台为例说明模型部署流程。对一个经过训练后的模型进行部署包括三步:模型格式转换,模型编译和推理。
模型格式转换:根据模型部署工具支持的模型格式,例如Texas InstrumentsDeep Learning Runtime(TIDL-RT)部署工具仅支持onnx、caffe以及TensorFlow格式的模型,需提前将模型转换为支持的格式。
模型编译:深度学习模型在这个阶段被编译成AI运算设备支持的格式。这个阶段中还会使用具有代表性的校准图像对模型进行量化,减小模型运算量。
模型推理:模型编译后,生成代码和数据文件。这些文件可在AI运算设备中加载和编译,生成可执行程序。执行该程序即可实现模型在线推理。部署硬件可以采用NVIDIAXAVIERNX/AGX,NVIDIAORIN,RaspberryPI,Khadas VIM3/VIM4,华为Hi3559A,高通SA8155P/SA8195P/SA8295P等其他AI运算平台进行模型部署。
本实施例的方法具有以下优点:
1.本发明针对单目视觉3D目标检测设计了一种以目标3D外接框6个面中心在图像平面投影点为2D关键点的预测分支任务。
2.本发明设计了一种多任务协同的训练方法。基于多个分支任务预测的结果设计损失函数,使该损失函数在训练过程中同时影响多个分支任务,从而实现多分支任务间的协同训练,提升模型性能。
3.本发明针对单目视觉3D目标检测任务设计了一种多任务协同训练方法。设计了预测2D关键点与基于预测3D位置计算出2D关键点之间的损失,从而将2D关键点预测分支任务和其它分支任务协同训练,提升检测性能。
4.本发明设计了模型在实际AI运算设备上的部署方法。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。

Claims (7)

1.一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,包括以下步骤:
步骤一:数据预处理,利用单目相机采集单目图像,并对单目图像进行图像预处理和标签预处理;
步骤二:特征提取,构建卷积神经网络,将预处理后的单目图像通过卷积神经网络进行数字特征提取,并基于数字特征提取出针对网络分支任务的信息,生成模型的最终输出结果;
步骤三:目标信息解码,对模型的最终输出结果进行解码,获取目标的中心点位置和长宽高属性;
步骤四:损失函数计算,根据网络分支任务的信息设计损失函数,并在损失函数中增加预测的2D关键点与基于预测3D位置计算出的2D关键点之间的损失项l2d-3d,利用损失函数和预处理后的单目图像对卷积神经网络进行多任务分支协同训练和模型优化,获得训练好的3D目标检测模型;
步骤五:模型部署,将训练好的3D目标检测模型进行格式转换和编译后,部署在AI运算设备中进行模型在线推理。
2.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤一中的图像预处理过程具体包括:对于单目相机采集的多个单目图像,先通过仿射变换将所有单目图像的形状统一转换为[W,H,3];然后将单目图像中每个像素的RGB值由[0,255]规范化到[0,1]之间。
3.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤一中的标签预处理过程具体包括以下子步骤:
S11,2D中心点标签生成,首先初始化一个形状为[W/4,H/4,C]的全零矩阵H;然后计算单目图像中每个目标在4倍下采样后的浮点型坐标(xfj,yfj)和整型坐标(xij,yij);最后,按下式对全零矩阵H中的元素赋值:
Figure FDA0003733844090000011
其中,σj是该由目标2D框的长宽确定的标准差;按照上式对全零矩阵H赋值后,全零矩阵H中的峰值对应单目图像中目标中心点位置,获得单目图像中关于目标的2D中心点标签;
S12,2D中心点偏移标签生成,先初始化一个形状为[W/4,H/4,2]的全零矩阵O_2D;然后按下式对全零矩阵O_2D进行赋值:
O_2D(xij,yij,0)=xfj-xij
O_2D(xij,yij,1)=yfj-yij
赋值完成后,获得全零矩阵H中峰值对应的目标中心点位置与单目图像中目标真实中心点位置之间的偏移量,生成目标的2D中心点偏移标签;
S13,2D长宽标签生成,首先,初始化一个形状为[W/4,H/4,2]的全零矩阵S;然后按下式对矩阵S进行赋值生成2D长宽标签:
S(xij,yij,0)=wj
S(xij,yij,1)=hj
其中wj、hj分别代表每个目标的长和宽;
S14,3D中心点投影偏移标签生成,首先初始化一个形状为[W/4,H/4,2]的全零矩阵O_3D;然后,按下式对矩阵O_3D进行赋值生成3D中心点投影偏移标签:
O_3D(xij,yij,0)=dxj
O_3D(xij,yij,1)=dyj
其中dxj、dyj分别代表每个目标的3D中心点在单目图像中的投影与目标2D框中心点在x方向和y方向上的偏移;
S15,3D中心点深度标签生成,在单目图像中,通过3D框在像素坐标系下的维度信息与3D框在预测世界坐标系下的比例计算获得目标3D中心点的深度d;然后通过公式d0=1/σ(d)-1,将深度d转换为绝对深度d0,其中σ为Sigmoid函数;
S16,3D长宽高标签生成,根据单目图像中目标的三维长宽高信息,计算出三维长宽高信息相对于平均维数的比例;
S17,3D朝向标签生成,采用基于MultiBin的回归方式预测目标朝向相对于bin中心的残差;
S18,2D关键点标签生成,利用面中心点作为关键点,建立多任务学习网络,对每个目标生成6个关键点的标签;对于第i个3D目标框,假设其朝向为Ri(θ),3D坐标为
Figure FDA0003733844090000021
以及长宽高分别为Di=[li,wi,hi]T,目标6个面中心点的奇次坐标可以表示为:
Figure FDA0003733844090000022
Figure FDA0003733844090000023
Figure FDA0003733844090000024
根据目标绕3D坐标y轴变化的角度建立旋转矩阵R,R的表达式如下:
Figure FDA0003733844090000031
在给定相机内参矩阵K的情况下,将立方体面中心点投影到图像坐标系中后,由下式计算得出2D关键点的坐标
Figure FDA0003733844090000032
4.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤二具体包括:
构建卷积神经网络,卷积神经网络包括主干网络和检测头分支,主干网络采用改进的DLA-34网络;检测头分支包括2D中心点分支
Figure FDA0003733844090000033
2D中心点偏移分支
Figure FDA0003733844090000034
2D长宽
Figure FDA0003733844090000035
3D中心点投影偏移
Figure FDA0003733844090000036
3D长宽高
Figure FDA0003733844090000037
3D朝向
Figure FDA0003733844090000038
3D中心点深度
Figure FDA0003733844090000039
和2D关键点偏移
Figure FDA00037338440900000310
将经过图像预处理和标签预处理的单目图像输入主干网络,提取出高度抽象的数字特征;检测头分支基于数字特征进一步提取出对应分支任务的信息,将检测头分支输出的8个张量作为卷积神经网络的最终输出结果。
5.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤三具体包括:对检测头分支输出的8个张量进行解码,首先提取每个类别的预测的热力图的峰值,并保留前100个峰值;记
Figure FDA00037338440900000311
为被检测到的n个中心点集合
Figure FDA00037338440900000312
中属于类别c的中心点;其中,坐标
Figure FDA00037338440900000313
代表目标2D中心点的大致位置,通过坐标
Figure FDA00037338440900000314
同样能获取目标的长宽高属性。
6.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤四具体包括:首先基于步骤二中提取出的8个网络分支信息设计对应的损失函数,损失函数包括2D中心点预测损失函数ln、2D中心点偏移预测损失函数l2Doff、2D长宽预测损失l2D、3D中心点投影偏移预测损失函数l3Doff、3D中心点深度预测损失函数ldep、3D长宽高预测损失l3D、3D朝向角预测损失函数lori和2D关键点预测损失函数lkp;然后在损失函数中增加基于预测3D位置计算出的2D关键点与预测的2D关键点之间的损失项l2d-3d;最后利用预处理后的单目图像对卷积神经网络进行多任务分支协同训练,同时在训练过程中利用损失函数对卷积神经网络的参数进行模型优化,将最终训练好的卷积神经网络作为3D目标检测模型。
7.根据权利要求1所述的一种新型基于关键点约束的单目视觉3D目标检测方法,其特征在于,所述步骤五具体包括:
模型格式转换,将3D目标检测模型格式转换为模型部署工具支持的模型格式;
模型编译,深度学习模型在这个阶段被编译成AI运算设备支持的格式,并使用具有代表性的校准图像对模型进行量化;
模型推理:在AI运算设备中加载和编译模型编译后生成的代码和数据文件,生成可执行程序并执行,实现模型在线推理。
CN202210846973.1A 2022-07-06 2022-07-06 一种新型基于关键点约束的单目视觉3d目标检测方法 Pending CN115205654A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210846973.1A CN115205654A (zh) 2022-07-06 2022-07-06 一种新型基于关键点约束的单目视觉3d目标检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210846973.1A CN115205654A (zh) 2022-07-06 2022-07-06 一种新型基于关键点约束的单目视觉3d目标检测方法

Publications (1)

Publication Number Publication Date
CN115205654A true CN115205654A (zh) 2022-10-18

Family

ID=83581436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210846973.1A Pending CN115205654A (zh) 2022-07-06 2022-07-06 一种新型基于关键点约束的单目视觉3d目标检测方法

Country Status (1)

Country Link
CN (1) CN115205654A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117268474A (zh) * 2023-11-21 2023-12-22 江西中汇云链供应链管理有限公司 一种用于场景内物体体积、数量及重量估算的装置及方法
WO2024131200A1 (zh) * 2022-12-21 2024-06-27 惠州市德赛西威智能交通技术研究院有限公司 基于单目视觉的车辆3d定位方法、装置及汽车
CN118447468A (zh) * 2024-07-08 2024-08-06 山西省财政税务专科学校 一种基于相邻目标之间空间关系的单目三维检测方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024131200A1 (zh) * 2022-12-21 2024-06-27 惠州市德赛西威智能交通技术研究院有限公司 基于单目视觉的车辆3d定位方法、装置及汽车
CN117268474A (zh) * 2023-11-21 2023-12-22 江西中汇云链供应链管理有限公司 一种用于场景内物体体积、数量及重量估算的装置及方法
CN118447468A (zh) * 2024-07-08 2024-08-06 山西省财政税务专科学校 一种基于相邻目标之间空间关系的单目三维检测方法及装置
CN118447468B (zh) * 2024-07-08 2024-09-20 山西省财政税务专科学校 一种基于相邻目标之间空间关系的单目三维检测方法及装置

Similar Documents

Publication Publication Date Title
CN108416840B (zh) 一种基于单目相机的三维场景稠密重建方法
CN115205654A (zh) 一种新型基于关键点约束的单目视觉3d目标检测方法
CN115345822A (zh) 一种面向航空复杂零件的面结构光自动化三维检测方法
US20230080133A1 (en) 6d pose and shape estimation method
CN111985376A (zh) 一种基于深度学习的遥感影像舰船轮廓提取方法
Liu et al. 3D Point cloud analysis
CN111079565B (zh) 视图二维姿态模板的构建方法及识别方法、定位抓取系统
CN113221647B (zh) 一种融合点云局部特征的6d位姿估计方法
CN112347882A (zh) 一种智能分拣控制方法和智能分拣控制系统
CN114092697B (zh) 注意力融合全局和局部深度特征的建筑立面语义分割方法
CN109815847A (zh) 一种基于语义约束的视觉slam方法
CN113160275B (zh) 一种基于多个视频的自动目标跟踪和轨迹计算的方法
CN115661246A (zh) 一种基于自监督学习的姿态估计方法
CN114119753A (zh) 面向机械臂抓取的透明物体6d姿态估计方法
CN118196544A (zh) 基于信息增强与特征融合的无人机小目标检测方法及系统
CN118261979A (zh) 一种基于几何信息增强的类别级6d姿态估计方法
CN116912675B (zh) 一种基于特征迁移的水下目标检测方法及系统
CN117788544A (zh) 一种基于轻量级注意力机制的图像深度估计方法
CN113724329A (zh) 融合平面与立体信息的目标姿态估计方法、系统和介质
CN117115432A (zh) 配电线路的缺陷检测方法、装置、电子设备和介质
CN113673478B (zh) 基于深度学习全景拼接的港口大型设备检测与识别方法
CN115937520A (zh) 基于语义信息引导的点云运动目标分割方法
US20220058484A1 (en) Method for training a neural network to deliver the viewpoints of objects using unlabeled pairs of images, and the corresponding system
CN115984093A (zh) 基于红外图像的深度估计方法、电子设备以及存储介质
CN112562059B (zh) 一种自动化结构光图案设计方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination