交通标志的检测与标定

交通标志的检测与标定

文章目录

  • 交通标志的检测与标定
    • 1 问题定义
    • 2 问题分析
    • 3 实验步骤
      • 3.1 颜色空间中提取红色
      • 3.2 预处理
      • 3.3 深加工
      • 3.4 提取限速标志
        • 3.4.1 目标量度
        • 3.4.2 目标提取
      • 3.5 目标纠正
      • 3.6 数字标定
        • 3.6.1 基于双峰的阈值分割
        • 3.6.2 不足点
    • 4 未来展望

1 问题定义

本次实验要求如下:用同一种算法标定出给定的20图片中的所有的限速标识和标识中的数字。以下是本次实验中给出的20张图片。
交通标志的检测与标定_第1张图片
图1.1 20张给定的图片

2 问题分析

通过查阅相关资料,主流的交通标志的检测方法分成两类。一类是利用机器学习算法,通过端对端的网络识别与标定交通标志,通常需要一定规模的训练数据。本文拟用第二类的方法,通过图像的基本操作与图像的特征来提取标志。
通过对给定样张的分析,可以发现,限速标志做为警告示标语,边框通常常用红色,而且标识框均为圆形。本文以此为基础将一步步分析如何提取限速标志以及提取过程遇到问题(针对这20张样张,并没有对其他数据进行测试)以及解决策略。
通过上文给出限速标志的基本特征(外边框为红色且为圆形),本文利用颜色空间的方法,先提取出红色区域,在通过图像的开闭运算,膨胀腐蚀操作进行预处理,最后在利用不同区域是目标的可能性进行逐一筛选。这里要指出目标的可能性这一说法,是指该区域类圆的概率以及该区域的面积的加权和。最后,针对一些红的目标可能重叠的情况,进行最后的加工。
紧接着提取标志中的数字,通过对给定的图像进行统计,可以发现如果是限速标志,其直方图通常是双峰,一个峰为目标区域,另一个则为背景。这样就可以分理处数字了。其中遇到的一些问题将会在后续的小节中展开。

3 实验步骤

3.1 颜色空间中提取红色

由于RGB空间中R,G,B三个分量不是能较好的刻画红色,这里先转换到HSV空间,在进一步提取。
交通标志的检测与标定_第2张图片
图 3.1.1 提取红色

3.2 预处理

这一步对结果有这举足轻重的作用,由 图 3.1.1 可知疑似目标均以圆环形式呈现,但是我们知道,这种比较细的纹理在进行图像运算过程中,很可能断裂,甚至缺失,那么为了防止目标的丢失,首先需要填充圆环。这样就可以通过腐蚀重建减少椒盐噪声的影响。
交通标志的检测与标定_第3张图片
图 3.2.1 预处理的结果
但是这也带来一定的问题,图 3.2.1 Figure4中,一些堆积在一起的噪音点形成了较的一块区域,如果不是噪音点,而是目标呢?后续小节将给出一种解决方案。

3.3 深加工

显然通过预处理,大部分目标已经聚集成块,那样就可以得到各个区域的面积,这样一来,便可以通过这一信息自适应构造结构元素,进一步消噪。
这里先指出类圆度定义:
C S = 4 π S / C ; CS=4πS/C; CS=4πS/C;
S 指该区域的面积,C指该区域的周长
由于目标大多为圆形,这里自然采用圆形结构元素,半径Radius定义如下
R a d i u s = ( ∑ ( S ∣ C S > t h r e s h o l d ) ) n π Radius= \sqrt {\frac{(∑(S|CS>threshold))}{n\pi} } Radius=nπ((SCS>threshold))
t h r e s h o l d threshold threshold 为给定的一个阈值,n指满足分子区域块个数。
[之前版本笔误,目前已更正]
这个半径的提出,认为圆形的区域是目标的概率更大。利用这种方式既可以保证较大的非目标区域不会对小目标造成干扰,也可以有效的去除相对可能目标的较小的噪音点。
交通标志的检测与标定_第4张图片
图 3.3.1 深加工的结果

3.4 提取限速标志

3.4.1 目标量度

目标量度有两个方面衡量,一个是面积,面积越大越有可能是目标;另一个是类圆度,越圆越有可能是目标。
T P = w 1 C S + w 2 S / S m a x TP=w_1 CS+w_2 S/S_{max} TP=w1CS+w2S/Smax
其中w1指类圆度权重,w2指面积权重 且 w 1 + w 2 = 1 w1 + w2 = 1 w1+w2=1

3.4.2 目标提取

求出每个区域的TP值,当大于阈值时,则该目标被初步认定为限速标志。
交通标志的检测与标定_第5张图片
图 3.4.1 预标定的结果

3.5 目标纠正

上文提到,比较靠近的目标极有可能粘连,为了解决这一情况,做了以下说明
当区域中已存在目标,将忽视粘连情况
若不存在目标,我们认为目标可能粘连,且发生在最大区域
造成这种现象原因如下,我在填充时,为了尽可能保留细节的同时,也缩小目标之间的距离,这里假定目标相对较大,解决方案:不去进行预处理,而是直接利用深加工中构造的结构元素直接腐蚀重建原图,然后再进行膨胀填充。效果如下
交通标志的检测与标定_第6张图片
图 3.5.1 预标定的结果

交通标志的检测与标定_第7张图片
图 3.5.2 预标定的结果
从对比图可以看出,从一定程度上缓解了目标黏连问题。

3.6 数字标定

3.6.1 基于双峰的阈值分割

通过3.1 – 3.5的工作,以及可以较好的扣出目标,现在放在面前的工作便是数字标定。本质上就是在分割的过程,经过实验发现,圈定的目标的直方图是双峰的,于是,本文采用基于双峰阈值的分割方法。
交通标志的检测与标定_第8张图片
图 3.6.1 标定的结果

3.6.2 不足点

在进行分割时,发现框定的目标的光照不均匀,或者对比度不明显时,遇到了以下情况,碍于时间,这里仅提供一个思路(笔者已使用同态滤波做过尝试,效果不理想),笔者仍建议通过标定的区域建立光照模型,然后在进行双峰阈值分割。
交通标志的检测与标定_第9张图片
图 3.6.2 标定的不足

4 未来展望

  1. 本文设置类圆度的权重,面积比重等参数,碍于时间与数据的不足,参数均是基于结果手工调制。如果时间与精力充足,这里可使用神经网络与label化的数据进行学习相关参数,让模型具有更广泛的描述力。
  2. 本文碍于时间关系,标定数字中存在这很大的提升点,例如使用光照空间或者或者自适应的灰度线性变换 图3.6.2的情况可以大幅度好转,达到图3.6.1所示效果将不再遥远。

代码传送门:有C币这边请
代码传送门:github这边请

你可能感兴趣的:(图像处理,matlab)