基于图像处理的汽车桩考违规判断
http://www.paper.edu.cn
刘刚
中国农业大学工学院,北京(100083)
E-mail:liugangrivaldo@gmail.com
摘 要:本文研究了智能图像汽车桩考系统的考车压线判断方法。步骤包括:提取库线,标
定参考直线,确定判断阈值和判断考车是否压线。在判断考车是否压线时,根据阴影的特性,
采用判别分析法将考车压线与车影压线区别开。本文采用的算法有较强的适用性,人为主观
因素的影响小,判断准确性高。实验结果表明,在较强的光照条件下,此算法能排除阴影的
干扰,实现压线判断功能。
关键词:直线检测,哈夫变换,压线判断,判别分析法
中图分类号:TP317.4
1. 引言
随着中国经济的迅猛发展,中国汽车保有量也在快速增长,同时也使得驾驶员培训市场
蓬勃发展。目前国内一些驾驶员培训学校和考场已经运用了电子桩考仪,这些电子桩考仪由
于大量采用传感器,使得其存在自动化程度低、调试麻烦、对环境因素(例如风速)敏感、
准确性不高(容易误判、漏判)等缺点。为了提高桩考仪的准确性和稳定性,有必要探求采
用新的技术来克服上述缺点。
图像处理技术作为一门非常前沿的技术,经过几十年来的发展,已经被广泛运用于工业、
农业、军事等领域。像桩考这种背景比较简单、固定的场合,非常有利于图像处理技术的运
用。目前国内已经有人开展了这方面的研究。孙华燕、李迎春、唐黎明从理论上介绍了如何
将图像处理技术运用于桩考系统[1]。陈兵旗、王志强,从实际应用上介绍了如何将图像处理
技术运用于桩考系统[2]。国内也有部分公司推出了运用图像处理技术的视频桩考仪,例如思
凌科技-DZY 系列驾校电子桩考仪以及北京现代富博开发的 FBZK-05 型电子桩考仪。
本研究的目的是为最终开发一个智能图像汽车桩考系统做一个探索性的尝试和重要的
铺垫。在智能图像汽车桩考系统中,拟全部采用摄像头来代替传感器,将图像处理技术真正
的运用到桩考系统中,充分发挥图像处理技术的优势,提高桩考系统的准确性和可靠性。判
断考车是否压线为该系统的重点和难点部分,而这正是本文所要解决的问题。
2. 实验方法
本研究的实验系统由硬件和软件两部分组成。硬件部分包括:计算机、数码照相机和三
脚架。软件开发工具是利用 Microsoft Visual C++ 6.0,在北京现代富博科技有限公司的二维
运动物体检测平台 MIAS 上进行开发的。
2.1 实验用图像的采集
本实验通过数码照相机采集图像,图像分辨率是 640×480,图像为灰度图像。将照相机
安放在三脚架上,位置距离地面大约 50cm,俯角约 45°。使库线尽可能地位于图像中心,
并且看到库线端头,库线边缘与图像左右两侧留出一定距离。
为了提高处理速度和针对性,用鼠标在图像上划定为梯形的处理区域,处理区域包含整
个库线,以及库线左右两侧大约为其宽度 1/3 的区域。
当考车进入考场前,拍摄库线图像,作为参考帧。然后使考车分别从左右两侧接近库线,
直至压上库线,在这一过程中针对不同的情景分别采集图像,将这些图像作为读入帧,与参
- 1 -
http://www.paper.edu.cn
考帧进行对比,判断考车是否压线。
2.2 库线提取
关于库线提取,有一些相类似的题目,例如车道线的提取以及 AGV(自动导引运输车)
视觉导引车的路径识别等。在车道线提取中,常用的方法是分析大量的图像序列[3],进行阈
值分割,提取出车道线。在 AGV 视觉导引车的路径识别中[4],常用的方法是首先进行最优
阈值分割,然后再进行形状分析,去除离散的小斑点,最后采用最小二乘法拟合直线。对于
库线提取,不能进行图像序列分析,所以不能运用提取车道线的方法提取库线。AGV 视觉
导引车的路径识别方法对图像的质量要求较高,要求路径图像具有较高的灰度均匀一致性,
灰度统计直方图具有明显的双峰。由于桩考场地位于室外,光照条件无法控制,易受影子等
因素的影响,而且库线容易受到污损,用此方法不易进行识别。
根据库线的特点,本研究采用如下方法提取库线。用如图
1 所示的加权平均平滑滤波器[5],对处理区域进行滤波处理。
应用此滤波器进行平滑处理,可以减少平滑处理中的边界处模
糊现象。如图 2 所示,梯形处理区域上下两边的中点分别为 A,
B 两点,线段 AB 将处理区域分为左右两个部分。从线段 AB
开始,在处理区域内,分别向左右两侧扫描。即在左半部分,
用右侧像素减左侧像素,若其灰度差大于
20(经验值),则将其置白(255),否则
置黑(0);在右半部,用左侧像素减右侧
像素,若其灰度差大于 20,则将其置白
(255),否则置黑(0)。再将面积为 5 像
素数以下的点看作噪声予以去除。已知左右
两部分各包含一条库线的边缘线,并且其与
水平方向的夹角的绝对值在 45°至 90°之间,
利用这两个已知条件做一般的哈夫变换拟
合直线[5]。拟合直线夹在梯形处理区域内的
部分,即为库线的边缘线。
2.3 标定方法
- 2 -
1
2
1
2
4
2
1
2
1
图 1 加权平均滤波器
处理区域的中线
A
处理区域
待 检 测 的 库
线边缘线
B
图 2 扫描库线边缘线示意图
2.3.1 考车压线与车影压线的区别
http://www.paper.edu.cn
考车
车影
库线
库线
(a)考车压线示意图
(b)车影压线示意图
图 3 考车压线与车影压线的区别示意图
当考车压线或者车影压线时(在这里都称之为压线),被遮住的库线和地面的灰度值都
会发生变化,但它们之间有明显的区别。如图 3(a)所示,被车身或车轮遮住的库线与地面的
灰度差会比较小。如图 3(b)所示,被车影遮住的库线与地面的灰度差与未压线时的灰度差接
近。可利用这一明显差异,对考车是否压线进行判断。首先标定出参考直线的位置,通过参
考帧的参考直线求出库线与地面的灰度差,并根据读入帧参考直线灰度差的变化,判断考车
是否压线。
2.3.2 参考直线的标定
在每一条库线边缘线的两侧,分别选取两条线段作为参考直线。以左半部分的库线边缘
线为例,具体的选取方式是,如图 4 所示,处理区域内有两条库线边缘线 AB 和 CD,在线段
AC 上,在距离 A 点为 AC 的 1/5 长度的位置选取点 E,在线段 BD 上,在距离 D 点为 BD
的 1/5 的位置选取点 F,线段 EF 即为右参考直线。同理,可获得左参考直线 GH。
G
A
E
C
左参考直线
处理区域
右参考直线
库线边缘线
H
B
F
D
图 4 参考直线的选取
- 3 -
http://www.paper.edu.cn
2.3.3 判断阈值的确定
将所有得到的差值的绝对值存入数组中,然后进行数组求和,再求出平均值,将其叫做
参考灰度差 RG。选取 RG 的一半作为压线判断的标准,将其叫做判断阈值 JT。
2.4 压线的判断
将库线边缘线左右两条参考直线 EF,GH 上,灰度值减少都大于 30(经验值)的部分
列为疑似压线部分,只对此部分进行分析,而不考虑其余部分。对于含有疑似压线部分的读
入帧,首先在处理区域内进行 3×3 的中值滤波。疑似压线部分可能会包含以下几种情况:考
车压线(车身或车轮压线),车影压线,考车和车影同时压线等。疑似压线部分的灰度差,
与 RG 相比,可能会有很大的差异。当疑似压线部分为影子时,灰度差与 RG 差不多。当疑
似压线部分为考车车身或车轮时,灰度差很小。当轮毂也包含在疑似压线部分时,因为轮毂
与轮胎有很大的灰度差,灰度差很大。本文采用判别分析法[6],获得一个最佳分组阈值,将
考车压线部分(即灰度差小于 JT 的部分)分离出来。当考车和车影同时压线时,如图 5 所
示,应用如下方法进行判断:
1)首先获取疑似压线部分灰度差的绝对值,将其存入数组 D[]中,然后通过计算获得
数组 D[]的最小值 min
t 和最大值 max
t 。阈值变量 k 和 T 的初始值设为 min
t 。
2)根据阈值 k,数组 D[]可被分为组 1Q 和组 2Q 。如果数组 D[]中某一元素大于 k,则其
Bσ 分别由公式(1)
wσ 和组间方差 2
属于组 1Q ,否则属于组 2Q 。组 1Q 和组 2Q 的组内方差 2
和公式(2)计算:
2
σ
w
=
MMw
1
−
(
1
=σ
2
B
T
)
2
w
1
w
w
2
σ
2
2
+
+
(
w
2
σ
1
1
w
1
MMw
2
w
2
−
+
+
2
2
(1)
2
)
T
(2)
其中,w1 表示 组 Q1 元素的总个数,w2 表示 组 Q2 元素的总个数,M1 表示组 Q1 元素的
2σ 表示组 Q2 元素的方差,MT
1σ 表示组 Q1 元素的方差,
2
2
平均值, M2 表示组 Q2 元素的平均值,
表示所有元素的平均值。
2
1σ , 2
因为 w1,w2,M1,M2, 2
2σ 以及 MT 的值可以通过 k 计算,
Bσ 也可通过 k
wσ 可通过 k 计算并且可设为变量 r,初始值设为 R。如果 k 与 t min 相等,则
计算。所以 2
Bσ /
原始值 R 被赋值为 r。
3)将 r 与 R 进行比较,如果 r 的值比 R 的值大,那么 R 被赋值为 r,T 被赋值为 k。然后 k
被赋值为 k+1,并将其设为新阈值。如果 k 比 t max 小,那么进入步骤二,否则进入步骤四。
4)D[]被分为两部分,组 Q1 和组 Q2,组 Q1 为车影压线部分,组 Q2 为考车压线部分。
wσ 和 2
2
当轮胎、轮毂和车影同时出现在压线位置时,如图 6 所示,用判别分析法可能将轮胎压
线和车影压线部分都归到组 Q2 当中,针对此情况,对组 Q2,再应用判别分析法,此时得到
的低于分组阈值的称为组 Q3。若组 Q3 的平均值 Q3_A 仍低于 JT,并且元素的个数大于 10,
则可认为是考车压线,若高于 JT 或元素的个数小于 10,则可认为考车未压线。整个压线判
断流程如图 7 所示。
- 4 -
考车
车影
http://www.paper.edu.cn
轮毂
库线
轮胎
车影
库线
图 5 考车和车影同时压线示意图
图 6 轮毂出现在压线位置示意图
Y
对低于 T1 的一组,应用判别
分析法,得到低于分组 T2 一
组的平均灰度值 Q_A
对 D[ ] 应用判别分析
法 , 得到 分组阈值 T1
T1 > RG ?
N
计算组 Q2 的平均灰度值
Q _A
N
Q_A < JT?
Y
考车压线
考车未压线
图 7 应用判别分析法判断压线流程图
3. 实验结果和讨论
3.1 图像采集
本研究选取某一场地内的白色线作为库线,一辆灰色小型车作为考车进行实验。库线图
像如图8所示。照相机视野应该将整条库线包含进来,并且库线底部不充满整个视野,为压
线判断预留出足够的空间。在本研究中,照相机的安放位置,可以满足要求。处理区域的设
定关系到处理速度以及准确性,如果处理区域过小,会影响判断精度;如果过大,会包含过
多无关信息,使计算量上升而准确性降低。
- 5 -
http://www.paper.edu.cn
3.2 库线提取
图 8 库线图像
在扫描库线边缘点的过程中,阈值不能选取的过大,否则会提取不出库线边缘线上的点。
过小,容易提取出过多的噪声点,特别是一些影子的边缘点。在本实验中,选择20,可以将
大部分库线边缘上的点检测出来。库线边线上的点基本提取出来,同时也包含一些噪声。通
过去除像素数为1的点,达到了降噪的目的。再对左右两部分,分别应用限制条件的广义哈
夫变换,拟合出库线边缘线。拟合出的库线边缘线如图9所示。
图 9 哈夫变换拟合的库线边缘线
3.3 标定
对于如何选取参考直线,也就是具体在什么位置上选取,不仅要考虑到压线判断的精度
问题,还要考虑到系统的分辨能力。如果距离库线边缘线的距离太远,容易造成漏判,使系
统精度降低;距离太近,一是可能会由于相机的轻微晃动使参考直线位置偏离,从而对判断
造成影响;二是边缘线可能存在与拟合直线不完全吻合的地方,从而对灰度差的计算和压线
判断都造成影响。本研究选取库线宽的 1/5 作为参考直线与库线边界线的距离,并且在每个
水平位置的距离都要为其对应库线宽的 1/5,这样选取保证了压线判断精度的统一性,并且
能满足实际的判断精度需求。
本实验中求出的RG为23,JT为11。
- 6 -
http://www.paper.edu.cn
3.4 压线判断
应用判别分析法,在考车和车影同时压线时,可以将考车压线部分(轮胎压线或车身
压线)分离出来,但如果是单纯的考车压线或单纯的车影压线,应用判别分析法虽然不会
将疑似压线部分分为考车压线和车影压线两部分,而是分为灰度差相近的两组,但其结果
仍会反应考车的真实情况。
考虑到压线判断的精度,在本研究中,通过判别分析法分离出来的压线部分,如果其
像素数小于 10,则不将其视为压线。
在有些情况下,由于太阳的移动,造成铁塔或桩杆的影子也随之移动,其压线的部分也
成为疑似压线部分。应用判别分析法,会将它们的影子与车影归为一类,不会对判断造成影
响。
分别对考车压线、车影压线、考车及车影同时压线,还有考车轮毂、轮胎以及车影同时
压线四幅图像进行分析判断,得到如下结果。图10(a)为轮胎压线情形,图10(b)为车影压线
情形,图10(c)为考车和车影同时压线情形,图10(d)为轮胎,轮毂和车影同时压线情形。应
用本研究所用方法,得到如表1所示的压线分析结果,可以判断出用此方法可以准确判断考
车是否压线。
(a)单纯的考车压线
(b) 单纯的车影压线
(c)考车和车影同时压线
(d)轮毂出现在压线位置
图 10 桩考过程中的四种情况
- 7 -
http://www.paper.edu.cn
表 1 实验结果
Q3_average
是否压线 与实际情况
(组Q3的平均灰度值)
是否相符
图3(a)
图4(b)
图5(c)
图6(d)
6
20
8
7
压线
相符
未压线
相符
压线
相符
压线
相符
4. 结论
在本研究中,提出了提取库线以及判断考车是否压线的方法。在库线提取中,采用了限
制条件的一般哈夫变换拟合直线的方法,此方法不受阴影以及库线污损的影响,能够很好的
拟合出库线的边缘线。在考车压线判断中,根据阴影的特点,应用判别分析法,很好的将考
车压线部分分离出来,排除了考车阴影的影响,并且也可排除其他物体阴影的影响,有较强
的适用性。为适应各种天气状况,还需进一步做实验,予以改进。
- 8 -