APP下载

基于双目视觉的齿轮曲面重构

2018-12-11唐昀超黄矿裕陈明猷

现代农业装备 2018年5期
关键词:立体匹配双目曲面

唐昀超,黄矿裕,陈明猷

(1.仲恺农业工程学院,广州 510225;2.华南农业大学,广州 510642)

0 引言

传统的产品开发过程无法用统一且严密的数学模型来描述复杂的曲面,设计者很难构造出既能满足产品的功能要求又能吸引消费者注意的具有复杂曲面的产品外观[1]。因此,传统的产品开发方式已逐渐满足不了新的市场需求。曲面重构技术作为一种产品设计技术再现过程,能够获取已有产品的复杂外形,便于设计者在此基础上制作出功能相近,但又不完全一样的产品。通过激光扫描仪、结构光源转换仪或者立体视觉等3D扫描技术获取物体的表面数据,再进一步生成具有拓扑结构信息的网格或CAD模型。

目前,国内外学者对三维重构技术做了大量研究。Hugues等提出了一种用于无序点云曲面重构的算法[2],首先确定每个点的切平面并保证切平面的全局方向一致,然后通过估计符号距离函数确定零等值面,该等值面即为重构的曲面,该方法能够平滑地拟合出目标大致的曲面模型。Jules等提出一种基于先验模型的曲面重构算法[3],通过事先建立目标的先验模型,然后与未遮挡的点云进行泊松曲面重构而成的曲面模型进行融合,解决了在遮挡情况下封闭点云的曲面重构问题,因为该方法是基于先验模型对曲面的孔洞区域进行填补,所以不适用于具有复杂曲面的模型。曹诗卉等人提出一种利用凸最小化泊松曲面改进的重建算法[4],能够处理通过非均匀采样或者有噪声的有序点云,得到光顺的曲面。赖喜德等提出了水轮机叶片曲面重构的技术[5],采用基于NURBS的曲面重构方法,为具有自由曲面特征的叶片类部件提供了曲面重构流程。孙智慧等提出基于点云数据的植物叶片曲面重构方法[6],该方法首先对点云数据进行精简,然后采用Delaunay三角剖分方法生成初始网格曲面,再对网格曲面进行优化处理。基于上述研究,本文将以齿轮作目标,利用双目视觉从多个视角获取图像,生成目标的三维点云数据,并对点云进行去噪、配准和平滑处理,最终反求齿轮的三维曲面模型。

1 试验装置

本文以齿轮作为研究对象,搭建了如图1所示的工作台,以获取齿轮各个方位的表面轮廓。该工作台由双目相机、支架、旋转台和工件组成。其中双目相机为维视工业相机,型号为MV-EM200C,分辨率为1 600×1 200。支架由导轨搭建而成,高度可调。旋转台台面为白色,方便图像处理阶段分割出齿轮区域,旋转台转速由PC端控制。双目相机之间平行排布,基线距离为60 mm,2台相机均通过网口线与计算机进行通讯。相机位于旋转台中心左上方,以便获取齿轮圆周部分的表面数据,相机与旋转台之间的距离约为400 mm。每获取完一个视角下的图像数据,控制旋转台就旋转一定角度(约为60 )继续获取图像,直至旋转一周,然后翻转齿轮再获取一次图像,以便获取齿轮背面的表面数据。

图1 试验装置图

2 三维点云的获取

2.1 图像矫正

因相机镜头存在畸变,致使采集图像失真,影响到测量精度,需通过单目标定来矫正失真的图像。双目相机存在着极线对齐的问题,需要利用立体标定解决,通过约束极线对齐,可降低立体匹配复杂度。本文通过张正友标定法完成相机标定并获得矫正参数[7]。图2显示的是矫正后的齿轮图像。

图2 矫正图像

2.2 图像预处理

图像预处理阶段包括了灰度化、截取ROI(感兴趣区域)、高斯滤波与阈值分割四个部分。为了减少计算量,截取齿轮所在的部位作为ROI进行后续图像处理。为了进一步减少计算量,使用加权灰度化方法将所得的三通道ROI转化成灰度图像,如式(1):

式中 (i,j)表示像素点的位置,R、G和B表示红、绿和蓝三种颜色分量的值。

采集图像的过程中存在着噪声,因此利用高斯滤波对图像进行平滑。高斯滤波使用高斯卷积核遍历图像,并在卷积核所在的窗口对像素值进行卷积操作,最后把卷积结果赋给锚点,从而完成滤波操作。若采用的卷积核大小为(2k+1)×(2k+1),则该核上第i行,第j列的值为:

