基于人眼识别的汽车辅助驾驶系统设计与研究

    王皓 张海艳 邱文凯

    摘 要:近年来,由于疲劳驾驶所导致的交通事故比例持续上升,而传统疲劳驾驶检测技术和方法在现实应用中效果较差。本文利用人眼识别技术,研究并设计了一套基于计算机图像处理的疲劳驾驶检测系统。通过一系列图像处理技术提取人眼特征参数,经过对比判断是否存在疲劳驾驶情况。实验证明该系统可以达到真正的实时性,及时发出警报,有效预防疲劳驾驶。

    关键词:人眼识别;疲劳驾驶;图像处理

    近年来,科技水平不断发展,人工智能已经成为当前的一大热点,而人脸识别更是人工智能领域的重中之重。人眼检测作为人脸识别不可或缺的一部分,随着图像处理技术的不断发展,已经实现了跨越式的突破。由于人眼识别技术日趋成熟,人眼识别技术的应用也越来越广泛,其中尤以基于人眼检测的汽车辅助驾驶系统最为广泛。

    目前,我国每年的道路交通事故中,造成汽车碰撞事故的原因有近四成是疲劳驾驶,因此疲劳驾驶已成为交通事故的主要杀手。通常驾驶员在经过长时间的驾驶之后,其身体各项生理状况均会不同程度地下降,其中最明显的表现是反应水平的下降,这是由于驾驶员疲劳驾驶时犯困以致于注意力不集中,而人在犯困时最明显的特征就是频繁地眨眼睛。因此基于人眼检测以防止驾驶员疲劳驾驶的辅助驾驶系统,已经成为当前研究的一大热点。

    1 疲劳检测技术仍处于落后阶段

    早期的疲劳检测方法主要是通过医疗设备对驾驶者身体各项的生理参数进行监控,以此作为驾驶者疲劳状态判断的依据。但由于医疗设备的价格昂贵,对于汽车驾驶者尤其是私家车主来说,车上并不会安放医疗设备,而医疗设备大多体积庞大且需要驾驶者时时佩戴以进行检测,这对驾驶者会造成非常大的不便,因此早期的疲劳检测方法已不适用于现状的发展。现有的检测方法不能很好地判断疲劳状态,对驾驶者的疲劳状态存在错判、误判等问题,对疲劳状态程度的判定也不够准确,未来的研究需要将疲劳状态进行量化,建立准确的疲劳程度划分标准,对疲劳检测问题不断进行完善。

    随着汽车数量不断增加,其作为日常的主要交通工具,导致疲劳驾驶情况出现的概率增加,随之而来的是交通事故频发,就目前而言,提高驾驶安全性需求高,市场前景广阔。其中基于人眼检测的汽车辅助驾驶系统正在兴起,但该领域的发展尚不完善,还有很多地方需要开发。

    本系统以人眼检测为基础、疲劳检测为主要功能,其结果可以作为司机当前疲劳状态的主要判定依据。本系统可以应用于汽车辅助驾驶系统,可以对疑似疲劳驾驶的司机提出停止行驶警告,保证其生命财产安全。

    2 系统设计

    总体设计框架

    首先编写核心算法,然后利用MATLAB提供的GUI接口建立框架,将算法导入框架中,进一步完成功能设计,形成一个人眼检测系统。系统主要包括图像获取、图像预处理、人脸检测、人眼检测和疲劳程度检测五个方面。

    系统执行过程中,首先将摄像头中包含人脸的帧图像提取出来。由于图像质量在不同的光照强度、不同的天气和不同的设备下都会受到影响,如果直接对摄像头获取的图像进行检测,会产生不理想的结果。所以在对图像检测之前先对其进行预处理,按一定的灰度线性变换函数对图像进行灰度化,使用空域法中的均值滤波对图像进行平滑处理,再使用Robert边缘检测得到图像的颜色、亮度等信息,搜索出人脸边界,之后再对图像做二值化处理。然后使用人脸检测和人眼检测相结合的方法定位可能区域,再使用黑色连通区域标记法解决对于配戴眼镜的驾驶员人眼定位不准的问题,最后使用PERCLOS方法,降低误报率。

    3 系统实现概述

    3.1 图像采集

    图像采集是图像获取的主要途径,也是图像预处理技术的基础。本系统通过车载高清摄像头对驾驶者进行实时摄影,通过对视频中的每一帧画面进行优化处理,保证图像的采集质量,对采集到的图像进行预处理,突出感兴趣区域,然后对图像的特征进行提取,识别出驾驶者的人脸部分,在此基础上再进行人眼的检测。

    本系统图像采集的速率快,检测效率高,而且不需要特殊光源,在正常光照下便可实现,此外,在光线不强甚至黑暗中均可快速、有效地实现图像采集。

    3.2 图像预处理

    3.2.1 灰度处理和直方图均衡化

    为了凸显检测到的视频帧中的细节部分并提高图像清晰度,通常需要将图像进行灰度处理。灰度变换通常被称为图像对比度增强,根据目标条件按一定变换关系逐点改变原图像中的每一个像素灰度值,下面介绍本系统采用的均值法。

    在计算机图像处理中,我们通常使用RGB颜色系统,即通过红(R)、绿(G)、蓝(B)三个通道的变化和叠加决定每个彩色图像的像素点,其中每个通道的取值均在0~255之间。项目采用的均值处理将三个分量的亮度做均值,并将平均值再次赋给该像素点,由此得到输入视频帧的灰度图。

    直方图均衡化是增加最大和最小像素值之間差值以及图像整体对比度的一种方法。将原来的动态范围从fmin~fmax改变为0~255,其算法公式为:

    gx,y=

    当摄录视频环境的照明效果不好时,最大最小之间差值会变小,对比度相对较低,也就是我们人眼所看到的图像变化不明显,经过均衡化处理后,视觉效果可得到改善。

    3.2.2 平滑处理

    受到照明、设备、传输信道等客观因素的限制,图像在传输、转换和成像等过程中获得的图像质量往往都会存在一定程度的下降。而且,一般的图像中混有随机的、形状和大小不确定的随机噪声。所以我们需要图像增强技术预先对图像进行处理,以此来获得较好的原始图像,为下一步识别人眼提供基础。

    中值滤波基本原理是将图像某像素点的规定窗口内像素值排序,选出其中的中值来代替该像素本身的像素值。例如椒盐噪声的特征是其像素值为0或255,而中值滤波使每个点的灰度值与其周围点接近,有效地消除这种孤立点噪声。除此之外,在消除噪声的同时,还能较好地保护图像的边界信息,不会使处理后的图像过度模糊。

    中值滤波器的效果受滤波窗口尺寸的影响较大,当滤波窗口过小时,虽然能够很好地保护图像中的某些细节,例如细小的边界信息,但相应的过滤噪声效果较差;反之,当窗口尺寸过大时,噪声过滤效果比较明显,但图像的模糊程度会因此变高,在该项目中我们选择3*3的窗口对图像进行降噪。

    3.2.3 gamma校正

    生物学中,人眼相较于摄像机对于暗色变化更为敏感,即对同等变化的暗色感知要强于亮色。由于人眼能够感知到更宽的亮度范围,摄像机捕捉的明暗变化与人眼看到的情况不同。因此,我们需要使用Gamma矫正帮助摄像机提高曝光技术,更加接近人眼感知的图像。Gamma矫正的原理是使用伽马曲线处理图像,对图像进行非线性色调编辑。值得注意的是,大多数显示器针对这种情况,会提前对图像做预处理,因此存储的图像颜色信息已经经过Gamma矫正,我们在进行处理时要先对图像做处理,保证它在线性颜色空间下,再做Gamma矫正。

    每一个像素点分别经过归一化、预补偿、反归一化三个步骤完成矫正,我们将图像分为深色和浅色两部分,通过Gamma矫正将两者的比例分别调大,从而实现对比度增强的效果。

    3.3 人脸识别及人眼粗定位

    为了后续更精准地标识人眼位置,我们需要提前使用脸部分类器检测出疑似人脸的位置,再用人眼分类器检测出粗略的眼睛位置,并将眼部及其周围部分截取下来,剩余部分不作处理。

    目前的检测脸部的方法主要分为两个类:基于基础知识和基于统计的检测。前者通过提取眼睛、嘴巴、鼻子等各器官特征信息,结合与人脸之间相对位置检测。后者则将人脸看做一个二维像素矩阵,通过大量的人脸部图像构造样本空间,最终根据相似度来判断是否有人脸存在。

    这两种检测框架又分别发展了许多方法,本项目使用的是基于统计检测方法中的神经网络算法。由于这种方法需要大量的训练才能够使用,而训练分类器需要大量的计算以及时间,除此之外,我们项目中样本比较少所导致的训练不精确会造成脸部识别错误。因此选择已经训练好的分类器模板,直接运用到视频帧中来获得所需的人脸区域。OpenCV开源的第三方跨平台计算机视觉库中提供的人脸识别分类器,刚好满足项目需求,所以我们在该步骤中,选择调用其中的Haar分类器完成。

    3.4 人眼特征提取及疲劳检测

    3.4.1 形态学处理

    由于需要将视频帧中有效部分提取出来,方便后续更精准快速地定位眼球位置,我们要对图像做二值化处理,因此如何准确地提取出视频帧中的有效信息成为人眼识别的关键。比如在图像中边界等有效信息的灰度值往往比非边界的灰度值高,那么我们可以把灰度值大于规定阈值的像素点标出来,而剩余的无效信息则视为背景。

    将这种算法转换成函数表达式为:

    0,x<s

    255,x>S

    其中S为规定的阈值,有效信息区设为255,即为白色,背景设为0,即为黑色,经过处理后,图像转化为黑白二值图。

    3.4.2 霍夫圆变换

    在图像处理领域中,霍夫圆变换是从图像中识别集合形状非常有效的一种方法,能够快速准确地提取我们所需要的特征信息,例如项目中人眼的位置。传统的霍夫圆变换是从黑白图像中检测圆形,上一步骤已经将录入的视频帧转化为二值图,该步则需要将图像做霍夫变换,定位眼球的具体位置。

    霍夫圆变换的原理是初始认为每一个非零像素点都有可能是某一个圆上的一点,将每一点对应的二维极值以及极角用三维的圆心x左边、y坐标和圆的半径替换,三个变量生成累积坐标平面,通过投票和设置累积权重定位圆。

    将三个参数分别设为a、b、r,笛卡尔坐标系中圆的方程为:

    由a、b、r组成的三维坐标系中,一个点可以唯一确定一个圆。在x-y坐标系中经过某一点的所有圆映射到该坐标系中将会形成一条三维曲线,而在同一个圆上的点由于圆心左坐标、直径相等,即映射到三维坐标系中同一点。由此我们可以通过设置阈值,并判断某一圆心上模向量相交数量是否大于该阈值,来确定圆的位置。

    3.4.3 疲劳检测

    系统在提取出的人脸区域中,对人眼进行检测,通过对图像人脸区域进行边缘置白,然后搜索黑色连通片区域,得到一些可能是人眼的区域,再使用平滑处理排除单个黑色像素点对人眼检测的影响,再收缩窗口以减小运算量,使用黑色连通区域标记法解决对于配戴眼镜的驾驶员人眼定位不准的问题,最后遍历可能的人眼窗口并按照一定的条件判断得到人眼的

    位置。

    根据有关研究发现:驾驶员在驾驶时若眼睛闭合时间达到0.5s以上说明人眼较为疲劳,这种情况下很容易发生交通事故。本文的系统采用PERCLOS作为测量指标,首先计算出人眼睛的闭合时间和PERCLOS值,然后对人眼闭合时间做出判断,当时间大于0.3秒,并且PERCLOS值大于一定值时,认为该驾驶员不宜继续驾驶,并对驾驶员进行提醒。PERCLOS检测方法的优势简化了检测方法,计算量小,运算快捷,达到了实时性好、检测准确率高、抗干扰性强的效果。

    4 总结

    本系统从汽车驾驶方面出发,通过对人眼检测系统的研究,准确有效地检测人眼疲劳程度,降低交通事故发生率,给社会带来长久的效益。

    从交通部门角度看,人眼检测系统的运用有利于对潜在的交通隐患进行有效的预防管理或更方便找出事故发生的成因。传统的方法只能通过乘车者的监督或采取加大宣传力度、加强特定时间的巡逻监控等。但人眼检测可检测驾驶人是否疲劳驾驶,节省人力物力资源,从而有效解决这一交通问题。另外,基于人眼的检测,可优化监测管理系统,利用计算机对不同人群的人眼跟踪识别并显示用户部分特征,从而对犯罪事件、安全事件有一定的帮助,一定程度上维护社会的长治久安。

    从驾驶员角度来看,使用基于人眼检测系統的汽车驾驶辅助系统,实时有效地检测出驾驶员的疲劳程度,对需要休息的驾驶员发出提醒信息,提醒其停车休息。对保障驾驶员生命与财产安全、减少交通事故的发生,具有重大的意义。

    从企业角度来看,近年来,随着消费者对交通工具安全性能的越发看重,很多企业已把安全系统的提高作为研发的重点。而人眼检测系统,在安全系统的指数得到提升的同时为企业降低了研发的成本。另外,人眼检测系统可通过随时检测人脸和人眼的变化并实时跟踪,利用传感器、算法和可执行层来实现辅助驾驶,从而大幅度提升驾驶的安全指数。而通过人机交互,用户对使用该企业安全系统的反馈,有利于企业对安全系统不断优化,提高企业的经济效率和利润。

    通过调查分析发现,对不同人群的人眼跟踪识别并显示用户部分特征对辅助汽车驾驶有一定的帮助。不仅如此,随着信息技术的不断革新,人眼跟踪技术的运用领域不断扩大,汽车驾驶辅助系统、视频监控、人员跟踪等都可将其运用其中。可见,智能识别系统正悄悄地走进我们的生活,随之而来的便是智能识别技术的研究价值不断提高。本文系统在技术上使用图像预处理、人脸检测与人眼检测相结合、平滑处理和PERCLOS方法,达到降低误报率的效果,在创新上强化单一操作的性能,便于不同人群的使用,适应符合当代社会发展的需求,在市场上占有一定优势。