一种三维重建方法及相关设备转让专利

申请号 : CN202210326122.4

文献号 : CN115526983B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘小伟周俊伟王国毅

申请人 : 荣耀终端有限公司

摘要 :

本申请提供了一种三维重建方法及相关设备。根据该三维重建方法,电子设备根据获取的图像序列进行增量式重建,得到图像序列对应的相机位姿,并在图像序列对应的相机位姿存在累计误差的情况下,确定相对位姿存在累计误差的时序相邻图像:图像P1和图像P2。电子设备重新确定图像P1和图像P2之间的相对位姿W12,并基于相对位姿W12对图像序列对应的相机位姿进行优化,获取图像序列对应的优化后的相机位姿,再基于图像序列对应的优化后的相机位姿确定三维场景对应的三维点。通过上述方式,电子设备可确定更准确的图像序列的相机位姿,消除了增量式重建所导致的累计误差,提高了最终获得的三维点的坐标的准确性,即可得到更精确的三维场景。

权利要求 :

1.一种三维重建方法,其特征在于,所述方法应用于电子设备;所述方法包括:获取图像序列;所述图像序列包括拍摄三维场景所得的N帧图像;

根据所述图像序列进行增量式重建,得到所述图像序列对应的相机位姿;

在所述图像序列对应的相机位姿存在累计误差的情况下,确定图像P1和图像P2;所述图像P1和所述图像P2对应的相机位姿存在累计误差;所述图像P1和所述图像P2为时序相邻图像;所述电子设备获取所述图像P1的时间早于获取所述图像P2的时间;

重新确定所述图像P1和所述图像P2之间的相对位姿W12;

基于所述相对位姿W12对所述图像序列对应的相机位姿进行优化,获取所述图像序列对应的优化后的相机位姿;

基于所述图像序列对应的优化后的相机位姿确定所述三维场景对应的三维点。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

确定时序相邻图像位移集合;所述时序相邻图像位移集合包括所述图像序列中每两帧时序相邻图像的相对位移;

基于所述时序相邻图像位移集合确定平均位移;所述平均位移为时序相邻图像位移集合所包括的相对位移的平均值;

比较所述时序相邻图像位移集合中的相对位移和所述平均位移,并基于比较结果确定所述图像序列对应的相机位姿是否存在累计误差。

3.如权利要求2所述的方法,其特征在于,所述比较所述时序相邻图像位移集合中的位移和所述平均位移,并基于比较结果确定所述图像序列对应的相机位姿是否存在累计误差,具体包括:若所述时序相邻图像位移集合中存在相对位移与所述平均位移之间的差值大于第一阈值,确定所述图像序列对应的相机位姿存在累计误差;所述图像P1和所述图像P2为所述时序相邻图像位移集合中与所述平均位移之间的差值大于所述第一阈值的相对位移所对应的时序相邻图像。

4.如权利要求1‑3任一项所述的方法,其特征在于,所述重新确定所述图像P1和所述图像P2之间的相对位姿W12,具体包括:基于图像子序列来增量式重建局部三维场景;

根据所述局部三维场景所包括的三维点,以及所述图像P2与所述图像P1的匹配特征点,确定所述相对位姿W12;

所述图像子序列包括所述图像P1以及所述图像序列中的在所述图像P1之前获取的m1帧图像,或者,所述图像子序列包括所述图像P2以及所述图像序列中的在所述图像P2之后获取的m2帧图像;所述m1和所述m2均为正整数。

5.如权利要求4所述的方法,其特征在于,在所述图像子序列包括所述图像P1以及所述图像序列中的在所述图像P1之前获取的m1帧图像的情况下,所述根据所述局部三维场景所包括的三维点,以及所述图像P2与所述图像P1的匹配特征点,确定所述相对位姿W12,具体包括:确定所述图像P2与所述图像P1的匹配特征点中的第一类特征点;所述第一类特征点为已知对应的三维点的特征点;

确定所述匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合所述匹配特征点中的第一类特征点在所述图像P2上的位置,确定所述相对位姿W12;

或者,

在所述图像子序列包括所述图像P2以及所述图像序列中的在所述图像P2之后获取的m2帧图像的情况下,所述根据所述局部三维场景所包括的三维点,以及所述图像P2与所述图像P1的匹配特征点,确定所述相对位姿W12,具体包括:确定所述图像P2与所述图像P1的匹配特征点中的第一类特征点;

确定所述匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合所述匹配特征点中的第一类特征点在所述图像P1上的位置,确定所述相对位姿W12。

6.如权利要求1‑3任一项所述的方法,其特征在于,所述重新确定所述图像P1和所述图像P2之间的相对位姿W12,具体包括:基于图像子序列来增量式重建局部三维场景,得到所述相对位姿W12;

其中,所述图像子序列包括所述图像P1、所述图像P2、所述图像序列中在所述图像P1之前获取的m3帧图像,以及所述图像序列中在所述图像P2之后获取的m4帧图像;所述m3和所述m4均为正整数。

7.如权利要求1‑3任一项所述的方法,其特征在于,所述重新确定所述图像P1和所述图像P2之间的相对位姿W12,具体包括:根据所述图像P1和所述图像P2的匹配特征点,计算本质矩阵;

基于所述本质矩阵通过奇异值分解来确定所述相对位姿W12。

8.如权利要求1‑3任一项或权利要求5所述的方法,其特征在于,所述基于所述相对位姿W12对所述图像序列对应的相机位姿进行优化,获取所述图像序列对应的优化后的相机位姿,具体包括:根据所述图像序列中每两帧时序相邻图像所对应的相机位姿和所述每两帧时序相邻图像的相对位姿构建误差函数;

调整所述图像序列所对应的相机位姿;

将所述误差函数处于收敛状态时所述图像序列所对应的相机位姿确定为所述图像序列对应的优化后的相机位姿;所述每两帧时序相邻图像的相对位姿包括所述相对位姿W12。

9.如权利要求8所述的方法,其特征在于,所述误差函数包括所述图像序列中每两帧时序相邻图像之间的相对位姿的残差;所述残差表征每两帧时序相邻图像之间的相对位姿的准确性。

10.一种电子设备,包括显示屏、存储器,以及一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1‑9中任一项所述的方法。

11.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1‑9中任一项所述的方法。

说明书 :

一种三维重建方法及相关设备

技术领域

[0001] 本申请涉及终端技术领域,尤其涉及一种三维重建方法及相关设备。

背景技术

[0002] 随着工业化进程的不断发展,多种技术的实现均有赖于目标物体三维信息的获取。在计算机视觉领域,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。三维重建作为计算机视觉领域中的关键技术,可以被广泛应用于生活和科研工作中。人们可以利用计算机建立表达现实客观物体的三维模型,并以此来满足生产和生活的需要。
[0003] 可理解,三维重建可以包括图像获取、特征点检测、特征点匹配、增量式重建等步骤。三维重建过程中的每一个步骤的准确度都会影响最终重建所得的三维模型的精度。
[0004] 因此,如何提升三维重建的准确度,以得到精度较高的三维模型是目前亟待解决的问题。

发明内容

