APP下载

基于双目视觉的汽车尺寸检测技术研究

2021-12-28董大卫陶翰中宁业衍张汝枭方宇

农业装备与车辆工程 2021年12期
关键词:双目标定灰度

董大卫,陶翰中,宁业衍,张汝枭,方宇

(201620 上海市 上海工程技术大学)

0 引言

在交通控制和管理中,对车流量进行有针对性的统计是一项艰巨的工作,通常需要通过检测车辆尺寸实现各种车型的分类,进而达到统计车流量的目的[1-3],这对于有效地管理停车场及严密监视公共路段等都有着极其重要的意义。现阶段,国内外汽车检测机构以及汽车厂普遍采用卷尺、角度尺、外径卡规、标杆,以及光学式及电磁式检测仪等测量工具。传统的三维测量方法多为人工检测,不但劳动强度大,而且实时性较差。工业上使用的检测设备主要有全站仪、三坐标测量机,但是这些设备结构复杂,价格昂贵,不利于大规模推广[4-6]。针对这一现状,有必要设计一套检测系统,除了能对汽车的外观尺寸进行精准测量,还能根据汽车的尺寸对车辆的类型进行自动分类,从而能够让交通管理部门获得详细的数据,提高公共路段的车流量统计效率。

随着计算机技术、图像处理技术和视觉技术的飞速发展,科学家们对计算机视觉技术进行了深入的研究并取得了显著的成果,并将其应用于产品质量检测、精密测量、振动检测及机器人等领域[7-9]。为了能够提高车流量统计效率以及公路交通系统的监控性能和车辆的管理水平,本文采用机器视觉检测手段,研究与开发出一套快速检测系统,实现了对汽车尺寸的准确测量。这个系统可以作为公共路段管理的技术支撑,以解决传统检测方法实时性差、结构复杂等问题。除此之外,还可以将这一系统应用在特定场合作为智能交通系统的一部分,以实现对车辆的有效监控。

1 检测原理

1.1 双目视觉模型

如图1 所示,本文采用的是双目视觉系统,即所谓的两个相机的光轴平行。图1 中,P 为现实中的一点;p 和p'为点P 分别在左右成像平面中的成像点;f 表示焦距;or与ot之间的距离即为双目相机的基线,用B 表示。x 轴上相应的坐标分别为xr和xt,则视差可以表示为d=xr-xt。通过相似三角形的知识可以求得点P 与相机之间的距离z 为

图1 双目视觉模型Fig.1 Binocular vision model

1.2 方案设计

首先使用MATLAB 对双目相机进行标定,获取相机的内外参数;然后对拍摄的图像进行预处理,得到汽车的灰度图像并进行去噪;接着使用SGBM 算法进行匹配,得到被测车辆的视差图以及车身的三维点坐标;最后通过两点之间距离公式,最终实现汽车的尺寸测量。

2 双目相机标定

2.1 标定原理

所谓的相机标定,即获得相机内外参数的过程。在相机标定中,主要是4 个坐标系的变换,即:像素坐标系、图像坐标系、相机坐标系以及世界坐标系。其中,像素坐标系与图像坐标系之间的转换关系为

式中:(u,v)——像素坐标系下的坐标;(x,y)——图像坐标系下的坐标;(u0,v0)——图像平面中心的坐标点。

世界坐标系与相机坐标系转换关系为

式中:(Xc,Yc,Zc,1)T——点P 在相机坐标系下的坐标;(Xw,Yw,Zw,1)T——点P 在世界坐标系下的坐标。R,t ——旋转矩阵与平行向量。

相机坐标系与图像坐标系之间的转换关系可由相似三角形得到:

将式(2)与式(3)代入式(4)可得

2.2 标定步骤

标定方法有很多种,比较常见的是使用MATLAB 工具箱标定以及OpenCV 标定。由于MATLAB 标定有较高的精度并且方便快捷,因此本文选用MATLAB 工具箱进行标定。标定过程采用先单目,后双目的原则,其大致过程如下:

(1)通过程序生成标定板图像并打印出来,打印角点数为12×9;

(2)采集标定板图像。保持双目相机姿势固定,不断变换标定板相对于相机的位置,拍摄20 组图片;

(3)提取角点,进行单目标定。在经过多次迭代后,得到单目相机的内外参数,并将其保存;

(4)双目标定,对左右相机的标定结果进行立体标定,得到两个相机坐标系之间的旋转矩阵以及平行向量。

2.3 立体校正

要通过两幅图像计算出物点到相机平面的距离即深度,就必须将两幅图像中的同一像点准确地匹配对应起来,这样才能根据该物点在两幅图像之间的位置关系计算出物体的深度。为了减少立体匹配的复杂程度以及计算量,两个相机的成像平面应处于同一平面,也就是两个相机的光轴应该平行,但是如果仅仅通过仔细地摆放相机位置来达到这个目的是很困难的,而立体校正正是通过几何图像之间的变换关系,使原本不满足上述位置关系的两幅图像平面满足该条件。

本文使用Bouguet 方法进行立体校正以及畸变校正,校正后的图像如图2 所示。

图2 校正后的左右图像Fig.2 Left and right images after correction

3 图像预处理与立体匹配

使用双目相机采集汽车的图像,并对其进行预处理,将其作为系统的输入。由于原始图像存在噪音等不利因素,因此需要进行预处理。经常使用的预处理方法有灰度化、图像平滑等。

3.1 灰度化

