一种驾驶员异常姿态检测方法与流程

文档序号:22243958发布日期:2020-09-15 19:59阅读:221来源:国知局
一种驾驶员异常姿态检测方法与流程

本发明属于汽车高级辅助驾驶系统技术领域,特别涉及一种驾驶员异常姿态检测方法。



背景技术:

随着计算机视觉技术的快速发展,汽车领域中出现了很多性能优越的驾驶员监测系统。这些驾驶员监测系统能够全程监测驾驶员在行车过程中的种种异常驾驶行为并采取实时警告的方式达到预防交通事故的目的。但在真实行车情况下,驾驶员会较长时间保持正确驾驶姿态,只有短时间内会处于异常姿态。如果在整个行车区间一直进行全局分类检测,无疑会更多占用有限的计算资源,影响其他车载系统的正常运行。中国专利申请号cn109063586a,专利名称为“一种基于候选优化的fasterr-cnn驾驶员检测方法”,发明人路小波、陆明琦等人将残差结构引入特征提取网络以提高检测精度和实时性,使用候选优化子网络来过滤冗余无效的候选区域,最终进行分类回归以完成驾驶员的定位检测。该方法可以在保证检测精度的前提下,提高检测效率,但仍属于全局检测方法,会持续占用有限的计算资源。中国专利申请号cn109214370a,专利名称为“一种基于手臂肤色区域质心坐标的驾驶员姿态检测方法”,发明人何杰、吴冠鹤等人提取驾驶员双手或双臂的质心坐标为训练样本,基于机器学习算法训练分类器得到驾驶员姿态检测模型进行姿态检测。由于能够实现驾驶员姿态的快速检测,虽能节省计算资源但无法提供较高的检测精度。因此基于上述两种单一模型为内核的驾驶员姿态检测系统存在检测精度和计算资源占用的矛盾。



技术实现要素:

本发明要解决的问题是针对现有驾驶员监测系统存在的高精度和计算资源占用高之间的矛盾,发明一种既能保持较高检测精度又能节省计算资源的驾驶员异常姿态检测方法。即在原有全局监测方法的基础上添加异常驾驶姿态判定准则作为是否启用行为分类器的依据以解决全局监测方法计算资源占用过高的问题;结合深度神经网络训练的驾驶行为分类器来保证较高的检测精度。

为了达到上述目的,本发明采用的技术方案为:

一种驾驶员异常姿态检测方法,用于预防因驾驶员行车过程中出现异常姿态导致的交通事故,该检测方法在监测驾驶员行为姿态时,首先使用异常姿态判别准则区分驾驶员是否处于异常驾驶姿态,再根据判定结果决定是否启用行为分类器。该方法相比于全局使用行为分类器来监测驾驶员行为的方法,在保证相同检测精度的前提下,更能节省有限的计算资源。所述的异常驾驶姿态包括打电话、喝水、吸烟、玩手机、其他单手或双手离开方向盘的动作。

具体步骤如下:

第一步,以车载摄像头采集的驾驶员彩色或灰度图像数据为输入,采用高实时性、高鲁棒性、高检测精度、资源占用低的姿态检测算法作为人体关节点检测器提取驾驶员上半身关节点。所述上半身关节点主要包括:左手部测点1、左臂肘测点2、左肩测点3、右手部测点4、右臂肘测点5、右肩测点6、左眼测点7、右眼测点8。

在行车区间采用人体关节点检测器提取大量驾驶员上半身关节点数据以分析确定人体关节点检测器中的异常姿态判定准则,进而根据异常姿态判别准则区分驾驶员是否处于异常驾驶姿态。

所述异常姿态判定准则是借由人体关节点检测器得到驾驶员身体关节点坐标,计算驾驶员双臂角度和手部关节点到眼部关节点距离后,使用高斯混合模型聚类算法所确定。步骤如下:

1)计算驾驶员两手臂的弯曲角度θ1,θ2:

其中,θ1,θ2为手臂弯曲角度;p1(x1,y1),p4(x4,y4)为手部关节点坐标;p2(x2,y2),p5(x5,y5)为臂肘关节点坐标;p3(x3,y3),p6(x6,y6)为肩部关节点坐标;

2)p7(x7,y7),p8(x8,y8)为眼部关节点坐标。计算驾驶员手部到眼部的距离d1,d2:

其中,d1,d2为驾驶员手部到眼部的距离;p1(x1,y1),p4(x4,y4)为手部关节点坐标;p7(x7,y7),p8(x8,y8)为眼部关节点坐标。

3)确定每种姿态下的参数分布范围,其步骤如下:

