一种基于视频的三维立体点集恢复方法与流程

文档序号:20033913发布日期:2020-02-28 10:49阅读:450来源:国知局
一种基于视频的三维立体点集恢复方法与流程

本发明属于计算机图形学和虚拟现实相结合的交叉学科技术领域,涉及一种基于视频的三维立体点集恢复方法。



背景技术:

三维立体恢复技术在诸多领域扮演极为重要角色,直接影响基于图像的三维视觉广泛应用。虽3d扫描仪获取的点云能直观有效反映场景或物体深度信息及物体空间位置关系,但3d设备造价昂贵且采集过程繁琐,而双目相机存在左右参数不一致对复杂纹理适用性差问题,此外现有单目图像深度恢复方法都对图像质量有较高依赖,如通过单目相机拍摄的图片序列进行立体匹配来恢复任意三维场景点云信息,这将会有着非常明显的实用价值。

目前立体匹配算法分为局部和全局立体匹配。局部立体匹配包括区域立体匹配、基于特征立体匹配、基于相位立体匹配三类。区域立体匹配需选择窗口大小,将像素点及窗口范围内相邻像素点信息作为基元进行匹配,所获视差图为稠密视差图。基于特征匹配是对特征点进行匹配求取特征点视差,所获视差图为稀疏视差图。基于相位立体匹配计算相位信息,寻找局部相位相等对应点计算视差,所获视差图为稠密视差图。全局立体匹配包括图割法、信念传播法、动态规划法三类,三者均需要构建能量函数,将视差计算转化为能量最小化求解问题,然后采用不同策略进行最优化求解,所得视差图均为稠密视差图。局部立体匹配针对局部信息计算,在计算效率上有一定优势,但信息量相对较少在面对遮挡、视差不连续等情况很难有较好匹配效果;全局立体匹配弥补此缺陷,但仍存在视差缺失问题,且大量迭代计算导致算法复杂度较高。此外,无论局部还是全局立体匹配,现有方法都对参数要求较高,需不断调整参数重复大量实验才可获取较为理想匹配效果。



技术实现要素:

本发明的目的是提供一种基于视频的三维立体点集恢复方法,解决了现有技术中存在的因遮挡、视差不连续导致的视差缺失,而引起的匹配效果不好的问题。

本发明所采用的技术方案是,一种基于视频的三维立体点集恢复方法,具体按照如下步骤实施:

步骤1,使用单目相机采集视频数据,并进行两帧图像特征点的计算和匹配,计算叠加比例,实现图形帧自动获取,并进行相机内参标定;

步骤2,计算两帧图像在同一坐标系间变换关系,分解变换矩阵获得旋转矩阵和平移向量,并根据极线约束关系对两帧图像进行平行校正,使得两帧图像对应的像素点处于同一高度上;

步骤3,对经步骤2处理的两帧图像采用自适应方式根据图像纹理不同计算最合适的窗口大小,采用动态规划算法在8个方向上寻找最小代价匹配路径,获取初始视差图;

步骤4,对步骤3获取的初始视差图,采用基于融合的插值优化方法进行优化;

步骤5,结合三角相似性原理,在步骤4优化的视差图基础上对目标场景进行三维点云恢复,获取目标场景的深度。

本发明的特征还在于,

步骤1具体为:

步骤1.1,使用单目相机在空间上匀速移动进行视频数据采集;

步骤1.2,针对步骤1.1获取的视频数据,选取surf算子求取图像特征点,两帧图像特征点分别存在集合aset{a0,a1,a2......}和bset{b0,b1,b2......}中,获取surf特征点后,基于k近邻的双向匹配方式进行特征点匹配,寻找两图像上对应点,得到特征点匹配对;

步骤1.3,计算水平方向重叠比例d/w,对步骤1.2匹配的每对特征点计算d,叠加比例选取出现频率最高的d进行计算,其中,d为aset和bset中对应特征点两两对齐在水平方向上移动的长度,w表示图像宽度;

步骤1.4,依据步骤1.3获得的重叠比例进行图像帧自动截取;

