一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

3D矢量网格生成方法及设备与流程

2022-06-01 10:56:01 来源:中国专利 TAG:

3d矢量网格生成方法及设备
技术领域
1.本发明涉及增强现实(augmented reality,ar)领域,尤其涉及一种3d矢量网格生成方法及设备。


背景技术:

2.随着ar技术的发展,虚实融合的全新数字现实体验走进普通用户的生活,ar生态逐渐丰富,新型的ar应用层出不穷,其中与现实场景相关的交互离不开场景的三维信息构建。
3.如图1所示,3d矢量网格作为场景三维信息的一种简洁表示,对虚拟对象放置、场景交互碰撞、虚实遮挡等有重要作用。其获取方式主要是由专业测绘团队测量场景3d信息,再由专业人员手工处理生成,效率低、成本高。
4.当前对于自动生成矢量网格的方法,主要依赖3d平面拟合,仅仅能生成平面建筑物的外形轮廓的矢量网格,对于曲面建筑和室内场景并不适用。通过卷积神经网络(convolutional neural networks,cnn)网络等对图像序列做2d语义分割,可以实现对室内外图像的形状标注,再通过马尔科夫随机场(markov random field,mrf)等优化方法,可以生成带语义信息的室内外3d网格,但是3d语义网格的形状相较于原始网格并无改变,数据量大,且拓扑复杂,因此主要用于导航、场景理解、目标识别等,其包含的场景结构信息对建模方面的应用没有被广泛开发。


技术实现要素:

