一种基于语义分割的行人多属性识别方法与流程

文档序号:16136336发布日期:2018-12-01 01:01阅读:250来源:国知局

本发明涉及实体搜索领域,更具体地,涉及一种基于语义分割的行人多属性识别方法。

背景技术

当前,城市中的摄像头越来越多,这不仅提升了城市中生活的人们的安全系数,同时也为公安机关打击违反犯罪行为提供了很大的帮助。虽然城市中布控了很多监控摄像头,记录着城市中每时每刻发生的一切,但是,每天产生如此海量的视频数据,缺乏快速有效的分析手段。面对如此海量的摄像头视频数据,如果仅凭人力,不但要花费大量的时间,而且可能因为人眼的局限性,遗漏掉重要信息。

为了保障人们的生命和财产安全,城市中监控摄像头的安装数量增长趋势越来越快。据相关机构统计,目前全国各车站、机场、商场和街道等公共场所,已经安装几万个摄像头,这些摄像头构成了一张巨大的监控网,能够实时、直观且全面地记录公共场所所发生的一切状况,为违法犯罪案件的侦破提供了有力的线索,为公安机关和警察维护社会稳定提供了重大的作用。

如此多的摄像头,意味着每时每刻产生大量的图像和视频数据。当紧急情况发生时,比如某地发生了伤人事件,嫌疑人为逃避责任已经逃离现场,我们可以根据目击者的描述,了解嫌疑人的特征,然后对监控视频进行分析查找该特征的行人,就可以检索到该特征的行人出现在哪些摄像头下,从而分析其逃跑路线,推测嫌疑人目前所在地。但是,面对如此海量的监控视频数据,如果仅凭人力来排查,不但耗时耗力,而且缺乏准确性。

随着深度学习和人工智能等技术的不断发展,计算机变得越来越“聪明”。比如google所开发的alphago打败了世界顶级围棋棋手李世石,百度公司所研发的无人驾驶汽车也即将投入使用。此外,gpu技术也在不断发展,比如英伟达公司最新的产品geforcegtx1080、titanx和titanblack等,已经被广泛用于深度学习的训练中。计算机的计算能力越来越强,基于gpu的深度学习技术已经成为计算机视觉的重要研究方向。

前面说到,某地发生紧急情况时,嫌疑人已经逃离现场,我们根据目击者的描述知道了嫌疑人的特征,比如,黑色头发、戴帽子、戴眼镜、红色t恤、灰色休闲裤和白色运动鞋等。我们通过深度学习等技术以及gpu的高速计算能力,实时地对监控视频中的所有行人提取其属性特征并存储到数据库中,当我们知道了嫌疑人的特征后,就可以快速地查找和嫌疑人有相同属性特征的所有行人,这样,就可以快速地掌握嫌疑人的逃跑线路。

可以看到,行人多属性的研究对于建立“平安城市”具有重大意义,能有效地帮助公安机关和警察维护社会的稳定。因此,如何提高行人多属性识别的准确度,是监控视频智能分析系统中亟待解决的问题。



技术实现要素:

针对现有技术的缺陷,本发明目的在于提高行人多属性识别的准确度,由此解决当前监控环境下行人多属性识别准确度不够高的问题。

为实现上述目的,本发明提供一种基于语义分割的行人多属性识别方法,包括以下步骤:

预选行人的多种属性特征,包括颜色属性、类型属性以及性别属性;

基于特征融合层构建一个端到端的全卷积神经网络,所述神经网络的基本结构是alexnet,其前面为卷积层,中间为分裂成三条分支的卷积层,第一条分支通过特征融合层连接第一反卷积层得到颜色属性的语义分割结果,第二条分支通过特征融合层连接第二反卷积层得到类型属性的语义分割结果,第三条分支通过二分类,得到性别属性,所述特征融合层用于对颜色属性和类型属性互补;

基于所述神经网络随机选取训练样本中的图像进行训练,得到行人多属性识别模型,所述行人多属性识别模型用于识别图像中行人的属性;

基于所述行人多属性识别模型提取行人库中所有行人图像的属性并存储到数据库;

根据待查找行人的属性,从所述数据库中匹配查找符合要求的行人图像。

可选地,所述行人多属性识别模型的训练步骤为:

每次随机选择训练样本中的一张图像用来训练,预设用于梯度下降加速的动量、权重衰减参数及基础学习率,并且训练过程中一直保持不变,预设训练的最大迭代次数;

