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

文档序号:9889081阅读:来源:国知局
为及的基,即中元素的数量,当新的关键帧被加入关键帧集合时,它与关 键帧集合中其他关键帧执行立体匹配,产生新的点云数据加入1琢,点云中的每一 个三维点?1记录着它的三维坐标,法线方向,像素特征。当关键帧加入关键帧集合时,它 与关键帧集合中其他关键帧进行匹配,产生点云数据;
[0038] (c)三维图Ji/和关键帧集合通过全局捆绑调整进行精细优化:
[0039]
[0040]其中为第j个三维点相对于第k个关键帧的重投影误差,Obj为Huber函数,以增 加对噪声和野点的鲁棒性,Sk为在关键帧k上可见的三维图的子集,奂和/^彳分别表示 第2个和第pr|个关键帧的相机姿态;μ为待估计的相机姿态,ρ为待估计的三维点;
[0041] (d)估计每一视频帧在场景坐标系下的相机姿态:
[0042] 相机姿态为三维空间的刚体变换,假设当前视频帧序号为i,相机姿态包括了 3X3 的旋转矩阵Ri和3X1的平移矢量ti,在李群和李代数中,用一个6维的矢量yi等价的表示相 机姿态;配准当前视频帧i与三维图,即寻找最优的相机姿态参数片,使得三维图中相对 于视频帧i的可见点集Si的重投影误差最小:
[0043]
[0044] 其中,μ为待估计的相机姿态向量,ej代表Si中第j个三维点相对于当前视频帧i的 重投影误差,Ob j为Huber函数。
[0045] 其它步骤及参数与【具体实施方式】一相同。
【具体实施方式】 [0046] 三:本实施方式与一或二不同的是:所述步骤二具体 为:
[0047] ( - )将关键帧集合中的关键帧按照和当前帧的基线大小的升序排列,并选择 前Μ帧构成一个子集,从中选择与当前帧夹角最小的关键帧子集、夂〔,假设关键帧集合中的 相机中心坐标依次是d,C2,C3 . . . Cn,当前帧的相机中心坐标为C,当前帧与第m个关键帧的 基线的计算方法是:
[0048]
[0049](二)根据基线大小,按照升序进行排序,根据距离阈值T从中选择一个关键帧子集 4丨4值定义为相邻关键帧之间距离的平均值的2倍,当前帧与关键帧之间的夹角的计算如 下:
[0050]假设当前帧的光学轴为r,某一关键帧的光学轴为^,则二者的夹角为:
[0051]
[0052] 9矢量范数;
[0053] (三)根据当前帧与关键帧子集中的关键帧逐个的计算夹角,从中选择夹角最 小的关键帧Km作为最佳关键帧用于下一步的深度估计。
[0054]其它步骤及参数与【具体实施方式】一或二相同。
[0055]【具体实施方式】四:本实施方式与【具体实施方式】一至三之一不同的是:所述步骤三 采用快速鲁棒的深度估计算法估计每一视频帧的深度信息:
[0056] (a)随机初始化:对于当前立体图像当前帧It和最佳关键帧4^,目标是估计I t上每 一像素的深度;设深度搜索范围为[dmin,dmax],对于I冲的每一个像素位置p=(x,y),随机 初始化一个深度值dP,基于对光照变化的鲁棒性,使用ZNCC的负值作为度量深度假设的成 本,对于当前帧11的像素位置p,选择一个以它为中心的w X w的窗口,对于窗口中的每一个 像素位置Pi,其深度值为dP,计算其在的对应的像素位置,并计算匹配成本;其中,所述 dmilPdmax分别为深度搜索范围中的最小深度和最大深度;
[0057] (b)如图4所示,深度传播:采用基于扫描线的传播方式,即:
[0058] (1)行扫描:逐行从左向右比较相邻像素的成本,如果(3〇8以心-1,0〈(:〇8以(1〃),则 (^ = (^-1,7,然后逐行从右向左扫描,如果(3081:((^+1,7)〈(3081:((^),则(^ = (^+1,7;其中,所 述cost(dx,y)是像素(x,y)的深度为d x,y时的图像匹配成本,cost(dx-i,y)是像素(X-1,y)的深 度为dx-b时的图像匹配成本,c 〇st(dx+1,y)是像素(x+l,y)的深度为dx+1, y时的图像匹配成 本;
[0059] (ii)列扫描:逐列从上向下比较相邻像素的成本,如果c〇st(dx,y-iKcost^y),则 (^ = (^-1;然后逐列从下向上扫描,如果(3081:((^+1)〈(3081:((^),则(^ = (^+1;其中,所 述cost(dx,y-1)是像素(X,y-1)的深度为d x,y-1时的图像匹配成本,cost(dx,y+i)是像素(x,y+ 1)的深度为dx, y+1时的图像匹配成本;
[0060]因为每一行或列的操作相对于其他行或列都是数据独立的,使用GPU并行实现,通 过上述操作,正确的深度假设会从图像像素的四邻域区域传播到当前像素;
[0061] (c)置信度调整
[0062] 为了鲁棒的估计弱纹理区域的深度,提出一种基于置信度的深度估计调整算法 (confidence-based depthadjustment)。置信度是深度假设正确性的评价指标,置信度越 高,深度假设正确的可能性就越高。算法首先提取当前高置信度的深度假设所对应的像素 位置,而后根据这些当前高置信度的深度值和像素位置预测那些当前深度假设的置信度较 低的像素点的深度值。算法的具体步骤如下:
[0063] (i)提取高置信度的深度值:使用深度假设的图像间匹配成本作为置信度的度量 指标;选择一个ZNCC阈值,选取ZNCC值大或对应的成本较小的像素位置;去掉大部分的弱纹 理区域的像素,而同时去除一部分在强纹理区域深度假设不正确的像素值;
[0064] 对于每一个候选点,进一步执行空间一致性检查操作以过滤可能存在的野点;在 以当前候选点为中心的局部窗口内(WsXWs)统计与当前候选点的深度假设小于某一阈值Td 的像素的数量;如果满足以上条件的像素数量大于T。,则将当前候选点及其深度值作为地 面控制点,最终,通过以上步骤记录一组高置信度的点和其深度值作为GCPs;
[0065] 通过这一阈值操作,去掉大部分的弱纹理区域的像素,而同时去除一部分在强纹 理区域深度假设不正确的像素值;在实际中,ZNCC的阈值设置为0.5,并将ZNCC大于0.5的深 度值和对应的像素位置作为候选点。在实验中, Ws设置为5,Td设置为11,而T。设置为6;最终, 通过以上步骤可以记录一组高置信度的点和其深度值作为GCPs;过于密集的GPCs会影响后 续基于GCPs的深度预测步骤的效率,并且可能包含噪声,出于效率和对噪声鲁棒的考虑,以 上提取GCPs的操作,仅在输入图像中每隔5个像素的位置执行,即对原始输入图像进行4大 5 小的降采样;
[0066] (ii)基于GCPs的深度预测:使用一组GCPs和所对应的深度值预测周边临近区域的 深度值;采用一组分段线性函数,在GCPs上基于计算Delaunay三角化实现GCPs周围临近区 域的深度值插值,对于一个GCPs点有如下的平面方程π的约束:其中,所述区域为 ZNCC阈值小于0.5的区域;
[0067]
[0068] 其中i是三角形的索引,SGCPs点的深度值,ai,bi和Ci为平面方程 的系数,对于每一个三角形,包含3个GCPs,获得三个类似的等式,因此平面参数(a^b^d) 通过求解线性系统得出;对于图像中某一像素位置(xn,yn),如果位于三角形i的投影范围 内,则其经由GCPs预测的深度值
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1