一种行人分心行为检测方法与流程

文档序号:16210693发布日期:2018-12-08 07:42阅读:230来源:国知局
一种行人分心行为检测方法与流程

本发明涉及交通安全管理技术领域,尤其涉及一种行人分心行为检测方法。

背景技术

近年来,随着信息时代的发展和手机的广泛使用,不分场合、随时随地玩手机的低头族越来越多。通过大量统计分析表明行人过街时使用手机会造成道路通行能力低、影响出行时间、引发交通事故等问题。2016年美国有6000名行人在交通事故中丧生,所以美国新发规定行人过马路看手机要罚款。其实在我们国内现状也不容乐观。中国青年报社社会调查中调查结果显示,有72.2%受访者表示过马路时有玩手机的经历。根据以上数据,我们发现低头族引发的交通事故日益增多,引起社会各界的重视。

目前人体动作识别领域相对成熟,常用的动作识别方法包括基于模板的方法、基于概率统计的方法以及基于语义的方法。人体行为识别可以用于检测连续、交互动作,在很多领域也有着广泛的应用前景,例如在医疗系统中检测病人的跌倒碰撞行为、在公众场合判断暴乱盗窃等危险事件、检测酒后驾驶的不法行为以及地质灾害后检测生存者的应用前景。但是现阶段行人检测研究方向大致分为两部分,一部分是传统行为的正常走、侧走、爬行、上坡或者下坡等基本人体姿势的研究,而另一部分则是基于轨迹的行人徘徊、行人越界、行人跌倒等异常行为的检测方法,这类研究主要针对老人、儿童等特殊群体。

目前,现有技术中没有一种针对行人使用手机这类分心行为进行检测的方法。



技术实现要素:

本发明的实施例提供了一种行人分心行为检测方法,以实现有效地对行人使用手机这类分心行为进行检测。

为了实现上述目的,本发明采取了如下技术方案。

一种行人分心行为检测方法,包括:

采用梯度和纹理特征集成方法对行人图像进行行人检测处理,获取所述行人图像中的行人位置信息;

根据所述行人的位置区域采用选择性搜素的方法对所述行人图像进行区域分割和合并处理,检测出行人敏感部位图像,对所述行人敏感部位图像进行特征提取,得到所述行人图像的敏感特征矩阵;

利用行人图像数据集中所有行人图像的敏感部位特征矩阵训练adaboost分类器,将待检测的行人图像输入训练好的adaboost分类器,所述adaboost分类器输出所待检测的行人图像的检测结果。

进一步地,所述的采用梯度和纹理特征集成方法对行人图像进行行人检测处理之前,还包括:

通过摄像设备采集公共交通区域中的行人图像,将所有行人图像存储在行人图像数据集中,所述行人图像包括行人为正常过马路图片和行为为分心行人图片。

进一步地,所述的采用梯度和纹理特征集成方法对行人图像进行行人检测处理,获取所述行人图像中的行人位置信息,包括:

从所述行人图像数据集中选择一幅行人图像,从所述行人图像中提取hog特征,并保存图像的hog特征矩阵;从所述行人图像中提取lbp特征,并保存图像的lbp特征矩阵,组合所述hog特征矩阵和lbp特征矩阵得到hog-lbp特征矩阵;

采用k-svd算法从hog-lbp特征矩阵中提取出稀疏表示的特征,用pca算法对所述hog-lbp特征矩阵进行降维,得到低维的pca特征;

将所述pca特征和k-svd稀疏表示的特征同时作用于所述hog-lbp特征矩阵,得到了新的特征矩阵,采用svm分类器对新的特征矩阵进行分类,分类结果用行人矩形框表示,并返回一个1*4维矩阵,4维分别为行人矩形框的横、纵坐标以及行人矩形框的长和宽四个数据,从而获得所述行人图像中的行人的位置区域。