[0005] 本申请提供了一种三维重建方法及相关设备。电子设备可以重新确定存在累计误差的时序相邻图像之间的相对位姿,并基于该相对位姿对之前增量式重建所得的图像序列所对应的相机位姿进行优化,并根据优化后的图像序列对应的相机位姿确定三维场景对应的三维点,即完成三维重建。通过这种方法,消除了增量式重建所导致的累计误差,使得电子设备可以获取更准确的图像序列对应的相机位姿,并由此得到更精确的重建三维场景。
[0006] 第一方面,本申请提供一种三维重建方法。该方法可以应用于电子设备。该方法可以包括:获取图像序列;根据图像序列进行增量式重建,得到该图像序列对应的相机位姿;在该图像序列对应的相机位姿存在累计误差的情况下,确定图像P1和图像P2;重新确定图像P1和图像P2之间的相对位姿W12;基于相对位姿W12对该图像序列对应的相机位姿进行优化,获取该图像序列对应的优化后的相机位姿;基于图像序列对应的优化后的相机位姿确定三维场景对应的三维点。其中,图像序列包括拍摄三维场景所得的N帧图像;图像P1和图像P2对应的相机位姿存在累计误差;图像P1和图像P2为时序相邻图像;电子设备获取图像P1的时间早于获取图像P2的时间。
[0007] 通过第一方面所提供的方法,电子设备可以提高获取的图像序列对应的相机位姿的准确性,还可以消除增量式重建所导致的相机位姿的累计误差,提高了重建所得的三维场景所对应的三维点的坐标的准确性,即可得到更精确的重建三维场景。
[0008] 可理解,增量式重建指的是在图像序列中选取初始图像对确定其相对位姿,并三角化得到初始场景,再将图像序列中的其它图像增量式地注册到该初始场景中,完善该初始场景中的三维点,得到重建三维场景。当然,本申请对该方式的名称不作限制(即不一定叫做“增量式重建”)。关于增量式重建的具体内容可以参考后述实施例,在此不展开说明。
[0009] 在本申请的一些实施例中,电子设备根据图像序列进行增量式重建,不仅可以得到该图像序列对应的相机位姿,还可以得到稀疏点云。该稀疏点云即为增量式重建所得三维场景,且该稀疏点云可以包括若干三维点。可理解,电子设备可以基于图像序列对应的优化后的相机位姿确定新的稀疏点云。该新的稀疏点云为电子设备重建所得的三维场景,且该新的稀疏点云包括若干三维点。
[0010] 结合第一方面,在一种可能的实现方式中,该三维重建方法还可以包括:电子设备确定时序相邻图像位移集合;基于时序相邻图像位移集合确定平均位移;比较时序相邻图像位移集合中的相对位移和平均位移,并基于比较结果确定图像序列对应的相机位姿是否存在累计误差。其中,平均位移为时序相邻图像位移集合所包括的相对位移的平均值;时序相邻图像位移集合包括图像序列中每两帧时序相邻图像的相对位移。
[0011] 在本申请提供的方案中,电子设备可以根据图像序列中每两帧时序相邻图像之间的相对位移和平均位移的大小关系,来确定图像序列所对应的相机位姿是否存在累计误差。这种方式可以避免电子设备基于并不准确(即存在累计误差)的相机位姿来重建三维场景(即获取三维场景对应的三维点)。
[0012] 结合第一方面,在一种可能的实现方式中,电子设备实现比较时序相邻图像位移集合中的位移和所述平均位移,并基于比较结果确定图像序列对应的相机位姿是否存在累计误差的具体方式可以包括:若时序相邻图像位移集合中存在相对位移与平均位移之间的差值大于第一阈值,确定图像序列对应的相机位姿存在累计误差。可理解,图像P1和图像P2为所述时序相邻图像位移集合中与平均位移之间的差值大于第一阈值的相对位移所对应的时序相邻图像。
[0013] 在本申请的一些实施例中,时序相邻图像位移集合中存在与平均位移之间的差值大于第一阈值的相对位移,则该相对位移对应的时序相邻图像即为图像序列中存在累计误差的图像,即前文所述的图像P1和图像P2。通过这种方式,电子设备可以找到存在累计误差的图像,以便于后续针对该累计误差进行优化。
[0014] 当然,电子设备还可以通过其他方式来确定图像P1和图像P2,具体方式可以参考后文,在此不展开说明。
[0015] 结合第一方面,在一种可能的实现方式中,电子设备实现重新确定图像P1和图像P2之间的相对位姿W12的具体方式可以包括:基于图像子序列来增量式重建局部三维场景;根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12。在一些实施例中,图像子序列可以包括图像P1以及图像序列中的在图像P1之前获取的m1帧图像。在又一些实施例中,图像子序列可以包括图像P2以及图像序列中的在图像P2之后获取的m2帧图像。其中,m1和m2均为正整数。
[0016] 在本申请提供的方案中,电子设备可以确定增量式重建时所得的图像P1和图像P2所对应的相机位姿存在累计误差,即图像P1和图像P2之间的相对位姿存在累计误差。在这种情况下,电子设备不再采取基于增量式重建时所得的图像P1和图像P2所对应的相机位姿所确定的三维点,而是重新确定图像P1和图像P2之间的相对位姿,以获取更准确的相对位姿来确定三维场景所对应的三维点,即得到更精确的三维场景。具体地,电子设备可以根据图像序列中的部分图像来增量式重建局部三维场景,并根据该局部三维场景所包括的三维点,以及存在累积误差的图像P2与图像P1的匹配特征点,来重新确定图像P1和图像P2之间的相对位姿W12。由于电子设备通过更少的图像来增量式重建局部三维场景,所以重建局部三维场景的过程中误差较小,最终得到的三维点也比较准确。
[0017] 在本申请的一些实施例中,局部三维场景为第一局部场景,图像子序列为第一图像子序列。第一局部场景和第一图像子序列的相关描述可以参考后文,在此不展开说明。
[0018] 在本申请的一些实施例中,局部三维场景为第二局部场景,图像子序列为第二图像子序列。第二局部场景和第二图像子序列的相关描述可以参考后文,在此不展开说明。
[0019] 结合第一方面,在一种可能的实现方式中,在图像子序列包括图像P1以及图像序列中的在图像P1之前获取的m1帧图像的情况下,电子设备实现根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12的具体方式可以包括:确定图像P2与图像P1的匹配特征点中的第一类特征点;确定该匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合匹配特征点中的第一类特征点在图像P2上的位置,确定相对位姿W12。其中,第一类特征点为已知对应的三维点的特征点。
[0020] 结合第一方面,在一种可能的实现方式中,在图像子序列包括图像P2以及图像序列中的在图像P2之后获取的m2帧图像的情况下,电子设备实现根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12的具体方式可以包括:确定图像P2与图像P1的匹配特征点中的第一类特征点;确定该匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合匹配特征点中的第一类特征点在图像P1上的位置,确定相对位姿W12。
[0021] 在本申请的一些实施例中,电子设备可以通过PnP算法来确定相对位姿W12,相关描述可以参考后文,在此不展开说明。
[0022] 在本申请提供的方案中,电子设备基于局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征关系,确定相对位姿W12。由于电子设备通过更少的图像来增量式重建局部三维场景,所以重建局部三维场景的过程中误差较小,最终得到的三维点也比较准确,因此,电子设备确定的相对位姿W12的准确性也比较高。
[0023] 结合第一方面,在一种可能的实现方式中,电子设备实现重新确定图像P1和图像P2之间的相对位姿W12的具体方式可以包括:基于图像子序列来增量式重建局部三维场景,得到相对位姿W12。其中,图像子序列包括图像P1、图像P2、图像序列中在图像P1之前获取的m3帧图像,以及图像序列中在图像P2之后获取的m4帧图像。m3和m4均为正整数。
[0024] 在本申请提供的方案中,电子设备基于图像P1、图像P2、图像序列中在图像P1之前获取的m3帧图像,以及图像序列中在图像P2之后获取的m4帧图像来增量式重建局部三维场景。这也就意味着,电子设备通过更少的图像来增量式重建局部三维场景。由此可知,重建局部三维场景的过程中误差较小,最终得到的三维点也比较准确,因此,电子设备确定的相对位姿W12的准确性也比较高。
[0025] 在本申请的一些实施例中,局部三维场景为第三局部场景,图像子序列为第三图像子序列。第三局部场景和第三图像子序列的相关描述可以参考后文,在此不展开说明。
[0026] 结合第一方面,在一种可能的实现方式中,电子设备实现重新确定所述图像P1和所述图像P2之间的相对位姿W12的具体方式可以包括:根据图像P1和图像P2的匹配特征点,计算本质矩阵;基于本质矩阵通过奇异值分解来确定相对位姿W12。
[0027] 在本申请提供的方案中,电子设备可以通过图像P1和图像P2的匹配特征点来确定相对位姿W12。通过这种方式不存在增量式重建所导致的累计误差。也就是说,相较于增量式重建所获取的图像P1和图像P2之间的相对位姿,电子设备确定的相对位姿W12会更加准确。
[0028] 结合第一方面,在一种可能的实现方式中,电子设备实现基于相对位姿W12对图像序列对应的相机位姿进行优化,获取图像序列对应的优化后的相机位姿的具体方式可以包括:根据图像序列中每两帧时序相邻图像所对应的相机位姿和每两帧时序相邻图像的相对位姿构建误差函数;调整所述图像序列所对应的相机位姿;将误差函数处于收敛状态时图像序列所对应的相机位姿确定为图像序列对应的优化后的相机位姿。其中,每两帧时序相邻图像的相对位姿包括相对位姿W12。
[0029] 在本申请提供的方案中,电子设备可以基于图像序列中的每两帧时序相邻图像之间的相对位姿构建误差函数,并基于该误差函数来调整图像序列所对应的相机位姿,以使得误差函数达到收敛状态。可理解,误差函数达到收敛状态时图像序列所对应的相机位姿即为优化后的图像序列所对应的相机位姿。电子设备可以通过该优化后的图像序列所对应的相机位姿来确定三维场景对应的三维点(即实现三维重建)。需要说明的是,该方法中所采取的图像P1和图像P2之间的相对位姿为电子设备重新确定的相对位姿W12,而不是增量式重建所得的图像P1和图像P2的相对位姿。而该方法中所采取的其他时序相邻图像(图像序列中除图像P1和图像P2之外的时序相邻图像)之间的相对位姿为电子设备进行增量式重建所得的相对位姿。通过这种方式,电子设备可以获得更准确的图像序列所对应的相机位姿,并基于该相机位姿得到更准确的三维点。也就是说,该方式提高了电子设备三维重建的准确性。
[0030] 结合第一方面,在一种可能的实现方式中,误差函数包括图像序列中每两帧时序相邻图像之间的相对位姿的残差。该残差可以表征每两帧时序相邻图像之间的相对位姿的准确性。
[0031] 第二方面,本申请提供了一种电子设备。该电子设备可以包括:显示屏、存储器,以及一个或多个处理器。其中,存储器可以用于存储计算机程序;处理器可以用于调用该计算机程序。具体地,处理器,可以用于调用该计算机程序,使得该电子设备执行:获取图像序列;根据图像序列进行增量式重建,得到该图像序列对应的相机位姿;在该图像序列对应的相机位姿存在累计误差的情况下,确定图像P1和图像P2;重新确定图像P1和图像P2之间的相对位姿W12;基于相对位姿W12对该图像序列对应的相机位姿进行优化,获取该图像序列对应的优化后的相机位姿;基于图像序列对应的优化后的相机位姿确定三维场景对应的三维点。其中,图像序列包括拍摄三维场景所得的N帧图像;图像P1和图像P2对应的相机位姿存在累计误差;图像P1和图像P2为时序相邻图像;电子设备获取图像P1的时间早于获取图像P2的时间。
[0032] 结合第二方面,在一种可能的实现方式中,处理器,还可以用于调用该计算机程序,使得该电子设备执行:确定时序相邻图像位移集合;基于时序相邻图像位移集合确定平均位移;比较时序相邻图像位移集合中的相对位移和平均位移,并基于比较结果确定图像序列对应的相机位姿是否存在累计误差。其中,平均位移为时序相邻图像位移集合所包括的相对位移的平均值;时序相邻图像位移集合包括图像序列中每两帧时序相邻图像的相对位移。
[0033] 结合第二方面,在一种可能的实现方式中,处理器,在用于调用该计算机程序,使得该电子设备执行比较时序相邻图像位移集合中的位移和所述平均位移,并基于比较结果确定图像序列对应的相机位姿是否存在累计误差时,具体用于调用该计算机程序,使得该电子设备执行:若时序相邻图像位移集合中存在相对位移与平均位移之间的差值大于第一阈值,确定图像序列对应的相机位姿存在累计误差。可理解,图像P1和图像P2为所述时序相邻图像位移集合中与平均位移之间的差值大于第一阈值的相对位移所对应的时序相邻图像。
[0034] 结合第二方面,在一种可能的实现方式中,处理器,在用于调用该计算机程序,使得该电子设备执行重新确定图像P1和图像P2之间的相对位姿W12时,具体用于调用该计算机程序,使得该电子设备执行:基于图像子序列来增量式重建局部三维场景;根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12。在一些实施例中,图像子序列可以包括图像P1以及图像序列中的在图像P1之前获取的m1帧图像。在又一些实施例中,图像子序列可以包括图像P2以及图像序列中的在图像P2之后获取的m2帧图像。其中,m1和m2均为正整数。
[0035] 结合第二方面,在一种可能的实现方式中,在图像子序列包括图像P1以及图像序列中的在图像P1之前获取的m1帧图像的情况下,处理器,在用于调用该计算机程序,使得该电子设备执行根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12时,具体用于调用该计算机程序,使得该电子设备执行:确定图像P2与图像P1的匹配特征点中的第一类特征点;确定该匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合匹配特征点中的第一类特征点在图像P2上的位置,确定相对位姿W12。其中,第一类特征点为已知对应的三维点的特征点。
[0036] 结合第二方面,在一种可能的实现方式中,在图像子序列包括图像P2以及图像序列中的在图像P2之后获取的m2帧图像的情况下,处理器,在用于调用该计算机程序,使得该电子设备执行根据局部三维场景所包括的三维点,以及图像P2与图像P1的匹配特征点,确定相对位姿W12时,具体用于调用该计算机程序,使得该电子设备执行:确定图像P2与图像P1的匹配特征点中的第一类特征点;确定该匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,并结合匹配特征点中的第一类特征点在图像P1上的位置,确定相对位姿W12。
[0037] 结合第二方面,在一种可能的实现方式中,处理器,在用于调用该计算机程序,使得该电子设备执行重新确定图像P1和图像P2之间的相对位姿W12时,具体用于调用该计算机程序,使得该电子设备执行:基于图像子序列来增量式重建局部三维场景,得到相对位姿W12。其中,图像子序列包括图像P1、图像P2、图像序列中在图像P1之前获取的m3帧图像,以及图像序列中在图像P2之后获取的m4帧图像。m3和m4均为正整数。
[0038] 结合第二方面,在一种可能的实现方式中,处理器,在用于调用该计算机程序,使得该电子设备执行重新确定图像P1和图像P2之间的相对位姿W12时,具体用于调用该计算机程序,使得该电子设备执行:根据图像P1和图像P2的匹配特征点,计算本质矩阵;基于本质矩阵通过奇异值分解来确定相对位姿W12。
[0039] 结合第二方面,在一种可能的实现方式中,处理器,在用于调用该计算机程序,使得该电子设备执行基于相对位姿W12对图像序列对应的相机位姿进行优化,获取图像序列对应的优化后的相机位姿时,具体用于调用该计算机程序,使得该电子设备执行:根据图像序列中每两帧时序相邻图像所对应的相机位姿和每两帧时序相邻图像的相对位姿构建误差函数;调整所述图像序列所对应的相机位姿;将误差函数处于收敛状态时图像序列所对应的相机位姿确定为图像序列对应的优化后的相机位姿。其中,每两帧时序相邻图像的相对位姿包括相对位姿W12。
[0040] 结合第二方面,在一种可能的实现方式中,误差函数包括图像序列中每两帧时序相邻图像之间的相对位姿的残差。该残差可以表征每两帧时序相邻图像之间的相对位姿的准确性。
[0041] 第三方面,本申请提供一种计算机存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行上述第一方面中任一种可能的实现方式。
[0042] 第四方面,本申请实施例提供一种芯片,该芯片应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第一方面中任一种可能的实现方式。
[0043] 第五方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面任一种可能的实现方式。
[0044] 可理解,上述第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片,以及第五方面提供的计算机程序产品均用于执行上述第一方面中任一种可能的实现方式。因此,其所能达到的有益效果可参考上述第一方面中任一种可能的实现方式的有益效果,此处不再赘述。

