三维模型构建方法、装置、电子设备及存储介质与流程

文档序号:36503241发布日期:2023-12-28 07:32阅读:32来源:国知局
三维模型构建方法与流程

本公开涉及图像领域但不限于图像领域,尤其涉及一种三维模型构建方法、装置、电子设备及存储介质。


背景技术:

1、在配准两个三维点云图的应用场景中,一般会通过配准三维点云图的三维点以配准两个三维点云图。但是相关技术中一般需要通过复杂的运算才能确定出第一三维点云图和第二三维点云图中对应的三维点,以对两个三维点云图中对应的三维点进行配准和融合。如此,相关技术中配准三维点云图的过程复杂,耗时久,配准和融合的效率低。


技术实现思路

1、有鉴于此,本公开实施例公开了一种三维模型构建方法、装置、电子设备及存储介质。

2、根据本公开实施例的第一方面,提供一种三维模型构建方法,所述方法包括:

3、获取第一图像和第二图像;其中,所述第一图像和所述第二图像为分别从不同方位获取的同一对象的图像;

4、基于所述第一图像和所述第二图像,确定视差图;其中,所述视差图用于指示所述对象上的同一特征在所述第一图像和所述第二图像中的位置偏差;

5、基于所述视差图,确定所述第一图像在三维空间中对应的第一三维点云图和所述第二图像在所述三维空间中对应的第二三维点云图;

6、分别获取所述第一图像和所述第二图像中预定特征的图像特征点;

7、基于所述图像特征点,配准并融合所述第一三维点云图和所述第二三维点云图,获得融合后的三维点云图;

8、构建所述融合后的三维点云图的表面,获得三维模型。

9、在一个实施例中,所述对象为人脸,所述预定特征包括所述人脸的眉毛特征、眼睛特征、嘴巴特征、鼻子特征、耳朵特征和轮廓特征中的至少一种。

10、在一个实施例中,所述第一图像和所述第二图像均包括n个像素点,所述方法还包括:

11、利用视差集中包括的视差值,确定在第n个像素点与第一预定像素点之间的视差值为所述视差集中的每一视差值时所述第n个像素点与所述第一预定像素点之间的匹配代价值;其中,所述第n个像素点为所述第一图像中的像素点,所述第一预定像素点为所述第二图像的像素点;所述视差集包括第一预定数量的所述视差值;所述视差值用于指示所述第n个像素点和所述第一预定像素点在像素坐标系中的位置偏差;所述匹配代价值用于指示第n个像素点和所述第一预定像素点之间的相似度;n为正整数且n小于n;

12、基于所述第n个像素点对应的匹配代价值,从所述视差集中确定出所述第n个像素点对应的目标视差值;

13、所述确定所述第一图像和所述第二图像对应的视差图,包括:

14、基于第1个像素点至第n个像素点对应的所述目标视差值,确定所述视差图;其中,所述视差图中的像素点依次用于指示所述第1个像素点至所述第n个像素点对应的所述目标视差值。

15、在一个实施例中,所述第n个像素点和所述第一预定像素点之间的相似度和所述匹配代价值反相关,所述基于第n个像素点的匹配代价值,从所述视差集中确定出所述第n个像素点对应的目标视差值,包括:

16、基于所述第n个像素点对应的匹配代价值,从所述第一预定像素点中确定出目标像素点;其中,所述目标像素点为所述第一预定像素点中与所述第n个像素点之间的相似度大于相似度阈值的像素点;

17、确定所述第n个像素点和与目标像素点之间的视差值为所述目标视差值。

18、在一个实施例中,所述方法还包括:

19、确定在所述第一图像中所述第n个像素点所处的m条聚合路径;其中,所述聚合路径包括第二预定数量的像素点;

20、所述基于第n个像素点对应的匹配代价值,从所述视差集中确定出所述第n个像素点对应的目标视差值,包括:

21、基于所述匹配代价值,确定在所述第n个像素点与第一预定像素点之间的视差值为d时第n个像素点在各聚合路径中对应的代价聚合值;其中,所述代价聚合值根据数据项和约束项的值的和确定;所述数据项根据在第n个像素点与第一预定像素点之间的视差值为d时第n个像素点对应的匹配代价值确定;所述约束项用于约束所述第n个像素点所处路径的像素点的连续程度;d为所述视差集中的视差值;