步骤1.5,采用张正友标定法计算相机参数,获得相机内参数矩阵k。

步骤1.2具体为:

设置阈值t,迭代计算a0与bset中每一点的欧氏距离,其中,欧氏距离用cos&表示,以o为原点的空间坐标系中,两向量间的夹角记为cos&,记录欧式距离最小点与第二小点的欧式距离min1、min2,如min1/min2<t,则直接将最小点作为a0特征点的对应点;

如此逐一在bset中匹配aset中各个特征点的对应点;

匹配完后采用双向匹配进行验证,即以同样方法对bset中特征点寻找aset中对应点,如结果一致,则确认此两点为一对匹配点,否则删除该对匹配点。

步骤1.4具体为:

对采取视频的每一帧图像按顺序编号,基准帧标记为0,依次标记记为1、2、3…n,随机选取一帧,若所选取图像帧的水平方向重叠比例d/w>p,则下次选择第2m个帧进行水平方向重叠比例的计算以及选择第m/2个帧进行水平方向重叠比例的计算,以此类推,直到d/w最接近于p,记录该帧编号x,此时基准帧和第x帧为筛选结果,然后再以第x帧为基准帧以同样方式寻找下一帧,直到最后一帧n则结束,从而实现图形帧自动获取;

其中,m<30<n,p为依据实验设置重叠面积比例,m/2进行取整。

步骤2具体为:

步骤2.1,计算本质矩阵e,具体为:

对步骤1.2获取的特征点匹配对,根据对极几何关系建立式(1),

x'tfx=0(1)

其中,x与x'为任意一对相互的匹配特征点,x,y分别是x的两个坐标值,x′和y′分别是x'的两个坐标值,f为基础矩阵,带入匹配点式(1)形成式(2),

展开得出式(3),

x'xf11+x'yf12+x'f13+y'xf21+yy'f22+y'f23+xf31+yf32+f33=0(3)

采用八点法选8对特征点建立式(3)联立方程求解基础矩阵,再计算本质矩阵e:

e=ktfk(4);

步骤2.2,采用基于svd奇异值分解方式,对步骤2.1获得的本质矩阵进行分解,得到两帧图像间的旋转矩阵r和平移向量t,具体为:

假设m*n矩阵e,则e描述为式(5),

e=uσvt(5)

其中,u为m*m正交矩阵,v为n*n正交矩阵,σ=diag(σ1,σ2,.....,σr,.......σn)为m*n对角阵,r为矩阵e的秩,对角线上的元素值按照递减顺序排列即σ1≥σ2.....≥σr,σr后元素都为0,对于矩阵e假设存在一组正交基{ν1,ν2,......,νn}使得映射后任意两个元素正交,即式(6),

eνi.eνj=(eνi)t.eνj=νitet.eνj=0(6)

其中,i=1、2、3…n,j=1、2、3…n,i≠j,由于正交基存在,νitνj=νiνj=0,ete为对称矩阵,当作为ete特征向量时,其中,ν为ν1,ν2,......,νn中任意一个,ν也存在任意两元素间都满足正交的关系,即式(7),

νitet.eνj=νitλjνj=λjνiνj=0(7)

其中,λ为特征向量v对应的特征值,对于矩阵e存在式(8),

eνi.eνi=λi(8)

联立式(6)、(7),并取向量的单位向量,得出式(9)、(10),

其中,ui是e的左奇异向量,νi为e的右奇异向量,σi为e的奇异值;

利用矩阵分块相乘方式对本征矩阵完成分解,将e转换成r与t相乘形式,即式(11)、(12)、(13);

之后完成拆分,分别获取两帧图片之间的旋转矩阵r与平移向量t;

步骤2.3,图像校正,具体为:

首先,将步骤2.2获取的r拆为r1、r2,使左右图像根据旋转矩阵各旋转一半,

其次,根据平移向量t构造变换矩阵ta,使得图像平面与基线平行;

构造e1使左极线与图像不存在极点,即图像与基线不存在交点或交点无穷远,

