一种球幕相机与深度相机结合的三维建模方法和系统转让专利

申请号 : CN201810255291.7

文献号 : CN108629829B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 崔岩

申请人 : 中德(珠海)人工智能研究院有限公司珠海市四维时代网络科技有限公司

摘要 :

本发明为一种球幕相机与深度相机结合的三维建模方法核系统,涉及三维成像建模技术领域,至少包括一台深度相机与一台球幕相机;所述方法包括八个步骤,将球幕相机镜头和深度相机镜头固定于空间中的同一位置;使用球幕相机进行拍照;通过VSLAM算法进行初步定位;用三维照片中的三维信息空间信息进行校准;进一步精确定位;形成稠密点云;进一步得到精确的稠密点云;进行数字化建模,生成三维模型;根据二维全景照片中的颜色信息,自动对三维模型进行贴图。本发明有益效果在于,使三维模型同时具备球幕相机与深度相机的优点,而且三维模型更加精确,解决了深度相机视角单一,视域受限,球幕相机容易产生误差的缺点。

权利要求 :

1.一种球幕相机与深度相机结合的三维建模方法,其特征在于,所述方法包括以下步骤:S1:将球幕相机镜头和深度相机镜头固定于空间中的同一位置,称为相机位置;

S2:使用球幕相机进行拍照,球幕相机镜头获取的是至少一张二维全景照片,所述二维全景照片包含颜色信息和二维信息(x,y),深度相机镜头获取的是至少一张三维照片,所述三维照片包含三维信息(x,y,z);

S3:通过VSLAM算法进行对所述相机位置初步定位,对二维全景照片进行计算,在二维全景照片的基础上获取空间信息;

S4:用三维照片中的三维信息对步骤S3中的空间信息进行校准;

S5:进一步精确定位,使用三维重建离线算法对二维全景照片提取特征点,进行特征点匹配,提高经过步骤S4后的二维全景照片分辨率,重新计算相机位置信息,对相机位置进行微调;

S6:基于三维信息形成稠密点云;

S7:进一步得到精确的稠密点云,使用ICP算法对稠密点云进行匹配,对所有点云进行对比,把属于不同空间的点云放在不同的位置上;

S8:进行数字化建模,生成三维模型;

S9:根据二维全景照片中的颜色信息,自动对三维模型进行贴图。

2.根据权利要求1所述的球幕相机与深度相机结合的三维建模方法,其特征在于,在步骤S4中,若三维信息和空间信息不同,则说明基于二维全景照片计算的空间信息有误,通过三维信息对空间信息进行校准。

3.根据权利要求1所述的球幕相机与深度相机结合的三维建模方法,其特征在于,在步骤S4中,若三维信息和空间信息相同,则不需要通过三维信息对空间信息进行校准。

4.根据权利要求1所述的球幕相机与深度相机结合的三维建模方法,其特征在于,在步骤S1中,所述的同一位置,即对所述空间来说,深度相机镜头和球幕相机镜头的距离差不会对相机位置造成影响,在预设误差范围内。

5.根据权利要求4所述的球幕相机与深度相机结合的三维建模方法,其特征在于,优选地,深度相机镜头和球幕相机镜头采取背靠背方式固定在同一位置。

6.一种球幕相机和深度相机结合的三维建模系统,其特征在于,所述系统包括:球幕相机、深度相机、将球幕相机和深度相机固定在一起的移动终端、云端服务器、存储并可在所述移动终端上运行的初步定位和校准程序、存储并可在所述云端服务器上运行的三维建模程序,所述初步定位和校准程序被所述移动终端执行时实现如权利要求1中步骤S1-S4、权利要求2-4所述的三维建模方法的步骤,所述三维建模程序被所述云端服务器执行时实现如权利要求1中步骤S5-S9所述的三维建模方法的步骤。

7.根据权利要求6所述的球幕相机和深度相机结合的三维建模系统,其特征在于,所述球幕相机、深度相机分别与移动终端电信号连接,所述移动终端和云端服务器无线通信连接。

说明书 :

一种球幕相机与深度相机结合的三维建模方法和系统

技术领域

[0001] 本发明涉及三维成像建模技术领域,具体涉及一种球幕相机与深度相机结合的三维建模方法。

背景技术

