双目视觉实验平台及教学项目设计

2020-10-09 08:30曹光静朱金秀
实验技术与管理 2020年1期
关键词:立体匹配视差双目

刘 艳,曹光静,朱金秀,李 航

(河海大学 物联网工程学院,江苏 常州 213022)

双目立体视觉作为计算机视觉的重要形式,与人眼视觉类似,利用光学成像设备、基于双目视差原理从两个不同位置获取被观测目标的两幅图像,通过相应计算得到同一目标点在不同视图中的位置偏差,以获取目标三维信息,得到可视场景中的物体原貌[1]。双目视觉技术主要包括图像获取、特征提取、相机标定、立体匹配、三维重建等,涉及投影几何、光学成像、摄像机标定、特征提取与匹配等知识点。为了解并掌握双目视觉相关技术,本文搭建相应的硬件平台并配套实验项目。该实验平台,将双目摄像机及支架、双目图像传输模块、标定板、电源、计算机等硬件进行有机组合,计算机中安装 Visual Studio、OpenCV、OpenGL 等软件或开源程序包;结合数字信号处理、程序设计语言、数字图像处理等相关课程的知识,设计了双目视觉平台的搭建及图像获取、双目相机标定、立体匹配、单一目标的三维测量及重建4 个基本实验。

1 双目视觉基本理论

双目立体视觉借助 2 个参数和型号一致的摄像机,从2 个不同的位置同时拍摄同一场景,获取2 幅不同角度的图像,通过对2 幅图像的偏差进行处理与计算,得到该场景的三维信息。如图1 所示,若用左右摄像机同时观察P点,可得到该点分别在左右两幅图像中的成像点P1、P2。假设O1、O2分别为左右摄像机的光心,则P点一定是直线O1P1和直线O2P2的交点,P点的三维位置即可确定。因此,只要确定左右摄像机图像中的某像点为空间中同一个点的图像点,即可计算出该点的三维坐标[2]。

图1 双目立体视觉原理图

立体视觉技术中,图像到真实空间的映射和计算涉及多个坐标系,摄像机坐标与图像坐标系的关系如图2 所示。摄像机坐标系以摄像机的光心O为原点,Xc轴和Yc轴分别平行于图像坐标系中的x轴和y轴,Zc轴为摄像机的光轴且垂直于图像平面,与图像平面的交点为图像坐标系的原点Oxy。设世界坐标系(真实坐标系)中的P点与摄像机坐标系下的齐次坐标分别为二者的转换关系可用一个 3×3 的正交单位矩阵和平移向量T表 示[3],关系式如下:

式(1)中,R为 3×3 的正交单位矩阵,表示 2 个摄像机的相对空间角度;T为三维的平移向量,表示 2个摄像机在水平方向上的距离关系;M为4×4 矩阵,表示世界坐标系与摄像机坐标系的映射关系,即摄像机的外部参数矩阵。若要得到世界真实坐标,首先要对2 个摄像机进行参数标定,根据摄像机模型及投影原理计算得到旋转矩阵、平移向量、重投影矩阵等内外参数。

图2 摄像机坐标与图像坐标系关系

图像立体匹配的目的找出同一个目标在不同成像面上的特征对应关系,进而求出视差,恢复图像的深度信息[4]。立体匹配算法本质上是以最小的代价在 2幅图像上找到相同的像素点。因此匹配算法的设计就是构建一种优化模型,并求解最优解的过程。立体匹配算法可分为局部和全局两大类,全局立体匹配算法通常随机生成或利用图像某一全局特征生成粗略视差图,再采用置信度传播、动态规划、生成树等方法进行视差优化。局部立体匹配算法常以像素点为中心的窗口像素(即局部窗口)信息来获取该像素点的初始视差,再利用左右一致性检测、视差传播、中值滤波等方法进行视差优化[5]。