以数据集imagenet预先训练的模型作为神经网络的初始参数,将样本输入神经网络后,前向传播计算神经网络各层的值,网络的三条分支分别得到各自的损失值:

颜色属性分支的损失函数为:

类型属性分支的损失函数为:

性别属性分支的损失函数为:

其中,n表示训练图像的像素点个数,y表示训练图像的性别标签,y(i)表示训练图像第i个像素点的颜色或类型标签,x表示输入特征值,x(i)表示第i个像素点输入特征值,λ表示权重衰减参数,θij表示第i个参数向量第j个值,θj表示第j个参数向量,表示第l个参数向量的转置,表示第j个参数向量的转置,k表示颜色属性或类型属性的数量;

反向逐层采用梯度下降算法更新神经网络各层参数,根据各分支损失函数的导数最小化三个分支的损失函数,根据如下公式计算各分支损失函数的导数:

颜色属性分支的损失函数导数为:

类型属性分支的损失函数导数为:

性别属性分支的损失函数导数为:

其中,p(y(i)=j|x(i);θ)表示将像素点x(i)分类为类别j的概率,p(y=j|x;θ)表示将图像x分类为类别j的概率;

重复迭代上述步骤,达到最大迭代次数后,训练得到行人多属性识别模型。

可选地,基于特征融合层构建一个端到端的全卷积神经网络,包括:

神经网络模型的激活函数采用relu激活函数,其函数表达式为:

其中,f(x)表示激活函数的输出,x表示激活函数的输入;

特征融合的公式表达如下:

其中,xi表示颜色特征图上第i个点激活值,yi表示类型特征图上第i个点激活值;α和β表示融合参数,当xi=0且yi>0,α和yi的乘积重新激活xi,同样的方法应用于yi,经过该特征图融合,颜色特征和类型特征相互弥补。

可选地,颜色属性包括:头发颜色、上半身颜色、下半身颜色以及鞋子颜色,所述颜色包括:米白色、黑色、蓝色、棕色、灰色、绿色、橙色、紫色、粉红色、红色、白色和黑色;

类型属性包括;眼镜:戴眼镜、不戴眼镜;帽子:戴帽子、不戴帽子;包:有包、无包;上半身类型:t恤、运动衣、衬衫、外套、连衣裙、毛衣;下半身类型:牛仔裤、裤子、短裤、裙子;

性别属性包括:男性、女性。

可选地,假设训练样本共有k张图片,对于属性arri,该属性的准确率计算方式为:

其中,erri表示该属性识别错误的样本数;

erri的计算方式为:

其中,表示第k张图片的第i个属性预测结果,j表示第k张图片的第i个属性实际标签,有三种情况:预测结果有i属性,实际标签也有i属性,但预测结果不等于实际标签;.预测结果有i属性,实际标签没有i属性;预测结果没有i属性,实际标签有i属性。

可选地,颜色属性的准确率计算方式为:

其中,ri表示对于颜色i识别正确的数量,erri表示识别错误的数量。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

(1)本发明将语义分割应用到行人多属性分类和识别的任务中,充分利用了图像中每个像素点的信息,使得行人属性识别准确度更高。

(2)本发明提出了一个特征融合层,将颜色特征和类型特征相互融合,使得语义分割的结果更准确,从而进一步提高行人属性的识别准确度。

(3)本发明设计了一个端到端的行人多属性识别网络模型,通过三条分支分别得到颜色属性、类型属性和性别属性,综合三条分支的输出即可得到行人的多属性。

附图说明

图1为本发明提供的基于语义分割的行人多属性识别方法流程示意图;

图2为本发明提供的行人多属性识别的网络结构示意图;

图3为本发明提供的行人特征融合的具体过程示意图;

图4为本发明提供的行人多属性识别模型的训练流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提出一种基于语义分割的行人多属性识别方法,该方法分为线下训练阶段和线上查询阶段:

线下训练阶段具体包括以下步骤:

(1)从行人属性数据集中选择比较普遍的属性,为每种属性划分类别并构建属性标签;

选择对于行人都比较普遍的属性,包括性别、头发颜色、是否戴帽子、是否戴眼镜、上半身颜色、上半身衣服类型、下半身裤子颜色、下半身裤子类型、鞋子颜色和鞋子类型。

(2)设计一个特征融合层并构建一个端到端的全卷积神经网络,训练一个行人多属性识别模型;

线上查询阶段具体包括以下步骤:

s1、用训练得到的行人多属性识别模型提取行人库中的所有行人图像的属性并储存到数据库。

