驾驶员异常驾驶行为检测方法、计算机设备和存储介质
技术领域
本申请涉及机器视觉技术领域,特别是涉及一种驾驶员异常驾驶行为检测方法、计算机设备和存储介质。
背景技术
随着汽车的使用越来越普遍,汽车行驶安全也越来越受到关注。行驶过程中,驾驶员的异常驾驶行为会分散驾驶员的注意力、降低驾驶员的反应能力,是汽车行驶过程中的安全隐患。例如,驾驶员行车过程中打电话会分散精力,易引发交通事故。
为提高汽车行驶安全性,目前采用了自动检测驾驶员是否存在异常驾驶行为的技术,通过采集驾驶员的图像,对图像进行图像分析从而确定是否有异常驾驶行为。但是目前的图像分析的方法容易误判,检测准确率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高检测准确性的驾驶员异常驾驶行为检测方法、计算机设备和存储介质。
一种驾驶员异常驾驶行为检测方法,所述方法包括:
获取驾驶员的驾驶图像;
对所述驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息;
根据所述特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中所述器官的器官图像;
采用所述器官对应的已训练分类器对所述器官的器官图像进行行为分类,根据分类结果得到所述驾驶员的异常驾驶行为检测结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取驾驶员的驾驶图像;
对所述驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息;
根据所述特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中所述器官的器官图像;
采用所述器官对应的已训练分类器对所述器官的器官图像进行行为分类,根据分类结果得到所述驾驶员的异常驾驶行为检测结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取驾驶员的驾驶图像;
对所述驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息;
根据所述特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中所述器官的器官图像;
采用所述器官对应的已训练分类器对所述器官的器官图像进行行为分类,根据分类结果得到所述驾驶员的异常驾驶行为检测结果。
上述驾驶员异常驾驶行为检测方法、计算机设备和存储介质,根据对应驾驶图像的特征点位置信息,截取执行待检测异常驾驶行为的器官的感兴趣区域得到器官图像,从而将执行待检测异常驾驶行为的器官的图像部分单独分离出来;然后采用器官对应的已训练分类器对器官图像进行行为分类,即行为分类的对象是器官图像而非整个驾驶图像,可以针对执行待检测异常驾驶行为的器官的图像部分进行精细分析,过滤掉驾驶图像中其他非相关区域,相较于传统的对整个图像进行图像分析,准确性更高,从而可提高检测异常驾驶行为的准确性。
附图说明
图1为一个实施例中驾驶员异常驾驶行为检测方法的流程示意图;
图2为一个实施例中根据特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中器官的器官图像的流程示意图;
图3为一个实施例中左侧耳朵的感兴趣区域和右侧耳朵的感兴趣区域的示意图;
图4为一个实施例中根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段的流程示意图;
图5为一个实施例中嘴巴的感兴趣区域的示意图;
图6为另一个实施例中根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段的流程示意图;
图7为另一个实施例中驾驶员异常驾驶行为检测方法的流程示意图;
图8为一个实施例中检测装置的结构示意图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种驾驶员异常驾驶行为检测方法,以该方法应用检测装置为例进行说明,包括以下步骤:
S110:获取驾驶员的驾驶图像。
驾驶图像是指拍摄驾驶员得到的图像;例如,驾驶图像可以是在行驶过程中拍摄驾驶员的脸部得到的图像,或者在行驶过程中拍摄驾驶员的上半身得到的图像。具体地,检测装置可以是从摄像机获取拍摄得到的驾驶图像,例如从红外摄像机获取驾驶图像;也可以是摄像机拍摄的驾驶图像存在存储器中,检测装置从存储器获取驾驶图像。
S130:对驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息。
特征点位置信息是用于指示特征点在驾驶图像中的位置的信息。具体地,检测装置对驾驶图像进行特征分析,可以是调用配置的特征分析算法分析驾驶图像。例如,以驾驶图像包括脸部区域像为例,检测装置可以调用配置的人脸检测算法和人脸特征点对齐算法分析驾驶图像。
S150:根据特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中器官的器官图像。
待检测异常驾驶行为,是指进行异常驾驶行为检测时需要检测驾驶员是否做的异常驾驶行为的类型。执行待检测异常驾驶行为的器官,是驾驶员执行待检测异常驾驶行为所需要用到的器官。执行待检测异常驾驶行为的器官的感兴趣区域,是包括执行待检测异常驾驶行为的器官的图像区域。例如,若需要检测驾驶员是否打电话,则待检测异常驾驶行为是打电话;打电话需要用耳朵听,则执行待检测异常驾驶行为的器官包括耳朵。若需要检测驾驶员是否吃东西,则待检测异常驾驶行为是吃东西;吃东西需要用到嘴巴咀嚼,则执行待检测异常驾驶行为的器官包括嘴巴。具体地,执行待检测异常驾驶行为的器官可以是一个,也可以是多个,检测装置确定各器官的感兴趣区域并截图,得到各器官的器官图像。
S170:采用器官对应的已训练分类器对器官的器官图像进行行为分类,根据分类结果得到驾驶员的异常驾驶行为检测结果。
已训练分类器是已经训练好的、能够将存在检测异常驾驶行为的图像和不存在待检测异常驾驶行为的图像进行分类的分类器,即,已训练分类器表征了输入的图像与是否存在待检测异常驾驶行为的结果之间的对应关系。驾驶员的异常驾驶行为检测结果是用于说明驾驶员是否执行待检测异常驾驶行为的结果。
具体地,一个器官的器官图像可以是一个,例如,只获取了单帧驾驶图像,则截取得到的一个器官的器官图像为一个;此时,检测装置直接根据分类结果确定驾驶员的异常驾驶行为检测结果。可以理解,同一个器官的器官图像也可以是多个,例如,获取了多帧驾驶图像,则每一帧驾驶图像对应一个器官的器官图像;此时,检测装置可以结合多个器官图像的分类结果得到驾驶员的异常驾驶行为检测结果。
具体地,可以是一种器官对应一个已训练分类器,即,检测装置对不同器官的器官图像分开进行行为分类。对应地,若执行待检测异常驾驶行为的器官有多个,则检测装置可以根据各个已训练分类器的分类结果,分别得到对应器官的异常驾驶行为检测结果。
上述驾驶员异常驾驶行为检测方法中,根据对应驾驶图像的特征点位置信息,截取执行待检测异常驾驶行为的器官的感兴趣区域得到器官图像,从而将执行待检测异常驾驶行为的器官的图像部分单独分离出来;然后采用器官对应的已训练分类器对器官图像进行行为分类,即行为分类的对象是器官图像而非整个驾驶图像,可以针对执行待检测异常驾驶行为的器官的图像部分进行精细分析,过滤掉驾驶图像中其他非相关区域,相较于传统的对整个图像进行图像分析,准确性更高,从而可提高检测异常驾驶行为的准确性。
在一个实施例中,驾驶图像包括驾驶员的脸部区域。步骤S130包括:调用配置的人脸检测算法对驾驶图像进行检测,确定驾驶员的脸部区域;调用配置的人脸特征点对齐算法对驾驶员的脸部区域进行检测,标定驾驶图像中的特征点并得到特征点位置信息。
其中,人脸检测算法包括哈尔级联分类算法和基于DLIB库的SVM(Support VectorMachine支持向量机)算法中的一种。人脸特征点对齐算法包括SDM(Supervised DescentMethod监督下降法)人脸对齐算法和CLNF(Constrained Local Neural Field Model约束局部神经网络模型)人脸对齐算法中的一种。可以理解,在其他实施例中,人脸检测算法和人脸特征点对齐算法还可以是采用其他算法。通过采用人脸检测算法和人脸特征点对齐算法对驾驶图像进行特征分析,得到特征点位置信息,检测装置可根据特征点位置信息确定人脸器官的位置。
例如,检测装置对驾驶图像特征分析后,可得到第0号点至第67号点共68个人脸特征点的特征点位置信息,其中第0号点至第16号点标注了人脸的轮廓,第17号点至第21号点标注了右侧眉毛区域,第22号点至第26号点标注了左侧眉毛区域,第27号点至第35号点标注了鼻子区域,第36号点至第41号点标注了右侧眼睛区域,第42号点至第47号点标注了左侧眼睛区域,第48号点至第67号点标注了嘴巴区域。
在一个实施例中,特征点的数量至少为三个。参考图2,步骤S150包括步骤S151至步骤S155。
S151:根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段。
其中,预设角度可以根据实际需要设置。例如,预设角度为90°,即,调整线段垂直于基准线段。可以理解,在其他实施例中,预设角度还可以为其他角度。
S153:以基准线段和调整线段为四边形的两条相邻边,在对应驾驶图像中围成包括器官的闭合区域,得到器官的感兴趣区域。
具体地,检测装置可以是以基准线段为基准,在基准线段的两侧端点上分别连接相互平行的调整线段,再连接两平行的调整线段形成闭合区域。
S155:截取器官的感兴趣区域,得到对应驾驶图像中器官的器官图像。
检测装置在特征点位置信息的对应驾驶图像中截取器官的感兴趣区域,可得到器官的器官图像。
通过步骤S151至步骤S155,确定基准线段和调整线段,根据基准线段和调整线段确定器官的感兴趣区域。由于基准线段和调整线段是基于特征点位置信息确定的,特征点在人脸的相对位置是固定的,若拍摄的驾驶图像尺寸大小变化,则基准线段和调整线段的长度会随驾驶图像的尺寸大小变化而变化,进而感兴趣区域的大小可以随驾驶图像的尺寸大小变化而变化。相比于基于像素确定区域的方法,本实施例中采用基准线段和调整线段确定感兴趣区域,能适应尺度变换,得到的感兴趣区域准确性更高,从而可提高异常驾驶行为的检测精度。
在一个实施例中,驾驶图像包括驾驶员的脸部区域,执行待检测异常驾驶行为的器官包括耳朵;具体地,可以设置红外摄像机相对于驾驶员保持合适的角度,确保能拍摄驾驶员完整的脸部图像数据,从而检测装置可以获取到包括驾驶员的脸部区域的驾驶图像。具体地,待检测异常驾驶行为可以是打电话,或者还可以是其他用到耳朵的异常驾驶行为。
特征点位置信息包括人脸宽度方向上的最左侧人脸轮廓点的像素坐标、人脸宽度方向上的最右侧人脸轮廓点的像素坐标以及距离头顶最远的人脸轮廓点的像素坐标。其中,像素坐标是对应的像素点在驾驶图像中的位置,例如,最左侧人脸轮廓点的像素坐标是最左侧人脸轮廓点在驾驶图像中的位置。参考图3,最左侧人脸轮廓点的像素坐标对应的位置和最右侧人脸轮廓点的像素坐标对应的位置分别为第0号点和第16号点,距离头顶最远的人脸轮廓点的像素坐标对应的位置为第8号点。本实施例中,参考图4,步骤S151包括步骤S1510至步骤S1515。
S1510:根据最左侧人脸轮廓点的像素坐标和最右侧人脸轮廓点的像素坐标,计算最左侧人脸轮廓点和最右侧人脸轮廓点之间中点的像素坐标。
S1511:确定中点到距离头顶最远的人脸轮廓点之间的连线,并根据中点的像素坐标和距离头顶最远的人脸轮廓点的像素坐标计算连线的长度。
如图3所示,中点为位于第0号点和第16点中间的点,中点与第8号点连接得到连线。具体地,检测装置计算中点的像素坐标和距离头顶最远的人脸轮廓点的像素坐标之间的距离,得到连线的长度。
S1512:分别过最左侧人脸轮廓点和最右侧人脸轮廓点做平行于连线的线段,得到左侧耳朵的基准线段和右侧耳朵的基准线段。
检测装置过最左侧人脸轮廓点做平行于连线的线段,得到左侧耳朵的基准线段;检测装置过最右侧人脸轮廓点做平行于连线的线段,得到右侧耳朵的基准线段。具体地,左侧耳朵的基准线段和右侧耳朵的基准线段的长度可以是等于连线的长度,也可以大于连线的长度。
S1513:以左侧耳朵的基准线段上一点为端点,按照与左侧耳朵的基准线段呈预设角度且朝向左侧耳朵的方向,做长度为左侧耳朵的基准线段的预设耳部扩充倍数的左侧线段。
其中,预设耳部扩充倍数可以根据需要设置。本实施例中,预设耳部扩充倍数为0.75倍,即,左侧线段的长度为左侧耳朵的基准线段的0.75倍。
S1514:以右侧耳朵的基准线段上一点为端点,按照与右侧耳朵的基准线段呈预设角度且朝向右侧耳朵的方向,做长度为右侧耳朵的基准线段的预设耳部扩充倍数的右侧线段。
本实施例中,预设耳部扩充倍数为0.75倍,即,右侧线段的长度为右侧耳朵的基准线段的0.75倍。
S1515:分别根据左侧线段和右侧线段确定左侧耳朵的调整线段和右侧耳朵的调整线段。
具体地,检测装置可以是直接将左侧线段作为左侧耳朵的调整线段,直接将右侧线段作为右侧耳朵的调整线段;检测装置也可以是将左侧线段进行长度扩充之后得到左侧耳朵的调整线段,将右侧线段进行长度扩充之后得到右侧耳朵的调整线段。本实施例中,获取左侧耳朵的基准线段和调整线段以及右侧耳朵的基准线段和调整线段,对应地,步骤S153得到左侧耳朵的感兴趣区域和右侧耳朵的感兴趣区域,步骤S155分别截取得到左侧耳朵的器官图像和右侧耳朵的器官图像。
一般来说,最左侧人脸轮廓点和最右侧人脸轮廓点是对称分布在脸颊两侧。若驾驶图像中人脸有倾斜,则最左侧人脸轮廓点和最右侧人脸轮廓点的连接线段在二维平面的水平方向上不平齐,中点到距离头顶最远的人脸轮廓点之间的连线的长度方向不平行于二维平面的垂直方向;即,连线的长度方向会随人脸的倾斜而倾斜。本实施例中,左侧耳朵的基准线段和右侧耳朵的基准线段平行于连线,因此,左侧耳朵的基准线段的长度方向和右侧耳朵的基准线段的长度方向也可因人脸的倾斜而倾斜,从而左侧耳朵的调整线段和右侧耳朵的调整线段同样因人脸的倾斜而倾斜,进而使得基于基准线段和调整线段确定的感兴趣区域会随驾驶图像中人脸的倾斜而相对于二维平面的水平方向偏转。拍摄的驾驶图像的图像边缘的长和宽是一般是分别平行于二维平面的水平方向和竖直方向的,当驾驶图像中人脸有倾斜时,感兴趣区域各条边相对于驾驶图像的边缘存在夹角,而不是平行于驾驶图像的边缘。如此,耳朵的感兴趣区域可以很好地契合驾驶员执行异常驾驶行为时的角度偏转,例如可以很好地契合打电话时手贴在耳朵的角度偏转,从而感兴趣区域的准确性高,从而可提高异常驾驶行为的检测精度。
在一个实施例中,步骤S1512包括:分别以最左侧人脸轮廓点和最右侧人脸轮廓点为端点,朝远离头顶的方向做与连线平行且长度相等的线段,对应得到左侧平行线段和右侧平行线段;将左侧平行线段沿最左侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,得到左侧耳朵的基准线段;将右侧平行线段沿最右侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,得到右侧耳朵的基准线段。
检测装置以最左侧人脸轮廓点为端点,朝远离头顶的方向做与连线平行且长度相等的线段得到左侧平行线段;检测装置以最右侧人脸轮廓点为端点,朝远离头顶的方向做与连线平行且长度相等的线段得到右侧平行线段。具体地,将左侧平行线段沿最左侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,具体是以最左侧人脸轮廓点为起始点,朝靠近头顶的方向延长左侧平行线段,延长的长度等于连线的长度的预设耳部基准倍数。将右侧平行线段沿最右侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,具体是以最右侧人脸轮廓点为起始点,朝靠近头顶的方向延长右侧平行线段,延长的长度等于连线的长度的预设耳部基准倍数。
通过按照预设耳部基准倍数扩充左侧平行线段和右侧平行线段的长度,左侧耳朵的基准线段和右侧耳朵的基准线段的长度大于连线的长度,可使得基准线段中靠近头顶的端点高于耳朵区域,确保感兴趣区域能包含耳朵区域,准确性高。具体地,本实施例中,预设耳部基准倍数为0.5倍。按照0.5倍扩充得到的左侧耳朵和右侧耳朵的基准线段的长度合适度高。
在一个实施例中,步骤S1515包括:将左侧线段沿远离左侧耳朵的方向延长左侧线段的长度的预设反向倍数,得到与左侧耳朵的调整线段;将右侧线段沿远离右侧耳朵的方向延长右侧线段的长度的预设反向倍数,得到与右侧耳朵的调整线段。
在二维平面上,远离耳朵的方向即为靠近人脸中间的方向。通过按照预设反向倍数扩充左侧线段和右侧线段,可以在靠近人脸中间的基础上增大耳朵的感兴趣区域的范围,提高感兴趣区域的准确性高。具体地,本实施例中,预设反向倍数为0.2倍。按照0.2倍扩充得到的左侧耳朵和右侧耳朵的调整线段的长度合适度高。
以下以一个详细的实施例说明得到左侧耳朵的感兴趣区域和右侧耳朵的感兴趣区域的过程:如图3所示,先选取人脸轮廓的特征点:第0号点、第16号点和第8号点;取第0号点和第16号点的中点做和第8号点的连线,再分别过第16号点和第0号点做连线的长度相等的平行线,此时得到了人脸轮廓的边界线。再分别过第16号点和第0号点做朝靠近头顶方向的反向延长线,延长长度为连线长度的0.5倍,得到延长后的端点的坐标,延长后过第16号点且平行于连线的整体线段为左侧耳朵的基准线段,延长后过第0号点且平行于连线的整体线段为右侧耳朵的基准线段。过第16号点的反向延长线的端点做过第16号点的直线的法线量n,法向量n的方向沿着耳朵向外,其长度为过第16号点的线段的0.75倍,得到左侧线段。再将得到的左侧线段分别加到过第16号点的线段的两个端点上,并分别反向延长右侧线段长度的0.2倍得到调整线段,过第16号点的线段的两个端点上的调整线段分别为左侧耳朵的上边沿和下边沿。再依次连接上边沿和下边沿的端点,使其成为闭合的感兴趣区域,即可得到驾驶员左侧耳朵的感兴趣区域。同理可以得到驾驶员右侧耳朵的感兴趣区域。
在一个实施例中,驾驶图像包括驾驶员的脸部区域,执行待检测异常驾驶行为的器官包括嘴巴。具体地,待检测异常驾驶行为可以是打电话、吃东西、抽烟、喝水等,或者还可以是其他用到嘴巴的异常驾驶行为。特征点位置信息包括鼻尖的像素坐标、下唇最底点的像素坐标和两侧口角的像素坐标。其中,下唇最底点的像素坐标,是下唇上距离下巴最近的位置点的像素坐标。例如,参考图5,鼻尖的像素坐标对应的位置为第30号点,下唇最底点的像素坐标对应的位置为第57号点,两侧口角的像素坐标对应的位置分别为第48号点和第54号点。本实施例中,参考图6,步骤S151包括步骤S1516至步骤S1519。
S1516:根据两侧口角的像素坐标,确定过两侧口角的嘴巴区域的基准线段。
嘴巴包括左侧口角和右侧口角。两侧口角的像素坐标包括左侧口角的像素坐标和右侧口角的像素坐标。过两侧口角的嘴巴区域的基准线段,即为过左侧口角所在位置点和右侧口角所在位置点的线段。嘴巴区域的基准线段的长度可以大于两侧口角的像素坐标之间的距离,也可以等于两侧口角的像素坐标之间的距离。
S1517:以嘴巴区域的基准线段上一点和鼻尖的像素坐标为端点,确定与嘴巴区域的基准线段呈预设角度的第一侧线段。
具体地,检测装置可以是以鼻尖的像素坐标为起始点,按照与嘴巴区域的基准线段呈预设角度、往靠近嘴巴区域的基准线段的方向延伸线段,直到线段延伸至嘴巴区域的基准线段则停止,即结束点在嘴巴区域的基准线段上,可得到第一侧线段。具体地,预设角度为90°,则第一侧线段垂直于嘴巴区域的基准线段。
S1518:以嘴巴区域的基准线段上一点和下唇最底点的像素坐标为端点,确定与嘴巴区域的基准线段呈预设角度的第二侧线段。
具体地,检测装置可以是以下唇最底点的像素坐标为起始点,按照与嘴巴区域的基准线段呈预设角度、往靠近嘴巴区域的基准线段的方向延伸线段,直到线段延伸至嘴巴区域的基准线段则停止,即结束点在嘴巴区域的基准线段上,可得到第二侧线段。具体地,预设角度为90°,则第二侧线段垂直于嘴巴区域的基准线段。
S1519:对第一侧线段和第二侧线段进行叠加,得到与嘴巴区域的基准线段呈预设角度的调整线段。
检测装置对第一侧线段和第二侧线段进行叠加,使第一侧线段和第二侧线段位于同一条直线上,从而得到嘴巴区域的调整线段。本实施例中,获取嘴巴区域的基准线段和调整线段,对应地,步骤S153得到嘴巴的感兴趣区域,步骤S155截取得到嘴巴的器官图像。
通过步骤S1516至步骤S1519,以过嘴巴的两侧口角的线段为嘴巴区域的基准线段,基准线段的长度方向会随人脸的倾斜而倾斜,从而嘴巴区域的调整线段同样会因人脸的倾斜而倾斜,进而使得基于基准线段和调整线段确定的感兴趣区域会随驾驶图像中人脸的倾斜而相对于二维平面的水平方向偏转。如此,嘴巴的感兴趣区域可以很好地契合驾驶员执行异常驾驶行为时的角度偏转,例如可以很好地契合吃东西、抽烟或喝水时手贴在嘴巴的角度偏转,从而感兴趣区域的准确性高,从而可提高异常驾驶行为的检测精度。
可以理解,步骤S151可以同时包括步骤S1510至步骤S1515,以及步骤S1516至步骤S1519,对应地,步骤S153可以得到左侧耳朵的感兴趣区域、右侧耳朵的感兴趣区域和嘴巴的感兴趣区域。步骤S151可以只包括步骤S1510至步骤S1515,或者只包括步骤S1516至步骤S1519。
在一个实施例中,步骤S1516包括:连接两侧口角的像素坐标得到口裂线段,并根据两侧口角的像素坐标计算口裂线段的长度;分别沿两侧口角的像素坐标反向延长口裂线段的长度的预设嘴部基准倍数,得到嘴巴区域的基准线段。
其中,分别沿两侧口角的像素坐标反向延长口裂线段的长度的预设嘴部基准倍数,具体是以左侧口角的像素坐标做起始点、沿远离右侧口角的方向延长口裂线段的长度,以右侧口角的像素坐标做起始点、沿远离左侧口角的方向延长口裂线段的长度,延长的长度均等于口裂线段的长度的预设嘴部基准倍数。
通过按照预设嘴部基准倍数扩充口裂线段的长度,所得到的嘴巴区域的基准线段的长度大于两侧口角的像素坐标之间的距离,可确保感兴趣区域能在嘴巴区域的基准线段的长度方向上包含嘴巴区域,得到的感兴趣区域准确性高。具体地,本实施例中,预设嘴部基准倍数为0.2倍。按照0.2倍扩充得到的嘴巴区域的基准线段的长度合适度高。
在一个实施例中,步骤S1519包括:朝远离嘴巴区域的基准线段的方向延长第二侧线段,直到延长后的线段长度等于第二侧线段的长度的预设嘴部扩充倍数;分别将第二侧线段延长后的线段和第一侧线段的一侧端点叠加至嘴巴区域的基准线段的同一侧端点,得到与嘴巴区域的基准线段呈预设角度的调整线段。其中,第一侧线段的另一侧端点朝向头顶,第二侧线段延长后的线段的另一侧端点远离头顶。
本实施例中,嘴巴区域的调整线段是将第一侧线段和第二侧线段延长后的线段移至位于同一条直线上、进行非重叠地连接之后得到的线段。通过对第二侧线段进行长度扩充使得延长后的长度等于原长度的预设嘴部扩充倍数,可以增大嘴巴的感兴趣区域的范围,提高感兴趣区域的准确性高。具体地,本实施例中,预设嘴部扩充倍数为1.2倍。
以下以一个详细的实施例说明得到嘴巴的感兴趣区域的过程:如图5所示,选取驾驶员的特征点:第30号点、第48号点、第54号点和第57号点。做第48号点和第54号点连接的线段,并分别从第48号点和第54号点做线段的反向延长线,延长长度均为原线段的0.2倍,延长后的整体线段为嘴巴区域的基准线段。再分计算第30号点和第57号点过嘴巴区域的基准线段的距离,再做两条过第48号点和第54号点直线的法向量,两条法向量分别向上和向下,向上的法向量长度为第30号点到嘴巴区域的基准线段的距离,向下的法向量的长度为第57号点到嘴巴区域的基准线段的距离的1.2倍长度。再将两条法向量分别平移至嘴巴区域的基准线段的两端点上,得到嘴巴区域的调整线段,两端的调整线段作为左边沿和右边沿,再依次连接各边沿的端点,使其形成闭合的矩形区域,即可得到嘴巴的感兴趣区域。
在一个实施例中,步骤S150之后、步骤S170之前,还包括归一化步骤:按照预设的尺寸大小对器官图像进行归一化处理,得到处理后的器官图像。对应地,步骤S170采用器官对应的已训练分类器对处理后的器官图像进行行为分类。
其中,按照预设的尺寸大小对器官图像进行归一化处理,具体是对器官图像进行尺寸调整,使器官图像的尺寸匹配预设的尺寸大小,从而可以保证每一个待进行行为分类的器官图像的大小一致。如此,可以提高行为分类的准确性,从而提高异常驾驶行为检测的准确性。
在一个实施例中,步骤S110之前,还包括训练步骤:分别获取驾驶员没有待检测异常驾驶行为时和有待检测异常驾驶行为时器官的器官图像,分别得到正样本和负样本;采用正样本和负样本对初始分类器进行训练,得到器官对应的已训练分类器。
其中,正样本为驾驶员没有待检测异常驾驶行为时器官的器官图像,负样本为有待检测异常驾驶行为时器官的器官图像。例如,对于耳朵的已训练分类器,采用的正样本为驾驶员正常驾驶时截取的耳朵图片,负样本为驾驶员在驾驶过程中打电话时截取的图片;本实施例中,耳朵的已训练分类器可以包括左侧耳朵的已训练分类器和右侧耳朵的已训练分类器,分别用于对左侧耳朵的器官图像和右侧耳朵的器官图像进行行为分类。对于嘴巴,采用的正样本为驾驶员在驾驶过程中正常驾驶时截取的嘴部图片,负样本为驾驶员在驾驶过程中抽烟、喝水、吃东西等行为的嘴巴图片。具体地,可以采用离线的方式对初始分类器进行训练。
通过采用正样本和负样本对初始分类器进行训练,得到的已训练分类器能将器官图像分类为有异常驾驶行为或没有异常驾驶行为。具体地,分别获取驾驶员没有待检测异常驾驶行为时和有待检测异常驾驶行为时器官的器官图像的具体实现过程,与步骤S110至步骤S150根据驾驶图像分析得到器官图像的过程相同,在此不做赘述。具体地,已训练分类器可以为基于HOG(Histogram of Oriented Gradient方向梯度直方图)特征的SVM算法的训练器。
在一个实施例中,负样本的数量大于正样本的数量。通过设置正负样本的数量比例为负样本多于正样本,提高初始分类器对异常驾驶行为的分类能力。具体地,本实施例中,负样本与正样本的数量比例为6:1,经过研究证明,采用6:1的数量比例得到的已训练分类器的分类效果好。
在一个实施例中,步骤S110包括:获取预设时长内的多帧驾驶图像。即,检测装置获取多帧驾驶图像。本实施例中,分类结果包括异常行为和正常行为。参考图7,步骤S170包括步骤S171至步骤S177。
S171:采用器官对应的已训练分类器对器官的各帧器官图像分别进行行为分类,得到各帧器官图像的分类结果。
S173:统计分类结果为异常行为的总数量。
S175:若总数量大于或等于预设值,则生成驾驶员存在异常驾驶行为的检测结果。
S177:若总数量小于预设值,则生成驾驶员不存在异常驾驶行为的检测结果。
采用已训练分类器进行分类的方式,对单帧的图像进行检测的结果无法达到百分百精确。驾驶员在驾驶过程中的行为是连续的,在图像上的表现形式是多帧连续的,不会出现“跳帧”的情况。通过获取预设时长内的多帧驾驶图像,在对单帧的驾驶图像进行行为分类后,根据各帧驾驶图像的分类结果确定驾驶员是否存在异常驾驶行为:若在预设时长内仅有某一帧上或者某几帧(数量极小)图像的分类结果为异常行为,则可忽略不计;若在预设时长内检测到多帧图像(数量大于或等于预设值)的分类结果为异常行为,则判定驾驶员存在异常驾驶行为。如此,采用多帧检测过滤的策略,可避免因单帧误检引起的误报结果,可保证检测结果的精度和准确性。
在一个实施例中,步骤S170之后还包括决策步骤:若检测到驾驶员存在异常驾驶行为,则发出报警信息。
具体地,检测装置可以是通过语音报警的形式输出报警信息,也可以是通过声光报警的形式输出报警信息。如此,可以及时提醒驾驶员停止异常驾驶行为,提高驾驶安全性。例如,当检测到驾驶员打电话时,预警提醒驾驶员采取正常驾驶方式不要打电话;当检测到驾驶员存在抽烟、喝水、吃东西等异常驾驶行为时,预警提醒驾驶员采取正常的驾驶方式。
本申请的驾驶员异常驾驶行为检测方法可以通过检测装置的多个程序模块来实现。例如,参考图8,检测装置包括硬件感知与感知计算模块、异常行为检测模块和异常行为决策模块。其中,硬件感知与感知计算模块可以实现步骤S110和步骤S130,分析得到各个特征点位置信息。异常行为检测模块可以实现步骤S150和步骤S170,对异常驾驶行为进行检测分析。异常行为决策模块可以接收异常行为检测模块输出的异常驾驶行为检测结果,实现决策步骤。
应该理解的是,虽然图1-2、图4、图6-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2、图4、图6-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是检测装置,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种驾驶员异常驾驶行为检测方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取驾驶员的驾驶图像;对驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息;根据特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中器官的器官图像;采用器官对应的已训练分类器对器官的器官图像进行行为分类,根据分类结果得到驾驶员的异常驾驶行为检测结果。本申请中的计算机设备,同理可提高检测异常驾驶行为的准确性。
在一个实施例中,驾驶图像包括驾驶员的脸部区域。处理器执行计算机程序时,实现对驾驶图像进行特征分析,得到对应驾驶图像的特征点位置信息的步骤,包括:调用配置的人脸检测算法对驾驶图像进行检测,确定驾驶员的脸部区域;调用配置的人脸特征点对齐算法对驾驶员的脸部区域进行检测,标定驾驶图像中的特征点并得到特征点位置信息。
在一个实施例中,特征点的数量至少为三个。处理器执行计算机程序时,实现根据特征点位置信息确定执行待检测异常驾驶行为的器官的感兴趣区域并截取,得到对应驾驶图像中器官的器官图像的步骤,包括:根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段;以基准线段和调整线段为四边形的两条相邻边,在对应驾驶图像中围成包括器官的闭合区域,得到器官的感兴趣区域;截取器官的感兴趣区域,得到对应驾驶图像中器官的器官图像。如此,可提高异常驾驶行为的检测精度。
在一个实施例中,驾驶图像包括驾驶员的脸部区域,执行待检测异常驾驶行为的器官包括耳朵。特征点位置信息包括人脸宽度方向上的最左侧人脸轮廓点的像素坐标、人脸宽度方向上的最右侧人脸轮廓点的像素坐标以及距离头顶最远的人脸轮廓点的像素坐标。
本实施例中,处理器执行计算机程序时,实现根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段的步骤,包括:根据最左侧人脸轮廓点的像素坐标和最右侧人脸轮廓点的像素坐标,计算最左侧人脸轮廓点和最右侧人脸轮廓点之间中点的像素坐标;确定中点到距离头顶最远的人脸轮廓点之间的连线,并根据中点的像素坐标和距离头顶最远的人脸轮廓点的像素坐标计算连线的长度;分别过最左侧人脸轮廓点和最右侧人脸轮廓点做平行于连线的线段,得到左侧耳朵的基准线段和右侧耳朵的基准线段;以左侧耳朵的基准线段上一点为端点,按照与左侧耳朵的基准线段呈预设角度且朝向左侧耳朵的方向,做长度为左侧耳朵的基准线段的预设耳部扩充倍数的左侧线段;以右侧耳朵的基准线段上一点为端点,按照与右侧耳朵的基准线段呈预设角度且朝向右侧耳朵的方向,做长度为右侧耳朵的基准线段的预设耳部扩充倍数的右侧线段;分别根据左侧线段和右侧线段确定左侧耳朵的调整线段和右侧耳朵的调整线段。如此,可提高异常驾驶行为的检测精度。本实施例中,预设耳部扩充倍数为0.75倍。
在一个实施例中,处理器执行计算机程序时,实现分别过最左侧人脸轮廓点和最右侧人脸轮廓点做平行于连线的线段,得到左侧耳朵的基准线段和右侧耳朵的基准线段的步骤,包括:分别以最左侧人脸轮廓点和最右侧人脸轮廓点为端点,朝远离头顶的方向做与连线平行且长度相等的线段,对应得到左侧平行线段和右侧平行线段;将左侧平行线段沿最左侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,得到左侧耳朵的基准线段;将右侧平行线段沿最右侧人脸轮廓点反向延长连线的长度的预设耳部基准倍数,得到右侧耳朵的基准线段。如此,可确保感兴趣区域能包含耳朵区域,准确性高。本实施例中,预设耳部基准倍数为0.5倍。
在一个实施例中,处理器执行计算机程序时,实现分别根据左侧线段和右侧线段确定左侧耳朵的调整线段和右侧耳朵的调整线段的步骤,包括:将左侧线段沿远离左侧耳朵的方向延长左侧线段的长度的预设反向倍数,得到与左侧耳朵的调整线段;将右侧线段沿远离右侧耳朵的方向延长右侧线段的长度的预设反向倍数,得到与右侧耳朵的调整线段。如此,提高感兴趣区域的准确性高。本实施例中,预设反向倍数为0.2倍。
在一个实施例中,驾驶图像包括驾驶员的脸部区域,执行待检测异常驾驶行为的器官包括嘴巴。特征点位置信息包括鼻尖的像素坐标、下唇最底点的像素坐标和两侧口角的像素坐标。
本实施例中,处理器执行计算机程序时,实现根据至少三个特征点位置信息确定基准线段,以及确定与基准线段呈预设角度的调整线段的步骤,包括:根据两侧口角的像素坐标,确定过两侧口角的嘴巴区域的基准线段;以嘴巴区域的基准线段上一点和鼻尖的像素坐标为端点,确定与嘴巴区域的基准线段呈预设角度的第一侧线段;以嘴巴区域的基准线段上一点和下唇最底点的像素坐标为端点,确定与嘴巴区域的基准线段呈预设角度的第二侧线段;对第一侧线段和第二侧线段进行叠加,得到与嘴巴区域的基准线段呈预设角度的调整线段。如此,可提高异常驾驶行为的检测精度。
在一个实施例中,处理器执行计算机程序时,实现根据两侧口角的像素坐标,确定过两侧口角的嘴巴区域的基准线段的步骤,包括:连接两侧口角的像素坐标得到口裂线段,并根据两侧口角的像素坐标计算口裂线段的长度;分别沿两侧口角的像素坐标反向延长口裂线段的长度的预设嘴部基准倍数,得到嘴巴区域的基准线段。如此,可确保感兴趣区域能在嘴巴区域的基准线段的长度方向上包含嘴巴,得到的感兴趣区域准确性高。本实施例中,预设嘴部基准倍数为0.2倍。
在一个实施例中,处理器执行计算机程序时,实现对第一侧线段和第二侧线段进行叠加,得到与嘴巴区域的基准线段呈预设角度的调整线段的步骤,包括:朝远离嘴巴区域的基准线段的方向延长第二侧线段,直到延长后的线段长度等于第二侧线段的长度的预设嘴部扩充倍数;分别将第二侧线段延长后的线段和第一侧线段的一侧端点叠加至嘴巴区域的基准线段的同一侧端点,得到与嘴巴区域的基准线段呈预设角度的调整线段。其中,第一侧线段的另一侧端点朝向头顶,第二侧线段延长后的线段的另一侧端点远离头顶。如此,提高感兴趣区域的准确性高。本实施例中,预设嘴部扩充倍数为1.2倍。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在获取驾驶员的驾驶图像之前,分别获取驾驶员没有待检测异常驾驶行为时和有待检测异常驾驶行为时器官的器官图像,分别得到正样本和负样本;采用正样本和负样本对初始分类器进行训练,得到器官对应的已训练分类器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:得到对应驾驶图像中器官的器官图像之后,按照预设的尺寸大小对器官图像进行归一化处理,得到处理后的器官图像。对应地,处理器执行计算机程序时,采用器官对应的已训练分类器对处理后的器官图像进行行为分类。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在获取驾驶员的驾驶图像之前,分别获取驾驶员没有待检测异常驾驶行为时和有待检测异常驾驶行为时器官的器官图像,分别得到正样本和负样本;采用正样本和负样本对初始分类器进行训练,得到器官对应的已训练分类器。
在一个实施例中,负样本的数量大于正样本的数量。通过设置正负样本的数量比例为负样本多于正样本,提高初始分类器对异常驾驶行为的分类能力。具体地,本实施例中,负样本与正样本的数量比例为6:1。
在一个实施例中,处理器执行计算机程序时,实现获取驾驶员的驾驶图像的步骤,包括:获取预设时长内的多帧驾驶图像。本实施例中,处理器执行计算机程序时,实现采用器官对应的已训练分类器对器官的器官图像进行行为分类,根据分类结果得到驾驶员的异常驾驶行为检测结果的步骤,包括:采用器官对应的已训练分类器对器官的各帧器官图像分别进行行为分类,得到各帧器官图像的分类结果;统计分类结果为异常行为的总数量;若总数量大于或等于预设值,则生成驾驶员存在异常驾驶行为的检测结果;若总数量小于预设值,则生成驾驶员不存在异常驾驶行为的检测结果。如此,可保证检测结果的精度和准确性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若检测到驾驶员存在异常驾驶行为,则发出报警信息。如此,可以及时提醒驾驶员停止异常驾驶行为,提高驾驶安全性。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述驾驶员异常驾驶行为检测方法的步骤。
本申请中的计算机可读存储介质,同理,可提高检测异常驾驶行为的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。