一种快速目标三维重建方法及装置与流程

文档序号:34552053发布日期:2023-06-28 02:54阅读:63来源:国知局
一种快速目标三维重建方法及装置与流程

本发明涉及一种目标三维重建方法,属于多视图三维重建。


背景技术:

1、针对某一目标的多视图三维重建流程通常包括稀疏重建和之后的网格重建,其中,稀疏重建是通过对目标的多视图图像序列进行特征检测和特征匹配,并根据特征匹配结果计算得到目标的稀疏点云和相机位姿;网格重建则是在稀疏重建基础上进一步得到目标更精细的网格结构特征及纹理特征。

2、现有多视图三维重建技术的网格重建通常包括稠密重建、网格几何结构重建和纹理重建。其中稠密重建采用深度估计、法线估计算法预测出图像中每个像素的深度和法线方向,从而得到每个像素在空间中的位置,即未经处理的稠密点云,再利用点云融合算法对这些点云进行过滤和融合,得到处理后的稠密点云。网格几何结构重建采用泊松曲面重建或delaunay三角化算法将处理后的稠密点云转变为网格。最后纹理重建结合相机位姿将网格投影到图像空间提取纹理。显然,现有的网格重建方法存在步骤繁琐复杂的问题,总的耗时很长。

3、另一方面,稀疏重建首先需要进行特征检测和特征匹配;特征检测步骤从每张图像中检测出特征点和对应的描述符(descriptor),特征点一般为图像内容中的角点、交叉点、闭合区域中心点等显著可区分的点,描述符为对应点的特征。特征匹配步骤从图像序列中选取两张图像,根据描述符对两组特征点集进行匹配,再根据匹配到的特征点计算二者的相机相对位姿。多视图数据的拍摄方式通常为拍摄设备环绕目标拍摄多圈,空间上相近的图像能够较好地匹配。拍摄的图像虽在时间上具备连续性,但缺少准确的gps信息,所以无法直接找出与某一张图像空间位置相近的所有图像。现有的特征匹配逻辑通常为顺序匹配或乱序匹配。顺序匹配方法是将当前图像与时间上相近的若干帧图像进行匹配,但由于图像序列是环绕拍摄的,很多空间上位置上相近的图像,可能时间上并不相邻,导致部分图像无法很好地匹配。而乱序匹配是将任意两张图像都进行匹配,这样虽然保证了所有空间上相近的帧都不会被忽略,但n幅图像需匹配n(n-1)次,耗时过长。


技术实现思路

1、本发明所要解决的技术问题在于克服现有技术所存在的网格重建过程繁琐耗时的不足,提供一种可快速完成网格重建过程的快速目标三维重建方法。

2、本发明具体采用以下技术方案解决上述技术问题:

3、一种快速目标三维重建方法,包括对目标的多视图图像序列进行稀疏重建,得到目标的稀疏点云和相机位姿的步骤,以及其后的网格重建以得到目标三维模型的步骤,所述网格重建包括以下步骤:

4、s1、将稀疏重建得到的稀疏点云体素化,并将体素网格化为顶点颜色未知的粗糙网格;

5、s2、对所述多视图图像序列中的每幅图像ii进行显著性检测,得到图像ii的目标掩模mi,i=1,2,...,n,n为所述多视图图像序列的图像数量;

6、s3、使用第一可微渲染方法对粗糙网格中的顶点颜色进行优化,得到粗糙网格中各顶点的初步颜色;在所述第一可微渲染方法中,以所述多视图图像序列中所有图像的目标掩模内的平均像素颜色作为粗糙网格中各顶点的初始化颜色,并以作为损失函数,其中,ri为图像ii的渲染图像,函数表示计算图像的像素值之和;

7、s4、使用第二可微渲染方法对粗糙网格中的顶点位置和顶点颜色同时进行优化,得到最终的目标三维模型;在所述第二可微渲染方法中,以s1中所得到粗糙网格的顶点位置作为各顶点的初始位置,以s3所得到的各顶点的初步颜色作为各顶点的初始颜色,并以作为损失函数,其中,为图像ii的渲染图像,函数表示计算图像的像素值之和。