由极线约束模型知e2与右帧图像所在相机光轴正交,且与e1垂直,则通过e1与主光轴方向的叉积并归一化获得e2

构造e3,e3与e1、e2都存在正交关系,即e3=e1×e2;

变换矩阵ta为:

最后,将式(15)中r1、r2分别与式(17)获得的变换矩阵ta相乘,获取左右两帧图像旋转程度ra1、ra2,并依据左右两帧图像旋转程度ra1、ra2对两帧图像进行旋转校正;

步骤3具体为:

步骤3.1,计算图像梯度,具体为:

步骤3.1.1,采用sobel算子在水平方向对经步骤2处理的图像每个像素点进行处理,

其中,p为图像中某一像素点,x、y为p的横、纵坐标;

步骤3.1.2,引入常数参数α,据式(19)将经过水平sobel算子处理后的图像上每个像素点映射成一个新的图像,pnew表示新图像上的像素点:

即得到图像的梯度信息;

步骤3.2,计算图像灰度,具体为:

按照按照3:6:1权重将图像的rgb三个颜色值转换为黑白图,具体为:

gray=r×0.3+g×0.6+b×0.1(21)

其中,r、g、b分别为图像中某像素点三个颜色值,gray为该像素点转换后的灰度值;

步骤3.3,梯度代价计算和基于灰度的sad代价计算,具体为:

首先,在图像上选取大小n×n窗口记作d,使用birch等提出的采样方法计算窗口内图像梯度代价cbt:

cbt(xi,yi,il,ir)=max(0,il(xi-imax),imin-il(xi))(22)

其中,i表示灰度值,左帧图像中心点xi,左右相邻点xi-1,xi+1,右帧图像中心点yi,左右相邻点yi-1,yi+1,imin=ir-,imax=ir(yi),il(xi)是左帧中心点xi的灰度值,ir-指右帧中心点左相邻点yi-1的灰度值,ir(yi)是右帧中心点yi的灰度值;

其次,计算左右帧图像窗口中所有对应像素之差的绝对值之和,即窗口内像素的sad代价:

csad(u,v,d)=σ(i,j)∈d(u,v)|l(i,j)-r(i,j+d)|(23)

其中,l(i,j)为左帧图像中像素灰度值,r(i,j+d)为右帧图像中像素灰度值,公式整体计算左右窗口的灰度和的差值;

步骤3.4,利用图像标准差自适应计算最佳匹配窗口,具体为:

首先,设置初始窗口d大小n×n,将图像按d大小分割成s个局部区域,计算每个局部区域图像的标准差δ(i,j):

其中,p为局部区域;δ(i,j)是以像素(i,j)为中心的局部区域标准差;dx,dy为局部区域大小;

其次,引入标准差阈值δt,统计δ(i,j)>δt的像素个数记作max,δ(i,j)<δt的像素个数记作min,引入阈值k作为纹理强弱的参考:

当min/max≥k,则图像整体纹理信息弱,需增大匹配窗口,此时增大为(n+2)×(n+2),迭代步骤3.4.1和步骤3.4.2;窗口最大设置为m×m,如n≤m则继续迭代运算,否则选取m×m为匹配窗口大小;

当min/max<k则直接选择当前窗口大小为匹配窗口大小;

步骤3.5,采用动态规划算法寻找最小代价匹配路径,获取初始视差图,具体为:

对像素p,在水平、垂直、对角线共8个方向进行代价累积计算,a是8个方向中的某一个方向,则p的a方向上代价聚合值la(p,dp)为:

其中,p-a表示像素点p在邻域a方向上的逐单位地递推像素,d表示图像视差;c(p,dp)为像素p的匹配代价,la(p-a,dp)为像素p邻域a方向上像素点p-a的当前视差代价聚合值,la(p-a,dp-1)为p-a与当前视差差值相减为1的代价聚合值加p1,la(p-a,dp-1)为p-a与当前视差差值相减为-1的代价聚合值,la(p-a,i)为p-a与当前视差差值大于1的最小代价聚合值,是为防止最终结果过大导致溢出而减去该方向上前一像素的最小代价;