a)每种姿态下的手臂弯曲角度与手部-眼部距离分别服从n个不同的高斯分布,组成的高斯混合模型由n个不同姿态下设计参数的高斯分布混合而成。

b)观测数据yj,j=1,2,…,m是这样产生的:首先由概率wk选择第k个高斯分布子模型φ(y|θk),然后再根据这个子模型的概率分布φ(y|θk)生成观测数据yj,m个观测数据中有多个来自于同一个子模型。此时观测数据yj,j=1,2,…,m是已知的,但用来反映观测数据yj到底来自于第几个子模型的数据是未知的,也就是隐藏变量,用γjk表示:

其中,j=1,2,…,m;k=1,2,…,k。得到观测数据yj和未观测数据γjk后,完整数据可以表示为:

(yj,γj1,γj2,…,γjk),j=1,2…,m(6)

c)为了得到不完整数据的对数似然函数l(θ)=logp(y|θ)的极大似然估计,可以等效为求完整数据的对数似然函数logp(y,γ|θ)期望的极大似然估计。采用如下方式得到完整数据的似然函数:

其中,mk表示m个观测数据中,由第k个子模型生成的数据个数。μk为对应高斯分布均值,为对应高斯分布方差,ωk为对应高斯分布权重。

完整数据的似然函数为:

d)给定观测数据y和第i轮迭代的参数θ(i)时,完整数据的对数似然函数logp(y,γ|θ)的期望,将该函数记为q(θ,θ(i))。计算期望时的概率是隐随机变量γ的条件概率分布p(y,γ|θ),q函数的计算如下:

其中,隐随机变量γ的条件概率分布p(γ|y,θ(i))为:

其中,e(γjk|y,θ(i))的计算方式如下:

其中,是当前模型参数θ(i)下第j个观测数据来自第k个子模型的概率,称为子模型k对观测数据yj的响应度。

e)将以及带入到q函数中得到:

f)得到第i轮的参数θ(i)之后,继续下一轮的迭代θ(i+1),使函数q(θ,θ(i))极大,即

θ(i+1)=argmaxθq(θ,θ(i))。用表示θ(i+1)的各参数,使

g)重复步骤d和步骤f,直到收敛后停止迭代。停止迭代的条件是,对于较小的正数ε有:||θ(i+1)(i)||<ε。

h)根据最终聚类结果,选取正常驾驶姿态与异常驾驶姿态的最优参数分布范围作为判断驾驶员是否处于异常姿态的判定依据。驾驶员处于异常姿态时:驾驶员双臂的角度范围在(0,84)度,手部关节点到眼部关节点的像素点距离范围在(0,457.4)。驾驶员处于正常姿态时:驾驶员双臂的角度范围在(84,180)度,手部关节点到眼部关节点的像素点距离范围在(457.4+)。

第二步,根据第一步的异常姿态判定准则判定结果决定是否启用行为分类器。

所述行为分类器,采用深度卷积网络训练得到,可以进一步识别驾驶员吸烟、喝水、打电话的具体异常驾驶姿态类别。使用的卷积神经网络可以是resnet-50、vgg、inception、densenet等卷积神经网络架构。人体关节点检测器和行为分类器不会同时启用,当人体关节点检测器中的异常姿态判定准则判定驾驶员未处于异常姿态时,行为分类器处于待机状态,此时只有人体关节点检测器单独工作。人体关节点检测器会实时提取驾驶员上半身关节点并计算出手臂弯曲角度及手部到眼部的像素点距离提供给异常姿态判定准则进行实时分析;当异常姿态判定准则识别出驾驶员处于异常姿态时,人体关节点检测器转换成待机状态,行为分类器启用,识别驾驶员打电话、喝水、吸烟的异常姿态的具体种类。在行为分类器识别驾驶员维持正常驾驶姿态60秒后变为待机状态,启用人体关节点检测器继续监测驾驶员。

本发明采用以上技术方案,与现有全局检测方案相比,本发明的优点在于:

(1)本发明以车载摄像头实时拍摄的视频数据作为输入,在使用人体关节点检测器提取驾驶员上半身关节点坐标后,使用驾驶员异常姿态判定准则初步识别驾驶员是否处于异常驾驶姿态。该准则简单高效,具有很强的鲁棒性和高准确率,解决了全局使用深度学习模型监测时资源占用高的问题。

(2)针对判定后的异常姿态使用深度神经网络训练的分类器进行检测,使系统能够分辨具体的异常姿态种类,保留了全局监测系统高识别精度的特性。

附图说明

图1是本发明中涉及的人体关节点示意图。

图2是本发明中车载摄像头位置示意图。

图3是本发明的方法流程图。

图中:1左手部测点、2左臂肘测点、3左肩测点、4右手部测点、5右臂肘测点、6右肩测点、7左眼测点、8右眼测点。

