一种面向轨道交通列车司机人脸检测方法

2022-04-22 11:18江跃龙
现代计算机 2022年3期
关键词:肤色人脸列车

江跃龙

(广州铁路职业技术学院,广州 510610)

0 引言

随着城市高速发展,道路交通拥挤,交通事故已经成为备受各界瞩目的问题。轨道交通列车司机长期工作或驾驶产生的疲劳,势必影响轨道交通行车以及人民生命安全,对轨道列车司机驾驶行为、值乘制度以及工作条件等方面的调查、工作状态保证和监督环节,有利于保障轨道交通安全行驶。轨道交通列车行驶安全是铁路运输的命脉,是解决我国城市公共交通拥挤重要途径。根据前期调研发现,目前疲劳检测技术主要概况以下几个方面:利用AdaBoost算法定位检测人脸位置、肤色分割区分人脸信息、高斯肤色模型和支持向量机来检测人脸信息、级联支持向量机融合多特征、遗传算法、灰度直方图和高斯混合模型多特征肤色识别小样本训练集的肤色模型建立、自适应双高斯混合模型的肤色分割、彩色空间肤色模型、粒子群与遗传算法结合在PCA人脸识别、基于K均值聚类方法的肤色分割、支持向量机和遗传算法。

在列车司机长时间驾驶疲劳检测其中最关键技术之一是人脸检测和人脸感兴趣区域(ROI)定位,而人脸检测和人脸感兴趣区域(ROI)定位又涉及到的技术是列车司机的人脸检测和人脸感兴趣区域(ROI)定位技术,其包括人脸肤色与列车司机的驾驶室分割技术。

1 列车司机人脸检测方法

如何实时智能检测轨道交通列车司机疲劳状态是轨道交通列车行车安全保障。检测轨道交通列车司机的是否处于驾驶疲劳状态,其中主要关键技术之一是检测到列车司机的人脸检测。列车司机的人脸检测是指列车驾驶室采集司机的图像,通过机器视觉技术判断采集图像是否有司机人脸,如果有则定位司机人脸ROI(感兴趣)区域位置,并将司机人脸从驾驶室的背景中分离出来。

而近年来国内外研究使用传统人脸检测技术主要方法有以下几种:

(1)基于几何特征的方法。包括基于肤色和纹理的方法,其一般是通过提取我们人类的集合特征(人的眼睛、下巴、鼻子、口型、嘴巴)等重要特征点信息位置,而每个人脸在形状、大小和结构上存在各种差异,因此几何特征提取人脸的精确性不是很好。

(2)基于模板的方法。其中主要思路是将人脸的图像通过另外一种方式或者空间域对人脸图像做LBP运算,然后从该结果提取直方图最后提取人脸特征信息。

(3)基于知识的方法。主要将人的脸看作眼睛、眉毛、嘴巴、鼻子等器官器官之间的几何位置关系来检测人脸,该方法由于每个人的外貌各异,因此在人脸检测上存在一定误差。

(4)刘春生等在研究针对传统高斯肤色模型在肤色和光照变化较大情况下不能有效提取肤色区域的问题,通过加权相似度人脸和灰度人脸的像素点,得到人脸肤色模型的相似度信息和灰度分布信息,然后利用Adaboost算法进一步检测人脸信息的方法。该方法在一定程度上解决了和提高人脸检测的准确性和鲁棒性,在实际工程应用中,不同肤色的多人脸图像时肤色检测和人脸检测效果并不是很理想。

(5)基于肤色的人脸检测法。由于肤色的人脸检测容易受到光照不同强度的影响,肤色提取过程中会有噪点存在,会误认为是肤色信息,影响检测准确度。

由于人脸模式的复杂性和多样性,以及外界环境的不确定性,人脸检测的对这些条件适应性较差,这些情况使得人脸检测成为一项热门而又极具有挑战性的课题。目前,已经有一些用于人脸检测的技术研究主要有人脸检测定位方法的研究,目前主流技术如图1所示。

图1 目前人脸检测技术

2 列车司机图像色彩空间

2.1 基于色彩空间

色彩空间通常是指人的眼睛和视觉感知系统在有限能力下,为了能够识别准确识别图像的颜色,通过媒介或连续图像的颜色来表示,在专业图像处理技术术语中,通常图像中的颜色空间是由一个特定的3-D坐标和该坐标中任意一个空间(如:三维坐标值表示,,坐标值),任何一个坐标值表示一个单点或者颜色。目前主要有五种类型的颜色模型,其包括RGB(red green blue)、HSL(hue saturation lightness)HSV(hue saturation value)、YUV(luminance,blue–luminance,red-luminance)、CMYK(cyan,magenta,yellow,key)。列车司机图像有两种基本的色彩空间,RGB图像和灰度图像,然后图像还有别的色彩空间,比如:BGR,LAB,HSV等,如图2将列车司机驾驶室图进行R红色,G绿色和B蓝色显示如图3所示。

