700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python双目视觉三维重建代码_双目立体视觉的三维重建方法与流程

python双目视觉三维重建代码_双目立体视觉的三维重建方法与流程

时间:2020-01-29 02:05:18

相关推荐

python双目视觉三维重建代码_双目立体视觉的三维重建方法与流程

本发明为双目立体视觉的三维重建方法,属于图像处理与机器视觉领域,涉及halcon软件,具体涉及空间场景的三维重建。

背景技术:

三维重建技术作为计算机视觉领域的一个重要分支,在人工智能、虚拟现实、非接触无损检测等方面起着重要的作用。获取物体表面三维数据的方法有:一、利用建模软件进行重建。该方法可以构造出物体的精细结构,但是这些软件操作复杂,自动化程度低,建模周期长,需要大量的人力物力,在对不规则物体重建时真实感不高;二、利用激光设备、深度扫描仪等进行三维重建。该方法能够获得比较精确的三维数据,并且简单方便,建模周期短,但其设备比较昂贵,携带不方便;三、利用视频或图像来进行三维重建。该方法具有成本低、效率高、灵活性强、所需设备简单等特点,适合各种三维物体的重建。因此,基于图像或视频的重建方法无疑具有很高的使用价值。人类视觉能够把图像信息转换成立体信息,从而达到对客观真实世界在三维空间上的认知。在众多基于图像或视频进行三维场景重建的方法中,立体视觉的研究目标就是通过模仿人类的视觉机理,使机器人具有通过多幅图像认知周围环境信息的能力,这种能力不仅可以使机器人对客观三维场景中物体的几何信息、外形、位置、运动形态等进行感知,并且能够完成对这些信息的保存、描述、归纳与识别。

技术实现要素:

本发明为了重建现实场景中的三维模型,提供了一种基于双目立体视觉的三维重建方法,该系统包括图像采集模块、摄像机标定模块、图像预处理模块、立体校正模块、立体匹配模块、点云重建及模型重建模块;具体检测方法步骤为:

A、图像采集;B、摄像机标定;C、立体校正;D、图像预处理;E、立体匹配;F、点云重建及模型重建。

所述的图像采集模块的功能为:根据物体的尺寸,调整相机的位置及两个相机的距离与角度,拍摄物体不同角度的两幅图像,完成图像的实时采集。摄像机标定模块的功能为:以张正友标定法为基础对相机进行标定,建立摄像机图像像素坐标与场景点三维坐标之间的关系,根据摄像机模型,由标定板己知特征点的图像坐标和世界坐标求解摄像机的内外参数。立体校正模块的功能为:采用相交光轴结构的视觉系统,通过极线约束将图像校正为标准的外极线几何结构,使两图像的对应点在同一条极线上,缩小匹配搜索空间。图像预处理模块的功能为:将采集的电信号转化为数字图像信息,在计算机内实现存储、处理。图像处理软件采用德国MVtec公司开发的具有标准的机器视觉算法包、拥有应用广泛的机器视觉集成开发环境的HALCON软件。立体匹配模块的功能为:通过基于多重网格的立体匹配算法找到空间中一点在两幅图像投影中的对应点,获取得到整幅图像的稠密视差图。点云重建及模型重建模块的功能为:通过双目立体视觉的深度信息恢复原理获取物体的深度信息,计算空间点的三维坐标,得到空间三维点云,并对三维点云进行平滑滤波,最后进行三角剖分。

前面所述系统中,优选方案为,所述步骤A用到的设备有两个CCD摄像机、设备支架和计算机;两个CCD摄像机是采用相交光轴的结构形式固定在设备支架上,采集不同角度的物体图像对,通过总线接口将图像传输到计算机进行处理;所述摄像机的相机和镜头分别选用MV-VS120 CCD彩色高清工业相机和M-1614MP2工业镜头。

前面所述系统中,优选方案为,所述步骤B选用30×30mm,图像阵列为7×7,黑色圆点半径为0.9375mm,圆点中心距离为3.75mm的圆心陈列型平面标定模板,以张正友标定法为基础,具体步骤如下所示:

B1、采集多幅标定板图像,通过阈值分割找到标定板的内部区域;

B2、通过亚像素边缘提取方法得到标定板各个圆点的边缘,通过最小二乘圆拟合获取圆点的圆心坐标,确定圆心坐标与它们在图像中投影之间的对应关系以及标定板与摄像机之间大致的位置关系,即摄像机的外参初始值;