8、进一步优选地,在进行稀疏重建时,使用以下方法进行特征匹配:对于所述多视图图像序列中的第i幅图像ii,首先将其与其后的第i+s、i+2s、i+3s、…i+ns张图像分别进行特征匹配,并从匹配成功的图像中选出匹配到的特征点数大于特征点数阈值且/或匹配度大于匹配度阈值的图像作为图像ii的相机位姿相近图像;然后,将图像ii与其后的w张图像以及图像ii的相机位姿相近图像的前w张图像和后w张图像分别进行特征匹配;其中,s为大于2的整数,i=1,2,...,n,i+ns<n ,0<w<s ,n为所述多视图图像序列的图像数量。

9、优选地,在进行稀疏重建时,使用superpoint算法提取图像序列中每张图像中的特征点和特征描述子。优选地,使用superglue算法进行所述特征匹配。

10、优选地,在进行稀疏重建时,使用增量sfm算法计算出目标的稀疏点云和相机位姿。

11、优选地,使用open3d工具库的voxelgrid. create_from_point_cloud方法将稀疏重建得到的稀疏点云体素化,使用marching cube算法将体素网格化。

12、基于同一发明构思还可以得到以下技术方案:

13、一种快速目标三维重建装置,包括用于对目标的多视图图像序列进行稀疏重建,以得到目标的稀疏点云和相机位姿的稀疏重建单元,以及用于进行网格重建以得到目标三维模型的网格重建单元,其特征在于,所述网格重建单元包括:

14、网格化模块,用于将稀疏重建得到的稀疏点云体素化,并将体素网格化为顶点颜色未知的粗糙网格;

15、显著性检测模块,用于对所述多视图图像序列中的每幅图像ii进行显著性检测,得到图像ii的目标掩模mi,i=1,2,...,n,n为所述多视图图像序列的图像数量;

16、第一可微渲染优化模块,用于使用第一可微渲染方法对粗糙网格中的顶点颜色进行优化,得到粗糙网格中各顶点的初步颜色;在所述第一可微渲染方法中,以所述多视图图像序列中所有图像的目标掩模内的平均像素颜色作为粗糙网格中各顶点的初始化颜色,并以作为损失函数,其中,ri为图像ii的渲染图像,函数表示计算图像的像素值之和;

17、第二可微渲染优化模块,用于使用第二可微渲染方法对粗糙网格中的顶点位置和顶点颜色同时进行优化,得到最终的目标三维模型;在所述第二可微渲染方法中,以s1中所得到粗糙网格的顶点位置作为各顶点的初始位置,以s3所得到的各顶点的初步颜色作为各顶点的初始颜色,并以作为损失函数,其中,为图像ii的渲染图像,函数表示计算图像的像素值之和。

18、进一步优选地,稀疏重建单元包括特征匹配模块,用于使用以下方法进行特征匹配:对于所述多视图图像序列中的第i幅图像ii,首先将其与其后的第i+s、i+2s、i+3s、…i+ns张图像分别进行特征匹配,并从匹配成功的图像中选出匹配到的特征点数大于特征点数阈值且/或匹配度大于匹配度阈值的图像作为图像ii的相机位姿相近图像;然后,将图像ii与其后的w张图像以及图像ii的相机位姿相近图像的前w张图像和后w张图像分别进行特征匹配;其中,s为大于2的整数,i=1,2,...,n,i+ns<n ,0<w<s ,n为所述多视图图像序列的图像数量。

19、优选地,稀疏重建单元使用superpoint算法提取图像序列中每张图像中的特征点和特征描述子。

20、优选地,使用superglue算法进行所述特征匹配。

21、优选地,稀疏重建单元使用增量sfm算法计算出目标的稀疏点云和相机位姿。

22、优选地,网格化模块使用open3d工具库的voxelgrid. create_from_point_cloud方法将稀疏重建得到的稀疏点云体素化,使用marching cube算法将体素网格化。

23、相比现有技术,本发明技术方案具有以下有益效果:本发明使用可微渲染加迭代优化的方式取代了传统网格重建过程中所使用的稠密重建、网格几何结构重建、纹理重建这些繁琐耗时的流程,可大幅提高目标三维重建的效率;

24、本发明进一步采用间隔匹配加相近图像密集匹配的特征匹配思路,并可通过调整间隔s和前后帧个数w来权衡匹配成功率和速度;相比传统的顺序匹配提升了匹配成功率;相比传统的乱序匹配,成倍提升了匹配速度。

25、实施方式

26、针对现有技术所存在的网格重建过程繁琐耗时的不足,本发明的解决思路是使用可微渲染加迭代优化的方式取代传统网格重建过程中所使用的稠密重建、网格几何结构重建、纹理重建这些繁琐耗时的流程,以大幅提高目标三维重建的效率。

