一种基于立体视觉系统高精度的三维重建方法与流程

文档序号:18633568发布日期:2019-09-11 21:56阅读:553来源:国知局
一种基于立体视觉系统高精度的三维重建方法与流程

本发明涉及三维重建领域,特别涉及一种基于立体视觉系统高精度的三维重建方法。



背景技术:

三维重建经过数十年的发展,已经取得巨大的成功。基于视觉的三维重建在计算机领域是一个重要的研究内容,主要通过使用相关仪器来获取物体的二维图像数据信息,然后,再对获取的数据信息进行分析处理,最后,利用三维重建的相关理论重建出真实环境中物体表面的轮廓信息。基于视觉的三维重建具有速度快、实时性好等优点,能够广泛应用于人工智能、机器人、无人驾驶、虚拟现实和3d打印等领域,具有重要的研究价值,也是未来发展的重要研究方向。

三维重建方法分为将非接触式方法分为主动式和被动式两类,主动视觉又包括激光扫描法、结构光法、阴影法、tof技术、雷达技术、kinect技术等;被动视觉法根据摄像机数目的不同分为单目视觉法、双目视觉法和多目视觉法;根据原理(匹配方法)不同又可以分为区域视觉法、特征视觉法等;根据应用方法也可以分为运动恢复结构法和机器学习法等。

但是现有的双目视觉法操作步骤异常繁琐,导致了立体匹配的运算量过大,匹配速度较慢,最终三维重建的效果和精度都往往不尽人意。



技术实现要素:

本发明的目的是提供一种基于立体视觉系统高精度的三维重建方法,三维重建效果佳,精度较高,较传统的双目视觉法相比,操作步骤简单,精度高,匹配速度快。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种基于立体视觉系统高精度的三维重建方法,包括有以下步骤:

s1、图像采集:选取两台相同的相机,分别平行放置于目标物体的左右两侧,并同时获取同一场景中目标物体的图像;

s2、相机标定及立体校正:获取相机内外部的参数,并根据相机的内外部参数将采集的图像矫正为标准极线几何结构;

s3、图像预处理:将校正后的图像匹配至同一水平线,通过加权平均法转化为灰度图像,通过直方图均衡化使得图像的灰度分布趋向平均,并进行自动全局阈值分割,识别出物体所在区域;

s4、图像去模糊:使用去模糊单元对图像进行去模糊,去模糊单元包括小视场模糊核获取单元、全视场模糊核获取单元、非盲区卷积处理单元和盲区卷积处理单元,使用小视场模糊核获取单元对预处理后的图像进行模糊核估计处理,以获取小视场模糊核,再使用全视场模糊核获取单元将小视场模糊核获取单元获取的小视场模糊核替代为全视场图像的全视场模糊核,非盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行非盲区卷积处理,盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行盲区卷积处理;

s5、立体匹配:通过多重网络算法进行立体匹配,以极线约束与金字塔算法为基础,引进一组不同分辨率的图像,采用slic对图像进行分割,并对分割的区域应用迭代α扩张算法进行若干次迭代以获得对应的视差图;

s6、三维重建:通过双目立体视觉原理,结合相机内外参数及视差图获取物体的三维坐标图像,并获取离散点云数据,通过基于小波神经网络的曲面拟合法对离散点云数据进行深度恢复及点云平滑,得到一个隐式曲面,然后通过拟合点云误差剔除误差比较大的离散点云数据,进而重建出光滑的网格表面。

作为优选,在步骤s5中采用slic对图像进行分割,通过分割图像的每一个像素都被分配了一个表示segment编号的label,从1到最大分割块数k,对于每一个segment,在包含该segment的最小的矩形区域内,遍历所有像素,当该像素在segment内部时,以该像素为中心构建扩张区域和计算能量函数时引导滤波的滤波窗口,每个像素在建立的扩张区域内应用迭代α扩张算法进行迭代。

作为优选,步骤s5中进行迭代扩张时,初始的α由segment内部随机选择的像素当前的3d标签值确定,比较当像素视差标签取α时系统能量与像素视差标签取当前值时整个mrf系统的能量的大小,每次迭代遍历segment中的所有像素,将α向扩张区域内扩张,经过7至9次迭代,像素取得对应视差标签,从而获得视差图。

作为优选,多重网格算法包括:

a1、细网格松弛过程去除高频分量的误差;

a2、粗网格修正过程消除低频分量的误差;

a3、套迭代技术通过限制算子和延拓算子连接各层网格,将方程解的残差从细网格依次限制到粗网格,然后将解从粗网格依次延拓到细网格,遍历构成一个v形迭代路径。

