基于图像处理的色盲导视系统*
2020-12-16陈凤,罗山
陈 凤,罗 山
(攀枝花学院交通与汽车工程学院,四川 攀枝花 617000)
0 引言
色盲分为全色盲和半色盲,全色盲的生活中只能看到灰白两色,而半色盲则可以看到部分颜色。色盲人不仅不能看到五颜六色的大千世界,而且在平时的生活中有诸多不便,甚至存在安全隐患,比如色盲人过有信号灯的人行横道、看一些红绿色的紧急灯等场合。特别是红绿色盲不能分清此时红绿灯的颜色状态,不能正确地判断能否通过人行横道,从而可能造成交通安全事故。尽管现有许多解决红绿色盲过人行横道的办法,但也存在一些不足[1]。本文采用数字图像处理技术实现适合于红绿色盲的仿真导视系统,使色盲人直观地把看到红绿灯颜色,为其安全出行、生活带来方便,为色盲导视系统的硬件实现提供支撑。
本系统主要由图像采集、图像预处理、红绿灯定位、颜色判断及转换四个部分组成。系统工作流程如图1所示。
图1 系统工作流程
1 图像预处理
1.1 图像去噪
图像在采集、传输过程中会引入各种噪声,如椒盐噪声、高斯噪声等,将造成图像质量的下降。对这类噪声我们一般用空域滤波器进行平滑处理,最常用的平滑滤波器有均值滤波和中值滤波[2],由于中值滤波可以克服均值滤波平滑噪声的同时会带来边缘模糊的问题,具有保护图像边缘不被模糊等优势,因此采用中值滤波进行去噪处理。
1.2 图像增强
由于采集到的图像亮度会随着时间、地点、光照强度、背景的不同而不同,即使是同一地点、同一时刻采集到的图像也会随着天气的变化,导致拍出图像的亮度不同。由于亮度太低或者对比度低,造成图像内容模糊或者对后续处理带来困难,会引起红绿灯定位及颜色判断误差。图像增强可以解决图像亮度太低及对比度低的问题,它主要是增强图像中感兴趣区域的像数值,减弱背景区域的灰度值,从而提高对比度,使图像更加清晰。图像增强分为真彩色增强和假彩色增强,本文采用直方图修正进行真彩色增强,并且是直接在RGB空间中增强。
1.3 数学形态学处理
数学形态学主要包括腐蚀和膨胀两种运算,通过腐蚀和膨胀的组合可以组合出开运算和闭运算[3],其基本原理是通过集合论的方法简化数据,使用结构元素在图像中不断移动,对图像的形状和结构进行分析及处理。经过数学形态学处理的图像,可以去掉图像中的许多干扰信息,改变目标大小,提高图像在处理过程中的运算速度。
2 基于方差阈值分割的信号灯定位
针对交通信号灯的颜色或形状特征,采用方差阈值分割实现交通信号灯的检测。首先利用原图像的R、G、B值求颜色方差s,根据一定的方差阈值T对原图像进行分割,然后根据分割出的候选区域与信号灯外壳长宽比、圆形检测等进行对比、筛选,最后确定信号灯的位置。方差阈值分割的公式[4]如下:
(1)
(2)
(3)
式中,s为颜色方差,T为方差阈值,Bi为图像被分割后的像数值。
图2所示为红色信号灯和绿色信号灯的定位结果。
图2 红灯和绿灯定位结果
3 颜色判断及转换
3.1 颜色判断
根据HSV颜色模型的基本理论知识:H、S、V三个分量之间相互独立,即三个分量之间有明显的阈值范围。因此将定位后的信号灯图像转换到HSV颜色空间中,对图像进行归一化处理后,再根据红灯和绿灯的阈值范围判断出此刻处于红灯亮还是绿灯亮的情况。红灯、绿灯和黄灯在HSV颜色空间中的阈值分布如表1所示[5]。
表1 HSV颜色阈值分布
从表1可知,若信号灯图像色调H的值在[0,20°]U[345°,360°]范围内、饱和度S的值在[60,200]范围内、亮度V的值在[100,255]范围内,则系统将自动判断出此时为红灯状态;若色调H的值在[160°,190°]范围内、饱和度S的值在[65,255]范围内、亮度V的值在[100,255]范围内,则系统将自动判断出此时为绿灯状态;若色调H的值在[30°,65°]范围内、饱和度S的值在[75,255]范围内、亮度V的值在[100,255]范围内,则系统将自动判断出此时为黄灯状态。
3.2 颜色转换
我们所观察到的都是RGB空间模型下的色彩,若要让信号灯此刻的状态能被红绿色盲人观察到,须将此刻信号灯的颜色转换为红绿色盲人能够辨别的颜色。经过多次试验分析,红绿色盲人能够辨别的颜色为蓝色和蓝紫色。
首先将红灯、绿灯在RGB空间中的颜色分量直方图提取出来,再根据颜色分量定义出红灯和绿灯的取值范围,最后将红灯和绿灯在此范围内的所有像数点的颜色分别转换为蓝色和蓝紫色。在RGB空间中蓝色的分量值为(51,51,255),在RGB空间中蓝紫色的分量值为(102,0,204)。信号灯由红色转换为蓝色、由绿色转为蓝紫色的结果分别如图3和图4所示。
图3 颜色转换示例
4 结束语
针对现有色盲导视技术的一些不足,本文采用数字图像处理技术实现适合于红绿色盲的仿真导视系统。仿真系统主要包括信号灯图像预处理、交通信号灯定位、信号灯颜色判断及转换四个部分。通过图像分割、数学形态学处理等方法确定出候选区域,筛选出都满足条件的候选区域为信号灯位置。然后将定位后的交通信号灯图像由RGB空间转换到HSV空间,根据H、S、V颜色分量的阈值范围判断此时交通信号灯的颜色状态。最后在RGB空间中将信号灯的颜色进行转换,若此时为红灯状态,则将红灯颜色转换为蓝色;若此时为绿灯状态,则将绿灯颜色转换为蓝紫色。为此实现了软件仿真系统,为硬件系统的实现提供支撑。