27、具体地,本发明所提出的快速目标三维重建方法,包括对目标的多视图图像序列进行稀疏重建,得到目标的稀疏点云和相机位姿的步骤,以及其后的网格重建以得到目标三维模型的步骤,所述网格重建包括以下步骤:

28、s1、将稀疏重建得到的稀疏点云体素化,并将体素网格化为顶点颜色未知的粗糙网格;

29、s2、对所述多视图图像序列中的每幅图像ii进行显著性检测,得到图像ii的目标掩模mi,i=1,2,...,n,n为所述多视图图像序列的图像数量;

30、s3、使用第一可微渲染方法对粗糙网格中的顶点颜色进行优化,得到粗糙网格中各顶点的初步颜色;在所述第一可微渲染方法中,以所述多视图图像序列中所有图像的目标掩模内的平均像素颜色作为粗糙网格中各顶点的初始化颜色,并以作为损失函数,其中,ri为图像ii的渲染图像,函数表示计算图像的像素值之和;

31、s4、使用第二可微渲染方法对粗糙网格中的顶点位置和顶点颜色同时进行优化,得到最终的目标三维模型;在所述第二可微渲染方法中,以s1中所得到粗糙网格的顶点位置作为各顶点的初始位置,以s3所得到的各顶点的初步颜色作为各顶点的初始颜色,并以作为损失函数,其中,为图像ii的渲染图像,函数表示计算图像的像素值之和。

32、本发明所提出的快速目标三维重建装置,包括用于对目标的多视图图像序列进行稀疏重建,以得到目标的稀疏点云和相机位姿的稀疏重建单元,以及用于进行网格重建以得到目标三维模型的网格重建单元,其特征在于,所述网格重建单元包括:

33、网格化模块,用于将稀疏重建得到的稀疏点云体素化,并将体素网格化为顶点颜色未知的粗糙网格;

34、显著性检测模块,用于对所述多视图图像序列中的每幅图像ii进行显著性检测,得到图像ii的目标掩模mi,i=1,2,...,n,n为所述多视图图像序列的图像数量;

35、第一可微渲染优化模块,用于使用第一可微渲染方法对粗糙网格中的顶点颜色进行优化,得到粗糙网格中各顶点的初步颜色;在所述第一可微渲染方法中,以所述多视图图像序列中所有图像的目标掩模内的平均像素颜色作为粗糙网格中各顶点的初始化颜色,并以作为损失函数,其中,ri为图像ii的渲染图像,函数表示计算图像的像素值之和;

36、第二可微渲染优化模块,用于使用第二可微渲染方法对粗糙网格中的顶点位置和顶点颜色同时进行优化,得到最终的目标三维模型;在所述第二可微渲染方法中,以s1中所得到粗糙网格的顶点位置作为各顶点的初始位置,以s3所得到的各顶点的初步颜色作为各顶点的初始颜色,并以作为损失函数,其中,为图像ii的渲染图像,函数表示计算图像的像素值之和。

37、为了进一步平衡特征匹配的成功率和匹配速度,本发明进一步提出了一种间隔匹配加相近图像密集匹配的特征匹配方案,具体地:在进行稀疏重建时,使用以下方法进行特征匹配:对于所述多视图图像序列中的第i幅图像ii,首先将其与其后的第i+s、i+2s、i+3s、…i+ns张图像分别进行特征匹配,并从匹配成功的图像中选出匹配到的特征点数大于特征点数阈值且/或匹配度大于匹配度阈值的图像作为图像ii的相机位姿相近图像;然后,将图像ii与其后的w张图像以及图像ii的相机位姿相近图像的前w张图像和后w张图像分别进行特征匹配;其中,s为大于2的整数,i=1,2,...,n,i+ns<n ,0<w<s ,n为所述多视图图像序列的图像数量。

38、为了便于公众理解,下面通过一个优选实施例来对本发明的技术方案进行进一步详细说明:

39、本实施例的目标快速三维重建过程具体如下:

40、步骤1、使用拍摄设备(如无人机、摄像机、手机)环绕目标多圈拍摄。

41、步骤2、对拍摄好的视频截取视频帧,去除不包含目标或目标占比较小的图像,得到时间上有先后顺序的目标的多视图图像序列,图像数量为n(n为正整数)。

42、步骤3、使用superpoint算法提取图像序列中每张图像中的特征点和特征描述子。