进一步地,所述的根据所述行人的位置区域采用选择性搜素的方法对所述行人图像进行区域分割和合并处理,检测出行人敏感部位图像,包括:

2.0、将包含所述行人的位置区域的图像区域上的每一个像素用节点表示,每个节点代表一个区域,两个节点间由一条无向边连接,每个无向边都有一个权重,用以衡量其连接的两个节点之间的不相似度,有序遍历所有的无向边,判断该无向边连接的两个区域之间的域间间距是否大于任意一个区域的区域内间距,如果是,则将所述两个区域分割成多个初始化小区域;否则,不对所述两个区域进行分割;

2.1、将所有初始化小区域组成的初始区域记为r={r1,…,rm},遍历初始区域r中的所有相邻区域;

2.2、计算各相邻区域的相似度,把所有相邻区域的相似度保存在集合s中并表示为s(ri,rj),在计算各相邻区域的相似度时,采用颜色、纹理、大小及吻合相似度的加权平均值作为两个区域的相似性s{ri,ri},计算公式如下:s(ri,rj)=a1scolor(ri,rj)+a2stexture(ri,rj)+a3ssize(ri,rj)+a4sfill(ri,rj)

其中,scolor为颜色相似度,stexture为纹理相似度,ssize为尺寸相似度,sfill为交叠相似度;

2.3、从集合s中找到最大相似度max(s)对应的相邻区域{ri,rj},若最大相似度max(s)小于某一设定相似度阈值,就将这个相邻区域{ri,rj}进行合并,即rt=ri∪rj,同时从集合s中除去与ri、rj有关的相似度;

2.4、计算rt与其相邻区域的相似度s(rt,r*);

2.5、将rt保存到集合r中,计算公式为:r=r∪rt;

2.6、判断集合s是否为空,集合s不为空,则返回执行步骤2.3;集合s为空,则所有合并后的初始化小区域组成行人敏感部位图像。

进一步地,所述的对所述行人敏感部位图像进行特征提取,得到所述行人图像的敏感特征矩阵,包括:

提取所述行人的敏感部位图像的haar_like特征,组成haar_like特征矩阵;

提取所述行人的敏感部位图像的vgg16特征,组成vgg16特征矩阵;

将所述haar_like特征矩阵和vgg16特征矩阵进行合并,得到所述行人图像的敏感部位特征矩阵。

进一步地,所述的利用行人图像数据集中所有行人图像的敏感部位特征矩阵训练adaboost分类器,将待检测的行人图像输入训练好的adaboost分类器,所述adaboost分类器输出所待检测的行人图像的检测结果,包括:

将所述行人图像数据集中每张行人图像的敏感部位特征矩阵导入,将导入的所有敏感部位特征矩阵分为训练集和测试集,对敏感部位特征矩阵中的特征值进行归一化处理,用训练集中的敏感部位特征矩阵训练adaboost分类器,用测试集中的敏感部位特征矩阵对分类器进行测试并得到检测结果;

将待检测的行人图像输入训练好的adaboost分类器,该adaboost分类器输出所述待检测的行人图像的检测结果,该检测结果包括所述待检测的行人图像是正常行人图像或者分心危险行人图像的概率值。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例针对低头使用手机的危险行人,基于vgg网络采用微调后的深度学习的模型提出了一种面向行人安全的行人分心行为检测方法,可以准确及时地对行人行为进行分析,判断该行人是否为使用手机的危险行人并及时反馈给行人、司机以及交管部门,起到安全警示作用,从而减少道路交通的安全隐患。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种行人分心行为检测方法的实现流程图;

图2为本发明实施例提供的一种选择性搜索方法获取敏感部位示例图;

图3为本发明实施例提供的一种vgg16特征的模型示意图;

图4为本发明实施例提供的一种边缘特征模板的示意图;