将像素p邻域内各个方向上的代价聚合值分别进行计算并统计代价和s(p,dp),计算得到的累计代价最小时的视差即为该像素点的初始视差图。

步骤4具体为:

步骤4.1,在初始基准帧前后选取两帧图像,依照步骤1-3进行处理并完成校正,获取各自视差图m、n,以m为参照,对n进行补充,即对n中像素逐个判断,如某像素位置上存在视差值则不做改变,如无视差值则选m中特征点的对应点的视差值作为n在该位置上的视差值,若m、n此像素均无视差则不予处理;

步骤4.2,采用步骤4.1的方式,对视差图逐行检测得出无视差区域a,标记出a左右两边边界视差值的边界点p(x1,y)和p1(x2,y),o((x1+x2)/2,y)是pp1中点,对a中任意点q(x,y)的视差值:

视差是两帧图像重叠区域,所以视差图最左边没有视差,因此将检测的无视差区域右边界的视差值作为参考进行填充,获得完整的视差图;

步骤4.3,采用高斯滤波对步骤4.2获取的视差图进行滤波处理,消除存在的噪点,达到优化目的获取最终视差图。

步骤5具体为:

步骤5.1,世界坐标系中某点成像过程表示为:

其中xc、yc、zc表示相机坐标系3个轴坐标,u、v表示图像坐标系下某一坐标点,u0、v0表示图像坐标系中心点坐标,xw、zw、zw是描述世界坐标系中的三维坐标,r、t是世界坐标系到相机坐标系的平移、旋转关系,为:

将式(28)带入(27)中可得:

步骤5.2,根据(29)推导出图像中某像素点(u,v)在世界坐标系中所对应的三维坐(xw,yw,zw)为:

步骤5.3,建立一坐标系,根据校正后的彩色图像中任意一像素及该像素在视差图中对应视差值计算得到该像素点在世界坐标系中的三维坐标,迭代计算图像中每个像素点的三维坐标,并在同一坐标系下表示,从而获取场景图像的三维点云信息。

本发明的有益效果是:本发明是一种基于视频的三维立体点集恢复方法,在半全局立体匹配算法基础上自适应获取匹配窗口大小计算图像视差,解决手动选取参数问题,而对遮挡、视差不连续导致的视差缺失问题,本发明基于融合插值思想根据视差图前后帧的视差信息对缺失部分进行补充完善,较为真实的反映场景的视差信息,匹配效果好。

附图说明

图1是本发明一种基于视频的三维立体点集恢复方法中欧式距离计算示意图;

图2是本发明一种基于视频的三维立体点集恢复方法中双向特征点匹配效果图;

图3是本发明一种基于视频的三维立体点集恢复方法中截取的图像帧序列效果图;

图4是本发明一种基于视频的三维立体点集恢复方法中图形校正效果图;

图5是本发明一种基于视频的三维立体点集恢复方法中是cbt的定义和计算示意图;

图6是本发明一种基于视频的三维立体点集恢复方法中依据标准差自适应选取最佳窗口大小效果图;

图7是本发明一种基于视频的三维立体点集恢复方法中融合后的视差图;

图8是本发明一种基于视频的三维立体点集恢复方法中左端无视差区域图;

图9是本发明一种基于视频的三维立体点集恢复方法中的最终视差图;

图10是本发明一种基于视频的三维立体点集恢复方法中三维立体点集恢复视图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种基于视频的三维立体点集恢复方法,具体按照如下步骤实施:

步骤1,使用单目相机采集视频数据,并进行两帧图像特征点的计算和匹配,计算叠加比例,实现图形帧自动获取,并进行相机内参标定;具体为:

步骤1.1,使用单目相机在空间上匀速移动进行视频数据采集;

