一种适用于多姿态下的驾驶人员抽烟行为检测方法
技术领域
本发明涉及危险驾驶检测方法,属于车辆安全***领域,具体涉及一种适用于多姿态下人脸特征点定位,结合头部三维姿态检测进行人脸轮廓椭圆标定,进而根据人脸轮廓椭圆内烟头高亮区域的分析,以准确、有效地判断驾驶人员是否存在抽烟行为的方法。
背景技术
目前,不少驾驶人员在驾驶车辆过程中均存在抽烟行为,吸烟时驾驶人员往往是一手打方向盘,一手拿香烟,使身体不由自主地侧斜,造成重心偏移,用力不均,极易导致驾驶动作不正规或变形;且吸烟易导致口腔发粘、咽喉发痒,或造成咳嗽,严重时甚至会低头弯腰,因而在驾驶过程中吸烟将不可避免影响驾驶人员操作的准确性,危及行车安全。
同时,在驾驶过程中吸烟会分散驾驶人员的注意力。生理学研究表明,正常情况下,当人吸入第一口烟后7.5秒,烟雾中的尼古丁就可到达大脑,这是静脉注射速度的2倍;连吸几口后,吸烟者的心跳,脉搏就会加快,血压就会升高,使机体乏力、精力受损。大约20~30分钟后,尼古丁的作用逐渐减弱,中枢神经***的兴奋性将会受到抑制,短时间的兴奋感消失,疲劳感随之产生。
另外,人在吸烟时,烟中的一氧化碳与人体的血红蛋白结合,影响了血红蛋白与氧的结合,从而引起各组织器官的缺氧和营养障碍。实验证明:如果人体内的血氧饱和度低于80%,就会引起一系列的缺氧症状,比如精力分散、思维判断能力减弱、记忆力降低、轻度的动作不协调、有疲劳感等,这些因索都可对行车安全造成威胁。
最后,吸烟会影响驾驶员的枧力。现代医学研究证明,吸烟将会伤害视神经,导致视力下降。澳大利亚的医学家曾经就驾驶员吸烟进行过深入研究,结果表明:驾驶员开车前吸3支烟就会使视力降低20%左右,使思维反应速度降低25%,并且会破坏驾驶员分辨红、绿颜色的视觉和明暗适应性,医学上将这种现象称之为“烟蒂中毒性弱视”。即使没有达到慢性中毒的程度,开车时吸烟,导致驾驶室内烟雾弥漫,也会刺激驾驶员的眼睛,影响其视线,降低其眼睛的感光性能和适应能力,这将影响驾驶适性(指能持续安全行车所必备的生理、心理特性),危及行车安全。
但目前暂无一种针对驾驶人员在驾驶过程中的抽烟行为进行有效检测与识别的方法,车队管理者也不能够及时准确的知晓驾驶人员的抽烟行为并进行制止。因此,有必要就驾驶人员在驾驶过程中是否存在抽烟行为提供一种有效的检测与判断方法。
发明内容
为解决上述现有技术问题,本发明的目的在于提供一种适用于多姿态下的驾驶人员抽烟行为检测方法,以实现降低驾驶过程中因驾驶人员抽烟而导致交通事故之效果。
为实现上述技术目的,本发明所采取的技术方案如下:
一种适用于多姿态下的驾驶人员抽烟行为检测方法,其特征在于,包括以下步骤:
步骤1:图像采集,采集驾驶员人脸图像信息;
步骤2:图像识别,对采集到的图像进行实时人脸检测;
步骤3:面部特征点标定,包括:对检测到的人脸进行眉毛、眼睛、鼻子及嘴巴等特征点定位;
步骤4:头部三维姿态检测,包括:利用几何特征对头部三维姿态进行检测,判断头部姿态;
步骤5:人脸轮廓椭圆标定,包括:利用眉毛、眼睛、鼻子和嘴巴标记特征点以及驾驶人员头部三维姿态,通过线性回归,对驾驶人员进行人脸轮廓椭圆标定;
步骤6:在标定的人脸轮廓椭圆外进行抽烟行为检测判断,包括:获取候选的烟头高亮区域,并对区域形状分析以进行置信决策,由此对驾驶人员是否存在抽烟行为作出判断。
进一步地,优选的是,步骤2中,包括:采用统计分析与机器学习的方法归纳出人脸样本与非脸样本各自的haar统计特征,再构建区分各自特征的haar分类器,用haar分类器实现人脸定位检测。
进一步地,优选的是,步骤2中,使用AdaBoost算法检测出人脸位置。
进一步地,优选的是,步骤3中,采用监督梯度下降法进行面部特征点标定,监督梯度下降法主要分为训练和检测两个环节;
训练部分在***运行之前进行操作与计算,主要为了获得人脸特征点定位部分的回归迭代参数,使得算法在运行时可以准确的对人脸中眉毛、眼睛、鼻子、嘴巴等特征点进行定位;
首先,对所有训练库中的人脸图像手工标记眼睛嘴巴鼻子等特征点,并得到一个平均脸;
其次,求出平均脸的扰动参数,即缩放和平移的均值和标准差。针对每一幅图像以该均值和标准差做高斯分布采样,得到特征值点的训练初始值x0,并计算所有初值点的sift特征φ0;
再次,通过公式(1)即可求出特征值点的梯度下降方向及其偏差因子:
其中,{di}训练库中的人脸图像集,是人脸图像集中所有手工标记的特征点真值。是训练特征值点xi和真值点间的差值矩阵,φi是特征值点的sift特征,R是梯度下降方向,b是偏差因子,k表示迭代次数;
再次,通过公式(2)对每一幅人脸图像中的特征点x进行更新,并重新计算更新后特征点的sift特征:
xk=xk-1+Rk-1φk-1+bk-1(2)
最后,对公式(1)和公式(2)进行迭代求解,特征值点xk收敛于真值点x*,此时训练结束,最终求得的每次迭代过程当中的梯度下降方向和偏差因子bk即检测所需要的回归迭代参数。
进一步地,优选的是,步骤3中,在检测阶段,具体包括:
首先,将训练过程中所得到的标准平均人脸样本定位到摄像头检测得到的人脸图像当中作为特征点的初始坐标;
其次,计算所有初始坐标点的sift特征,记为φ0;
最后,通过公式(3)进行回归迭代计算得到最终的面部特征点坐标,
xk=xk-1+Rk-1φk-1+bk-1(3)
其中,Rk和bk是训练阶段得到的回归迭代参数,φk为每次迭代特征点的sift特征。
进一步地,优选的是,步骤5中,具体包括:检测驾驶员是否处于头部的左右偏转及上下俯仰状态,其中,左右偏转可通过以下方法进行计算:
当人脸处于正面时,鼻下点与左右外眼点的夹角相等;
当人脸左右偏转,即侧深度旋转后,鼻下点与左右外眼点的夹角差为βeye_out,同时可以算得鼻下点与左右内眼点的夹角差βeye_in,鼻下点与左右嘴角点的夹角差βmouth,为了减少误差,可取人脸的侧深度旋转角度为这三个角度的均值,即:
上下俯仰角度可以通过以下方法进行计算,包括:
将人脸的侧面图看作为一个椭圆,y轴即为椭圆的中分线,x轴是眼睛和嘴连线的垂直平分线,那么没有上下俯仰,即垂直深度旋转时有α1=α2。垂直深度旋转后,x轴不再是眼睛和嘴连线的垂直平分线,根据等腰三角形的性质,侧深度旋转角度的计算公式为:
α0、β0为近似姿态估计值,利用α0、β0作为初始值,使用拟牛顿法对人脸姿态精确求解,可以求得人脸姿态的精确偏转角度。
进一步地,优选的是,步骤6中,在标定的人脸轮廓椭圆内进行抽烟行为检测识别,具体包括:
首先,利用高斯曲面拟合以及灰度自适应二值化分割获取候选的烟头高亮区域;
其次,利用边界分析、区域大小分析以及区域形状分析,对候选烟头高亮区域分别进行置信决策;
最后,若上一步中边界分析、区域大小分析和区域形状分析结果均符合烟头高亮区域,则认定驾驶员正在吸烟。
进一步地,优选的是,利用高斯曲面拟合以及灰度自适应二值化分割获取候选的烟头高亮区域,其具体方法如下:
(1)利用高斯曲面拟合,求得画面当中存在的光斑中心,若参与拟合的数据点有N个,则将该N个数据点写成矩阵的形式:A=BC,光斑中N个数据点误差的列向量为:E=A-BC,用最小二乘法拟合,使得N个数据点的均方差最小,即:
(2)在图像数据处理时,数据量比较大,为减小计算量,将矩阵B进行QR分解,即:B=QR,分解后Q为一个N*N的正交矩阵,R为一个N*5的上三角矩阵,对E=A-BC进行如下推导:
S=R1C
C=R1 -1S
由于Q为正交矩阵,可以得到:
令:
其中,S为一个5维列向量;T为一个N-5维列向量;R1为一个5*5的上三角方阵,则
上式中,当S=R1C时取得最小值,因此只需解出C=R1 -1S即可求解出高斯函数的参数:
x0,y0即为光斑的中心点;
(3)以上一步骤中得到的光斑中心点x0,y0,采用自适应二值化分割,获取候选的烟头高亮区域。
进一步地,优选的是,利用边界分析、区域大小分析以及区域形状分析,对候选烟头高亮区域分别进行置信决策,具体如下:
边界分析被配置为:烟头仅可能出现在以嘴部为圆心的圆形范围之内;
区域大小分析被配置为:烟头高亮区域的大小必须符合烟头大小的客观规律,不能超过阈值大小;
区域形状分析被配置为:烟头高亮区域理论上应为以光斑中心点为圆心的近似的圆形。
本发明采取了上述方案以后,其有益效果如下:
1、通过对驾驶员头部三维姿态的检测,实现了多角度、多姿态下驾驶人员抽烟行为的灵活检测、智能分析与准确判断;
2、采用了监督梯度下降法来进行人脸特征点定位,并结合人脸轮廓椭圆标定进行判断,使其更加适用于实际驾驶场景,具有很强的实时性、实用性及可靠性,能够全天候、非接触式进行驾驶人员抽烟行为检测,为安全行车提供有效的安全保障。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面用实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
一种适用于多姿态下的驾驶人员抽烟行为检测方法,包括有以下步骤:
步骤1:图像采集,主要通过标/高清摄像头来实现驾驶人员人脸捕捉功能,从摄像头处实时的获取驾驶人员人脸图像视频流,并把数据流送到CPU进行后续的处理;
步骤2:图像识别,对采集到的图像进行实时人脸检测,包括:采用统计分析与机器学习的方法归纳出人脸样本与非脸样本各自的haar统计特征,再构建区分各自特征的haar分类器,用haar分类器实现人脸定位检测,并使用AdaBoost算法检测出人脸位置;
步骤3:采用监督梯度下降法进行面部特征点标定,包括:对检测到的人脸进行眉毛、眼睛、鼻子及嘴巴等特征点定位,主要分为训练和检测两个环节,其中:
训练部分在***运行之前进行操作与计算,主要为了获得人脸特征点定位部分的回归迭代参数,使得算法在运行时可以准确的对人脸中眉毛、眼睛、鼻子、嘴巴等特征点进行定位;
首先,对所有训练库中的人脸图像手工标记眼睛嘴巴鼻子等特征点,并得到一个平均脸;
其次,求出平均脸的扰动参数,即缩放和平移的均值和标准差。针对每一幅图像以该均值和标准差做高斯分布采样,得到特征值点的训练初始值x0,并计算所有初值点的sift特征φ0;
再次,通过公式(1)即可求出特征值点的梯度下降方向及其偏差因子:
其中,{di}训练库中的人脸图像集,是人脸图像集中所有手工标记的特征点真值。是训练特征值点xi和真值点间的差值矩阵,φi是特征值点的sift特征,R是梯度下降方向,b是偏差因子,k表示迭代次数;
再次,通过公式(2)对每一幅人脸图像中的特征点x进行更新,并重新计算更新后特征点的sift特征:
xk=xk-1+Rk-1φk-1+bk-1(2)
最后,对公式(1)和公式(2)进行迭代求解,特征值点xk收敛于真值点x*,此时训练结束,最终求得的每次迭代过程当中的梯度下降方向和偏差因子bk即检测所需要的回归迭代参数。
在检测阶段,具体包括:
首先,将训练过程中所得到的标准平均人脸样本定位到摄像头检测得到的人脸图像当中作为特征点的初始坐标;
其次,计算所有初始坐标点的sift特征,记为φ0;
最后,通过公式(3)进行回归迭代计算得到最终的面部特征点坐标,
xk=xk-1+Rk-1φk-1+bk-1(3)
其中,Rk和bk是训练阶段得到的回归迭代参数,φk为每次迭代特征点的sift特征。
步骤4:头部三维姿态检测,包括:利用几何特征对头部三维姿态进行检测,判断头部左右偏转及上下俯仰状态;
其中,左右偏转可通过以下方法进行计算:
当人脸处于正面时,鼻下点与左右外眼点的夹角相等;
当人脸左右偏转,即侧深度旋转后,鼻下点与左右外眼点的夹角差为βeye_out,同时可以算得鼻下点与左右内眼点的夹角差βeye_in,鼻下点与左右嘴角点的夹角差βmouth,为了减少误差,可取人脸的侧深度旋转角度为这三个角度的均值,即:
上下俯仰角度可以通过以下方法进行计算,包括:
人脸的侧面图可以看作是一个椭圆,y轴即为椭圆的中分线,x轴是眼睛和嘴连线的垂直平分线,那么没有上下俯仰,即垂直深度旋转时有α1=α2。垂直深度旋转后,x轴不再是眼睛和嘴连线的垂直平分线,根据等腰三角形的性质,侧深度旋转角度的计算公式为:
α0、β0为近似姿态估计值,利用α0、β0作为初始值,使用拟牛顿法对人脸姿态精确求解,可以求得人脸姿态的精确偏转角度。
步骤5:人脸轮廓椭圆标定,包括:利用眉毛、眼睛、鼻子和嘴巴标记特征点以及驾驶人员头部三维姿态,通过线性回归,对驾驶人员进行人脸轮廓椭圆标定;
步骤6:在标定的人脸轮廓椭圆外进行抽烟行为检测判断,具体包括:
首先,利用高斯曲面拟合以及灰度自适应二值化分割获取候选的烟头高亮区域,具体方法如下;
(1)利用高斯曲面拟合,求得画面当中存在的光斑中心,若参与拟合的数据点有N个,则将该N个数据点写成矩阵的形式:A=BC,光斑中N个数据点误差的列向量为:E=A-BC,用最小二乘法拟合,使得N个数据点的均方差最小,即:
(2)在图像数据处理时,数据量比较大,为减小计算量,将矩阵B进行QR分解,即:B=QR,分解后Q为一个N*N的正交矩阵,R为一个N*5的上三角矩阵,对E=A-BC进行如下推导:
S=R1C
C=R1 -1S
由于Q为正交矩阵,可以得到:
令:
其中,S为一个5维列向量;T为一个N-5维列向量;R1为一个5*5的上三角方阵,则
上式中,当S=R1C时取得最小值,因此只需解出C=R1 -1S即可求解出高斯函数的参数:
x0,y0即为光斑的中心点;
(3)以上一步骤中得到的光斑中心点x0,y0,采用自适应二值化分割,获取候选的烟头高亮区域。
其次,利用边界分析、区域大小分析以及区域形状分析,对候选烟头高亮区域分别进行置信决策,其中:
边界分析被配置为:烟头仅可能出现在以嘴部为圆心的圆形范围之内;
区域大小分析被配置为:烟头高亮区域的大小必须符合烟头大小的客观规律,不能超过阈值大小;
区域形状分析被配置为:烟头高亮区域理论上应为以光斑中心点为圆心的近似的圆形。
最后,若上一步中边界分析、区域大小分析和区域形状分析结果均符合烟头高亮区域,则认定驾驶员正在吸烟。
以上所述仅为本发明的优选实施例,并不用于限制本发明,本领域的技术人员可对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内,本发明的保护范围以权利要求书所记载的内容为准。