CN111583391B - 一种物体三维重建方法和系统 - Google Patents
一种物体三维重建方法和系统 Download PDFInfo
- Publication number
- CN111583391B CN111583391B CN202010356804.0A CN202010356804A CN111583391B CN 111583391 B CN111583391 B CN 111583391B CN 202010356804 A CN202010356804 A CN 202010356804A CN 111583391 B CN111583391 B CN 111583391B
- Authority
- CN
- China
- Prior art keywords
- voxel
- data
- point
- reflection
- point cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发提供了一种物体三维重建方法和系统,包括:处理器接收三维点云成像装置发送的原始三维点云数据;并根据原始三维点云数据、预设相机中心位置数据、预设第一镜面方程数据和预设第二镜面方程数据、判断预设体素数据中的第一体素点是否为有效体素点,当第一体素点为有效体素点时,为第一体素点添加第一标识数据,并将第一标识数据设置为第一预设标识数据;当第一体素点不为有效体素点时,为第一体素点添加第一标识数据,并将第一标识数据设置为第二预设标识数据;在对预设体素数据中的所有第一体素点进行判断之后,根据预设体素数据中第一标识数据为第一预设标识数据的所有第一体素点的数据生成物体的体素数据。
Description
技术领域
本发明涉数据处理领域,尤其涉及一种物体三维重建方法和系统。
背景技术
近年来现随着计算机科技的发展和数据处理等领域的快速发展,从图像数据进行目标(例如,关注的对象)的3D建模是热门的计算机视觉主题。重建三维模型是计算机动画、医学成像、计算机图形学等众多领域中的一个重要过程。
采用根据摄像机在不同位置拍摄的一系列图像进行了重建。这种方法的一个明显缺点是感兴趣的对象必须是静态的。这种系统不适于在动态物体上工作,并且需要诸如转盘转速的先验知识。另一种方法是采用在多个摄像机的支持下执行从轮廓中提取形状的方法,以检索物体的视觉外壳,但这种方法在重建模型中缺少凹面区域。还有的方案采用一个多彩色照相机和深度传感器的系统,这种方法的主要缺点是需要同步协议在移动物体上工作时,有时每个照相机和传感器必须连接到唯一的计算机,其能够获得的良好精度,但是设备成本高昂,且在处理过程中产生不必要的资源冗余。此外,使用多个深度相机可能会导致严重的红外干扰。
发明内容
针对现有技术缺陷,本发明实施例的目的是提供一种物体三维重建方法和系统,用于通过拍摄一帧物体所在目标场景的图像,通过使用空间雕刻技术基于原始获取的原始三维点云数据进行分析计算处理,重建物体的三维对象的体素模型。
为解决上述问题,在第一方面,本发明提供了一种物体三维重建方法,所述方法包括:
处理器接收三维点云成像装置发送的原始三维点云数据;其中,所述原始三维点云数据包括多个三维点云点的数据;
根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点;
根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据;
判断所述第一偏差数据是否大于预设阈值;
当所述第一偏差数据小于等于所述预设阈值时,将所述第一体素点确定为有效体素点,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
当所述第一偏差数据大于所述预设阈值时,根据所述第一体素点和预设第一镜面方程数据进行反射变换处理,得到第一体素反射点;并根据所述第一体素点和所述预设第二镜面方程数据进行反射变换处理,得到第二体素反射点;
根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点;
当所述第一体素点为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
根据所述第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据。
优选的,所述根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点具体包括:
根据所述第一体素点的第一体素坐标和预置相机矩阵进行投影处理,得到第一像素点;其中,第一像素点包括第一像素坐标;
根据第一像素点的第一像素坐标,在所述原始三维点云数据中查找像素坐标与所述第一像素坐标相同的三维点云点,得到所述第一三维点云点。
优选的,所述根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据具体为:
根据预设相机中心位置数据和所述第一体素点的第一体素坐标进行距离计算处理,得到第一距离数据;
根据预设相机中心位置数据和所述第一三维点云点的第一三维点云坐标进行距离计算处理,得到第二距离数据;
根据所述第一距离数据和所述第二距离数据的差的绝对值,得到所述第一偏差数据。
优选的,所述根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点具体为:
根据所述预设相机中心位置数据和所述第一体素反射点的第一体素反射坐标进行距离计算处理,得到第一体素反射距离数据;
根据所述预设相机中心位置数据和所述第二体素反射点的第二体素反射坐标进行距离计算处理,得到第二体素反射距离数据;
当所述第一体素反射距离数据大于等于所述第二体素反射距离数据时,根据第一体素反射点,从所述原始三维点云数据中确定与所述第一体素反射点对应的第二三维点云点;
根据预设相机中心位置数据和所述第二三维点云点的第二三维点云坐标进行距离计算处理,得到第三距离数据;
根据所述第一体素反射距离数据和所述第三距离数据的差的绝对值,得到第二偏差数据;
当所述第二偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点;
当所述第一体素反射距离数据小于所述第二体素反射距离数据时,根据第二体素反射点,从所述原始三维点云数据中确定与所述第二体素反射点对应的第三三维点云点;
根据预设相机中心位置数据和所述第三三维点云点的第三三维点云坐标进行距离计算处理,得到第四距离数据;
根据所述第二体素反射距离数据和所述第四距离数据的差的绝对值,得到第三偏差数据;
当所述第三偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点。
优选的,在根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点之后,所述方法还包括:
当所述第一体素点不为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第二预设标识数据;
将所述第一标识数据为第二预设标识数据的第一体素点从所述预设体素数据中删除。
优选的,在所述处理器接收三维点云成像装置发送的原始三维点云数据之前,所述方法还包括:
三维点云成像装置接收外部输入的图像采集指令;
根据所述图像采集指令对目标场景进行拍摄,生成所述目标场景的原始三维点云数据;
所述三维点云成像装置将所述原始三位点云数据发送给所述处理器。
进一步优选的,所述三维点云成像装置为飞行时间相机。
优选的,所述方法还包括:
所述处理器将所述物体的体素数据发送给显示设备;
所述显示设备根据所述物体的体素数据进行显示输出。
在第二方面,本发明提供了一种物体三维重建系统,所述系统包括:
三维点云成像装置、第一反射装置、第二反射装置和处理器;
所述三维点云成像装置,用于接收外部输入的图像采集指令,并根据所述图像采集指令对目标场景进行拍摄,生成所述目标场景的原始三维点云数据;
所述第一反射装置,用于将所述三维点云成像装置发射的光反射到物体表面和将物体表面反射的光二次反射到所述三维点云成像装置;
所述第二反射装置,用于将所述三维点云成像装置发射的光反射到物体表面和将物体表面反射的光二次反射到所述三维点云成像装置;
所述处理器,用于接收三维点云成像装置发送的原始三维点云数据;其中,所述原始三维点云数据包括多个三维点云点的数据;
所述处理器,还用于根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点;
所述处理器,还用于根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据;
所述处理器,还用于判断所述第一偏差数据是否大于预设阈值;
当所述第一偏差数据小于等于所述预设阈值时,将所述第一体素点确定为有效体素点,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
当所述第一偏差数据大于所述预设阈值时,根据所述第一体素点和预设第一镜面方程数据进行反射变换处理,得到第一体素反射点;并根据所述第一体素点和所述预设第二镜面方程数据进行反射变换处理,得到第二体素反射点;
所述处理器,还用于根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点;
当所述第一体素点为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
所述处理器,还用于根据所述第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据。
优选的,所述系统还包括显示设备:
所述处理器,还用于将所述物体的体素数据发送给所述显示设备;
所述显示设备,用于接收所述处理器发送的物体的体素数据,并根据所述物体的体素数据进行显示输出;
所述三维点云成像装置与所述处理器通过有线或无线方式进行通信连接;
所述处理器与所述显示设备通过有线或无线通信方式进行通信连接。
本发明实施例提供的一种物体三维重建方法,通过使用飞行时间相机采集一帧目标场景的图像,生成原始三维点云数据,并对采集生成的原始三维点云数据结合与场景对应的预设体素数据进行分析,根据预设体素体中的体素点、原始三维点云数据中的三维点云点和镜面矩阵方程数据确定体素点时否为有效体素点,并在对预设体素体中的各体素点进行判断后,根据预设体素体中的有效体素点生成物体对应的物体的体素数据,以完成物体三维重建。本发明实施例提供的方法算法简单、相应的系统结构简单,能够在降低设备成本的基础上,利用预设体素数据直接生成动态或静态物体的体素数据,以达到物体的三维重建的目的。
附图说明
图1为本发明实施例提供的一种物体三维重建系统示意图;
图2为本发明实施例提供的一种物体三维重建方法流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了更好的说明本发明实施例提供的一种物体三维重建方法,首先对本发明实施例提供的一种物体三维重建系统进行描述说明。
图1为本发明实施例提供的一种物体三维重建系统示意图,如图所示,本发明实施例提供的一种物体三维重建系统包括:三维点云成像装置1、第一反射装置2、第二反射装置3、处理器4和显示设备5。
其中,三维点云成像装置1,用于接收外部输入的图像采集指令,并根据图像采集指令对目标场景进行拍摄,生成目标场景的原始三维点云数据。
第一反射装置2,用于将三维点云成像装置1发射的光反射到物体表面和将物体表面反射的光二次反射到三维点云成像装置1。其中,三维点云成像装置发射的光可以是结构光也可以是其他形式的光。
第二反射装置3,用于将三维点云成像装置1发射的光反射到物体表面和将物体表面反射的光二次反射到三维点云成像装置1。本发明实施例的优选方案中,所述三维点云成像装置1为飞行时间相机。其中,三维点云成像装置发射的光可以是结构光也可以非结构光。
处理器4,用于接收三维点云成像装置发送的原始三维点云数据;并根据预设体素数据、预设相机中心位置数据、预设第一镜面方程数据和预设第二镜面方程数据进行判断处理,确定所述第一体素点是否为有效体素点;并为有效体素点点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据,最后,根据预设体素数据中所有第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据,从而完成对物体三维重建。处理器还用于将物体的体素数据发送给显示设备5。
显示设备5,用于接收处理器发送的物体的体素数据,并根据物体的体素数据进行显示输出。本发明实施例中的优选方案中,显示设备5可以是任何能够对体素体数据进行显示输出的电子显示设备。
本发明实施例的优选方案中,三维点云成像装置1与处理器4通过有线或无线方式进行通信连接,处理器4与显示设备5通过有线或无线通信方式进行通信连接。
本发明实施例的优选方案中,第一反射装置2和第二反射装置3设置与三维点云成像装置1前方,物体位于三维点云成像装置1、第一反射装置2和第二反射装置3构成的目标空间范围内。在本发明实施例的一个具体例子中,第一反射装置2和第二反射装置3平面相交于交线,物体放置于三维点云成像装置1的中心点与交线连接组成的平面位置,也就是物体居中放置,其中的居中并不是一个准确的位置,只需要做到大致居中就可以。
在本发明实施例的提供的物体三维重建系统使用前,对系统中的三维点云成像装置1、第一反射装置2、第二反射装置3和物体摆放位置进行调整,使得系统能够处于最好的数据获取位置。例如,调整第一反射装置2和第二反射装置3的夹角。或者调节三维点云成像装置1与第一反射装置2、第二反射装置3的距离。在完成对三维点云成像装置1、第一反射装置2和第二反射装置3进行调节后,确定第一反射装置2的第一镜面方程数据和第二反射装置3的第二镜面方程数据,并确定预设体素数据和预设相机中心位置数据。在第一镜面方程数据和第二镜面方程数据确定后将他们预置到处理器中,作为预设第一镜面方程数据和预设第二镜面方程数据。另外,提前对三维点云成像装置1进行标定,确定其对应的内参、外参和其对应的相机矩阵,并将确定好的相机矩阵预置在处理器中,作为预置相机矩阵。
以上对本发明实施例提供的一种物体三维重建系统进行了详细的介绍,下面基于本发明实施例提供的物体三维重建系统,对本发明实施例提供的一种物体三维重建方法进行详细介绍。
图2为本发明实施例提供的一种物体三维重建方法流程图,如图所示,该方法具体包括以下步骤:
步骤101,处理器接收三维点云成像装置发送的原始三维点云数据。
其中,原始三维点云数据包括多个三维点云点的数据。
具体的,原始三维点云数据由三维点云成像装置对目标场景进行拍摄后生成。本发明实施例的优选方案中,三维点云成像装置为飞行时间相机,原始三维点云数据为由飞行时间相机对目标场景进行采集后生成。原始三维点云数据为包括多个点云点数据的数据集合。其中的每个点云点被称为三维点云点,每个点的数据为其对应的三维点云点的数据。在本发明实施例中所指的三维点云点和点云点是都代表原始三维点云数据中的一个点云点及其包括的信息数据。
本发明实施例的优选方案中,当需要对物体进行三维目标点云重建时,将物体置于本发明实施例提供的物体三维重建系统构建的目标场景中。三维点云成像装置接收外部输入的图像采集指令,根据图像采集指令对目标场景进行拍摄,生成目标场景的原始三维点云数据,三维点云成像装置将原始三维点云数据发送给处理器。其中,外部输入的图像采集指令可以是由用户对飞行时间相机的拍摄键进行按下操作生成,或者由与飞行时间相机连接的通行设备发送图像采集信号生成。
本发明实施例的优选方案中,所采用的飞行时间相机具照明模块和接收模块,其照明模块由4个发射波长为850nm的红外激光二级管组成,并在4个二极管的前端加装了毛玻璃来扩大光束的照射范围。接收模块为一个分辨率为240×320的CMOS像素阵列,接收到的光子通过镜头依次到达每个对应的像素点。
本发明实施例的另一个优选方案中,采用的飞行时间相机分辨率为512×424像素,其能够以30fps的最大频率进行采集,可测深度范围为0.5米-4.5米,水平视角70°,垂直视角60°。且其采用连续波调制发射波长为790nm的红外光。
本发明实施例的另一个优选方案中,采用的飞行时间相机分辨率为176×144像素,其能够以30fps的最大频率进行采集,可测深度范围为0.5米-4.5米,水平视角70°,垂直视角60°。且其采用连续波调制发射波长为850nm的红外光。
步骤102,根据预设体素数据中的第一体素点,从原始三维点云数据中确定与第一体素点对应的第一三维点云点。
具体的,预设体素数据包括多个体素点数据,是对目标场景中与位于第一反射装置、第二反射装置和三维点云成像设备之间的空间体根据预设分辨率进行划分后得到的数据。预设体素数据是在采用本发明实施例提供的方法之前,基于调整好的物体三维重建系统,根据实验数据确定的数据。其中,预设分辨率也是根据多次试验,并对实验数据进行分析确定的。本发明实施例中,预设体素体的分辨率为N×N×N,其中,N>0的正整数。在实际使用过程中,可以按照对重建的精度要求来确定N的值。在本发明实施例的一个具体例子中,N=256。
处理器对预设体素数据中的每个第一体素点依次进行处理,确定原始三维点云数据中与其对应的第一三维点云点。
本发明实施例的优选方案中,从原始三维点云数据中确定与第一体素点对应的第一三维点云点包括以下步骤:
首先,根据第一体素点的第一体素坐标和预置相机矩阵进行投影处理,得到第一像素点;其中,第一像素点包括第一像素坐标。
具体的,处理器根据预置相机矩阵对第一体素点进行重投影,得到第一体素点对应于预置相机的像素点,即第一像素点。也就是基于预设相机矩阵计算第一体素点在三维点云成像装置的的成像数据中的像素点数据。通俗地讲,就是使用三维点云成像装置对第一体素点进行图像采集,生成第一体素点对应的成像数据,这个成像数据即为第一像素点数据,对应于第一像素点。其中,预设相机矩阵对应于三维点云成像装置。
然后,根据第一像素点的第一像素坐标,在原始三维点云数据中查找像素坐标与第一像素坐标相同的三维点云点,得到第一三维点云点。
具体的,第一三维点云点的数据包括第一三维坐标数据。
步骤103,根据预设相机中心位置数据、第一体素点、第一三维点云点进行计算处理,得到第一偏差数据。
具体的,预设相机中心位置数据为在确定物体三维重建系统各组成部分的位置后,经过分析计算后确定的飞行时间相机的中心点的位置数据,其具有三维坐标数据。第一体素坐标为第一体素点对应的三维坐标数据。本发明实施例的优选方案中,得到第一偏差数据的步骤包括:
首先,根据预设相机中心位置数据和第一体素点的第一体素坐标进行距离计算处理,得到第一距离数据。也就是说,根据第一体素点的三维坐标数据和相机中心位置数据计算第一体素点与相机中心的空间距离,即第一距离数据。
其次,根据预设相机中心位置数据和第一三维点云点的第一三维点云坐标进行距离计算处理,得到第二距离数据。也就是说,根据第一三维点云点的三维坐标数据和相机中心位置数据计算第一三维点云点与相机中心的空间距离,即第二距离数据。
最后,根据第一距离数据和第二距离数据的差的绝对值,得到第一偏差数据。本发明实施例中,第一距离数据和第二距离数据中的较大值减去较小值直接得到第一偏差数据。
步骤104,判断第一偏差数据是否大于预设阈值。
具体的,当第一偏差数据小于等于预设阈值时,说明第一体素点处于物体表面位置处,此时执行步骤105;当第一偏差数据大于预设阈值时,说明不能确定第一能否用于构建物体表面,需要对其进行进一步的处理,再根据处理进行判断,此时执行步骤106。
步骤105,将第一体素点确定为有效体素点,为第一体素点添加第一标识数据,并将第一标识数据设置为第一预设标识数据。
具体的,为第一体素点添加一个用于标识其是否为可用于重建三维体素体的有效体素点,当其为有效体素点时,将其设置为第一预设标识数据。本发明实施例的一个具体例子中,第一预设标识数据为“有效”。当第一体素点被确定为有效体素点后,处理器对预设体素数据中的下一个体素点进行同样的判断,即对下一个体素点执行步骤102及之后的步骤。
步骤106,根据第一体素点和预设第一镜面方程数据进行反射变换处理,得到第一体素反射点,并根据第一体素点和预设第二镜面方程数据进行反射变换处理,得到第二体素反射点。
具体的,根据平面镜成像原理,对第一体素点的三维坐标值和预设第一镜面方程数据进行计算,生成与第一镜面对称的点的数据。其中,与第一镜面对称的点对应的数据被视为第一体素反射点数据,其对应于第一体素反射点。根据平面镜成像原理,对第二体素点的三维坐标值和预设第二镜面方程数据进行计算,生成与第二镜面对称的点的数据。其中,与第二镜面对称的点对应的数据被视为第二体素反射点数据,其对应于第二体素反射点。
步骤107,根据预设相机中心位置数据、第一体素反射点、第二体素反射点和原始三维点云数据进行判断处理,确定第一体素点是否为有效体素点。
具体的,本发明实施例的优选方案中,确定第一体素点是否为有体素点的方法包括如下步骤:
首先,根据预设相机中心位置数据和第一体素反射点的第一体素反射坐标进行距离计算处理,得到第一体素反射距离数据;
其次,根据预设相机中心位置数据和第二体素反射点的第二体素反射坐标进行距离计算处理,得到第二体素反射距离数据;
然后,判断第一体素反射距离数据与第二体素反射距离数据的大小,再根据判断结果进行处理,包括:
当第一体素反射距离数据大于等于第二体素反射距离数据时,执行下列步骤:
步骤10711,根据第一体素反射点,从原始三维点云数据中确定与第一体素反射点对应的第二三维点云点。
步骤10712,根据预设相机中心位置数据和第二三维点云点的第二三维点云坐标进行距离计算处理,得到第三距离数据。
步骤10713,根据第一体素反射距离数据和第三距离数据的差的绝对值,得到第二偏差数据。
步骤10714,判断第二偏差数据与预设阈值的大小关系,当第二偏差数据小于预设阈值时,将第一体素点确定为有效体素点,否则将第一体素点确定为无效体素点。
本发明实施例提供的可选方案中,从原始三维点云数据中确定与第一体素反射点对应的第二三维点云点的方法包括:首先,根据第一体素反射点的第一体素反射坐标和预置相机矩阵进行投影处理,得到第一反射像素点。其中,第一反射像素点包括第一反射像素坐标。然后,第一反射像素点包括第一反射像素坐标,在原始三维点云数据中查找像素坐标与第一反射像素坐标相同的三维点云点,得到第二三维点云点。也就是基于预设相机矩阵计算第一体素反射点在三维点云成像装置的成像数据中的像素点数据。通俗地讲,就是使用三维点云成像装置对第一体素反射点进行图像采集,生成第一体素反射点对应的成像数据,这个成像数据即为第一反射像素点数据,对应于第一反射像素点。其中,预设相机矩阵对应于三维点云成像装置。
当第一体素反射距离数据小于第二体素反射距离数据时,执行下列步骤:
步骤10721,根据第二体素反射点,从原始三维点云数据中确定与第二体素反射点对应的第三三维点云点。
步骤10722,根据预设相机中心位置数据和第三三维点云点的第三三维点云坐标进行距离计算处理,得到第四距离数据。
步骤10723,根据第二体素反射距离数据和第四距离数据的差的绝对值,得到第三偏差数据。
步骤10724,判断第三偏差数据与预设阈值的大小关系,当第三偏差数据小于预设阈值时,将第一体素点确定为有效体素点,否则将第一体素点确定为无效体素点。
本发明实施例提供的可选方案中,从原始三维点云数据中确定与第二体素反射点对应的第三三维点云点的方法包括与确定第二三维点云点的方法相同,这里不再赘述。
在确定第一体素点为有效体素点时,执行步骤108。确定所述第一体素点不为有效体素点时,执行步骤109。
步骤108,为第一体素点添加第一标识数据,并将第一标识数据设置为第一预设标识数据。
具体的,同步骤105,为第一体素点添加一个用于标识其是否为可用于重建三维体素体的有效体素点,当其为有效体素点时,将其设置为第一预设标识数据。本发明实施例的一个具体例子中,第一预设标识数据为“有效”。当第一体素点被确定为有效体素点后,处理器对预设体素数据中的下一个体素点进行同样的判断,即对下一个体素点执行步骤102及之后的步骤。
如果已经完成了对预设体素数据中所有第一体素点的处理,那么执行步骤110。
步骤109,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第二预设标识数据。
具体的,为第一体素点添加一个用于标识其是否为可用于重建三维体素体的有效体素点,当其不为有效体素点时,将其设置为第二预设标识数据。本发明实施例的一个具体例子中,第一预设标识数据为“无效”。并将所述第一标识数据为第二预设标识数据的第一体素点从所述预设体素数据中删除。
当第一体素点被确定为无效体素点后,处理器对预设体素数据中的下一个体素点进行判断,即对下一个体素点执行步骤102及之后的步骤。
如果已经完成了对预设体素数据中所有第一体素点的处理,那么执行步骤110。
步骤110,根据第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据。
具体的,在完成对预设体素数据中的所有第一体素点的处理后,根据所有第一体素点中的第一预设标识数据为第一预设标识数据的体素点生成物体的体素数据。也就是说,根据所有判断为有效体素点的体素点数据生成物体的体素数据。
本发明实施例的优选方案中,在生成物体的体素数据后,处理器将物体的体素数据发送给显示设备;显示设备根据物体的体素数据进行显示输出。
本发明实施例的优选方案中,为了达到物体重建的体素体能够更精确或者包含跟多的体素数据,可以对目标场景进行多次拍摄,采集多个原始三维点云数据,按照相同的方法对每次采集的原始三维点云数据进行处理后,得到多个物体体素体,然后对多个体素体进行融合处理,得到包括更多体素点物体的体素数据。
本发明实施例提供的一种物体三维重建方法和系统,通过使用飞行时间相机采集一帧目标场景的图像,生成原始三维点云数据,并对采集生成的原始三维点云数据结合与场景对应的预设体素数据进行分析,根据预设体素体中的体素点、原始三维点云数据中的三维点云点和镜面矩阵方程数据确定体素点时否为有效体素点,并在对预设体素体中的各体素点进行判断后,根据预设体素体中的有效体素点生成物体对应的物体的体素数据,以完成物体三维重建。本发明实施例提供的方法算法简单、相应的系统结构简单,能够在降低设备成本的基础上,利用预设体素数据直接生成动态或静态物体的体素数据,以达到物体的三维重建的目的。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种物体三维重建方法,其特征在于,所述方法包括:
处理器接收三维点云成像装置发送的原始三维点云数据;其中,所述原始三维点云数据包括多个三维点云点的数据;
根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点;
根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据;
判断所述第一偏差数据是否大于预设阈值;
当所述第一偏差数据小于等于所述预设阈值时,将所述第一体素点确定为有效体素点,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
当所述第一偏差数据大于所述预设阈值时,根据所述第一体素点和预设第一镜面方程数据进行反射变换处理,得到第一体素反射点;并根据所述第一体素点和所述预设第二镜面方程数据进行反射变换处理,得到第二体素反射点;
根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点;
当所述第一体素点为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
根据所述第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据;
其中,所述根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点具体为:
根据所述预设相机中心位置数据和所述第一体素反射点的第一体素反射坐标进行距离计算处理,得到第一体素反射距离数据;
根据所述预设相机中心位置数据和所述第二体素反射点的第二体素反射坐标进行距离计算处理,得到第二体素反射距离数据;
当所述第一体素反射距离数据大于等于所述第二体素反射距离数据时,根据第一体素反射点,从所述原始三维点云数据中确定与所述第一体素反射点对应的第二三维点云点;
根据预设相机中心位置数据和所述第二三维点云点的第二三维点云坐标进行距离计算处理,得到第三距离数据;
根据所述第一体素反射距离数据和所述第三距离数据的差的绝对值,得到第二偏差数据;
当所述第二偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点;当所述第一体素反射距离数据小于所述第二体素反射距离数据时,
根据第二体素反射点,从所述原始三维点云数据中确定与所述第二体素反射点对应的第三三维点云点;
根据预设相机中心位置数据和所述第三三维点云点的第三三维点云坐标进行距离计算处理,得到第四距离数据;
根据所述第二体素反射距离数据和所述第四距离数据的差的绝对值,得到第三偏差数据;
当所述第三偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点。
2.根据权利要求1所述物体三维重建方法,其特征在于,所述根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点具体包括:
根据所述第一体素点的第一体素坐标和预置相机矩阵进行投影处理,得到第一像素点;其中,第一像素点包括第一像素坐标;
根据第一像素点的第一像素坐标,在所述原始三维点云数据中查找像素坐标与所述第一像素坐标相同的三维点云点,得到所述第一三维点云点。
3.根据权利要求1所述物体三维重建方法,其特征在于,所述根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据具体为:
根据预设相机中心位置数据和所述第一体素点的第一体素坐标进行距离计算处理,得到第一距离数据;
根据预设相机中心位置数据和所述第一三维点云点的第一三维点云坐标进行距离计算处理,得到第二距离数据;
根据所述第一距离数据和所述第二距离数据的差的绝对值,得到所述第一偏差数据。
4.根据权利要求1所述物体三维重建方法,其特征在于,在根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点之后,所述方法还包括:
当所述第一体素点不为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第二预设标识数据;
将所述第一标识数据为第二预设标识数据的第一体素点从所述预设体素数据中删除。
5.根据权利要求1所述物体三维重建方法,其特征在于,在所述处理器接收三维点云成像装置发送的原始三维点云数据之前,所述方法还包括:
三维点云成像装置接收外部输入的图像采集指令;
根据所述图像采集指令对目标场景进行拍摄,生成所述目标场景的原始三维点云数据;
所述三维点云成像装置将所述原始三维点云数据发送给所述处理器。
6.根据权利要求5所述物体三维重建方法,其特征在于,所述三维点云成像装置为飞行时间相机。
7.根据权利要求1所述物体三维重建方法,其特征在于,所述方法还包括:
所述处理器将所述物体的体素数据发送给显示设备;
所述显示设备根据所述物体的体素数据进行显示输出。
8.一种物体三维重建系统,其特征在于,所述系统包括:三维点云成像装置、第一反射装置、第二反射装置和处理器;
所述三维点云成像装置,用于接收外部输入的图像采集指令,并根据所述图像采集指令对目标场景进行拍摄,生成所述目标场景的原始三维点云数据;
所述第一反射装置,用于将所述三维点云成像装置发射的光反射到物体表面和将物体表面反射的光二次反射到所述三维点云成像装置;
所述第二反射装置,用于将所述三维点云成像装置发射的光反射到物体表面和将物体表面反射的光二次反射到所述三维点云成像装置;
所述处理器,用于接收三维点云成像装置发送的原始三维点云数据;其中,所述原始三维点云数据包括多个三维点云点的数据;
所述处理器,还用于根据预设体素数据中的第一体素点,从所述原始三维点云数据中确定与所述第一体素点对应的第一三维点云点;
所述处理器,还用于根据预设相机中心位置数据、所述第一体素点、所述第一三维点云点进行计算处理,得到第一偏差数据;
所述处理器,还用于判断所述第一偏差数据是否大于预设阈值;
当所述第一偏差数据小于等于所述预设阈值时,将所述第一体素点确定为有效体素点,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
当所述第一偏差数据大于所述预设阈值时,根据所述第一体素点和预设第一镜面方程数据进行反射变换处理,得到第一体素反射点;并根据所述第一体素点和所述预设第二镜面方程数据进行反射变换处理,得到第二体素反射点;
所述处理器,还用于根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点;
当所述第一体素点为有效体素点时,为所述第一体素点添加第一标识数据,并将所述第一标识数据设置为第一预设标识数据;
所述处理器,还用于根据所述第一标识数据为第一预设标识数据的第一体素点的数据生成物体的体素数据;
其中,所述根据所述预设相机中心位置数据、所述第一体素反射点、所述第二体素反射点和所述原始三维点云数据进行判断处理,确定所述第一体素点是否为有效体素点具体为:
根据所述预设相机中心位置数据和所述第一体素反射点的第一体素反射坐标进行距离计算处理,得到第一体素反射距离数据;
根据所述预设相机中心位置数据和所述第二体素反射点的第二体素反射坐标进行距离计算处理,得到第二体素反射距离数据;
当所述第一体素反射距离数据大于等于所述第二体素反射距离数据时,根据第一体素反射点,从所述原始三维点云数据中确定与所述第一体素反射点对应的第二三维点云点;
根据预设相机中心位置数据和所述第二三维点云点的第二三维点云坐标进行距离计算处理,得到第三距离数据;
根据所述第一体素反射距离数据和所述第三距离数据的差的绝对值,得到第二偏差数据;
当所述第二偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点;当所述第一体素反射距离数据小于所述第二体素反射距离数据时,
根据第二体素反射点,从所述原始三维点云数据中确定与所述第二体素反射点对应的第三三维点云点;
根据预设相机中心位置数据和所述第三三维点云点的第三三维点云坐标进行距离计算处理,得到第四距离数据;
根据所述第二体素反射距离数据和所述第四距离数据的差的绝对值,得到第三偏差数据;
当所述第三偏差数据小于所述预设阈值时,将所述第一体素点确定为有效体素点,否则将所述第一体素点确定为无效体素点。
9.根据权利要求8所述物体三维重建系统,其特征在于,所述系统还包括显示设备:
所述处理器,还用于将所述物体的体素数据发送给所述显示设备;
所述显示设备,用于接收所述处理器发送的物体的体素数据,并根据所述物体的体素数据进行显示输出;
所述三维点云成像装置与所述处理器通过有线或无线方式进行通信连接;
所述处理器与所述显示设备通过有线或无线通信方式进行通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010356804.0A CN111583391B (zh) | 2020-04-29 | 2020-04-29 | 一种物体三维重建方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010356804.0A CN111583391B (zh) | 2020-04-29 | 2020-04-29 | 一种物体三维重建方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111583391A CN111583391A (zh) | 2020-08-25 |
CN111583391B true CN111583391B (zh) | 2023-07-14 |
Family
ID=72112498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010356804.0A Active CN111583391B (zh) | 2020-04-29 | 2020-04-29 | 一种物体三维重建方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111583391B (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8587583B2 (en) * | 2011-01-31 | 2013-11-19 | Microsoft Corporation | Three-dimensional environment reconstruction |
US8922554B2 (en) * | 2011-03-18 | 2014-12-30 | Siemens Medical Solutions Usa, Inc. | Three-dimensional reconstruction for irregular ultrasound sampling grids |
US20130182079A1 (en) * | 2012-01-17 | 2013-07-18 | Ocuspec | Motion capture using cross-sections of an object |
WO2017113260A1 (zh) * | 2015-12-30 | 2017-07-06 | 中国科学院深圳先进技术研究院 | 一种三维点云模型重建方法及装置 |
US10066946B2 (en) * | 2016-08-26 | 2018-09-04 | Here Global B.V. | Automatic localization geometry detection |
CN110363849A (zh) * | 2018-04-11 | 2019-10-22 | 株式会社日立制作所 | 一种室内三维建模方法及系统 |
CN109255819B (zh) * | 2018-08-14 | 2020-10-13 | 清华大学 | 基于平面镜的Kinect标定方法及装置 |
CN110047144A (zh) * | 2019-04-01 | 2019-07-23 | 西安电子科技大学 | 一种基于Kinectv2的完整物体实时三维重建方法 |
CN110415342B (zh) * | 2019-08-02 | 2023-04-18 | 深圳市唯特视科技有限公司 | 一种基于多融合传感器的三维点云重建装置与方法 |
CN110458950A (zh) * | 2019-08-14 | 2019-11-15 | 首都医科大学附属北京天坛医院 | 一种三维模型重建方法、移动终端、存储介质及电子设备 |
CN110782416B (zh) * | 2019-11-05 | 2022-05-17 | 北京深测科技有限公司 | 三维点云数据的去噪方法 |
CN110686600B (zh) * | 2019-11-05 | 2021-08-06 | 北京深测科技有限公司 | 一种基于飞行时间测量的测量方法及系统 |
-
2020
- 2020-04-29 CN CN202010356804.0A patent/CN111583391B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111583391A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427917B (zh) | 用于检测关键点的方法和装置 | |
CA2721891C (en) | Optronic system and method dedicated to identification for formulating three-dimensional images | |
US9269188B2 (en) | Densifying and colorizing point cloud representation of physical surface using image data | |
CN111383285B (zh) | 一种基于毫米波雷达与摄像机传感器融合标定方法及系统 | |
US20180262737A1 (en) | Scan colorization with an uncalibrated camera | |
US5832106A (en) | Method for camera calibration of range imaging system by use of neural network | |
CN110163898B (zh) | 深度信息配准方法、装置、系统、设备及存储介质 | |
JP2018527554A (ja) | 無人航空機の奥行き画像の取得方法、取得装置及び無人航空機 | |
CN113160328B (zh) | 一种外参标定方法、系统、机器人和存储介质 | |
EP1524494A1 (en) | Method for calibrating a camera-laser-unit in respect to a calibration-object | |
CN114746715A (zh) | 三维模型生成方法、信息处理装置及程序 | |
CN111915723A (zh) | 一种用于室内的三维全景构建方法和系统 | |
CN107869968A (zh) | 一种适用于复杂物体表面的快速三维扫描方法及系统 | |
CN111047650B (zh) | 一种用于飞行时间相机的参数标定方法 | |
CN105184857A (zh) | 基于点结构光测距的单目视觉重建中尺度因子确定方法 | |
CN108062788A (zh) | 一种三维重建方法、装置、设备和介质 | |
CN107590444A (zh) | 静态障碍物的检测方法、装置及存储介质 | |
CN111680574A (zh) | 一种人脸检测方法、装置、电子设备和存储介质 | |
CN107564051B (zh) | 一种深度信息采集方法及系统 | |
CN109905691A (zh) | 深度图像采集装置和深度图像采集系统及其图像处理方法 | |
CN111583392B (zh) | 一种物体三维重建方法和系统 | |
CN112489189B (zh) | 一种神经网络的训练方法及系统 | |
CN113963425A (zh) | 人脸活体检测系统的测试方法、装置及存储介质 | |
CN111583391B (zh) | 一种物体三维重建方法和系统 | |
CN113160416A (zh) | 一种用于煤流检测的散斑成像装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |