本发明属于三维信息技术领域,尤其涉及一种基于多摄像机的实时三维点云重建方法和系统。
技术背景
三维重建是计算机视觉、计算机图形学等领域常见的问题。所谓三维物体重建是指通过传感设备获得空间三维物体的2d图像或2.5d深度数据,从中恢复出物体的三维结构。传感类型可以包括可光学成像、激光扫描、热成像等。三维重建在计算机辅助设计、3d动画/游戏、科学计算和虚拟现实、工业测量等方面有着许多应用。
目前,市面上常用的三维重建设备或方法包括三种。第一种是基于激光扫描的方法,其主要是基于激光测距的原理,此类设备的构造一般主要包括一台高速精确的激光测距仪、数码相机、以及引导激光运动的辅助设备。采用激光扫描的方法具有精度高、速度快的优点,然而其设备往往价格昂贵,并且体积等常比较大;第二种方法是基于立体视觉的方法,即通过两台以上摄像机从不同角度对物体进行拍摄,分析获得的图像数据,从中计算出物体各个三维点的空间位置,从而得到三维重建数据。这类方法关键需要解决高精度的摄像机标定、特征提取、以及立体匹配等计算问题,只有获得精确的匹配结果,才有可能准确的恢复出物体三维点云信息。第三种方法是基于单摄像机及辅助信息的方法,这类方法需要在物体上打上主动光斑等辅助信息,通过分析纹理光斑的形变等变化来计算出物体的三维位置信息,比如一些设备采用红外投影仪向物体投射结构化的光斑信息。这类方法的缺点在于需要额外的辅助设备,并且在对物体快速运动的场景会遇到困难。而且有一些三维重建的方法,物体轮廓分割不干净,物体轮廓和物体外貌颜色信息获取不准确,计算量大,步骤复杂。
技术实现要素:
本发明针对以上技术问题,提供一种基于多摄像机的实时三维点云重建方法和系统,精确度更高、效率更高、普遍适用、计算更简单。
本发明采用的技术方案如下,一种基于多摄像机的实时三维点云重建方法,其特征在于,包括:
a1:搭建多摄像机同步采集系统:选择一个封闭的三维立体空间,并在三维立体空间的四周合适位置上固定安装一定数目的摄像机,摄像机拍摄的环境要求为单一颜色的静态背景,控制灯源,使得空间内部的光照均匀;
a2:多摄像机系统标定:确定各个摄像机的空间方位和内部参数;
a3:建立投影查找表:将三维立体空间均分为若干个相同的粒块,并标定粒块的中心点位置坐标,依据摄像机的空间方位信息和内部参数得到各粒块中心点在各个摄像机像面上的成像点;
a4:图像采集:通过摄像机对三维立体空间内的运动物体图像进行采集;
a5:物体轮廓分割:从采集的图像中分割出物体轮廓;
a6:三维重建:通过步骤a5获得t时刻多视图物体轮廓图像数据后,利用摄像机标定信息、捕捉粒块的三维位置信息以及投影查找表,得到动态的物体重建数据。
优选地,所述多摄像机系统标定方法为:1)采用常规的摄像机标定方法标定各个摄像机的内部参数,所述内部参数包括摄像机焦距、摄像机主点坐标以及成像畸变参数;2)在三维立体空间地面上平铺合适大小的标定网格板,使得各个摄像机都能够覆盖成像;3)标定网格一角定义世界坐标系,各个摄像机对标定网格板拍摄,由已标定的摄像机内部参数、标定网格板各网格点在世界坐标系上的位置坐标以及各摄像机得到的标定网格板中各网格点的像素坐标,并通过位姿估计的方法计算出摄像机的方位信息。
优选地,所述物体轮廓分割的操作方法为,通过对其中任一台摄像机采集的图像的rgb各通道图像与该摄像机对应的背景图像的rgb各通道图像对比,获得分割后的物体轮廓图像的rgb各通道图像,得到物体轮廓像素点集合。
优选地,所述三维重建的具体步骤如下:
b1:给定一个粒块的二进制串状态变量,并初始化;
b2:对每一幅分割得到的物体轮廓图像进行以下扫描操作:通过对应于该摄像机的投影查找表,依次对其中的属于前景物体轮廓区域的像素点集合的各像素点查找到对应的粒块序号集合,并将每一个粒块序号对应粒块的状态变量进行更新赋值;
b3:按照b2所述方法对t时刻多视图所有物体轮廓图像进行扫描操作结束后,得到物体形体粒块;
b4:寻找表面点:具体为,对每一个重建点,判断其上下、左右和前后6个邻域点是否全部为重建点,若均为重建点,将该重建点予以剔除,最终得到物体对象在t时刻的三维重建点云。
优选地,所述重建方法还包括色彩重建步骤,在获得物体重建数据后,利用物体轮廓的颜色信息对物体外貌色彩进行重建。
优选地,色彩重建的具体方法如下:
c1:对每个重建的粒块定义一四维向量cn=(r,g,b,m)(n=1,2,…,nshape,nshape为形体粒块的数目),并初始化该向量元素值均为0;
c2:通过透视投影模型计算所找出的各物体粒块在当前摄像机像面的深度数值,并确定离摄像机像面最近的重建物体粒块,则将该像素点的颜色信息(rij,gij,bij)以下面的方式记录到重建物体粒块对应的四维向量cn=(r,g,b,m):
c3:对每一个物体粒块计算颜色值:对某物体粒块,如果对应的四维向量中m值不为0,则该粒块的颜色数据计算为
优选地,在建立投影查找表时,记录各个粒块的深度信息,并对每个轮廓像素对应的粒块集合按照深度大小进行排序存储,以便于避免在上述步骤c3中再次进行深度计算,
一种基于多摄像机的实时三维点云重建系统,包括,封闭的单一颜色的静态背景的三维立体空间、固定安装在立体空间四周的若干个的摄像机与若干个灯源和计算机,其中所述摄像机与计算机连接,所述计算机包括:
摄像机标定模块,用于确定各个摄像机的空间方位和内部参数;
投影查找表计算模块,用于建立投影查找表;
物体轮廓分割模块,将摄像机采集得到的图像中分割出物体轮廓;
三维重建模块,用于根据摄像机的标定信息、捕捉粒块的三维位置信息以及投影查找表,得到动态的物体重建数据。
优选地,所述系统还包括色彩重建模块,用于在获得物体重建数据后,利用物体轮廓的颜色信息对物体外貌色彩进行重建。
本发明与现有技术相比,具有以下优点:
(1)重建精度可以自主控制:通过设定划分粒块的大小,而得到不同的分辨率,可以获得不同精度的重建效果,粒块越细化,重建精度更高。
(2)重建效率高:采用了通过轮廓像素扫描向空间反向投影交汇的方法,其中最耗时的投影计算利用了投影查找表,这使得重建效率高;采用去除体内粒块的策略,使得大大降低了渲染和后续外貌重建的时间;同时,采用基于预先计算的深度信息,避免了在颜色重建过程中的对粒块的多次扫描处理;这些策略使得能够在普通pc机器上达到实时重建效果。
(3)计算更简单:在轮廓分割时,封闭的三维立体空间的环境为单一颜色的静态背景,不被其他外界物体干扰,采用了静态简单背景和均匀光照,通过该方法可以实时的获取精准的物体轮廓和物体外貌颜色信息。
(4)适合并行计算:该方法适合采用并行计算来进一步提高效率,由于各个像面的扫描操作都是相互独立的,甚至是每个像素的扫描操作都是相互独立的,计算更快速。
(5)还原更真实。
附图说明
图1为本发明的方法步骤流程图。
图2为多个摄像机安装及三维立体空间结构示意图。
图3为单一摄像机标定板及其图像获取示意图。
图4为多摄像机系统标定板及其图像获取示意图。
图5为三维立体空间划分粒块示意图。
图6为物体投影及投影查找表创建示意图。
图7为三维物体重建结果示例图。
图8为本发明的系统结构图。
具体实施方式
下面结合附图说明,对本发明进行详细地介绍,应当理解,以下只是介绍本发明的具体实施方式,并不在于限定本发明的保护范围。
一种三维重建方法,如图1所示,包括以下内容和步骤:
1、搭建多摄像机同步采集系统:如图2所示,在足够大的室内划分出合适大小、长宽高相等的三维立体空间,此三维立体空间为物体对象的运动空间,即物体对象只能限制在此三维立体空间内运动。为说明方便,称此三维立体空间为捕捉空间;在捕捉空间四周合适位置上固定安装一定数目的摄像机,摄像机个数宜不少于10个。所有摄像机能够对捕捉空间覆盖成像,并能够同步采集分辨率不少于640*480、帧率大于24帧每秒的彩色图像数据。为了使物体重建不被其他动态物体干扰,可要求背景是静态的,可在捕捉空间四周以可透光的单一颜色蒙皮覆盖,从而布置出封闭的“表演舞台”。在“舞台”外围合适位置和方位上布置灯源,通过控制灯源使得舞台内部的光照均匀,所有摄像机通过usb3.0或firewire接口连接到一台计算机上。
2、多摄像机系统标定:如图3所示,多摄像机系统标定是为了确定各个摄像机的空间方位和内部参数。已知各摄像机标定信息,则可以确定空间点与其在各摄像机像面上二维像素坐标之间的关系,多摄像机系统标定,采用以下三步骤进行标定:(1)采用常规的摄像机标定方法标定各个摄像机的内部参数,所谓内部参数包括摄像机焦距、摄像机主点坐标以及成像畸变参数;(2)在捕捉空间地面上平铺合适大小的标定网格板,使得各个摄像机都能够覆盖成像;(3)在标定网格一角定义世界坐标系cw,各个摄像机对标定网格板拍摄,由已标定的摄像机内部参数、标定网格板各网格点在世界坐标系cw上的位置坐标以及各摄像机得到的标定网格板中各网格点的像素坐标,可以通过位姿估计的方法计算出摄像机的外部参数,也就是摄像机的方位信息,位姿估计方法可采用现有的位姿估计方法。
3、建立投影查找表:如图4将捕捉空间沿着长、宽、高均匀划分大小一致的小立体块,设捕捉空间长、宽、高均为l,将长、宽、高各均匀划分a段,由此得到小立体块的个数nv为nv=a×a×a,各小立体块尺寸为
其中
4、物体轮廓分割:在上述拍摄环境下所得到的图像其前景为物体对象,为了从图像中分割出物体轮廓,以各个摄像机拍摄在无目标物体情况下一组序列图像,从中得到这组序列图像的平均图像,作为背景图。设在t时刻由多摄像机同步采集系统获得nc幅图像,为说明方便,称这对应于同一时刻t的nc幅图像为t时刻多视图,并用
若
5、三维重建:在获得t时刻多视图物体轮廓图像数据后,可以利用摄像机标定信息、捕捉空间粒块三维位置信息以及投影查找表快速、准确地重建出物体对象在t时刻的三维重建。对各个时刻进行三维重建,就能够得到动态的物体重建数据。三维重建的具体步骤如下:
1)对捕捉空间包含的nv个粒块各个粒块定义一个包含nc位的二进制串状态变量
2)对每一幅分割得到的物体轮廓图像
3)按照2)所述方法对t时刻多视图所有物体轮廓图像进行扫描操作结束后,则只有那些粒块状态变量各个二进制位数值全为1的为物体上的粒块。例如,对于nc=10,则只有
4)由于三维重建只需要重建位于物体表面的点,被包含在物体内部的点则无意义。为了提高显示和处理速度,可以将内部点进行去除。采用以下的方法可以快速去除内部点:对每一个重建点,判断其上下、左右和前后6个邻域点是否全部为重建点。如果所有邻域点均为重建点,则该重建点为内部点,可以其从重建点云集合中予以剔除,最终得到物体对象在t时刻的三维重建点云。
6、色彩重建:在获得物体三维重建点云数据后,可以利用物体轮廓的颜色信息对物体外貌进行重建。此处的外貌重建是指恢复出物体重建点云的颜色信息,外貌重建的具体方法如下:
首先,对每个重建的粒块定义一四维向量cn=(r,g,b,m)(n=1,2,…,nshape,nshape为形体粒块的数目),并初始化该向量元素值均为0;
其次,依次对各个前景物体轮廓区域的像素点集合
最后,对每一个物体粒块计算颜色值:对某物体粒块,如果对应的四维向量中m值不为0,则该粒块的颜色数据计算为
为了提高重建效率,可以在创建投影查找表时,通过记录各个粒块的深度信息,进而对每个轮廓像素对应的粒块集合按照深度大小进行排序存储,从而避免在上述步骤中再次进行深度计算。
同时,提供一种基于多摄像机的实时三维点云重建系统,如图7所述,包括,封闭的单一颜色的静态背景的三维立体空间1、固定安装在立体空间1四周的若干个的摄像机2与若干个灯源3和计算机4,其中所述摄像机2与计算机4连接,所述计算机4包括,摄像机标定模块41,用于确定各个摄像机2的空间方位和内部参数;投影查找表计算模块42,用于建立投影查找表;物体轮廓分割模块43,将摄像机2采集得到的图像中分割出物体轮廓;三维重建模块44,用于根据摄像机2的标定信息、捕捉粒块的三维位置信息以及投影查找表,得到动态的物体重建数据,所述系统包括色彩重建模块45,用于在获得物体重建数据后,利用物体轮廓的颜色信息对物体外貌色彩进行重建。
本发明的实施例只是介绍其具体实施方式,不在于限制其保护范围。本行业的技术人员在本实施例的启发下可以作出某些修改,故凡依照本发明专利范围所做的等效变化或修饰,均属于本发明专利权利要求范围内。