22、基于在所述第n个像素点对应的视差值为d时所述第n个像素点在所述m条聚合路径中对应的代价聚合值之和,确定在第n个像素点对应的视差值为d时所述第n个像素点对应的路径代价聚合值;

23、基于在所述第n个像素点在与所述第一预定像素点之间的视差值为所述视差集中的每一视差值时所述第n个像素点对应的所述路径代价聚合值,从所述视差集中确定出所述第n个像素点对应的目标视差值;其中,与所述目标视差值对应的所述路径代价聚合值的值小于聚合阈值。

24、在一个实施例中,所述方法还包括:

25、根据第一匹配代价值,确定第一附加项;其中,所述第一匹配代价值为在第二预定像素点与所述第一预定像素点之间的视差值为所述d时与所述第二预定像素点对应的匹配代价值;所述第二预定像素点为在所述聚合路径中与所述第n个像素点的距离小于第一距离阈值的像素点,且所述第二预定像素点的目标视差值为d;

26、根据第二匹配代价值和第一惩罚值,确定第二附加项;其中,所述第二匹配代价值为为在第三预定像素点与所述第一预定像素点之间的视差值为d-1时与所述第三预定像素点对应的匹配代价值;所述第三预定像素点为在所述聚合路径中与所述第n个像素点的距离小于第二距离阈值的像素点,且所述第三预定像素点的目标视差值为d-1;

27、根据第三匹配代价值和第一惩罚值,确定第三附加项;其中,所述第三匹配代价值为为在第四预定像素点与所述第一预定像素点之间的视差值为d+1时与所述第四预定像素点对应的匹配代价值;所述第四预定像素点为在所述聚合路径中与所述第n个像素点的距离小于第三距离阈值的像素点,且所述第四预定像素点对应的目标视差值为d+1;

28、根据第四匹配代价值和第二惩罚值,确定第四附加项;其中,所述第四匹配代价值为与第五预定像素点对应的所有代价聚合值中的最小值;所述第五预定像素点为在所述聚合路径中与所述第n个像素点距离一个像素点的像素点;所述第一惩罚值小于所述第二惩罚值;

29、从所述第一附加项、所述第二附加项、所述第三附加项和所述第四附加项中确定出所述约束项;其中,所述约束项的值小于约束阈值。

30、在一个实施例中,所述方法还包括:

31、基于所述聚合路径的方向和/或预设像素点的数量,从所述第n个像素点所处的聚合路径中确定出所述m条聚合路径;其中,所述预设像素点为所述第一图像或者所述第二图像中用于表征所述对象的特征的像素点。

32、在一个实施例中,所述确定在第n个像素点与第一预定像素点之间的视差值为d时所述第n个像素点与所述第一预定像素点之间的匹配代价值,包括:

33、从所述第一图像中确定出以所述第n个像素点为中心的第一预定窗口,以及从所述第二图像中确定出与以所述第一预定像素点为中心的第二预定窗口;其中,所述第一预定窗口与所述第二预定窗口的大小相同;

34、按照预定顺序,依次比较所述第一预定窗口内的像素点的像素特征值和所述第n个像素点的像素特征值的大小,获得第一比较结果;其中,所述像素特征包括像素点的灰度值;

35、按照所述预定顺序,依次比较所述第二预定窗口内的像素点的像素特征值和所述第一预定像素点的像素特征值的大小,获得第二比较结果;

36、基于所述第一比较结果和所述第二比较结果之间的相似度,确定所述第n个像素点与所述第一预定像素点之间的所述匹配代价值。

37、在一个实施例中,所述第一图像中的图像特征点和所述第二图像中的图像特征点一一对应,所述方法还包括:

38、基于互相对应的所述图像特征点之间的视差值,确定所述视差值的取值范围;

39、基于所述取值范围,确定所述视差集;其中,所述视差集包括位于所述取值范围内的所有视差值。

40、在一个实施例中,所述获取第一图像和第二图像,包括:

41、利用第一图像获取模块在第一方位获取所述第一图像,以及利用第二图像获取模块在第二方位获取所述第二图像;

42、对所述第一图像获取模块和所述第二图像获取模块进行标定,获得所述第一图像获取模块的第一模块参数和所述第二图像获取模块的第二模块参数;其中,所述第一模块参数包括所述第一图像获取模块的内部参数、畸变参数和用于指示所述第一方位的参数;所述第二模块参数包括所述第二图像获取模块的内部参数、畸变参数和用于指示所述第二方位的参数;