步骤1.2,针对步骤1.1获取的视频数据,选取surf算子求取图像特征点,两帧图像特征点分别存在集合aset{a0,a1,a2......}和bset{b0,b1,b2......}中,获取surf特征点后,基于k近邻的双向匹配方式进行特征点匹配,寻找两图像上对应点,得到特征点匹配对,具体为:

图1中dis(a,b)表示欧氏距离,两向量之间欧式距离通常指向量方向上的差别,用两向量间夹角cos&表示;设置阈值t,迭代计算a0与bset中每一点的欧氏距离,以o为原点的空间坐标系中,两向量间的夹角记为cos&,记录欧式距离最小点与第二小点的欧式距离min1、min2,如min1/min2<t,则直接将最小点作为a0特征点的对应点;

如此逐一在bset中匹配aset中各个特征点的对应点;

匹配完后采用双向匹配进行验证,即以同样方法对bset中特征点寻找aset中对应点,如结果一致,则确认此两点为一对匹配点,否则删除该对匹配点,匹配效果如图2所示,a是基于k近邻的特征点匹配效果图,b是基于k近邻的双向特征点匹配效果图;

步骤1.3,计算水平方向重叠比例d/w,对步骤1.2匹配的每对特征点计算d,叠加比例选取出现频率最高的d进行计算,其中,d为aset和bset中对应特征点两两对齐在水平方向上移动的长度,w表示图像宽度;

步骤1.4,依据步骤1.3获得的重叠比例进行图像帧自动截取,具体为:

对采取视频的每一帧图像按顺序编号,基准帧标记为0,依次标记记为1、2、3…n,随机选取一帧,若所选取图像帧的水平方向重叠比例d/w>p,则下次选择第2m个帧进行水平方向重叠比例的计算以及选择第m/2个帧进行水平方向重叠比例的计算,以此类推,直到d/w最接近于p,记录该帧编号x,此时基准帧和第x帧为筛选结果,然后再以第x帧为基准帧以同样方式寻找下一帧,直到最后一帧n则结束,从而实现图形帧自动获取,图像帧自动截取效果如图3所示;

其中,m<30<n,p为依据实验设置重叠面积比例,m/2进行取整,p为0.8;

步骤1.5,采用张正友标定法计算相机参数,获得相机内参数矩阵k;

步骤2,计算两帧图像在同一坐标系间变换关系,分解变换矩阵获得旋转矩阵和平移向量,并根据极线约束关系对两帧图像进行平行校正,使得两帧图像对应的像素点处于同一高度上,具体为:

步骤2.1,计算本质矩阵e,具体为:

对步骤1.2获取的特征点匹配对,根据对极几何关系建立式(1),

x'tfx=0(1)

其中,x与x'为任意一对相互的匹配特征点,x,y分别是x的两个坐标值,x′和y′分别是x'的两个坐标值,f为基础矩阵,带入匹配点式(1)形成式(2),

展开得出式(3),

x'xf11+x'yf12+x'f13+y'xf21+yy'f22+y'f23+xf31+yf32+f33=0(3)

采用八点法选8对特征点建立式(3)联立方程求解基础矩阵,再计算本质矩阵e:

e=ktfk(4);

步骤2.2,采用基于svd奇异值分解方式,对步骤2.1获得的本质矩阵进行分解,得到两帧图像间的旋转矩阵r和平移向量t,具体为:

假设m*n矩阵e,则e描述为式(5),

e=uσvt(5)

其中,u为m*m正交矩阵,v为n*n正交矩阵,∑=diag(σ1,σ2,.....,σr,.......σn)为m*n对角阵,r为矩阵e的秩,对角线上的元素值按照递减顺序排列即σ1≥σ2.....≥σr,σr后元素都为0,对于矩阵e假设存在一组正交基{ν1,ν2,......,νn}使得映射后任意两个元素正交,即式(6),

eνi.eνj=(eνi)t.eνj=νitet.eνj=0(6)

其中,i=1、2、3…n,j=1、2、3…n,i≠j,由于正交基存在,νitνj=νiνj=0,ete为对称矩阵,当作为ete特征向量时,其中,ν为ν1,ν2,......,νn中任意一个,ν也存在任意两元素间都满足正交的关系,即式(7),

