发明内容
本发明为了解决目前双目立体视觉测量系统的测量精度和测量速度不能兼顾的问题,提供一种基于双目立体视觉测量系统的精确在线测量方法。
基于双目立体视觉测量系统的精确在线测量方法是基于双目立体视觉测量系统实现的:
所述双目立体视觉测量系统包括两台摄像机、一台投影机和图像采集和投影线路板,投影机的投影范围覆盖两台摄像机的公共视场,图像采集和投影线路板的三个信号输出端分别连接在两台摄像机和投影机的信号输入端,图像采集和投影线路板数据输入/输出端连接在计算机的图像采集信号输入/输出端。
基于上述双目立体视觉测量系统的精确在线测量方法由以下步骤实现:
步骤A、将目标板放置在两台摄像机的公共视场中,运用两台摄像机同时对所述目标板进行图像采集获得一个图像对;
步骤B、对步骤A获得的图像对采用Harris Cocner角点提取法,进行亚像素级角点的提取和计算,获得标定的模板;
步骤C、采用两步法对两台摄像机进行标定,获得摄像机的内部参数和外部参数并确定两台摄像机的空间位置关系;
步骤D、在两台摄像机的公共视场范围内放置被测目标,两台摄像机同时拍摄被测目标获得被测目标的图像对,根据步骤B获得的标定的模板,通过相位编码和展开理论的方法,获得被测目标的图像对中两幅图像中的所有特征点的图像坐标;
步骤E、通过数值插值方法,求得所述被测目标的图像对中的一幅图像中基于Harris算子的所有亚像素级的特征点,再根据每个亚像素级的特征点利用极线法逐一在所述被测目标的图像对中另一幅图像中获得相匹配的亚像素级的特征点;
步骤F、根据步骤E获得的被测目标的图像对的匹配亚像素级特征点,获得被测目标的三维重构图像。
本发明的测试时间主要分为两部分,一部分是软件算法的计算时间,另一部分就是摄像机及投影机的采集及投影时间。本发明在保证高精度(应用到576×768的模拟信号CCD相机,在150mm×150mm视场范围内的精度可以达到0.03mm)的前提下,整体的测试和计算时间仅为十几秒,在相关的方法中具有先进性和实用性,本发明适用于测量精度高的在线测量工业领域。
具体实施方式
具体实施方式一:结合图1和图2说明本实施方式,本实施方式所述的基于双目立体视觉测量系统的精确在线测量方法是基于下述双目立体视觉测量系统实现的:
所述双目立体视觉测量系统包括两台摄像机1、一台投影机3和图像采集和投影线路板2,投影机3的投影范围覆盖两台摄像机1的公共视场,图像采集和投影线路板2的三个信号输出端分别连接在两台摄像机1和投影机3的信号输入端,图像采集和投影线路板2数据输入/输出端连接在计算机4的图像采集信号输入/输出端。
基于上述双目立体视觉测量系统的精确在线测量方法由以下步骤实现:
步骤A、将目标板放置在两台摄像机1的公共视场中,运用两台摄像机1同时对所述目标板进行图像采集获得一个图像对;
步骤B、对步骤A获得的图像对采用Harris Cocner角点提取法,进行亚像素级角点的提取和计算,获得标定的模板;
步骤C、采用两步法对两台摄像机1进行标定,获得摄像机的内部参数和外部参数并确定两台摄像机1的空间位置关系;
步骤D、在两台摄像机1的公共视场范围内放置被测目标5,两台摄像机同时拍摄被测目标5获得被测目标5的图像对,根据步骤B获得的标定的模板,通过相位编码和展开理论的方法,获得被测目标5的图像对中两幅图像中的所有特征点的图像坐标;
步骤E、通过数值插值方法,求得所述被测目标5的图像对中的一幅图像中基于Harris算子的所有亚像素级的特征点,再根据每个亚像素级的特征点利用极线法逐一在所述被测目标5的图像对中另一幅图像中获得相匹配的亚像素级的特征点;
步骤F、根据步骤E获得的被测目标5的图像对的匹配亚像素级特征点,获得被测目标5的三维重构图像。
本实施方式中的双目立体视觉测量系统中的摄像机1采用高精度工业级模拟CCD摄像机1。高精度工业模拟CCD摄像机1和投影机3配合使用作为测量系统。
本实施方式中,步骤B中所述的目标板为5×7的高精度黑白相间的棋盘格目标板。
具体实施方式二:本实施方式与具体实施方式一中所述的基于双目立体视觉测量系统的精确在线测量方法不同之处在于:在步骤A中,变换目标板在两台摄像机1的公共视场中的位置,采集获得多个图像对;在步骤B中,通过Harris算子计算得到多个图像对中的标定板像素级的角点;
然后,通过数值差值方法对获得的多个图像对中的标定板像素级的角点进行处理,最终根据获得的基于Harris算子的亚像素级角点获得标定模板。
本实施方式中在步骤A中获得4-10个图像对。
因为需要提供特征点的空间位置变化,以求解方程组,所以一般需要采集不同空间位置的标定板,至少需要测4个不同位置,理论上测试的位置越多,标定精度越高,但是由于计算机计算的误差及其他误差的影响,测量次数过多也容易造成负面影响,不利于测试工作。
具体实施方式三:本实施方式是对具体实施方式一中步骤C中获得摄像机的内部参数和外部参数的进一步说明:
在步骤C中获得摄像机的外部参数的方法为:利用径向约束条件,使用最小二乘法解超定线性方程组,给出外部参数;
在步骤C中获得摄像机的内部参数的方法为:将外部参数与畸变修正参数进行迭代,求解超定线性方程组或非线性方程组,获得内部参数。
本实施方式中所述的内部参数包括:计算机图像中心坐标、图像单位距离上的像素数(即尺度因子)、有效焦距和畸变系数。其中,计算机图像中心坐标包括X、Y方向两个参数,图像单位距离上的像素数包括X、Y方向两个参数,因此所述内部参数共包含有六个参数。
本实施方式中所述的外部参数包括旋转矩阵和平移矩阵。其中,旋转矩阵中包含有三个参数,平移矩阵中也包含有三个参数,因此所述外部参数共包含有六个参数。
如果摄像机1无透视畸变,可由一个超定线性方程求解。如果存在径向畸变,则可结合非线性优化的方法获得全部参数。该方法的计算量适中,并且精度较高,平均精度可达到1/4000,最高精度可达到1/8000。
具体实施方式四:结合图5说明本实施方式,本实施方式是对具体实施方式一中步骤D的进一步说明,步骤D的具体步骤为:
步骤D1、通过投影机3投射一组正弦光栅及编码光栅于被测目标5表面;
步骤D2、两台摄像机1同步进行图像采集,每台摄像机获得一幅被测目标5的图像,两台摄像机同一时刻采集的两幅被测目标5的图像组成一个被测目标5的图像对;
步骤D3、重复上面D1和D2两个步骤,获得13-30个被测目标5的图像对;
步骤D4、对步骤D3获得的多个被测目标5的图像对计算正弦编码;
步骤D5、逐一将步骤D4获得的每一个被测目标5的图像对按纵向或横向进行统一的相位编码;
步骤D6、根据步骤B获得的标定的模板,通过相位编码和展开理论的方法,获得每一个被测目标5的图像对中两幅图像中的所有特征点的图像坐标。
本实施方式中,步骤D2和步骤D1之间间隔50-100ms,进而保证摄像机1采集的图像的稳定性。
通过函数的形式直接调用步骤C的测试结果,获得两个摄像机1各自的旋转矩阵和平移矩阵数值及两摄像机1相对空间位置数值,然后是对物体的投影和采集,通过投影机3投射一组正弦光栅及编码光栅于被测目标5表面,在投射的过程中,两台摄像机1同步进行图像采集,获得多个图像对,通过这些图像计算正弦编码,将被测目标5按纵向或横向实现统一的相位编码。
投影机3投出的光栅图像的范围覆盖摄像机1采集的范围,使得摄像机1所采集的图像为被光栅完全覆盖范围,且两摄像机1所采集图像信息尽可能的重叠,以保证较大的测量范围,因此投影机3与水平方向放置的摄像机1成一定的角度。
本发明中需要获得多对被测物体5的图相对,采集的图相对越多,编码越细致,能够获得的精度越高,但是相应的编码过程越复杂,测量时间越长,相反采集的图相对越少编码过程越简单,测量时间越短,但是编码越粗糙,获得的精度越低,本发明以采集13个图像对为例,图像对的采集在投影后50ms,下一次投影和本次采集的时间间隔为150ms,共采集13个图像对,整体的测试和计算时间仅为十几秒,而且能够保证在576×768的模拟信号CCD相机,在150mm×150mm视场范围内精度达到0.03mm。
具体实施方式五:结合图6说明本实施方式,本实施方式是对具体实施方式一中步骤E的进一步说明,步骤E中对每一对特征点进行匹配的具体步骤为:
步骤E1、定义一个被测目标5的图像对中的两幅图像分别为图像A1和图像A2,通过极线法在图像A2中寻找与图像A1中的一个特征点m1对应的直线L;
步骤E2、计算步骤E1获得的图像A2中直线S上所有点的相位值Wi,将直线L上所有点的相位值Wi逐个与图像A1上特征点m1的相位值W0比较,相位差|Wi-W0|小于阈值Wth的几个区域即为图像A2上对应特征点m2所在区域;
步骤E3、在图像A2上对应特征点m2所在区域通过差值算法,最终得到图像A1中的特征点m1在图像A2上与其匹配的特征点m2。
其中Wth为用户根据需要设定的值,一般以获得3-5个满需要求的特征点所在区域为宜。
极线法匹配的基本原理如图5所示,在由两台摄像机组成的双目立体视觉系统中,连接光心Ol和Or的线称为基线B,两台摄像机的光心和场景点M三点组成的平面定义为极面π,该平面与图像平面的交线称为极线S。当场景点在空间移动时,图像A1和A2上各自所有的极线都相交于极点el、er,极点就是所有极线在各自图像平面上的交点。实际上极点el、er是摄像机光心Ol和Or分别在两个图像平面上的投影,并且el、er、Ol和Or共线。
在实际匹配过程中,图像A1平面任一点ml,对它在图像A2平面上的匹配点mr的搜索不需要在整幅图像上搜索,它必然位于极线Sr上,我们称Sr为图像A2平面上对应于ml点的极线。类似的,图像A2平面上任一点mr,它在图像A1平面上的匹配点ml必位于极线Sl上。
本发明中可以先确定图像A1上的特征点,然后在图像A2上寻找该特征点所在直线,再将图像A1上的特征点的相位值与该直线上的相位值比较,确定特征点所在区域。也可以先确定图像A2上的特征点,然后在图像A1上寻找该特征点所在直线,再将图像A2上的特征点的相位值与该直线上的相位值比较,确定特征点所在区域。
本发明将一组高精度正弦光栅投射到被测物体的表面上,然后通过对这组光栅相位展开,实现相位在单个周期内是单调连续分布的,可以获得较精确的深度分辨率,通过规定阈值计算,使各个相位展开成一连续曲线,从而可以实现对全视场范围的相位编码。从而缩短了特征点的找寻速度,即相当于极线几何法提供一个方向上的约束,相位编码提供另一非平行方向上的约束,两个方向的交点即为特征点。为了提高精度,本发明提出对特征点区附近的点进行插值运算,进而得到更精确的特征点,使精度达到亚像素级。
极线法是目前双目视觉特征点匹配的最重要的方法,其特点是理论方法直观,易于算法研究及实现,并且这种方法能够得到较高的匹配精度。本发明根据双目视觉的计算原理,将相位编码及相位展开原理与极线几何匹配法相结合,再用差值算法,得到亚像素级的特征点匹配,本发明双目立体视觉的算法应用576×768的模拟信号CCD相机,在150mm×150mm视场范围内的精度可以达到0.03mm。