图5为本发明实例的方法的实验结果图,其中从上到下依次为vgg16+haar-like特征矩阵、vgg16特征矩阵、haar_like特征矩阵、gist特征矩阵、hog特征矩阵、lbp特征矩阵、vgg16+lbp特征矩阵训练adaboost分类器的分类结果实验图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明实施例针对低头族引发交通事故日益增多的问题,收集了关于行人使用手机分心行为数据集,提出了一种行人分心行为检测方法,用以检测危险行人,从而减少道路交通安全隐患。

在图像分类领域,vgg卷积神经网络使用较小的卷积核和较深的网络结构,从而能够有效提取图像的显著性特征,特别是其中16层深的vgg16网络表现出很高的分类能力和很强的可移植性。

基于vgg网络,本发明实施例提供的一种行人分心行为检测方法的处理流程如图1所示,包括如下的处理步骤:

步骤s110、基于梯度和纹理特征集成的方法对行人图像进行行人检测处理,获取行人的位置区域。

通过摄像设备采集公共交通区域中的行人图像,将所有行人图像存储在行人图像数据集中。在本发明实施例中,该行人图像数据集有原始图片共计5090张,其中有1670张图片来自网络图片,剩余3420张图片是从各大高校、商场等人口密集的十字路口拍摄的,无限定拍摄条件。5090张图片中1588张行人为正常过马路图片,剩余3502张行为为分心行人图片。

从上述行人图像数据集中选择一幅行人图像,采用基于梯度和纹理特征集成对上述行人图像进行行人检测,以获取行人的位置区域,该行人的位置区域包括行人矩形框的横、纵坐标以及矩形框的长和宽四个数据。

从上述行人图像中提取hog(histogramoforientedgradient,方向梯度直方图)特征,并保存图像的hog特征矩阵。从上述行人图像中提取lbp(localbinarypattern,局部二值模式)特征,并保存图像的lbp特征矩阵,组合以上hog特征矩阵和lbp特征矩阵得到新的hog-lbp特征矩阵。

hog特征通过计算和统计图像局部区域的梯度方向直方图来构成特征,由于hog是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性。lbp特征是一种用来描述图像局部特征的算子,lbp特征具有灰度不变性和旋转不变性等显著优点。

由于hog特征和lbp特征集成的hog-lbp特征矩阵的维数过大,造成学习困难。本发明实施例采用k-svd算法从hog-lbp特征矩阵中提取出稀疏表示的特征,该稀疏表示的特征对数据进行样本的稀疏表示。利用所有稀疏表示的特征组成稀疏矩阵。

k-svd算法将上述hog-lbp特征矩阵转换为合适的稀疏表现形式的稀疏矩阵,使学习任务得以简化,模型复杂度得以降低,k-svd算法的计算公式如下:

其中,x=(x1,x2,...,xm)∈rd×m,x为给定数据集;

bi表示hog-lbp特征矩阵b的第i列,αi表示稀疏矩阵a的第i行,||.||f是矩阵的frobenius范数。

k-svd是一种经典的字典训练算法,依据误差最小原则,对误差项进行svd分解,选择使误差最小的分解项作为更新的字典原子和对应的原子系数,经过不断的迭代从而得到优化的解。

接着用pca(principalcomponentsanalysis,主成分分析技术)算法对hog-lbp特征矩阵进行降维,得到低维的pca特征,通过将高维特征映射到低维特征,增大样本的采样密度的同时起到一定的去噪作用。

最后,将pca特征和k-svd稀疏表示的特征同时作用于hog-lbp特征矩阵,得到了新的特征矩阵,采用svm分类器对新的特征矩阵进行分类,分类结果用行人矩形框表示,并返回一个1*4维矩阵,4维分别为行人矩形框的横、纵坐标以及行人矩形框的长和宽四个数据,从而获得上述行人图像中的行人的位置区域。

步骤s120、根据行人的位置区域基于区域之间的域间间距对行人图像进行分割,得到一些初始化小区域。

