基于双目立体视觉测量系统的精确在线测量方法 【技术领域】
本发明涉及计算机视觉领域。背景技术 双目立体视觉测量技术经过二十多年的研究, 是目前市场上应用最为广泛的计算 机视觉理论之一, 双目立体视觉是模仿人类和动物眼睛系统而设计的一种立体视觉系统, 其主要是根据两台摄像机在不同位置对同一物体进行观察时形成视差, 然后利用三角测量 原理计算图像像素间的位置偏差, 实现对物体深度的测量和三维重构。要实现一个完整的 双目立体视觉系统通常需要图像获取、 摄像机标定、 特征提取、 立体图像匹配等步骤。
根据该理论研制的视觉产品应用于逆向工程、 工业在线测量、 医疗医学、 航空探测 等多个领域, 其基本原理、 重点和难点已经非常清楚, 由于这一技术涉及的学科非常广泛, 包括光学、 电子、 图像处理、 机器视觉、 计算机等技术, 其中的任一环节的误差都会影响到最 终结果的准确性, 提高系统的测量精度是这一技术的核心问题, 但是由于技术的广泛性和
复杂性, 目前还不具备开发高精度基于立体视觉原理的三维测量设备的能力。目前的主要 计算机视觉产品, 想要达到很高测量精度, 要以牺牲时间为代价, 想要具有实时测量的能 力, 测量精度又会受到限制, 因此急需一种测量精度高而且测量速度快的立体视觉技术。 发明内容
本发明为了解决目前双目立体视觉测量系统的测量精度和测量速度不能兼顾的 问题, 提供一种基于双目立体视觉测量系统的精确在线测量方法。
基于双目立体视觉测量系统的精确在线测量方法是基于双目立体视觉测量系统 实现的 :
所述双目立体视觉测量系统包括两台摄像机、 一台投影机和图像采集和投影线路 板, 投影机的投影范围覆盖两台摄像机的公共视场, 图像采集和投影线路板的三个信号输 出端分别连接在两台摄像机和投影机的信号输入端, 图像采集和投影线路板数据输入 / 输 出端连接在计算机的图像采集信号输入 / 输出端。
基于上述双目立体视觉测量系统的精确在线测量方法由以下步骤实现 :
步骤 A、 将目标板放置在两台摄像机的公共视场中, 运用两台摄像机同时对所述目 标板进行图像采集获得一个图像对 ;
步骤 B、 对步骤 A 获得的图像对采用 Harris Cocner 角点提取法, 进行亚像素级角 点的提取和计算, 获得标定的模板 ;
步骤 C、 采用两步法对两台摄像机进行标定, 获得摄像机的内部参数和外部参数并 确定两台摄像机的空间位置关系 ;
步骤 D、 在两台摄像机的公共视场范围内放置被测目标, 两台摄像机同时拍摄被测 目标获得被测目标的图像对, 根据步骤 B 获得的标定的模板, 通过相位编码和展开理论的 方法, 获得被测目标的图像对中两幅图像中的所有特征点的图像坐标 ;步骤 E、 通过数值插值方法, 求得所述被测目标的图像对中的一幅图像中基于 Harris 算子的所有亚像素级的特征点, 再根据每个亚像素级的特征点利用极线法逐一在所 述被测目标的图像对中另一幅图像中获得相匹配的亚像素级的特征点 ;
步骤 F、 根据步骤 E 获得的被测目标的图像对的匹配亚像素级特征点, 获得被测目 标的三维重构图像。
本发明的测试时间主要分为两部分, 一部分是软件算法的计算时间, 另一部分就 是摄像机及投影机的采集及投影时间。本发明在保证高精度 ( 应用到 576×768 的模拟信 号 CCD 相机, 在 150mm×150mm 视场范围内的精度可以达到 0.03mm) 的前提下, 整体的测试 和计算时间仅为十几秒, 在相关的方法中具有先进性和实用性, 本发明适用于测量精度高 的在线测量工业领域。 附图说明
图 1 为基于双目立体视觉测量系统的精确在线测量方法工作流程图。图 2 为双目 立体视觉测量系统的结构示意图。图 3 为获得标定特征点的图像坐标的工作流程图。图 4 为利用极线法对获得的被测目标的图相对进行亚像素级的特征点匹配的工作流程图。图 5 为极线法匹配原理图。 具体实施方式
具体实施方式一 : 结合图 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 两个步骤, 获得 1330 个被测目标 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。