基于红外图像的夜间驾驶员疲劳检测系统设计

2018-08-09 02:23黄胜许超然
汽车实用技术 2018年14期
关键词:分类器个数灰度

黄胜,许超然

(长安大学汽车学院,陕西 西安 710000)

随着汽车交通运输业的快速发展,我国机动车的保有量不断的上升,交通安全事故发生越来越严重,交通安全问题已然成为一个严重的社会问题。交通事故的发生给我国国家人民生命财产安全和国家财产带来了非常大的损失,而且这些交通事故中很大一部分是驾驶员的人为因素造成的,其中就包涵了驾驶疲劳。当前来说由于疲劳驾驶而引发的交通事故越来越多,而夜间是疲劳驾驶的高发时段。热红外的人脸图像基本上受光照的影响很小,能够在夜间准确的反应驾驶员的驾驶状态。红外成像系统并不和主动红外夜视仪一样需要红外光源,也不像微光夜视仪一样需要借助夜天光,这种系统使依靠目标和背景的辐射差产生的景物图像。热红外的人脸图像基本上受光照的影响很小,能够在夜间准确的反应驾驶员的驾驶状态。

针对得到的驾驶员脸部的红外图像,采用OpenCV中分类器对驾驶员脸部进行识别,用到的算法就是 AdaBoost算法。AdaBoost算法针对的是不同的训练集训练同一个分类器,然后把这些在不同的训练集上得到的分类器集合起来,构成一个更强的最终的分类器。理论证明,只要是每个弱分类器分类能力比随机猜测的要好,当其中个数趋向于无穷时,强分类器的出错率将趋于零。

针对得到的红外图像进行灰度化、直方图均衡化、中值滤波化、二值化等一系列的处理,得到人眼瞳孔当中黑素像素的个数,将得到的个数与判定驾驶员驾驶疲劳时人眼瞳孔中黑色像素的个数相比较,如果大于设定的个数那么就可以判断驾驶员处于疲劳驾驶状态。

1 基于OpenCV对红外图像进行处理

人脸识别的研究一般分为三个部分:从比较复杂的场景中检测出人脸位置,并且分离出来;抽取出人脸识别的特征;然后再进行人脸的匹配和识别。

图1 夜间彩色图片(眼睛睁开和闭合的状态)

图2 夜间红外图像(眼睛睁开和闭合的状态)

图3 夜间红外图像(眼睛半睁开和睁开的图片)

2 本文所采用的人脸检测方法与图像处理

本文所使用的人脸识别方法是基于OpenCV中的脸部分类器来实现,这种方法相对来说简单易实现。对于拍摄到的红外图像借助OpenCV进行人脸识别。

图4 夜间红外图像对人眼的识别与检测

针对得到的驾驶员脸部的红外图像,采用OpenCV中分类器对驾驶员脸部进行识别,用到的算法就是 AdaBoost算法。

AdaBoost算法针对的是不同的训练集训练同一个分类器,然后把这些在不同的训练集上得到的分类器集合起来,构成一个更强的最终的分类器。理论证明,只要是每个弱分类器分类能力比随机猜测的要好,当其中个数趋向于无穷时,强分类器的出错率将趋于零。

本系统检测出人脸的位置后需要对检测出的人脸图像进行灰度化的处理。为了加快图像的处理速度进行的图像灰度化处理对图像并没有影响,而且灰度图像上面得到的验证算法,很容易移植到彩色图像上,依然能过反映整幅图像的整体和局部的色度和亮度的等级的分布和特征。

将图像上所有点的灰度设置为0或者是255(也就是图像的二值化处理)通过选取适当的阈值将256个亮度等级的灰度图像得到仍然可以反映图像整体和局部特征的二值化图像。

3 程序实现

借助OpenCV检查已经二值化的图像中人眼瞳孔的黑色像素个数,如果黑色像素个数大于已经设定好了的疲劳状态下人眼瞳孔中黑色像素个数的话那么系统将会判断驾驶员现在处于疲劳状态,那么系统将会发出警告,提醒驾驶员及时采取相对应的措施以保证驾驶安全。

图5 眼睛睁开时二值化图像(正常状态)

图6 疲劳状态图

图7 处于睡眠状态

图8

如果黑色像素个数不大于已经设定好了的疲劳状态下人眼瞳孔中黑色像素个数的话那么系统将继续检测。

交通事故频繁发生的主要原因之一是驾驶员的疲劳驾驶。基于机器视觉的夜间驾驶员疲劳检测现在已经成为了目前国家上正在展开研究开发的一种新型驾驶员驾驶疲劳的检测方法。本文开展了基于红外图像下夜间驾驶员疲劳检测系统研究。借助OpenCV进行人脸检测与识别,对得到的人脸图像进行灰度化、直方图均衡化、中值滤波化、二值化,然后对二值化以后的人脸瞳孔中黑色像素的个数进行判断,以此来检测驾驶员是否处于疲劳驾驶状态。

猜你喜欢
分类器个数灰度
航空滤光片阵列多光谱图像条带灰度调整算法
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
采用改进导重法的拓扑结构灰度单元过滤技术
学贯中西(6):阐述ML分类器的工作流程
怎样数出小正方体的个数
天津港智慧工作平台灰度发布系统和流程设计
基于朴素Bayes组合的简易集成分类器①
Arduino小车巡线程序的灰度阈值优化方案
怎样数出小木块的个数
一种自适应子融合集成多分类器方法