本发明实施例基于区域之间的域间间距对行人图像进行初始化分割,得到一些初始化小区域。

在初始化分割步骤中,将包含上述行人的位置区域的图像区域上的每一个像素用节点表示,每个节点代表一个区域,两个节点间由一条无向边连接,每个无向边都有一个权重,用以衡量其连接的两个节点之间的不相似度。有序遍历所有的无向边,判断该无向边连接的两个区域之间的域间间距是否大于任意一个区域的区域内间距,如果是,就认为这两个区域之间存在明显的界限,则将所述两个区域分割成多个初始化小区域;否则,不对所述两个区域进行分割。

上述区域间间距定义为所有分属于两个区域且有边连接的点中,权重最小的那对边的权值;区域内间距定义为区域对应最小生成树中权重最大的边的权重值。

步骤s130、采用多种相似性计算策略对初始化小区域进行合并,检测出行人的敏感部位信息。

图2为本发明实施例提供的一种选择性搜索方法获取敏感部位示例图,接着采用多种相似性计算的策略组合对相邻的初始化小区域进行合并,得到行人的敏感部位。在本发明实施例中,行人的敏感部位包括行人的胳膊和头部组合部位。

获取行人的敏感部位的具体处理过程包括:

2.1、将所有初始化小区域组成的初始区域记为r={r1,…,rm},遍历初始区域r中的所有相邻区域;

2.2、计算各相邻区域的相似度,把所有相邻区域的相似度保存在集合s中并表示为s(ri,rj)。在计算各相邻区域的相似度时,采用颜色、纹理、大小及吻合相似度的加权平均值作为两个区域的相似性s{ri,ri},计算公式如下:s(ri,rj)=a1scolor(ri,rj)+a2stexture(ri,rj)+a3ssize(ri,rj)+a4sfill(ri,rj)

其中,scolor为颜色相似度,stextire为纹理相似度,ssize为尺寸相似度,sfill为交叠相似度。

2.3、从集合s中找到最大相似度max(s)对应的相邻区域{ri,rj},若最大相似度max(s)小于某一设定相似度阈值,则将这个相邻区域{ri,rj}进行合并,即rt=ri∪rj,同时从集合s中除去与ri、rj有关的相似度;

2.4、计算rt与其相邻区域的相似度s(rt,r*);

2.5、将rt保存到集合r中,计算公式为:r=r∪rt;

2.6、判断集合s是否为空,集合s不为空,则返回执行步骤2.3;集合s为空,则所有合并后的初始化小区域组成行人敏感部位图像。

步骤s140、对行人的敏感部位图像采用vgg16和haar-like特征相结合的特征提取方法得到敏感部位图像的敏感部位特征矩阵。

本发明实施例采用vgg16特征和haar-like特征相结合的特征提取方法得到敏感部位特征矩阵。vgg16特征和alexnet特征一样,总共分为8个部分:5个卷积组、2层全连接图像特征和1层全连接分类特征。图3为本发明实施例提供的一种vgg16特征的模型示意图,vgg16特征的模型构建是在tensorflow平台上实现的,主要由4个python文件构成,其中finetune.py为工程主体,调用不同模块完成finetune过程;model.py定义并返回一个vgg16模型;network.py详细定义了网络的不同层的属性;dateset.py用于数据的读入训练集和测试集路径文件。最终vgg16特征矩阵以二进制形式保存在.npz文件中。

haar-like特征反应图像的灰度变化情况,下载haar-like特征提取模型并在matlab平台进行微调后得到haar_like特征矩阵。将vgg16特征矩阵和haar_like特征矩阵简进行合并后,得到敏感部位特征矩阵。

上述提取敏感部位特征矩阵的具体处理过程包括:

3.1、提取上述行人的敏感部位图像的haar_like特征,组成haar_like特征矩形。

下载haar_like特征提取代码及其相关文档;

