本发明涉及人体动作识别技术领域,尤其涉及一种基于人体动作识别技术的驾驶员抽烟行为检测方法。
背景技术:
驾驶员在行车过程中吸烟会造成注意力分散,从而影响肢体的协调能力、工作效率和行车安全,甚至会引发交通事故。
传统上检测驾驶员抽烟行为的方法有两种:一、利用气体检测传感器检测抽烟时产生的烟雾;二、利用红外温度传感器检测点燃的香烟的温度。但是这两种方法均存在有较大的局限性,由于抽烟时产生的烟雾量有限,且烟火面积较小,从而在驾驶室通风良好或存在其他发热源的条件下,传感器的灵敏度会降低,进而会造成检验过程中的漏检和误检。
为了克服传统中基于传感器设备检测抽烟行为过程中存在的缺点,在基于计算机视觉、图像处理等技术的持续发展下,通过视频图像检测驾驶员抽烟行为是否存在抽烟行为的方法逐渐得到了研究和发展。其中包括:识别标定的人脸周围是否存在烟头高亮区以及嘴巴周围是否存在香烟直线边缘等。然而大量观察结果表明:驾驶员在行驶过程中为了避免检查出抽烟行为,通常会采取用手部遮挡香烟的行为,从而降低了抽烟行为检测结果的准确性。
技术实现要素:
发明目的:针对现有驾驶员抽烟行为识别过程中的漏检、误检的问题,本发明提出一种基于人体动作识别技术的驾驶员抽烟行为检测方法。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:
一种基于人体动作识别技术的驾驶员抽烟行为检测方法,所述驾驶员抽烟行为检测方法具体包括如下步骤:
s1:采集驾驶区域中驾驶员的上半身深度图像;
s2:根据所述驾驶员的上半身深度图像,从获取的视频图像中提取所述驾驶员抽烟检测的关键帧图像;
s3:从所述关键帧图像中提取驾驶员上半身关节点坐标向量组成的角度特征;
s4:根据所述关节点角度特征建立驾驶员上半身肢体角度特征集;
s5:通过所述驾驶员上半身肢体角度特征集构建支持向量机训练模型,对所述支持向量机训练模型进行训练,获取训练好的支持向量机训练模型;
s6:从实时采集的驾驶员上半身深度图像中,提取所述驾驶员上半身肢体角度特征集,并将所述驾驶员上半身肢体角度特征集输入训练好的支持向量机训练模型中,通过所述训练好的支持向量机训练模型判断所述驾驶员是否存在抽烟行为,若存在抽烟行为,则对所述抽烟行为进行记录,若不存在抽烟行为,则对下一时刻实时采集的驾驶员上半身深度图像进行判断。
进一步地讲,所述驾驶员的上半身深度图像包括有驾驶员上半身的10个关节点以及10个关节点在三维空间中的坐标信息,所述驾驶员上半身的10个关节点分别为:头部关节点、两肩中心关节点、左肩关节点、左肘关节点、左腕关节点、左手部关节、右肩关节点、右肘关节点、右腕关节点和右手部关节点,每个所述关节点在三维空间中的坐标为:pi(pix,piy,piz)i=1,2,3,…,10,其中pix为第i个关节点在三维空间中x轴上的坐标,piy为第i个关节点在三维空间中y轴上的坐标,piz为第i个关节点在三维空间中z轴上的坐标,i表示关节点的序号。
进一步地讲,在所述步骤s2中,从获取的视频图像中提取所述驾驶员抽烟检测的关键帧图像,具体如下:
s2.1:根据欧式距离公式,获取所述驾驶员头部关节点分别与左手部关节点、右手部关节点之间的距离,具体为:
其中:d1为头部关节点和左手部关节点之间的距离,d2为头部关节点和右手部关节点,p1x为头部关节点在三维空间中x轴上的坐标,p1y为头部关节点在三维空间中y轴上的坐标,p1z为头部关节点在三维空间中z轴上的坐标,p6x为左手部关节点在三维空间中x轴上的坐标,p6y为左手部关节点在三维空间中y轴上的坐标,p6z为左手部关节点在三维空间中z轴上的坐标,p10x为右手部关节点在三维空间中x轴上的坐标,p10y为右手部关节点在三维空间中y轴上的坐标,p10z为右手部关节点在三维空间中z轴上的坐标;
s2.2:判断所述驾驶员头部关节点分别与左手部关节点、右手部关节点之间的距离是否满足下列公式,在所述获取的视频图像中,满足下列公式的图像均为所述驾驶员抽烟检测的关键帧图像,下列公式具体为:
其中:d1为头部关节点和左手部关节点之间的距离,d2为头部关节点和右手部关节点,a1为驾驶员左手部关节点和头部关节点之间距离的实验值,a2为驾驶员右手部关节点和头部关节点之间距离的实验值,t为实验值不小于驾驶员左、右手部关节点和头部关节点之间的距离时所持续的时间,b为实验值不小于驾驶员左手部关节点、右手部关节点和头部关节点之间的距离时所持续的理论时间。
进一步地讲,在所述步骤s3中,从所述关键帧图像中提取驾驶员上半身关节点坐标向量组成的角度特征,具体如下:
s3.1:从所述关键帧图像中提取驾驶员上半身深度图像,根据所述驾驶员上半身深度图像,获取所述驾驶员上半身关节点坐标向量,具体为:
其中:
s3.2:通过所述驾驶员上半身关节点坐标向量提取关节点角度特征,所述关节点角度特征,具体为:
其中:θk为第i1个关节点、第j1个关节点、第i2个关节点和第j2个关节点共同组成的夹角,
进一步地讲,所述驾驶员上半身肢体角度特征集包括判断右手抽烟的肢体角度特征集和判断左手抽烟的肢体角度特征集,所述判断右手抽烟的肢体角度特征集为:(θ1,θ2,θ3,θ4),所述判断左手抽烟的肢体角度特征集为:(θ5,θ6,θ7,θ8);
其中:θ1为右肘关节点、右肩关节点和右腕关节点组成的夹角,θ2为右肘关节点、右腕关节点和右手部关节点组成的夹角,θ3为头部关节点、两肩中心关节点、右肘关节点和右手部关节点组成的夹角,θ4为头部关节点、两肩中心关节点、右肘关节点和右肩关节点组成的夹角,θ5为左肩关节点、左肘关节点和左腕关节点组成的夹角,θ6为左肘关节点、左腕关节点和左手部关节点组成的夹角,θ7为头部关节点、两肩中心关节点、左肘关节点和左手部关节点组成的夹角,θ8为头部关节点、两肩中心关节点、左肘关节点和左肩关节点组成的夹角。
进一步地讲,在所述步骤s5中,获取所述训练好的支持向量机训练模型,具体如下:
s5.1:采集驾驶员驾驶状态的图像流,并将所述图像流根据驾驶员动作的骨骼图像分为正样本和负样本;
s5.2:根据所述正样本和负样本的骨骼图像,重复步骤s3-步骤s4,获取所述正样本和负样本分别对应的驾驶员上半身肢体角度特征集;
s5.3:将所述正样本和负样本分别对应的驾驶员上半身肢体角度特征集分别分为训练集和测试集;
s5.4:构建基于线性核函数的支持向量机训练模型,通过所述训练集对支持向量机训练模型进行训练,并根据所述测试集对训练的支持向量机训练模型进行检测,当所述支持向量机训练模型的识别率至少为90%时,所述支持向量机训练模型即为训练好的支持向量机训练模型,反之则对所述支持向量机训练模型继续进行训练,直至所述支持向量机训练模型的识别率至少为90%。
进一步地讲,所述正样本由图像流中包含有抽烟动作的驾驶员骨骼图像组成,所述负样本由图像流中未包含有抽烟动作的驾驶员骨骼图像组成。
有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
(1)本发明基于kinect设备提取驾驶员做抽烟动作时上半身的肢体角度特点,对抽烟动作进行识别,从而实时全面的检测驾驶员的吸烟行为,同时在对抽烟动作进行分析的过程中,可以利用驾驶员在做不同的动作时人体各个关节点之间的角度差异进行抽烟动作判断;
(2)本发明克服了基于气体检测传感器、红外温度传感器这类传统抽烟行为检测方法的局限性,在驾驶室通风良好或驾驶室存在其他发热源的条件下也能有效地识别驾驶员的抽烟行为,同时还解决了视频图像识别检测技术中驾驶员用手部遮挡香烟,不配合检测的现象,从而提高了抽烟行为检测结果的准确性。
附图说明
图1是本发明的驾驶员抽烟行为检测方法的流程示意图;
图2是本发明利用kinect设备追踪驾驶员上半身关节点的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。
实施例1
参考图1,本实施例提供了一种基于人体动作识别技术的驾驶员抽烟行为检测方法,具体包括如下步骤:
步骤s1:参考图2,利用kinect设备采集驾驶区域中驾驶员的上半身深度图像,其中包括有驾驶员上半身的10个关节点以及10个关节点在三维空间中的坐标信息,每个关节点在三维空间中的坐标为:pi(pix,piy,piz)i=1,2,3,…,10,其中pix为第i个关节点在三维空间中x轴上的坐标,piy为第i个关节点在三维空间中y轴上的坐标,piz为第i个关节点在三维空间中z轴上的坐标,i表示关节点的序号。
具体地讲,第一个关节点为头部关节点,坐标为:p1-head(p1x,p1y,p1z),第二个关节点为两肩中心关节点,坐标为:p2-shoulder_center(p2x,p2y,p2z),第三个关节点为左肩关节点,坐标为:p3-shoulder_left(p3x,p3y,p3z),第四个关节点为左肘关节点,坐标为:p4-elbow_left(p4x,p4y,p4z),第五个关节点为左腕关节点,坐标为:p5-wrist_left(p5x,p5y,p5z),第六个关节点为左手部关节点,坐标为:p6-hand_left(p6x,p6y,p6z),第七个关节点为右肩关节点坐标为:p7-shoulder_right(p7x,p7y,p7z),第八个关节点为右肘关节点,坐标为:p8-elbow_right(p8x,p8y,p8z),第九个关节点为右腕关节点,坐标为:p9-wrist_right(p9x,p9y,p9z),第十个关节点为右手部关节点,坐标为:p10-hand_right(p10x,p10y,p10z)。
步骤s2:根据步骤s1中各关节点在三维空间中的坐标信息,从kinect设备获取的驾驶区域中驾驶员的视频图像中,提取出该驾驶员抽烟检测的关键帧图像。具体如下:
步骤s2.1:利用kinect设备跟踪驾驶区域中驾驶员的手部关节点,同时根据欧式距离公式分别计算驾驶员头部关节点p1-head和左手部关节点p6-hand_left之间的距离d1,驾驶员头部关节点p1-head和右手部关节点p10-hand_right之间的距离d2,具体为:
其中:d1为头部关节点和左手部关节点之间的距离,d2为头部关节点和右手部关节点,p1x为头部关节点在三维空间中x轴上的坐标,p1y为头部关节点在三维空间中y轴上的坐标,p1z为头部关节点在三维空间中z轴上的坐标,p6x为左手部关节点在三维空间中x轴上的坐标,p6y为左手部关节点在三维空间中y轴上的坐标,p6z为左手部关节点在三维空间中z轴上的坐标,p10x为右手部关节点在三维空间中x轴上的坐标,p10y为右手部关节点在三维空间中y轴上的坐标,p10z为右手部关节点在三维空间中z轴上的坐标。
具体地讲,头部关节点和左手部关节点之间的距离d1作为驾驶员左手抽烟的判定指标,头部关节点和右手部关节点d2作为驾驶员右手抽烟的判定指标。
步骤s2.2:选定抽烟动作下驾驶员左手部关节点、右手部关节点和头部关节点之间距离的实验值,判断选定的实验值是否小于驾驶员左手部关节点、右手部关节点和头部关节点之间的距离,具体为:
d1≤a1或d2≤a2
其中:d1为头部关节点和左手部关节点之间的距离,d2为头部关节点和右手部关节点,a1为驾驶员左手部关节点和头部关节点之间距离的实验值,a2为驾驶员右手部关节点和头部关节点之间距离的实验值。
在选定的实验值不小于驾驶员左手部关节点、右手部关节点和头部关节点之间的距离的条件下,确定出该条件成立的时间,并判断该条件成立的时间是否大于该条件成立的理论时间,具体为:
t≤b
其中:t为实验值不小于驾驶员左、右手部关节点和头部关节点之间的距离时所持续的时间,b为实验值不小于驾驶员左手部关节点、右手部关节点和头部关节点之间的距离时所持续的理论时间。
在本实施例中,驾驶员左手部关节点和头部关节点之间距离的实验值a1和驾驶员右手部关节点和头部关节点之间距离的实验值a2均设置为0.1m,实验值不小于驾驶员左、右手部关节点和头部关节点之间的距离时所持续的理论时间b设置为0.8s。
同时,在kinect设备获取的驾驶区域中驾驶员的视频图像中,满足上述两个关系式的图像均为该驾驶员抽烟检测的关键帧图像。
步骤s3:从步骤s2获取的关键帧图像中,先获取驾驶员上半身的10个关节点在三维空间中的坐标信息,通过该坐标信息确定出驾驶员上半身的关节点坐标向量,之后通过关节点坐标向量获取关节点角度特征。具体如下:
步骤s3.1:在步骤s2获取的关键帧图像中,获取驾驶员上半身的10个关节点在三维空间中的坐标信息,将该10个关节点在三维空间中的坐标信息进行处理,得到11个关节点坐标向量,每个关节点坐标向量具体为:
其中:
在本实施例中,11个关节点坐标向量具体为:
其中:
步骤s3.2:通过11个关节点坐标向量提取8个关节点角度特征,每个关节点角度特征,具体为:
其中:θk为第i1个关节点、第j1个关节点、第i2个关节点和第j2个关节点共同组成的夹角,
在本实施例中,8个关节点角度特征具体为:
其中:θ1为右肘关节点、右肩关节点和右腕关节点组成的夹角,θ2为右肘关节点、右腕关节点和右手部关节点组成的夹角,θ3为头部关节点、两肩中心关节点、右肘关节点和右手部关节点组成的夹角,θ4为头部关节点、两肩中心关节点、右肘关节点和右肩关节点组成的夹角,θ5为左肩关节点、左肘关节点和左腕关节点组成的夹角,θ6为左肘关节点、左腕关节点和左手部关节点组成的夹角,θ7为头部关节点、两肩中心关节点、左肘关节点和左手部关节点组成的夹角,θ8为头部关节点、两肩中心关节点、左肘关节点和左肩关节点组成的夹角,
步骤s4:在区分驾驶员左手抽烟和右手抽烟的两种情况下,根据步骤s3.2中8个关节点角度特征建立驾驶员上半身肢体角度特征集,同时该建立的上半身肢体角度特征集可以作为判断驾驶员是否在驾驶过程中抽烟的依据。从而该驾驶员上半身肢体角度特征集分为判断右手抽烟的肢体角度特征集、判断左手抽烟的肢体角度特征集。
具体地讲,判断右手抽烟的肢体角度特征集为:(θ1,θ2,θ3,θ4),判断左手抽烟的肢体角度特征集为:(θ5,θ6,θ7,θ8)。其中:θ1为右肘关节点、右肩关节点和右腕关节点组成的夹角,θ2为右肘关节点、右腕关节点和右手部关节点组成的夹角,θ3为头部关节点、两肩中心关节点、右肘关节点和右手部关节点组成的夹角,θ4为头部关节点、两肩中心关节点、右肘关节点和右肩关节点组成的夹角,θ5为左肩关节点、左肘关节点和左腕关节点组成的夹角,θ6为左肘关节点、左腕关节点和左手部关节点组成的夹角,θ7为头部关节点、两肩中心关节点、左肘关节点和左手部关节点组成的夹角,θ8为头部关节点、两肩中心关节点、左肘关节点和左肩关节点组成的夹角。
步骤s5:通过判断右手抽烟的肢体角度特征集、判断左手抽烟的肢体角度特征集构建支持向量机训练模型,用于判断驾驶员抽烟、未抽烟两种情形,具体如下:
步骤s5.1:利用kinect设备采集驾驶员驾驶状态的图像流,并将采集到的图像流分为两类,一类为正样本,一类为负样本,其中正样本由图像流中包含有抽烟动作的驾驶员骨骼图像组成,负样本由图像流中未包含有抽烟动作的驾驶员骨骼图像组成,根据正样本和负样本中的驾驶员骨骼图像,创建驾驶员驾驶状态的上半身骨骼图像数据库。
在本实施例中,未包含有抽烟动作的驾驶员骨骼图像包括打电话动作的驾驶员骨骼图像、饮食动作的驾驶员骨骼图像,同样地,也包括其他一些动作的驾驶员骨骼图像。
步骤s5.2:在正样本的驾驶员骨骼图像和负样本的驾驶员骨骼图像中,提取各驾驶员骨骼图像对应的驾驶员上半身肢体角度特征集。即在正样本的驾驶员骨骼图像和负样本的驾驶员骨骼图像中,重复步骤s3-步骤s4,从而得到各驾驶员骨骼图像对应的驾驶员上半身肢体角度特征集。
步骤s5.3:将正样本的驾驶员骨骼图像对应的驾驶员上半身肢体角度特征集、负样本的驾驶员骨骼图像对应的驾驶员上半身肢体角度特征集均分为训练集和测试集。
具体地讲,在每个样本的驾驶员上半身肢体角度特征集中,其中80%的样本组合成训练集,20%的样本组合成测试集。
步骤s5.4:构建基于线性核函数的支持向量机训练模型,并通过步骤s5.3中训练集中的样本训练支持向量机。在训练结束后,利用测试集中的样本测试支持向量机训练模型对抽烟行为检测效果。当识别率至少为90%时,则表明该支持向量机训练模型是符合抽烟行为识别的精度要求的,即该支持向量机训练模型是训练好的支持向量机训练模型。当识别率未达到90%时,则需要对支持向量机训练模型继续进行训练,直至该支持向量机训练模型的识别率至少为90%。
步骤s6:实时采集驾驶员的上半身深度图像,并从实时采集的驾驶员上半身深度图像中,提取该驾驶员上半身肢体角度特征集,同时将该驾驶员上半身肢体角度特征集输入训练好的支持向量机训练模型中。通过训练好的支持向量机训练模型判断该驾驶员是否存在抽烟行为,若存在有抽烟行为,则对该驾驶员的抽烟行为进行记录,若不存在有抽烟行为,则对该驾驶员下一时刻的上半身深度图像进行采集,并继续进行判断。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构和方法并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均属于本发明的保护范围。