s2、根据需要查找的属性,从数据库中查找符合要求的行人图像。

进一步地,线下训练阶段的步骤(2)中构建的全卷积神经网络的基本结构是alexnet,神经网络模型将alexnet的全连接层修改为卷积层并分裂为三条分支。第一条分支通过反卷积层得到颜色属性的语义分割结果;第二条分支也通过反卷积层得到类型属性的语义分割结果;第三条分支是常规的二分类,得到性别属性。每条分支各有一个采用softmax损失的分类损失层。我们将该模型称为gcc-afcn。

进一步地,线下训练阶段的步骤(2)中行人多属性识别模型的训练具体包括以下子步骤:

(21)训练的每个批次包括一张行人图像;

(22)以大型数据集imagenet预先训练过的模型作为网络初始参数,将训练样本输入网络后,前向传播计算网络各层的值;

(23)若未达到预定的总迭代次数,则继续步骤(24),否则结束训练;其中,所述预定的总迭代次数为100000;

(24)反向逐层采用梯度下降算法更新网络各层参数,最小化三个分支的损失函数;重复步骤(22)至(23)。

进一步地,线下训练阶段的步骤(2)中的特征融合层具体融合策略表达式为:

其中xi表示颜色特征图上第i个点激活值,yi表示类型特征图上第i个点激活值;α和β表示融合参数,取值分别是0.6和1.7。当xi=0且yi>0,α和yi的乘积重新激活xi,同样的方法应用于yi。经过这样的特征图融合,颜色特征和类型特征相互弥补。

进一步地,步骤(24)中三条分支的损失函数表达形式分别如下:

对于颜色属性分支,其损失函数为:

其中y(i)表示第i个像素点对应的标签(颜色共13种,所以标签为0,1,…,12),k的取值为13。表示像素点i的标签y(i)为j的概率。1{表达式}表示示性函数,当表达式为真时取值1,即:1{值为真的表达式}=1,否则1{值为假的表达式}=0。为权重衰减项,其作用是为了防止过拟合。

对于类型属性分支,其损失函数为:

类型属性共23种,所以k的取值为23。

对于性别属性,其损失函数为:

其中y表示当前训练图像的性别标签,k的取值为0或1,表示两种性别,最后一项为权重衰减项,作用同样是为了防止过拟合。

具体地,本发明方法的流程如图1所示。在线下训练阶段,首先选择普遍的行人属性,进行合理的类别划分。设计一个特征融合层并构建一个端到端的全卷积神经网络,训练一个行人多属性识别模型。线上查询阶段,用训练得到的行人多属性识别模型提取行人库中所有图像的属性并存储到数据库中,就可以通过属性查找行人库中所有该属性的行人图像。

下面具体说明线下训练阶段行人多属性识别模型的训练过程,线上查询阶段行人多属性识别模型应用过程的具体实施步骤。

线下训练阶段包括以下步骤:

(1)从现有行人属性数据集colorful-fashion提供的多种属性中,选择比较普遍的属性及其类别划分;包括:1.性别:男性、女性;2.眼镜:戴眼镜、不戴眼镜;3.帽子:戴帽子、不戴帽子;4.包:有包、无包;5.头发颜色:米白色、黑色、蓝色、棕色、灰色、绿色、橙色、紫色、粉红色、红色、白色和黑色;6.上半身类型:t恤、运动衣、衬衫、外套、连衣裙、毛衣;7.上半身颜色:米白色、黑色、蓝色、棕色、灰色、绿色、橙色、紫色、粉红色、红色、白色和黑色;8.下半身类型:牛仔裤、裤子、短裤、裙子;8.下半身颜色:米白色、黑色、蓝色、棕色、灰色、绿色、橙色、紫色、粉红色、红色、白色和黑色;9.鞋子颜色:米白色、黑色、蓝色、棕色、灰色、绿色、橙色、紫色、粉红色、红色、白色和黑色。

(2)设计一个特征融合层并构建一个端到端的全卷积神经网络,训练一个行人多属性识别模型。

神经网络的基本结构是alexnet,前面的卷积层保持不变,中间的全连接层修改为卷积层并分裂为三条分支。第一条分支通过连接反卷积层得到颜色属性的语义分割结果;第二条分支也通过连接反卷积层得到类型属性的语义分割结果;第三条分支是常规的二分类,得到性别属性。每条分支各有一个采用softmax损失的分类损失层。我们将该模型称为gcc-afcn,网络的整体结构如图2所示。

如图3所示,特征融合的具体原理为:

