基于机器视觉的三维测量装置的开发
2019-07-12葛桂萍徐永安范聪聪梁艳玲
葛桂萍, 徐永安, 范聪聪, 梁艳玲
(扬州大学 信息工程学院, 江苏 扬州 225127)
光学测量技术具有测量速度快、非接触、无损伤、自动化程度高、便于携带等优点,在产品设计和工业检测领域得到了广泛的应用,自20世纪70年代以来一直是国内外科研人员研究的热点[1-5]。基于光栅投影的三维测量技术是光学测量技术的主流[6-9],德国GOM公司的ATOS三维测量系统是该类测量设备的代表。但是国外进口设备价格昂贵,制约了中小企业的推广应用。本文基于双目视觉测量原理,设计、开发了一种简单、实用的三维测量装置。
1 双目机器视觉测量原理
基于光栅投影的测量技术是用计算机生成一系列光栅条纹,通过投影仪将光栅条纹投射到被测量物体的表面,然后采用工业CCD摄像机采集物体表面的光栅条纹图像,依据图像空间与物空间的对应关系,将条纹图像的边界换算为物体表面的三维坐标。图1是双目视觉测量原理示意图。
图1 双目视觉测量原理示意图
对于物体表面上的一个点P(x,y,z),在左右摄像机像平面上对应的像点分别为P1(u1,v1)和P2(u2,v2),实际测量过程中需要由像点P1和P2计算物点P的三维坐标,具体步骤包括:(1)对于左摄像机像平面上的像点P1,在右摄像机像平面上找到与其对应的像点P2;(2)计算像点P1和P2对应的射线L1和L2;(3)理论上L1和L2的交点为P,实际计算过程中存在误差,L1和L2为空间上交叉,合理求交才能减小测量误差。
2 三维视觉测量装置的组成
2.1 硬件平台
图2是三维测量装置原型样机,系统主要部件为投影仪、左右CCD摄像机、图像采集卡、计算机、三角支架等。投影仪型号为ACER H5380BD,其作用是投射清晰的光栅条纹,CCD摄像机为日本SONY XC-75;图像采集卡采用北京嘉恒中自图像技术有限公司生产的OK_MC10A,其作用是将CCD摄像机的电信号转换为数字信号,并将数据传输给计算机主机。进行测量时,基准面位于投影仪前方800 mm,并在±15 mm内保持清晰条纹,摄像机镜头焦距为25 mm,采用棋盘格作为标定模板。图3为摄像机采集的棋盘格图像。
图2 三维测量系统的原型样机图
图3 摄像机采集的棋盘格图像
2.2 软件平台
三维测量装置的软件部分主要包括初始化、图像采集、摄像机标定、条纹图像边界提取、像点匹配、像坐标与物坐标换算、测量结果保存等模块,其中摄像机标定、条纹图像边界提取、像点匹配、像坐标与物坐标换算是测量装置的核心模块。
2.2.1 摄像机标定
本系统设计测量范围为100 mm×80 mm×30 mm,其中一次测量深度为30 mm。摄像机标定时棋盘格标定模板在基准面±15 mm范围内由近至远,每次移动5 mm;左右摄像机各采集7幅棋盘格图像(见图4),利用OpenCV中的Shi-Tomasi算子提取棋盘格角点,并保存左右摄像机像平面网格角点坐标及其对应的物空间网格角点坐标,测量系统初始化时读入内存,作为像点计算对应射线方程的依据,不需要计算摄像机的内外参数,而是采用仿射几何的交比不变原理,由像点计算对应的射线方程。如图5所示,假设平面S1(相当于物空间的棋盘格网格)上的直线L上有A、B、C、D等4个点,以P为投影中心,将A、B、C、D投影在平面S2(相当于像平面)上,对应的投影点为a、b、c、d,4个投影点位于直线l上,则交比表示为:
图4 摄像机标定示意图
图5 交比不变原理图
利用交比不变原理,对于像平面上任一像点可依据像空间的交比计算出7个标定位置上的对应物点,用最小二乘法拟合得到射线方程。本文利用交比不变原理直接建立像点与物点对应关系的标定方法,与已有的摄像机标定方法不同[9-12],无需计算摄像机的内外参数,操作也比较简单。
2.2.2 Gray编码提取光栅条纹边界
计算机生成的数字光栅条纹如图6所示,通过投影仪投影在被测量物体的表面。本系统一共设计了12幅条纹图,实际测量时由粗到细依次投射条纹并采集条纹图像,如图7所示。本文采用Gray编码法提取光栅条纹的边界。Gray编码是二值码结构光的一种[13-15],每次投射,暗条纹经过的像素编码为0,亮条纹经过的像素编码为1,然后经过12次投影,对12张图的条纹都进行编码,最后得到一个12位长的二进制数,再通过这个数字将左右摄像机获得的图像中的条纹进行配对,编码相同的是同一条条纹。
图6 光栅条纹
图7 光栅条纹投影
2.2.3 左右CCD摄像机像点匹配
左右摄像机的条纹反映了物体表面形状变化的信息,依据投影成像原理,摄像机采集的每个像点对应于空间的一条射线,依据仿射几何的交比不变原理,可以计算出射线与设定位置标定平面的交点。如图8所示,左摄像机采集图像上的一个像点P对应于3个标定平面上的点A、B、C,点A、B、C可以拟合出射线L1的方程。但仅凭左摄像机的一条射线不能确定物空间点的三维坐标,必须找到右摄像机上与像点P对应的像点P′,才能计算出射线L2的方程,这个过程为左右摄像机条纹边缘点的匹配。
图8 左右摄像机像点的匹配示意图
依据右摄像机的标定结果,计算出A、B、C3个物点在右摄像机像平面上对应的像点A′、B′、C′。A′、B′、C′可以拟合一条直线,这条直线与右摄像机像平面对应条纹边缘的交点就是右摄像机与左摄像机像点P对应的像点P′,这个过程是物空间到像空间的换算。最后,还需要依据右摄像机的标定结果计算出与像点P′对应的标定平面上的D、E、F3点,拟合出射线L2的方程。理论上,L1和L2求交即得到物点W的三维坐标,实际上由于各个环节存在计算误差,L1和L2是交叉直线,采用最小二乘拟合平面的方法,将L1和L2投影在拟合平面上计算交点,这样可以提高算法的稳定性,减小测量误差。
2.2.4 像坐标与物坐标换算
如图9所示,已知像平面一个网格单元内一个像点P′。为了方便表达,图中直接用字母表示网格节点,省去下标。依据像平面相邻网格单元可计算交比。
横向交比:
纵向交比:
图10是与图9对应的物空间标定平面上的网格单元,物空间网格单元的4个点角点的x、y坐标是已知的,其z坐标由标定位置确定,设P点(Px,Py)是与像点P′对应的物点。Px,Py的计算过程如下:
整理得:
整理得:
整理得:
整理得:
点(x1,y1)与点(x2,y2)连线WL1,点(x3,y3)与点(x4,y4)连线WL2,计算WL1和WL2的交点,即得到Px和Py。
图9 像平面上网格单元中的像点图
图10 标定平面上的网格单元
3 实验结果与分析
如图11是牙模实物,图12是测量过程中左右摄像机采集的其中一幅条纹图,图13是实际测量数据的点云图,图14是点云数据生成的真实感渲染图。实际测量结果表明,本文设计的三维测量系统达到了设计要求,具有一定的实用价值。
图11 牙模实物
图12 测量过程中采集的条纹图像
图13 从牙模上方扫描的数据
图14 真实感渲染图
4 结语
本文开发的三维测量装置解决了摄像机标定、光栅条纹编码、左右像点匹配、像坐标与物坐标换算等关键问题,提出了一种基于仿射几何交比不变原理的摄像机标定方法,用最小二乘拟合平面的方法计算交叉直线的交点,算法具有较好的稳定性,减小了测量误差。在原型样机的基础上进一步完善,可以为中小企业提供一种低成本、操作简便的实用三维测量设备,在产品设计与检测领域具有广泛的应用前景。