具体实施方式
为了使本实用新型的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本实用新型进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本实用新型,并不用于限定本实用新型。
在图1所示的本实用新型车载信息智能处理系统的第一优选实施例的结构示意图中,所述车载信息智能处理系统包括疲劳判断模块2以及数据采集处理模块1,数据采集处理模块1包括第一视频子模块11以及报警子模块12,第一视频子模块11用于采集驾驶员脸部图像,报警子模块12用于根据所述疲劳判断模块2的疲劳提示进行报警;疲劳判断模块2包括数据库21以及判断子模块22,数据库21用于存储疲劳判断算法,判断子模块22用于根据所述驾驶员脸部图像和所述疲劳判断算法进行疲劳判断、得到所述疲劳提示。本实用新型的车载信息智能处理系统基于Davinci DM6446实现,Davinci系统由DSP处理器和ARM处理器双核组成,其中,DSP处理器负责方法处理工作,即 疲劳判断模块2;ARM处理器负责操作系统运行工作,即数据采集处理模块1。在DSP处理器端,疲劳检测方法、视频编码方法和音频编码方法被封装成库,然后集成到可执行程序codec server中;在ARM处理器端,首先加载codecserver,然后依据codec engine机制调用DSP处理器端的各个方法模块,实现疲劳状态检测和音视频编码功能。同时,ARM处理器负责车载信息智能处理系统的各个外围模块,包括第一视频子模块11、报警子模块12等。该车载信息智能处理系统工作时,由第一视频子模块11采集驾驶员脸部图像的视频数据传递给疲劳判断模块2的判断子模块22,判断子模块22通过数据库21和驾驶员脸部图像来检测驾驶员的是否疲劳驾驶,并将结果反馈给报警子模块12,报警子模块12接收到反馈后,如果存在疲劳状态,则驱动报警,否则重复上面的检测步骤。
在图2所示的本实用新型车载信息智能处理系统的优选实施例的判断子模块22的结构示意图中,判断子模块22包括光照归一化单元221、边缘化处理单元222、人脸检测单元223、人脸归一化单元224、特征定位提取单元225以及疲劳判断单元226。光照归一化单元221用于对所述驾驶员脸部图像的亮度进行亮度归一化处理,边缘化处理单元222用于对亮度归一化处理后的驾驶员脸部图像进行图像边缘化处理,人脸检测单元223用于对图像边缘化处理后的驾驶员脸部图像进行人脸检测、得到人脸图像,人脸归一化单元224用于对所述人脸图像进行图像归一化处理,特征定位提取单元225用于对图像归一化处理后的人脸图像进行特征定位提取,疲劳判断单元226用于根据提取的人脸图像特征进行疲劳判断。所述提取的人脸图像特征包括左眼特征、右眼特征以及嘴巴特征。
判断子模块22工作的详细步骤如图8所示:
(1)图像采集
第一视频子模块11通过I2C操作摄像机,采集人脸灰度图像,然后将图像数据传递给判断子模块22。
(2)图像预处理
预处理阶段主要包括两个方面的工作:
第一、光照归一化处理
光照归一化单元221依据图像灰度均值和方差将图像的亮度进行归一化,避免光源强度不同对疲劳检测效果的影响。设图像的标准灰度均值和方差分别为M0、V0,当前图像的灰度均值和方差分别为M、V,归一化前后的像素灰度为f0、f,则归一化公式为:
本实用新型中,设定M0=130、V0=37。
第二、图像边缘化处理
边缘化处理单元222采用的Canny方法是基于最优化思想推出的边缘检测算子,力求在边缘定位和噪声抑制两方面取得平衡。但由于图像采集和传输过程存在噪声,导致Canny算子经常检测到虚假边缘,为此,在边缘化处理单元222中增加了Butterworth低通滤波步骤,滤除图像噪声,同时增加了线性变换步骤,作用是增大图像灰度分布的动态变换范围,提高边缘灰度的变换速率,从而增强边缘细节,这样改进后的方法细节提取能力更强,具体步骤如下:
Step1:用二阶Butterworth低通滤波器对原图像f(x,y)进行滤波,得到新图像f1(x,y)。设图像的宽度和高度分别为W和H,选择滤波器的传递函数为:
其中,
滤波过程用公式描述如下:
G1(u,v)=G(u,v)×H(u,v)
Step2:选择合适的高斯函数G(x,y)平滑图像f1(x,y),得到的图像为I(x,y),用公式描述为:
I(x,y)=G(x,y)*f1(x,y),其中*表示卷积运算
Step3:对I(x,y)进行线性变换,得到图像I1(x,y),用公式描述为:
I1(x,y)=(I(x,y)-min)*255/(max-min)
其中,min和max分别为图像I(x,y)中的灰度最小值和最大值;
Step4:求图像I1(x,y)中每个像素点的梯度,包括幅度M(i,j)和方向θ(i,j),用公式描述为:
gx(i,j)=(I1(i,j+1)-I1(i,j)+I1(i+1,j+1)-I1(i+1,j))/2
gy(i,j)=(I1(i,j)-I1(i+1,j)+I1(i,j+1)-I1(i+1,j+1))/2
θ(i,j)=arctan(gy(i,j)/gx(i,j))
Step5:对梯度图像进行非极大值抑制,即在图像I1(x,y)的每个像素点的8邻域内按梯度方向比较梯度幅度,如果在梯度方向上的两个像素的幅值均小于I1(x,y)的幅值,则其有可能是边缘像素,否则肯定不是边缘像素,将其梯度幅度置为0。
Step6:按照所求取的角度θ追踪边缘,边缘追踪采用双阈值追踪法,若M≥T2,则该点判为边缘;若M<T1,则该点为非边缘点;若T1≤M<T2,考察其邻域是否有强边缘点的存在,若有,该点判为边缘点,若没有,该点判为非边缘点。本实用新型中设定T1=0.4,T2=0.8。
(3)人脸检测
人脸检测单元223采用广义Hough变换,检测人脸椭圆区域。椭圆可以由5个参数描述:中心(x0,y0),长轴长度a,短轴长度b,长轴与x轴正方向的夹角θ,其参数空间为(x0,y0,a,b,θ)。人脸椭圆检测步骤为:首先在边缘图的二维平面上,计算图像上每一点与边缘点的最大距离,所有点中最大距离最小的点即是椭圆中心(x0,y0),该最大距离即是椭圆长轴长度a。然后将每一个边缘点的数值和得到的3个椭圆参数代入椭圆方程:
在二维参数空间上对参数b、θ进行统计,得到峰值超过一定阈值的一组参数即为人脸椭圆参数。
(4)人脸裁剪
人脸归一化单元224对于检测到的人脸,对其进行裁剪和归一化,步骤如下:
Step1:以椭圆中心为中心,将图像逆时针旋转90°-θ;
Step2:设图像旋转后短轴的两个端点坐标分别为(x1,y0)、(x2,y0),则裁剪人脸矩形窗的四个顶点坐标为(x1,y0-0.6b)、(x2,y0-0.6b)、(x1,y0+b)、(x2,y0+b),依据该矩形窗裁剪人脸;
Step3:依据双线性插值方法,将裁剪后的人脸尺寸缩放到统一的尺寸,本实用新型中缩放后的人脸尺寸为120×192。
同时,为了后续检测人眼的需要,将人脸的边缘图按照相同的方法裁剪。由于两幅图像在裁剪时所有的变换关系一致,不同的只是各坐标位置对应的灰度值,故边缘图的裁剪只增加少量的运算时间。
(5)人眼定位与嘴巴定位
由于瞳孔是圆形,所以特征定位提取单元225可以依据Hough圆检测方法检测人眼。圆的参数空间是三维空间,有圆心纵坐标y0、圆心横坐标x0、半径r三个参数。圆的方程为:
(x-x0)2+(y-y0)2=r2
由于人眼只存在与人脸的上半部分,所以人眼检测过程只在归一化后的边缘图的上半部分进行。检测方法是:首先在参数空间里建立一个三维的累加器组A,其元素为A(x0,y0,r);然后对于参数x0、y0,结合图像中边缘点(x,y),根据圆的方程计算对应的r值,并对A(x0,y0,r)进行累加,A(x0,y0,r)的值即为在(x0,y0,r)处共圆的像素点数;最后根据A(x0,y0,r)的值判定点(x0,y0)处是否存在圆,本实用新型中设定共圆点数超过20则判定该位置存在圆,否则判定该处不存在圆。
事实上,人脸边缘图中经常存在其他的圆,譬如鼻孔、眼镜的反光光斑等,因此,对于检测到的圆,需进行验证才能确定其是否为人眼。验证的标准有三条:
第一,人眼所在圆的半径在3~7之间;
第二,人眼所在圆的灰度均值小于120,方差大于7;
第三,左右两眼的半径之差小于3,两眼水平间距在40~80之间,两眼垂直间距小于20。
依据上述标准,定位准确的人眼位置。
特征定位提取单元225检测到左右两眼后,依据“三停五眼”的比例关系,大致确定嘴巴的位置。假定左右人眼的位置分别为(ELx,ELy)、(ERx,ERy),则嘴巴的位置(Mx,My)为:
定位到两眼和嘴巴后,按设定的尺寸裁剪两眼图像和嘴巴图像,本实用新型选择的人眼尺寸为32×16,嘴巴尺寸为32×32,对于裁剪后的三幅图像,特征定位提取单元225分别采用Gabor变换提取特征,选用的Gabor函数的实部和虚部分别为:
由Gabor函数对图像进行滤波,设原图像为I(x,y),则滤波后图像I1(x,y)为:
其中*表示卷积运算
对于滤波后的图像,计算其均值和方差,将其作为Gabor特征,一幅滤波图像可以得到2个Gabor特征。
本实用新型所选用的Gabor参数为:δ=π,f=2,4,8共三个尺度,θ=0°,45°,90°,135°共四个方向,这样可以构造12个Gabor滤波器组。对于一幅图像,特征定位提取单元225可以得到12幅滤波图像,共计24个Gabor特征。这样,左眼、右眼、嘴巴图像共可提取72个Gabor特征。
在图3所示的本实用新型车载信息智能处理系统的优选实施例的疲劳判断子单元2263的结构示意图中疲劳判断单元226包括支持向量机学习子单元2261、支持向量机分类子单元2262以及疲劳判断子单元2263,支持向量机学习子单元2261用于采用支持向量机对特征样本进行学习,支持向量机分类子 单元2262用于将所述提取的人脸图像特征输入特征样本学习后的支持向量机中进行分类,疲劳判断子单元2263用于根据分类结果进行疲劳判断。如图8所示,本实用新型采用SVM法(support vector machine:支持向量机)进行特征分类进而进行疲劳判断。首先,在训练阶段,支持向量机学习子单元2261选取足够多的正样本(疲劳状态)和负样本(非疲劳状态),提取两眼和嘴巴区域的Gabor特征,分别进行SVM训练,SVM训练采用一对一的分类方法,选择径向基函数作为SVM的核函数,训练阶段共计得到3个SVM分类器,分别是左眼分类器、右眼分类器和嘴巴分类器。其中分类器输出1表示疲劳状态,0表示非疲劳状态;在疲劳识别阶段,支持向量机分类子单元2262提取当前帧人脸图像两眼和嘴巴区域的Gabor特征,分别送入对应的SVM分类器,得到左眼、右眼和嘴巴的分类结果,三个分类结果采用“或运算”融合,得到最终的分类结果,疲劳判断子单元2263根据分类结果进行疲劳判断。
在图4所示的本实用新型车载信息智能处理系统的第二优选实施例的结构示意图中,报警子模块12包括接收单元121、检测单元122以及报警单元123,接收单元121用于接收所述疲劳提示,检测单元122用于检测所述疲劳提示的频率,报警单元123用于根据所述检测单元122的检测结果进行报警。报警单元123包括语音报警器和LED指示灯。接收单元121接收到疲劳检测结果后,检测单元122可以选择对检测结果进行时间域滤波,如在连续的1秒时间内,如果检测到5次疲劳状态,则报警单元123驱动报警信号;否则,报警单元123不驱动报警。通过检测单元122检测疲劳提示的频率进行报警判断能够有效的避免误报警。可采用语音报警和LED指示灯报警双重报警方式确保对驾驶者的有效刺激。
在图5、6、7所示的本实用新型车载信息智能处理系统的优选实施例的结构示意图中,数据采集处理模块1还包括第二视频子模块13、音频子模块14、存储子模块16、车况检测子模块15以及GPS子模块16,第二视频子模块13用于采集周围环境图像,音频子模块14用于采集周围环境声音,车况检测子模块15用于实时获取汽车的速度、加速度以及方向信息,存储子模块16用于存储第一视频子模块11、第二视频子模块13、音频子模块14以及车况检测子 模块15采集的数据,GPS子模块17用于实时接收GPS数据、检测汽车位置。车况检测子模块15、第二视频子模块13、音频子模块14以及GPS子模块17分别于存储子模块16连接。车况检测子模块15分别与第二视频子模块13、音频子模块14以及存储子模块16连接。本实用新型的车载信息智能处理系统使用时,存储子模块16随时记录GPS子模块17和车况检测子模块15的车况信息,存储介质可为SD存储卡等。当发现车况出现异常时,如加速度过大,速度过快等,就会自动打开第二视频子模块13和音频子模块14采集记录汽车周围的环境信息,为事故分析提供了必要的证据。通过车况检测子模块15自动启动视频装置和存储装置,使得视频装置和存储装置不用长时间处于开启状态,更加方便和节能。
下面通过图9具体说明本实用新型的车载信息智能处理系统的工作流程,
(1)汽车启动后,首先对数据采集处理模块1的各子模块进行初始化,包括GPS子模块17、车况检测子模块15、存储子模块16、视频子模块、音频子模块15、语音报警器和LED指示灯的初始化。
(2)数据采集处理模块1通过I2C总线控制音视频采集子模块的各项参数,然后获取两路视频数据和一路音频数据。其中,
采集到的驾驶员头部图像的视频数据传递给DSP处理器的判断子模块22,判断子模块22通过数据库21和驾驶员脸部图像来检测驾驶员的是否疲劳驾驶,并将结果反馈给报警子模块12,报警子模块12接收到反馈后,如果存在疲劳状态,则驱动声光报警,否则重复上面的检测步骤。
采集到的车辆周围状态的视频数据和音频数据传递给DSP处理器的视频编码方法模块和音频编码方法模块,分别进行视频编码和音频编码,编码后的数据封装为AVI格式反馈给数据采集处理模块1,数据采集处理模块1将音视频数据存储在存储子模块16中。
(3)数据采集处理模块1利用UART串口接收GPS子模块17和车况检测子模块15的数据,并操作存储子模块16,将GPS信息和车况检测信息存储在存储子模块16中。
为了保证音视频录像含有尽可能多的关键帧图像,同时减少系统资源的消 耗,本实用新型采用MJPEG标准视频编码方法和G.711标准音频编码方法,对于编码后的视频流和音频流,按照AVI多媒体格式封装成多媒体数据流,存储在存储子模块16中。
以上所述仅为本实用新型的实施例,并非因此限制本实用新型的专利范围,凡是利用本实用新型说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本实用新型的专利保护范围内。