43、所述基于所述视差图,确定所述第一图像在三维空间中对应的第一三维点云图和所述第二图像在所述三维空间中对应的第二三维点云图,包括:

44、基于所述视差图、所述第一模块参数和预定算法,确定所述第一图像在三维空间中的坐标,获得所述第一三维点云图;其中,所述预定算法用于计算所述对象的特征与所述第一图像获取模块和/或所述第二图像获取模块之间的距离;

45、以及,基于所述视差图、所述第二模块参数和所述预定算法,确定所述第二图像在三维空间中的坐标,获得所述第二三维点云图。

46、在一个实施例中,所述方法还包括:

47、构建三维空间对应的k-d树;其中,所述k-d树具有两个分支,所述两个分支中的其中一个分支中的节点根据所述第一三维点云图中包括的所有数据点确定;所述两个分支中的另一个分支中的节点根据所述第二三维点云图中包括的所有数据点确定;

48、在基于所述图像特征点配准并融合所述第一三维点云图和所述第二三维点云图之后,所述获得融合后的三维点云图,还包括:

49、利用所述k-d树,逐一对准并融合所述第一三维点云图和所述第二三维点云图中的所有特征点,获得融合后的三维点云图。

50、根据本公开实施例的第二方面,提供一种三维模型构建装置,所述装置包括:

51、获取模块,用于获取第一图像和第二图像;其中,所述第一图像和所述第二图像分别为从不同方位获取的同一对象的图像;

52、确定模块,用于:确定所述第一图像和所述第二图像对应的视差图;其中,所述视差图用于指示所述对象上的同一位置在所述第一图像和所述第二图像中的位置偏差;基于所述视差图,确定所述第一图像在三维空间中对应的第一三维点云图和所述第二图像在所述三维空间中对应的第二三维点云图;

53、所述获取模块还用于分别获取所述第一图像和所述第二图像中预定特征的图像特征点;

54、配准模块,用于基于所述图像特征点,对准并融合所述第一三维点云图和所述第二三维点云图,获得融合后的三维点云图;

55、构建模块,用于构建所述融合后的三维点云图的表面,获得三维模型。

56、根据本公开实施例的第三方面,提供一种电子设备,包括:

57、处理器;

58、用于存储处理器可执行指令的存储器;

59、其中,所述处理器被配置为:用于运行所述可执行指令时,实现本公开实施例中任一所述的三维模型构建方法。

60、根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述可读存储介质存储有可执行程序,其中,所述可执行程序被处理器执行时实现本公开实施例中任一所述的三维模型构建方法。

61、本公开的实施例提供的技术方案可以包括以下有益效果:

62、本公开实施例中,获取第一图像和第二图像;其中,所述第一图像和所述第二图像为分别从不同方位获取的同一对象的图像;基于所述第一图像和所述第二图像,确定视差图;其中,所述视差图用于指示所述对象上的同一特征在所述第一图像和所述第二图像中的位置偏差;基于所述视差图,确定所述第一图像在三维空间中对应的第一三维点云图和所述第二图像在所述三维空间中对应的第二三维点云图;分别获取所述第一图像和所述第二图像中预定特征的图像特征点;基于所述图像特征点,配准并融合所述第一三维点云图和所述第二三维点云图,获得融合后的三维点云图;构建所述融合后的三维点云图的表面,获得三维模型。这里,由于会分别获取第一图像和第二图像中预定特征的图像特征点,基于图像特征点配准并融合第一三维点云图和第二三维点云图,获得融合后的三维点云图,因此,本公开实施例中在配准和融合第一三维点云图和第二三维点云图的过程中,能够根据明确的互相匹配的预定特征的图像特征点,配准并融合第一三维点云图和第二三维点云图中与预定特征的图像特征点对应的互相匹配的三维点。此时,无需通过复杂的计算过程,就能够根据明确的预定特征的图像特征点,快速确定第一三维点云图和第二三维点云图中互相匹配的三维点。相较于相关技术中需要通过复杂的运算才能确定出第一三维点云图和第二三维点云图中对应的三维点,以对两个三维点云图中对应的三维点进行配准和融合的方式,本公开实施例中无需通过复杂计算就能够快速确定第一三维点云图和第二三维点云图中互相匹配的三维点以完成三维点云图的配准和融合。如此,能够简化对第一三维点云图和第二图像对应的第二三维点云图进行配准和融合的过程,提高配准效率。

63、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

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