5.本技术实施例提供一种3d矢量网格生成方法及设备,采用实施例的方案可以构建各种场景的3d矢量网格,比如室内、室外、平面和曲面等,极大提高了矢量建模的适用范围和商用价值。
6.第一方面,本技术实施例提供一种3d矢量网格生成方法,包括:
7.获取针对当前场景的多张第一图像,该多张第一图像为连续帧;对多张第一图像进行点云重建得到当前场景的点云和多张第一图像中每张第一图像的位姿;对多张第一图像中的每张第一图像进行语义分割得到该第一图像的2d语义信息;根据当前场景的点云、多张第一图像中每张第一图像的位姿及多张第一图像中每张第一图像的2d语义信息生成当前场景的3d语义模型,当前场景的3d语义模型为携带类别信息的3d点云;对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数;根据当前场景中矢量模型的类别和参数获取当前场景的3d矢量网格。
8.其中,当前场景的3d语义模型为携带类别信息的3d点云,具体是指当前场景的3d语义模型包括3d点云及该3d点云中每个3d点的类别。比如当前场景中包括桌子,在当前场景的3d语义模型中,当前场景中桌子对应的3d点云中每个3d点的类别为桌子。
9.根据当前场景中矢量模型的类别和参数获取当前场景的3d矢量网格,具体包括根据当前场景的矢量模型及参数从矢量模型库中获取当前场景的矢量模型,当前场景的3d矢
量网格包括当前场景的矢量模型。
10.可选地,当前场景中矢量模型的数量可以是一个,或者多个;当前场景的3d矢量网格包括当前场景中的一个或多个矢量模型。
11.通过结合形状语义分割,解决了矢量建模只能重建平面信息的问题,同时解决了现有矢量建模的无法适应室内复杂场景的问题;通过基于当前场景的3d语义模型进行矢量模型的特征提取和分类得到矢量模型的类别及参数,并根据矢量模型的类别及参数从矢量模型库中获取当前场景的矢量模型,使得可以依赖3d语义模型重建出多种多样的矢量模型,进而使得到覆盖全面、准确的3d矢量网格成为可能,真正打通了3d语义模型和3d矢量网格之间的通路,让系统能自适应各种场景,比如室内、室外、平面和曲面等,极大提高了矢量建模的适用范围和商用价值。
12.在一个可行的实施例中,对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数,包括:
13.对当前场景的3d语义模型进行特征提取,得到当前场景的3d特征图;对当前场景的3d特征图进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;根据矢量模型的特征向量对矢量模型进行分类,以得到矢量模型的类别;根据当前场景的3d特征图得到矢量模型的参数。
14.通过基于当前场景的3d语义模型得到当前场景中矢量模型的类型及参数,是得3d矢量建模不局限于几种特征的结构类别,可以适应室内、室外、平面和曲面等各种场景,极大提高了矢量建模的使用范围及商业价值。
15.在一个可行的实施例中,对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数,包括:
16.调用多任务神经网络,将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数。
17.在一个可行的实施例中,多任务神经网络包括卷积层、第一全连接层、第二全连接层和分类器,其中,卷积层的输出数据为第一全连接层的输入数据和第二全连接层的输入数据,第一全连接层的输出数据为分类器的输入数据,将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数,包括:
18.将当前场景的3d语义模型输入到卷积层进行特征提取,得到当前场景的3d特征图;将当前场景的3d特征图输入到第一全连接层进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;将当前场景的3d语义模型中矢量模型的特征向量输入到分类器中进行分类,得到当前场景的3d语义模型中矢量模型的类别;将当前场景的3d特征图输入到第二全连接层进行处理,得到当前场景的3d语义模型中矢量模型的参数。
19.通过引入多任务神经网络,输入3d语义模型,得到矢量模型的类别及参数,从而得到更加精细的矢量结果,并且扩大了使用范围。
20.在一个可行的实施例中,卷积层包括第一卷积层和第二卷积层,第一卷积层的结构和参数与第二卷积层的结构和参数相同;
21.第一卷积层的输出数据为第一全连接网络的输入数据;第二卷积层的输出数据为第二全连接层的输出数据;将当前场景的3d语义模型输入到第一卷积层进行特征提取,得到当前场景的3d特征图;将当前场景的3d语义模型输入到第二卷积层进行特征提取,得到
当前场景的3d特征图。
22.其中,由于在特征提取阶段,第一卷积层和第二卷积层共享权值,因此第一卷积层的3d特征图和第二卷积层输出的3d特征图相同。
23.在一个可行的实施例中,根据当前场景的点云、多张第一图像中每张第一图像的位姿及多张第一图像中每张第一图像的2d语义信息生成当前场景的3d语义模型,包括:
24.根据多张第一图像中每张第一图像的位姿将目标点云投影到多张第一图像中的每张第一图像上,得到目标点云中每个3d点在第一图像上对应的类别;其中,目标点云为当前场景的点云;将目标点云中的3d点作为节点,将3d点和该3d点在第一图像对应类别之间的连线作为边,构建基于马尔科夫随机场mrf的图模型;根据能量函数对基于mrf的图模型进行mrf优化求解,得到当前场景的3d语义模型,该3d语义模型中的每个3d点有唯一类别。
25.将目标点云投影到多张第一图像上时,由于目标点云中的一个3d点可能会投影到多张第一图像上,因此目标点云中的一个3d点可能会对应多个类别,因此按照上述方法构建基于mrf的图模型,再根据能量函数对该图模型进行优化求解,从而得到3d点具有唯一类别的3d语义模型。
26.第二方面,本技术实施例提供一种服务器,包括:
27.获取单元,用于获取针对当前场景的多张第一图像,该多张第一图像为连续帧;
28.处理单元,用于对多张第一图像进行点云重建得到当前场景的点云和多张第一图像中每张第一图像的位姿;对多张第一图像中的每张第一图像进行语义分割得到该第一图像的2d语义信息;
29.生成单元,用于根据当前场景的点云、多张第一图像中每张第一图像的位姿及多张第一图像中每张第一图像的2d语义信息生成当前场景的3d语义模型,当前场景的3d语义模型为携带类别信息的3d点云;
30.特征提取和分类单元,用于对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数;
31.获取单元,还用于根据当前场景中矢量模型的类别和参数获取当前场景的3d矢量网格。
32.在一个可行的实施例中,特征提取和分类单元具体用于:
33.对当前场景的3d语义模型进行特征提取,得到当前场景的3d特征图;对当前场景的3d特征图进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;根据矢量模型的特征向量对矢量模型进行分类,以得到矢量模型的类别;根据当前场景的3d特征图得到矢量模型的参数。
34.在一个可行的实施例中,特征提取和分类单元具体用于:
35.调用多任务神经网络,将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数。
36.在一个可行的实施例中,多任务神经网络包括卷积层、第一全连接层、第二全连接层和分类器,其中,卷积层的输出数据为第一全连接层的输入数据和第二全连接层的输入数据,第一全连接层的输出数据为分类器的输入数据,在将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数的方面,所述特征提取及分类单元具体用于:
37.将当前场景的3d语义模型输入到卷积层进行特征提取,得到当前场景的3d特征图;将当前场景的3d特征图输入到第一全连接层进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;将当前场景的3d语义模型中矢量模型的特征向量输入到分类器中进行分类,得到当前场景的3d语义模型中矢量模型的类别;将当前场景的3d特征图输入到第二全连接层进行处理,得到当前场景的3d语义模型中矢量模型的参数。
38.在一个可行的实施例中,卷积层包括第一卷积层和第二卷积层,第一卷积层的结构和参数与第二卷积层的结构和参数相同;第一卷积层的输出数据为第一全连接网络的输入数据;第二卷积层的输出数据为第二全连接层的输出数据;在将当前场景的3d语义模型输入到卷积层进行特征提取,得到当前场景的3d特征图的方面,特征提取及分类单元具体用于:
39.将当前场景的3d语义模型输入到第一卷积层进行特征提取,得到当前场景的3d特征图;将当前场景的3d语义模型输入到第二卷积层进行特征提取,得到当前场景的3d特征图。
40.在一个可行的实施例中,生成单元具体用于:
41.根据多张第一图像中每张第一图像的位姿将目标点云投影到多张第一图像中的每张第一图像上,得到目标点云中每个3d点在第一图像上对应的类别;其中,目标点云为当前场景的点云;将目标点云中的3d点作为节点,将3d点和该3d点在第一图像对应类别之间的连线作为边,构建基于马尔科夫随机场mrf的图模型;根据能量函数对基于mrf的图模型进行mrf优化求解,得到当前场景的3d语义模型,该3d语义模型中的每个3d点有唯一类别。
42.第三方面,本技术实施例提供一种服务器,其特征在于,包括:
43.存储器,用于存储指令;以及
44.处理器,与所述存储器耦合;
45.其中,当所述处理器执行所述指令时,执行如第一方面所述方法的部分或者全部。
46.第四方面,本技术实施例提供一种芯片系统,其特征在于,所述芯片系统应用于电子设备;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面所述方法的部分或者全部。
47.第五方面,本技术实施例提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述方法的部分或者全部。
48.第六方面,本技术实施例提供一种计算机程序产品,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面所述方法的部分或者全部。
49.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1为3d矢量网格示意图;
52.图2为本技术实施例提供的一种系统架构示意图;
53.图3为本技术实施例提供的一种应用场景示意图;
54.图4为本技术实施例提供的另一种应用场景示意图;
55.图5为本技术实施例提供的一种3d矢量网格生成方法的流程示意图;
56.图6为本技术实施例提供的一种多任务神经网络的架构示意图;
57.图7为本技术实施例提供的另一种多任务神经网络的架构示意图;
58.图8为本技术实施例提供的一种服务器的架构示意图;
59.图9为本技术实施例提供的另一种服务器的架构示意图。
具体实施方式
60.下面结合附图对本技术的实施例进行描述。
61.参见图2,图2为本技术实施例提供的一种系统架构示意图。如图2所示,该系统架构包括终端设备201和服务器202;
62.其中,上述终端设备201,又称之为用户设备(user equipment,ue),是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能和摄像头的手持式设备、车载设备等。常见的终端例如包括:手机、平板电脑、笔记本电脑、掌上电脑、带有摄像头的移动互联网设备(mobile internet device,mid)和可穿戴设备,例如带有摄像头的智能手表、智能眼镜等。
63.上述服务器202,用来接收、处理和存储数据。
64.终端设备201针对当前场景连续采集多张图像,将该多张图像发送至服务器202,该服务器按照本技术的方法根据多张图像得到当前场景的3d矢量网格;服务器202将当前场景的3d矢量网格发送至终端设备201;终端设备201利用当前场景的3d矢量网格进行渲染。
65.终端设备201基于当前场景的3d矢量网格实现在虚拟现实与增强现实的场景下场景的交互。比如在当前场景中放置虚拟物体。通过加载本发明生成的3d矢量网格,基于该3d矢量网络实现在当前场景中可以预置或者让用户选点放置虚拟物体比如红灯笼、热气球和跳舞的蔬果到场景中,再结合现实场景渲染显示出来,达到虚实结合的目的。通过3d矢量网格提供的场景三维信息,可以确保放置的物体仿佛真的是现实场景中的物体一般,如图3所示。
66.再比如,在ar应用中,通过加载本发明生成的3d矢量网格,可以实现用户与场景进行交互,再结合现实场景渲染显示出来,达到虚实结合的目的。通过3d矢量网格提供的场景三维信息,可以确保用户投掷的虚拟物体真实地“撞击”到现实场景,提供更好的ar体验,如图4所示,虚拟篮球与真实桌子碰撞。
67.在另一个示例中,上述终端设备201在获取多张图像后,按照服务器202对多张图像的处理方法,终端设备201对多张图像进行处理,得到当前场景的3d矢量网格,然后在基于当前场景的3d矢量网格进行渲染。
68.下面介绍服务器根据终端设备上传的多张图像得到当前场景的3d矢量网格。
69.参见图5,图5为本技术实施例提供的一种3d矢量网格生成方法的流程示意图。如图5所示,该方法包括:
70.s501、获取多张第一图像,该多张第一图像为连续帧。
71.其中,上述多张第一图像可为针对同一场景在不同角度拍摄的多张图像。该图像为rgb格式的图像,或者其他格式的图像。
72.s502、根据多张第一图像对当前场景进行点云重建,以得到当前场景的点云和多张第一图像中每张第一图像的位姿。
73.具体地,根据多张第一图像对当前场景进行点云重建,以得到当前场景的点云和多张第一图像中每张第一图像的位姿,包括:
74.对多张第一图像中的每张第一图像进行特征提取,以得到每张第一图像的多个特征描述子,每张第一图像的多个特征描述子与该第一图像中的多个特征点一一对应;其中,对多张第一图像中的每张第一图像进行特征提取的方式可以是尺度不变特征变换(scale invariant feature transform,sift)方法;从多张第一图像中获取多个图像对,多个图像对中的任一图像对包括多张第一图像中任意两张第一图像,或者多张第一图像中采集时间差小于第一预设阈值的两张第一图像;根据多个图像对中每个图像对内图像的特征描述子,对该图像对内图像的特征点进行匹配,得到一个或多个第一特征点匹配对,该一个或多个第一特征点匹配对中的每个第一特征点匹配对包括第一特征点和第二特征点,该特征点对包括的第一特征点和第二特征点分别为该第一特征点匹配对所属的图像对中的两张第一图像,且第一特征点对应的特征描述子与第二特征点对应的特征描述子之间的欧式距离小于第二预设阈值;对于图像对的一个或多个的第一特征点匹配对,通过特征点匹配对的对极几何关系,运用随机抽样一致性(random sample consensus)算法估计本质矩阵(essential matrix)、基础矩阵(fundamental matrix)和单应矩阵(homography matrix),并基于估计得到的本质矩阵、基础矩阵和单应矩阵确定该第一特征点匹配对是否为误匹配特征点对;按照该方法将图像对的一个或多个特征点匹配对中的误匹配特征点对删除,以得到该图像对的一个或多个第二特征点匹配对。至此,每个图像对的第二特征点匹配对均为精确的匹配对;
75.从多个图像对中获取目标图像对,该目标图像对满足预设条件的图像对,其中,预设条件为:图像对中第二特征点匹配对的数量大于第一预设数量,且目标图像对内两张第一图像的前后平移距离小于第一预设距离,且目标图像对的三角化的角度大于第一预设角度;计算目标图像对中采集时间在前的第一图像的位姿,基于该第一图像的位姿构建第一坐标系,计算目标图像对中另一张第一图像在第一坐标系下的位姿;并对目标图像对的特征点匹配对进行三角化,得到特征点匹配对对应的3d点,该3d点构成初始点云;此时目标图像对内两张第一图像可以看成是已注册的图像;
76.按照最佳视图帧选择方法对与已注册图像相关联的图像进行排序,得到排序结果,其中,与已注册图像相关联的图像包括与已注册图像组成上述图像对的图像;从排序结果中获取下一目标帧,该目标帧为排序结果中排序靠前的,且与已注册图像构成的图像对满足上述预设条件;采用p3p随机抽样一致性算法计算该目标帧的位姿,实现了对目标帧的注册,该目标帧的位姿是在第一坐标系下的位姿;根据目标帧的位姿与已注册图像的位姿,
及目标帧与已注册图像的特征点匹配对进行三角化,得到特征点匹配对对应的3d点;该3d点与初始点云中的3d点构成第一点云;然后重复执行上述步骤,直至将上述多张第一图像都进行了注册和三角化,得到目标点云;
77.对目标点云中的3d点和上述已注册的图像的位姿进行捆绑调整(bundle adjustment,ba),采用的是通过的最小化重投影误差来对位姿和3d点云进行优化的方法;具体地,输入的是已注册的图像及目标点云中的3d点,输出为已注册的图像中每张图像的优化后的位姿及优化后的3d点,该优化后的3d点构成的点云为稀疏点云。可选地,为了保证精度,对优化后的3d点进行重新三角化和滤波操作,得到的3d点构成的点云为稀疏点云。
78.在一个可选的实施例中,在执行完目标帧的注册和三角化后,对得到的3d点和目标帧的位姿进行捆绑调整;然后按照上述方法对下一帧进行注册和三角化,再对得到的3d点和下一帧的位姿进行捆绑调整,直至完成所有第一图像的注册、三角化和捆绑调整,得到上述稀疏点云和每张第一图像的位姿。
79.基于多张第一图像中每张第一图像的位姿和共视关系,筛选出多张第一图像中每张第一图像的可靠邻域帧,该邻域帧满足基线足够长(保证精度),公共可视区域足够大(保证覆盖范围)。
80.以上述稀疏点云为基础,给该点云中对应的深度图中的每个深度像素赋予初始值;遍历该初始深度图中的每个像素点,以像素点所在的图像块(比如尺寸为7*7的图像块)的归一化互相关(normalized cross correlation,ncc)相似性分数为准则,采用邻域传播和随机扰动,对每个像素的深度值进行迭代优化,将不可靠的深度值去掉,从而得到原始深度图;对原始深度图进行去除深度碎片和小空洞/缝隙填充操作,得到优化的深度图;
81.由于上述优化的深度图还不够理想,因此需要对优化后的深度图继续进行优化,具体包括:根据当前图像的位姿将当前图像的邻域帧对应的深度图投影到当前图像,得到新的深度图,并将当前图像的邻域帧的置信度确定为新的深度图的置信度;判断当前图像的邻域帧对应的深度值是否与当前图像的深度值相似;若相似,则累加当前图像的邻域帧的加权深度,加权深度具体是指深度值和置信度相乘,并更新积极帧计数器和累加积极置信度;反之,则更新消极计数器和消极置信度,即深度值相似时积极帧计数器加1,不相似时消极帧计数器加1;
82.如果积极帧计数器大于第三预设阈值,且积极置信度累加和大于消极置信度累加和,且最终的加权深度大于最小深度且小于最大深度,则更新此点深度及和置信度;否则丢弃此点深度及置信度,丢弃此点的置信度具体是将该置信度置0。
83.按照上述方法,完成对上述优化后的深度图的进一步优化,得到目标深度图。
84.通过深度图的内参将目标深度图转换为有尺度信息的三维点云,并根据多张第一图像中每张第一图像的位姿将该有尺度信息的三维点云转换到场景坐标系下,并与之前的稀疏点云进行融合,以得到可描述场景的完整点云,该点云为目标点云。
85.s503、对多张第一图像中的每张第一图像进行形状语义分割,以得到所述每张第一图像的2d语义信息。
86.具体地,对多张第一图像的每张第一图像进行特征提取,以得到该第一图像的多张第一特征图;该多张第一特征图的尺度各不相同;将该第一图像的多张第一特征图进行特征融合,得到该第一图像的第二特征图;对该第二特征图中的每个像素点进行分类,以得
到每个像素点的类别。
87.其中,对每张第一图像进行特征提取,具体可以采用vggnet、resnet、resnxet、densenet等网络结构来提取第一图像的不同尺度的抽象语义特征;对提取的第一图像的不同尺度的抽象语义特征进行特征融合,包括对第一图像的多张第一特征图中的分辨率最低的第一特征图进行上采样,得到第三特征图,第三特征图的分辨率为分辨率最低的第一特征图的分辨率的n倍;对第三特征图与在多张第一特征图中与该第三特征图的分辨率相同的特征图进行融合,得到第四特征图;对该第四特征图进行上采样,得到第五特征图,第五特征图的分辨率为第四特征图分辨率的n倍;对第五特征图与在多张第一特征图中与该第五特征图的分辨率相同的特征图进行融合,得到第六特征图;重复执行上采样和融合过程,直至融合得到分辨率与多张第一特征图中最大分辨率相同的特征图,该特征图为第一图像的目标特征图;
88.由于上述上采样过程中上采样的倍数高,导致语义特征比较模糊和图像中的细节丢失,最终会产生分割不完整等问题。因此可采用以下方式:
89.采用deeplab-v3 对多张第一图像中的每张第一图像进行语义分割,并在deeplab-v3 结构中引入基于空洞卷积(dilated convolution)的空间多金字塔(atrous spatial pyramid pooling,aspp)结构,从而引入多尺度信息,从而得到的每张第一图像的多尺度的特征图;然后将低尺度特征图与高尺度特征图进一步融合,得到第一图像的目标特征图,采用该方法提高了分割的准确度。另外,为了提高分割速度和鲁棒性,在aspp和特征上采样及融合中引入深度可分离卷积。
90.在得到多张第一图像中每张第一图像的目标特征图后,对每张第一图像的目标特征图中的每个像素进行分类,得到每个像素点的类别;对目标特征图中的像素点进行分类可以采用softmax分类器来实现;上述每张第一图像的2d语义信息包括该第一图像的目标特征图中每个像素点的类别。
91.s504、根据当前场景的点云和多张第一图像中每张第一图像的位姿,与多张第一图像中每张第一图像的2d语义信息得到当前场景的3d语义模型。
92.具体地,通过运动恢复结构(structure-from-motion,sfm)的可视图模型,根据多张第一图像中每张第一图像的将目标点云投影到该第一图像上,得到目标点云中每个3d点在该第一图像上对应的类别;为了实现2d语义到3d语义点云的传递,将3d点云作为节点,点云中的3d点和该3d点在第一图像中的对应的类别之间的连线作为边,构建基于mrf的图模型;由于在2d语义到3d点之间的语义标记传递的过程中,3d点对应的多个2d超像素可能具有不同的标记值,也就是说一个3d点可能对应多个类别,通过构建能量函数,利用mrf优化求解得到最终携带3d语义的点云,该携带3d语义的点云为当前场景的3d语义模型,该3d点云中的每个3d点有唯一类别。
93.其中,上述能量函数为本领域人员所熟知的,在此不再具体叙述。
94.s505、根据当前场景的3d语义模型进行特征提取及分类,得到当前场景中矢量模型的类型及参数,并根据当前场景的矢量模型的类型及参数获取当前场景的3d矢量网格。
95.在一个可行的实施例中,根据当前场景的3d语义模型得到当前场景的3d矢量网格,包括:
96.对当前场景的3d语义模型进行特征提取,得到当前场景的3d特征图;对当前场景
的3d特征图进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;根据矢量模型的特征向量对矢量模型进行分类,以得到矢量模型的类别;根据当前场景的3d特征图得到矢量模型的参数,当前场景的3d矢量网格包括矢量模型的类别及参数。
97.其中,矢量模型为当前场景的3d特征图中具有矢量特征的模型,矢量特征比如可以为直线、曲线、平面等。矢量模型的类别为在当前场景中该矢量模型所对应的物体的类别,比如桌子、椅子、气球、门、树等;矢量模型的参数为在当前场景中该矢量模型所对应的物体的参数,比如桌子的高度、位置、材质等,门的位置、尺寸等。
98.可选地,根据当前场景的3d语义模型得到当前场景的3d矢量网格,包括:
99.调用多任务神经网络,将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别及参数。
100.如图6所示,多任务神经网络包括卷积层、两个全连接层及分类器,两个全连接层分别为第一全连接层和第二全连接层;卷积层的输出数据为两个全连接层的输入数据,第一全连接层的输出数据为分类器的输入数据;将当前场景的3d语义模型输入到卷积层,对当前场景的3d语义模型进行特征提取,得到当前场景的3d特征图;将当前场景的3d特征图输入到第一全连接层和第二全连接层中,通过第一全连接层对当前场景的3d语义模型进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;其中,卷积层可以采用vggnet、resnet等网络结构,采用3d卷积来代替原始网络结构的2d卷积运算,从而提取更高的质量的3d特征;卷积层可以看成编码器,第一全连接层可以看成解码器;将当前场景的3d语义模型中矢量模型的特征向量输入到分类器中,分类器输出矢量模型的类别;通过第二全连接层得到当前场景的3d语义模型中矢量模型的参数,进而得到当前场景的3d矢量网格,该3d矢量网络包括当前场景的3d语义模型中矢量模型的类别及参数。
101.在一个可行的示例中,如图7所示,多任务神经网络包括两个卷积层、两个全连接层和分类器,其中,两个卷积层分别为第一卷积层和第二卷积层,两个全连接层包括第一全连接层和第二全连接层;第一卷积层的输出数据和第二卷积层的输出数据分别为第一全连接层的输入数据和第二全连接层的输入数据,第一全连接层的输出数据为分类器的输入数据;其中,第一卷积层的结构和参数与第二卷积层的结构和参数相同,换言之,第一卷积层的参数和第二卷积层的参数是共享的,第一卷积层的功能与第二卷积层的功能均与如图6中卷积层的功能相同;图7中所示的第一全连接层、第二全连接层和分类器的功能分别与图6中所示的第一全连接层、第二全连接层和分类器的功能相同。
102.按照上述方式获取当前场景中矢量模型的类别和参数后,根据当前场景中矢量模型的类别和参数从矢量模型库中获取当前场景中矢量模型,进而得到当前场景的3d矢量网格。
103.可以看出,在本技术的方案中,通过结合形状语义分割,解决了矢量建模只能重建平面信息的问题,同时也解决了现有矢量建模无法适应室内复杂场景的问题;通过多任务神经网络,增强了矢量建模的扩展能力,使得依靠3d语义模型重建出多种多样的矢量模型,进而使得到覆盖全面、准确的三维矢量网格成为可能,真正打通了3d语义模型和3d矢量网格之间的通路,让系统能自适应各种场景,比如室内、室外、平面和曲面等各种场景,极大提高了矢量建模的适用范围和商用价值。使用本发明的方案,可以自动生成室内外场景的3d矢量网格,大大降低成本,对ar和虚拟现实(virtual reality,vr)领域中的虚拟对象放置、
场景交互碰撞、虚实遮挡等有重要作用。
104.参见图8,图8为本发明实施例提供的一种服务器的结构示意图。如图8所示,该服务器800包括:
105.获取单元801,用于获取针对当前场景的多张第一图像,该多张第一图像为连续帧;
106.处理单元802,用于对多张第一图像进行点云重建得到当前场景的点云和多张第一图像中每张第一图像的位姿;对多张第一图像中的每张第一图像进行语义分割得到该第一图像的2d语义信息;
107.生成单元803,用于根据当前场景的点云、多张第一图像中每张第一图像的位姿及多张第一图像中每张第一图像的2d语义信息生成当前场景的3d语义模型,当前场景的3d语义模型为携带类别信息的3d点云;
108.特征提取和分类单元804,用于对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数;
109.获取单元801,还用于根据当前场景中矢量模型的类别和参数获取当前场景的3d矢量网格。
110.在一个可行的实施例中,特征提取和分类单元804具体用于:
111.对当前场景的3d语义模型进行特征提取,得到当前场景的3d特征图;对当前场景的3d特征图进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;根据矢量模型的特征向量对矢量模型进行分类,以得到矢量模型的类别;根据当前场景的3d特征图得到矢量模型的参数。
112.在一个可行的实施例中,特征提取和分类单元804具体用于:
113.调用多任务神经网络,将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数。
114.在一个可行的实施例中,多任务神经网络包括卷积层、第一全连接层、第二全连接层和分类器,其中,卷积层的输出数据为第一全连接层的输入数据和第二全连接层的输入数据,第一全连接层的输出数据为分类器的输入数据,在将当前场景的3d语义模型输入到多任务神经网络中进行特征提取和分类,得到当前场景中矢量模型的类别和参数的方面,特征提取及分类单元804具体用于:
115.将当前场景的3d语义模型输入到卷积层进行特征提取,得到当前场景的3d特征图;将当前场景的3d特征图输入到第一全连接层进行特征解码,得到当前场景的3d语义模型中矢量模型的特征向量;将当前场景的3d语义模型中矢量模型的特征向量输入到分类器中进行分类,得到当前场景的3d语义模型中矢量模型的类别;将当前场景的3d特征图输入到第二全连接层进行处理,得到当前场景的3d语义模型中矢量模型的参数。
116.在一个可行的实施例中,卷积层包括第一卷积层和第二卷积层,第一卷积层的结构和参数与第二卷积层的结构和参数相同;第一卷积层的输出数据为第一全连接网络的输入数据;第二卷积层的输出数据为第二全连接层的输出数据;在将当前场景的3d语义模型输入到卷积层进行特征提取,得到当前场景的3d特征图的方面,特征提取及分类单元804具体用于:
117.将当前场景的3d语义模型输入到第一卷积层进行特征提取,得到当前场景的3d特
征图;将当前场景的3d语义模型输入到第二卷积层进行特征提取,得到当前场景的3d特征图。
118.在一个可行的实施例中,生成单元803具体用于:
119.根据多张第一图像中每张第一图像的位姿将目标点云投影到多张第一图像中的每张第一图像上,得到目标点云中每个3d点在第一图像上对应的类别;其中,目标点云为当前场景的点云;将目标点云中的3d点作为节点,将3d点和该3d点在第一图像对应类别之间的连线作为边,构建基于马尔科夫随机场mrf的图模型;根据能量函数对基于mrf的图模型进行mrf优化求解,得到当前场景的3d语义模型,该3d语义模型中的每个3d点有唯一类别。
120.需要说明的是,上述各单元(获取单元801、处理单元802、生成单元803和特征提取及分类单元804)用于执行上述方法的相关步骤。比如获取单元801用于执行s501和s505的相关内容,处理单元802用于执行s502和s503的相关内容,生成单元803用于执行s504的相关内容,特征提取和分类单元804用于执行s505的相关内容。
121.在本实施例中,服务器800是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,asic),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元801、处理单元802、生成单元803和特征提取及分类单元804可通过图9所示的服务器的处理器901来实现。
122.如图9所示服务器900可以以图9中的结构来实现,该服务器900包括至少一个处理器901,至少一个存储器902以及至少一个通信接口903。所述处理器901、所述存储器902和所述通信接口903通过所述通信总线连接并完成相互间的通信。
123.处理器901可以是通用中央处理器(cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制以上方案程序执行的集成电路。
124.通信接口1103,用于与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wireless local area networks,wlan)等。
125.存储器1102可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
126.其中,所述存储器1102用于存储执行以上方案的应用程序代码,并由处理器501来控制执行。所述处理器1101用于执行所述存储器1102中存储的应用程序代码。
127.存储器1102存储的代码可执行以上提供的任一种3d矢量网格生成方法,比如:
128.获取针对当前场景的多张第一图像,该多张第一图像为连续帧;对多张第一图像进行点云重建得到当前场景的点云和多张第一图像中每张第一图像的位姿;对多张第一图
像中的每张第一图像进行语义分割得到该第一图像的2d语义信息;根据当前场景的点云、多张第一图像中每张第一图像的位姿及多张第一图像中每张第一图像的2d语义信息生成当前场景的3d语义模型,当前场景的3d语义模型为携带类别信息的3d点云;对当前场景的3d语义模型进行矢量模型的特征提取及分类,得到当前场景中矢量模型的类别和参数;根据当前场景中矢量模型的类别和参数获取当前场景的3d矢量网格。
129.本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种3d矢量网格生成方法的部分或全部步骤。
130.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
131.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
132.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
133.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
134.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
135.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
136.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
137.以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献