具体实施方式

下面结合具体实施例和附图对本发明内容作进一步说明。

汽车高级辅助驾驶系统作为汽车重要的车载系统之一,在保证乘员安全,预防交通事故中起到关键性的作用。驾驶员驾驶姿态监测作为高级辅助驾驶系统中的一项新兴功能,在预防交通事故中扮演这重要的角色。随着近些年来计算机视觉技术的快速发展,驾驶员姿态监测系统的识别精度提升显著,但是需要占用很高的计算资源才能达到较高的精度。目前驾驶员监测系统的解决方案均是全局监测,即在整个驾驶员行车过程中使用行为分类器持续监测驾驶员的驾驶姿态。然而,绝大多数的驾驶员在整个行车过程中不会长时间处于异常姿态,这样使用全局监测方法就会造成计算资源的浪费,影响其他车载系统的性能。

因此,本发明针对现有全局监测计算资源占用高的缺陷,考虑系统整体性能要求、精度要求,要保证采用该方法设计的驾驶姿态系统在驾驶员未处于异常姿态时占用较少的计算资源,在异常姿态发生时能检测出具体的异常姿态种类并保持原有全局监测方法的高检测精度。

本发明的具体实施步骤如下:

1)在实车上采集大量视频样本,采集的视频样本中包含:正常驾驶姿态和异常驾驶姿态。在本实例中异常驾驶姿态分为:打电话、吸烟和喝水。经人体关节点检测器得到驾驶员手部关节点:p1(x1,y1),p4(x4,y4)、臂肘关节点:p2(x2,y2),p5(x5,y5)、肩部关节点:p3(x3,y3),p6(x6,y6)、眼部关节点:p7(x7,y7),p8(x8,y8)。

2)由手部、臂肘、肩部关节点计算驾驶员两手臂弯曲角度θ1,θ2,由手部、眼部关节点计算驾驶员手部至眼部的距离d1,d2。得到共计10万组数据。

3)将步骤2中的观测数据分别记为y1=(a1,a2,…,a200000)、y2=(b1,b2,…,b200000),得到如下形式的概率分布模型:

其中,wk≥0且∑wk=1,,是每一个高斯分布的权重。φ(y|θk)是第k个高斯分布子模型的概率密度。k的值为2,代表一类为正常驾驶姿态,另一类为异常驾驶姿态。参数

4)随机初始化参数,开始迭代。

5)在进行第i轮迭代后,根据当前模型参数θ(i),求各高斯分布子模型对每个观测数据的响应度:

6)计算新迭代的参数:

7)重复步骤5和步骤6,直到收敛后停止迭代。停止迭代的条件是,对于较小的正数ε有:||θ(i+1)(i)||<ε。

8)参考迭代后的结果,确定异常姿态判定准则:

异常姿态下:驾驶员双臂的角度范围在(0,84)度,手部关节点到眼部关节点的像素点距离范围在(0,457.4)。

正常姿态下:驾驶员双臂的角度范围在(84,180)度,手部关节点到眼部关节点的像素点距离范围在(457.4+)。

9)截取视频样本中的驾驶员异常姿态图片作为数据集。本发明用于训练行为分类器的数据集中包含正常驾驶、吸烟、喝水、打电话四种行为,共16000张。本实例中使用的卷积神经网络选择的是resnet-50,也可使用其他网络如vgg、inception、densenet等。

10)人体关节点检测器和行为分类器不会同时启用,当人体关节点检测器中的异常姿态判定准则判定驾驶员未处于异常姿态时,行为分类器处于待机状态,此时只有人体关节点检测器单独工作。人体关节点检测器会实时提取驾驶员上半身关节点并计算出手臂弯曲角度及手部到眼部的像素点距离提供给异常姿态判定准则进行实时分析;当异常姿态判定准则识别出驾驶员处于异常姿态时,人体关节点检测器转换成待机状态,行为分类器启用,识别驾驶员打电话、喝水、吸烟的异常姿态的具体种类。在行为分类器识别驾驶员维持正常驾驶姿态60秒后变为待机状态,启用人体关节点检测器继续监测驾驶员。

本发明采用车载摄像头实时拍摄的驾驶员图像作为输入数据,使用light-weightopenpose姿态检测算法提取驾驶员上半身关节点的位置坐标,基于坐标数据提出了一种异常姿态判定准则;为了更加准确地识别具体异常姿态种类,在异常姿态判别算法后添加了行为分类器。与现有驾驶员监测系统相比,本发明的特点是在保证检测准确率的同时,能大幅节省监测系统对车载处理器计算资源的占用,为其他车载系统提供更多资源支持。

以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1