结合标定得到的参数,将式(1)中的参数矩阵M作反投影,得到矩阵Q,可根据下式将立体匹配过程获取的稠密视差图作坐标转换,即可得到场景内任一点的世界坐标:

其中,(x,y)为视差图中某点的二维坐标,d为该点视差值,图像中每个像素点对应的绝对坐标值可以表示为

利用图像分割将图像中的目标物体提取出来,并计算三维空间中目标上2 个点的欧式距离,即可求得所需的尺寸大小。可根据求得的世界坐标与摄像机原图进行表面生成与纹理重建,即可实现场景的三维重建,得到真实的三维模型。

2 双目视觉实验平台设计

2.1 设计目标及原则

基于双目视觉的实验平台及实验项目针对具备数字信号处理、程序设计语言、计算机仿真等相关知识的学生而设计。通过该实验,不仅能让学生加深机器视觉的理解,提高学生的知识应用能力,让学生在实验中自主探索、交流合作中提高发现问题和解决问题的能力,提高学生的工程应用和科技创新意识[6]。

为锻炼学生的自主学习能力和实践动手能力,要求学生将每个项目的实验要求和具体目标,通过各种互联网、图书等途径查阅相关知识,自主设计实验方案并独立完成实验内容。教师作为引导者和答疑者,精力集中在解决学生的疑难问题上[7]。学生可以自主研究并选择实验方案,这有利于学生的学习热情和信心的增强,提高学习积极性[8];学有余力的学生还可以借助该实验平台自由设计实验项目,或参与学科竞赛、教师科研项目等,实现教学多样化。

2.2 实验平台的组成与使用

双目视觉实验平台包括双目摄像机及支架、双目图像采集与传输模块、计算机等硬件,操作系统为Windows,同时安装Visual Studio、OpenCV、OpenGL等软件或开源程序包,辅以标定板、固定形状和尺寸的目标作为拍摄对象,由学生自主编程实现各实验内容。平台的结构见图3。

图3 双目视觉实验平台结构

双目摄像机系统(见图 4)自主搭建。为实现高精度测量,所选摄像机分辨率为4000×3000 像素,配以8 mm、12 mm、16 mm、25 mm、35 mm 多种镜头,供不同远近的目标拍摄选择;双目相机基线的调节范围为8~30 cm。为了获取更多的目标信息,基础实验中提供焦距为12 mm 的镜头。

图4 双目摄像机结构

摄像机的数据传输模式为以太网,需要在计算机中安装千兆网卡,图像采集采取软触发方式实现图像同步获取。所有图片或视频的获取和处理由编程实现,并作为实验项目让学生自主完成。

立体匹配中,左右两幅图像在平面上完全对准的前提下计算视差的难度最低[9]。因而必须先采集标定板的左右图像,并进行标定,得到标定参数,再进行图像校正。将摄像机与计算机的数据线、电源线分别进行连接后,设置好相机的访问地址,使用 Visual Studio 软件编程进行图像采集。为了使摄像机标定参数不变,必须保持摄像机位置在所有实验中不变。基于双目视觉平台获取不同角度、20 组以上的标准棋盘格图像,根据张氏标定原理[10],求解出相机的内外参数及畸变系数。后续实验将利用这些参数进行图像校正,对校正后的左右视图进行立体匹配算法得到视差图,结合标定参数即可计算出三维坐标,实现目标尺寸和距离测量,也可利用重建算法实现三维重建,得到目标或场景真实的三维模型[11]。

3 教学项目设计

3.1 教学目的与要求

通过教学,让学生了解双目视觉的图像处理相关技术,掌握双目视觉系统中涉及的系统搭建、相机标定、立体匹配、尺寸测量及三维重建等基本概念和相关方法,为在计算机视觉领域中进行深入学习和研究打下必要的基础。实验结合硬件平台和搭建、软件使用和编程等实践环节,主要目的是锻炼和培养学生实际操作技能和综合利用所学过的知识解决实际问题的能力[12]。具体要求:

(1)加深对数字图像处理相关知识点的理解,熟练巩固数字图像处理的相关技术和方法;

(2)熟悉所用Visual Studio 等软件的开发、编译环境及编程方法,掌握图像处理工具箱、OpenCV 的基本函数和命令;

(3)学会双目视觉平台的搭建及程序调试方法,善于发现错误,并且能很快地排除错误,使软硬件程序能正确运行。

3.2 教学内容

双目视觉实验项目的实验目的和内容见表 1。每个项目安排课内2 学时完成,总实验时数为8 学时。

3.3 教学范例——双目相机标定

实验开始前,学生已查阅双目相机标定的相关资料,了解了基于棋盘格图像的标定原理及方法,重点理解了张氏标定法的基本原理。实验教学过程中,先介绍相机标定相关知识,解答学生预习中的疑难;再结合实验演示,讲解标定过程的主要步骤,让学生掌握基本的实验操作;提醒学生实验过程中的注意事项及可能会遇到的问题。以Visual Studio 软件为工具,双目相机标定的实验过程如下:

(1)利用实验一搭建好的双目视觉平台和棋盘格,获取不同角度、20 组以上的棋盘格图像,粗略提取出棋盘的角点,角点检测结果见图5。

(2)根据棋盘格的尺寸和格子数量,分别提取每个角点亚像素位置,遍历所有图像,将棋盘格大小角点位置信息的图像坐标系转化成世界坐标系。初始化3×3 的对角矩阵、畸变参数、旋转矩阵R、平移矩阵T、本征矩阵E、基础矩阵F、r、t等参数,并记录得到的参数。由于相机的制造工艺等问题,左右摄像机的内参矩阵和畸变参数可能不同,需要分别记录。标定结果见表2。

表1 双目视觉实验教学项目

图5 一幅棋盘格图像的角点检测结果

表2 双目摄像机标定结果

(3)检查标定结果的误差,通过检查图像上的点与另一幅图像的极线的距离远近来评价标定精度。

(4)初始化坐标映射表,对图像进行校正处理。校正结果如图6 所示。

本实验作为后续2 个实验项目及自主设计性实验的基础,要求学生间相互合作,在理解标定原理的基础上完成张氏标定法的C 语言实现。实验难度适中,实验操作完成后对标定精度的评价可加深学生对影响立体匹配效果原因的理解;图像校正的结果将作为下一实验所需的立体匹配源图像,起着承上启下的作用。因此,该实验项目有非常高的连续性和延展性。

图6 校正后的左右图像对

3.4 教学效果

每个实验都要求学生自主完成预习、实验和总结。完成4 个实验项目后,进行问卷调查,调查结果表明,学生对计算机视觉的学习兴趣和解决图像处理能力得到显著提高,对相关知识点的理解更加深入,掌握了基于Visual Studio 的计算机仿真方法。本次实践教学实验得到了学生的高度认可,达到了学生自主学习并完成实验教学的目的。

4 结语

双目视觉实验平台涉及信息获取与处理方向的多门课程知识,以工程教育目标为基准设计,面向具备相关知识的高年级本科生及低年级研究生开设。配套设计的教学项目紧密结合相关理论,循序渐进、由浅入深,学生通过实验不仅能够掌握系统搭建、相机标定、立体匹配、尺寸测量及三维重建等基本概念和相关方法,还能在此基础上开展复杂的工程性实验。学生的自主学习能力及工程创新能力得到提高。

猜你喜欢
立体匹配视差双目
基于自适应窗的立体相机视差图优化方法研究
夏泽洋团队提出一种基于分割的立体匹配视差优化方法
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于梯度域引导滤波的视差精炼迭代算法
基于HALCON和VC++的双目机器人织物抓取系统设计
基于分割树的视差图修复算法研究
基于SIFT算法的图像匹配技术在测量系统中的应用
改进导向滤波器立体匹配算法
基于双目视觉图像的长度测量方法
动态规划立体匹配的状态空间分析和性能改进