[0002] 三维建模技术是物体对象在三维空间中数据表示的处理过程,三维模型可以使用采集物体的三维空间点构成点云来进行表示,点云可以使用三角网格、线、多边形网格来进行连接重建模型的表面。三维模型可以使用在在电影、游戏、制造等领域,三维建模技术属于一个多学科交叉的研究领域,是计算机图形学和图像处理在工程中的重要应用。
[0003] 随着RGB-D相机的问世,RGB-D相机具有价格廉价、实时获取的优点,具有好的精度和密集扫描的能力,但是传统的RGB-D相机,比如基于kinect或者TOF(time-of-flight)方式的RGB-D相机能够形成一个空间模型,相机视角单一,视域受限,计算量比较大,耗时久,无法达到实时呈现效果。
[0004] 球幕相机,即鱼眼相机,进行三维建模的方法一般适用于诸如墙面、桌面等面的结构化场景,主要比较适合拍摄较大场景的照片,如建筑、风景等题材。当球幕相机用于拍风景时能拍更广阔的画面、拍集体照时能容纳下更多的人,视角更广,可以涵盖大范围景物。传统球幕相机所得到的二维图片信息也可进行SLAM算法计算出其三维信息,计算速度快,但容易产生误差,只能作为一个初步定位信息。
[0005] 三维建模要求重建的过程快速高效,精确度高。RGB-D相机和球幕相机在各自进行三维建模时都无法满足上述要求。

发明内容

[0006] 鉴于现有技术的不足,本发明旨在于提供一种球幕相机与深度相机结合的三维建模方法,通过将球幕相机与深度相机的有机结合,使三维建模同时具备球幕相机与深度相机的优点。
[0007] 为了实现上述目的,本发明采用的技术方案如下:
[0008] 一种球幕相机与深度相机结合的三维建模方法,至少包括一台深度相机与一台球幕相机;所述方法包括以下步骤:
[0009] S1:将球幕相机镜头和深度相机镜头固定于空间中的同一位置,称为相机位置;
[0010] S2:使用球幕相机进行拍照,球幕相机镜头获取的是至少一张二维全景照片,所述二维全景照片包含颜色信息和二维信息(x,y),深度相机镜头获取的是至少一张三维照片,所述三维照片包含三维信息(x,y,z);
[0011] S3:通过VSLAM算法进行对所述相机位置初步定位,对二维全景照片进行计算,在二维全景照片的基础上获取空间信息。
[0012] S4:用三维照片中的三维信息对步骤S3中的空间信息进行校准;
[0013] S5:进一步精确定位,使用三维重建离线算法对二维全景照片提取特征点,进行特征点匹配,提高经过步骤S4后的二维全景照片分辨率,重新计算相机位置信息,对相机位置进行微调;
[0014] S6:基于三维信息形成稠密点云;
[0015] S7:进一步得到精确的稠密点云,使用ICP算法(迭代最近点及其变异算法)对稠密点云进行匹配,对所有点云进行对比,把属于不同空间的点云放在不同的位置上;
[0016] S8:进行数字化建模,生成三维模型;
[0017] S9:根据二维全景照片中的颜色信息,自动对三维模型进行贴图。
[0018] 进一步地,在步骤S4中,若三维信息和空间信息不同,则说明基于二维全景照片计算的空间信息有误,通过三维信息对空间信息进行校准。
[0019] 进一步地,在步骤S4中,若三维信息和空间信息相同,则不需要通过三维信息对空间信息进行校准。
[0020] 进一步地,在步骤S1中,所述的同一位置,即对所述空间来说,深度相机镜头和球幕相机镜头的距离差不会对相机位置造成影响,在预设误差范围内。
[0021] 优选地,深度相机镜头和球幕相机镜头采取背靠背方式固定在同一位置。
[0022] 此外,为实现上述目的,本发明还提供,一种球幕相机和深度相机结合的系统,所述系统包括:球幕相机、深度相机、将球幕相机和深度相机固定在一起的移动终端、云端服务器、存储并可在所述移动终端上运行的初步定位和校准程序、存储并可在所述云端服务器上运行的三维建模程序,所述初步定位和校准程序被所述移动终端执行时实现步骤S1-S4所述的三维建模方法的步骤,所述三维建模程序被所述云端服务器执行时实现步骤S5-S9所述的三维建模方法的步骤。
[0023] 进一步地,所述球幕相机、深度相机分别与移动终端电信号连接,所述移动终端和云端服务器无线通信连接。
[0024] 本发明有益效果在于:
[0025] (1)得到更准确的模型:球幕相机镜头拍摄到的RGB照片获取了拍摄对象的颜色信息,深度相机镜头后拍摄的图片会同时获得深度信息,在三维建模的时候会得到更加稠密的点云,模型建立会更加准确。
[0026] (2)球幕相机镜头与深度相机镜头相结合于同一位置,位于一点就能够抓到整个空间的信息,突破传统相机的视域范围,同时因为两个相机合作,可以获取更多的细节,自动化强、稳定性好、精度高的优点使得模型更加精致。
[0027] (3)球幕相机镜头与深度相机镜头相结合可以扬长避短,既可以纠正基于球幕相机镜头得到的二维信息产生的偏差,也可以快速计算,达到实时呈现效果,克服深度相机镜头耗时久、无法达到实时呈现的缺点。