由于目标周围的背景大致为白色,为了在立体匹配过程中减少匹配计算量,将左图像的背景变为黑色,这样左右图像的背景部分由于差异太大将无法匹配。首先采用最大类间方差法进行阈值分割[8],再根据式(3)将左图的白色背景部分变为黑色。最终处理效果如图3所示。

图3 图像处理效果图

2.3 图像重构

该阶段包括立体匹配和获取三维点云两个部分,首先通过立体匹配得到左右图像中匹配点的视差,再利用三角测量原理计算得到三维点的坐标,从而获取三维点云。立体匹配采用SGBM算法,该算法包含了匹配代价计算、匹配代价聚合、视差的优化计算和视差精化四个步骤[9]。通过立体匹配,得到如图4所示的视差图,再由式(4)获取三维点云。

图4 视差图

图5 初始三维点云

3 曲面的获取

3.1 点云去噪

得到的初始三维点云,不可避免地会出现噪点,如图5所示。若处理不当,会直接影响最终曲面重构的效果。为了获取较好的去噪效果,本文采用直通滤波、半径滤波、体素栅格滤波和统计滤波五种滤波方法进行组合去噪。直通滤波算法是通过设定坐标范围来过滤点云,能够快速粗略地去除离群点,达到粗处理的目的[10]。半径滤波算法以搜索点为中心拓展出半径为R的球体,统计落在球体内的点云个数,当个数小于给定的阈值K时,则判断该搜索点为离群点并删除。体素栅格滤波算法是根据点云形成三维体素栅格,然后利用每个体素栅格中所有三维点的重心来近似代替体素栅格内所有的三维点,通过这样的采样方式来得到滤波的效果。统计滤波算法是利用对搜索点与邻域点集之间的距离统计来判断该点是否为噪点。滤波后的点云如图6所示。

图6 滤波效果图

3.2 点云配准与光滑

上述所获取的点云只是在一个相机视角下得到的,无法描述完整物体表面,因此,需要在多个视角下获取物体不同位置的表面,然后进行配准,拼接出完整的目标。本文将使用ICP(迭代最近点)算法对点云进行配准。ICP是基于自由形态曲面的配准算法[11],由于具有较高的准确度和效率,是点云配准的主流算法。配准的效果如图7所示。

图7 配准效果图

配准而成的点云不可避免的存在大量的不规则重叠,若直接进行曲面重建,得到的曲面将会不光滑,呈锯齿状。为了得到光顺的表面,采用移动最小二乘法对点云进行平滑化处理[12,13]。最终平滑后的效果如图8所示。

图8 平滑效果图

3.3 曲面重构

经上述步骤处理后的数据仍是离散点云,缺乏拓扑关系,因此本文采用贪婪投影三角化算法对点云数据进行曲面重构。该方法将三维数据点按法线方向投影到平面,然后对平面上的点作平面三角化,得到各点之间的连接关系。三角化过程采用的是基于Delaunay的三角化算法[14],先在平面上进行区域生长,通过选择一个三角片作为初始曲面,不断地拓展边界,最后形成一张完整的曲面。

具体过程为:①找出任意P点的k邻域,当邻域足够小的时候,曲面具有局平性,邻域内的所有三维数据点和P点在过P点的切平面上必定存在与它们一一对应的唯一投影点;②求出过P点的切平面以及邻域内所有点和P点在该切平面上的投影点。③对投影点进行平面三角剖分。最终曲面重构的结果如图9所示。

图9 曲面重构效果图

4 结论

本文提出一种基于双目视觉的齿轮曲面重构算法。首先分别对不同视角下的齿轮双目图像进行处理,包括矫正图像、阈值分割和立体匹配等步骤,完成图像重构获得初始三维点云。然后对三维点云进行组合滤波去噪,达到去除噪点和精简点云数据量的目的。之后将多片点云进行配准,拼接成完整的齿轮点云模型,然后利用移动最小二乘法进行平滑,去除重叠的点云数据,最终采用贪婪三角化算法将点云转换成带有拓扑关系的曲面模型。上述算法能够较好地重构出目标的曲面模型,但仍存在着不足。重构得到的曲面模型不具备水密性,对于点云数据缺失部分,对应的曲面模型也存在孔洞。针对这一问题,在后续研究中将结合泊松曲面算法进行完善,得到封闭光滑的曲面模型。

猜你喜欢

立体匹配双目曲面
基于双目测距的卡尔曼滤波船舶轨迹跟踪
相交移动超曲面的亚纯映射的唯一性
圆环上的覆盖曲面不等式及其应用
影像立体匹配中的凸优化理论研究
基于互补不变特征的倾斜影像高精度立体匹配
改进导向滤波器立体匹配算法
基于曲面展开的自由曲面网格划分
基于双目视觉图像的长度测量方法
确定有限多个曲面实交集的拓扑
一种基于图像分割的立体匹配算法