本文使用的是彩色相机,采集的图像直接使用RGB 数据来表示颜色。彩色图像中的每个像素均由颜色、亮度、饱和度等信息分量构成。在进行图像处理时,由于彩色图像拥有众多分量因素导致数据量大、计算时间长,为了计算方便,提高效率,需要将彩色图像转换为数据量小的灰度图像。所谓的灰度化处理,就是把彩色图像转换为灰度图像,即将三通道图像信息经过一系列变换后转换为单一通道图像信息。本文采用加权平均法对图像进行灰度化处理,该方法的公式为

式中:Y ——像素点灰度;R,G,B——像素点的RGB 值。将图像灰度化可以有效降低后续图像预处理的计算量,使程序处理速度大大提升,后续实验表明,对灰度图像进行处理后,视差图的质量更好。图像灰度化后如图3 所示。

图3 汽车灰度化图像Fig.3 Car gray image

3.2 图像滤波

图像滤波是为了减少图像在获取过程中产生的噪声。如果一幅图像中的噪声种类较多,就会严重影响图像的质量以及后续的处理。因此,为了消除噪声,必须根据实际情况进行处理。一般来说,图像滤波的方法有领域平均法、加权重值滤波法以及中值滤波法,将三种算法性能进行比较,针对尺寸检测系统而言,中值滤波法的处理效果较好,同时也满足实时性的要求。滤波后的图像如图4 所示。

图4 汽车滤波图像Fig.4 Automobile filtered image

3.3 SGBM 匹配

立体匹配过程可类比为人眼通过不同视角观察物体,使物体在视网膜上成像,以此获得物体空间信息的过程。利用双目相机拍摄的汽车图像,寻找两幅图像对应的匹配点,进而较为精准地计算出这点的世界坐标,这就是立体匹配的过程。

立体匹配的重点在于算法,立体匹配的精度在很大程度上由匹配算法的优劣决定。科学家们在对双目视觉研究过程中,提出了大量匹配算法,根据最优化理论方法的不同,可以分为局部、基全局和半全局这三类匹配算法。尽管局部匹配算法匹配精度较低,但是匹配速度较快,效率较高;全局匹配算法恰恰相反,匹配精度较高,但是匹配效率较低。因此,为了兼顾匹配效率和匹配精度,打算采用半全局匹配算法。本文采用的是半全局匹配算法中的SGBM 算法。

SGBM 算法的核心步骤为:选取匹配基元;构建能量代价和函数;求取能量代价和函数的最优解。SGBM 算法所求的视差图如图5 所示。

4 汽车尺寸测量试验与结果分析

4.1 检测平台搭建

为了验证以上提出的汽车尺寸检测方法,搭建了检测平台,如图6 所示。试验主要硬件设备有:一台USB3.0 接口的莱娜双目相机,型号为HNY-CV-003C,分辨率为2 560×960,帧率为60 f/s,像素尺寸为3.75 μm×3.75 μm,镜头焦距为3.6 mm,工作电压为5 V,基线距离为6 cm;标定板选用12×9 的棋格板;一台配有MATLAB2017b 以及OpenCV 的笔记本电脑。

4.2 双目标定试验

使用MATLAB 工具箱进行“先单目,后双目”标定,双目相机标定结果如下:

式中:Pl,Pr——左右摄像机的内参;Dl,Dr——左右摄像机的畸变系数;R,t——旋转向量和平移向量。

4.3 汽车尺寸求取

假设目标点在左视图中的坐标为(u,v),计算的视差为d,目标点在以左相机光心为原点的世界坐标系中的坐标为(Xw,Yw,Zw),根据式(8)可得该目标点到相机平面的距离信息为

式中:Tx——校正后的双目相机光心距离。

又因为

式中:W——非零常数。当u0=时,由式(8)和式(9)可得:

空间点坐标可表示为[Xw/W,Yw/W,Zw/W]T。在OpenCV中,目标的距离信息可由reprojectImageTo3D 函数获得,SGBM 算法最终获得的三维点坐标以及尺寸检测结果如表1、表2所示。

表1 SGBM 算法检测结果Tab.1 SGBM algorithm detection results

表2 测量数据对比Tab.2 Comparison of measurement data

利用校正后的图片以及标定好的相机参数,通过SGBM 算法获取汽车头尾在左相机坐标系当中的世界坐标,通过两点之间距离公式,即可对汽车的长度进行检测。由表2 可知,利用本文提出的测量方法,测得汽车尺寸的最大误差是9.460 mm,最小误差是7.810 mm。通过双目视觉检测系统进行汽车尺寸检测,可以减少人为测量时间,提高了效率。在测量过程中,相机的标定结果、光照、对基线距离的控制等因素对实验结果影响较大,因此这将是以后继续研究与改进的方向。

5 结论

设计了一种基于MATLAB 与OpenCV 相结合的双目立体视觉尺寸检测系统,通过在C++的环境下,基于双目测距的基本原理,利用MATLAB标定工具箱对双目相机进行标定,将得到的摄像机内外参数等结果导入到OpenCV 进行后续的图像预处理与立体匹配等,最终得到实际场景中汽车的三维信息,进而实现汽车尺寸的测量。根据试验结果可知,该系统较好地完成了图像的立体匹配以及视差图的获取,有较好的稳定性和较高的鲁棒性,对现实场景中检测出的汽车尺寸误差在10 mm 之内,可以应用于实际检测中。

猜你喜欢

双目标定灰度
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
采用改进导重法的拓扑结构灰度单元过滤技术
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
轻卡前视摄像头的售后标定
一种相机标定板姿态变换装置设计
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
使用朗仁H6 Pro标定北汽绅宝转向角传感器
Arduino小车巡线程序的灰度阈值优化方案