43、步骤4、对于第i张图像ii,将其与之后的图像进行每间隔s-1帧匹配一次(s为正整数,s>2),即第i张图像与第i+s、i+2s、i+3s、…i+ns张图像进行匹配(i+ns<n), 匹配算法采用superglue;当图像ii和ii+js匹配成功时(j为正整数,1≤j≤n),若匹配到的特征点数大于阈值p且匹配平均得分大于阈值score时,则认为两幅图像的相机位姿相近。如采用其它无匹配得分的特征匹配算法,则可采用两幅图像的相似度作为匹配度。

44、步骤5、对于第i张图像(i为正整数,1≤i≤n),将其与之后的w张图像分别进行特征匹配;此外当步骤4中判断存在与图像ii相机位姿相近的图像时,再将ii与其位姿相近的图像之前的w张和之后的w张图像分别进行特征匹配,0<w<s。

45、步骤6、对匹配结果采用增量sfm(structure from motion)算法,计算出稀疏点云和相机位姿。

46、步骤7、将稀疏点云网格化,采用open3d工具库的voxelgrid. create_from_point_cloud方法将稀疏重建得到的稀疏点云体素化,采用marching cube算法将体素转为粗糙的网格meshinit;网格中包含顶点位置和拓扑结构,但顶点颜色未知。

47、步骤8、使用显著性检测算法检测出每幅图像中的目标掩模(mask),将图像ii对应的目标掩模记为mi,mi是一个二值图像,包含目标区域的像素值为1,其他区域为0。

48、步骤9、使用可微渲染的方式获取网格顶点的初步颜色:首先计算所有图像中目标掩模内的平均像素颜色,以其初始化meshinit的所有顶点颜色,函数用于计算图像的像素值之和;接下来固定meshinit,将顶点颜色作为变量进行优化,将图像ii对应的相机位姿、meshinit、meshinit顶点颜色变量输入到可微渲染器,得到渲染图像ri;计算渲染图像与原图像的损失值,然后采用梯度下降法来优化顶点颜色使得损失值下降;对每张图像均采用此优化方法,进行多轮优化后,最终得到网格meshinit各顶点的初步颜色。

49、步骤10、使用可微渲染的方式同时优化网格顶点位置和网格顶点颜色:保持网格拓扑结构不变,将网格顶点位置和顶点颜色都作为变量,使用meshinit的顶点位置初始化网格顶点位置变量,步骤9中得到的顶点的初步颜色初始化顶点颜色变量;将图像ii对应的相机位姿、网格拓扑结构、网格顶点位置变量、网格顶点颜色变量输入到可微渲染器,得到渲染图像;计算渲染图像与原图像的损失值,使用可微渲染和梯度下降法同时调整网格顶点位置和顶点颜色,使渲染图像与原图像的损失值不断下降,经过多轮优化,最后得到精细优化后的网格和顶点颜色,即目标的三维模型。

50、以上方案中所涉及的superpoint算法、superglue算法、增量sfm算法、open3d工具库的voxelgrid. create_from_point_cloud方法、marching cube算法、显著性检测算法、可微渲染器等,均为优选的现有技术,也可采用现有或将有的同类算法进行替换;为节省篇幅起见,此处不对其进行进一步说明。

51、为了验证本发明技术方案的技术效果,分别对本发明所采用的特征匹配算法及网格重建算法进行了实验验证。

52、首先验证本发明匹配算法的优势。

53、围绕某物体拍摄一段视频,提取有效帧共170张,分别采用顺序匹配、乱序匹配和本发明匹配方法。间隔s=10,前后帧个数w=4,当两幅图像匹配到的关键点数大于50且匹配平均得分大于0.5时,则认为两幅图的相机位姿相近。

54、

55、从实验结果可以看出,本发明特征匹配方法相比顺序匹配大大提高了匹配的成功率,接近乱序匹配的效果,且速度是乱序匹配的7.2倍。

56、对匹配结果采用sfm算法,计算出稀疏点云和相机位姿,然后分别使用传统网格重建方法和本发明网格重建方法进行处理比对。传统方法使用colmap工具重建,重建步骤包括稠密重建(深度图估计、法线估计、稠密点云融合)、网格几何结构重建(泊松表面重建算法)、纹理重建(纹理映射方法),这些步骤的总耗时为135分钟。本发明方法采用open3d工具库的voxelgrid.create_from_point_cloud方法将点云进行体素化,使用marching cube算法将体素网格化,显著性检测算法使用u2net,可微渲染器采用pytorch3d,总体耗时为24分钟,仅为传统网格重建方法的17.8%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1