图2 列车司机驾驶室

图3 列车司机驾驶室(R红色G绿色B蓝色)显示

2.2 列车司机驾驶室YCg Cb颜色空间

我们传统的色彩空间是对一幅图像色彩的一种描述方法。如一张列车司机的图像,我们根据该列车司机的RGB原色和白点描述以便可以正确解释和表达该司机图像的色彩空间。颜色将某种颜色空间转换到另一种颜色空间(类似我们信号处理,在时域空间上无法分析时候,常常将会转换到频域空间上进行分析),这样有助于不丢失信息或颜色显示正常,同时也有助于我们后期对该图像信息进行提取特征以及相关处理。色彩空间传统将其定义由三个基色(R红色,G绿色和B蓝色)和白点的CIE 1931色度坐标(,)组成。在CIE 1931图上绘制三角形可提供轮廓,帮助可视化颜色空间所包含的可见颜色。

图4 1931 CIE色品图

针对HSV颜色空间表达彩色图像的方式由色调(hue)、饱和度(saturation)明度(value)三个部分组成,其与BGR颜色空间相比,HSV颜色空间如图5所示,对跟踪某种颜色的物体容易跟踪,在HSV颜色空间常用作分割指定颜色的物体。

图5 HSV颜色空间

色彩空间模型中,分量表征色彩空间中的明亮度(luminance)(灰阶值)。“亮度”是RGB输入信号来转换后的分量,而、共同表征某种图像颜色的色调信息,其中表示Blue(蓝色)分量,表示RGB输入图像信号蓝色信息与RGB输入图像信号亮度值之间的差异,表示Red(红色)分量,表示RGB输入图像信号红色信息与该输入的图像信息亮度值之间的差值。

色彩空间YCbCr的亮度信息分量与、色调信息的采样比例为4∶2∶2,该比例是按照人类视觉对亮度信号变化敏感和对色度的变化不太敏感的规律来定义。

RGB与YCbCr色彩空间之前互换的公式[2]如下所示:

每个人都存在一定差别,每个人的肤色都有区别,表现出不一样的皮肤颜色,外界的光照强度和视觉环境对肤色有一定的影响,可以通过颜色信息来分割肤色与背景颜色进行分离,实现肤色与背景分离提供理论依据。人的肤色,不仅不依赖于面部的细节特征,而且还具有相对的稳定性,还与大多数背景物体的颜色信息存在很大区别,因此,在肤色识别中,许多研究学者常用的颜色空间为YCbCr颜色空间来进行人物和背景分离。

RGB颜色空间随着光强发生变化时,RGB颜色空间中R,G,B三个分量也会同时发生变化,容易受到光照强度的影响,而在YCbCr颜色空间中,受光强影响较小,也相对独立,对肤色的聚类特性比较好,一张列车司机的彩图可以通过YCbCr颜色空间将色度与亮度分离进行,Cb和Cr分量两维独立分布,能够比较好地区分肤色的分布区域情况,因此YCbCr颜色空间比较适合人的肤色与背景分割和识别。

不同色彩空间的选择,直接对肤色检测的结果产生影响,目前常用于肤色检测的常用色彩空间有YIQ、YUV、HIS、和YCbCr等颜色空间。徐俊等使用YCbCr色彩空间求出每个像素点属于肤色的隶属度,在复杂背景中获得很好的人脸检测效果。Zarit等证明HSV色彩空间检测肤色像素性能最好。Sobottka等认为:使用H和S就足够将肤色和背景分割开,除了不需要考虑V外,其对光照和阴影的影响也有较高的稳定性。因此,图6所示列车司机肤色在HSV色彩空间的分布图

图6 列车司机在驾驶室原始图和生成HSV空间图

图7 列车司机在驾驶室生成H分量、V分量、S分量

3 车司机肤色建模

该高斯模型也是目前传统常用的肤色模型,其通过计算图像的像素的频率估计并得到一个肤色概率图,根据图像的信息数值阈值来确定人的肤色和背景颜色,克服了几何模型的缺点。用高斯概率密度函数分布,将一个事物分解为若干的概率密度函数(正态分布曲线)形成的模型,高斯模型主要实现思路是将图像灰度直方图所反映的图像中某个灰度值出现的概率的估计。对于复杂的图像所包含的感兴趣区域和背景区域相差比较大,而且背景区域和感兴趣区域在灰度上有一定的差异,在实现灰度直方图将呈现出一个峰对应于感兴趣区域,另一个峰对应于背景的中心灰度的双峰-谷形状,可以解决图像的分割问题。

传统的肤色建模方法有:阈值法、直方图统计、一维高斯模型、混合高斯模型和区域级检测。肤色RGB色彩空间变换到YCbC空间中,在—空间中空间的高斯分布,对于彩色图像中每个像素,计算该点属于皮肤像素的概率,该点离高斯分布中心和肤色的相似度,彩色图像转化成灰度图,其中每个像素的灰度值对应该点与肤色的相似度。