本发明提供的神经网络模型的激活函数采用relu激活函数,其函数表达式为:

可以看到,relu激活函数对于小于等于0的值,输出均变为0,大于0的值则维持不变。对于输出等于0的区域,也就是说非目标区域,通常就是背景。对于输出大于0的区域,我们称之为激活区域,也就是说该区域是存在目标的,即“颜色”区域和“类型”区域。举个例子,对于“红色大衣”这个多属性,“红色”属性出现的地方应该和“大衣”属性出现的地方应该在图片的同一地方。因此可以对两种特征融合,使得结果更精确。

特征融合的描述如下:

其中xi表示颜色特征图上第i个点激活值,yi表示类型特征图上第i个点激活值;α和β表示融合参数,取值分别可以是0.6和1.7。当xi=0且yi>0,α和yi的乘积重新激活xi,同样的方法应用于yi。经过这样的特征图融合,颜色特征和类型特征相互弥补。

如图4所示,行人多属性识别模型的训练步骤为:

(21)每次随机选择训练样本中的一张图像用来训练,设置用于梯度下降加速的动量为0.9,权重衰减参数为0.0005,基础学习率为1e-4并且训练过程中一直保持不变,训练的最大迭代次数为100000。

(22)以大型数据集imagenet预先训练的模型作为网络的初始参数,将样本输入网络后,前向传播计算网络各层的值,网络的三条分支分别得到各自的损失值。颜色属性分支的损失函数为:

类型属性分支的损失函数为:

性别属性分支的损失函数为:

(23)若未达到预定的总迭代数100000次,则继续步骤(24),否则训练结束。

(24)反向逐层采用梯度下降算法更新网络各层参数,根据如下公式计算各分支损失函数的导数:

颜色属性分支的损失函数导数为:

类型属性分支的损失函数导数为:

性别属性分支的损失函数导数为:

线上查询阶段包括以下步骤:

s1、用训练得到的行人多属性识别模型提取行人库中的所有行人图像的属性并储存到数据库。

s2、根据需要查找的属性,从数据库中查找符合要求的行人图像。

为了证明基于语义分割的行人多属性识别方法性能和效率具有优势,本发明通过以下实验进行验证与分析。

a、实验数据

本发明采用colorful-fashion数据集进行实验,该数据集图像均来源网络上,一共有2682张图像。将数据集划分为训练集和测试集,其中训练集2082张,测试集600张。图像格式均为jpg,标签图像格式均为png。

b、实验平台

硬件:cpuintelxeone5-2650v3,内存64gddr42133mhz,gpugeforcegtxtitanx,显存12g。

软件:操作系统ubuntu15.0464位,实验平台caffe、matlabr2014a。

c、评价标准

对于测试的结果,我们使用准确率来评价。假设测试的样本集共有k张图片,对于某个属性arri,该属性的准确率计算方式为:

其中,erri表示该属性识别错误的样本数。erri的计算方式为:

其中,表示第k张图片的第i个属性预测结果,j表示第k张图片的第i个属性实际标签。有三种情况:

1、预测结果有i属性,实际标签也有i属性,但预测结果不等于实际标签。比如上身衣服类型,预测值为“大衣”,但实际标签为“毛衣”,因此是预测错误的情况。

2、预测结果有i属性,实际标签没有i属性。比如预测结果是“戴帽子”,但实际并没有戴帽子,这种情况也认为是错误的预测结果。

3、预测结果没有i属性,实际标签有i属性。比如预测结果是“不戴帽子”,但实际有戴帽子,这种情况也认为是错误的预测结果。

此外,对于颜色属性,可以和类型属性分开计算。因为每张行人图片的颜色可能不止一种属性。颜色属性的准确率计算方式为:

其中,ri表示对于颜色i识别正确的数量,erri表示识别错误的数量。比如对于标签为“红色大衣”的属性,预测结果为“灰色大衣”,我们就认为颜色预测错误,但上身类型预测是正确的;对于标签为“红色大衣”的属性,预测结果为“红色毛衣”,则认为颜色预测是正确的,上身类型是错误的。

d、实验结果

表1是mlcnn方法、deepmar方法、paperdoll方法以及本发明提供的gcc-afcn(无融合/有融合)对比结果。实验的结果如表1所示,其中横轴表示属性,纵轴表示该属性的准确度。

表1

可以看到,采用特征融合后,进一步提高了准确度。实验表明,本发明方法在colorful-fashion数据集上,准确度达到了92.5243%,已经超过了很多其他方法,可满足实际应用要求。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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