首页> 中国专利> 基于消费级摄像头的鲁棒实时三维重建方法

基于消费级摄像头的鲁棒实时三维重建方法

摘要

基于消费级摄像头的鲁棒实时三维重建方法,本发明涉及基于消费级摄像头的鲁棒实时三维重建方法。本发明是要解决现有方法计算成本高,重建的模型不精确并且不完整的问题。一、在摄像头移动的过程中,基于摄像头当前的视频帧作为输入,估计每一视频帧在场景坐标系下的相机姿态:二、在视频帧中选择最佳的关键帧用于深度估计;三、采用快速鲁棒的深度估计算法估计每一视频帧的深度信息得到每一视频帧的深度图:四、将每一视频帧的深度图转换为截断符号距离场,在体素上并行地执行TSDF的加权平均,增量地融合每一视频帧的深度图,并通过Marching?cubes算法构建三角网格表面。本发明应用于图像处理领域。

著录项

  • 公开/公告号CN105654492A

    专利类型发明专利

  • 公开/公告日2016-06-08

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN201511029299.4

  • 发明设计人 王宽全;李兆歆;左旺孟;张磊;

    申请日2015-12-30

  • 分类号G06T7/00(20060101);G06T17/30(20060101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人杨立超

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2023-12-18 15:46:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-07

    授权

    授权

  • 2016-07-06

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20151230

    实质审查的生效

  • 2016-06-08

    公开

    公开

说明书

技术领域

本发明涉及基于消费级摄像头的鲁棒实时三维重建方法。

背景技术

随着手机,数码相机的普及,获取高质量的图像越来越便捷,一个迫切的需求是利 用这些图片数据重建我们所生活的三维世界,包括:物体、场景甚至整个环境。已有的基 于图像的三维重建方法,所采用的工业相机设备价格昂贵,且计算成本较高,对于一个小 场景的重建一般需要一台高性能计算机几个小时的处理时间。然而,传感器噪声,遮挡和 光照变化经常导致三维重建任务失败,这些问题仅通过观察图像往往难以预测。由于这些 问题,花费几个小时重建的模型往往是不精确的,不完整的,且包含瑕疵。在很多场合, 几乎不可能重新返回待重建场景重新捕获图像数据。即便可以对待重建场景反复的拍摄和 重建,造成的计算负担和工作量仍然是巨大的。因此,期望有一个重建方法能够在拍摄过 程中就实时的反馈重建结果的质量,并帮助用户评估重建质量,规划可提高重建精度和完 整度的相机移动轨迹。

发明内容

本发明是要解决现有方法计算成本高,重建的模型不精确并且不完整的问题,而提供 了基于消费级摄像头的鲁棒实时三维重建方法。

基于消费级摄像头的鲁棒实时三维重建方法,按以下步骤实现:

一、在摄像头移动的过程中,基于摄像头当前的视频帧作为输入,估计每一视频帧在 场景坐标系下的相机姿态:

二、在视频帧中选择最佳的关键帧用于深度估计;

三、采用快速鲁棒的深度估计算法估计每一视频帧的深度信息得到每一视频帧的深度 图:

四、将每一视频帧的深度图转化为截断符号距离场,并在体素上增量的融合,最后输 出三角网格表面,即完成了基于消费级摄像头的鲁棒实时三维重建方法。

发明效果:

本发明技术方案提出一个实时、低成本的三维重建方法,可以实时地且高质量地重建 并可视化真实场景。如图1所示,提出的方法使用低成本消费级摄像头的视频作为输入, 如网络摄像头或是手机摄像头。由于这些消费级摄像头广泛用于日常生活,方法实际上可 允许重建相当广泛的场景。三维重建的模型可以直接用于增强现实,3D打印,计算机游 戏等应用,如图2。在实验中,使用一枚视频分辨率为640×360的网络摄像头,帧率为 30Hz。算法在一台配置为CPUi7,32GRAM,显卡NVIDIATitianblack,6G显存的台 式电脑上运行。深度融合中体素的解析度为256×256×256。算法平均运行速度是每秒5 帧。研究内容主要包括了视频帧相机姿态的实时估计,基于置信度的鲁棒深度估计算,以 及基于GPU的深度融合。虽然基于消费级摄像头的实时三维重建非常有价值,提出的方 法需要解决几个挑战问题:首先,相机在每一个视频帧中的姿态是未知的;第二,消费级 相机的成像质量比工业级相机要低很多;第三,弱纹理或无纹理区域广泛存在,这些区域 的三维重建的质量和可靠性较差,比如人脸重建。本发明有效解决上述难题。

(1)通过随机策略初始化深度搜索范围,深度估计算法具有尺度可扩展性;

(2)提出的深度估计算法对于弱纹理区域比较鲁棒。算法为每一个深度估计一个置 信度值,并基于高置信度区域构建一个分段线性模型用于预测弱纹理区域的深度。

(3)大多数重建方法使用稀疏采样的关键帧进行重建,提出的专利使用视频的每一 帧进行模型的估计,充分的利用了视频图像的冗余信息,能够生成更稠密的重建,以及处 理遮挡问题。

(4)在深度融合阶段,我们采用了基于GPU和体网格的融合,可以高效的抑制噪声 并重建复杂的场景结构。通过对体数据进行可视化,可以实时可视化重建过程。

附图说明

图1是提出的实时三维重建方法的概述图;

图2是提出的重建方法在3D打印上的应用实例图;

图3是提出的单目相机三维重建的算法流程图;

图4是深度传播示意图;

图5是基于置信度的深度调整;

图6是截断符号距离场的图示;

图7单目实时三维重建方法对静态场景三维重建结果图;其中,第一列和第三列是输 入的视频的某一帧,第二列和第四列是可视化的三维重建结果;

图8是提出的单目相机三维重建方法对人脸的重建结果以及与LSD-SLAM算法的对 比图;其中,第一行,从左到右:输入视频的一帧,基于图像间直接匹配的LSD-SLAM 算法估计的深度图,基于随机初始化和成本传播生成的深度图,以及使用置信度调整后的 深度图;

第二行,从左到右:基于图像间直接匹配的LSD-SLAM的稀疏点云重建结果,不使 用基于置信度的深度调整的稠密重建结果,使用所提出的基于置信度的深度调整的稠密重 建结果;

图9是提出的单目相机三维重建方法对人脸的重建结果以及与LSD-SLAM算法的对 比图;其中,第一行,从左到右:输入视频的一帧,基于图像间直接匹配的LSD-SLAM 算法估计的深度图,基于随机初始化和成本传播生成的深度图,以及使用置信度调整后的 深度图;

第二行,从左到右:基于图像间直接匹配的LSD-SLAM的稀疏点云重建结果,不使 用基于置信度的深度调整的稠密重建结果,使用所提出的基于置信度的深度调整的稠密重 建结果;

图10是提出的单目相机三维重建方法对人脸的重建结果以及与LSD-SLAM算法的对 比图;第一行,从左到右:输入视频的一帧,基于图像间直接匹配的LSD-SLAM算法估 计的深度图,基于随机初始化和成本传播生成的深度图,以及使用置信度调整后的深度图;

第二行,从左到右:基于图像间直接匹配的LSD-SLAM的稀疏点云重建结果,不使 用基于置信度的深度调整的稠密重建结果,使用所提出的基于置信度的深度调整的稠密重 建结果。

具体实施方式

具体实施方式一:结合图1~图10说明本实施方式,本实施方式的基于消费级摄像头 的鲁棒实时三维重建方法,按以下步骤实现:

一、在摄像头移动的过程中,基于摄像头当前的视频帧作为输入,估计每一视频帧在 场景坐标系下的相机姿态:

二、在视频帧中选择最佳的关键帧用于深度估计;

三、采用快速鲁棒的深度估计算法估计每一视频帧的深度信息得到每一视频帧的深度 图:

四、将每一视频帧的深度图转化为截断符号距离场,并在体素上增量的融合,最终初 始三角网格表面,即完成了基于消费级摄像头的鲁棒实时三维重建方法。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一具体为:

(a)构建一组关键帧集合

在摄像头移动的过程中,依据时间距离和空间距离阈值从视频帧中选取关键帧k,每 一个关键帧对应一个估计的相机姿态,所有关键帧构成关键帧集合

(b)构建三维图

三维图中包含点云数据其中pi为点云数据中的某一三维点, 为的基,即中元素的数量,当新的关键帧被加入关键帧集合时,它与关键 帧集合中其他关键帧执行立体匹配,产生新的点云数据加入点云中的每一个 三维点pi记录着它的三维坐标,法线方向,像素特征。当关键帧加入关键帧集合时,它 与关键帧集合中其他关键帧进行匹配,产生点云数据;

(c)三维图和关键帧集合通过全局捆绑调整进行精细优化:

其中ejk为第j个三维点相对于第k个关键帧的重投影误差,Obj为Huber函数,以增加对噪声 和野点的鲁棒性,Sk为在关键帧k上可见的三维图的子集,和分别表示第2个和 第个关键帧的相机姿态;μ为待估计的相机姿态,p为待估计的三维点;

(d)估计每一视频帧在场景坐标系下的相机姿态:

相机姿态为三维空间的刚体变换,假设当前视频帧序号为i,相机姿态包括了3×3的旋转 矩阵Ri和3×1的平移矢量ti,在李群和李代数中,用一个6维的矢量μi等价的表示相机姿态; 配准当前视频帧i与三维图即寻找最优的相机姿态参数使得三维图中相对于视频 帧i的可见点集Si的重投影误差最小:

μ^i=arg>minμΣjSiObj(ej)

其中,μ为待估计的相机姿态向量,ej代表Si中第j个三维点相对于当前视频帧i的重投影误 差,Obj为Huber函数。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二具体为:

(一)将关键帧集合中的关键帧按照和当前帧的基线大小的升序排列,并选择前 M帧构成一个子集,从中选择与当前帧夹角最小的关键帧子集假设关键帧集合中的 相机中心坐标依次是c1,c2,c3...cn,当前帧的相机中心坐标为c,当前帧与第m个关键帧的 基线的计算方法是:

Dm=(c-cm)2;

(二)根据基线大小,按照升序进行排序,根据距离阈值T从中选择一个关键帧子 集T值定义为相邻关键帧之间距离的平均值的2倍,当前帧与关键帧之间的夹角的 计算如下:

假设当前帧的光学轴为r,某一关键帧的光学轴为rm,则二者的夹角为:

arccos(r·rm|r||rm|)

其中i为点积操作,||为矢量范数;

(三)根据当前帧与关键帧子集中的关键帧逐个的计算夹角,从中选择夹角最小 的关键帧Km作为最佳关键帧用于下一步的深度估计。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三采用 快速鲁棒的深度估计算法估计每一视频帧的深度信息:

(a)随机初始化:对于当前立体图像当前帧It和最佳关键帧目标是估计It上每一像 素的深度;设深度搜索范围为[dmin,dmax],对于It中的每一个像素位置p=(x,y),随机初始 化一个深度值dp,基于对光照变化的鲁棒性,使用ZNCC的负值作为度量深度假设的成本, 对于当前帧It的像素位置p,选择一个以它为中心的w×w的窗口,对于窗口中的每一个像 素位置其深度值为dp,计算其在的对应的像素位置,并计算匹配成本;其中,所述dmin和dmax分别为深度搜索范围中的最小深度和最大深度;

(b)如图4所示,深度传播:采用基于扫描线的传播方式,即:

(i)行扫描:逐行从左向右比较相邻像素的成本,如果cost(dx-1,y)<cost(dx,y),则 dx,y=dx-1,y,然后逐行从右向左扫描,如果cost(dx+1,y)<cost(dx,y),则dx,y=dx+1,y;其中, 所述cost(dx,y)是像素(x,y)的深度为dx,y时的图像匹配成本,cost(dx-1,y)是像素(x-1,y) 的深度为dx-1,y时的图像匹配成本,cost(dx+1,y)是像素(x+1,y)的深度为dx+1,y时的图像匹配 成本;

(ii)列扫描:逐列从上向下比较相邻像素的成本,如果cost(dx,y-1)<cost(dx,y),则 dx,y=dx,y-1;然后逐列从下向上扫描,如果cost(dx,y+1)<cost(dx,y),则dx,y=dx,y+1;其中, 所述cost(dx,y-1)是像素(x,y-1)的深度为dx,y-1时的图像匹配成本,cost(dx,y+1)是像素(x,y+1) 的深度为dx,y+1时的图像匹配成本;

因为每一行或列的操作相对于其他行或列都是数据独立的,使用GPU并行实现,通过 上述操作,正确的深度假设会从图像像素的四邻域区域传播到当前像素;

(c)置信度调整

为了鲁棒的估计弱纹理区域的深度,提出一种基于置信度的深度估计调整算法 (confidence-baseddepthadjustment)。置信度是深度假设正确性的评价指标,置信度越高, 深度假设正确的可能性就越高。算法首先提取当前高置信度的深度假设所对应的像素位置, 而后根据这些当前高置信度的深度值和像素位置预测那些当前深度假设的置信度较低的像 素点的深度值。算法的具体步骤如下:

(i)提取高置信度的深度值:使用深度假设的图像间匹配成本作为置信度的度量指标; 选择一个ZNCC阈值,选取ZNCC值大或对应的成本较小的像素位置;去掉大部分的弱纹理 区域的像素,而同时去除一部分在强纹理区域深度假设不正确的像素值;

对于每一个候选点,进一步执行空间一致性检查操作以过滤可能存在的野点;在以当 前候选点为中心的局部窗口内(ws×ws)统计与当前候选点的深度假设小于某一阈值Td的 像素的数量;如果满足以上条件的像素数量大于Tc,则将当前候选点及其深度值作为地面 控制点,最终,通过以上步骤记录一组高置信度的点和其深度值作为GCPs;

通过这一阈值操作,去掉大部分的弱纹理区域的像素,而同时去除一部分在强纹理区 域深度假设不正确的像素值;在实际中,ZNCC的阈值设置为0.5,并将ZNCC大于0.5的深 度值和对应的像素位置作为候选点。在实验中,ws设置为5,Td设置为11,而Tc设置为6; 最终,通过以上步骤可以记录一组高置信度的点和其深度值作为GCPs;过于密集的GPCs 会影响后续基于GCPs的深度预测步骤的效率,并且可能包含噪声,出于效率和对噪声鲁棒 的考虑,以上提取GCPs的操作,仅在输入图像中每隔5个像素的位置执行,即对原始输入 图像进行大小的降采样;

(ii)基于GCPs的深度预测:使用一组GCPs和所对应的深度值预测周边临近区域的深 度值;采用一组分段线性函数,在GCPs上基于计算Delaunay三角化实现GCPs周围临近区域 的深度值插值,对于一个GCPs点有如下的平面方程π的约束:其中,所述区域 为ZNCC阈值小于0.5的区域;

dxgj,ygj=aixgj+biygj+ci

其中i是三角形的索引,为GCPs点的深度值,ai,bi和ci为平面方程的系 数,对于每一个三角形,包含3个GCPs,获得三个类似的等式,因此平面参数(ai,bi,ci)通过 求解线性系统得出;对于图像中某一像素位置(xn,yn),如果位于三角形i的投影范围内, 则其经由GCPs预测的深度值为:

dxn,yngi=aixn+biyn+ci

为像素位置(xn,yn)经由GCPs的预测的深度值,通过以上的操作,将GCPs的可靠深度 值分段线性的插值到周围的区域,从而获得对弱纹理区域更平滑可靠的预测;

通过以上的操作,将GCPs的可靠深度值分段线性的插值到周围的区域,从而获得对弱 纹理区域更平滑可靠的预测,如图5所示。方法的优势在于可在非均匀的区域进行插值;选 取的GCPs不能保证是彼此等距离的网格点,通过Delaunay三角化,不同区域间三角形的大 小可以是不一样的,保证了在强纹理区域会有更多的GCPs,构建的三角形较密集且面积较 小,通过插值保证了局部的细节恢复,而位于弱纹理区域GCPs点的数量较少,构建的三角 形较稀疏且面积较大,通过插值可以产生局部较平滑的结果。

图5中虚线链接的像素点为GCPs,结合其深度信息构建空间的三角面Pgi。图像中某一像素位置(xn, yn)如恰好位于GCPs所构成的三角形i的投影范围内,则(xn,yn)经由GCPs预测的深度值为其在三角面Pgi上的投影

(d)后处理:经由置信度调整处理后,系统包含一些不连续的小块,根据邻域深度的一 致性将深度图聚成一些连通分量,去除那些像素数目小于150的连通分量。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四基于 TSDF和体素的深度在线增量融合,每一视频帧的深度图转化为截断符号距离场(Truncated signeddistancefield,TSDF):

(一)如图6所示,待重建的物体表面位于解析度为Nx×Ny×Nz的包围盒中,其中Nx, Ny和Nz分别为X,Y和Z方向的体素的解析度,视线为从相机中心出发穿过像素的射线; 从体素中心到表面的符号距离定义在视线上,且增加一个权值因子1/δ并截断至区间 [-1,1],δ控制相关的近表面区域的宽度,反映了在z-axis方向对深度值期望的不确定性;

(二)假设在时间t,获得深度图Dt,将深度图Dt转换为在逐帧的深度融合的过程中,期望获得在包围盒的体素上的一个平滑的符号距离场u,使 得u=0为估计的模型表面,u<0位于模型表面内侧,u>0位于模型表面外侧,对于每一 个体素x,获得如下的增量更新:

ut(x)=wt-1(x)ut-1(x)+wDt(x)fDt(x)wt-1(x)+wDt(x)wt(x)=wt-1(x)+wDt(x)

其中,wt是t时刻的TSDF的权重,与表面的不确定性成正比,wt-1是t-1时刻的权重, 是t时刻的权重增量,ut-1是t-1时刻时的符号距离场u,(x)代表在体素x位置,权重 增量在实际中设置为为深度图Dt对应的TSDF;融合过程可独立的在每一 个体素x上执行,因此使用GPU进行并行处理,融合过程可独立的在每一个体素x上执 行,因此使用GPU进行并行处理。

其它步骤及参数与具体实施方式一至四之一相同。

实施例:

本发明对于若纹理物体的重建特别有效,比如人脸的重建,与LSD-SLAM算法 (EngelJ,Sch¨opsT,CremersD.LSD-SLAM:Large-ScaleDirectMonocularSLAM[C]//Proc. EuropeanConf.Comput.Vis.Zurich,Switzerland:Springer,2014:834–849)的对比实验列在 图7-10中,在这些图中,强调了所提出的深度估计算法的有效性。

使用提出的方法在apples,pear,boot,dinosaur,earphone和Mario&house上的运行 结果如图7所示。从apples,pear和dinosaur的重建效果可以看出,算法可以有效的恢复 表面的形状,同时有效的去除噪声,从boot的重建结果可以看出,鞋子上的细微的表面 特征也可以有效的恢复。earphone场景包含一个由弱纹理覆盖的耳机,提出的基于置信 度的深度调整算法可以较好的重建耳机的形状。Mario&house场景包含一个Mario模型, 一个房屋微缩模型和一个苹果。其中Mario模型和苹果的纹理较弱,而房屋模型的纹理较 丰富,从重建结果可以看出,本文基于置信度的深度调整算法,在弱纹理区域可以有效的 平滑噪声,产生光滑的重建效果,而同时,对于强纹理区域,也可以有效的保留表面的边 缘特征。相比于其它的数据集,人脸数据集包含大量的弱纹理区域。LSD-SLAM算法在 估计相机位置的同时,也可以输出一组半稠密的点云数据,对一位志愿者的人脸重建如图 8所示。这些点云数据依赖于表面的纹理信息,对于展示三维物体,特别是包含大量弱纹 理区域的人脸,仍然过于稀疏且包含较多的噪声。本文使用LSD-SLAM算法估计相机姿 态后执行基于随机初始化和深度传播的深度估计,产生稠密的深度图,然后从中选择高置 信度的像素位置构成GCPs,并使用分段线性插值重新调整弱纹理区域的深度。可以看出, 提出的深度调整算法可以有效的抑制由于弱纹理导致的噪声和空洞现象。对另外两个志愿 者的人脸重建结果,分别如图9和10所示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号