本发明涉及数据人工智能技术领域,特别是一种基于深度神经网络的行人属性识别方法、装置及存储介质。
背景技术:
随着信息技术迅速的发展,现如今监控系统在各行业应用日渐广泛,如车站、商场、公园、学校、公司等公共场所都安装着大量的监控摄像头,这些摄像头实时监控着行人的一举一动,为相关部门的人员管理,案件侦破提供有利线索。面对如此多的摄像头如果仅仅是靠人工监控无疑是一项艰巨的任务。于是研究通过计算机视觉技术实现自动视频图像识别是一个非常有意义的课题。传统的图像识别技术一般都是人工手动设计特征,根据特征对图像进行分类完成识别任务。
早期主要基于人工设计特征,如方向梯度直方图(hog)等,然后采用支持向量机等分类器对提取的特征进行分类识别。近年来特别是随着计算机视觉社区中深度卷积神经网络研究的不断深入,基于深度神经网络在图像识别中的研究是主流。基于卷积神经网络对行人属性识别方法,一般是抠出行人样本,输入到cnn分类器,输出多个行人属性标签。
现有技术中存在一些难以解决的问题,提取的特征对训练数据具有依赖性,不易泛化到其他数据,计算开销太大,延时较高。深度学习能自动提取隐藏在数据间的多层特征表示,已经成功应用于图像识别与分类,分割等领域。通过卷积神经网络对图像进行整体分类方式,结构简单、训练方便,然而总体的准确性很难提高,尤其是对较小的局部属性识别,比如是否带眼镜,鞋子类型等识别度都比较低,当属性类别较多时也很容易造成各类别识别精度不均衡问题。现有技术中的分割方法和网络设计上在实际应用中准确率仍有待提高,尤其是对携带物的识别都较为粗糙。
技术实现要素:
本发明针对上述现有技术中的缺陷,提出了如下技术方案。
一种基于深度神经网络的行人属性识别方法,该方法包括:
获取步骤,获取待识别的行人图像;
检测步骤,使用第一深度神经网络模型对所述行人图像进行人体部位检测,获得人体部位信息和附属物信息;
识别步骤,使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息。
更进一步地,人体部位包括:头部、上身、全身、下身和脚部。
更进一步地,所述第二深度神经网络模型包括头部识别模型、上身识别模型、全身识别模型、下身识别模型、脚部识别模型和附属物识别模型。
更进一步地,将所述行人图像划分为s*s个格子,使用所述第一深度神经网络模型检测人体部位落在格子中的范围以确定人体部位信息,其中,人体部位信息为人体部位在所述行人图像中的位置,所述第一深度神经网络模型的卷积核用3*1和1*3大小的卷积核。
更进一步地,所述第二深度神经网络模型包括依次连接的第一卷积层、第一最大池化层、第二卷积层、第三卷积层、第二最大池化层、六个局部处理块、平均池化层、丢弃层和多个softmax分类器(例如两个softmax分类器);
其中,第一卷积层的卷积核大小为5*5,第二卷积层的卷积核大小为1*1,第三卷积层的卷积核大小为3*3;
其中,所述局部处理块包括:第一过滤连接层、第四卷积层和第二过滤连接层,所述第四卷积层的输入与所述第一过滤连接层连接,所述第四卷积层的输出与所述第二过滤连接层连接;所述局部处理块还包括:第五卷积层、第六卷积层和第七卷积层,所述第五卷积层的输入与所述第一过滤连接层连接,所述第七卷积层的输出与所述第二过滤连接层连接,所述第六卷积层的输入和输出与第五卷积层的输出和第七卷积层的输入相连接;所述局部处理块还包括:第三最大池化层和第八卷积层,所述第三最大池化层的输入与所述第一过滤连接层连接,所述第八卷积层的输出与所述第二过滤连接层连接,所述第三最大池化层的输出和所述第八卷积层的输出相连接;
其中,第四卷积层的卷积核大小为1*1,第五卷积层的卷积核大小为1*1,第六卷积层的卷积核大小为3*3,第七卷积层的卷积核大小为3*3,第八卷积层的卷积核大小为1*1。
更进一步地,对所述第一深度神经网络模型进行训练的参数为:图像输入大小为416*416、训练批次大小为64、学习率为0.001和动量为0.9;对所述第二深度神经网络模型进行训练的参数为:训练批次大小为64、学习率为0.001。
本发明还提出了一种基于深度神经网络的行人属性识别装置,该装置包括:
获取单元,用于获取待识别的行人图像;
检测单元,使用第一深度神经网络模型对所述行人图像进行人体部位检测,获得人体部位信息和附属物信息;
识别单元,使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息。
更进一步地,人体部位包括:头部、上身、全身、下身和脚部。
更进一步地,所述第二深度神经网络模型包括头部识别模型、上身识别模型、全身识别模型、下身识别模型、脚部识别模型和附属物识别模型。
更进一步地,将所述行人图像划分为s*s个格子,使用所述第一深度神经网络模型检测人体部位落在格子中的范围以确定人体部位信息,其中,人体部位信息为人体部位在所述行人图像中的位置,所述第一深度神经网络模型的卷积核用3*1和1*3大小的卷积核。
更进一步地,所述第二深度神经网络模型包括依次连接的第一卷积层、第一最大池化层、第二卷积层、第三卷积层、第二最大池化层、六个局部处理块、平均池化层、丢弃层和多个softmax分类器(例如两个softmax分类器);
其中,第一卷积层的卷积核大小为5*5,第二卷积层的卷积核大小为1*1,第三卷积层的卷积核大小为3*3;
其中,所述局部处理块包括:第一过滤连接层、第四卷积层和第二过滤连接层,所述第四卷积层的输入与所述第一过滤连接层连接,所述第四卷积层的输出与所述第二过滤连接层连接;所述局部处理块还包括:第五卷积层、第六卷积层和第七卷积层,所述第五卷积层的输入与所述第一过滤连接层连接,所述第七卷积层的输出与所述第二过滤连接层连接,所述第六卷积层的输入和输出与第五卷积层的输出和第七卷积层的输入相连接;所述局部处理块还包括:第三最大池化层和第八卷积层,所述第三最大池化层的输入与所述第一过滤连接层连接,所述第八卷积层的输出与所述第二过滤连接层连接,所述第三最大池化层的输出和所述第八卷积层的输出相连接;
其中,第四卷积层的卷积核大小为1*1,第五卷积层的卷积核大小为1*1,第六卷积层的卷积核大小为3*3,第七卷积层的卷积核大小为3*3,第八卷积层的卷积核大小为1*1。
更进一步地,对所述第一深度神经网络模型进行训练的参数为:图像输入大小为416*416、训练批次大小为64、学习率为0.001和动量为0.9;对所述第二深度神经网络模型进行训练的参数为:训练批次大小为64、学习率为0.001。
本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
本发明的技术效果为:本发明通过第一深度神经网络模型对行人图像进行人体部位检测,获得人体部位信息和附属物信息,然后再使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息,即本发明中采用由粗到细对行人进行精细识别,并在第二深度神经网络模型设计了对人体部位及附属物进行局部细粒度属性识别的局部处理块,提高了人体部位和附属物识别的准确度。该识别方法具有较低的延时,对目前辅助监控有很大的帮助。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是根据本发明的实施例的一种基于深度神经网络的行人属性识别方法的流程图。
图2是根据本发明的实施例的第二深度神经网络模型的结构图。
图3是根据本发明的实施例的局部处理块的结构图。
图4是根据本发明的实施例的一种基于深度神经网络的行人属性识别装置的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
行人属性识别的任务是从监控图像中识别出每一个行人的视觉属性,如性别、体态、发型,衣服类型,携带物等。通过对行人属性的识别可以更加准确和直观地对图像进行描述,同时为进一步行人重识别、行人跟踪和行人行为分析提供基础。
图1示出了本发明的一种基于深度神经网络的行人属性识别方法,该方法包括:
获取步骤s101,获取待识别的行人图像。
获取步骤s101中获取的图像方式可以网络下载,视频监控或者所拍摄的图像,例如,通过提取视频监控所采集的视频中的每一帧具有行人的图像作为行人图像。
检测步骤s102,使用第一深度神经网络模型对所述行人图像进行人体部位检测,获得人体部位信息和附属物信息。
检测步骤s102中,人体部位包括:头部、上身、全身、下身和脚部。在检测过程中,将所述行人图像划分为s*s个格子,使用所述第一深度神经网络模型检测人体部位落在格子中的范围以确定人体部位信息,其中,人体部位信息为人体部位在所述行人图像中的位置,这样便于在后续的识别中进行分割图像,该位置可以以坐标的形式表示。所述第一深度神经网络模型的卷积核用3*1和1*3大小的卷积核,其中s为整数(例如是13),附属物可以是手提袋、手机和伞等等。
一个具体的实施例,基于检测速度与准确率的权衡,选择yolov3作为第一深度神经网络模型进行检测。yolo的核心思想是将输入图像分成s*s个格子,若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体。每个格子预测b个bbox及其置信度,以及c个类别概率。bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,置信度反映的是否包含物体以及包含物体情况下位置的准确性。yolov3借鉴了resnet思想,引入残差结构设计,在原有网络结基础上减少了9个卷积层,并将最后4个3*3卷积核用3*1和1*3来替换。此外yolov3用多个logistic分类器替代softmax支持多标签分类。为提高小目标检测的精确度融合粗细粒度特征,进行多尺度预测。这是本发明的中重点之一,通过第一深度神经网络模型进行人体部位的准确识别。
识别步骤s103,使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息。
为进行细粒度的识别,本发明研究出了第二深度神经网络模型,如图2所示,其包括依次连接的第一卷积层、第一最大池化层、第二卷积层、第三卷积层、第二最大池化层、六个局部处理块、平均池化层、丢弃层和多个softmax分类器(例如两个softmax分类器);其中,第一卷积层的卷积核大小为5*5,第二卷积层的卷积核大小为1*1,第三卷积层的卷积核大小为3*3;
如图3所示,所述局部处理块包括:第一过滤连接层、第四卷积层和第二过滤连接层,所述第四卷积层的输入与所述第一过滤连接层连接,所述第四卷积层的输出与所述第二过滤连接层连接;所述局部处理块还包括:第五卷积层、第六卷积层和第七卷积层,所述第五卷积层的输入与所述第一过滤连接层连接,所述第七卷积层的输出与所述第二过滤连接层连接,所述第六卷积层的输入和输出与第五卷积层的输出和第七卷积层的输入相连接;所述局部处理块还包括:第三最大池化层和第八卷积层,所述第三最大池化层的输入与所述第一过滤连接层连接,所述第八卷积层的输出与所述第二过滤连接层连接,所述第三最大池化层的输出和所述第八卷积层的输出相连接;其中,第四卷积层的卷积核大小为1*1,第五卷积层的卷积核大小为1*1,第六卷积层的卷积核大小为3*3,第七卷积层的卷积核大小为3*3,第八卷积层的卷积核大小为1*1。
所述第二深度神经网络模型的六个局部处理块分别对应头部识别模型、上身识别模型、全身识别模型、下身识别模型、脚部识别模型和附属物识别模型,该六个局部处理块并行进行识别,即支持多分类任务,大大提高了识别效率。所述第二深度神经网络模型具体结果及六个局部处理块的具体结构是本发明的重要发明点之另一,通过该第二深度神经网络模型可以准确的识别行人的属性特征。通过采用不同大小的卷积核融合不同尺度特征,这个结构很好地利用了网络中的计算资源,并且在不增加计算负载的情况下,增加网络的宽度和深度。同时在每一个卷积层后面做批归一化处理。各部件图片尺寸不尽相同,对于类别之间存在样本不均衡现象,通过在损失函数中加入样本权重来解决。
在神经模型使用前必须要对其进行训练,下面介绍一下,对其第一、二深度神经网络模型训练过程。
第一步:数据收集、标注:数据来源于公司内部各楼层的多个高清摄像头,为保证数据的差异性,按不同季节和时间点从中选取10000张图片进行标注。标注的主要内容包括行人及行人主要附属物,行人再划分为头部、上身、下身、脚五个部件,附属物标注了一些常见物品,如手提袋、伞、小的手持物。标注信息以xml文件格式保存。
第二步,数据准备与增强:将数据集分成训练集和测试集,比例为8:2。由于训练集数量较少,因此对数据做了模糊、高亮、灰度化、增加对比度、水平翻转等增强操作;
第三步,训练:
对所述第一深度神经网络模型进行训练的参数为:生成训练集图片名称列表文件train_image_path.txt(文件名字可随意定义),根据列表文件与标注信息xml文件转化成darknet标准输入格式;执行训练:设置图片输入尺寸416*416、训练批次大小为64、学习率为0.001、动量为0.9。
对所述第二深度神经网络模型进行训练的参数为:制作lmdb数据集:将每张图片绝对路径与分类标识按空格分割组成一行存储在train.txt和val.txt文件中,执行转换角本生成lmdb文件;执行训练:训练批次大小为64、学习率为0.001。
进一步参考图4,作为对上述图1所示方法的实现,本申请提供了一种基于深度神经网络的行人属性识别装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以包含于各种电子设备中。
图2示出了本发明的一种基于深度神经网络的行人属性识别装置,该装置包括:
获取单元401,用于获取待识别的行人图像。
获取单元401中获取的图像方式可以网络下载,视频监控或者所拍摄的图像,例如,通过提取视频监控所采集的视频中的每一帧具有行人的图像作为行人图像。
检测单元402,使用第一深度神经网络模型对所述行人图像进行人体部位检测,获得人体部位信息和附属物信息。
检测单元402中,人体部位包括:头部、上身、全身、下身和脚部。在检测过程中,将所述行人图像划分为s*s个格子,使用所述第一深度神经网络模型检测人体部位落在格子中的范围以确定人体部位信息,其中,人体部位信息为人体部位在所述行人图像中的位置,这样便于在后续的识别中进行分割图像,该位置可以以坐标的形式表示。所述第一深度神经网络模型的卷积核用3*1和1*3大小的卷积核,其中s为整数(例如是13),附属物可以是手提袋、手机和伞等等。
一个具体的实施例,基于检测速度与准确率的权衡,选择yolov3作为第一深度神经网络模型进行检测。yolo的核心思想是将输入图像分成s*s个格子,若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体。每个格子预测b个bbox及其置信度,以及c个类别概率。bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,置信度反映的是否包含物体以及包含物体情况下位置的准确性。yolov3借鉴了resnet思想,引入残差结构设计,在原有网络结基础上减少了9个卷积层,并将最后4个3*3卷积核用3*1和1*3来替换。此外yolov3用多个logistic分类器替代softmax支持多标签分类。为提高小目标检测的精确度融合粗细粒度特征,进行多尺度预测。这是本发明的重点之一,通过第一深度神经网络模型进行人体部位的准确识别。
识别单元403,使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息。
为进行细粒度的识别,本发明研究出了第二深度神经网络模型,如图2所示,其包括依次连接的第一卷积层、第一最大池化层、第二卷积层、第三卷积层、第二最大池化层、六个局部处理块、平均池化层、丢弃层和多个softmax分类器(例如两个softmax分类器);其中,第一卷积层的卷积核大小为5*5,第二卷积层的卷积核大小为1*1,第三卷积层的卷积核大小为3*3。
如图3所示,所述局部处理块包括:第一过滤连接层、第四卷积层和第二过滤连接层,所述第四卷积层的输入与所述第一过滤连接层连接,所述第四卷积层的输出与所述第二过滤连接层连接;所述局部处理块还包括:第五卷积层、第六卷积层和第七卷积层,所述第五卷积层的输入与所述第一过滤连接层连接,所述第七卷积层的输出与所述第二过滤连接层连接,所述第六卷积层的输入和输出与第五卷积层的输出和第七卷积层的输入相连接;所述局部处理块还包括:第三最大池化层和第八卷积层,所述第三最大池化层的输入与所述第一过滤连接层连接,所述第八卷积层的输出与所述第二过滤连接层连接,所述第三最大池化层的输出和所述第八卷积层的输出相连接;其中,第四卷积层的卷积核大小为1*1,第五卷积层的卷积核大小为1*1,第六卷积层的卷积核大小为3*3,第七卷积层的卷积核大小为3*3,第八卷积层的卷积核大小为1*1。
所述第二深度神经网络模型的六个局部处理块分别对应头部识别模型、上身识别模型、全身识别模型、下身识别模型、脚部识别模型和附属物识别模型,该六个局部处理块并行进行识别,即支持多分类任务,大大提高了识别效率。所述第二深度神经网络模型具体结果及六个局部处理块的具体结构是本发明的重要发明点之另一,通过该第二深度神经网络模型可以准确的识别行人的属性特征。通过采用不同大小的卷积核融合不同尺度特征,这个结构很好地利用了网络中的计算资源,并且在不增加计算负载的情况下,增加网络的宽度和深度。同时在每一个卷积层后面做批归一化处理。各部件图片尺寸不尽相同,对于类别之间存在样本不均衡现象,通过在损失函数中加入样本权重来解决。在一个示例中,头部识别模型包括以下分类:帽子、发型、眼睛、口罩;上身识别模型包括以下分类:上衣类型、上衣纹理、上衣颜色、包类型、包颜色;全身识别模型包括以下分类:性别、朝向、体态、年龄、民族;下身分类模型包括以下分类:下衣类型、下衣颜色;脚步分类模型包括以下分类:鞋子类型、鞋子颜色。
在神经模型使用前必须要对其进行训练,下面介绍一下,对其第一、二深度神经网络模型训练过程。
第一步:数据收集、标注:数据来源于公司内部各楼层的多个高清摄像头,为保证数据的差异性,按不同季节和时间点从中选取10000张图片进行标注。标注的主要内容包括行人及行人主要附属物,行人再划分为头部、上身、下身、脚五个部件,附属物标注了一些常见物品,如手提袋、伞、小的手持物。标注信息以xml文件格式保存。
第二步,数据准备与增强:将数据集分成训练集和测试集,比例为8:2。由于训练集数量较少,因此对数据做了模糊、高亮、灰度化、增加对比度、水平翻转等增强操作;
第三步,训练:
对所述第一深度神经网络模型进行训练的参数为:生成训练集图片名称列表文件train_image_path.txt(文件名字可随意定义),根据列表文件与标注信息xml文件转化成darknet标准输入格式;执行训练:设置图片输入尺寸416*416、训练批次大小为64、学习率为0.001、动量为0.9。
对所述第二深度神经网络模型进行训练的参数为:制作lmdb数据集:将每张图片绝对路径与分类标识按空格分割组成一行存储在train.txt和val.txt文件中,执行转换角本生成lmdb文件;执行训练:训练批次大小为64、学习率为0.001。
本发明通过第一深度神经网络模型对行人图像进行人体部位检测,获得人体部位信息和附属物信息,然后再使用第二深度神经网络模型对所述人体部位信息和附属物信息进行识别得到行人属性信息,即本发明中采用由粗到细对行人进行精细识别,并在第二深度神经网络模型设计了对人体部位及附属物进行局部细粒度属性识别的局部处理块,提高了人体部位和附属物识别的准确度。该识别方法具有较低的延时,对目前辅助监控有很大的帮助。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。