附图说明

[0028] 图1为本发明的球幕相机、深度相机、移动终端示意图;
[0029] 图2为本发明的球幕相机和深度相机结合的系统示意图;
[0030] 图3为本发明的步骤示意图一;
[0031] 图4为本发明的步骤示意图二;
[0032] 图5为本发明的步骤示意图三;
[0033] 图6为本发明的步骤示意图四;
[0034] 图7为本发明的步骤示意图五。
[0035] 图例说明:
[0036] 球幕相机镜头            1
[0037] 深度相机镜头            2
[0038] 移动终端                3

具体实施方式

[0039] 以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
[0040] 一种球幕相机与深度相机结合的三维建模方法,至少包括一台深度相机与一台球幕相机;如图3-7所示,所述方法包括以下步骤:
[0041] S1:将球幕相机镜头和深度相机镜头固定于空间中的同一位置,称为相机位置;
[0042] S2:使用球幕相机进行拍照,球幕相机镜头获取的是至少一张二维全景照片,所述二维全景照片包含颜色信息和二维信息(x,y),深度相机镜头获取的是至少一张三维照片,所述三维照片包含三维信息(x,y,z);
[0043] S3:通过VSLAM算法进行对所述相机位置初步定位,对二维全景照片进行计算,在二维全景照片的基础上获取空间信息;
[0044] S4:用三维照片中的三维信息对步骤S3中的空间信息进行校准;
[0045] S5:进一步精确定位,使用三维重建离线算法对二维全景照片提取特征点,进行特征点匹配,提高经过步骤S4后的二维全景照片分辨率,重新计算相机位置信息,对相机位置进行微调;
[0046] S6:基于三维信息形成稠密点云;
[0047] S7:进一步得到精确的稠密点云,使用ICP算法(迭代最近点及其变异算法)对稠密点云进行匹配,对所有点云进行对比,把属于不同空间的点云放在不同的位置上;
[0048] S8:进行数字化建模,生成三维模型;
[0049] S9:根据二维全景照片中的颜色信息,自动对三维模型进行贴图。
[0050] 进一步地,在步骤S4中,若三维信息和空间信息不同,则说明基于二维全景照片计算的空间信息有误,通过三维信息对空间信息进行校准,以三维照片的三维信息为准。
[0051] 进一步地,在步骤S4中,若三维信息和空间信息相同,则不需要通过三维信息对空间信息进行校准。
[0052] 在步骤S1中,所述的同一位置,即对所述空间来说,深度相机镜头和球幕相机镜头的距离差不会对相机位置造成影响,在预设误差范围内。优选地,如图1所示,深度相机镜头和球幕相机镜头采取背靠背方式固定在同一位置。
[0053] 此外,为实现上述目的,如图1和图2所示,本发明还提供,一种球幕相机和深度相机结合的系统,所述系统包括:球幕相机、深度相机、将球幕相机和深度相机固定在一起的移动终端、云端服务器、存储并可在所述移动终端上运行的初步定位和校准程序、存储并可在所述云端服务器上运行的三维建模程序,所述初步定位和校准程序被所述移动终端执行时实现步骤S1-S4所述的三维建模方法的步骤,所述三维建模程序被所述云端服务器执行时实现步骤S5-S9所述的三维建模方法的步骤。
[0054] 进一步地,所述球幕相机、深度相机分别与移动终端电信号连接,可传输数据信息,所述移动终端和云端服务器无线通信连接,可传输数据信息。在实际应用中,移动终端可以是手机、平板电脑,无线通信方式可以是wifi、3G、4G信号连接。
[0055] 在步骤S3中,VSLAM算法是在移动终端上基于球幕相机镜头的二维全景照片提供的二维信息进行定位,深度相机镜头拍摄的三维照片提供的三维信息可以对以上定位进行校准。三维照片的三维信息(x,y,z)在移动终端上仅是校准作用,当移动终端将二维信息和三维信息回传云端服务器后,云端服务器则会直接使用这些三维信息的坐标点(x,y,z)形成稠密点云。
[0056] 在步骤S3中,经过所述VSLAM定位后的位置信息即为初步定位的相机位置信息。需要进一步说明的是,通过VSLAM算法对移动终端所拍摄的二维全景照片提取特征点,对这些特征点进行三角化的处理,恢复出移动终端的三维空间位置(即把二维坐标转换成三维坐标)。
[0057] 具体的说,VSLAM算法的定位流程:
[0058] step1:传感器信息读取,在视觉SLAM中主要为相机图像信息的读取和预处理的操作过程,在移动终端的单目SLAM中进行的工作主要为移动终端采集的二维全景照片的操作过程;
[0059] step2:视觉里程计,又称前端,其任务是估算相邻图像间相机的运动轨迹,以及局部地图的大概轮廓和形貌,在此实施例中,移动终端的球幕相机镜头采集二维全景照片,对每一张二维全景照片提取特征点;通过多张二维全景照片之间多视觉集合原理计算出相机位置。;
[0060] step 3:后端优化,又称后端,其任务是接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对之前计算出的位置进行优化,用最小二乘法的公式优化出一整条轨迹和地图。
[0061] step4:回环检测:已经到过的场景会有特征保存,新提取的特征与之前保存的特征进行匹配,即一个相似性检测过程。对于曾经到过的场景,两者的相似值会很高,即确定曾经来过此处,并利用新的特征点对曾经的场景位置进行纠正。
[0062] step 5:建图,其任务是根据后端优化后的估计的轨迹,建立与任务要求对应的地图。
[0063] 单目的VSLAM还可进行多视觉集合管理,即可基于两帧图像之间进行三角化处理,也可基于多帧视频流进行三角化处理,将上述两者结合之后就会得到一致的轨迹,进一步对轨迹进行优化处理,数据源是移动终端拍摄得到的二维全景照片,利用移动终端的计算资源,通过VSLAM的算法得出在大场景中行走的轨迹,在二维全景照片的基础上获取空间信息。
[0064] 在步骤S5中,三维重建离线算法在本实施例中为SFM算法,经过步骤S5进一步对相机位置进行精确的定位,可以使在步骤S8中生成的三维模型更精确。以相机位置作为原点,建立相机坐标系,通过现有的相机标定程序或算法求出相机的内参矩阵。所述的特征点为SIFT特征,匹配结果往往有很多误匹配,为了排除这些错误,这里使用了一些现有算法,比如Ratio Test方法和KNN算法,寻找与该特征最匹配的2个特征,若第一个特征的匹配距离与第二个特征的匹配距离之比小于某一阈值,就接受该匹配,否则视为误匹配。得到匹配点后,就可以使用OpenCV3.0中新加入的函数findEssentialMat()来求取本征矩阵了。在拍摄过程中可有多个相机位置,得到本征矩阵后,再使用分解函数对本征矩阵进行分解,得到多个相机位置对应的球幕相机之间的变换矩阵,还有每一对匹配点的坐标。三维重建就是通过这些已知信息还原匹配点在空间当中的坐标。
[0065] 在步骤S5中,还需要重新计算相机位置信息,对相机位置进行微调,使用的是非线性优化算法Bundle Adjustment(BA):
[0066]
[0067] 上式中,其中x是需要进行微调的参数,f一般称为代价函数(Cost Function),ρ为损失函数(Loss Function)。其中f的返回值可能是一个向量,因此总的代价取该向量的2-范数。对于三维重建中的BA,代价函数一般是反向投影误差,比如需要微调的参数有相机的内参矩阵(焦距、光心、畸变等)、外参矩阵(旋转和平移)以及点云,设图像i的内参为Ki,外参矩阵为Ri和Ti,点云中某一点的坐标为Pj,该点在i图像中的像素坐标为pij,则可以写出反向投影误差:
[0068]
[0069] 上式中的Pj和 均为齐次坐标,其中π为投影函数:π(p)=(px/pz,py/pz,1)。损失函数ρ的目的是为了增强算法的鲁棒性,使得算法不易受离群点(Outliers)的影响,常见的有Huber函数、Tukey函数等。
[0070] 求解BA采用的是现有的程序,求解成功后,得到最重要的两项分别是微调前的平均反向投影误差和微调后的该值,从两者可看出反向投影误差约为3.6个像素降为1.4个像素,如果删除一些误差过大的点,再进行一次BA,反向投影误差往往能小于0.5个像素,使相机位置信息更精确。
[0071] 在步骤S6中,如图5所示,是基于深度相机得到的三维信息进而得到的稠密点云和相机位置,其中带数字的圆圈表示相机位置。三维信息即三维照片中的一些特征点的三维坐标点(x,y,z)。
[0072] 步骤S7中的ICP算法(迭代最近点及其变异算法),采用的是现有技术,假设给两个三维点集X1和X2,ICP方法的匹配步骤如下:
[0073] 第一步,计算X2中的每一个点在X1点集中的对应近点;
[0074] 第二步,求得使上述对应点对平均距离最小的刚体变换,求得平移参数和旋转参数;
[0075] 第三步,对X2使用上一步求得的平移和旋转参数,得到新的变换点集;
[0076] 第四步,如果新的变换点集与参考点集满足两点集的平均距离小于某一给定阈值,则停止迭代计算,否则新的变换点集作为新的X2继续迭代,直到达到目标函数的要求。
[0077] 需要进一步说明的是,所述步骤S8中,还可以分为步骤:
[0078] S81初步计算出所述球幕相机位置得到部分有噪音点的稠密点云,用距离和重投影的方式进行滤波滤掉噪音点;
[0079] S82对稠密点云做标记即整体点云中,并进行对应的标记;
[0080] S83以每个稠密点云为起点,以对应的球幕相机作一条虚拟直线,多个所述虚拟直线经过的空间交织在一起,形成一个可视空间;
[0081] S84将被射线包围的空间抠出来;
[0082] S85基于图论最短路径的方式做闭合空间。
[0083] 所述稠密点云为每个所述球幕相机可看见过滤之后所获得的。其中步骤S83也可理解为以每个稠密点云为起点,以对应的球幕相机作一条虚拟直线,多个所述虚拟直线经过的空间交织在一起,形成一个可视空间;
[0084] 上述过滤指的是:在确认了二维图片中某一点对应的三维坐标位置后,将这个三维坐标点重新投影到原来的二维全景照片上,再次确认是否仍是那个点。其原因是,二维全景照片的点与其在三维照片的点的位置是一一对应关系,所以在确认了二维图片中某一点的三维坐标点后,可以将这个三维坐标点重新投射回去验证二维坐标点是否仍在原来的位置,以此来决定该像素点是否为噪点,是否需要过滤。需要说明的是,在照片中确定一张来自于某个所述相机位置的最优二维全景照片。当步骤S8完成上述步骤后,即已完成数字化建模,生成了三维模型。
[0085] 当所述球幕相机在不同的相机位置都看到某一目标并捕捉到画面,选取使用其中最优的一张进行贴图。所述最优一张图为某一所述相机位置得到的二维全景照片能够得到目标的像素最多,则所述相机位置得到的二维全景照片为最优。在步骤S9中选择最优的二维全景照片进行贴图,即根据二维全景照片中的颜色信息,自动对三维模型进行贴图,二维全景照片的颜色信息,需要利用公式计算出对应的相机及其拍到的图形颜色:
[0086] V1=normalize(CameraMatrixi*V0)
[0087]
[0088]
[0089] 式中:V0为任何一个需要采样的空间点坐标(x,y,z,1),对于一个模型需要光栅化所有点;V1为V0变换到相机空间的新位置坐标,通过向量归一化变换到单位球面上;Tx和Ty为V0所对应的纹理坐标(x,y),选用坐标系为OPENGL纹理坐标系;aspecti:采样用的第i个全景图片的长宽比;CameraMatrixi:采样用的第i个全景图片的变换矩阵,将相机位置变换到原点,并重置相机面朝方向。
[0090] 实施例
[0091] 如图3所示,为步骤S5中的提取特征点示例;如图4所示,为步骤S5中的进行特征点匹配示例;如图5所示,是基于深度相机得到的三维信息进而得到的稠密点云和相机位置,其中带数字的圆圈表示相机位置。在实际应用中,比基于球幕相机得到的稀疏点云相比,更加清晰,可以建立比较精确地三维模型。在有精确的相机位置的基础上,可以根据相机位置进行贴图,因为每个球幕相机都有其所在的相机位置拍摄保留的二维全景照片的颜色信息。
[0092] 在步骤S9中,自动对三维模型进行贴图,将在空间某一位置的球幕相机拍摄到的二维全景照片贴到三维模型对应的位置上,类似于从眼睛看到一堵墙是白色,就把白色放到模型对应的墙上。这里的眼睛相当于球幕相机镜头,球幕相机在某一位置将空间中的颜色信息拍摄保存下来,在建模的时候,通过反投影将二维全景照片中的颜色信息再映射回去,建立三维模型。
[0093] 如图6所示,为步骤S9中进行后的侧视图,根据二维全景照片中的颜色信息,自动对三维模型进行贴图。如图7所示,为步骤S9中进行后的俯视图。
[0094] 对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。