裴云成,贝前程,刘海英,张绍杰
(齐鲁工业大学(山东省科学院) 电气工程与自动化学院,山东 济南 250353)
运用机器视觉模拟人的视觉功能进行视觉检测已经非常普遍。根据目标物体、应用场景和应用目的等实时条件的不同,选用不同数量和种类的摄像头,必要时配备相应的光源来提取目标事物的特征,然后根据获取的图像信息,经过一系列数字化处理,提取所需的特征信息,最后经过相应的逻辑运算实现工业生产、地质勘探、科学研究等领域所需要的检测、测量和控制等功能。机器视觉技术具有处理速度快、稳定工作时间长、检测准确度高等特点[1],能够很好地适应不同的环境,特别是在复杂环境下,能够较好地代替人类完成相对危险的工作。
双目立体视觉是机器视觉的一种重要形式,其基于视差原理并利用两个摄像机从两个不同的位置获取被测物体的两幅图像,通过计算图像中对应点的位置偏差,来获取物体立体几何信息[2]。
根据机器视觉的优势,结合使用场景,提出利用双目视觉技术和图像特征提取技术相结合,以代替传统距离测量方法,在高危复杂环境中检测两物体间的距离。利用特征提取技术可以更准确地确定环境中物体的边缘,然后利用双目识别技术判断周围环境中两物体边缘距离是否达到安全范围。
边缘提取为了突出图像中物体的边缘信息,常用图像锐化进行处理,而微分运算是图像锐化处理中常用的处理方式[3]。二阶微分算子相较于一阶微分算子能够提取出更多的特征细节,因此,可使用二阶拉普拉斯算子对原图像进行锐化处理,得出边缘清晰的图像,最后将拉普拉斯图像与原始图像进行卷积运算而产生锐化图像。由于拉普拉斯算子对图像中的噪声比较敏感,增强图像细节的同时也增加了图像的噪声[4]。所以在图像锐化处理前须进行高斯平滑滤波处理。
对图像f(x,y)进行高斯平滑,得
式中:σ 为平滑尺度。
图像f(x,y)的拉普拉斯算子为
将式(1)和式(2)结合得出
式(3)为高斯拉普拉斯算子(Laplacian of Gaussian,LOG)表达式。运算过程即先将图片进行高斯平滑,而后使用拉普拉斯算法对图像进行锐化处理。图1 为LOG 算子的三维立体图。
图1 LOG 三维图像
将LOG 算子与原图像f(x,y) 进行卷积得
其中常用的卷积模板为5×5 矩阵,即为
经过卷积计算可得到边缘特征信息较清晰的图像[5],如图2 所示。
图2 LOG 图像处理算法模型
由图2 可以看出,模糊图像经卷积处理后边缘信息变得更加清晰。
双目立体视觉系统是通过平行的两个摄像机同时拍摄同一个目标物体,在获得两幅二维图像后计算出其像素位置偏差[6],然后根据几何原理计算出被测物体在空间中的立体坐标,双目立体视觉原理如图3 所示。
图3 双目立体视觉原理
图3 中,双目立体视觉系统左右摄像机的光心分别是OA和OB,同时OAZA与OBZB平行;L 为两光心间距离即基线长度;fA和fB分别为左右摄像机的焦距;P 为目标物体位置;PA(x1,y1)和PB(x2,y2)分别为P 点在左右摄像机成像平面上投影点的坐标[7]。当两摄像机在同一垂直平面时,其成像平面Y 轴上的坐标值相等,根据几何原理可得出Z 轴上的坐标为
式中:f 为摄像机的焦距;L 为基线长度;x1、x2为点P在系统中左右摄像机成像平面中X 轴的坐标值。
同理可推导出P 点X 轴和Y 轴的坐标Xc、Yc为
式中:y 为成像平面所在坐标系中Y 轴的坐标值,且y=y1=y2。
根据以上原理和公式可确定两物体上某一点的三维坐标[8],进而确定物体之间的距离。
摄像机安装误差也是影响双目视觉系统测距精度的原因,所以在双目立体视觉系统使用时应对摄像机进行标定[9]。
单目摄像机标定时所需坐标系关系如图4 所示。
图4 坐标系关系
图4 中摄像机坐标系的ZC轴与摄像机光轴重合,XC轴与成像平面的水平方向平行,YC轴与成像平面的垂直方向平行,原点OC为摄像机的光学中心[10]。物理坐标系的原点为摄像机的光轴与成像平面的交点,X 轴平行于XC轴,Y 轴平行于YC轴。像素坐标系是和成像平面边缘重合的坐标系,其坐标原点OU为其左上角,XU轴与XC轴平行,YU轴与YC轴平行[11]。世界坐标系的坐标轴为任意选取。设P 点的世界坐标为(Xw,Yw,Zw),摄像机坐标为(Xc,Yc,Zc)。由于像平面坐标系是二维平面,所以P 点的像平面坐标为(X,Y),像素坐标为(u,v)。根据像素坐标系与像平面坐标系之间的几何位置关系可得
式中:dx、dy为像素尺寸;u0、v0是图像的中心点。结合摄像机坐标系和世界坐标系,利用其几何关系可得
式中:R 为3×3 阶正交旋转矩阵;T 为3×1 的平移向量;E=[0 0 0]。根据式(5)—式(8)可得
式中:fx=L/dx,fy=L/dy;zc为点P 在摄像机坐标系中Z轴的坐标值。
单目摄像机的标定是根据已知的像素坐标系和实际坐标系间关系计算出摄像机的内部参数,其结果与摄像机的种类规格有关,与使用的外部环境无关[12]。双目摄像机标定在已知单目摄像机标定结果的基础上进行,使两个单目摄像机的焦距相似[13]。双目标定需要确定每个摄像机对应的旋转矩阵和平移矩阵,假设左右摄像机标定的旋转矩阵为RA、RB,平移矩阵为TA、TB,可计算出双目视觉系统对应的旋转矩阵R 和平移矩阵T,结果为
通过对图像边缘提取与双目立体视觉系统测距原理的分析,搭建完整的双目立体视觉测距系统,经过一系列处理与运算得到所需要的距离。
利用MATLAB(2019b)中的stereo camera calibrator 双目摄像机标定程序进行标定。首先利用MATLAB(2019b)绘制标准棋盘格,如图5 所示,并将绘制好的棋盘格打印并制成棋盘格标定板。利用双目立体视觉系统中的两个摄像机同时拍摄9 张不同角度的标定板图片,如图6 所示。
图5 棋盘格
图6 双目标定
图6 中绿色标记为系统检测到的点,红色标记为重投点,黄色标记为棋盘格原点。
然后利用采集的9 对标定板信息使用stereo camera calibrator 双目摄像机标定程序对摄像机进行标定,标定结果如图7 所示。
图7 每幅图像的平均重投影误差
由图7 可看出,除第5 对图像信息外,两摄像机采集的每对图像的像素误差之间的差值非常小。图8 清晰地展示出标定时像和相机之间的相对位置关系。
图8 外部参数可视化
在进行距离测量之前,将采集的输电线路周围环境的单帧图片经过LOG 边缘提取使得图片边缘信息更加清晰,处理结果如图9 所示。
图9 LOG 边缘提取
极线矫正是将预处理后的图片中的物体进行对准,根据对极条件使左右视图中相同位置的点处于同一条水平线上,在提高系统的匹配搜索效率的同时提高系统的精确度[14]。
图像经过预处理后,根据双目立体视觉原理随机建立世界坐标系并得出图像中物体边缘的世界坐标,然后利用空间点距离公式,计算出图片中物体边缘间的最短距离,此距离为两物体间的距离。
为了验证此方法的可行性与准确性,实验首先测量两方盒之间的距离,然后对比测量值与实际值之间的误差来判断系统的准确性,其结果如表1所示。
表1 测量距离与误差值
由表1 中的数据可得出,双目立体视觉测量值的最小绝对误差为0.3 cm,最大绝对误差为1.1 cm,最小相对误差为1.1%,最大相对误差为2.0%,测量结果的误差值都在可接受范围内,符合输电线路周围物体安全距离测量的误差标准[15]。
将双目视觉技术与图像处理技术相结合,应用LOG 算法对采集的图像先进行平滑处理,然后进行锐化处理,获得清晰的边缘信息,根据双目立体视觉标定原理,获取图像边缘点的世界坐标,最后根据空间点的距离公式可获得两物体间距离集合。筛选出其中的最短距离,即可作为安全距离的判断依据。此方法的检测速度快,准确度能够满足输电网络周围障碍物安全距离检测的要求,应用此方法可以减少电力工作者的工作强度,但其是否能适应更为恶劣的天气环境,还需要进一步研究。