基于几何拓扑的汽车视角识别及三维线框模型重建
Vehicle view recognition and 3D wireframe model reconstruction based on geometric topology
通讯作者:
收稿日期: 2023-09-4
基金资助: |
|
Received: 2023-09-4
Fund supported: | 国家自然科学基金资助项目(52375260,51905389). |
作者简介 About authors
吴奇(2001—),男,硕士生,从事计算机图形学研究.orcid.org/0009-0008-3040-6737.E-mail:
面对复杂设计任务,传统手绘草图和三维重建方法常常须投入巨大的时间、人力和财力. 为了克服这些挑战,提出基于几何拓扑的汽车视角识别及三维线框模型重建方法. 建立包含少量汽车三维线框模型的模型库,通过对车身高度、宽度、轴距等参数进行多尺度缩放,扩充至
关键词:
In the face of complex design tasks, traditional hand-drawn sketches and 3D reconstruction methods often require a huge investment of time, labor, and financial resources. In order to overcome these challenges, a geometric topology-based viewpoint recognition and 3D wireframe model reconstruction method for automobiles was proposed. A model library containing a small number of 3D wireframe models of automobiles was established, which was expanded to
Keywords:
本文引用格式
吴奇, 王博, 王华伟, 胡溧, 李宝军.
WU Qi, WANG Bo, WANG Huawei, HU Li, LI Baojun.
Wang等[3]提出通过外壳嵌入来改善单视图三维物体重建的质量,利用概率视角将2D图像转化为3D形状. Liu等[4]基于生成对抗网络和无监督学习技术,探索从单一视图重建三维对象的新方法. Wallace等[5]通过先验知识,实现对单图像三维重建的快速泛化学习,有效提高了模型对新物体的适应能力和重建精度. Kato等[6]提出结合深度学习和传统几何学的混合模型,研究通过学习形状先验来改善单视图三维重建的效果. Wu等[7]提出通过形状先验知识来补全和重建从单视图获取三维对象的方法,在处理车辆和其他常见物品时具有较高精度. Xu等[8]建立了深度隐式表面网络,通过自动解码器增强模型的表达能力,完成从单一视图生成高质量的三维重建. Reddy等[9]结合点追踪技术和部件检测技术提高车辆动态场景中的重建质量和实时性,实现了动态车辆的三维重建. Tatarchenko等[10]采用卷积神经网络模型,通过端到端学习,直接从单幅图像中学习物体的三维结构. Hoang等[11]提出将卷积神经网络(convolutional neural network, CNN)和最先进的密集同步定位和映射(simultaneous localization and mapping, SLAM)系统相结合,以实现高质量的三维重建.
如果视角数量不足或视角分布不均匀,多视角立体视觉(multi-view stereo)的重建精度会受到影响. 基于深度学习的方法需要大量标注数据集进行训练,数据获取和标注成本高,模型可能对训练集外的场景或物体表现较差,难以推广至不同类型的物体. 基于点云的方法生成的点云可能较为稀疏,无法很好地描述物体的细节.
根据上述方法存在的问题,本研究提出基于几何拓扑的汽车视角识别及三维线框模型的重建方法,该方法能够在短时间内准确高效地识别汽车角度并建立三维线框模型,能够较好地克服基于深度学习、点云的方法存在的重建成本高、训练时间长以及细节表现差的问题. 通过与传统方法进行对比,验证所提方法的有效性.
1. 汽车3D线框模型库的建立
1.1. 线框模型的建立
图 1
1.2. 模型库的扩充
考虑模型的一致性,对构建的模型进行归一化,以前轮为基点对所有模型进行旋转、平移和缩放,校正后模型的前轮中心到后轮中心的距离为
图 2
每种车型都有其特定的设计参数,汽车车身尺寸因车型和用途而异,但是通常都有车身高度、轴距、轮距、前悬以及后悬等几个常见的尺寸参数[13]. 汽车模型的缩放比例依据主要有市场需求与用户偏好、功能需求、美学与比例、工程与安全性以及仿真与优化[14]. 在不同市场定位下,车辆尺寸有一定差异,为了覆盖尽可能多的车型,扩充为一个较为完整的模型库,对车身高度、轴距、轮距、前悬以及后悬等部位进行了一定程度的缩放. 在本研究中,扩充线框模型库的具体方法如下:1)缩放每个模型的高度. 将z轴值高于中心点(S34与S45交点) 的关键点分别乘以0.7、0.8、0.9、1.1、1.2,缩放后纳入模型库,将模型库中车型数量扩充到84个;2)进一步将y轴值小于前悬垂后点(S20与S21交点)的关键点分别乘以0.8、0.9、1.1,将y轴值大于后悬垂前点(S11与S12交点)的关键点分别乘以0.8、0.9、1.1,缩放后纳入模型数据库,将模型库中车型数量扩充到588个;3)最后将所有关键点的x轴值分别乘以0.7、0.8、0.9、1.1、1.2,缩放后纳入模型库,将模型库中车型数量扩充到3 528个. 具体扩充方法及数据归纳如表1所示. 扩展后模型库重新记为
表 1 模型库扩充的相关数据
Tab.1
扩充次数 | 扩充方法 | 初始数目 | 最终数目 |
1 | z轴方向缩放 | 14 | 84 |
2 | y轴方向缩放 | 84 | 588 |
3 | x轴方向缩放 | 588 | 3 528 |
2. 基于几何拓扑的汽车视角识别
2.1. 模板关键点定义
图 3
2.2. 单视图关键点选取
为了更加方便地进行不同视图关键点的选取,基于Matlab开发了关键点标注系统. 通过手工交互的方式进行关键点的标注及数据记录,所有标注的关键点的数据记录为KeyPs,关键点的序号记为KeyPs_Ns,关键点标注系统界面及运行过程如图4所示.
图 4
2.3. 三维线框模板在不同视角下的投影
图 5
记AngleNum为旋转角度个数,Orient Record为所有的旋转角度[α,β,γ]所组成的矩阵. 旋转矩阵是指在乘以一个向量的时候改变向量大小但不改变向量模大小的矩阵. 表达式如下:
模板模型在不同旋转角度下的3D形状展示如图6所示.
图 6
在21 901个不同旋转角度下,对35个关键点沿yz平面进行投影,记PinCameraPs35为35个关键点的投影矩阵.
基于图像中标记的关键点以及所有旋转模型的关键点投影,根据关键点之间的拓扑对应关系即可进行车身的角度识别.
2.4. 基于几何拓扑的角度识别
基于几何拓扑的角度识别算法是将汽车图像中提取的关键点与不同旋转角度下模板模型的关键点进行配准. 该算法的输入为从汽车图像中提取的关键点KeyPs以及模板对应关键点的所有角度的投影矩阵PinCameraPs_KeyPs,输出为最佳匹配方向optorient,以及匹配过程中计算出的最佳缩放比例optratio. 基于几何拓扑的角度识别算法的关键步骤如下.
1)计算模版中关键点KeyPs_Mod绕z轴旋转180°时车身高度与轴距的比例Ratio_model,其中车身高度以关键点KeyPs5和关键点KeyPs14的z轴差值代替,轴距以关键点KeyPs13和关键点KeyPs14的y轴差值代替,可知Ratio_model为一个单调排列的数组.
2)根据步骤1)中计算输入车身图像中的关键点KeyPs车身高度与轴距的比例Ratio_img,通过与Ratioθ做对比确定汽车绕z轴的旋转角度范围range_z.
3)在确定的绕z轴旋转角度范围内,并绕x轴旋转[−10°,10°]和y轴旋转 [−10°,10°]时关键点KeyPs的投影PinCameraPs _KeyPs,计算KeyPs与KeyPs_Mod之间的缩放比例tempratio,将2组点进行空间上的对应,计算2组点之间的距离平方和. 找出最小平方和optcost所对应的旋转角度optorient,即为匹配得到的最优角度[α,β,γ].
具体算法流程如算法1所示.
算法1 基于几何拓扑的角度识别算法
输入:汽车图像中提取的关键点KeyPs和模板对应关键点不同角度下的点集PinCameraPs_KeyPs
输出:最佳匹配方向minorient以及最佳缩放比例optratio
Step1:计算车身高度与轴距的比例Ratio_ model以及Ratio_img;
确定绕z轴的旋转角度范围range_z;
Step2:计算tmpratio,optcost以及optorient
for k = 1:AngleNum % AngleNum为旋转角度个数;
kPs =PinCameraPs(:,(3k−2:3k)); % 提取对应第 k 组关键点;
计算缩放比例tmpratio,将2组点进行空间上的对应;
计算对应后2组数据之间的距离平方和mincost;
根据距离平方和记录最优对应角度optcost;
通过几何拓扑的角度识别算法,能够有效地计算出给定汽车的绕x、y、z轴的旋转角度α、β、γ,实现汽车角度的识别.
if mincost < optcost
optcost = mincost;
optratio = tmpratio;
optorient = k;
end
end
Step3:计算识别角度[α,β,γ]
[α,β,γ]=[OrientRecord(optorient,:)
以2幅图像为例进行其对应角度的识别,其中红色点为选取的车身图像上的关键点,如图7所示. 关键点的数目取决于视图中汽车结构的复杂性,不同视角下的汽车视图所选择的关键点数目不同. 在车身上选取关键点时,应优先考虑能够代表车辆显著特征和几何变化的区域,如前脸、后脸、车顶、车门、车窗、车轮、车尾灯和保险杠等. 因此,图7(a)中共选择了17个关键点,即{KeyPsi|i=1,2,3,4,5,12,13,14,15,16,17,18,19,22,23,24,25}及每个关键点的序列号{SKj| j=81,85,1,5,9,45,61,64,93,113,117,124,157,104,116,172,100}. 由于图7(b)包含汽车尾部较多细节,前脸细节较少,图7(b)中共选择了19个关键点{KeyPsi| i=6,7,8,9,10,11,12,13,14,15,16,17,18,19,22,23,24,25,30}及每个关键点的序列号{SKj|j=13,17,20,25,29,37,45,61,64,93,11 3,117,124,157,104,108,172,100,41}.
图 7
图 7 不同视角下的关键点标注结果
Fig.7 Key point labeling results from different perspectives
根据算法1,图7(a)、(b)中2个不同视角车身图像的角度识别结果分别为α=−2°,β=5°,γ=46°以及α=0°,β=−1°,γ=135°.
3. 复杂三维线框模型重建
3.1. 三维线框重建
对于汽车三维线框模型数据库
记图像中关键点个数为N,其对应关键点序号为(SK1,SK2,···,SKN),以及每个模型si的N个关键点的三维坐标值向量Ui= [XSK1,YSK1,ZSK1,XSK2,YSK2,ZSK2,···,XSKN,YSKN,ZSKN]T.
记与x、y、z轴的最优旋转角度为[α,β,γ]. 按式(1)将Ui所有三维点进行三维旋转后进行yz平面投影,记为Ki. 记侧视图中关键点个数为M,则车身侧视图关键点向量Zt= [XSK1,YSK1,ZSK1,XSK2,YSK2,ZSK2,···,XSKM,YSKM,ZSKM]T. Z与矩阵元素Ki、模型贡献量系数Hi之间存在函数关系,表达式如下:
则目标即为最小化代价函数,表达式如下:
得到H之后,计算新模型,表达式如下:
重建的三维线框模型newmodel如图8所示.
图 8
图 9
图 10
图 10 重建线框模型在图像中的绘制结果
Fig.10 Plotting results of reconstructed wireframe model in image
手工重建汽车三维线框模型的时间会根据多种因素而变化,包括建模者的经验、汽车模型的复杂度、所需精细度以及每天投入的工作时间. 一个专业的汽车建模工程师绘制三维线框模型需要约3~4 h. 相比之下,本研究算法凭借自动化和高效的数据处理能力,能在短时间内完成汽车三维线框模型的重建. 其中,关键点标注阶段用时30~40 s,重建三维线框阶段用时3~4 s,全过程用时33~44 s.
3.2. 误差分析
图 11
4. 模型泛化
本研究所提方法对于不同车型具有泛化性,通过分析车型特征确定关键点,更新模板对应关键点的所有角度的投影矩阵,并基于带约束的最小二乘法,可实现视角识别与三维线框模型重建.
4.1. SUV车型
图 12
图 13
图 13 重建线框模型在图像中的绘制结果
Fig.13 Plotting results of reconstructed wireframe model in image
图 14
4.2. MPV车型
图 15
图 16
图 16 重建线框模型在图像中的绘制结果
Fig.16 Plotting results of reconstructed wireframe model in image
图 17
5. 结 语
提出基于几何拓扑的复杂三维线框模型的重建方法,其能够准确高效地识别汽车角度并建立三维线框模型,展现了良好的重建效果. 绘制汽车线框模型并对模型进行不同位置及程度的缩放,得到扩充的三维模型,建立汽车三维线框模型库. 通过对目标视图中的可视关键点进行标注,并与模版模型在不同旋转角度下的关键点在投影平面上的对应点进行匹配,基于几何拓扑实现任意汽车视图角度的识别. 根据二维关键点与三维模型之间的映像关系,利用带约束的最小二乘法,完成汽车三维线框模型的重建. 不同视角下的关键点重建误差表明,基于几何拓扑的复杂三维线框模型重建能够实现更高的重建效率和精度.
汽车的视角识别以及重建精度受关键点的选择和模型库的数量影响. 选择更合适的关键点和更丰富的模型库可以显著提高结果的准确性. 因此,今后工作重点如下:1)通过深入研究不同模型的设计特点,更准确地确定关键点,从而提高汽车视角识别以及重建的准确性和质量. 2)建立规模更大的模型库,提高训练精度. 扩展模型库的规模以提供更多样化的训练数据,从而增强其泛化能力和准确性,以更好地满足实际应用的需求. 3)在已经建立的三维线框模型的基础上,进一步探索汽车曲面的三维重建技术. 通过这种方法,不仅能够捕捉到汽车的轮廓,还能精细地复原其表面曲线,从而实现更加真实和完整的汽车三维模型.
参考文献
现代汽车造型分析与设计
[J].DOI:10.3969/j.issn.1672-9668.2022.04.053 [本文引用: 1]
Analysis and design of modern automobile styling
[J].DOI:10.3969/j.issn.1672-9668.2022.04.053 [本文引用: 1]
基于文本数据的汽车造型需求分析
[J].DOI:10.3969/j.issn.1672-9668.2023.21.050 [本文引用: 1]
Analysis of the automotive styling demand based on text data
[J].DOI:10.3969/j.issn.1672-9668.2023.21.050 [本文引用: 1]
Deep single-view 3D object reconstruction with visual hull embedding
[J].DOI:10.1609/aaai.v33i01.33018941 [本文引用: 1]
Object-RPE: dense 3D reconstruction and pose estimation with convolutional neural networks
[J].DOI:10.1016/j.robot.2020.103632 [本文引用: 1]
3D surface reconstruction of car body based on any single view
[J].DOI:10.1109/ACCESS.2024.3404635 [本文引用: 1]
A method to assist designers in optimizing the exterior styling of vehicles based on key features
[J].DOI:10.1016/j.eswa.2024.124485 [本文引用: 1]
Detect any keypoints: an efficient light-weight few-shot keypoint detector
[J].DOI:10.1609/aaai.v38i4.28180 [本文引用: 1]
LiftPose3D, a deep learning-based approach for transforming two-dimensional to three-dimensional poses in laboratory animals
[J].DOI:10.1038/s41592-021-01226-z [本文引用: 1]
Study of the influence of lateral forces and velocity on the lateral dynamics of automobile
[J].
Millimeter-wave radar and vision fusion-based semantic simultaneous localization and mapping
[J].DOI:10.1109/LAWP.2024.3389678 [本文引用: 1]
基于单视图稀疏点的汽车三维模型重建
[J].DOI:10.3969/j.issn.1674-3644.2023.04.008 [本文引用: 4]
Reconstructing 3D automobile model from sparse points on a single view
[J].DOI:10.3969/j.issn.1674-3644.2023.04.008 [本文引用: 4]
/
〈 |
|
〉 |