作为优选,在s5中,多重网格算法通过极线约束及测量双目立体系统与目标物体之间的距离估计视差搜索范围,以左图像中的像素点为待匹配点,沿极线在右图像搜索范围中搜索匹配点,通过多重网格迭代方法计算各点的能量值,若右图像中某个点的能量值最低,则该点即为最佳匹配点,遍历整幅图像得到稠密平滑的视差图。

作为优选,在s6中,通过移动小波神经网络曲面拟合法对离散三维点云集进行深度恢复及点云平滑,其具体步骤为:

b1、点云数据的归一化;

b2、小波神经网络模型的构建,确定网络输入层、隐含层、输出层。

作为优选,所述左相机和右相机的型号均为bv6,所述左相机和右相机的表面均作镀黑锌处理。

综上所述,本发明具有以下有益效果:

通过图像预处理和去模糊处理,使得图像的进度更高,通过引入多重网格算法进行立体匹配,提高匹配速度,获取的视差图效果更佳,三维重建的效果佳,精度较高,较传统的双目视觉法相比,操作步骤简单,精度高,匹配速度快。

附图说明

图1为本发明的流程图;

图2为本发明的双目立体视觉原理图;

图3为去模糊单元处的部分功能模块框图;

图4为本发明的v形迭代路径图;

图5为极线约束搜索原理图;

图6为小波结合神经网络模型图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

本实施例公开的一种基于立体视觉系统高精度的三维重建方法,如图1所示,包括有以下步骤:

s1、图像采集:选取两台相同的相机,放置于目标物体的左右两侧,根据放置位置分别定义为左相机和右相机,将左相机和右相机平行放置,考虑到相机的分辨率,设定左相机光心与右相机光心之间的基线距离上限值为20cm,如图2所示,左相机光心与右相机光心之间的基线距离数值为b,采用左相机和右相机同时获取同一个场景中的目标物体图像,完成图像采集;

s2、相机标定及立体校正:获取相机内外部参数,内部参数包括且不限于镜头焦距f、图像中心位置(u0,v0)及镜头畸变,外部参数包括且不限于旋转矩阵r和平移向量t,将采集到的图像校正为标准极线几何结构;

s3、图像预处理:经过校正后的左右图像匹配点在同一水平线上,用于简化复杂度,然后通过加权平均法转化为灰度图像,增强图像对比度,再通过直方图均衡化使得图像的灰度分布趋向平均,加大图像的反差,改善视觉效果,达到图像增强的目的最后进行自动全局阈值分割,识别出物体所在区域;

s4、使用去模糊单元对图像进行去模糊:请参阅图3,去模糊单元包括小视场模糊核获取单元、全视场模糊核获取单元、非盲区卷积处理单元和盲区卷积处理单元,使用小视场模糊核获取单元对预处理后的图像进行模糊核估计处理,以获取小视场模糊核,再使用全视场模糊核获取单元将小视场模糊核获取单元获取的小视场模糊核替代为全视场图像的全视场模糊核,非盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行非盲区卷积处理,盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行盲区卷积处理;经过对图像进行去模糊之后可使三维重建后的模型图更加清晰。

s5、立体匹配:将多重网格算法应用于立体匹配过程,多重网格算法包括:

a1、细网格松弛过程去除高频分量的误差,细网格松弛过程可以迅速去除高频分量;

a2、粗网格修正过程消除低频分量的误差,粗网格修正过程可以消除被光滑的低频分量;

a3、套迭代技术通过限制算子和延拓算子连接各层网格,将方程解的残差从细网格依次限制到粗网格,然后将解从粗网格依次延拓到细网格,遍历构成一个v形迭代路径。