附图说明

[0045] 图1为电子设备拍摄场景的图像序列的示意图;
[0046] 图2为本申请实施例提供的一种三维重建系统的示意图;
[0047] 图3为本申请实施例提供的一种三维重建方法的流程图;
[0048] 图4为本申请实施例提供的一种图像序列所对应的相机位姿的示意图;
[0049] 图5为本申请实施例提供的一种确定相对位姿的原理图;
[0050] 图6为本申请实施例提供的又一种确定相对位姿的原理图;
[0051] 图7为本申请实施例提供的又一种图像序列所对应的相机位姿的示意图;
[0052] 图8为本申请实施例提供的一种电子设备的硬件结构示意图。

具体实施方式

[0053] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0054] 应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0055] 在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
[0056] 本申请涉及三维重建领域的技术,为了便于理解后述实施例,下面对本申请涉及的关于三维重建领域的技术用语进行介绍。
[0057] 1、三维重建
[0058] 随着科学技术日新月异的发展,计算机视觉的应用日益受到各行业的关注和重视。在诸如医学图像处理、机器人视觉、自动导航等领域中,计算机视觉技术起到了非常关键的作用。三维重建作为计算机视觉技术中蓬勃发展的技术之一,可以实现从二维图像恢复三维结构。三维重建可以被广泛的应用于生活和科研工作中,即通过计算机建立表达现实客观景物的三维模型,并以此来满足人们生产和生活的需要。
[0059] 需要说明的是,三维重建是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。可理解,三维重建是基于一系列和三维场景(可以简称为场景)相关的二维图像,通过三维重建技术推导出该三维场景的三维信息的过程。
[0060] 可理解,电子设备可以进行多视角拍摄以获取场景的图像序列。请如图1所示,电子设备(即图1所示的电子设备100)可以环绕物体200(即图1所示的体育馆)来进行多视角拍摄。在拍摄过程中,电子设备的位置和朝向可能发生变化。在本申请的一些实施例中,电子设备可以环绕物体200拍摄视频,并基于该视频所包括的图像序列来对物体200进行重建。
[0061] 如图2所示,电子设备可以包括三维重建系统。三维重建系统用于根据一系列二维图像(即图像序列)来构建三维模型。可理解,三维重建系统可以包括稀疏点云重建模块、稠密点云重建模块和纹理模型重建模块。其中,稀疏点云重建模块用于根据运动恢复结构(Structure from Motion,SfM)技术构建稀疏点云(sparse points cloud),同时估计相机的位姿。具体地,稀疏点云重建模块可以根据二维图像上的特征点的匹配关系,计算相机的位姿和稀疏点云的三维坐标。稠密点云重建模块用于根据相机的位姿来构建稠密点云。可理解,稠密点云重建模块可以通过深度图融合法来构建稠密点云。具体地,对于输入三维重建系统的每一幅二维图像,稠密点云重建模块可以选择协助估计该图像深度的参照图像(如邻域图像),然后可以通过选择的参照图像对原图进行深度图估计,并进行深度图过滤(即过滤相邻深度图中检测到的不一致的深度值),最后对所得的多视角的深度图进行融合,生成稠密点云。纹理模型重建模块用于根据稠密点云构建三维模型。具体地,纹理模型重建模块可以根据稠密点云生成网格,再填入纹理信息(即纹理映射),得到着色后的三维模型。
[0062] 可理解,本申请所提及的电子设备可以为个人计算机(personal computer,PC)、单目相机、智能手机、平板电脑等设备,本申请对此不作限制。
[0063] 可理解,电子设备进行三维重建时所基于的图像序列可以是由电子设备获取的(例如,根据上文,电子设备进行多视角拍摄以获取图像序列;再例如,电子设备通过互联网或本地图像数据库获取图像序列),还可以来自其他设备(例如,利用其他设备进行拍摄后传输给电子设备),本申请对此不作限制。
[0064] 需要说明的是,电子设备在构建稀疏点云以及估计相机位姿时,可以采取增量式(Incremental)SfM方式(即增量式重建)。一般来说,增量式SfM可以包括以下两个步骤:(1)选取初始图像对。电子设备选取图像序列中具有准确的相对几何关系和最佳的场景可见性的两帧图像。例如,图像序列中的第一帧图像和第二帧图像(与第一帧图像时序相邻)。(2)增量式重建。在选取了初始图像对之后,电子设备可以根据特征点匹配结果来估计初始图像对的相对位姿,然后通过三角化重建场景三维结构,生成最初的稀疏点云,即得到了初始场景。在初始场景的基础上,电子设备可以选择下一帧尚未用于重建的图像增量式地注册到现有模型,并使用多点透视成像(Perspective‑n‑Point,PnP)算法来估计新注册的图像的位姿。对于每一帧新注册的图像,电子设备可以通过三角化来生成一些新的点云来增加场景的覆盖范围。其中,初始图像对的相对位姿指的是获取该初始图像对时相机的位姿。新注册的图像的位姿指的是新注册的图像所对应的相机位姿,即获取该新注册的图像时相机的位姿。可理解,三角化指的是基于两帧图像对应的相机位姿获取相应的三维点。
[0065] 上述增量式重建的过程中,电子设备需要不断估计图像序列中的图像所对应的相机位姿。可理解,每一次相机位姿的估计都可能存在误差,一旦图像序列所包括的图像数量过多,电子设备对后注册到模型的图像进行位姿估计时会存在累计误差,导致对该后注册到模型的图像的位姿估计不准确,影响后续重建过程(如上文所述的稠密点云构建)。
[0066] 2、点云
[0067] 点云是一个数据集,这个数据集是包括三维信息的点所构成的数据点集合。点云中的数据点可以包括三维信息(例如,三维坐标,即X轴、Y轴、Z轴几何坐标),还可以包括颜色或光照强度等信息。
[0068] 3、位姿
[0069] 位姿,即位置和姿态,是刚体(即在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体)在空间中的位置和它自身的姿态。可理解,相机的位姿即相机在空间中的位置和相机的朝向。
[0070] 相机的位姿可以理解为利用相机拍摄图像时,该相机的相机坐标系相对于世界坐标系的位置以及姿态。相机的位姿包括该相机的相机坐标系相对于世界坐标系的位置和姿态。该相机的相机坐标系相对于世界坐标系的位置可以利用平移向量来表示,记为t。该相机的相机坐标系相对于世界坐标系的姿态可以利用旋转矩阵来表示,记为R。则相机的位姿可以利用矩阵R,T来表示。其中,R是3×3的矩阵,t是3×1的向量。
[0071] 可理解,电子设备的相机包括摄像头,还可以包括一些处理模块。
[0072] 4、世界坐标系
[0073] 世界坐标系作为一个参考坐标系,其由原点、Xw轴、Yw轴和Zw轴组成。可理解,Xw轴、Yw轴和Zw彼此正交,这三个轴的交点为原点。世界坐标系可以用于描述场景(例如,图1所示的物体200)在真实世界中的位置。对于该场景而言,该场景在世界坐标系中的坐标可以表示该场景的三维信息。可理解,该场景可以由若干带有三维信息的点组成。也就是说,该场景中的若干个点相对于该世界坐标系中的三维信息可以作为该场景的三维点集合(即上文所提及的点云)。这也就意味着,在同一世界坐标系下,根据该场景中的若干个点的三维信息,可以重建该场景。
[0074] 5、相机坐标系
[0075] 相机坐标系是以相机的聚焦中心(即光心)为原点,以光轴为Zc轴建立的三维直角坐标系。相机坐标系的另外两个轴——Xc轴和Xy轴,分别与图像物理坐标系(即成像平面坐标系)的x轴和y轴平行。
[0076] 6、图像物理坐标系和像素坐标系
[0077] 可理解,图像物理坐标系是以物理单位(例如厘米)表示的二维坐标系。基于图像物理坐标系,图像中的像素可以利用物理单位来表示该像素在图像中的物理位置。需要说明的是,由于图像物理坐标系对应的是物理单位,可能不太好衡量具体的图像的质量,如果按照统一的像素标准,比较容易衡量图像的质量。即采取像素坐标系更容易衡量具体的图像。图像物理坐标系和像素坐标系处于同一平面,两者之间的差异在于坐标原点的位置和单位。像素坐标系的原点在图像物理坐标系的左上角,同时,像素坐标系的单位为像素。可理解,相机采集的数字图像在计算机内可以存储为数组,数组中的每一个元素(像素,pixel)的值即是图像点的亮度(灰度)。像素坐标系是由u轴和v轴组成的直角坐标系,每一像素的坐标(u,v)分别是该像素在数组中的列数和行数。
[0078] 应该理解的是,相机可以在位姿W下拍摄某一场景,从而得到图像I。图像I中可以包括该场景在一个视角下的若干个像素点的信息。其中一个像素点A的信息包括该像素点A在像素坐标系中的位置(u1,v1),还可以包括该像素点A的颜色信息等。可理解,根据上文,像素坐标系和图像物理坐标系的单位和原点不同,但处于同一平面。而图像物理坐标系和相机坐标系之间存在透视投影关系,相机坐标系和世界坐标系之间存在刚体变换关系(即三维空间中,当物体不发生形变时,对一个几何物体作旋转和平移的运动)。也就是说,像素点在像素坐标系中的位置与在图像物理坐标系中的位置存在转换关系,像素点在图像物理坐标系中的位置与在相机坐标系中的位置存在转换关系,像素点在相机坐标系中的位置与在世界坐标系中的位置也存在转换关系。需要说明的是,上述三种转换关系并不相同。
[0079] 可理解,该像素点A的位置(u1,v1)与该像素点A的三维信息(在世界坐标系中的位置)之间存在转换关系:可以通过位姿W以及该像素点A的位置(u1,v1)得到该像素点A在世界坐标系中的位置(x,y,z),也可以通过该像素点A在世界坐标系中的三维信息(x,y,z)以及位姿W得到该像素点A的位置(u1,v1)。
[0080] 本申请提供了一种三维重建方法及相关设备。根据该三维重建方法,电子设备可以在基于图像序列增量式重建三维场景后,检测是否存在累计误差。若图像序列所对应的相机位姿存在累计误差,电子设备可以确定存在累计误差的图像(位姿图中断开处的相机位姿所对应的图像)的准确的相对位姿,并构建残差对图像序列所对应的相机位姿进行优化,再三角化生成三维点,得到优化后的稀疏点云。通过上述方式,电子设备可以确定更准确的图像序列对应的相机位姿,消除了增量式重建所导致的累计误差,使得最终获得的三维点的坐标准确,即可以重建得到更精确的三维场景。
[0081] 下面结合图3介绍本申请实施例提供的一种三维重建方法。
[0082] S301:电子设备获取图像序列。该图像序列包括拍摄三维场景所得的N帧图像。
[0083] 具体地,电子设备可以通过相机拍摄三维场景,从而得到图像序列。该图像序列中包括N帧图像。其中,N为大于等于2的正整数。可理解,这N帧图像可以为二维图像。也就是说,该图像序列中的每一帧图像中的像素点都可以包括该三维场景中的二维信息。
[0084] 示例性的,该三维场景可以为图1所示的物体200。电子设备可以以图1所示的视角环绕物体200拍摄视频。可理解,电子设备通过上述方式进行拍摄所得的视频可以包括图像序列。当然,电子设备还可以在不同视角下对物体200进行拍摄,从而得到图像序列。
[0085] 在本申请的一些实施例中,电子设备所获取的图像序列还可以是其他设备获取之后,发送给该电子设备的。需要说明的是,本申请对电子设备获取图像序列的具体方式不作限制。
[0086] S302:电子设备根据获取的图像序列对三维场景进行增量式重建,得到图像序列所包括的N帧图像对应的相机位姿和稀疏点云。其中,稀疏点云为增量式重建所得的三维场景,且稀疏点云包括若干三维点。
[0087] 可理解,电子设备可以基于获取的图像序列来进行增量式重建,得到图像序列对应的相机位姿,并基于图像序列对应的相机位姿来生成稀疏点云。
[0088] 需要说明的是,在进行增量式重建之前,电子设备需要进行图像特征点匹配。可理解,图像特征点匹配是三维重建的基础,其任务是将不同图像上相同的特征点进行关联。
[0089] 图像特征点匹配可以包括以下内容:
[0090] (1)图像特征点检测。
[0091] 电子设备可以对图像序列进行特征点检测,即利用检测子定位图像序列所包括的N帧图像的特征点。可理解,特征点往往是物体边界方向突然改变的点或两个或多个边缘段之间的焦点,它在图像空间中具有明确的位置。
[0092] 可理解,电子设备对图像序列进行特征点检测后,可以获取图像序列的特征点的位置信息。该位置信息用于表示特征点在图像中的位置。具体地,该位置信息可以包括该特征点在像素坐标系中的坐标。
[0093] (2)图像特征点描述。
[0094] 电子设备可以对检测出的图像序列的特征点进行特征点描述,即利用描述子编码特征点的局部邻域。理想情况下,特征点描述可以满足不同物体特征能相互区分,相同物体特征在不同图像中能重复识别的要求。
[0095] 可理解,电子设备可以获取特征点周围的M个像素点的信息(包括该像素点的位置、颜色以及方向等)。特征点周围的M个像素点的信息也可以被称为该特征点的描述子,通常可以用128维的数据进行表示。
[0096] 在本申请的一些实施例中,电子设备可以基于尺度不变特征变换(Scale‑invariant feature transform,SIFT)算法、加速稳健特征(Speeded Up Robust Features,SURF)算法、特征检测(Oriented FAST and Rotated BRIEF,ORB)算法等提取每一帧图像中的特征点,即获取图像序列的特征点信息(包括特征点的位置信息和特征点对应的描述子)。当然,电子设备还可以采取其他的算法来提取每一帧图像中的特征点,本申请实施例对此不作限制。
[0097] (3)特征点匹配。
[0098] 电子设备可以计算图像序列所包括的N帧图像的特征点对应关系。可理解,电子设备可以利用最近邻搜索或者图匹配,来计算该N帧图像的特征点对应关系。当然,电子设备还可以通过其他方式来进行特征点匹配,本申请对此不作限制。
[0099] 具体地,电子设备可以对图像序列中的N帧图像进行两两图像间的图像匹配,即确定每两帧图像中相同的特征点。两个特征点相同是指该两个特征点对应的描述子的相似性大于或者等于预设阈值(例如0.01等),即两个特征点周围M个像素点的信息相似性大于或者等于预设阈值。在本申请的一些实施例中,可以利用两个特征点对应的描述子之间的欧氏距离表示两个特征点对应的描述子的相似性。欧氏距离越小,则表示两个特征点越相似。可理解,电子设备还可以通过绝对差之和、平方差之和、汉明距离来度量描述子之间的相似度,本申请中对此不过多说明。
[0100] 可理解,每两帧图像中相同的特征点可以理解为匹配特征点(或匹配特征点对)。
[0101] 下面简单介绍增量式重建三维场景的方法。
[0102] 在进行特征点匹配之后,电子设备可以基于匹配的特征点进行增量式重建。具体地,电子设备可以从图像序列中选取两帧图像作为第一注册图像和第二注册图像,并基于第一注册图像和第二注册图像所匹配的特征点来计算第一注册图像和第二注册图像的相对位姿,然后通过三角化来重建初始场景。在初始场景的基础上,电子设备可以选择一帧尚未用于重建的图像增量式地注册到现有模型(即初始场景),并估计新注册的图像的位姿。对于每一帧新注册的图像,电子设备可以通过三角化来生成一些新的点云来增加场景的覆盖范围。可理解,多帧图像注册到现有模型之后,电子设备可以获取更新后的三维场景(即稀疏点云)。新注册的图像的位姿指的是新注册的图像所对应的相机位姿,即获取该新注册的图像时相机的位姿。
[0103] 在本申请的一些实施例中,第一注册图像和第二注册图像可以为随机选取的图像。在本申请的另一些实施例中,第一注册图像和第二注册图像可以为特征点匹配数量最多的两帧图像。在本申请的又一些实施例中,在图像序列是由视频所得的情况下,第一注册图像可以为图像序列中的第一帧图像,第二注册图像可以为图像序列中的第二帧图像。
[0104] 电子设备可以将第一注册图像对应的相机坐标系作为世界坐标系。电子设备的相机在拍摄第一注册图像时相对于世界坐标系没有旋转以及平移。然后利用第一注册图像以及第二注册图像中匹配的特征点,确定第二注册图像的位姿(拍摄第二注册图像时相机的位姿),以及第一注册图像和第二注册图像所匹配的特征点在世界坐标系中的三维点。可理解,第一注册图像和第二注册图像匹配的特征点在世界坐标系中的三维点的集合(即上文所述的稀疏点云)为重建的初始场景。
[0105] 可理解,由于将第一注册图像对应的相机坐标系作为世界坐标系,第二注册图像的位姿描述的是第二注册图像和第一注册图像的相对位姿。即电子设备确定的第二注册图像的位姿是相机在拍摄三维场景得到第二注册图像时相对于得到第一注册图像时的旋转以及平移(即相对于世界坐标系的旋转以及平移)。第一注册图像对应的相机坐标系可以在电子设备拍摄第一注册图像时确定。
[0106] 在初始场景的基础上,电子设备可以选择图像序列中尚未用于重建的图像增量式地注册到现有模型,并估计新注册的图像的位姿。对于每一帧新注册的图像,电子设备可以通过三角化来生成一些新的三维点。这些新的三维点生成后,初始场景的范围得以扩大。即更新了原来的三维场景。
[0107] 在本申请的一些实施例中,电子设备可以通过多种方式来选择尚未用于重建的图像,本申请对此不作限制。例如,电子设备可以从图像序列中随机选择一帧尚未用于重建的图像。再例如,电子设备可以从图像序列所包括的尚未用于重建的图像中选择特征点数量最多的一帧图像。
[0108] 在本申请的一些实施例中,电子设备对三维场景进行增量式重建后,还可以进行全局光束法平差(Bundle Adjustment,BA)优化。BA是一种优化方法,可以对相机位姿进行优化。即电子设备可以通过BA优化来得到更准确的相机位姿。
[0109] S303:电子设备确定获取的图像序列所对应的相机位姿是否存在累计误差。
[0110] 可理解,电子设备可以确定图像序列中每两帧时序相邻图像的位移Li(i+1),并确定平均位移 可理解,Li(i+1)表示图像序列中时序第i帧图像和时序第i+1帧图像之间的位移。具体地,Li(i+1)可以根据图像序列中每两帧时序相邻图像所对应的相机位姿中的平移向量来确定。即Li(i+1)表示的是电子设备拍摄图像序列中每两帧时序相邻图像时的相对平移量。
表示的是图像序列中所有时序相邻图像之间的平均位移。其中,i
[0111] 电子设备可以根据图像序列中的时序相邻图像之间的位移Li(i+1)和平均位移 来确定获取的图像序列所对应的相机位姿是否存在累计误差。
[0112] 在本申请的一些实施例中,若Li(i+1)大于平均位移 且Li(i+1)和平均位移 之间的差值大于第一阈值,电子设备可以确定步骤S302中所获取的相机位姿存在累计误差。在这种情况下,电子设备继续执行后续步骤。若Li(i+1)不大于平均位移 或者,Li(i+1)大于平均位移 但是Li(i+1)和平均位移 之间的差值不大于第一阈值,电子设备可以确定步骤S302中所获取的相机位姿不存在累计误差,可以继续进行后续稠密重建和纹理映射。
[0113] 在本申请的一些实施例中,若Li(i+1)大于平均位移 电子设备可以确定步骤S302中所获取的相机位姿存在累计误差。在这种情况下,电子设备继续执行后续步骤。若Li(i+1)不大于平均位移 电子设备可以确定步骤S302中所获取的相机位姿不存在累计误差,可以继续进行后续稠密重建和纹理映射。
[0114] 在本申请的一些实施例中,若Li(i+1)和 的比值大于第二阈值,电子设备可以确定步骤S302中所获取的相机位姿存在累计误差。在这种情况下,电子设备继续执行后续步骤。若Li(i+1)和 的比值不大于第二阈值,电子设备可以确定步骤S302中所获取的相机位姿不存在累计误差,可以继续进行后续稠密重建和纹理映射。
[0115] 可理解,第一阈值和第二阈值可以根据实际需求进行设置,本申请对此不作限制。
[0116] 可理解,电子设备根据Li(i+1)和 来确定获取的图像序列所对应的相机位姿是否存在累计误差的方式不限于以上方式,本申请对此不作限制。
[0117] 需要说明的是,时序相邻图像为获取时间邻近的图像。在本申请的一些实施例中,电子设备获取的图像序列是拍摄的视频包括的图像序列。在这种情况下,电子设备获取第i帧图像之后,紧接着获取第i+1帧图像,第i帧图像和第i+1帧图像是时序相邻图像。
[0118] S304:电子设备确定图像P1和图像P2。图像P1和图像P2对应的相机位姿存在累计误差,且图像P1和图像P2为时序相邻图像。其中,电子设备获取图像P1的时间早于获取图像P2的时间。
[0119] 根据步骤S303,电子设备可以确定图像P1和图像P2之间的位移大于平均位移 且图像P1和图像P2之间的位移与平均位移 的差值大于第一阈值。需要说明的是,图像P1和图像P2为时序相邻图像。
[0120] 请参阅图4,图4为图像序列所对应的相机位姿的示意图。根据前述实施例,电子设备可以确定图像序列中的N帧图像所对应的相机位姿,并基于该相机位姿来增量式重建三维场景。图4所示的若干四棱锥表示的是图像序列中的N帧图像所对应的相机位姿。四棱锥301所表示的相机位姿是图像P1所对应的相机位姿,而四棱锥302所表示的相机位姿是图像P2所对应的相机位姿。可理解,图4所示的位姿图表明图像序列所对应的相机位姿从四棱锥
301和四棱锥302之间断开。也就是说,图像P1和图像P2之间的位移明显大于其他时序相邻图像之间的位移。可理解,电子设备可以确定图像P1和图像P2所对应的相机位姿是否存在累计误差。
[0121] S305:电子设备基于图像P1和图像P2确定相对位姿W12。其中,相对位姿W12为电子设备重新确定的图像P1和图像P2的相对位姿。
[0122] 电子设备可以基于图像P1和图像P2重新确定相对位姿W12。相对位姿W12为图像P1和图像P2的相对位姿。
[0123] 在本申请的一些实施例中,电子设备基于第一图像子序列重建第一局部场景,再基于该第一局部场景和图像P2确定图像P1和图像P2的相对位姿W12。其中,第一图像子序列包括图像P1以及图像序列中的在图像P1之前获取的m1帧图像。第一局部场景可以包括若干三维点。
[0124] 可理解,电子设备可以通过增量式重建三维场景的方法来重建第一局部场景。具体地,电子设备可以基于第一图像子序列来进行图像特征点匹配,并在第一图像子序列中选取两帧图像作为初始图像对来重建初始局部场景,然后再将第一图像子序列中未用于重建的图像增量式地注册到初始局部场景中,从而得到第一局部场景。增量式重建的相关描述具体可参考步骤S302,在此不再赘述。
[0125] 需要说明的是,在重建第一局部场景的过程中,电子设备可以获取图像P1所对应的相机位姿,以及三维点在图像P1所对应的相机坐标系下的坐标。可理解,第一局部场景可以包括图像P1中的特征点所对应的三维点。电子设备还可以确定图像P1和图像P2的匹配特征点,并确定该匹配特征点中的第一类特征点。电子设备可以将图像P1所对应的相机坐标系作为世界坐标系。这也就意味着,在重建第一局部场景的过程中,电子设备可以确定图像P1和图像P2的匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标。并且,电子设备可以获取该匹配特征点中的第一类特征点在图像P2上的位置(即该第一类特征点所对应的三维点在图像P2上的投影位置)。基于该匹配特征点中的第一类特征点所对应的三维点在世界坐标系下的坐标,以及该匹配特征点中的第一类特征点在图像P2上的位置,电子设备可以确定图像P2所对应的相机位姿。可理解,在以图像P1对应的相机坐标系为世界坐标系的情况下,电子设备确定的图像P2对应的相机位姿即为图像P1和图像P2的相对位姿。
[0126] 可理解,第一类特征点指的是已知对应的三维点的特征点。
[0127] 可理解,上述内容中所提及的该匹配特征点中的第一类特征点在图像P2上的位置指的是该特征点在图像P2所对应的像素坐标系下的坐标。
[0128] 值得注意的是,上述确定图像P2对应的相机位姿的相关内容为PnP问题。PnP问题描述了已知n个3D点的(世界坐标系下的)坐标以及这些点的像素坐标(即像素坐标系下的坐标)时,如何估计相机的位姿(即求解世界坐标系到相机坐标系的旋转矩阵R和平移向量t)。可理解,PnP问题可通过直接线性变换(Direct Linear Transform,DLT)、P3P以及EPnP等方法来求解。其中,DLT方法包括:根据n个点的世界坐标(即世界坐标系下的坐标)和相机归一化平面坐标消去深度信息,得到2n个约束方程,利用奇异值分解(Singular Value Decomposition,SVD)方法求解该约束方程,从而得到相机位姿。P3P方法包括:根据3个点的世界坐标和相机归一化平面坐标,基于几何关系(如利用余弦定理),得到3个点的相机坐标(即相机坐标系下的坐标),将问题转化为3D‑3D位姿估计并利用迭代最近点(Iterative Closest Point,ICP)方法求解,最后还需要一对点用于验证。EPnP方法包括:根据n个点的世界坐标选择4个控制点并计算加权系数,通过相机模型和n个点的像素坐标求解4个控制点在相机坐标系下的坐标,进而得到n个点在相机坐标系下的坐标,将问题转化为3D‑3D位姿估计并利用ICP求解。
[0129] 示例性的,如图5所示,图像P1包括特征点D1、E1和F1,图像P2包括特征点D2、E2和F2。其中,图像P1上的特征点D1与图像P2上的特征点D2为匹配特征点。图像P1上的特征点E1与图像P2上的特征点E2为匹配特征点。图像P1上的特征点F1与图像P2上的特征点F2为匹配特征点。电子设备可以通过图像P1以及在图像P1之前获取的m1帧图像重建第一局部场景。第一局部场景可以包括图5所示的三维点G1、G2、G3、G4和G5。三维点G1是图像P1中的特征点D1对应的三维点。三维点G2是图像P1中的特征点E1对应的三维点。三维点G3是图像P1中的特征点F1对应的三维点。可理解,电子设备可以将图像P1的相机坐标系作为世界坐标系,而在重建第一局部场景的过程中,电子设备可以确定图像P1中的特征点(如D1、E1和F1)所对应的三维点(如G1、G2和G3)在图像P1的相机坐标系下的坐标,所以,电子设备可以确定图像P1中的特征点所对应的三维点在世界坐标系下的坐标。即电子设备可以确定特征点D1、E1和F1所对应的三维点G1、G2、G3在世界坐标系下的坐标。因为图像P2中的特征点D2、E2和F2分别与图像P1中的特征点D1、E1和F1相匹配,所以三维点G1、G2和G3可以理解为特征点D2、E2和F2分别对应的三维点。也就是说,特征点D2、E2和F2可以理解为三维点G1、G2和G3在图像P2上的投影。电子设备可以根据三维点G1、G2和G3在世界坐标系下的坐标,以及特征点D2、E2和F2在图像P2所对应的像素坐标系下的坐标,确定图像P2对应的相机位姿(具体方法可参考前述实施例)。可理解,由于图像P1的相机坐标系为世界坐标系,则图像P2对应的相机位姿为图像P1和图像P2的相对位姿。
[0130] 类似的,在本申请的一些实施例中,电子设备可以基于第二图像子序列来重建第二局部场景,并基于该第二局部场景和图像P1确定图像P1和图像P2的相对位姿W12。其中,第二图像子序列包括图像P2以及在图像P2之后获取的m2帧图像。第二局部场景可以包括若干三维点。
[0131] 可理解,电子设备重建第二局部场景和确定图像P1和图像P2的相对位姿的具体方式可以参考前述实施例,具体地,可以参考前述实施例中重建第一局部场景,以及基于第一局部场景和图像P2确定图像P1和图像P2的相对位姿的相关描述,在此不再赘述。
[0132] 可理解,m1和m2为正整数。
[0133] 在本申请的一些实施例中,电子设备可以基于第三图像子序列来重建第三局部场景,并在重建第三局部场景的过程中获取图像P1和图像P2的相对位姿W12。其中,第三图像子序列包括图像P1、图像P2、在图像P1之前获取的m3帧图像,以及在图像P2之后获取的m4帧图像。
[0134] 可理解,电子设备可以通过增量式重建三维场景的方法来重建第三局部场景。可理解,在重建第三局部场景的过程中,电子设备可以获取第三图像子序列中的图像所对应的相机位姿。例如,电子设备可以获取图像P1和图像P2所对应的相机位姿,进一步的,电子设备可以确定图像P1和图像P2的相对位姿。
[0135] 可理解,m3和m4为正整数。
[0136] 在本申请的一些实施例中,电子设备可以基于图像P1和图像P2之间的特征点匹配关系,确定图像P1和图像P2的相对位姿。具体地,电子设备可以根据图像P1和图像P2中的匹配的特征点,计算本质矩阵,再通过SVD分解来确定图像P1和图像P2的相对位姿W12。其中,电子设备可以将图像P1对应的相机坐标系作为世界坐标系,这种情况下,电子设备确定的图像P2对应的相机位姿即为图像P1和图像P2的相对位姿。类似的,电子设备还可以将图像P2对应的相机坐标系作为世界坐标系,这种情况下,电子设备确定的图像P1对应的相机位姿即为图像P1和图像P2的相对位姿。
[0137] 示例性的,如图6所示,图像P1包括特征点D1、E1和F1,图像P2包括特征点D2、E2和F2。其中,图像P1上的特征点D1与图像P2上的特征点D2为匹配特征点。图像P1上的特征点E1与图像P2上的特征点E2为匹配特征点。图像P1上的特征点F1与图像P2上的特征点F2为匹配特征点。电子设备可以根据图像P1和图像P2的匹配特征点(如特征点D1、E1、F1和特征点D2、E2、F2)确定图像P1和图像P2的相对位姿,再通过三角化确定三维点G1、G2和G3。
[0138] S306:电子设备基于图像P1和图像P2的相对位姿W12,来对图像序列所对应的相机位姿进行优化,得到优化后的图像序列所对应的相机位姿。
[0139] 电子设备可以确定误差函数,基于步骤S305中所确定的图像P1和图像P2的相对位姿W12以及误差函数对图像序列所对应的相机位姿进行优化,从而消除累计误差,得到优化后的图像序列所对应的相机位姿。
[0140] 需要说明的是,电子设备确定的误差函数用于表示图像序列中所有时序相邻图像的相对位姿的准确性。该误差函数可以包括图像序列中每两帧时序相邻图像之间的相对位姿的残差。也就是说,误差函数表示的是图像序列整体的相对位姿的准确性,而残差表示的是两帧时序相邻图像之间的相对位姿的准确性。
[0141] 在本申请的一些实施例中,电子设备构建的残差公式为: 其中,ei,j表示的是图像序列中第i帧图像和第j帧图像之间的残差。tij是电子设备确定的第i帧图像和第j帧图像的准确的相对位姿。T′i是电子设备获取的第i帧图像所对应的相机位姿。T′j是电子设备获取的第j帧图像所对应的相机位姿。可理解,i和j为不大于N的正整数。
需要说明的是,第i帧图像和第j帧图像是时序相邻图像。
[0142] 可理解,T′i的初始值为电子设备在基于图像序列进行增量式重建的过程(如步骤S302所述)中所获取的第i帧图像所对应的相机位姿。类似的,T′j的初始值为电子设备在基于图像序列进行增量式重建的过程(如步骤S302所述)中所获取的第j帧图像所对应的相机位姿。
[0143] 值得注意的是,根据前文,在增量式重建过程中,电子设备所确定的图像P1和图像P2所对应的相机位姿存在累计误差。也就是说,电子设备在增量式重建过程中所得的图像P1和图像P2的相对位姿存在累计误差,并不准确。明显的,如图4所示的位姿图,图像P1和图像P2所对应的位姿明显断开。
[0144] 在第i帧图像和第j帧图像为图像P1和图像P2的情况下,Tij表示的是步骤S306中电子设备确定的图像P1和图像P2之间的相对位姿W12。而T′i和T′j则表示的是电子设备在基于图像序列进行增量式重建的过程(如步骤S302所述)中所获取的图像P1和图像P2所对应的相机位姿。在这种情况下,Tij的初始值为W12。
[0145] 也就是说,在第i帧图像和第j帧图像为图像P1和图像P2的情况下,Tij并不是电子设备在基于图像序列增量式重建时所确定的图像P1和图像P2的相对位姿,而是电子设备基于图像P1和图像P2进行局部重建时所确定的相对位姿。可以理解地, 是电子设备全局重建时所确定的相对位姿,存在累计误差,而Tij是电子设备局部重建所确定的相对位姿,会更准确,且不具有累计误差。
[0146] 而在第i帧图像和第j帧图像为图像序列中除图像P1和图像P2外的时序相邻图像的情况下,Tij表示的是电子设备在基于图像序列进行增量式重建的过程(如步骤S302所述)中所获取的第i帧图像和第j帧图像之间的相对位姿。这是由于,对于图像序列中除图像P1和图像P2外的时序相邻图像而言,其对应的相对位姿是比较准确的。
[0147] 需要说明的是,在利用误差函数对图像序列所对应的相机位姿进行优化的过程中,电子设备使得T′i和T′j(即每两帧时序相邻图像所对应的相机位姿)往梯度方向进行调整(即变化一个小值),然后重新确定T′i和T′j调整后的误差函数,不断迭代,直至误差函数收敛。误差函数收敛时图像序列所对应的相机位姿即为优化后的图像序列所对应的相机位姿。
[0148] 请参阅图7,图7为优化后的图像序列所对应的相机位姿的示意图。图7所示的若干四棱锥表示的是图像序列中的N帧图像所对应的优化后的相机位姿。如图7所示,优化后的相机位姿形成了闭环,增量式重建所导致的累计误差得以消除。
[0149] S307:电子设备根据优化后的图像序列所对应的相机位姿来重建三维场景,并生成新的稀疏点云。该新的稀疏点云包括若干三维点。
[0150] 电子设备可以根据优化后的图像序列所对应的相机位姿,三角化生成新的三维点。这些新的三维点组成的稀疏点云即为电子设备重建所得的三维场景。
[0151] 在本申请的一些实施例中,电子设备执行步骤S307之后,还可以进行BA优化。具体可参考步骤S302,在此不再赘述。
[0152] 在本申请的一些实施例中,电子设备执行步骤S307之后,还可以进行稠密重建和纹理映射,得到精确的三维场景。示例性的,电子设备可以通过三维重建系统中的稠密点云重建模块和纹理模型重建模块分别进行稠密重建和纹理映射。可理解,具体方式本申请中不展开描述。
[0153] 下面介绍本申请实施例涉及的装置。
[0154] 图8为本申请实施例提供的一种电子设备的硬件结构示意图。
[0155] 电子设备可以包括处理器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等。
[0156] 可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0157] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics Processing unit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural‑network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0158] 其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0159] 在本申请提供的实施例中,电子设备可以通过处理器110执行所述三维重建方法。
[0160] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0161] 在一些实施例中,处理器110可以包括一个或多个接口。USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
[0162] 充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
[0163] 电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
[0164] 电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0165] 天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
[0166] 移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(Low Noise Amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
[0167] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。
[0168] 无线通信模块160可以提供应用在电子设备上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi‑Fi)网络),蓝牙(Bluetooth,BT),全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(Near Field Communication,NFC),红外技术(Infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0169] 在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。
[0170] 电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0171] 显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD),有机发光二极管(Organic Light‑Emitting Diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active‑Matrix Organic Light Emitting Diode的,AMOLED),柔性发光二极管(Flex Light‑Emitting Diode,FLED),Mini LED,Micro LED,Micro‑OLED,量子点发光二极管(Quantum Dot Light Emitting Diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
[0172] 电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现获取功能。
[0173] ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像或视频。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
[0174] 摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(Charge Coupled Device,CCD)或互补金属氧化物半导体(Complementary Metal‑Oxide‑Semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像或视频信号。ISP将数字图像或视频信号输出到DSP加工处理。DSP将数字图像或视频信号转换成标准的RGB,YUV等格式的图像或视频信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
[0175] 数字信号处理器用于处理数字信号,除了可以处理数字图像或视频信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0176] 视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(Moving Picture Experts Group,MPEG)1,MPEG2,MPEG3,MPEG4等。
[0177] NPU为神经网络(Neural‑Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0178] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0179] 内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像视频播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。
[0180] 电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0181] 音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
[0182] 扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
[0183] 受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
[0184] 麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。电子设备可以设置至少一个麦克风170C。
[0185] 耳机接口170D用于连接有线耳机。
[0186] 传感器模块180可以包括1个或多个传感器,这些传感器可以为相同类型或不同类型。可理解,图5所示的传感器模块180仅为一种示例性的划分方式,还可能有其他划分方式,本申请对此不作限制。
[0187] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
[0188] 陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。
[0189] 气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
[0190] 磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。
[0191] 加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
[0192] 距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
[0193] 接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。
[0194] 环境光传感器180L用于感知环境光亮度。
[0195] 指纹传感器180H用于获取指纹。
[0196] 温度传感器180J用于检测温度。
[0197] 触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
[0198] 骨传导传感器180M可以获取振动信号。
[0199] 按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
[0200] 马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0201] 指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0202] SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
[0203] 以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。