三维成像方法、装置、设备及存储介质
相关申请的交叉引用
本申请基于申请号为“202110474587.X”、申请日为2021年04月29日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本申请。
技术领域
本申请实施例涉及通信技术领域,特别涉及一种三维成像方法、装置、设备及存储介质。
背景技术
随着虚拟现实(Virtual Reality,简称:VR)技术和增强现实(Augmented Reality,简称:AR)技术的兴起,为了抢占AR/VR市场,以吸引更多的用户。目前已经有一些智能移动设备供应商,在部分电子设备中植入了激光雷达模块(Lidar Module),以此技术来实现对现实物体场景的3D数字化摄像,即三维成像,进而使植入了Lidar模组的电子设备能够应用于AR场景重构和VR物体扫描。
然而,三维成像方法也存在很多缺陷,尤其是在VR建模一体化的应用场景中,由于被测物和电子设备拍摄位置的不固定,因此就会存在根据多次拍摄结果进行的测量累计误差较大的情况,进而导致最终三维成像出的被测物的尺寸不够精准,甚至出现最终三维成像出的被测物不够完整的问题。
发明内容
本申请的实施例提供了一种三维成像方法,包括:获取本机的硬件配置信息和支持的测距模块;根据所述硬件配置信息,确定测距点阵密度和图片素材像素;利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息;据至少三个点的所述深度信息,构建标准三维坐标系;按照所述图片素材像素对所述被测物进行拍摄,得到多张图片素材;根据所述标准三维坐标系、多个点的所述深度信息和多张所述图片素材,对所述被测物进行三维成像处理。
本申请的实施例还提供了一种三维成像设备,包括:与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的三维成像方法。
本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序。所述计算机程序被处理器执行时实现上述所述的三维成像方法。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请的一个实施例提供的三维成像方法流程示意图一;
图2是本申请的另一个实施例提供的三维成像方法流程示意图二;
图3是图2所示的实施例提供的三维成像方法中步骤204所说的构建得到的标准三维坐标系的示意图;
图4是图2所示的实施例提供的三维成像方法中步骤205确定拍摄位置的示意图;
图5是图2所示的实施例提供的三维成像方法中步骤204所说的在标准三维坐标系中绘制的三维轮廓的示意图;
图6是本申请的另一个实施例提供的三维成像方法流程示意图三;
图7是本申请的另一个实施例提供的三维成像方法流程示意图四;
图8是本申请的另一个实施例提供的三维成像方法流程示意图五;
图9是本申请的另一个实施例提供的三维成像装置的结构示意图;
图10是本申请的另一个实施例提供的三维成像设备的结构示意图。
具体实施方式
本申请实施例的目的在于提供一种三维成像方法、装置、设备及存储介质,旨在至少解决上述三维成像相关的技术问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的一个实施例涉及一种三维成像方法,其流程示意如图1所示,可以包括,但不限于下述步骤。
步骤101,获取本机的硬件配置信息和支持的测距模块。
步骤102,根据所述硬件配置信息,确定测距点阵密度和图片素材像素。
步骤103,利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息。
步骤104,根据至少三个点的所述深度信息,构建标准三维坐标系。
步骤105,按照所述图片素材像素对所述被测物进行拍摄,得到多张图片素材。
步骤106,根据所述标准三维坐标系、多个点的所述深度信息和多张所述图片素材,对所述被测物进行三维成像处理。
本实施例中,在实现三维成像时,通过获取本机的硬件配置信息和支持的测距模块,根据本机的硬件配置信息来确定测距点阵密度和图片素材像素,并根据确定的图片素材像素对被测物进行拍摄,从而保证得到的多张图片素材均为满足所述图片素材像素要求的,同时根据确定的测距点阵密度来确定被测物外表面上需要进行测距的点,利用支持的测距模块对确定的被测物外表面上的这些点进行测距,得到这些点的深度信息,然后从确定的这些点中选取至少三个点的深度信息来构建标准坐标系,最终根据构建的标准坐标系和根据确定测距点阵密度和图片素材像素获得的多个点的深度信息、多张图片素材实现对被测物的三维成像处 理,从而至少解决了由于采集位置变化造成的累计误差,使得最终的三维成像结果能够尽可能还原被测物,即三维成像的绝对尺寸更加精准,使得VR 3D产品更具有通用的使用价值。
本申请的另一个实施例涉及一种三维成像方法,应用于具备拍摄功能,且目前较为普及的电子设备,如手机、平板电脑等。
具体的说,由于现有采用激光投影测量系统进行的测距、成像方式,受环境亮度的干扰较大,比如在暗环境下三维扫描效果较好,在明亮环境中由于亮光的干扰,光斑投影计算效果就较差。同时,由于激光投影测量系统的使用需要依赖于Lidar模组,并且通常情况下,Lidar模组需要提前植入到电子设备内。
但是,目前市面上的电子设备大部分都没有植入Lidar模组,这就导致三维扫描成像操作必须依赖植入了Lidar模组的电子设备才可以实现,不具备植入了Lidar模组的电子设备的普通个人用户无法使用现有的设备实现该功能。
此外,在电子设备中植入Lidar模组的成本也相对较高。因此,现有的三维扫描成像方式不仅效果不佳,也无法在普通个人用户中普及。
基于此,本实施例提供了一种能够应用于目前较为普及的电子设备的三维成像,对电子设备是否植入了Lidar模组不做硬性要求,从而尽可能降低了3D建模的硬件门槛,使得3D采集在普通个人用户中能够普及。
下面对本实施例的三维成像方法的实现细节进行说明,以下内容仅为方便理解而提供的实现细节,并非实施本方案的必须。
本实施例提供的三维成像方法,其流程如图2所示,包括:
步骤201,获取本机的硬件配置信息和支持的测距模块。
具体的说,本机的硬件配置信息和支持的测距模块,可以通过预先编译好的硬件配置信息获取脚本文件,或者相应的功能函数获取。
可理解的,在实际应用中,预先编译的好的硬件配置信息获取脚本文件和功能函数可以在电子设备实现三维成像之前,预先加载到实现本实施例提供的三维成像方法的程序中,也可以在实现三维成像方法的程序启动,并且接收到三维成像指令时动态调用预先编译的好的硬件配置信息获取脚本文件或上述功能函数,进而实现获取本机的硬件配置信息和支持的测距模块的操作,最终得到本机的硬件配置信息和支持的测距模块。
此外,关于本实施例中所说的本机的硬件配置信息,至少需要包括能够获电子设备网络能和图像处理能力的信息,比如包括但不限于中央处理器(central processing unit,CPU)、图形处理器(Graphics Processing Unit,GPU)型号、内存大小、硬盘使用情况、网卡驱动信息等。
此外,需要说明的是,本实施例中所说的支持的测距模块,在实际应用中大致可以分为光学测距模块和无线测距模块两大类。
关于能够实现本实施例三维成像方法的光学测距模块,可以是Lidar模组,也可以是普通摄像模组;关于无线测距模块,可以是毫米波测距组件、超声波测距组件、超带宽(Ultra Wide Band,UWB)测距组件等穿透力强、功耗低、干扰效果好、安全性高、空间容量大、能精确定位的无线测距组件。
此外,值得一提的是,在实际应用中,如果通过对本机支持的测距模块这一硬件功能的识别发现,当前电子设备仅包括光学测距模块,那么需要进一步判断电子设备拥有的光学测 距模块是Lidar模组,可以是Lidar摄像头,还是目前仅能实现拍摄的普通摄像模组,即普通摄像头。
在一个示例性地实施例中,如果是Lidar摄像头,那么至少有一个便可以实现测距和三维成像,即现有基于Lidar摄像头的三维成像方式;如果是普通摄像头,那么至少需要是两个,即基于双目测距的方式实现测距。
也就是说,本实施例中所说的本机支持的测距模块至少包括以下一种:至少一个激光雷达模组、至少两个可见光摄像模组、超宽带UWB测距组件、毫米波测距组件。
可理解的,在实际应用中,上述所说的无线测距组件,可以是能够实现上述功能的传感器、雷达等。
此外,值得一提的是,在实际应用中,为了配合光学测距模块实现测距,可以在被测物外表面上贴附一定数量的光学测距标贴。
相应地,为了配合无线测距模块实现测距,也可以在被测物外表面上贴附一定数量的无线测距标贴。
此外,在实际应用中,也可以将光学测距标贴和无线测距标贴结合起来,即在被测物外表面上只贴附光学无线测距标贴,这样就可以既能配合支持光学测距模块和无线测距模块的电子设备进行光学测距,又可以进行无线测距。
关于光学测距标贴、无线测距标贴、光学无线测距标贴的数量,可以根据具体的业务需求确定,本实施例对此不做限制。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
基于上述描述可知,本实施例提供的三维成像方法不仅可以适用于具备激光雷达模组的电子设备,还可以适用于现有拥有多个普通摄像头的电子设备,以及拥有UWB、毫米波等无线测距模块的电子设备。
也就是说,本实施例提供的三维成像方法能够适用于目前市面上的大部分电子设备,从而极大的降低了VR/AR场景对硬件要求的门槛,普及了三维成像。
步骤202,根据所述硬件配置信息,确定测距点阵密度和图片素材像素。
在本实施例中,具体是通过调用预先编译好的性能测试程序,由性能测试程序来确定硬件配置信息对应的网络能力预估值和图像处理能力预估值,进而根据确定的网络能力预估值和图像处理能力预估值来确定测距点阵密度和图片素材像素。
关于调用预先编译好的性能测试程序,确定测距点阵密度和图片素材像素的过程,可以是:调用预先编译好的性能测试程序,在预设周期内重复向外发送预设的不同大小的三维图像文件,这些不同大小的三维图像文件可以是同一个被测物通过不同的测距点阵密度确定的深度信息构建的三维轮廓,利用不同图片素材像素的图片素材进行贴图和渲染形成的三维图像文件,这样便可以得到当前的硬件配置信息对应哪一种测距点阵密度和图片素材像素形成的三维图像的整体得分最高。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
步骤203,利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息。
通过上述描述可知,本实施例提供的三维成像方法可以单独基于光学测距模块,或单独基于无线测距模块,或基于光学测距模块和无线测距模块两者,对被测物外表面的点进行测距,进而得到多个点的深度信息。
因此,在确定本机支持的测距模块是Lidar摄像头时,则直接基于Lidar摄像头的测距原理对被测物外表面上,根据测距点阵密度确定的点进行测距,进而得到这些点的深度信息。
相应地,在确定本机支持的测距模块是至少两个普通摄像头时,则基于双目测距原理,对被测物外表面上,根据测距点阵密度确定的点进行测距,进而得到这些点的深度信息。
相应地,在确定本机支持的测距模块是毫米波测距组件、超声波测距组件、超带宽(Ultra Wide Band,UWB)测距组件等无线测距模块时,则基于对应的无线测距原理对被测物外表面上,根据测距点阵密度确定的点进行测距,进而得到这些点的深度信息。
相应地,如果当前电子设备支持的测距模块至少包括以下任意两种:至少一个激光雷达模组、至少两个可见光摄像模组、超宽带UWB测距组件、毫米波测距组件,则需要理由支持的每一种测距模块,按照所述测距点阵密度对所述被测物外表面上的点进行测距,进而得到每一种测距模块测得的针对同一个点的深度信息。
比如,当前电子设备有两个普通摄像头,并且内置了UWB组件,则对于被测物外表面上的点A,B和C,基于这两种方式,会分别得到两个深度信息,如点A会有基于双目测距获得的深度信息A1,基于UWB组件测距获得的深度信息A2。同样,点B和点C有基于双目测距获得的深度信息B1,C1,基于UWB组件测距获得的深度信息B2,C2。
步骤204,根据至少三个点的所述深度信息,构建标准三维坐标系。
可理解的,由于通常情况下,需要进行三维成像的被测物是静止不动的,因而被测物外表面上的点的位置在三维空间中的坐标基本是固定不变的。而深度信息中包含了对应点的位置信息,因此,本实施例通过根据固定的位置信息来构建三维坐标系,从而可以得到一个稳定不变的标准三维坐标系,进而使得后续基于这个标准三维坐标系进行的三维成像,能够更加准确、真实的还原被测物。
此外,可理解的,由于三维坐标系是由X轴、Y轴和Z轴构成的,因此在实际应用中,构建一个标准三维坐标系,至少需要被测物外表面上三个点的位置信息。即,在根据位置信息构建标准三维坐标系时,需要从得到深度信息的众多点中选取至少三个点的深度信息,然后根据选取的至少三个点的深度信息中包括的位置信息构建标准三维坐标系。
为了便于理解,本实施例以选取的点为三个为例,结合图3进行具体说明:
如图3所示,A、B和C分别为选取的测得深度信息的点,A’、B’和C’分别为A、B和C的投影,基于A、B、C、A’、B’和C’便可以构建出一个三维坐标系。在得到三维坐标系后,选定垂直于地平面的坐标轴为Z轴,并将剩余的两个坐标轴分别指定为X轴和Y轴,便可以得到标准三维坐标系。
如图3所示,图3中点A所在的坐标轴为Z轴,点C所在的坐标轴为X轴,点B对应的投影B’所在的坐标轴为Y轴。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,值得一提的是,为了尽可能提高构建的标准三维坐标系的精确度,从而使得最终的三维成像能够精准还原被测物。在实际应用中,如果选取的点的个数大于3,则在构建标 准三维坐标系时,具体是采用如下方式实现:
(1)分别以每三个点的位置信息构建一个参考三维坐标系。
假设,选取的点有4个,分别为:A、B、C和D,则以每三个点的位置信息构建一个参考三维坐标系的话,可以得到如下四个参考三维坐标系:
第一个:A、B和C;
第二个:A、B和D;
第三个:A、C和D;
第四个:B、C和D。
可理解的,在实际应用中,上述排序不分先后。
(2)从得到的若干个所述参考三维坐标系中选取一个作为初始标准三维坐标系,将剩余的所述参考三维坐标系作为校准三维坐标系。
假设,从上述四个参考三维坐标系中,选取第一个作为初始标准三维坐标系,则剩下的三个参考三维坐标系为校准三维坐标系。
(3)利用所述校准三维坐标系,对所述初始标准三维坐标系进行校准,得到所述标准三维坐标系。
即,根据三个校准三维坐标系,不断的对初始标准三维坐标系进行反复对齐、角度调整,最终便可以得到一个稳定不变的标注三维坐标系。
基于此,通过对以任意三个点的位置信息构建的三维坐标系进行校准、对齐,从而得到标准三维坐标系,使得后续基于该坐标系的三维成像,能够更加真实的还原被测物的实际情况。
可理解的,上述给出的根据至少三个点的所述深度信息,构建标准三维坐标系方式,是针对一种测距模块的,如果在实际应用中,本机支持的测距模块至少为上述所说的任意两种,则对于每一种测距模块测得的深度信息,都可以按照上述方式构建一个三维坐标系,此时将每一种测距模块对应构建的三维坐标系称为初始坐标系,即针对支持的每一种所述测距模块,根据至少三个相同点的所述深度信息,构建一个初始三维坐标系;然后,将得到的若干个所述初始三维坐标系进行重叠,并通过平均法减去位置误差,得到所述标准三维坐标系,从而进一步保证构建的标准三维坐标系的准确性。
此外,值得一提的是,关于构建标准三维坐标系的至少三个点的选取,以三个点为例。在实际应用中可以是任意的三个点,也可以是根据最终需要三维成像的精度要求,选择分布在被测物外表面不同区域的三个点。
关于上述所说的不同区域,在本实施例中是指选取的三个点构成的面的形状需要与这三个点所在被测物外表面的形状相似,比如对于被测物的外表面是一个三角形形状,那么选取的三个点需要是分布在三个角所在区域的点。
步骤205,根据所述标准三维坐标系和至少三个点的所述深度信息,确定多个拍摄位置。
具体的说,为了保证电子设备能够拍摄到被测物外表面上的每一个区域。在得到标准三维坐标系之后,可以根据标准三维坐标系和构建标准三维坐标系的三个点的位置信息,确定若干个对应被测物的不同区域的拍摄位置,以使电子设备处于每一所述拍摄位置时,能够拍摄获得所述被测物外表面上每一个区域的图片素材,进而保证最终基于标准三维坐标系和得到的多个点的深度信息,多张图片素材能够完整、准确的对被测物进行三维成像。
应当理解的,上述所说的每一所述拍摄位置对应所述被测物外表面的一个区域,在实际应用中不同的拍摄位置对应被测物外表面上的区域可以是部分重叠的,也可以完全重叠(但是角度不同),甚至完全不重叠的。
此外,可理解的,所述拍摄位置即最终电子设备拍摄被测物时所处的位置。为了尽可能还原被测物,确定的拍摄位置需要使电子设备处于该位置时,尽可能清楚的拍摄到被测物的特征信息。
以测距模块为无线测距模块,被测物外表面上贴附了若干个光学无线测距标贴为例,确定的拍摄位置可以是保证电子设备处于该位置时,能够清楚的拍摄到被测物对应拍摄位置的面上的学无线测距标贴为准。
此外,可以理解的,由于被测物往往是立体的,因而为了保证最终的3D成像效果能够尽可能真实还原被测物,确定的拍摄位置往往不止一个,即可以环绕被测物来设置。
为了更好的理解,以下结合图4对确定拍摄位置的方式进行说明:
具体的说,在本实施例中,确定的拍摄位置,是与构建的标准三维坐标系和构建标准三维坐标系时用到的至少三个点的位置信息确定的。
如图4所示,在选取的点依旧为A、B和C这三个点时,确定拍摄位置可以只是包括三组。
假设,拍摄位置是以图4所示的水平位置确定的,则确定三组拍摄位置,分别是以点A、B和C在Z轴上的坐标位置,作为水平位置,进而确定三个拍摄轨道,图4中为3个水平拍摄轨道。在实际应用中,也可以以Y轴构建三个拍摄轨道,或者以X轴构建三个拍摄轨道,或者分别以X轴、Y轴和Z轴构建预设个数的拍摄轨道,此处不再一一列举,本实施例对此也不做限制。
接着,对于每一个所述拍摄轨道,以预设间隔进行划分,便可以得到若干个所述拍摄位置。
如图4所示,第一拍摄轨道、第二拍摄轨道和第三拍摄轨道上分别确定有多个拍摄位置。
应当理解的是,上述示例仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
步骤206,根据每一所述拍摄位置,按照所述图片素材像素对所述被测物进行拍摄,得到多张所述图片素材。
具体的说,根据步骤205可知,最终确定的拍摄位置有多个,因此在根据拍摄位置对被测物进行拍摄时,实质是将电子设备移动到每一个拍摄位置,然后对被测物进行拍摄,进而得到每一个拍摄位置对应的被测物的图片素材。
关于上述所说的按照图片素材像素对被测物进行拍摄,具体是指根据图片素材像素确定最终拍摄的图片素材需要满足的像素大小,进而确定拍摄图片素材时需要选择哪种分辨率,从而在控制拍摄单元能够按照确定的分辨率对被测物进行拍摄,以保证最终拍摄获得的图片素材的像素是满足所述图片素材像素的。
此外,可理解的,由于在实际应用中,即便处于同一拍摄位置,若电子设备的摄像头处于不同的拍摄角度、焦距等,拍摄获得的图片素材也会有所不同。因此,为了尽可能保证获得的图片素材能够清楚的体现被测物对应拍摄位置的面上的特征信息,如设置的各类测距标贴,在对被测物进行拍摄时,需要先确定每一个所述拍摄位置对应的测距标贴的位置信息; 然后,根据每一个所述拍摄位置和每一个所述拍摄位置对应的测距标贴的位置信息调整拍摄角度,并以调整后的每一个所述拍摄角度按照所述图片素材像素对所述被测物进行拍摄,进而得到多张像素大小满足所述图片素材像素的所述图片素材。
可理解的,由于测距标贴是预先设置在被测物外表面上的。故而,上述所说的确定每一个所述拍摄位置对应的所述测距标贴的位置信息,具体是先确定所述被测物与每一个所述拍摄位置相对的外表面,然后在确定外表面上与对应的拍摄位置相对的测距标贴的位置信息。
此外,在实际应用中,为了尽可能方便用户操作,可以提供可视化交互界面,进而通过在可视化交互界面中显示构建的标准三维坐标系,并将基于标准三维坐标系形成的虚拟球体的经纬交界处确定为拍摄位置,然后在可视化交互界面中引导电子设备移动到每一处拍摄位置,并引导电子设备的摄像头中心法线对准该虚拟球体的球心,然后进行拍摄,即可得到图片素材。
此外,值得一提的是,为了保证图片素材的参考价值,设置在被测物没一面上的测距标贴,如UWB测距标贴可以选择与被测物对比色分明的标贴,从而能够更好的在强光下,被更好的识别,进而保证最终的成像效果。
步骤207,根据多个点的所述深度信息,在所述标准三维坐标系中绘制所述被测物的三维轮廓。
如图5所示,假设被测物是一个三棱锥,则通过对多个点的深度信息中的位置信息,在标准三维坐标系中标准这些点的空间坐标,最终便可以得到被测物的三维轮廓。
此外,值得一提的是,关于上述所说的根据多个点的所述深度信息,在所述标准三维坐标系中绘制所述被测物的三维轮廓,在实际应用中同样可以根据三维成像的精度要求决定是根据多个点中每一个点的深度信息来绘制被测物的三维轮廓,还是部分点的深度信息来绘制。
可理解的,绘制轮廓时依据的点越多,绘制出的三维轮廓越能精确的还原被测物。
步骤208,根据多张所述图片素材,对所述三维轮廓进行贴图和渲染。
具体的,在根据多张图片素材,对三维轮廓进行贴图和渲染时,具体是通过从每一张图片素材中提取被测物的特征信息,如颜色,然后对标准三维坐标系中绘制出的被测物的三维轮廓进行贴图和渲染,便可以真实、准确的还原被测物,即实现对被测物的3D成像。
本实施例中,由于不限制测距模块必须是植入电子设备的Lidar模组,而是可以针对现有电子设备已经具备的多个普通摄像头,或者无线测距组件来实现对被测物外表面上点的测距,从而大大降低了3D建模功能的硬件门槛,有利于3D采集的普及。并且,通过光学测距模块和无线测距模块的相互配合,进一步提高了三维成像的精确度。
除此之外,本实施例提供的三维成像方法,在采集被测物外表面上点的深度信息和被测物的图片素材时,是基于本机支持的硬件配置信息确定的测距点阵密度和图片素材像素进行的,从而既兼顾了电子设备的三维成像速度,又保证了最终得到的三维图像的效果,同时也不会过多的占用电子设备的硬件资源,即不会影响电子设备处理其他业务。
本申请的另一个实施例涉及一种三维成像方法,其流程如图6所示,包括:
步骤601,获取本机的硬件配置信息和支持的测距模块。
步骤602,根据所述硬件配置信息,确定测距点阵密度和图片素材像素。
步骤603,利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息。
步骤604,根据至少三个点的所述深度信息,构建标准三维坐标系。
步骤605,根据所述标准三维坐标系和至少三个点的所述深度信息,确定多个拍摄位置。
步骤606,根据每一所述拍摄位置,按照所述图片素材像素对所述被测物进行拍摄,得到多张所述图片素材。
步骤607,根据多个点的所述深度信息,在所述标准三维坐标系中绘制所述被测物的三维轮廓。
不难发现,本实施例中的步骤601至步骤607与第二实施例中的步骤201至步骤207大致相同,在此就不再赘述。
步骤608,判断多张所述图片素材是否涵盖了所述被测物外表面的每一个区域。
此外,值得一提的是,由于在实际应用中,对于电子设备是由用户手持进行位置移动拍摄的情况,拍摄过程中,用户可能不会完全按照确定的拍摄位置对被测物进行拍摄,因此为了保证最终对被测物的三维成像结果,在根据多张所述图片素材,对所述三维轮廓进行贴图和渲染之前,可以先判断当前拍摄获得的图片素材是否涵盖了所述被测物外表面的每一个区域。
相应地,若未涵盖,则依次执行步骤609至步骤611中的操作;否则,直接执行步骤612的操作。
步骤609,根据所述标准三维坐标系,确定所述被测物外表面未被拍摄的区域对应的拍摄位置。
在本实施例中,根据所述标准三维坐标系,确定所述被测物外表面未被拍摄的区域对应的拍摄位置的方式,与第二实施例中步骤205确定拍摄位置的方式相同,此处不再赘述。
步骤610,根据所述拍摄位置,作出位置移动提示。
可理解的,在实际应用中,根据拍摄位置,作出的位置移动提示,可以是在交互界面中显示需要移动到的具体拍摄位置,或者以语音提示的方式提示用户将电子设备移动到所述拍摄位置。
步骤611,在移动到所述拍摄位置后,按照所述图片素材像素对所述被测物进行拍摄,得到所述被测物外表面未被拍摄的区域对应的图片素材。
步骤612,根据多张所述图片素材,对所述三维轮廓进行贴图和渲染。
不难发现,本实施例中的步骤612与第二实施例中的步骤208大致相同,在此就不再赘述。
本实施例中,在根据多张所述图片素材,对所述三维轮廓进行贴图和渲染之前,先判断当前拍摄获得的图片素材是否涵盖了所述被测物外表面的每一个区域,如果没有,则根据所述标准三维坐标系,确定所述被测物外表面未被拍摄的区域对应的拍摄位置,并根据所述拍摄位置,作出位置移动提示,在移动到所述拍摄位置后,按照所述图片素材像素对所述被测物进行拍摄,得到所述被测物外表面未被拍摄的区域对应的图片素材,从而保证了最终对三维轮廓进行贴图和渲染所需的图片素材涵盖了被测物外表面每个区域的特征信息,使得被测物能够被完整的还原。
本申请的另一个实施例涉及一种三维成像方法,其流程如图7所示,包括:
步骤701,获取本机的硬件配置信息和支持的测距模块。
步骤702,根据所述硬件配置信息,确定测距点阵密度和图片素材像素。
步骤703,利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息。
步骤704,根据至少三个点的所述深度信息,构建标准三维坐标系。
步骤705,按照所述图片素材像素对所述被测物进行拍摄,得到多张图片素材。
步骤706,根据所述标准三维坐标系、多个点的所述深度信息和多张所述图片素材,对所述被测物进行三维成像处理。
关于本实施例中步骤701至步骤706的内容,可以参考上述任一方法实施例,此处不再赘述。
步骤707,将得到的三维图像按照预设封装格式进行封装,得到三维图像文件。
具体的说,本实施例中所说的预设封装格式是根据本机支持的传输网络类型,如蜂窝网络(3G、4G、5G)和无线网络(WIFI)和/或接收三维图像文件的电子设备的硬件配置信息确定的,并且确定的预设封装格式中至少规定了封装获得的三维图像文件的清晰度、文件大小。
相应地,在预设封装格式规定了封装获得的三维图像文件的清晰度、文件大小时,所述将得到的三维图像按照预设封装格式进行封装,得到三维图像文件,包括:
将得到的所述三维图像按照所述预设封装格式规定的所述清晰度和所述文件大小进行封装,得到满足所述预设封装格式规定的所述三维图像文件。
步骤708,建立所述预设封装格式和所述三维图像文件之间的映射关系,并根据所述映射关系将所述三维图像文件保存到预先构建的三维图像文件管理数据库。
在本实施例中,具体是以预封装格式中规定内容,如上所述的清晰度和文件大小为key,即key={清晰度,文件大小},以根据这种预封装格式封装获得的三维图像文件为value,然后以键值对的方式进行存储。
本实施例中,在得到三维图像之后,通过按照预设封装格式中规定的传输网络类型进行分类,根据收三维图像文件的电子设备的硬件配置信息进行流通分析,并按照统一的封装方法进行封装,然后在保存到专门的三维图像文件管理数据库,从而可以使得的的三维图像能够适应于不同的使用场景,方便了后期的使用的通用化。
本申请的另一个实施例涉及一种三维成像方法,其流程如图8所示,包括:
步骤801,获取本机的硬件配置信息和支持的测距模块。
步骤802,根据所述硬件配置信息,确定测距点阵密度和图片素材像素。
步骤803,利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息。
步骤804,根据至少三个点的所述深度信息,构建标准三维坐标系。
步骤805,按照所述图片素材像素对所述被测物进行拍摄,得到多张图片素材。
步骤806,根据所述标准三维坐标系、多个点的所述深度信息和多张所述图片素材,对所述被测物进行三维成像处理。
不难发现,本实施例中的步骤801至步骤806与第四实施例中的步骤701至步骤706大致相同,在此就不再赘述。
步骤807,根据预设的压缩格式,压缩所述三维图像中的图像像素单元,保留所述三维 图像中的三维尺寸信息,得到待封装的所述三维图像。
即压缩过程,仅压缩图像像素单元,不压缩三维尺寸信息。
步骤808,将得到的待封装的所述三维图像按照预设封装格式进行封装,得到三维图像文件。
步骤809,建立所述预设封装格式和所述三维图像文件之间的映射关系,并根据所述映射关系将所述三维图像文件保存到预先构建的三维图像文件管理数据库。
不难发现,本实施例中的步骤808和步骤809与第四实施例中的步骤707和步骤708大致相同,在此就不再赘述。
本实施例中,在对三维图像进行封装之前,先进行压缩处理,从而可能压缩最终封装获得的三维图像文件的大小,进而减小了对三维图像文件管理数据库中存储空间的占用。
除此之外,对三维图像的压缩过程,仅压缩图像像素单元,不压缩三维尺寸信息,从而尽可能保证了影响三维图像整体大小的三维尺寸信息,进而使得其他电子设备在获取到三维图像文件后,能够根据未压缩的三维尺寸信息精准的还原出被测物的三维轮廓,即基于这种压缩方式,尽可能减少了对被测物三维素材的拟真度。
此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请的另一个实施例涉及一种三维成像装置,如图9所示,包括:硬件识别模块901、采集标准确定模块902、深度信息获取模块903、坐标系构建模块904、图片素材获取模块905和三维成像模块906。
其中,硬件识别模块901,用于获取本机的硬件配置信息和支持的测距模块;采集标准确定模块902,用于根据所述硬件配置信息,确定测距点阵密度和图片素材像素;深度信息获取模块903,用于利用所述测距模块,按照所述测距点阵密度对被测物外表面上的点进行测距,得到多个点的深度信息;坐标系构建模块904,用于根据至少三个点的所述深度信息,构建标准三维坐标系;图片素材获取模块905,用于按照所述图片素材像素对所述被测物进行拍摄,得到多张图片素材;三维成像模块906,用于根据所述标准三维坐标系、多个点的所述深度信息和多张所述图片素材,对所述被测物进行三维成像处理。
此外,在另一个例子中,三维成像装置,还包括:封装模块和存储模块。
其中,封装模块,用于将得到的三维图像按照预设封装格式进行封装,得到三维图像文件;存储模块,用于建立所述预设封装格式和所述三维图像文件之间的映射关系,并根据所述映射关系将所述三维图像文件保存到预先构建的三维图像文件管理数据库。
此外,在另一个例子中,所述预设封装格式根据本机支持的传输网络类型和/或接收所述三维图像文件的电子设备的硬件配置信息确定,至少规定了封装获得的所述三维图像文件的清晰度、文件大小。
相应地,所述封装模块具体用于将得到的所述三维图像按照所述预设封装格式规定的所述清晰度和所述文件大小进行封装,得到满足所述预设封装格式规定的所述三维图像文件。
此外,在另一个例子中,三维成像装置,还包括:压缩模块。
其中,压缩模块,用于根据预设的压缩格式,压缩所述三维图像中的图像像素单元,保 留所述三维图像中的三维尺寸信息,得到待封装的所述三维图像。
相应地,封装模块,用于将得到的待封装的所述三维图像按照预设封装格式进行封装,得到三维图像文件。
此外,在另一个例子中,所述三维成像装置,还包括拍摄位置确定模块。
其中,拍摄位置确定模块,用于根据所述标准三维坐标系和至少三个点的所述深度信息,确定多个拍摄位置。
需要说明的,本实施例中按照上述方式确定的每一个拍摄位置分别对应被测物外表面的一个区域。
相应地,图片素材获取模块905具体用于根据每一所述拍摄位置,按照所述图片素材像素对所述被测物进行拍摄,得到多张所述图片素材。
此外,在另一个例子中,三维成像模块906具体用于根据多个点的所述深度信息,在所述标准三维坐标系中绘制所述被测物的三维轮廓根据多张所述图片素材,对所述三维轮廓进行贴图和渲染。
此外,在另一个例子中,三维成像装置,还包括:图片素材检测模块和提示模块。
其中,图片素材检测模块,用于判断多张所述图片素材是否涵盖了所述被测物外表面的每一个区域。
相应地,如果经过检测确定多张所述图片素材没有涵盖所述被测物外表面的每一个区域,则通知拍摄位置确定模块执行根据所述标准三维坐标系,确定所述被测物外表面未被拍摄的区域对应的拍摄位置的操作。
提示模块,用于根据位置拍摄确定模块确定的拍摄位置,作出位置移动提示,并在监测到移动到所述拍摄位置后,通知图片素材获取模块905执行按照所述图片素材像素对所述被测物进行拍摄,得到所述被测物外表面未被拍摄的区域对应的图片素材的操作。
此外,在另一个例子中,采集标准确定模块902具体用于调用预先编译好的性能测试程序,确定所述硬件配置信息对应的网络能力预估值和图像处理能力预估值;根据所述网络能力预估值和所述图像处理能力预估值,确定所述测距点阵密度和所述图片素材像素。
此外,在另一个例子中,所述测距模块至少包括以下一种:至少一个激光雷达模组、至少两个可见光摄像模组、超宽带UWB测距组件、毫米波测距组件。
此外,在另一个例子中,如果所述测距模块至少包括以下任意两种:至少一个激光雷达模组、至少两个可见光摄像模组、超宽带UWB测距组件、毫米波测距组件,深度信息获取模块903具体用于利用支持的每一种所述测距模块,按照所述测距点阵密度对所述被测物外表面上的点进行测距,得到多个点的深度信息。
相应地,坐标系构建模块904具体用于将得到的若干个所述初始三维坐标系进行重叠,并通过平均法减去位置误差,得到所述标准三维坐标系。
不难发现,本实施例为与上述方法实施例相对应的装置实施例,本实施例可与上述任一方法实施例互相配合实施。上述任一方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在行数任一方法实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合 实现。此外,为了突出本申请的创新部分,本实施例中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本申请的另一个实施例涉及一种三维成像设备,如图10所示,包括:包括至少一个处理器1001;以及,与至少一个处理器1001通信连接的存储器1002;其中,存储器1002存储有可被至少一个处理器1001执行的指令,指令被至少一个处理器1001执行,以使至少一个处理器1001能够执行上述方法实施例所描述的三维成像方法。
其中,存储器1002和处理器1001采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器1001和存储器1002的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器1001处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器1001。
处理器1001负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器1002可以被用于存储处理器1001在执行操作时所使用的数据。
本申请的另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例所描述的三维成像方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。