如图4所示,其中为限制算子,为延拓算子,m×n、(m/2)×(n/2)、(m/4)×(n/4)、(m/8)×(n/8)为每一级网格尺寸;迭代技术负责通过限制算子和延拓算子连接各层通过不断迭代快速精确地处理问题,该方法以极线约束与金字塔算法为基础,引进一组不同分辨率的图像,采用slic对图像进行分割,通过分割图像的每一个像素都被分配了一个表示segment编号的label,从1到最大分割块数k;对于每一个segment,在包含该segment的最小的矩形区域内,遍历所有像素,只有当该像素在segment内部时,才以该像素为中心构建扩张区域和滤波窗口,以一个segment为例,对于segment中的每个像素,以其为中心,r为半径构建扩张区域,扩张区域再往外扩大r作为计算能量函数时引导滤波的滤波窗口,每个像素在建立的扩张区域内应用迭代α扩张算法,初始的α由segment内部随机选择的像素当前的3d标签值确定,当像素视差标签取α时比较系统能量与像素视差标签取当前值时整个mrf系统的能量的大小,每次迭代遍历segment中的所有像素,将α向扩张区域内扩张,经过7-9次迭代,像素就能够取得比较理想的视差标签,从而获得视差图;多重网格算法通过极线约束及测量双目立体系统与目标物体之间的距离估计视差搜索范围,参考图5,其搜索原理为以左图像中的像素点为待匹配点,沿极线在右图像搜索范围中搜索匹配点,通过多重网格迭代方法计算各点的能量值,若右图像中某个点的能量值最低,则该点即为最佳匹配点,通过以上方法遍历整幅图像得到稠密平滑的视差图,令i1(x,y)与ir(x,y)分别为左右图像在坐标(x,y),d是坐标(x,y)处的视差值,则其能量函数被定义为:

其中gc为决定灰度值的权重因子,gd为决定灰度值梯度的权重因子,s为决定平滑项的权重子,通过细网格迭代,将残差从最细网格依次限制到粗糙的网格中,运用像素的灰度、梯度及平滑度相结合的相似度判断准则在粗网格搜索空间内寻找匹配点,得到视差值,将粗网格得到的视差值依次延拓到细网格,通过组合修正得到最终匹配点的视差值,按照以上步骤在整幅图像上进行遍历,直到得到完整连续的视差图。

s6、三维重建:利用双目立体视觉原理,通过移动神经网络曲面拟合法对离散点云数据进行深度恢复及点云平滑,其具体步骤为:

b1、由于离散点云数据是随机抽取的,若试验部分离散点云数据坐标的最大值和最小值相差很大,那么网络训练过程中坐标值大的数据的权重比较大,会导致网络收敛速度较慢或者不收敛,所以必须把点云数据归一化,公式为这样可以把数据归一化到0到1之间,然后带入训练的神将网络,训练完成后,需要反归一化处理,公式为xi=x*(xmax-xmin)-1;

b2、小波神经网络模型的构建,先确定输入输出因子,然后构建合适小波神经网络,包括结构设计和激活函数,待训练完成后如果测试误差可以接受则得出离散点云数据坐标的值。参考图2及图6,设空间点p(xw,yw,zw)在左右相机下的坐标分别为p(x1,y1,z1)和p(x2,y2,z2),空间点与左右相机成像平面交点分别为p(u1,v1)和p(ur,vr),经立体校正后点p投影点的行坐标相同,即v1=vr,左右相机投影中心连线的距离为基线b=x1-x2,根据相似三角形原理有u1=fx1/z1,ur=f(x1-b)/z1和v1=vr=fy1/z1,左图像内点列坐标与右图像内对应点列坐标之差,为对应点视差值d=u1-ur=bf/z1,故点p的三维坐标为xw=x1=bu1/d,yw=y1=bv1/d,zw=z1=bf/d,结合相机内外参数以及视差图可获得物体的三维坐标图像,进而得到离散点云数据信息,然后通过基于小波神经网络的曲面拟合法对离散点云数据进行深度恢复及点云平滑,其基本思想是利用网络训练后的离散点云数据对神经网络进行非线性的无限逼近,进而得到一个的隐式曲面,然后通过拟合点云误差剔除误差比较大的离散点云数据,进而重建出光滑的网格表面,经过上述步骤,得到三维重建后的模型图。

本发明较传统双目立体视觉的三维重建方法相比较,在图像预处理之后,使用了去模糊单元对图像进行去模糊处理,使用小视场模糊核获取单元对预处理后的图像进行模糊核估计处理,以获取小视场模糊核,再使用全视场模糊核获取单元将小视场模糊核获取单元获取的小视场模糊核替代为全视场图像的全视场模糊核,非盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行非盲区卷积处理,盲区卷积处理单元根据模糊核替代单元替代后的全视场模糊核对全视场图像进行盲区卷积处理,使得图像的精度更高,便于后期的立体匹配,在立体匹配阶段引入多重网格算法,该方法以极线约束与金字塔算法为基础,引进一组不同分辨率的图像,从而提高匹配速度,所得视差域平滑连续,在应用多重网格算法之后,采用slic对图像进行分割,之后又应用了迭代α扩张算法,经过7-9次迭代,像素就能够取得比较理想的视差标签,从而获得的视差图效果更佳,在三维重建阶段,通过神经网络的优点来拟合重建的误差,通过点云平滑,得到的三维点云平滑图效果较好,从而得效果好的三维重建模型图。

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

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