νitet.eνj=νitλjνj=λjνiνj=0(7)

其中,λ为特征向量v对应的特征值,对于矩阵e存在式(8),

eνi.eνi=λi(8)

联立式(6)、(7),并取向量的单位向量,得出式(9)、(10),

其中,ui是e的左奇异向量,νi为e的右奇异向量,σi为e的奇异值;

利用矩阵分块相乘方式对本征矩阵完成分解,将e转换成r与t相乘形式,即式(11)、(12)、(13);

之后完成拆分,分别获取两帧图片之间的旋转矩阵r与平移向量t;

步骤2.3,图像校正,具体为:

首先,将步骤2.2获取的r拆为r1、r2,使左右图像根据旋转矩阵各旋转一半,

其次,根据平移向量t构造变换矩阵ta,使得图像平面与基线平行;

构造e1使左极线与图像不存在极点,即图像与基线不存在交点或交点无穷远,

由极线约束模型知e2与右帧图像所在相机光轴正交,且与e1垂直,则通过e1与主光轴方向的叉积并归一化获得e2

构造e3,e3与e1、e2都存在正交关系,即e3=e1×e2;

变换矩阵ta为:

最后,将式(15)中r1、r2分别与式(17)获得的变换矩阵ta相乘,获取左右两帧图像旋转程度ra1、ra2,并依据左右两帧图像旋转程度ra1、ra2对两帧图像进行旋转校正,校正效果图如图4所示,a是校正前的原始图,b是校正后的效果图;

步骤3,对经步骤2处理的两帧图像采用自适应方式根据图像纹理不同计算最合适的窗口大小,采用动态规划算法在8个方向上寻找最小代价匹配路径,获取初始视差图;具体为:

步骤3.1,计算图像梯度,具体为:

步骤3.1.1,采用sobel算子在水平方向对经步骤2处理的图像每个像素点进行处理,

其中,p为图像中某一像素点,x、y为p的横、纵坐标;

步骤3.1.2,引入常数参数α,据式(19)将经过水平sobel算子处理后的图像上每个像素点映射成一个新的图像,pnew表示新图像上的像素点:

即得到图像的梯度信息;

步骤3.2,计算图像灰度,具体为:

按照按照3:6:1权重将图像的rgb三个颜色值转换为黑白图,具体为:

gray=r×0.3+g×0.6+b×0.1(21)

其中,r、g、b分别为图像中某像素点三个颜色值,gray为该像素点转换后的灰度值;

步骤3.3,梯度代价计算和基于灰度的sad代价计算,具体为:

首先,如图5所示,在图像上选取大小n×n窗口记作d,使用birch等提出的采样方法计算窗口内图像梯度代价cbt:

cbt(xi,yi,il,ir)=max(0,il(xi-imax),imin-il(xi))(22)

其中,i表示灰度值,左帧图像中心点xi,左右相邻点xi-1,xi+1,右帧图像中心点yi,左右相邻点yi-1,yi+1,imin=ir-,imax=ir(yi),il(xi)是左帧中心点xi的灰度值,ir-指右帧中心点左相邻点yi-1的灰度值,ir(yi)是右帧中心点yi的灰度值;

其次,计算左右帧图像窗口中所有对应像素之差的绝对值之和,即窗口内像素的sad代价:

csad(u,v,d)=∑(i,j)∈d(u,v)|l(i,j)-r(i,j+d)|(23)

其中,l(i,j)为左帧图像中像素灰度值,r(i,j+d)为右帧图像中像素灰度值,公式整体计算左右窗口的灰度和的差值;

步骤3.4,利用图像标准差自适应计算最佳匹配窗口,具体为:

首先,设置初始窗口d大小n×n,将图像按d大小分割成s个局部区域,计算每个局部区域图像的标准差δ(i,j):

其中,p为局部区域;δ(i,j)是以像素(i,j)为中心的局部区域标准差;dx,dy为局部区域大小;