通过大量对肤色像素点测试及训练后,选取的肤色模型的经验值参数为:

肤色样本库中分量的频率直方图如图8所示,分量的频率直方图,分量的频率直方图,图中横坐标表示正则化频率,纵坐标表示概率。

图8 列车司机的YCbCr空间分量

图9 列车司机YCbCr各个分量频谱直方图

由上图可知,列车司机分布图可知,和分量窄高斯分布,分布主要在100级别左右,分布集中,方差小的特性,这样我们就可以很容易提取和分量列车司机的一些特性。

在YCbCr空间上由色度和构成的二维平面上肤色分布是相对比较集中的,可以用Gauss分布来描述,图10是列车司机的图片大小为(3848,4088)提取主颜色示意图,这样就很容易分离皮肤和背景颜色。

图10 列车司机主颜色提取

训练的时候,需要确定的是均值和。如下面的公式:

计算人脸的皮肤相似度时,我们采用了下面的公式:

4 人脸检测

由于目前硬件设备采集的彩色图象都是在RGB色彩空间,在RGB彩色空间中由于收到光照强度影响,每个分量肤色的差异不明显,分割背景图比较困难,而肤色的人脸检测技术需要选取肤色颜色空间和建立肤色模型因此,在肤色区域的亮、色分离(皮肤与背景图分离)常常将RGB色彩空间转化为YCbCr色彩空间(YCbCr色彩空间),适用于肤色在色度上的差异远小于亮度上差异的特点,RGB色彩空间可以根据它们之间的关系式直接转换为YCbCr色彩空间。经肤色分割后得到二值图像会出现背景原色与人的皮肤颜色相似的像素点以及噪声的产生被误认为肤色像素点或者小区域。人脸的局部区域如眼睛、头发、眉毛等非肤色区域而导致的整个人脸的非完全填充,需要对检测后的人脸图像进行二次形态处理,将处理好的二值图像进行水平、垂直投影到肤色比较集中的区域。利用检测到的人脸矩形区域可以对图像进行分割,获得其中的ROI(region of interest)“感兴趣区域”,该区域是提取出的需处理的区域,该区域包含了图像的主要信息和关键信息,可以在处理中近似代替原始图像,在检测到人脸区域后,要将ROI区域保存下来作为新的人脸图像,ROI人脸区域得到兴趣landmark关键点。

5 实验结果及分析

本文提出了一种基于YCbCr高斯肤色模型的人脸检测算法,利用人脸肤色分量具有类高斯的分布特性,将其引入CbCr高斯肤色模型中,建立肤色模型,以线性加权的方式完成融合判断,以此获得列车司机在途行驶过程图像中获取可能的人脸区域,具体主要实现思路(如图11所示)如下。

图11 轨道交通列车司机人脸检测流程

在列车驾驶室里采集列车的图像,将获得列车司机的RGB图像转换到YCbCr色彩空间中;统计采集到列车司机的图像像素点个数;对统计到列车司机图像像素点个数后,建立司机肤色模型;计算某个像素点出现概率;判断阈值,进行先腐蚀后膨胀的开运算;消除噪点(杂点),计算列车司机皮肤区域的面积,计算矩形区域的面积;根据肤色区域的长和宽,去除非人的区域;将列车司机的人脸区域框出来,显示定位列车司机人脸区域,然后将进一步对列车司机的眼睛进行判断是否疲劳。

本文实验室基于在Intel(R)Core(TM)i7-9750H CPU@2.60 GHz2.59 GHz16.0 GB(15.8 GB可用)的环境下,采用MATLAB 6.0分别编程实现,图12所示列车司机肤色似然图和二值化图、图13所示列车司机人脸定位过程图。

图12 列车司机肤色似然图和二值化图

图13 列车司机人脸定位过程

本文对于在列车行驶过程中提出一种面向轨道交通列车司机人脸检测方法,主要是将利用人脸肤色分量具有类高斯的分布特性,将其引入CbCr高斯肤色模型中,建立YCbCr高斯肤色模型的人脸检测思路,包括颜色空间选择、高斯肤色模型建立、阈值计算、形态学滤波和应用算法训练人脸分类器的过程,并分析人脸检测的准确性和实时性。实验结果表明,复杂光照下对列车司机人脸检测能有效提高人脸检测率和降低误检率,为后续根据PERCLOS算法检测出列车驾司机是否在疲劳驾驶,系统就会发出预警信号以及验证PERCLOS深度学习疲劳检测的方法准确性研究奠定一定基础。

猜你喜欢
肤色人脸列车
城际列车
玻璃窗上的人脸
肤色(外一首)
人的肤色为什么不同
神奇的时光列车
为什么人有不同的肤色?
温馨列车
列车上的失窃
智力考场:有趣的图片测试
“领家系”可爱脸VS“高冷系”美人脸