1.本发明涉及数字孪生与slam技术领域,尤其是涉及一种面向城市信息模型的三维语义地图构建方法。
背景技术:2.数字孪生是指充分利用物理模型、传感器、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟信息空间中对物理实体进行镜像映射,反映物理实体行为、状态或活动的全生命周期过程的技术。越复杂的系统建立数字孪生体后管理效率提升越高,收益越大,而城市就是最为复杂而庞大的系统,数字孪生城市应运而生,《国民经济和社会发展第十四个五年规划纲要和2035年远景目标》就明确提出“探索建设数字孪生城市”,要“以数字化助推城乡发展和治理模式创新,全面提高运行效率和宜居度”。
3.城市信息模型(cim)是数字孪生城市技术中基础设施端的重要内容,包括山峰河流等自然地貌、道路桥梁等基础设施和各类建筑物等在虚拟空间中的模型及各类属性信息。城市发展日新月异,城市信息模型也要不断更新,使用配备多种传感器的信息采集车通过城市环境巡游构建三维语义地图,是建立城市信息模型的重要手段。
4.slam(同时定位与地图构建)是车辆自主建立城市三维地图的基本方式。双目相机能够采集信息量丰富的彩色图像,通过立体匹配能够恢复出深度图,成本又远低于激光雷达,适合城市级别的slam用作主要传感器。orb-slam3是目前综合性能最好的开源视觉slam方案,且支持双目图像输入,本发明选择它作为算法的基础框架。但是orb-slam3只能建立稀疏点云级别的几何地图,构建语义地图需要作进一步完善
5.目前,关于通过slam构建语义地图,已经有了一些研究,但仍然存在一些问题。
6.语义地图可以分为点云级别的和物体级别的。点云级别的语义地图研究出现较早,其只需要为每个地图点赋予一个类别标签,构建方法相对简单,但这样的地图包含的语义信息层次太低,不足以生成实用的城市信息模型。物体级别的语义地图,包含了环境中的物体及其类别、轮廓、位姿等参数,更接近人类的环境感知方式,能够有效支撑城市信息模型的生成,不过物体级地图也不便表征道路等不可数的背景事物。
7.语义地图的构建首先需要语义提取器,现有的物体级语义slam一般采用yolo系列等目标检测网络作为语义提取器,能够给出若干个矩形的物体检测框,由这些检测框能够以相对简明的方式恢复出物体尺寸和姿态等参数。但是矩形检测框无法表征物体的准确边界,因此难以恢复出物体的形状参数。
8.现有的物体级语义slam,采用的物体模型多为立方体(cube)和二次曲面(quadric)。这是两种比较规整、参数较少的物体模型,搭配前述目标检测网络给出的检测框,参数生成与优化的计算效率较高。但是真实城市环境中的物体普遍形状比较复杂,上述模型难以有效表征不规则的物体,影响了语义地图构建方法的通用性。
9.目前,一种能够充分表征尽可能多不同种类的环境物体的,能够建立多层次城市地图的,精度、鲁棒性与实时性平衡的语义slam算法,亟待研究。
技术实现要素:10.本发明的目的就是为了克服上述现有技术存在的缺陷而提供了一种精度与鲁棒性更高的、环境表征能力更强面向城市信息模型的三维语义地图构建方法,该方法将超二次曲面作为环境物体模型,从语义分割构建包括物体级地图在内的多层次语义地图。
11.本发明的目的可以通过以下技术方案来实现:
12.本发明提供了一种面向城市信息模型的三维语义地图构建方法,其特征在于,该方法包括以下步骤:
13.步骤s1、设计和训练深度神经网络,同时提取输入图像中的语义分割信息和slam特征;
14.步骤s2、将步骤s1得到的语义分割信息以及slam特征输入至改进双目orb-slam3框架,进行相机位姿估计,并持续增量更新稀疏点云语义地图;
15.步骤s3、对步骤s2中生成的稀疏点云语义地图,结合步骤s1的语义分割信息进行空间-语义地图点聚类;
16.步骤s4、根据空间-语义地图点聚类结果,重建超二次曲面物体形式的物体模型,并对物体模型持续增量优化;
17.步骤s5、基于重建的超二次曲面物体模型以及相机位姿估计,构建物体级三维语义地图;
18.步骤s6、基于双目立体匹配,获取rgb-d图像,结合相机位姿估计和语义分割信息,构建稠密点云级三维语义地图。
19.优选地,所述稀疏点云语义地图、物体级三维语义地图、稠密点云级三维语义地图的构建过程为三个并行进程。
20.优选地,所述步骤s1中的深度神经网络的架构具体为:在用于语义分割的hrnetv2网络的末端增设一网络分支,输出定位建图所需的关键点和描述子,形成一多分支网络,即语义分割分支和slam特征提取分支;
21.所述语义分割分支的训练采用交叉熵损失函数;所述slam特征分支的训练采用基于superpoint的关键点真值构造方式和损失函数。
22.优选地,所述步骤s2中改进双目orb-slam3框架,具体结构为:在orb-slam3框架结构基础上,将其中的特征提取器替换为所述步骤s1中的深度神经网络。
23.优选地,所述步骤s3中空间-语义地图点聚类采用的距离度量由地图点空间距离和地图点间语义属性的概率分布差异组成,具体表达式:
[0024][0025]
式中,mi,mj是由orb-slam3模型构建的稀疏地图点,是地图点mi,mj在世界坐标系下的三维坐标,代表地图点mi,mj的语义类别标签的概率分布,kl(
·
||
·
)代表kullback-leibler散度,η1,η2为权重超参数。
[0026]
优选地,所述步骤s4中超二次曲面形式的物体模型,具体表达式为:
[0027]
超二次曲面的向量表现形式为:
[0028][0029]
式中,a=[a
x
,ay,az]
t
为三个维度上的尺寸参数,ε=[ε1,ε2]
t
为形状参数;-π/2≤η≤π/2,-π≤ω≤π为迭代变量;
[0030]
超二次曲面的约束表达式为:
[0031][0032]
式中,a=[a
x
,ay,az]
t
为尺寸参数,ε=[ε1,ε2]
t
为形状参数;
[0033]
所述超二次曲面物体模型的物体参数还包括位姿参数
[0034]
优选地,所述步骤s4包括以下子步骤:
[0035]
步骤s41、对初始地图点的聚类结果作主成分分析pca,初始化超二次曲面形式下的物体参数其中,a为三个维度上的尺寸参数,ε为形状参数;为物体位姿;
[0036]
步骤s42、以最小化当前帧物体图像区域与地图中对应物体在当前帧的投影为目标,优化物体参数;
[0037]
步骤s43、以最小化当前帧物体地图点与物体表面距离为目标,优化物体参数。
[0038]
优选地,所述步骤s41和步骤s42的优化过程均采用分阶段优化方式,具体为:首先固定尺寸参数优化其他参数,然后固定其他参数优化尺寸参数,最后联合优化所有物体参数。
[0039]
优选地,所述步骤s5还包括:对语义分割输出的所有可能的物体类别均训练相应字典,基于词袋模型完成物体数据关联,包括以下子步骤:
[0040]
1)依据聚类中心位置在已知地图里的物体中确定候选关联物体;
[0041]
2)使用词袋匹配方法,根据该地图点簇所属物体类别的字典,完成当前帧地图点簇与已知地图中物体的关联;
[0042]
3)在由地图点簇重建出物体后,完成物体数据关联。
[0043]
优选地,所述步骤s6具体为:
[0044]
1)对于每个关键帧,通过leastereo算法进行双目立体匹配,得到rgb图对应的深度图;
[0045]
2)结合语义分割标签图,得到关键帧对应的稠密语义点云;对于地图点的类别标签采用递归贝叶斯算法进行更新;
[0046]
3)对各关键帧的稠密语义点云按相机位姿估计进行拼接,得到稠密点云级语义地图;其中,每个关键帧的相机位姿由orb-slam3模型计算得出。
[0047]
与现有技术相比,本发明具有以下优点:
[0048]
1)本发明使用超二次曲面作为语义地图中的物体模型,并设计了相应的生成与优化算法,能够有效表征更多尺寸与形状复杂的物体,提升语义地图通用性,使数字孪生城市
信息模型更贴近复杂的真实城市环境;
[0049]
2)本发明从语义分割,而非以往方案常用的目标检测来重建物体,能够得到更精确的物体轮廓,提升语义地图精度,使数字孪生城市信息模型更贴近复杂的真实城市环境;
[0050]
3)本发明用同一个深度神经网络同时输出slam特征和语义分割结果,相比以往的语义slam方案,算法更简洁,运行效率更高;
[0051]
4)本发明使用改进的词袋模型进行物体数据关联,在精度与效率上达到了良好的平衡,使语义地图在大规模环境下也能保证精度和鲁棒性,从而使数字孪生城市信息模型能够用于面积更大的城市;
[0052]
5)本发明建立多层次的几何-语义地图,满足不同需求的城市信息模型使用。
附图说明
[0053]
图1为本发明的系统框架图;
[0054]
图2是为本发明进行语义分割和slam特征提取的深度神经网络结构图;
[0055]
图3是本发明用作物体模型的超二次曲面示意图。
具体实施方式
[0056]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0057]
实施例
[0058]
如图1所示,本实施例提供了一种面向城市信息模型的三维语义地图构建方法,该方法具体包括以下步骤:
[0059]
步骤s1、训练高性能深度神经网络,从输入图像中同时提取语义分割信息与定位和稀疏几何建图所需特征;
[0060]
如图2所示,本发明采用的深度神经网络是在hrnetv2网络基础上开发的。hrnetv2是一种高性能的语义分割网络,原本将网络的四种不同分辨率的输出中的低分辨率输出进行双线性上采样到高分辨率(即输入图像分辨率)输出的尺寸,并将这四种高分辨率输出经1x1卷积连接起来,经过一次卷积作为语义分割的类别概率输出。
[0061]
本发明则将组合后的高分辨率输出分别输入三个卷积层,对应输出语义分割结果(包括单层的语义分割标签图和多层的类别概率分布图),关键点和对应的描述子。
[0062]
训练集为cityscapes数据集,该数据集有像素语义标签的真值。与superpoint类似,本发明采用magicpoint关键点检测器和对数据集进行关键点真值自标注;同时,使用自适应单应变换对数据集进行增强,其中,变换强度参数取hn=100,相应地,对语义分割真值图也要做同样的单应变换。
[0063]
故最终使用的数据集包括:cityscapes原始图像、经过随机单应变换的图像、语义分割真值和关键点真值。采用标准的交叉熵损失函数训练网络的语义分割分支;采用与superpoint相同的损失函数训练网络的slam特征提取分支。
[0064]
输出的语义分割结果包括:1层的语义分割标签图和19层的语义分割类别概率分
布图,输出的slam特征包括关键点和相应的128维的描述子。
[0065]
步骤s2、将步骤s1得到的语义分割信息以及slam特征输入至改进双目orb-slam3框架,进行相机位姿估计,并持续增量更新稀疏点云语义地图,具体过程为:
[0066]
本发明的改进双目orb-slam3模型的架构为:在orb-slam3模型结构基础上,将其中的特征提取器替换为所述步骤s1中的深度神经网络。
[0067]
slam框架在orb-slam3的基础上开发,输入双目图像及相机参数(包括相机内参矩阵和双目相机基线),左目图像输入深度神经网络,输出语义分割结果和slam所需特征,该特征替代了orb特征输入orb-slam3,输出每帧图像的相机位姿(左目相机6-dof位姿轨迹),持续增量更新稀疏几何点云地图。
[0068]
步骤s3、对步骤s2中生成的稀疏点云语义地图,结合步骤s1的语义分割信息进行空间-语义地图点聚类;
[0069]
改造双目orb-slam3输出的地图点具有三维坐标和语义标签,依据这两种属性对地图点进行聚类,将可能属于同一物体的地图点汇聚为簇(cluster)。
[0070]
对于任意两个地图点mi,mj,聚类所需的距离度量为:
[0071][0072]
其中,η1,η2为权重超参数,是地图点mi,mj在世界坐标系下的三维坐标,即度量两个地图点在空间中的欧式距离,代表地图点mi,mj的语义类别标签的概率分布,kl(
·
||
·
)代表kullback-leibler散度,即可以称为两个地图点的“语义距离”,具体计算方法为:
[0073][0074]
进一步地,由于稀疏三维地图点与关键帧上的图像特征点存在对应关系,故对地图点的语义-空间聚类同时也意味着对图像上的特征点进行聚类,再对相应的语义分割结果图作连通域分析,即可在图像上得到若干个对应空间中不同物体的语义掩模(mask)。
[0075]
物体级语义地图的构建为一个新的线程。每个关键帧生成的稀疏几何地图点均是与图像上特征点对应的,由此为地图点分配相应的语义类别标签。通过opencv对该帧的语义分割结果图进行连通域分析,抛弃天空、路面等不可数或难以表征的物体类别,抛弃面积小于图像大小0.05%的连通域,剩余的连通域个数即为预设的聚类个数,每个连通域即为物体对应的语义掩模。然后对地图点进行空间-语义聚类,聚类方法选择optics,距离度量中超参数取值为η1=1.0,η2=1.7。聚类得到对应一系列不同物体的地图点簇。
[0076]
步骤s4、从空间-语义地图点聚类结果重建超二次曲面形式的物体模型;
[0077]
对于步骤s3生成的每一个地图点簇,依据该帧的相机位姿,通过类pca的方式初始化超二次曲面模型下的物体参数,随着地图点簇的增量更新与一系列观测到该物体图像及其相机位姿,对物体参数进行持续优化。超二次曲面示例如图3。
[0078]
超二次曲面是对标准二次曲面(quadric)的扩展,增加了描述形状参数,可以表征更多不同形状的物体。超二次曲面表面上的一个点
sq
r=[r
x
,ry,rz]的基本参数表达式为:
[0079][0080]
其中,a=[a
x
,ay,az]
t
为三个维度上的尺寸参数,ε=[ε1,ε2]
t
为形状参数,-π/2≤η≤π/2,-π≤ω≤π为迭代变量。
[0081]
超二次曲面的约束式表达为:
[0082][0083]
将物体坐标系下任意一点rq代入上式,若f(rq)=1,则该点位于超二次曲面表面;若f(ro)>1,则该点位于超二次曲面外部;若f(ro)<1,则该点位于超二次曲面内部。
[0084]
三维空间内的超二次曲面还有世界坐标系下的位姿参数同时也定义了一个从世界坐标系到物体坐标系的变换故一个由超二次曲面表征的空间中物体,参数为
[0085]
物体模型参数的计算优化过程具体为:
[0086]
步骤s41、对初始地图点的聚类结果作主成分分析,以初始化物体模型各参数
[0087]
对于聚类得到的每个地图点簇进行点云去中心化后记为矩阵然后以如下方法得出超二次曲面参数的初始值:
[0088][0089][0090]
ε=[1,1]
t
[0091]
此外,对于物体位姿的初始化,位置ξ
p
初始值取物体对应的图像上语义掩模区域的中心点在世界坐标系下的位置,由orb-slam3给出;姿态ξr取v转换为欧拉角的结果。这就完成了物体参数的初始化。
[0092]
步骤s42、以最小化当前帧物体图像区域与地图中对应物体在当前帧的投影为目标,优化物体参数;
[0093]
物体参数的优化定义为:
[0094][0095]
ε
.
∈(0,2],a
·
∈[0.1,+∞)
[0096]
其中,为图像序列{ii}
i=1,...,n
对应的相机位姿,s
qi
为图像ii上对应物体q的语义掩模区域,函数re(
·
)是将空间中的物体q重投影到相机位姿为的图像ii上,与s
qi
计算重投影误差;对ε,a的约束是为了保证物体形状是凸的,尺寸不过小,保证优化效果。
[0097]
步骤s43、以最小化当前帧物体地图点与物体表面距离为目标,优化物体参数;
[0098]
物体参数的优化定义为:
[0099][0100]
其中,为对应物体q的地图点簇,并转换到物体坐标系下,为地图点到物体q表面的距离度量,系数1+μa
x
·ay
·az
是为了选择候选物体参数中尺寸最小的一组。
[0101]
在步骤s4中,优化物体参数采取多阶段的方式,首先固定形状参数ε=1,优化其他参数;然后固定其他参数,优化形状参数ε;最后同时优化所有物体参数。优化过程具体为:优化中先以步骤s42的方法,考虑所有已知位姿的关键帧进行优化,其中函数re的计算方法为:从超二次曲面表面随机采样100个点投影至图像上,通过opencv计算出其边界,再与该物体的语义掩模计算交并比,作为物体重投影误差;再以步骤s43的方式,考虑该物体对应的所有地图点进行优化,超参数取值μ=0.3。
[0102]
步骤s5、结合物体重建与相机位姿构建物体级三维语义地图;
[0103]
在步骤s4,在步骤s5,需要在实际运行之前,使用s1的深度神经网络,对kitti视觉里程计数据集进行语义分割和特征提取,再用与orb-slam3类似的dbow库对语义分割可能输出的每个类别均计算特征字典。在算法运行中,借助这些词典,使用进行物体数据关联。对于当前帧聚类的每个地图点簇,能够包含聚类中心位置的所有物体均为候选关联物体,再用词袋模型在候选关联物体中筛选出最终的关联物体,更新该物体对应的地图点,并进行物体参数优化
[0104]
步骤s6、从输入双目图像生成rgb-d图像,结合相机位姿和语义分割构建点云级三维语义地图;
[0105]
稠密点云级语义地图的构建为一个新的线程。对于每个关键帧,通过leastereo算法进行双目立体匹配,从而得到rgb图对应的深度图,再结合语义分割标签图,即可得到该帧对应的稠密语义点云。每个关键帧的相机位姿由orb-slam3计算得出,对各帧的稠密语义点云按位姿进行拼接,即可得到稠密点云级语义地图。地图点的类别标签按递归贝叶斯方式更新。
[0106]
地图点mi的类别标签li为:
[0107][0108]
其中,是当前帧下地图点mi的类别标签的概率分布,是截至前
一帧地图点mi的类别标签的概率分布,z为归一化参数。
[0109]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:1.一种面向城市信息模型的三维语义地图构建方法,其特征在于,该方法包括以下步骤:步骤s1、设计和训练深度神经网络,同时提取输入图像中的语义分割信息和slam特征;步骤s2、将步骤s1得到的语义分割信息以及slam特征输入至改进双目orb-slam3框架,进行相机位姿估计,并持续增量更新稀疏点云语义地图;步骤s3、对步骤s2中生成的稀疏点云语义地图,结合步骤s1的语义分割信息进行空间-语义地图点聚类;步骤s4、根据空间-语义地图点聚类结果,重建超二次曲面物体形式的物体模型,并对物体模型持续增量优化;步骤s5、基于重建的超二次曲面物体模型以及相机位姿估计,构建物体级三维语义地图;步骤s6、基于双目立体匹配,获取rgb-d图像,结合相机位姿估计和语义分割信息,构建稠密点云级三维语义地图。2.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述稀疏点云语义地图、物体级三维语义地图、稠密点云级三维语义地图的构建过程为三个并行进程。3.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s1中的深度神经网络的架构具体为:在用于语义分割的hrnetv2网络的末端增设一网络分支,输出定位建图所需的关键点和描述子,形成一多分支网络,即语义分割分支和slam特征提取分支;所述语义分割分支的训练采用交叉熵损失函数;所述slam特征分支的训练采用基于superpoint的关键点真值构造方式和损失函数。4.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s2中改进双目orb-slam3框架,具体结构为:在orb-slam3框架结构基础上,将其中的特征提取器替换为所述步骤s1中的深度神经网络。5.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s3中空间-语义地图点聚类采用的距离度量由地图点空间距离和地图点间语义属性的概率分布差异组成,具体表达式:式中,m
i
,m
j
是由orb-slam3模型构建的稀疏地图点,是地图点m
i
,m
j
在世界坐标系下的三维坐标,代表地图点m
i
,m
j
的语义类别标签的概率分布,kl(
·
||
·
)代表kullback-leibler散度,η1,η2为权重超参数。6.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s4中超二次曲面形式的物体模型,具体表达式为:超二次曲面的向量表现形式为:
式中,a=[a
x
,a
y
,a
z
]
t
为三个维度上的尺寸参数,ε=[ε1,ε2]
t
为形状参数;-π/2≤η≤π/2,-π≤ω≤π为迭代变量;超二次曲面的约束表达式为:式中,a=[a
x
,a
y
,a
z
]
t
为尺寸参数,ε=[ε1,ε2]
t
为形状参数;所述超二次曲面物体模型的物体参数还包括位姿参数7.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s4包括以下子步骤:步骤s41、对初始地图点的聚类结果作主成分分析pca,初始化超二次曲面形式下的物体参数其中,a为三个维度上的尺寸参数,ε为形状参数;为物体位姿;步骤s42、以最小化当前帧物体图像区域与地图中对应物体在当前帧的投影为目标,优化物体参数;步骤s43、以最小化当前帧物体地图点与物体表面距离为目标,优化物体参数。8.根据权利要求7所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s41和步骤s42的优化过程均采用分阶段优化方式,具体为:首先固定尺寸参数优化其他参数,然后固定其他参数优化尺寸参数,最后联合优化所有物体参数。9.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s5还包括:对语义分割输出的所有可能的物体类别均训练相应字典,基于词袋模型完成物体数据关联,包括以下子步骤:1)依据聚类中心位置在已知地图里的物体中确定候选关联物体;2)使用词袋匹配方法,根据该地图点簇所属物体类别的字典,完成当前帧地图点簇与已知地图中物体的关联;3)在由地图点簇重建出物体后,完成物体数据关联。10.根据权利要求1所述的一种面向城市信息模型的三维语义地图构建方法,其特征在于,所述步骤s6具体为:1)对于每个关键帧,通过leastereo算法进行双目立体匹配,得到rgb图对应的深度图;2)结合语义分割标签图,得到关键帧对应的稠密语义点云;对于地图点的类别标签采用递归贝叶斯算法进行更新;3)对各关键帧的稠密语义点云按相机位姿估计进行拼接,得到稠密点云级语义地图;其中,每个关键帧的相机位姿由orb-slam3模型计算得出。
技术总结本发明涉及一种面向城市信息模型的三维语义地图构建方法,包括:S1、设计和训练深度神经网络,同时提取输入图像的语义分割信息和SLAM特征;S2、将语义分割信息和SLAM特征输入至改进双目ORB-SLAM3框架,进行相机位姿估计,并持续增量更新稀疏点云语义地图;S3、对S2中生成的稀疏点云语义地图,结合语义分割信息进行空间-语义地图点聚类;S4、根据空间-语义地图点聚类结果,重建超二次曲面物体形式的物体模型,并对物体模型持续增量优化;S5、基于重建的超二次曲面物体模型以及相机位姿估计,构建物体级三维语义地图;S6、基于双目立体匹配,获取RGB-D图像,结合相机位姿估计和语义分割信息,构建稠密点云级三维语义地图。与现有技术相比,本发明的方法精度与鲁棒性更高、环境表征能力更强。征能力更强。征能力更强。
技术研发人员:刘成菊 周逊 陈启军
受保护的技术使用者:同济大学
技术研发日:2022.07.25
技术公布日:2022/11/1