haar-like特征值反映了图像的灰度变化情况。常用的haar-like特征主要分为边缘特征、线性特征、中心特征和对角线特征,这三类特征组合成特征模板,特征模板内有白色和黑色两种矩形,并定义该模板的特征值为黑色矩形像素和减去白色矩形像素和。此处,本发明使用的为边缘特征,模板如图4所示。

矩形特征值是矩形模板类型、矩形位置和矩形大小三个因素的函数,故任何一个因素的变化,都会使得很小的检测窗口中含有非常多的矩形特征。积分图技术可以很快速地计算haar-like特征。

计算白色矩形灰度值的和减去黑色矩形灰度值的和,为了提高计算速度,采用积分图的计算方式在相同时间里计算尺度大小不同的矩形特征值,对于图像内一个点a(i,j),其积分图ii(i,j)计算公式如下:

其中,ii(i,j)是位置a(i,j)左上角所有的像素和。

3.2、提取上述行人的敏感部位图像的vgg16特征,组成vgg16特征矩阵。

在linux系统下搭建tensorflow平台;

构建网络,构建network.py和model.py两个文件,其中model.py定义并返回一个vgg16模型,主要包括卷积层conv、归一化层pool以及全连接层fc的设置,而每一层的实现在networl.py中详细定义;

数据读取,初始化函数读取train_list以及test_list,将所有的图像路径及其标签保存在内存中以.txt文件保存;

finetune训练,定义训练样本及测试样本的路径以及各项参数。此处学习步长设置为0.001,总迭代次数为6000,每个batch的大小为10,分组的类别为2,drop-out初始比率为0.5。损失函数选择的是交叉熵均值,优化方式设置为梯度下降方式。

3.3、特征合并操作,将上述haar_like特征和vgg16特征进行合并,可以在matlab中采用矩阵合并的操作将haar_like特征矩阵和vgg16特征矩阵进行合并,组成为一个敏感部位特征矩阵。

步骤s150、将所有图像的敏感部位特征矩阵分为训练集和测试集,用训练集训练adaboost分类器,用测试集测试adaboost分类器。将待检测的行人图像输入训练好的adaboost分类器,adaboost分类器输出上述待检测的行人图像的检测结果。

将上述行人图像数据集中每张图像的敏感部位特征矩阵导入,为每张图像加上相应的类标签。将导入的敏感部位特征矩阵分为训练集和测试集,对敏感部位特征矩阵中的特征值进行归一化处理,用训练集中的敏感部位特征矩阵训练adaboost分类器,用测试集中的敏感部位特征矩阵对分类器进行测试并得到检测结果,分类的信息更加准确,说明该分类器具有更强的分类能力。图5为本发明实例的方法的实验结果图,其中从上到下依次为vgg16+haar-like特征矩阵、vgg16特征矩阵、haar_like特征矩阵、gist特征矩阵、hog特征矩阵、lbp特征矩阵、vgg16+lbp特征矩阵训练adaboost分类器的分类结果实验图。

adaboost分类器是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器。

之后,将待检测的行人图像输入训练好的adaboost分类器,adaboost分类器输出上述待检测的行人图像的检测结果,该检测结果包括所述待检测的行人图像是正常行人图像或者分心危险行人图像的概率值。该分心危险行人图像包括行人正在低头看手机等场景。

综上所述,本发明实施例针对低头使用手机的危险行人,基于vgg网络采用微调后的深度学习的模型提出了一种面向行人安全的行人分心行为检测方法,可以准确及时地对行人行为进行分析,判断该行人是否为使用手机的危险行人并及时反馈给行人、司机以及交管部门,起到安全警示作用,从而减少道路交通的安全隐患。

本发明实施例选择特征矩阵集成的方法构建模型,提高模型的分类的准确性。采用adaboost分类器,对数据有良好的扩展性,能解决数据处理的速度问题同时防止过拟合情况发生,对行人分心行为预测有较好的应用前景。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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