B3、调用Halcon库函数来确定两个摄像机的内参数、外参数以及两个摄像机之间的相对位置关系;最后,通过多次测量取平均值来确定相关参数信息。

前面所述系统中,优选方案为,所述步骤C通过极线约束进行立体校正,使两幅图像中的对应点在同一条水平极线上,并获取校正后相机参数。

前面所述系统中,优选方案为,所述步骤D具体步骤如下:

D1、把采集的彩色图像对通过加权平均法转化为灰度图像;

D2、全局阈值分割,获取图像中感兴趣的区域;

D3、进行直方图均衡化操作处理,使得图像的灰度分布趋向平均,图像所占有的像素灰度间距拉开,加大图像的反差,达到图像增强的目的。

前面所述系统中,优选方案为,所述步骤E具体步骤如下:

E1、通过极线约束及测量相机与目标物体的距离估计出的视差搜索空间,从而减少匹配的搜索范围;

E2、通过多重网格技术引进粗网格系列加速偏微分方程的收敛,提高匹配速度;

E3、通过细网格迭代,将残差从最细网格依次限制到粗糙的网格中,运用像素的灰度、梯度及平滑度相结合的相似度判断准则在粗网格搜索空间内寻找匹配点,得到视差值;

E4、将粗网格得到的视差值依次延拓到细网格,通过修正组合得到最终匹配点的视差值;

E5、按照以上步骤在整幅图像上进行遍历,直到得到完整连续的视差图。

前面所述系统中,优选方案为,所述步骤F具体步骤如下:

F1、通过双目立体系统深度恢复原理,获取图像每个点的三维空间坐标,得到三维点云;

F2、对空间点云进行基于移动最小二乘法的平滑滤波,获取平滑后的三维点云;

F3、对平滑后的三维点云进行基于贪婪算法的三角剖分,并立体显示。

与现有技术相比,本发明的优点在于:

1、本发明采用基于多重网格的密集型立体匹配算法。通过极线约束及测量相机与目标物体的距离估计出的视差搜索空间,从而减少匹配的搜索范围;通过多重网格技术引进粗网格系列加速偏微分方程的收敛,提高匹配速度,该方法首先通过细网格迭代,将残差从最细网格依次限制到粗糙的网格中,运用像素的灰度、梯度及平滑度相结合的相似度判断准则在粗网格搜索空间内寻找匹配点,然后依次延拓到细网格,通过修正组合得到最终匹配点的视差值,避免了对灰度值的过度依赖,并且可以通过平滑度估计未找到对应点的点的视差,所得视差域平滑连续;

2、本发明通过移动最小二乘拟合法对点云进行平滑滤波。通过采用局部高阶多项式为散乱点云提供一个逼近或插值曲面,然后通过迭代投影方法将分布在逼近曲面周围的点移至到曲面上来消除噪声,有效解决了分段拟合不能局部化处理的缺点,极大地提高了拟合曲面的连续性和光滑性;

3、本发明采用贪婪算法对平滑后的三维点云进行三角剖分。首先通过半径邻域搜索算法搜索符合条件的邻近点,并将邻域点投影到切平面上,使用贪婪算法进行局部二维三角剖分,然后将二维三角剖分点映射回空间中,形成空间三角网格,该方法思想简单,易于实现。

附图说明

图1为本发明的硬件连接图。

图2为本发明重建方法流程图。

图3为本发明得到的视差图。

图4为本发明平滑后的三维点云图。

图5为本发明得到的三角剖分图。

图6为本发明得到的模型图。

具体实施方式

下面结合实施例和实验例详细说明本发明的技术方案,但保护范围不限于此。

实施例

一种基于双目立体视觉的三维重建方法以及实现这种方法的图像处理系统,从而实现现实场景的重建。

图像处理系统结构图包含图像采集模块、摄像机标定模块、立体校正模块、图像处理模块、立体匹配模块以及点云重建及模型重建模块。

图1为本发明的系统结构图,其包括:

通过两个CCD相机拍摄两幅物体不同角度的图像;

通过摄像机总线接口将获取的图像传输到计算机进行处理;