其次,引入标准差阈值δt,统计δ(i,j)>δt的像素个数记作max,δ(i,j)<δt的像素个数记作min,引入阈值k作为纹理强弱的参考:

当min/max≥k,则图像整体纹理信息弱,需增大匹配窗口,此时增大为(n+2)×(n+2),迭代步骤3.4.1和步骤3.4.2;窗口最大设置为m×m,如n≤m则继续迭代运算,否则选取m×m为匹配窗口大小;

当min/max<k则直接选择当前窗口大小为匹配窗口大小;

步骤3.5,采用动态规划算法寻找最小代价匹配路径,获取初始视差图,本发明采用middlebury视觉库中aloe(1)原始图像,实验效果图为图6所示,a是middlebury提供的实验数据aloe(1)原图,b是匹配后的视差图,具体为:

对像素p,在水平、垂直、对角线共8个方向进行代价累积计算,a是8个方向中的某一个方向,则p的a方向上代价聚合值la(p,dp)为:

其中,p-a表示像素点p在邻域a方向上的逐单位地递推像素,d表示图像视差;c(p,dp)为像素p的匹配代价,la(p-a,dp)为像素p邻域a方向上像素点p-a的当前视差代价聚合值,la(p-a,dp-1)为p-a与当前视差差值相减为1的代价聚合值加p1,la(p-a,dp-1)为p-a与当前视差差值相减为-1的代价聚合值,la(p-a,i)为p-a与当前视差差值大于1的最小代价聚合值,是为防止最终结果过大导致溢出而减去该方向上前一像素的最小代价;

将像素p邻域内各个方向上的代价聚合值分别进行计算并统计代价和s(p,dp),计算得到的累计代价最小时的视差即为该像素点的初始视差图;

步骤4,对步骤3获取的初始视差图,采用基于融合的插值优化方法进行优化;具体为:

步骤4.1,在初始基准帧前后选取两帧图像,依照步骤1-3进行处理并完成校正,获取各自视差图m、n,以m为参照,对n进行补充,即对n中像素逐个判断,如某像素位置上存在视差值则不做改变,如无视差值则选m中特征点的对应点的视差值作为n在该位置上的视差值,若m、n此像素均无视差则不予处理,融合后的左视差图如图7所示,a是左右两视差图,b是融合后的左视差图;

步骤4.2,采用步骤4.1的方式,对视差图逐行检测得出无视差区域a,标记出a左右两边边界视差值的边界点p(x1,y)和p1(x2,y),o((x1+x2)/2,y)是pp1中点,对a中任意点q(x,y)的视差值:

视差是两帧图像重叠区域,所以视差图最左边没有视差,如图8所示,因此将检测的无视差区域右边界的视差值作为参考进行填充,获得完整的视差图;

步骤4.3,采用高斯滤波对步骤4.2获取的视差图进行滤波处理,消除存在的噪点,达到优化目的获取最终视差图,如图9所示;

步骤5,结合三角相似性原理,在步骤4优化的视差图基础上对目标场景进行三维点云恢复,获取目标场景的深度,具体为:

步骤5.1,世界坐标系中某点成像过程表示为:

其中xc、yc、zc表示相机坐标系3个轴坐标,u、v表示图像坐标系下某一坐标点,u0、v0表示图像坐标系中心点坐标,xw、zw、zw是描述世界坐标系中的三维坐标,r、t是世界坐标系到相机坐标系的平移、旋转关系,为:

将式(28)带入(27)中可得:

步骤5.2,根据(29)推导出图像中某像素点(u,v)在世界坐标系中所对应的三维坐(xw,yw,zw)为:

步骤5.3,建立一坐标系,根据校正后的彩色图像中任意一像素及该像素在视差图中对应视差值计算得到该像素点在世界坐标系中的三维坐标,迭代计算图像中每个像素点的三维坐标,并在同一坐标系下表示,从而获取场景图像的三维点云信息,最终三维立体点集恢复效果如图10所示,a是三维立体点集恢复的正视图,b是三维立体点集恢复的侧视图。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1