扫描建模方法与电子设备与流程

未命名 09-24 阅读:54 评论:0


1.本技术涉及三维重建技术领域,尤其涉及一种扫描建模方法与电子设备。


背景技术:

2.在计算机视觉中,三维(3d)重建是指基于对真实对象采集的二维图像,建立真实对象的3d模型的技术;该技术在虚拟现实、电影和游戏等行业均有着广泛的应用前景。
3.随着电子设备硬件性能的不断提高和3d重建技术的发展,目前,有些手机、摄像机等便携式电子设备上也提供了3d扫描建模功能,用户可以通过该功能对环境中的物体进行扫描,建立被扫描物体的3d模型。但是目前的扫描交互过程不是很方便用户使用,导致用户体验不太好。


技术实现要素:

4.有鉴于此,本技术提供一种扫描建模方法与电子设备,用于提高用户进行3d扫描建模的便利性,进而提升用户体验。
5.为了实现上述目的,第一方面,本技术实施例提供一种扫描建模方法,应用于电子设备,包括:
6.启动相机,显示扫描界面;
7.检测到所述电子设备绕目标对象移动,在所述扫描界面上叠加显示虚拟的包围盒,所述包围盒用于包围所述目标对象,所述包围盒被划分为多个栅格,各所述栅格采用第一展示形式展示;
8.在扫描所述目标对象的过程中,采用第二展示形式展示第一栅格,所述第一栅格为所述目标对象已被扫描的视角所对应的栅格,所述第二展示形式与所述第一展示形式不同;
9.根据所述相机采集的图像建立所述目标对象的三维模型。
10.本技术实施例提供的扫描建模方法,通过在扫描界面中显示包围盒,并通过改变包围盒上栅格的展示形式指示目标对象已扫描的视角,可以使用户方便地了解目标对象各个视角的扫描情况;而且,在生成包围盒时,可以通过简单的移动电子设备的操作生成包围盒,因而可以进一步提高用户进行扫描建模的便利性,提升用户的扫描体验。
11.在第一方面的一种可能的实施方式中,在显示所述包围盒之前,所述扫描界面上显示有扫描框和第一提示信息,所述第一提示信息用于提示用户将目标对象置于所述扫描框的取景范围内。
12.通过在扫描界面上显示扫描框和第一提示信息,提示用户将待扫描的目标对象放置在扫描框的取景范围内,有利于电子设备采集到目标对象各个视角下的完整图像,从而建立更准确的3d模型。
13.在第一方面的一种可能的实施方式中,在所述扫描界面上叠加显示虚拟的包围盒之后,所述方法还包括:
14.根据所述电子设备与所述目标对象之间的距离,显示第二提示信息,所述第二提示信息用于提示用户将电子设备靠近或远离所述目标对象。
15.通过上述实施方式,可以使相机与目标对象之间的距离相对比较稳定,从而可以使采集到的图像质量更加稳定,进而可以提升后期建立的3d模型的准确性。
16.在第一方面的一种可能的实施方式中,所述包围盒呈半球形,所述包围盒的顶部区域的栅格不显示。
17.上述实施方式中,包围盒呈半球形,这样包围盒上栅格的朝向可以更好地反映目标对象的扫描视角,从而可以更好地引导用户完成对应视角的扫描;另外,包围盒的顶部区域的栅格不显示,可以简化扫描界面,同时提高扫描效率。
18.在第一方面的一种可能的实施方式中,所述包围盒上被遮挡区域的栅格不显示,所述被遮挡区域位于所述目标对象远离所述电子设备的一侧。
19.上述实施方式中,包围盒上被遮挡区域的栅格不显示,这样可以提供更真实的ar体验。
20.在第一方面的一种可能的实施方式中,所述栅格呈多行多列排布,所述包围盒被划分为多个栅格区域,每个所述栅格区域包括多个相邻的栅格;
21.对于每个栅格区域,当相机的拍摄方向指向所述栅格区域时,所述栅格区域中的栅格均被确定为第一栅格。
22.通过上述实施方式,可以提高扫描效率。
23.在第一方面的一种可能的实施方式中,所述栅格区域呈多行多列排布。
24.在第一方面的一种可能的实施方式中,所述方法还包括:
25.在所述扫描界面上叠加显示关键帧窗口,在所述关键帧窗口中显示第二栅格的关键帧图像,所述第二栅格的展示形式为第二展示形式,所述第二栅格的关键帧图像用于指示针对所述第二栅格所采集到的最优图像。
26.上述实施方式中,在扫描过程中,扫描界面中可以显示栅格的关键帧图像,从而使用户可以方便地了解到各视角具体采集的图像质量。
27.在第一方面的一种可能的实施方式中,所述第二栅格为所述相机的拍摄方向指向的栅格。这样可以使用户实时地查看到当前扫描的栅格的关键帧图像。
28.在第一方面的一种可能的实施方式中,所述第二栅格为用户选择的栅格。这样可以使用户方便地查看任意栅格的关键帧图像。
29.在第一方面的一种可能的实施方式中,所述方法还包括:
30.接收窗口关闭操作,关闭所述关键帧窗口。
31.通过上述实施方式,可以提高界面显示的灵活性,从而可以提升用户的扫描体验。
32.在第一方面的一种可能的实施方式中,所述关键帧窗口可移动,和/或,所述关键帧窗口可缩放。
33.通过上述实施方式,可以提高界面显示的灵活性,从而可以提升用户的扫描体验。
34.在第一方面的一种可能的实施方式中,所述方法还包括:
35.接收第一操作,采用全屏显示模式显示所述关键帧窗口;
36.接收第二操作,采用小窗口显示模式显示所述关键帧窗口。
37.通过上述实施方式,可以提高界面显示的灵活性,从而可以提升用户的扫描体验。
38.在第一方面的一种可能的实施方式中,所述方法还包括:
39.在所述扫描界面上显示扫描进度。
40.通过上述实施方式,可以使用户更全面地了解目标对象的扫描情况,进而可以进一步提高用户进行扫描建模的便利性,提升用户的扫描体验。
41.在第一方面的一种可能的实施方式中,采用进度条方式显示所述扫描进度。这样可以提升界面美观度。
42.在第一方面的一种可能的实施方式中,所述扫描进度指示第一栅格占所有待扫描的栅格的比例。
43.在第一方面的一种可能的实施方式中,所述栅格呈多行多列排布,所述扫描进度指示目标行中第一栅格占所述目标行中所有栅格的比例,所述目标行为所述相机的拍摄方向指向的栅格所在的行。
44.在第一方面的一种可能的实施方式中,当所述栅格采用第一展示形式展示时,所述栅格的边框为第一颜色;当所述栅格采用第二展示形式展示时,所述栅格的边框为第二颜色。
45.在第一方面的一种可能的实施方式中,所述栅格的表面透明显示。这样可以方便用户看到目标对象的完整图像。
46.在第一方面的一种可能的实施方式中,在接收到扫描开始操作后,采用第二展示形式展示第一栅格;
47.和/或,在接收到扫描结束操作后,根据所述相机采集的图像建立所述目标对象的三维模型。
48.通过上述实施方式,可以提高用户使用的灵活性。
49.在第一方面的一种可能的实施方式中,在接收到扫描结束操作后,建立所述三维模型前,所述方法还包括:
50.在检测到未扫描完所述目标对象的情况下,显示第三提示信息,所述第三提示信息用于提示用户未扫描完所述目标对象。
51.通过上述实施方式,可以提高用户的扫描体验。
52.在第一方面的一种可能的实施方式中,所述方法还包括:
53.在所述扫描界面上指示未扫描的栅格的位置。
54.通过上述实施方式,可以方便用户了解哪些栅格未扫描,提高用户使用的便利性。
55.在第一方面的一种可能的实施方式中,在所述方法还包括:
56.在所述扫描界面上显示所述目标对象的坐标系。
57.通过上述实施方式,可以使用户通过坐标系了解目标对象的当前视角。
58.在第一方面的一种可能的实施方式中,在建立所述目标对象的三维模型之前,所述方法还包括:
59.接收重新扫描操作,清除已显示的包围盒。
60.通过上述实施方式,可以提高用户使用的便利性。
61.在第一方面的一种可能的实施方式中,所述方法还包括:
62.接收缩放所述包围盒的操作,对所述包围盒的大小进行缩放。
63.通过上述实施方式,可以使用户自由地调整包围盒的大小,从而可以提高用户的
扫描体验。
64.第二方面,本技术实施例提供一种扫描建模装置,应用于电子设备,包括:处理模块和显示模块;
65.所述处理模块用于:启动相机;
66.所述显示模块用于:显示扫描界面;
67.所述处理模块还用于:在检测到所述电子设备绕目标对象移动后,通过所述显示模块在所述扫描界面上叠加显示虚拟的包围盒,所述包围盒用于包围所述目标对象,所述包围盒被划分为多个栅格,各所述栅格采用第一展示形式展示;
68.所述显示模块还用于:在扫描所述目标对象的过程中,采用第二展示形式展示第一栅格,所述第一栅格为所述目标对象已被扫描的视角所对应的栅格,所述第二展示形式与所述第一展示形式不同;
69.所述处理模块还用于:根据所述相机采集的图像建立所述目标对象的三维模型。
70.在第二方面的一种可能的实施方式中,在显示所述包围盒之前,所述扫描界面上显示有扫描框和第一提示信息,所述第一提示信息用于提示用户将目标对象置于所述扫描框的取景范围内。
71.在第二方面的一种可能的实施方式中,所述处理模块还用于:
72.在所述显示模块在所述扫描界面上叠加显示虚拟的包围盒之后,根据所述电子设备与所述目标对象之间的距离,通过所述显示模块显示第二提示信息,所述第二提示信息用于提示用户将电子设备靠近或远离所述目标对象。
73.在第二方面的一种可能的实施方式中,所述包围盒呈半球形,所述包围盒的顶部区域的栅格不显示。
74.在第二方面的一种可能的实施方式中,所述包围盒上被遮挡区域的栅格不显示,所述被遮挡区域位于所述目标对象远离所述电子设备的一侧。
75.在第二方面的一种可能的实施方式中,所述栅格呈多行多列排布,所述包围盒被划分为多个栅格区域,每个所述栅格区域包括多个相邻的栅格;
76.对于每个栅格区域,当相机的拍摄方向指向所述栅格区域时,所述栅格区域中的栅格均被确定为第一栅格。
77.在第二方面的一种可能的实施方式中,所述栅格区域呈多行多列排布。
78.在第二方面的一种可能的实施方式中,所述显示模块还用于:
79.在所述扫描界面上叠加显示关键帧窗口,在所述关键帧窗口中显示第二栅格的关键帧图像,所述第二栅格的展示形式为第二展示形式,所述第二栅格的关键帧图像用于指示针对所述第二栅格所采集到的最优图像。
80.在第二方面的一种可能的实施方式中,所述第二栅格为所述相机的拍摄方向指向的栅格。
81.在第二方面的一种可能的实施方式中,所述第二栅格为用户选择的栅格。
82.在第二方面的一种可能的实施方式中,所述装置还包括:
83.输入模块,用于接收窗口关闭操作;
84.所述显示模块还用于:关闭所述关键帧窗口。
85.在第二方面的一种可能的实施方式中,所述关键帧窗口可移动,和/或,所述关键
帧窗口可缩放。
86.在第二方面的一种可能的实施方式中,所述输入模块还用于:接收第一操作;所述显示模块还用于:采用全屏显示模式显示所述关键帧窗口;
87.所述输入模块还用于:接收第二操作;所述显示模块还用于:采用小窗口显示模式显示所述关键帧窗口。
88.在第二方面的一种可能的实施方式中,所述显示模块还用于:
89.在所述扫描界面上显示扫描进度。
90.在第二方面的一种可能的实施方式中,所述显示模块具体用于:采用进度条方式显示所述扫描进度。
91.在第二方面的一种可能的实施方式中,所述扫描进度指示第一栅格占所有待扫描的栅格的比例。
92.在第二方面的一种可能的实施方式中,所述栅格呈多行多列排布,所述扫描进度指示目标行中第一栅格占所述目标行中所有栅格的比例,所述目标行为所述相机的拍摄方向指向的栅格所在的行。
93.在第二方面的一种可能的实施方式中,当所述栅格采用第一展示形式展示时,所述栅格的边框为第一颜色;当所述栅格采用第二展示形式展示时,所述栅格的边框为第二颜色。
94.在第二方面的一种可能的实施方式中,所述栅格的表面透明显示。
95.在第二方面的一种可能的实施方式中,所述显示模块还用于:在所述输入模块接收到扫描开始操作后,采用第二展示形式展示第一栅格;
96.和/或,所述处理模块还用于:在所述输入模块接收到扫描结束操作后,根据所述相机采集的图像建立所述目标对象的三维模型。
97.在第二方面的一种可能的实施方式中,所述处理模块还用于:在所述输入模块接收到扫描结束操作后,在建立所述三维模型前,在检测到未扫描完所述目标对象的情况下,通过所述显示模块显示第三提示信息,所述第三提示信息用于提示用户未扫描完所述目标对象。
98.在第二方面的一种可能的实施方式中,所述显示模块还用于:
99.在所述扫描界面上指示未扫描的栅格的位置。
100.在第二方面的一种可能的实施方式中,所述显示模块还用于:
101.在所述扫描界面上显示所述目标对象的坐标系。
102.在第二方面的一种可能的实施方式中,所述接收模块还用于:在所述处理模块建立所述目标对象的三维模型之前,接收重新扫描操作;
103.所述显示模块还用于:清除已显示的包围盒。
104.在第二方面的一种可能的实施方式中,所述接收模块还用于:接收缩放所述包围盒的操作;
105.所述显示模块还用于:对所述包围盒的大小进行缩放。
106.第三方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
107.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
108.第五方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的任一实施方式所述的方法。
109.第六方面,本技术实施例提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
110.可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
111.图1为本技术实施例提供的一些用户界面示意图;
112.图2为本技术实施例提供的一种包围盒显示效果示意图;
113.图3和图4为本技术实施例提供的另一些用户界面示意图;
114.图5为本技术实施例提供的扫描过程中的用户界面示意图;
115.图6为本技术实施例提供的球坐标系示意图;
116.图7为本技术实施例提供的一种关键帧图像显示方式示意图;
117.图8为本技术实施例提供的移动关键帧窗口的用户界面示意图;
118.图9为本技术实施例提供的关键帧窗口全屏显示方式示意图;
119.图10为本技术实施例提供的关键帧窗口的开关方式示意图;
120.图11为本技术实施例提供的一种提示方式示意图;
121.图12和图13为本技术实施例提供的另一些用户界面示意图;
122.图14为本技术实施例提供的扫描建模方法的流程示意图;
123.图15为本技术实施例提供的目标对象中心位置估计原理示意图;
124.图16为本技术实施例提供的栅格划分结果示意图;
125.图17为本技术实施例提供的扫描建模装置的结构示意图;
126.图18为本技术实施例提供的电子设备的结构示意图。
具体实施方式
127.下面结合本技术实施例中的附图对本技术实施例进行描述。本技术实施例的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
128.针对目前的3d扫描建模功能中,扫描交互过程不够方便的技术问题,本技术实施例提供一种扫描建模方法,主要通过对扫描交互过程进行优化,来提高用户使用的便利性,进而提升用户体验。
129.本技术实施例提供的扫描建模方法可以应用于手机、平板、智能相机等具备拍照和显示功能的电子设备。
130.电子设备上可以提供3d扫描建模功能,用户可以通过该功能扫描物理环境中的目标对象,建立目标对象的3d模型。其中,3d扫描建模功能可以是系统功能,也可以集成在某个应用程序(application,app)中,该app可以是相机应用,也可以是独立于相机应用之外的app(以下称为建模app),后续以建模app为例进行示例性说明。
131.下面以用户通过手机上的建模app扫描水壶,建立水壶的3d模型为例,示例性说明本技术实施例提供的扫描建模方法。
132.图1为本技术实施例提供的一些用户界面示意图,图1中的(a)示出了用户打开建模app后的界面示意图,该界面为建模app的主界面10,如图1中的(a)所示,建模app的主界面10中可以提供“新建模型”选项101,用户可以通过该选项打开扫描界面以新建一个3d模型;主界面10中也可以提供“模型库”选项102,用户可以通过该选项查看和编辑已建立的3d模型。
133.可以理解的是,建模app的主界面10中还可以提供其他功能选项,或者,建模app的主界面即为扫描界面,即用户打开建模app后即进入扫描界面,建模app提供的诸如编辑模型等其他功能可以通过扫描界面上的相关控件打开,本实施例对此不作特别限定。
134.如图1中的(a)和(b)所示,当手机检测到用户点击“新建模型”选项101后,可以调用相机功能,启动相机,打开扫描界面20,在扫描界面20中显示相机采集的图像。用户可以通过该扫描界面20完成对目标对象的扫描过程,以建立目标对象的3d模型。
135.可以理解的是,上述触发手机打开扫描界面20的操作不限于点击操作,也可以是其他手势操作,还可以是语音输入操作,本技术实施例对此不做特别限定,本技术实施例中所述的其他用户操作类似,为了便于说明,本技术实施例中均以点击操作为例进行示例性说明。
136.扫描界面20中可以显示“关闭”控件201,用户可以通过点击该控件关闭扫描界面20,返回到主界面10;扫描界面20中还可以提供“帮助”控件202,用户可以通过点击该控件查看操作指南等帮助信息。
137.如图1中的(b)所示,扫描界面20上可以显示扫描框211和提示信息212,提示用户将待扫描的目标对象放置在扫描框的取景范围内,以便于采集到目标对象各个视角下的完整图像,从而建立更准确的3d模型。此处示例性地,提示信息212为:“将扫描对象放置在扫描框内”。
138.为了便于用户了解扫描过程,提升用户的扫描体验,如图1中的(d)所示,扫描界面20中可以显示用于包围目标对象221的虚拟包围盒222,包围盒222上可以划分成一系列的栅格223,可以通过栅格223的不同展示形式指示目标对象221的对应视角是否已被扫描。
139.在生成包围盒时,一种可选的方式是借助标志物生成,即用户可以将目标对象放在标志物的特定位置,手机可以基于标志物生成包围盒222。
140.作为另一种可选的实现方式,为了便于用户使用,手机可以采用空间定位技术确定目标对象的位置和大小,生成用于包围目标对象的包围盒222。
141.具体实现时,用户可以手持手机绕目标对象移动,手机可以根据手机移动过程中采集的多帧传感器数据(比如图像数据、深度数据和/或惯性测量单元(inertial measurementunit,imu)数据),生成包围盒222,然后采用增强现实(augmented reality,ar)技术,将包围盒222叠加显示在目标对象221周围。
142.为了便于用户使用,如图1中的(c)所示,扫描界面20上可以显示提示信息220,提示用户绕被扫描的目标对象移动,示例性地,提示信息220可以为:“请以扫描对象为中心移动”,提示信息220可以以弹框形式显示若干秒后消失。
143.其中,在生成包围盒222后,可以在显示包围盒222时不再显示扫描框211和提示信息212,以使扫描界面20更加简洁。或者,扫描框211也可以显示一预设时长后消失,比如可以显示5秒后自动消失。
144.包围盒222可以如图中所示的为半球形,这样包围盒222上栅格的朝向可以更好地反映目标对象的扫描视角,从而可以更好地引导用户完成对应视角的扫描。
145.在一些实施例中,包围盒222也可以为其他形状,比如正方体,以便于包围盒的绘制。栅格可以是图中所示的四边形,也可以是其他形状,比如圆形。
146.包围盒222上的栅格可以均匀划分为多行多列,比如可以划分为9行24列。考虑到包围盒222顶部区域相对较小,用户在扫描目标对象的上半部分区域时,也可以采集到目标对象顶部的图像,因而,扫描界面20中可以如图1中的(d)所示的,不显示包围盒222顶部区域的栅格,以提高扫描效率,同时简化扫描界面。
147.在另一些实施例中,如图2所示,扫描界面20中也可以显示包围盒222顶部区域的栅格,以通过这些栅格指示用户采集目标对象顶部区域更丰富的图像。
148.另外,在显示包围盒222时,包围盒222上位于目标对象后方(远离手机的一侧)的被遮挡区域的栅格223可以不显示,以提供更真实的ar体验。
149.为了使确定的包围盒尺寸更合适,在打开扫描界面20后,如图1中的(b)所示,可以在扫描界面20上显示提示信息213,提示用户将手机的拍摄方向对准目标对象的正面。其中,目标对象的正面可以是最能体现目标对象特征和形状的一面。
150.可以理解的是,提示信息213可以在打开扫描界面20后,显示扫描框211的同时显示,也可以在显示扫描框211之前显示,还可以在显示扫描框211后显示。提示信息213可以显示一预设时长后消失,比如可以显示2秒后消失。
151.考虑到确定的包围盒尺寸可能不是特别合适,如图3中的(a)所示,在生成包围盒222后,扫描界面20上可以显示缩放控件224,用户可以通过该控件调节包围盒222的大小。示例性地,缩放控件224可以包括:放大子控件2241、缩小子控件2242和滑块2243,用户可以通过点击放大子控件2241将包围盒222的尺寸调大,通过点击缩小子控件2242将包围盒222的尺寸调小,通过上下拖动滑块2243将包围盒222的尺寸调大或调小。图3中示例性地示出了放大包围盒222的情况,如图3中的(a)和(b)所示,用户点击放大子控件2241后,包围盒222的尺寸被调大。
152.为了更方便用户使用,如图4中的(a)所示,扫描界面20上可以显示重新扫描控件225,如图4中的(a)和(b)所示,用户点击重新扫描控件225后,手机可以清除已显示的包围盒222,返回到刚打开扫描界面20时的状态,显示图1中的(b)所示的扫描界面20,此时,用户可以更换被扫描的目标对象。
153.在生成包围盒222后,手机可以启动扫描过程,以建立目标对象的3d模型。
154.在一些实施例中,手机生成包围盒222后,即可启动扫描过程,通过改变栅格223的展示形式指示目标对象已被扫描的视角。
155.在一些实施例中,如图5中的(a)所示,扫描界面20上可以显示扫描控件231,用户
可以通过点击该控件启动扫描过程。其中,该控件可以在打开扫描界面20后即显示,即在生成包围盒222前显示;也可以在生成包围盒222后显示包围盒222的同时显示该扫描控件231。如果扫描控件231在生成包围盒222前显示,在未生成包围盒222前用户点击了该控件,扫描界面20上也可以显示提示信息,提示用户先绕目标对象移动手机,以生成包围盒222。
156.用户点击扫描控件231后,如图5中的(b)所示,手机启动扫描过程,对于扫描界面20中目标对象已被扫描的视角对应的栅格223(以下称为第一栅格),采用与初始展示形式(称为第一展示形式)不同的展示形式(称为第二展示形式)展示,为了便于说明,后续将第一栅格从第一展示形成变成第二展示形成的过程称为点亮过程,第一栅格被点亮后,即保持点亮后的状态,以便于用户了解目标对象各个扫描视角的扫描状态。
157.具体地,在点亮栅格时,点亮方式包括但不限于如下几种方式:
158.第一种,将栅格的边框从第一颜色改变为第二颜色,图5中即是以此为例进行示例性说明,其中,第一颜色和第二颜色的具体颜色不限,图5中以第一颜色为灰色,第二颜色为黑色为例进行示例性说明。
159.第二种,将栅格的中心点点亮,比如,可以将栅格的中心点从一个颜色改为另一颜色,也可以在未点亮栅格前,不显示栅格的中心点,在点亮栅格后,显示栅格的中心点。
160.其中,中心点的形状可以显示为圆形或方形等,本实施例对此不做特别限定。
161.第三种,改变栅格表面的展示形式,比如,在一些实施例中,可以改变栅格表面显示的透明度,在未点亮栅格前,栅格表面的透明度为100%,在点亮栅格后,采用一小于100%的透明度和一预设颜色显示栅格的表面;或者,在点亮栅格前,栅格表面的透明度小于100%,在点亮栅格后,栅格表面的透明度为100%。在一些实施例中,也可以改变栅格表面的颜色,在点亮栅格时,采用不同的颜色显示栅格的表面。
162.其中,栅格的表面可以透明显示,这样用户可以看到目标对象的完整图像。
163.在点亮新的栅格时,每次可以点亮一个栅格,为了提高扫描效率,如图5中的(b)所示,也可以每次点亮多个相邻的栅格。
164.具体地,可以将包围盒222划分为多个栅格区域,每个栅格区域中可以包括多个栅格,对于某个栅格区域,当相机的拍摄方向(具体可以是相机的光轴)指向该栅格区域时,可以将该栅格区域中的栅格均点亮,例如图5中的(b)所示的,相机指向栅格区域232,该区域中的栅格均被点亮。如图5中的(c)所示,随着相机的扫描,目标对象已被扫描的视角对应的栅格区域均呈现出点亮后的状态。
165.各栅格区域也可以呈多行多列排布,比如,图5中的(a)所示的包围盒222,可以将其划分成2行12列栅格区域,其中,每个栅格区域包括三行两列栅格。用户可以采用不同的扫描视角绕目标对象扫描两圈完成扫描。
166.图6示出了以包围盒的球心为原点的球坐标系,其中,θ表示天顶角,表示方位角,示例性地,用户在扫描目标对象时,可以相对于包围盒对应的球坐标系,在45
°
左右的天顶角方向正对目标对象扫描一圈,再在75
°
(或90
°
)左右的天顶角方向正对目标对象扫描一圈。
167.如果采用图2所示的方式显示包围盒,则用户可以在以45
°
和75
°
(或90
°
)的天顶角扫描两圈之外,在15
°
左右的天顶角方向正对目标对象再扫描一圈,或者,在0
°
左右的天顶角方向正对目标对象扫描一次。
168.如图5中的(b)所示,扫描界面20中也可以显示目标对象的坐标系230,用户也可以通过坐标系了解目标对象的当前视角。其中,坐标系230的原点可以是目标对象的中心位置。如图5中的(b)和(c)所示,在扫描过程中,坐标系230在屏幕中呈现出的视角随着相机与目标对象之间视角关系的变化而变化。图6中所示的包围盒对应的球坐标系可以是坐标系230在z轴负方向上平移得到。在一些实施例中,坐标系230的原点也可以位于目标对象的底部中心位置,即也可以将图5中所示的坐标系230沿z轴负方向平移到目标对象的底部,此时,坐标系230的原点与包围盒对应的球坐标系的原点可以是重合的。
169.其中,坐标系230可以如图5中所示的,在用户启动扫描过程后显示,也可以在生成包围盒222后,显示包围盒222的同时显示,本实施例对此不做特别限定。
170.为了便于用户了解具体采集的图像质量,本实施例中,可以在扫描界面20上显示关键帧窗口,在关键帧窗口中显示已点亮的栅格的关键帧图像,为了便于说明,以下将显示的关键帧图像对应的栅格称为第二栅格。
171.第二栅格的关键帧图像用来表示针对该第二栅格所采集到的最优图像,在具体实现时,可以基于采集图像时相机的位姿和图像清晰度,从针对该第二栅格所采集到的所有图像中进行筛选,确定出最优图像作为关键帧图像。如果用户觉得某栅格的关键帧图像不符合要求,可以再次针对该栅格进行扫描,以获得更优的关键帧图像。
172.对于上述一次点亮多个相邻栅格的情况,每个栅格区域可以对应一个关键帧图像,即同一栅格区域中的各栅格对应同一关键帧图像,该关键帧图像可以从针对该栅格区域采集的图像中筛选。
173.其中,关键帧窗口的显示方式可以包括但不限于如下几种可能的实现方式:
174.第一种,当扫描过程启动时,触发关键帧窗口的显示,例如图5中的(a)和(b)所示的,当用户点击扫描控件231后,启动扫描过程,显示关键帧窗口233。其中,关键帧窗口233中显示相机的拍摄方向所指向的栅格的关键帧图像。如图5中的(b)所示的,相机的拍摄方向指向栅格区域232中的栅格,关键帧窗口233中显示该栅格的关键帧图像,也即栅格区域232的关键帧图像。随着相机的移动,相机所指向的栅格发生变化,对应地,如图5中的(c)所示,关键帧窗口233中显示的关键帧图像也随之发生变化。
175.第二种,可以基于用户的触发操作显示关键帧窗口,在关键帧窗口中显示用户选择的栅格的关键帧图像。例如图7中所示的,在扫描过程中,用户点击栅格区域234,扫描界面20中显示关键帧窗口233,在关键帧窗口233中显示栅格区域234对应的关键帧图像。其中,关键帧窗口233可以一直保持显示状态,也可以显示若干秒后自动关闭。
176.第三种,可以在扫描过程启动后,显示关键帧窗口,在关键帧窗口中显示相机指向的栅格的关键帧图像,在接收到用户的栅格选择操作后,在关键帧窗口中持续显示用户选择的栅格的关键帧图像若干秒后,继续显示相机指向的栅格的关键帧图像。
177.其中,关键帧窗口的位置可以是固定的,也可以是可移动的,以提高灵活性。例如图8中所示的,手机可以响应用户拖动关键帧窗口233的操作,将关键帧窗口233从扫描界面的右上角移动到左下角。
178.关键帧窗口的大小可以根据需要设定为固定大小。
179.在一些实施例中,也可以提供窗口大小调节功能,使用户可以自由调节关键帧窗口的大小,例如,用户可以在关键帧窗口上,通过双指张开操作放大关键帧窗口;通过双指
捏合操作缩小关键帧窗口。
180.在另一些实施例中,也可以提供窗口全屏显示功能,使用户可以将关键帧窗口调节为全屏显示状态,以更清楚地了解关键帧图像的质量。例如图9中的(a)~(c)所示的,用户可以在关键帧窗口上通过单击操作,使关键帧窗口全屏显示;再通过单击操作,使全屏显示状态的关键帧窗口恢复小窗口显示状态。或者,手机可以在检测到用户在关键帧窗口上进行的单击操作后,全屏显示关键帧窗口若干秒后自动恢复到小窗口显示状态。
181.为了更好地满足用户需求,提高用户使用的便利性,本实施例中,手机也可以提供关键帧窗口关闭功能,示例性地,如图10中的(a)和(b)所示,用户可以在关键帧窗口233之外的区域执行双击操作,手机检测到该操作后,可以关闭关键帧窗口233。如图10中的(b)和(c)所示,在关闭关键帧窗口后,用户也可以在扫描界面20上执行双击操作,打开关键帧窗口233。
182.可以理解的是,本技术实施例中所述的各种功能的触发操作都是示例性的,其并非用于限定本技术,在具体实现时也可以采用其他操作方式,本实施例对此不做特别限定。
183.继续参见图5中的(b),在启动扫描过程后,扫描界面20中可以通过圆形进度条235显示扫描进度。
184.在一种可选的实施方式中,进度条235中显示的扫描进度为已扫描栅格区域占所有待扫描的栅格区域的比例,即所有待扫描的栅格区域都被点亮后,扫描进度为100%。例如前述的,栅格区域包含2行12列,当该2行12列栅格区域都被点亮后,扫描进度为100%。
185.在另一种可选的实施方式中,进度条235中显示的扫描进度为相机当前指向的栅格区域所在行中,已扫描栅格区域占该行所有栅格区域的比例。例如前述的,栅格区域包含2行12列,则每行栅格区域对应一个扫描进度,相机的拍摄方向指向哪行中的栅格区域,进度条235中即显示哪行的扫描进度,当该行的所有栅格区域都被点亮后,该行的扫描进度为100%。
186.可以理解的是,扫描进度的指示方式可以不限于进度条,进度条的实现方式可以不限于圆形进度条,例如,在其他实施例中,扫描进度也可以通过数字形式指示,进度条也可以采用直线形进度条。
187.在用户扫描目标对象的过程中,可能存在相机距离目标对象过远或过近的情况,针对该情况,本实施例中,如图11中的(a)所示,手机可以根据手机与目标对象之间的距离,显示提示信息241,提示用户将手机靠近或远离目标对象,此处是以提示用户将手机远离目标对象为例进行示例性说明。该提示信息241可以在用户按照提示将手机靠近或远离目标对象后消息,或者可以显示若干秒后消失,示例性地,如图11中的(a)和(b)所示,提示信息241以弹框形式显示,用户将手机远离目标对象后,该提示信息241消失。
188.其中,在判断手机与目标对象之间的距离(以下称为实时距离)过大或过小时,可以基于生成包围盒时手机与目标对象之间的距离(以下称为基准距离)判断,当实时距离大于基准距离,两者之差的绝对值大于第一距离阈值时,可以认为实时距离过大,此时可以显示用于提示用户靠近目标对象的提示信息241;当实时距离小于基准距离,两者之差的绝对值大于第二距离阈值时,可以认为实时距离过小,此时可以显示用于提示用户远离目标对象的提示信息241。第一距离阈值和第二距离阈值可以根据需要设置,本实施例对此不做特别限定。
189.在用户扫描完目标对象后,手机可以根据相机采集的图像建立3d模型。
190.作为一种可选的实现方式,手机可以在所有栅格都被点亮后,自动进入建模过程。
191.作为另一种可选的实现方式,手机可以在接收到用户触发的扫描结束操作后,进入建模过程。
192.示例性地,如图12中的(a)和(b)所示,在扫描完成后,用户点击扫描界面20上的扫描控件231,手机显示建模界面30,其中,建模过程需要一定的处理时间,为了便于用户了解建模情况,建模界面30中可以显示提示信息301,提示用户正在生成模型,另外,提示信息301也可以包括建模进度,例如图中所示的“36%”。
193.建模界面30中可以显示关闭控件302,用户点击该控件后,手机可以关闭建模界面30,返回到主界面10;建模界面30中也可以显示补拍控件303,用户可以通过该控件打开建模前的扫描界面20,针对目标对象进行补充扫描。
194.建模完成后,手机可以在建模界面30中显示建好的3d模型,用户可以查看3d模型的各个视角。
195.参见图5中的(a)和(b),手机可以改变扫描控件231的展示形式,以指示扫描状态,在启动扫描过程前,扫描控件231显示为如图5中的(a)所示的展示形式,在用户点击了扫描控件231,触发了扫描过程后,扫描控件231显示为如图5中的(b)和图12中的(a)所示的展示形式。
196.可以理解的是,上述是以扫描开始控件和扫描结束控件集成在同一控件中为例进行示例性说明,在其他实施例中,两者也可以是不同的控件,本实施例对此不做特别限定。
197.上述实现方式可能存在如下情况:在未点亮完所有栅格(即未扫描完目标对象)的情况下,用户点击了扫描控件231。对于这种情况,如图13中的(a)和(b)所示,在用户点击了扫描控件231后,手机可以在提示界面40中显示提示信息401,提示用户目标对象未扫描完。
198.在一种可能的实现方式中,如图13中的(b)所示,手机可以在提示界面40中同时显示继续扫描控件402和继续建模控件403。如图13中的(b)和(c)所示,当用户点击继续扫描控件402后,手机关闭提示界面40,继续显示扫描界面20;如图13中的(b)和(d)所示,当用户点击继续建模控件403后,手机关闭提示界面40,显示建模界面30。
199.为了便于用户了解哪些栅格未扫描,如图13中的(c)所示,可以在扫描界面20上突出显示未扫描的栅格,以指示用户未扫描的栅格的位置。此处示例性地,目标对象远离手机一侧的栅格区域501未被扫描,手机采用一定的透明度和一预设颜色(图中示例性地为灰色)突出显示该未扫描的栅格区域501中各栅格的表面。
200.其中,对于未扫描的栅格,手机可以在用户扫描到该栅格时,不再突出显示该栅格,并将该栅格点亮;手机也可以突出显示该栅格若干秒后不再突出显示,在用户扫描到该栅格时,将该栅格点亮。
201.可以理解的是,突出显示方式不限于图13中的(c)所示的方式,也可以是其他方式,比如可以采用一预设颜色(比如红色)显示未扫描的栅格的边框;向用户指示未扫描栅格的方式也不限于上述突出显示的方式,也可以采用文本提示方式,本实施例对此不做特别限定。
202.在另一种可能的实现方式中,手机可以在显示提示信息401若干秒后关闭,继续显示扫描界面20,在目标对象完全扫描完的情况下,响应用户触发的扫描结束操作,进入建模
过程。同样地,手机在显示提示信息401之外,可以采用突出显示和/或文本提示等方式指示用户未扫描的栅格的位置。
203.上述结合图1-图13描述了本技术实施例提供的目标对象的扫描建模过程中的人机交互过程,为了更好地理解本技术提供的扫描建模方法,下面介绍具体的实现过程。
204.图14为本技术实施例提供的扫描建模方法的流程示意图,如图14所示,该方法可以包括如下步骤:
205.s110、启动相机,显示扫描界面。
206.具体地,建模app可以预先获得调用相机的权限,当手机检测到用户触发扫描界面的操作时,可以启动相机,显示扫描界面。其中,用户触发扫描界面的操作可以是前述的点击“新建模型”选项101的操作或打开建模app的操作等。
207.扫描界面可以如图1中所示的显示扫描框211、提示信息212和提示信息213等内容,引导用户完成扫描前的相关操作。
208.s120、在检测到手机绕目标对象移动后,生成用于包围目标对象的包围盒,并对包围盒进行栅格划分后,在扫描界面上叠加显示包围盒。
209.手机打开扫描界面后,可以检测手机的位置信息,在检测到手机绕目标对象移动后,可以根据前n帧采集的传感器数据生成包围盒。其中,传感器数据包括但不限于:图像数据、imu数据和深度数据(例如飞行时间(time of flight,tof)深度数据)。
210.在生成包围盒时,可以先估计目标对象的中心位置和包围盒半径,然后生成用于包围目标对象的包围盒。
211.在具体实现时,可以根据相机采集的图像或tof深度数据,采用基于视觉或深度的同步定位与建图(simultaneous localization and mapping,slam)空间定位技术,估计目标对象的中心位置和包围盒半径。也可以根据imu数据确定相机的位姿,根据相机的位姿估计目标对象的中心位置和包围盒半径,以提高估算结果的准确度,下面对该实现方式的中心位置估计过程和包围盒半径估计过程进行说明。
212.1.中心位置估计
213.具体地,根据前n帧采集的imu数据和图像数据,手机可以确定相机的位姿,其中,相机的位姿数据可以包括相机的空间位置和光轴方向等,这些数据可以统一转换到一空间坐标系中。在确定相机的位姿时,也可以结合相机采集的tof深度数据,提高相机位姿的检测精度。
214.电子设备中也可以配置有slam模块,通过slam模块对电子设备进行跟踪,检测相机的位姿,在此种情况下,也可以通过slam模块获取相机的位姿。其中,slam模块可以是视觉slam模块,此时,在确定相机的位姿时也可以结合imu数据,获得更精确的位姿数据;slam模块也可以是融合了imu数据的视觉slam模块,此时,可以直接采用slam模块确定的相机位姿数据(即slam数据)。也就是说,在确定相机的位姿时,可以通过slam数据和/或imu数据得到。
215.用户手持手机绕目标对象移动时,相机的光轴方向大致对准目标对象的中心,因此,在进行估算时,可以将空间中到各帧的相机光轴的欧氏距离之和最小的估计位置,确定为目标对象的中心位置。
216.图15中示例性地示出了前3帧的位置估计原理示意图,如图15所示,假设前3帧数
据中相机的空间位置分别为s1、s2、s3,相机的光轴方向分别为p1、p2、p3,空间中点c到p1、p2、p3的欧式距离分别为d1、d2、d3,假设空间中点c到p1、p2、p3的欧式距离之和最小,则该点c的位置即可以认为是目标对象的中心位置。
217.2.包围盒半径估计
218.用户手持手机绕目标对象移动时,目标对象在屏幕显示的图像中的屏占比基本一致,且相机的视场角固定,因此,在进行估计时,可以根据相机的轨迹数据对包围盒的大小进行估计。
219.具体地,记包围盒半径为r,可以确定各帧的物距,即目标对象的中心位置到相机的距离,然后求解使各帧的物距与λ倍的包围盒半径r之差的绝对值之和最小时,r的值,将该值作为估计的包围盒半径。其中,λ用于调整包围盒大小,其可以默认为2或其他值。
220.可以理解的是,上述确定包围盒半径的方法只是一种示例,在具体实现时,也可以采用其他方法,比如可以根据相机的内参、目标对象在屏幕中的尺寸、目标对象的中心位置到相机的距离,估计每帧中目标对象的尺寸;然后基于各帧确定的目标对象的尺寸确定能够包围该目标对象的包围盒半径。
221.在确定出目标对象的中心位置和包围盒半径后,可以建立一球坐标系,将以球坐标系的原点为球心、包围盒半径为半径的正半球作为包围盒。其中,可以根据确定的包围盒半径对目标对象的中心位置向下进行偏移,将偏移后的位置作为球坐标系的原点。
222.可以理解的是,上述是以包围盒为半球形为例进行说明,如前所述,包围盒也可以是其他形状,比如正方体,其中,正方体底面的中心点位置可以是上述球坐标系的原点位置,正方体的边长可以为上述确定的包围盒半径的两倍。
223.在确定出包围盒后,可以根据包围盒上各点的天顶角和方位角对包围盒进行栅格划分,以前述的划分成9行24列为例,可以每隔10
°
的天顶角、15
°
的方位角划分一个栅格,即每个栅格的上下两条边之间的天顶角之差为10
°
,左右两条边之间的天顶角之差为15
°
;每行栅格中,各栅格的中心点的天顶角相同;每列栅格中,各栅格的中心点的方位角相同。划分结果如图16所示,其中,图16中的(a)为包围盒的立体图,图16中的(b)为包围盒的俯视图。
224.在划分栅格的过程中,可以确定每个栅格的空间位置、id和中心点法向量等信息,其中,栅格的空间位置可以采用栅格中心点的天顶角和方位角表示,或者可以采用栅格左上角的天顶角和方位角表示,或者也可以采用其他能够指示栅格位置的参数表示。
225.另外,如前所述,可以将栅格进一步划分为多个栅格区域,以前述的每个栅格区域包括三行两列栅格为例,栅格区域划分结果可以如图16中的(b)所示,包括3*12个,其中,栅格区域的边框加粗显示。
226.在划分完栅格后,在显示每帧的图像时,可以根据包围盒与目标对象的中心位置之间的关系,采用ar技术在扫描界面上叠加显示包围盒。
227.其中,在显示包围盒时,可以如图2所示的显示三层栅格区域(即9行栅格),也可以如图1中的(d)所示的不显示包围盒顶部区域的栅格,即顶层的栅格区域,以提高扫描效率,简化扫描界面。
228.另外,在显示包围盒时,包围盒上被遮挡区域(位于目标对象远离手机的一侧)的栅格可以不显示,以提供更真实的ar体验。
229.具体地,在显示每帧图像时,可以确定相机的光轴方向所指向的栅格(以下称为目标栅格),在扫描界面中显示该栅格周围区域内的栅格,其他栅格不做显示。
230.对于某个栅格,可以确定该栅格与相机之间的视角关系是否满足要求,当满足要求时,可以将该栅格确定为目标栅格。其中,可以根据相机的位姿确定相机与栅格之间的视角关系,该视角关系可以包括:相机的光轴方向与栅格的法向量之间的角度关系,以及相机的位置与包围盒的球心之间的连线与栅格的法向量之间的角度关系。在确定目标栅格时,比如,可以在相机的光轴方向与栅格的法向量之间的夹角大于第一角度阈值,相机的位置与包围盒的球心之间的连线与栅格的法向量之间的夹角小于第二角度阈值时,将该栅格确定为目标栅格。
231.在显示栅格时,例如可以显示与目标栅格位置临近的m列栅格,其他列栅格不显示;或者也可以根据各栅格与目标栅格的法向量之间的夹角确定,显示夹角小于第三角度阈值的栅格。
232.可以理解的是,上述确定目标栅格和待显示栅格的方式只是一种举例,其并非用于限定本技术,在具体实现时,也可以采用其他实现方式,本实施例对此不做特别限定。
233.s130、在扫描过程中,点亮第一栅格,显示第二栅格的关键帧图像和目标对象的扫描进度。
234.在生成包围盒后,手机可以自动进入扫描过程或者在接收到用户触发的扫描开始操作后,进入扫描过程。
235.包围盒上的各个栅格与目标对象之间的空间位置关系固定,每个栅格与目标对象的某个视角对应,当目标对象的某个视角已被扫描,则可以将该已扫描的视角对应的栅格(即第一栅格)点亮,以便于用户了解目标对象各个扫描视角的扫描状态。
236.具体地,相机的光轴所指向的栅格(即目标栅格)即为相机当前扫描的目标对象的视角对应的栅格,在显示每帧图像时,如果目标栅格未点亮,则可以将该目标栅格点亮。
237.如前所述,在点亮新的栅格时,可以每次点亮多个,如图5中的(b)所示,在确定出目标栅格后,可以将目标栅格所在的栅格区域中的栅格均点亮;或者也可以根据相机与各栅格区域之间的视角关系,确定相机的光轴所指向的目标栅格区域,将目标栅格区域中的栅格均点亮。
238.与确定目标栅格类似,相机与栅格区域之间的视角关系,可以根据相机的位姿与栅格区域的中心点的法向量确定,此处不再赘述。
239.对于已点亮的栅格,手机可以确定其关键帧图像,用于进行后期的建模;为了提高建模质量,手机可以在扫描界面中显示关键帧窗口,在关键帧窗口中显示已点亮的栅格的关键帧图像,用户可以针对图像质量不符合要求的栅格进行重新扫描,即用户可以重新将相机视角对准图像质量不符合要求的栅格,以更新该栅格的关键帧图像。其中,在具体显示时,可以如图5中所示的显示目标栅格的关键帧图像,或者如图7中所示的显示用户选择的栅格的关键帧图像。
240.在具体实现时,可以基于采集图像时相机的位姿和图像清晰度,从针对该第二栅格所采集到的所有图像中进行筛选,确定出最优图像作为关键帧图像。其中,针对某栅格采集的图像包括该栅格被确定为目标栅格时相机所采集到的图像,图像清晰度可以采用图像清晰度估计算法对图像进行估计得到。
241.其中,同一栅格区域可以采用同一关键帧图像,对于某个栅格区域,其关键帧图像可以从针对该栅格区域采集的图像中筛选。在具体实现时,对于针对该栅格区域采集的每个图像,可以确定采集该图像时,相机与该栅格区域之间的视角关系,从视角关系满足要求的图像中选择清晰度最高的图像作为关键帧图像,或者,从清晰度满足要求的图像中选择视角关系最优的关键帧图像。
242.为了使用户可以更方便地了解扫描完整度,如前所述,手机可以在扫描界面中显示扫描进度,扫描进度的具体确定方式可以参见前述实施例,此处不再赘述。
243.s140、根据采集的图像建立目标对象的三维模型。
244.如前所述,手机可以在所有栅格被点亮后自动进入建模过程,或者基于用户的操作进入建模过程。在进行建模时,手机可以根据各栅格区域对应的关键帧图像采用三维建模算法建立目标对象的三维模型。
245.本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本技术。在可能的情况下,以上步骤中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本技术方案实质的,都落入本技术的保护范围。
246.本实施例提供的扫描建模方法,通过在扫描界面中显示包围盒,并通过改变包围盒上栅格的展示形式指示目标对象已扫描的视角,可以使用户方便地了解目标对象各个视角的扫描情况;而且,在生成包围盒时,可以无需用户提供标志物,而是可以通过简单的移动电子设备的操作生成包围盒,因而可以进一步提高用户进行扫描建模的便利性,提升用户的扫描体验;另外,在扫描过程中,扫描界面中可以显示栅格的关键帧图像,从而使用户可以方便地了解到各视角具体采集的图像质量;此外,扫描界面中还可以呈现目标对象的扫描进度,从而可以使用户更全面地了解目标对象的扫描情况,进而可以进一步提高用户进行扫描建模的便利性,提升用户的扫描体验。
247.基于同一构思,作为对上述方法的实现,本技术实施例提供了一种扫描建模装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
248.图17为本技术实施例提供的扫描建模装置的结构示意图,如图17所示,本实施例提供的装置包括:
249.显示模块210、输入模块220、处理模块230和通信模块240。
250.其中,显示模块210用于支持电子设备执行上述实施例中的界面显示操作和/或用于本文所描述的技术的其它过程。显示模块可以是触摸屏或其他硬件或硬件与软件的综合体。
251.输入模块220用于接收用户在电子设备的显示界面上的输入,如触摸输入、语音输入、手势输入等,输入模块用于支持电子设备执行上述实施例中接收用户操作的步骤和/或用于本文所描述的技术的其它过程。输入模块可以是触摸屏或其他硬件或硬件与软件的综合体。
252.处理模块230用于支持电子设备执行上述实施例中各方法步骤中的处理操作和/或用于本文所描述的技术的其它过程。
253.通信模块240用于支持电子设备执行与其他电子设备之间的通信过程相关的操作和/或用于本文所描述的技术的其它过程。
254.本实施例提供的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
255.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
256.基于同一构思,本技术实施例还提供一种电子设备,请参阅图18,图18为本技术实施例提供的电子设备的结构示意图。
257.电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
258.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者进行不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
259.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(sraphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
260.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
261.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
262.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路
(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
263.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(serail clock line,scl)。i2s接口可以用于音频通信。pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。uart接口是一种通用串行数据总线,用于异步通信;该总线可以为双向通信总线,它将要传输的数据在串行通信与并行通信之间转换。mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件;mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。gpio接口可以通过软件配置,gpio接口可以被配置为控制信号,也可被配置为数据信号。usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
264.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
265.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
266.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
267.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
268.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
269.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电
diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
275.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
276.isp用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。视频编解码器用于对数字视频压缩或解压缩。
277.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
278.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
279.外部存储器接口120可以用于连接外部存储器,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
280.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
281.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
282.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim
卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。
283.本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
284.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
285.本技术实施例还提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现上述方法实施例所述的方法。
286.本技术实施例还提供一种芯片系统,包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述方法实施例所述的方法。其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
287.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘或磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
288.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质可以包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
289.在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
290.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
291.在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
292.应当理解,在本技术说明书和所附权利要求书的描述中,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列
出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
293.在本技术的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,a/b可以表示a或b;本技术中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。
294.并且,在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项”或其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b,或c中的至少一项,可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
295.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0296]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
[0297]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
[0298]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。

技术特征:
1.一种扫描建模方法,应用于电子设备,其特征在于,包括:启动相机,显示扫描界面;检测到所述电子设备绕目标对象移动,在所述扫描界面上叠加显示虚拟的包围盒,所述包围盒用于包围所述目标对象,所述包围盒被划分为多个栅格,各所述栅格采用第一展示形式展示;在扫描所述目标对象的过程中,采用第二展示形式展示第一栅格,所述第一栅格为所述目标对象已被扫描的视角所对应的栅格,所述第二展示形式与所述第一展示形式不同;根据所述相机采集的图像建立所述目标对象的三维模型。2.根据权利要求1所述的方法,其特征在于,在显示所述包围盒之前,所述扫描界面上显示有扫描框和第一提示信息,所述第一提示信息用于提示用户将目标对象置于所述扫描框的取景范围内。3.根据权利要求1或2所述的方法,其特征在于,在所述扫描界面上叠加显示虚拟的包围盒之后,所述方法还包括:根据所述电子设备与所述目标对象之间的距离,显示第二提示信息,所述第二提示信息用于提示用户将电子设备靠近或远离所述目标对象。4.根据权利要求1-3任一项所述的方法,其特征在于,所述包围盒呈半球形,所述包围盒的顶部区域的栅格不显示。5.根据权利要求1-4任一项所述的方法,其特征在于,所述包围盒上被遮挡区域的栅格不显示,所述被遮挡区域位于所述目标对象远离所述电子设备的一侧。6.根据权利要求1-5任一项所述的方法,其特征在于,所述栅格呈多行多列排布,所述包围盒被划分为多个栅格区域,每个所述栅格区域包括多个相邻的栅格;对于每个栅格区域,当相机的拍摄方向指向所述栅格区域时,所述栅格区域中的栅格均被确定为第一栅格。7.根据权利要求6所述的方法,其特征在于,所述栅格区域呈多行多列排布。8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:在所述扫描界面上叠加显示关键帧窗口,在所述关键帧窗口中显示第二栅格的关键帧图像,所述第二栅格的展示形式为第二展示形式,所述第二栅格的关键帧图像用于指示针对所述第二栅格所采集到的最优图像。9.根据权利要求8所述的方法,其特征在于,所述第二栅格为所述相机的拍摄方向指向的栅格。10.根据权利要求8所述的方法,其特征在于,所述第二栅格为用户选择的栅格。11.根据权利要求8-10任一项所述的方法,其特征在于,所述方法还包括:接收窗口关闭操作,关闭所述关键帧窗口。12.根据权利要求8-11任一项所述的方法,其特征在于,所述关键帧窗口可移动,和/或,所述关键帧窗口可缩放。13.根据权利要求8-12任一项所述的方法,其特征在于,所述方法还包括:接收第一操作,采用全屏显示模式显示所述关键帧窗口;接收第二操作,采用小窗口显示模式显示所述关键帧窗口。14.根据权利要求1-13任一项所述的方法,其特征在于,所述方法还包括:
在所述扫描界面上显示扫描进度。15.根据权利要求14所述的方法,其特征在于,采用进度条方式显示所述扫描进度。16.根据权利要求14或15所述的方法,其特征在于,所述扫描进度指示第一栅格占所有待扫描的栅格的比例。17.根据权利要求14或15所述的方法,其特征在于,所述栅格呈多行多列排布,所述扫描进度指示目标行中第一栅格占所述目标行中所有栅格的比例,所述目标行为所述相机的拍摄方向指向的栅格所在的行。18.根据权利要求1-17任一项所述的方法,其特征在于,当所述栅格采用第一展示形式展示时,所述栅格的边框为第一颜色;当所述栅格采用第二展示形式展示时,所述栅格的边框为第二颜色。19.根据权利要求18所述的方法,其特征在于,所述栅格的表面透明显示。20.根据权利要求1-19任一项所述的方法,其特征在于,在接收到扫描开始操作后,采用第二展示形式展示第一栅格;和/或,在接收到扫描结束操作后,根据所述相机采集的图像建立所述目标对象的三维模型。21.根据权利要求20所述的方法,其特征在于,在接收到扫描结束操作后,建立所述三维模型前,所述方法还包括:在检测到未扫描完所述目标对象的情况下,显示第三提示信息,所述第三提示信息用于提示用户未扫描完所述目标对象。22.根据权利要求21所述的方法,其特征在于,所述方法还包括:在所述扫描界面上指示未扫描的栅格的位置。23.根据权利要求1-22任一项所述的方法,其特征在于,在所述方法还包括:在所述扫描界面上显示所述目标对象的坐标系。24.根据权利要求1-23任一项所述的方法,其特征在于,在建立所述目标对象的三维模型之前,所述方法还包括:接收重新扫描操作,清除已显示的包围盒。25.根据权利要求1-24任一项所述的方法,其特征在于,所述方法还包括:接收缩放所述包围盒的操作,对所述包围盒的大小进行缩放。26.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-25任一项所述的方法。27.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-25任一项所述的方法。28.一种计算机程序产品,其特征在于,当计算机程序产品在电子设备上运行时,使得电子设备执行如权利要求1-25任一项所述的方法。29.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1-25任一项所述的方法。

技术总结
本申请提供一种扫描建模方法与电子设备,涉及三维重建技术领域,其中,该方法包括:启动相机,显示扫描界面;检测到电子设备绕目标对象移动,在扫描界面上叠加显示虚拟的包围盒,其中,包围盒用于包围目标对象,包围盒被划分为多个栅格,各栅格采用第一展示形式展示;在扫描目标对象的过程中,采用第二展示形式展示第一栅格,第一栅格为目标对象已被扫描的视角所对应的栅格,第二展示形式与第一展示形式不同;根据相机采集的图像建立目标对象的三维模型。本申请提供的技术方案可以提高用户进行3D扫描建模的便利性,进而提升用户体验。进而提升用户体验。进而提升用户体验。


技术研发人员:李崇奕 程旭 郭峰 王世通
受保护的技术使用者:华为技术有限公司
技术研发日:2022.03.18
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