图像处理单元为安装在计算机内部的halcon软件,用于将采集的图像进行灰度化、自动阈值分割、直方图均衡化、基于多重网格的立体匹配、基于移动最小二乘法的点云平滑以及基于贪婪算法的三角剖分等处理,进而获得物体的立体显示图;

图2为本发明的图像处理流程图,该方案包括如下步骤:

A、图像采集,具体步骤:两个CCD摄像机是采用相交光轴的结构形式固定在设备支架上,通过采集不同角度的物体图像对,通过总线接口传输到计算机进行处理;所述摄像机的相机和镜头分别选用维视图像MV-VS120 CCD彩色高清晰工业相机和M-1614MP2工业镜头;

B、摄像机标定,具体步骤如下所示:

B1、采集多幅标定板图像,通过阈值分割找到标定板的内部区域;

B2、通过亚像素边缘提取方法得到标定板各个圆点的边缘,通过最小二乘圆拟合获取圆点的圆心坐标,确定圆心坐标与它们在图像中投影之间的对应关系以及标定板与摄像机之间大致的位置关系,即摄像机的外参初始值;

B3、调用Halcon库函数来确定两个摄像机的内参数、外参数以及两个摄像机之间的相对位置关系;最后,通过多次测量取平均值来确定相关参数信息;

C、立体校正将图像校正为标准极线几何结构,并得到校正后的相机参数;

D、图像处理,具体步骤如下所示:

D1、把采集的彩色图像对通过加权平均法转化为灰度图像;

D2、进行直方图均衡化操作处理,使得图像的灰度分布趋向平均,图像所占有的像素灰度间距拉开,加大图像的反差,达到图像增强的目的;

D3、全局阈值分割,获取图像中感兴趣的区域;

E、基于多重网格的立体匹配,具体步骤如下所示:

E1、通过极线约束及测量相机与目标物体的距离估计出的视差搜索空间,从而减少匹配的搜索范围;

E2、通过多重网格技术引进粗网格系列加速偏微分方程的收敛,提高匹配速度;其基本思想是引进一种粗网格系列加速细网格修正量的传播,并通过套迭代过程反复求解,以得到快速消除低频误差,提高结果的准确性。多重网格方法包括细网格松弛、粗网格校正和套迭代技术过程,细网格松弛过程可以迅速去除高频分量,而粗网格修正过程可以消除被光滑的低频分量,套迭代技术负责通过限制算子和延拓算子连接各层通过不断迭代快速精确地处理问题;

E3、通过细网格迭代,将残差从最细网格依次限制到粗糙的网格中,运用像素的灰度、梯度及平滑度相结合的相似度判断准则在粗网格搜索空间内寻找匹配点,得到视差值;

E4、将粗网格得到的视差值依次延拓到细网格,通过组合修正得到最终匹配点的视差值;

E5、按照以上步骤在整幅图像上进行遍历,直到得到完整连续的视差图,如图3所示;

F、点云重建及模型重建,具体步骤如下所示:

F1、通过双目立体系统深度恢复原理,获取图像每个点的三维空间坐标,得到三维点云;

F2、对空间点云进行基于移动最小二乘法的平滑滤波,获取平滑后的三维点云。其基本思想通过采用局部高阶多项式为离散点云提供一个逼近曲面,然后采用迭代投影的方式将分布在逼近曲面周围的点移至到曲面上来,达到光滑点云表面的目的,通过拟合函数计算得到光滑后的三维坐标,获得平滑后的三维点云图,如图4所示;

F3、对平滑后的三维点云进行基于贪婪算法的三角剖分,该算法思想简单,易于实现,一旦被写入将不会被删除,这样使得算法的内存利用率较高。首先通过半径邻域搜索算法在以某空间点为中心半径为r的球内搜索符合条件的邻近点;将中心点以及它的邻域点投影到切平面上,使用基于三角形生长法的贪婪算法进行局部二维三角剖分;然后将二维三角剖分点映射回空间中,形成一张空间三角网格,继续对空间中其他点进行上述操作,直到形成一张完整的曲面,如图5所示,并立体显示,如图6所示。

应当指出的是,具体实施方式只是本发明比较有代表性的例子,显然本发明的技术方案不限于上述实施例,还可以有很多变形。本领域的普通技术人员,以本发明所明确公开的或根据文件的书面描述毫无异议的得到的,均应认为是本专利所要保护的范围。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。