本发明涉及图像处理及智能交通监控技术领域,具体而言,涉及一种驾驶员手持电话行为检测方法及装置。
背景技术:
驾驶员在驾驶过程中,需要双手握住方向盘,并且集中注意力观察路况及周围环境,如果驾驶员在驾驶过程中有手持电话行为,这时驾驶员就会单手握方向盘,这会对驾驶员驾驶车辆形成较大障碍;并且,驾驶员在驾驶车辆时接打电话容易分散注意力,妨碍驾驶员对路况及周围环境的观察,降低对外围视觉的感知能力,危害驾驶员的行车安全,因此,对驾驶员行车过程中的手持电话行为进行检测和警报就显得尤为重要。
相关技术中的驾驶员手持电话行为检测方法,大都是建立人脸检测的基础上,即检测驾驶员的脸部位置,根据驾驶员的脸部位置确定出手持电话在左右脸部的位置,通过特征检测的方法检测驾驶员是否有手持电话行为。
但是相关技术中的方法,由于受到光照、分辨率的影响,可能无法从采集的驾驶员的图像中检测到驾驶员的人脸,从而导致无法检测到驾驶员是否有手持电话行为。
技术实现要素:
有鉴于此,本发明实施例的目的在于提供一种驾驶员手持电话行为检测方法及装置,以解决现有技术中依赖于驾驶员的脸部位置来检测驾驶员是否有手持电话行为时,当受到光照、分辨率的影响时,可能无法从采集的驾驶员的图像中检测到驾驶员的脸部位置,从而导致无法检测到驾驶员是否有手持电话行为的问题。
第一方面,本发明实施例提供了一种驾驶员手持电话行为检测方法,其中,所述方法包括:
采集待检测驾驶员所在车辆图像;
从采集的车辆图像中获取车辆的外接矩形区域图像;
从所述外接矩形区域图像中定位所述待检测驾驶员的驾驶区域,得到驾驶区域图像;
根据所述驾驶区域图像、预先训练的举手行为检测模型及预先训练的举手行为分类模型对所述待检测驾驶员进行手持电话行为检测。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述从所述外接矩形区域图像中定位所述待检测驾驶员的驾驶区域,得到驾驶区域图像,包括:
根据所述外接矩形区域图像,对所述车辆的车前窗进行粗定位,得到粗定位的车前窗区域图像;
从所述粗定位的车前窗区域图像中,定位所述车前窗的上下边缘,得到确定上下边缘的车前窗区域图像;
从所述确定上下边缘的车前窗区域图像中,定位所述车前窗的左右边缘,得到车前窗区域图像;
将所述车前窗区域图像划分为左半区域和右半区域,将所述右半区域确定为所述待检测驾驶员的驾驶区域,得到所述驾驶区域图像。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述从所述粗定位的车前窗区域图像中,定位所述车前窗的上下边缘,包括:
获取所述粗定位的车前窗区域图像的边缘强度的二值化图;
将所述边缘强度的二值化图进行水平投影,得到水平边缘投影图;
将所述水平边缘投影图中的投影点按照边缘响应强度进行排序;
从排序后的投影点中,按照边缘响应强度从强到弱的顺序依次选取两个投影点,将所述两个投影点之间的距离与预设距离范围进行比对,将满足所述预设距离范围的两个投影点对应的边缘确定为所述车前窗的上下边缘。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述从所述确定上下边缘的车前窗区域图像中,定位所述车前窗的左右边缘,包括:
按照预设比例将所述确定上下边缘的车前窗区域图像划分为左部区域图像和右部区域图像;
计算所述左部区域图像中每个像素点的梯度方向角,根据所述梯度方向角获取所述左部区域图像的二值化图像;
对所述二值化图像中的像素点进行垂直投影,得到垂直投影图;
确定出所述垂直投影图中的投影峰值点,根据所述投影峰值点确定所述车前窗的左边缘;
根据所述右部区域图像确定所述车前窗的右边缘。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述根据所述外接矩形区域图像,对所述车辆的车前窗进行粗定位,得到粗定位的车前窗区域图像,包括:
将距离所述外接矩形区域图像的上边界下方第一预设距离的位置确定为粗定位的车前窗的下边缘;
将距离所述外接矩形区域图像的上边界上方第二预设距离的位置确定为粗定位的车前窗的上边缘;
将所述粗定位的车前窗的上边缘与所述粗定位的车前窗的下边缘之间的区域确定为粗定位的车前窗区域,得到粗定的车前窗区域图像。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述根据所述驾驶区域图像、预先训练的举手行为检测模型及预先训练的举手行为分类模型对所述待检测驾驶员进行手持电话行为检测,包括:
根据所述驾驶区域图像及所述举手行为检测模型对所述待检测驾驶员进行举手行为检测;
当举手行为检测结果指示所述待检测驾驶员存在举手行为时,根据所述驾驶区域图像及所述举手行为分类模型对所述待检测驾驶员进行手持电话行为检测。
结合第一方面的第五种可能的实现方式,本发明实施例提供了上述第一方面的第六种可能的实现方式,其中,所述根据所述驾驶区域图像及所述举手行为检测模型对所述待检测驾驶员进行举手行为检测,包括:
对所述驾驶区域图像进行归一化处理,得到第一预设尺寸的驾驶区域图像;
从所述第一预设尺寸的驾驶区域图像中提取所述待检测驾驶员手臂的第一聚合通道特征,所述第一聚合通道特征包括灰度特征、梯度幅值及六个梯度方向特征;
通过所述举手行为检测模型及所述第一聚合通道特征计算所述待检测驾驶员手臂不同位置的得分,根据所述得分判断所述待检测驾驶员是否有举手行为。
结合第一方面的第六种可能的实现方式,本发明实施例提供了上述第一方面的第七种可能的实现方式,其中,所述当举手行为检测结果指示所述待检测驾驶员存在举手行为时,根据所述驾驶区域图像及所述举手行为分类模型对所述待检测驾驶员进行手持电话行为检测,包括:
根据举手行为检测结果,将得分最高的手臂位置确定为手持电话行为检测的位置;
从所述驾驶区域图像中提取所述待检测驾驶员得分最高的手臂位置的第二聚合通道特征,所述第二聚合通道特征包括灰度特征、梯度幅值及12个梯度方向特征;
分别通过预先训练的举手行为模型及所述第二聚合通道特征计算每个举手行为模型的得分,根据所述每个举手行为模型的得分判断所述待检测驾驶员是否有手持电话行为。
第二方面,本发明实施例提供了一种驾驶员手持电话行为检测装置,其中,所述装置包括:
采集模块,用于采集待检测驾驶员所在车辆图像;
获取模块,用于从采集的车辆图像中获取车辆的外接矩形区域图像;
定位模块,用于从所述外接矩形区域图像中定位所述待检测驾驶员的驾驶区域,得到驾驶区域图像;
手持电话行为检测模块,用于根据所述驾驶区域图像、预先训练的举手行为检测模型及预先训练的举手行为分类模型对所述待检测驾驶员进行手持电话行为检测。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述定位模块包括:
第一定位单元,用于根据所述外接矩形区域图像,对所述车辆的车前窗进行粗定位,得到粗定位的车前窗区域图像;
第二定位单元,用于从所述粗定位的车前窗区域图像中,定位所述车前窗的上下边缘,得到确定上下边缘的车前窗区域图像;
第三定位单元,用于从所述确定上下边缘的车前窗区域图像中,定位所述车前窗的左右边缘,得到车前窗区域图像;
确定单元,用于将所述车前窗区域图像划分为左半区域和右半区域,将所述右半区域确定为所述待检测驾驶员的驾驶区域,得到所述驾驶区域图像。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述第二定位单元,用于获取所述粗定位的车前窗区域图像的边缘强度的二值化图;将所述边缘强度的二值化图进行水平投影,得到水平边缘投影图;将所述水平边缘投影图中的投影点按照边缘响应强度进行排序;从排序后的投影点中,按照边缘响应强度从强到弱的顺序依次选取两个投影点,将所述两个投影点之间的距离与预设距离范围进行比对,将满足所述预设距离范围的两个投影点对应的边缘确定为所述车前窗的上下边缘。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述第三定位单元,用于按照预设比例将所述确定上下边缘的车前窗区域图像划分为左部区域图像和右部区域图像;计算所述左部区域图像中每个像素点的梯度方向角,根据所述梯度方向角获取所述左部区域图像的二值化图像;对所述二值化图像中的像素点进行垂直投影,得到垂直投影图;确定出所述垂直投影图中的投影峰值点,根据所述投影峰值点确定所述车前窗的左边缘;根据所述右部区域图像确定所述车前窗的右边缘。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述第一定位单元,用于将距离所述外接矩形区域图像的上边界下方第一预设距离的位置确定为粗定位的车前窗的下边缘;将距离所述外接矩形区域图像的上边界上方第二预设距离的位置确定为粗定位的车前窗的上边缘;将所述粗定位的车前窗的上边缘与所述粗定位的车前窗的下边缘之间的区域确定为粗定位的车前窗区域,得到粗定的车前窗区域图像。
结合第二方面,本发明实施例提供了上述第二方面的第五种可能的实现方式,其中,所述手持电话行为检测模块包括:
举手行为检测单元,用于根据所述驾驶区域图像及所述举手行为检测模型对所述待检测驾驶员进行举手行为检测;
手持电话行为检测单元,用于当举手行为检测结果指示所述待检测驾驶员存在举手行为时,根据所述驾驶区域图像及所述举手行为分类模型对所述待检测驾驶员进行手持电话行为检测。
结合第二方面的第五种可能的实现方式,本发明实施例提供了上述第二方面的第六种可能的实现方式,其中,所述举手行为检测单元,用于对所述驾驶区域图像进行归一化处理,得到第一预设尺寸的驾驶区域图像;从所述第一预设尺寸的驾驶区域图像中提取所述待检测驾驶员手臂的第一聚合通道特征,所述第一聚合通道特征包括灰度特征、梯度幅值及六个梯度方向特征;通过所述举手行为检测模型及所述第一聚合通道特征计算所述待检测驾驶员手臂不同位置的得分,根据所述得分判断所述待检测驾驶员是否有举手行为。
结合第二方面的第六种可能的实现方式,本发明实施例提供了上述第二方面的第七种可能的实现方式,其中,所述手持电话行为检测单元,用于根据举手行为检测结果,将得分最高的手臂位置确定为手持电话行为检测的位置;从所述驾驶区域图像中提取所述待检测驾驶员得分最高的手臂位置的第二聚合通道特征,所述第二聚合通道特征包括灰度特征、梯度幅值及12个梯度方向特征;分别通过预先训练的举手行为模型及所述第二聚合通道特征计算每个举手行为模型的得分,根据所述每个举手行为模型的得分判断所述待检测驾驶员是否有手持电话行为。
本发明实施例提供的驾驶员手持电话行为检测方法及装置,不依赖于检测待检测驾驶员的脸部位置,能够准确的检测出驾驶员是否有手持电话行为,避免了由于受到光照、分辨率的影响无法检测出脸部位置,进而无法检测驾驶员是否有手持电话行为的情况。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的一种驾驶员手持电话行为检测方法的流程图;
图2示出了本发明实施例2所提供的一种驾驶员手持电话行为检测装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中的驾驶员的手持电话行为检测方法,大都是建立在人脸检测的基础上,即先检测驾驶员的脸部位置,根据驾驶员的脸部位置确定出手持电话在左右脸的位置,通过特征检测的方法检测驾驶员是否有手持电话行为。但是,相关技术中的检测方法,容易受到光照、分辨率的影响,从容无法从采集的驾驶员的图像中检测到驾驶员的人脸,从而导致无法检测到驾驶员是否有手持电话行为。基于此,本发明实施例提供了一种驾驶员手持电话行为检测方法及装置,下面通过实施例进行描述。
实施例1
本发明实施例提供了一种驾驶员手持电话行为检测方法,该方法通过从驾驶员所在车辆图像中检测驾驶员的驾驶区域,得到驾驶区域图像,并根据驾驶区域图像对待检测驾驶员进行举手行为检测和举手行为分类,从而识别待检测驾驶员是否有手持电话行为,本方法不依赖于驾驶员的脸部位置就可以对驾驶员是否有手持电话行为进行检测。
在使用本发明实施例提供的方法检测驾驶员是否有手持电话行为之前,需要采用Adaboost(通过迭代弱分类器产生强分类器)学习方法,对驾驶员的举手行为特征进行学习,训练举手行为检测模型和举手行为分类模型。
其中,上述训练的举手行为检测模型为一组大小不同的举手行为检测模型,上述训练的举手行为分类模型为三类,分别为驾驶员打手机的行为模型,驾驶员面部动作行为模型及驾驶员头部动作行为模型,在驾驶员打手机行为模型中,驾驶员的手放在头部的侧面,在驾驶员面部动作行为模型中,驾驶员的手放在前脸面部,在驾驶员头部动作行为模型中,驾驶员的手放在头部。
采用本发明实施例提供的方法检测驾驶员是否有手持电话行为,如图1所示,包括步骤S110-S140。
S110,采集待检测驾驶员所在车辆图像。
可以通过交通卡口摄像机采集待检测驾驶员所在车辆图像,当车辆在路上行驶时,当进入到交通卡口摄像机的采集区域时,交通卡口的摄像机会以一定的帧率连续采集经过的车辆图像。
S120,从采集的车辆图像中获取车辆的外接矩形区域图像。
当交通卡口的摄像机采集到行驶车辆的车辆图像后,采用Adaboost算法从采集的每帧车辆图像中检测出该图像中车辆的位置坐标,车辆的位置坐标指的是车辆外接矩形的四个端点坐标,根据车辆外接矩形的四个端点坐标可以确定出车辆外接矩形的四个端点,将四个端点连接起来可以得到车辆的外接矩形区域图像。
S130,从上述外接矩形区域图像中定位待检测驾驶员的驾驶区域,得到驾驶区域图像。
在本发明实施例中,从外接矩形区域图像中定位出待检测驾驶员的驾驶区域,可以首先从外接矩形区域图像中定位出车前窗区域,将车前窗区域的右半区域确定为驾驶区域,具体过程包括:根据外接矩形区域图像,对车辆的车前窗进行粗定位,得到粗定位的车前窗区域图像;从粗定位的车前窗区域图像中,定位车前窗的上下边缘,得到确定上下边缘的车前窗区域图像;从确定上下边缘的车前窗区域图像中,定位车前窗的左右边缘,得到车前窗区域图像;将车前窗区域图像划分为左半区域和右半区域,将右半区域确定为待检测驾驶员的驾驶区域,得到驾驶区域图像。
上述过程中,首先需要对车前窗进行粗定位,具体包括:将距离外接矩形区域图像的上边界下方第一预设距离的位置确定为粗定位的车前窗的下边缘;将距离外接矩形区域图像的上边界上方第二预设距离的位置确定为粗定位的车前窗的上边缘;将粗定位的车前窗的上边缘与粗定位的车前窗的下边缘之前的区域确定为粗定位的车前窗区域。
上述第一预设距离可以是车辆的外接矩形图像高度的3/5,上述第二预设距离为0到车辆的外接矩形图像高度的1/4之间的任意数值,当然,上述第一预设距离和第二预设距离还可以是其它的数值,本发明实施例并不限定上述第一预设距离和第二预设距离的具体数值,只要第一预设距离和第二预设距离的取值能够保证车前窗在粗定位的区域范围内即可。
上述粗定位的车前窗区域比实际的车前窗区域大,目的是保证车前窗能够完全包含在粗定位的车前窗区域内,由于粗定位的车前窗区域比实际的车前窗大,因此,获取了粗定位的车前窗区域后,还需要根据粗定位的车前窗区域对车前窗进行精确定位,即获取实际的车前窗的上下边缘及左右边缘。
首先根据粗定位的车前窗区域,定位出车前窗的上下边缘,具体包括:获取粗定位的车前窗区域的边缘强度的二值化图;将边缘强度的二值化图进行水平投影,得到水平边缘投影图;将水平边缘投影图中的投影点按照边缘响应强度进行排序;从排序后的投影点中,按照边缘响应强度从强到弱的顺序依次选取两个投影点,将上述两个投影点之间的距离与预设距离范围进行比对,将满足预设距离范围的两个投影点对应的边缘确定为车前窗的上下边缘。
在本发明实施例中,当得到粗定位的车前窗区域图像后,对粗定位的车前窗区域图像进行直方图均衡化处理,即采用直方图对粗定位的车前窗区域图像进行预处理,以调整粗定位的车前窗区域图像的前景层和背景层的对比度,增强粗定位的车前窗区域图像的前景层和背景层之间的对比度,在对粗定位的车前窗区域图像进行直方图均衡化处理后,对处理后的粗定位的车前窗区域图像进行边缘检测,得到粗定位的车前窗区域图像的边缘强度图,在对粗定位的车前窗区域图像进行边缘检测时,可以使用Sobel(索贝尔)等边缘检测算子,也可以使用[-1 0 1]T模板等等,本发明并不限定上述进行边缘检测时具体使用的边缘检测算子。
得到粗定位的车前窗区域图像的边缘强度图后,对上述边缘强度图进行二值化处理,设定像素值的阈值T,将边缘强度图中的像素值小于T的像素点的像素值设置为零,将边缘强度图中像素值大于或等于T的像素点的像素值设置为1,这样,上述边缘强度图中像素点的像素值只有0和1两个数值,得到边缘强度图的二值化图,其中,上述阈值T的取值范围为[20,50],上述阈值的具体取值可以根据实际应用进行设置。
得到边缘强度的二值化图后,将边缘强度的二值化图进行水平投影,即将边缘强度的二值化图中的像素点均投影到竖直方向上,得到边缘强度的二值化图的水平边缘投影图,为了减少上述水平边缘投影图中的噪声,可以通过[1 2 1]T模板对上述水平边缘投影图进行平滑处理,平滑处理之后,通过非极大值抑制的方法获取每个邻域内的局部边缘相应强度最大的投影点,并将得到的边缘响应强度最大的投影点按照边缘响应强度进行排序,可以按照边缘响应强度从强到弱的顺序排序,也可以按照边缘响应强度从弱到强的顺序进行排序,得到排序后的投影点序列,本发明实施例并不限定上述投影点的具体排序顺序。
当得到上述水平边缘投影图中投影点序列后,从上述投影点序列中,按照响应强度由强到弱的顺序选取两个投影点,比如说,上述投影点按照响应强度从强到弱的顺序为K1,K2,K3,K4…KN,其中,K1、K2、K3…KN均表示的是投影点,则首先从上述投影点序列中选取投影点K1和K2进行匹配,在进行匹配的过程中,获取投影点K1和K2之间的距离D12,判断D12是否落在预设距离范围内,如果D12落在预设距离范围内,则说明投影点K1和K2匹配成功,将K1、K2对应的边缘线确定为车前窗的上下边缘,如果D12没有落在预设距离范围内,则说明投影点K1和K2匹配不成功,则再选取投影点K1和K3进行匹配,获取边缘点K1和K3之间的距离D13,判断D13是否在预设距离范围内,如果是,则判断为投影点K1和K3匹配成功,即将投影点K1和K3对应的边缘线确定为车前窗的上下边缘,如果投影点K1和K3匹配不成功,则满继续从上述投影点序列中选取边缘点进行匹配,直至确定出车前窗的上下边缘为止,其中,上述预设距离范围为(Dmin,Dmax),即当D12满足Dmin<D12<Dmax时,判断为投影线K1和K2匹配成功,上述Dmin指的是车前窗上下边缘之间的最小距离,Dmax指的是车前窗上下边缘之间的最大距离,对于不同的车辆,Dmin和Dmax的取值可能不相同。
通过上述过程确定了车前窗的上下边缘,得到确定上下边缘的车前窗区域图像,之后根据确定上下边缘的车前窗区域图像中,定位出车前窗的左右边缘,具体包括:按照预设比例将确定上下边缘的车前窗区域图像划分为左部区域图像和右部区域图像;计算左部区域图像中每个像素点的梯度方向角,根据梯度方向角获取左部区域图像的二值化图像;对上述二值化图像中的像素点进行垂直投影,得到垂直投影图;确定出垂直投影图中的投影峰值点,根据上述投影峰值点确定车前窗的左边缘;根据右部区域图像确定车前窗的右边缘。
在本发明实施例中,上述预设比例的范围可以为1/2到1范围内的任意比例值,即上述左部区域图像的大小可以是整个确定上下边缘的车前窗区域图像的1/3-1/2之间的任意数值,本发明实施例并不限定上述预设比例的具体数值。
根据预设比例将上述确定上下边缘的车前窗区域图像划分为左部区域图像和右部区域图像后,根据左部区域图像确定车前窗的左边缘,根据右部区域图像确定车前窗的右边缘,车前窗的左边缘与右边缘的确定方法相同,因此,接下来将以根据左部区域图像确定车前窗的左边缘为例,详细介绍确定车前窗的左边缘的具体过程:
由于上述左部区域图像是二维图像,因此图像中每个像素点的坐标也是二维坐标,每个像素点的坐标可以表示为(x,y),因此,可以通过公式计算出每个像素点的梯度,其中,在上述公式中,是第i个像素点的梯度,每个像素点的梯度是一个二维矢量,因此可以分解为水平方向的分量及竖直方向上的分量,梯度的水平分量为gx,垂直分量为gy。
每个像素点的梯度方向角是每个像素点的梯度的垂直分量与该梯度的水平分量之间的夹角,即其中,θi是第i个像素点的梯度方向角,gy是第i个像素点梯度的垂直分量,gx是第i个像素点梯度的水平分量,对上述公式进行变形,可以得到根据该公式可以计算出每个像素点的梯度方向角。
当计算出左部区域图像中每个像素点的梯度方向角后,将上述梯度方向角进行归一化处理,将每个梯度方向角均归一化到[0°,90°]的区域范围内,设定方向阈值O1和O2,根据方向阈值O1和O2,对左部区域图像进行二值化处理,具体过程包括:当左部区域图像中的像素点的梯度方向角满足O1<θi<O2时,将该像素点对应的像素值设置为1,当左部区域图像中的像素点不满足O1<θi<O2时,将该像素点对应的像素值设置为0,这样,左部区域图像中的像素点的像素值只有0和1两个数值,得到左部区域图像的二值化图像,其中,上述阈值O1的取值范围为上述阈值O2的取值范围为当然,上述阈值O1和阈值O2的取值范围可以根据具体应用场景进行设置,本发明实施例并不限定上述阈值O1和O2的具体取值范围。
当得到左部区域图像的二值图像后,将该二值图像中的像素值不为零的像素点进行垂直投影,将像素值不为零的像素点投影到水平方向上,在本发明实施例中,可以将像素值不为零的像素点投影到车前窗下边缘上,通过公式计算上述二值图像中像素点不为零的每个像素点在水平方向上的偏移量,即该点投影到水平方向上的对应位置,其中,在上述公式中,x是像素点投影到水平方向上的偏移量,θ是像素点的梯度方向角,ph是像素点到车窗下边缘的距离。
当将上述二值图像中像素值不为零的点投影到水平方向上,得到该二值图像的垂直投影图,为了减少垂直投影图中的噪声,对该垂直投影图进行平滑处理,在进行平滑处理时,可以采用[1 2 1]模板对上述垂直投影出进行平滑处理,进行平滑处理后,从平滑处理后的垂直投影图中找到像素点的投影峰值点,过该投影峰值点做与车前窗下边缘垂直的直线,将该直线确定为车前窗的左边缘。
采用与上述确定车前窗左边缘相同的方法,根据右部区域确定出车前窗的右边缘,当确定了车前窗的右边缘后,将车前窗的上下边缘、左右边缘围城的区域确定为车前窗区域,得到车前窗区域图像,而本发明实施例确定出的车前窗区域为矩形区域。
上述确定出了车前窗的区域图像,将车前窗的区域图像划分为左半区域和右半区域,将右半区域确定为驾驶区域,这样得到了驾驶员的驾驶区域图像。
S140,根据驾驶区域图像、预先训练的举手行为检测模型及预先训练的举手行为分类模型对待检测驾驶员进行手持电话行为检测。
在对待检测驾驶员进行手持电话行为检测时,首先检测待检测驾驶员是否有举手行为,如果判断出待检测驾驶员有举手行为时,在判断待检测驾驶员的举手行为的类别,具体过程包括:根据驾驶区域图像及举手行为检测模型对待检测驾驶员进行举手行为检测;当举手行为检测结果指示待检测驾驶员存在举手行为时,根据驾驶区域图像及举手行为分类模型对所述待检测驾驶员进行手持电话行为检测。
根据驾驶区域图像及举手行为检测模型对待检测驾驶员进行举手行为检测,具体包括:对驾驶区域图像进行归一化处理,得到第一预设尺寸的驾驶区域图像;从第一预设尺寸的驾驶区域图像中提取待检测驾驶员手臂的第一聚合通道特征,第一聚合通道特征包括灰度特征、梯度幅值及六个梯度方向特征;通过举手行为检测模型及第一聚合通道特征计算待检测驾驶员手臂不同位置的得分,根据得分判断待检测驾驶员是否有举手行为。
由于交通卡口摄像机在拍摄待检测驾驶员所在车辆图像时,可能在车辆距离卡口摄像机一定距离的时候,卡口摄像机就开始采集车辆图像,所以采集的车辆图像大小不等,即确定的驾驶区域图像大小不等,所以上述举手行为检测模型为预先训练的一组大小不同的驾驶员举手行为检测模型。
为了防止驾驶区域图像过大,首先对驾驶区域图像进行归一化处理,将驾驶区域图像归一化到固定的尺寸,得到第一预设尺寸的驾驶区域图像,上述第一预设尺寸可以是预先设置的一个尺寸数值,该尺寸的大小可以根据实际情况进行设置,本发明实施例并不限定上述第一预设尺寸的具体大小。
当对驾驶区域图像进行归一化处理后,从第一预设尺寸的驾驶区域图像中提取待检测驾驶员手臂的第一聚合通道特征,驾驶员手臂的第一聚合特征包括驾驶员手臂的灰度特征,即使用黑色调表示驾驶员的手臂,用黑色作为基准色,不同的饱和度的黑色来显示驾驶员的手臂,上述第一聚合通道特征还包括待驾驶区域图像中待检测驾驶员的手臂部位像素点的梯度幅值,以及六个梯度方向特征。
上述六个梯度方向特征指的是将180°平均划分为六个区间。
当提取了待检测驾驶员手臂的第一聚合通道特征后,用预先训练好的一组大小不同的举手行为检测模型分别在提取的待检测驾驶员的第一聚合通道特征图上进行遍历检测,检测结果为驾驶员手臂不同位置的得分,该得分是通过驾驶员手臂不同位置的第一聚合通道特征和预先训练的举手行为检测模型中各特征的权重所得的和值,上述驾驶员手臂位置的得分表示的是该位置与举手行为检测模型上对应位置的匹配程度,得分越高,说明该得分对应的位置与举手行为检测模型上对应位置的匹配程度越高,根据上述得分可以判断出驾驶员是否有举手行为。
同时,在对驾驶员进行举手行为检测的过程中,可以确定出驾驶区域图像的尺寸,因此,在对待检测驾驶员进行举手行为分类检测时,直接将驾驶区域图像归一化到与举手行为分类模型大小一致的尺寸。
当举手行为检测过程检测出待检测驾驶员有举手行为时,接下来根据驾驶区域图像及举手行为分类模型,检测驾驶员是否有手持电话行为,具体包括:根据举手行为检测结果,将得分最高的手臂位置确定为手持电话行为检测的位置;从驾驶区域图像中提取待检测驾驶员得分最高的手臂位置的第二聚合通道特征,第二聚合通道特征包括灰度特征、梯度幅值及12个梯度方向特征;分别通过预先训练的举手行为模型及第二聚合通道特征计算每个举手行为模型的得分,根据每个举手行为模型的得分判断所述待检测驾驶员是否有手持电话行为。
其中,上述预先训练的举手行为分类模型包括三类,分别为驾驶员打手机行为模型、驾驶员面部动作行为模型及驾驶员头部动作行为模型,在驾驶员打手机行为模型中,驾驶员的手放在头部的侧面,在驾驶员面部动作行为模型中,驾驶员的手放在前脸面部,在驾驶员头部动作行为模型中,驾驶员的手放在头部,并且,上述举手行为分类模型为固定尺寸的模型。
当对待检测驾驶员进行举手行为分类判断时,将待检测驾驶员举手行为检测中,待检测驾驶员手臂上得分位置最高的位置作为举手行为分类检测的位置,该位置为一个矩形区域,为了防止该矩形区域过小不能准确的对待检测驾驶员进行举手行为分类判断,因此,在对待检测驾驶员进行举手行为分类判断时,先将该位置区域外扩,即将该位置区域向四周扩大一定的比例,外扩的宽度可以为原来位置区域宽度的1/2,外扩的高度可以为原来位置区域高度的1/2,并且将得到外扩后的驾驶区域图像进行归一化处理,归一化到与举手行为分类模型的尺寸一致。
从上述外扩后的驾驶区域图像中提取待检测驾驶员的上述外扩的位置区域的第二聚合通道特征,提取的第二聚合通道特征包括待检测驾驶员该位置的灰度特征、梯度幅值和12个梯度方向特征。
上述12个梯度方向特征指的是将180°平均划分为12个区间。
当提取了待检测驾驶员的第二聚合通道特征后,用预先训练好的三组举手行为分类模型分别在提取的待检测驾驶员的第二聚合通道特征图上进行遍历检测,检测结果为三个举手行为分类模型的得分,将每个举手行为分类模型的最高得分作为该举手行为分类模型的最终得分,该得分是通过驾驶员上述位置的第二聚合通道特征和预先训练的举手行为分类模型中各特征的权重所得的和值,上述每个举手行为分类模型的得分表示的是待检测驾驶员的举手行为与该举手行为分类模型的匹配程度,将得分最高的模型的举手行为确定为待检测驾驶员的举手行为,如果上述得分最高的是驾驶员打手机行为模型,则判断为待检测驾驶员有手持电话行为。
当检测出待检测驾驶员有手持电话行为时,则执行报警操作,并且在执行报警操作的同时保存该时刻交通卡口采集的图像。
本发明实施例提供的驾驶员手持电话行为检测方法,不依赖于检测待检测驾驶员的脸部位置,能够准确的检测出驾驶员是否有手持电话行为,避免了由于受到光照、分辨率的影响无法检测出脸部位置,进而无法检测驾驶员是否有手持电话行为的情况。
实施例2
本发明实施例提供了一种驾驶员手持电话行为检测装置,该装置用于执行上述实施例1提供的驾驶员手持电话行为检测方法。
如图2所示,本发明实施例提供的驾驶员手持电话行为检测装置包括:采集模块210、获取模块220、定位模块230及手持电话行为检测模块240;
上述采集模块210,用于采集待检测驾驶员所在车辆图像;
上述获取模块220,用于从采集的车辆图像中获取车辆的外接矩形区域图像;
上述定位模块230,用于从上述外接矩形区域图像中定位待检测驾驶员的驾驶区域,得到驾驶区域图像;
上述手持电话行为检测模块240,用于根据上述驾驶区域图像、预先训练的举手行为检测模型及预先训练的举手行为分类模型对待检测驾驶员进行手持电话行为检测。
可以通过交通卡口摄像机采集待检测驾驶员所在车辆图像,当车辆在路上行驶时,当进入到交通卡口摄像机的采集区域时,交通卡口的摄像机会以一定的帧率连续采集经过的车辆图像。
当交通卡口的摄像机采集到行驶车辆的车辆图像后,采用Adaboost(通过迭代弱分类器产生强分类器)算法从采集的每帧车辆图像中检测出该图像中车辆的位置坐标,车辆的位置坐标指的是车辆外接矩形的四个端点坐标,根据车辆外接矩形的四个端点坐标可以确定出车辆外接矩形的四个端点,将四个端点连接起来可以得到车辆的外接矩形区域图像。
上述定位模块230从外接矩形区域图像中定位待检测驾驶员的驾驶区域,是通过第一定位单元、第二定位单元、第三定位单元及确定单元来实现的,具体包括:
上述第一定位单元,用于根据外接矩形区域图像,对车辆的车前窗进行粗定位,得到粗定位的车前窗区域图像;上述第二定位单元,用于从粗定位的车前窗区域图像中,定位车前窗的上下边缘,得到确定上下边缘的车前窗区域图像;上述第三定位单元,用于从确定上下边缘的车前窗区域图像中,定位车前窗的左右边缘,得到车前窗区域图像;上述确定单元,用于将车前窗区域图像划分为左半区域和右半区域,将右半区域确定为待检测驾驶员的驾驶区域,得到驾驶区域图像。
上述第二定位单元从粗定位的车前窗区域图像中,定位车前窗的上下边缘,具体包括:获取粗定位的车前窗区域图像的边缘强度的二值化图;将边缘强度的二值化图进行水平投影,得到水平边缘投影图;将水平边缘投影图中的投影点按照边缘响应强度进行排序;从排序后的投影点中,按照边缘响应强度从强到弱的顺序依次选取两个投影点,将两个投影点之间的距离与预设距离范围进行比对,将满足预设距离范围的两个投影点对应的边缘确定为车前窗的上下边缘。
上述第三定位单元从确定上下边缘的车前窗区域图像中,定位车前窗的左右边缘,具体包括:按照预设比例将确定上下边缘的车前窗区域图像划分为左部区域图像和右部区域图像;计算左部区域图像中每个像素点的梯度方向角,根据上述梯度方向角获取左部区域图像的二值化图像;对上述二值化图像中的像素点进行垂直投影,得到垂直投影图;确定出垂直投影图中的投影峰值点,根据投影峰值点确定车前窗的左边缘;根据右部区域图像确定车前窗的右边缘。
在本发明实施例中,上述预设比例的范围可以为1/2到1范围内的任意比例值,即上述左部区域图像的大小可以是整个确定上下边缘的车前窗区域图像的1/3-1/2之间的任意数值,本发明实施例并不限定上述预设比例的具体数值。
上述第一定位单元根据外接矩形区域图像,对车辆的前车窗进行粗定位,具体包括:将距离外接矩形区域图像的上边界下方第一预设距离的位置确定为粗定位的车前窗的下边缘;将距离外接矩形区域图像的上边界上方第二预设距离的位置确定为粗定位的车前窗的上边缘;将粗定位的车前窗的上边缘与粗定位的车前窗的下边缘之间的区域确定为粗定位的车前窗区域,得到粗定的车前窗区域图像。
上述第一预设距离可以是车辆的外接矩形图像高度的3/5,上述第二预设距离为0到车辆的外接矩形图像高度的1/4之间的任意数值,当然,上述第一预设距离和第二预设距离还可以是其它的数值,本发明实施例并不限定上述第一预设距离和第二预设距离的具体数值,只要第一预设距离和第二预设距离的取值能够保证车前窗在粗定位的区域范围内即可。
其中,上述手持电话行为检测模块240对待检测驾驶员进行手持电话行为检测,是通过举手行为检测单元和手持电话行为检测单元实现的,具体包括:
上述举手行为检测单元,用于根据驾驶区域图像及举手行为检测模型对待检测驾驶员进行举手行为检测;上述手持电话行为检测单元,用于当举手行为检测结果指示待检测驾驶员存在举手行为时,根据驾驶区域图像及举手行为分类模型对待检测驾驶员进行手持电话行为检测。
上述举手行为检测模型为预先训练的一组大小不同的驾驶员举手行为检测模型。
其中,上述预先训练的举手行为分类模型包括三类,分别为驾驶员打手机行为模型、驾驶员面部动作行为模型及驾驶员头部动作行为模型,在驾驶员打手机行为模型中,驾驶员的手放在头部的侧面,在驾驶员面部动作行为模型中,驾驶员的手放在前脸面部,在驾驶员头部动作行为模型中,驾驶员的手放在头部,并且,上述举手行为分类模型为固定尺寸的模型。
其中,当上述举手行为检测单元在对待检测驾驶员进行举手行为检测时,具体包括对驾驶区域图像进行归一化处理,得到第一预设尺寸的驾驶区域图像;从第一预设尺寸的驾驶区域图像中提取待检测驾驶员手臂的第一聚合通道特征,第一聚合通道特征包括灰度特征、梯度幅值及六个梯度方向特征;通过举手行为检测模型及第一聚合通道特征计算待检测驾驶员手臂不同位置的得分,根据上述得分判断待检测驾驶员是否有举手行为。
上述手持电话行为检测单元对待检测驾驶员进行手持电话行为检测具体包括:根据举手行为检测结果,将得分最高的手臂位置确定为手持电话行为检测的位置;从驾驶区域图像中提取待检测驾驶员得分最高的手臂位置的第二聚合通道特征,第二聚合通道特征包括灰度特征、梯度幅值及12个梯度方向特征;分别通过预先训练的举手行为模型及第二聚合通道特征计算每个举手行为模型的得分,根据每个举手行为模型的得分判断待检测驾驶员是否有手持电话行为。
本发明实施例提供的驾驶员手持电话行为检测装置,不依赖于检测待检测驾驶员的脸部位置,能够准确的检测出驾驶员是否有手持电话行为,避免了由于受到光照、分辨率的影响无法检测出脸部位置,进而无法检测驾驶员是否有手持电话行为的情况。
本发明实施例所提供的驾驶员手持电话行为检测装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。