一种人体及人脸属性识别方法及系统与流程

文档序号:18705907发布日期:2019-09-17 23:41阅读:310来源:国知局
一种人体及人脸属性识别方法及系统与流程

本发明涉及图像识别领域,特别是涉及一种人体及人脸属性识别方法及系统。



背景技术:

随着社会的发展,快速有效的自动身份验证在安防领域变的越来越迫切。由于生物特性是人的内在属性,具有很强的自身稳定性和个体差异性,是身份验证的最理想依据。利用人脸属性和人体属性进行身份验证又是最自然直接的手段,相比其它人体生物特性,它具有直接、友好、方便的特点,更容易被用户所接受且不易察觉。一个正常的成年人可以轻易的理解人体和人脸的信息,但将同样的能力赋予给计算机,并让其代替人类进行类脑思考成为研究学者亟待攻克的科学课题。

最早的行人属性识别通过人工提取特征,并针对每个不同的属性分别训练分类器。随着cnn的发展,人们开始尝试把所有属性置于同一个网络进行多任务训练,并发现多任务训练能够带来更好的效果。目前行人属性识别的基本方法是将整个图片扔进同一个cnn网络,并输出多个代表属性的标签进行分类。一个人的人体属性蕴含着大量的信息,比如性别,衣服款式,颜色,是否背包,头发长短等等。同样的,人脸是一种非常重要的生物特征,具有结构复杂、细节变化多等特点,同时也蕴含了大量的信息,比如性别、年龄、发型、表情、配饰等。

随着深度学习技术的发展,将人的一些能力赋予给计算机,让计算机拥有一些人的能力也成为了可能。深度学习依赖于大量的数据及标签,深度学习方法是通过大量的数据,自动学习到能够反应数据差别的特征,更具有代表性。对于视觉识别来说,cnn分层提取的特征与人的视觉机理(神经科学)类似,因而基于深度学习的方法设计的识别方法和系统较传统方法更可靠和实用。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足,提供一种人体及人脸属性识别方法及系统。

为解决上述技术问题,本发明提供一种人体及人脸属性识别方法,其特征在于,包括如下步骤:

步骤一:准备数据集,所述数据集包括两部分:人体属性数据集和人脸属性数据集;

步骤二:基于人体属性数据集,利用深度神经网络训练人体属性识别模型,并对模型进行评估及优化;

步骤三:基于人脸属性数据集,训练人脸属性识别模型,并对模型进行评估和优化;

步骤四:整合人脸属性和人体属性模型;对于待识别的图片image,检测人脸,利用程序脚本将人脸图片自动裁剪输出为image_face,然后调用人脸属性识别模型,得到输出结果dict1,与此同时,对于待识别图片直接调用人体属性识别模型,得到输出结果dict2;

步骤五:将输出结果dict1与dict2融合成一个输出结果集:dict:{face_attribute:trueorfalse,…,pedestrian_attribute:trueorfalse,…}。

所述步骤一中,所述人体属性数据集来自于peta数据集,具体是从peta数据集中选出35个属性进行识别;所述人脸属性数据集来自于celeba数据集。

所述步骤二具体为:基于peta数据集,对于每一张输入图片image,输出为一个dict:{pedestrian_attribute:trueorfalse},如果结果字典为:{pedestrian_attribute:true}表示图片中的人有人体属性,如果结果字典为:{pedestrian_attribute:false}表示图片中的人没有人体属性,利用深度神经网络训练人体属性识别模型,使得

f(image)={pedestrian_attribute:trueorfalse};

对模型进行测试,如果模型准确率低于可用阈值threshold(f),所述可用阈值设为0.8,则优化数据集或模型,重新训练,直到模型可用。

所述步骤三具体为:基于celeba数据集,对于每一张输入图片image,输出为一个dict:{face_attribute:trueorfalse},如果结果字典为:{face_attribute:true}表示图片中的人有人脸属性,如果结果字典为:{face_attribute:false}表示图片中的人没有人脸属性,利用深度神经网络训练人脸属性识别模型,使得

f(image)={face_attribute:trueorfalse};

对模型进行测试,如果模型准确率低于可用阈值threshold(f),所述可用阈值设为0.8,则优化数据集或模型,重新训练,直到模型可用。

一种人体及人脸属性识别系统,其特征在于:包括:数据源模块、模型训练模块、属性识别模块;

所述数据源模块,用于训练人体属性识别和人脸属性识别模型所需要准备的数据集,主要包括:用于人体属性识别训练的peta数据集和用于人脸属性识别训练的celeba数据集;

所述模型训练模块,利用深度神经网络训练人体属性识别模型和人脸属性识别模型,其中包括四个子模块:人体属性识别模型训练子模块,人体属性识别模型子模块,人脸属性识别模型训练子模块,人脸识别模型子模块;所述人体属性识别模型训练子模块,是根据peta数据集,利用深度神经网络训练人体属性识别模型;所述人体属性识别模型子模块,是对模型进行评估及优化,最终得到可用的人体属性识别模型;所述人脸属性识别模型训练子模块,是根据celeba数据集,利用深度神经网络训练人脸属性识别模型;所述人脸属性识别模型子模块,是对模型进行评估及优化,最终得到可用的人脸属性识别模型;

所述属性识别模块,提供人体属性和人脸属性识别的综合接口,接收待识别的图片,通过调用模型最终返回有关的人体属性和人脸属性;其中包括五个子模块:待识别图片接收子模块,人体属性识别子模块,人脸检测子模块,人脸属性识别子模块,识别信息返回子模块。所述待识别图片接收子模块,用于接收待识别的图片信息;所述人体属性识别子模块,对于待识别的图片,调用人体属性识别模型,得到有关人体属性;所述人脸检测子模块,对于待识别的图片,检测人脸,进行裁剪输出图片;所述人脸属性识别子模块,对于输出的人脸图片,调用人脸属性识别模型,得到图片中人脸的相关属性;所述识别信息返回子模块,将最终识别的属性信息整合并返回。

本发明所达到的有益效果:能够高效准确的完成识别人有关属性的工作,能够应用到商场零售商店的监控识别以及安防等方向,有利于追踪和定位相关人员。

附图说明

图1为本发明的示例性实施例的人体及人脸属性识别方法的流程示意图;

图2为本发明的示例性实施例的人体及人脸属性识别系统的结构示意图。

具体实施方式

一种人体及人脸属性识别方法,其特征在于,包括如下步骤:

步骤一:准备数据集,所述数据集包括两部分:人体属性数据集和人脸属性数据集;

步骤二:基于人体属性数据集,利用深度神经网络训练人体属性识别模型,并对模型进行评估及优化;

步骤三:基于人脸属性数据集,训练人脸属性识别模型,并对模型进行评估和优化;

步骤四:整合人脸属性和人体属性模型;对于待识别的图片image,检测人脸,利用程序脚本将人脸图片自动裁剪输出为image_face,然后调用人脸属性识别模型,得到输出结果dict1,与此同时,对于待识别图片直接调用人体属性识别模型,得到输出结果dict2;

步骤五:将输出结果dict1与dict2融合成一个输出结果集:dict:{face_attribute:trueorfalse,…,pedestrian_attribute:trueorfalse,…}。

所述步骤一中,所述人体属性数据集来自于peta数据集,具体是从peta数据集中选出35个属性进行识别;所述人脸属性数据集来自于celeba数据集。

所述步骤二具体为:基于peta数据集,对于每一张输入图片image,输出为一个dict:{pedestrian_attribute:trueorfalse},如果结果字典为:{pedestrian_attribute:true}表示图片中的人有人体属性,如果结果字典为:{pedestrian_attribute:false}表示图片中的人没有人体属性,利用深度神经网络训练人体属性识别模型,使得

f(image)={pedestrian_attribute:trueorfalse};

对模型进行测试,如果模型准确率低于可用阈值threshold(f),所述可用阈值设为0.8,则优化数据集或模型,重新训练,直到模型可用。

所述步骤三具体为:基于celeba数据集,对于每一张输入图片image,输出为一个dict:{face_attribute:trueorfalse},如果结果字典为:{face_attribute:true}表示图片中的人有人脸属性,如果结果字典为:{face_attribute:false}表示图片中的人没有人脸属性,利用深度神经网络训练人脸属性识别模型,使得

f(image)={face_attribute:trueorfalse};

对模型进行测试,如果模型准确率低于可用阈值threshold(f),所述可用阈值设为0.8,则优化数据集或模型,重新训练,直到模型可用。

一种人体及人脸属性识别系统,其特征在于:包括:数据源模块、模型训练模块、属性识别模块;

所述数据源模块,用于训练人体属性识别和人脸属性识别模型所需要准备的数据集,主要包括:用于人体属性识别训练的peta数据集和用于人脸属性识别训练的celeba数据集;

所述模型训练模块,利用深度神经网络训练人体属性识别模型和人脸属性识别模型,其中包括四个子模块:人体属性识别模型训练子模块,人体属性识别模型子模块,人脸属性识别模型训练子模块,人脸识别模型子模块;所述人体属性识别模型训练子模块,是根据peta数据集,利用深度神经网络训练人体属性识别模型;所述人体属性识别模型子模块,是对模型进行评估及优化,最终得到可用的人体属性识别模型;所述人脸属性识别模型训练子模块,是根据celeba数据集,利用深度神经网络训练人脸属性识别模型;所述人脸属性识别模型子模块,是对模型进行评估及优化,最终得到可用的人脸属性识别模型;

所述属性识别模块,提供人体属性和人脸属性识别的综合接口,接收待识别的图片,通过调用模型最终返回有关的人体属性和人脸属性;其中包括五个子模块:待识别图片接收子模块,人体属性识别子模块,人脸检测子模块,人脸属性识别子模块,识别信息返回子模块。所述待识别图片接收子模块,用于接收待识别的图片信息;所述人体属性识别子模块,对于待识别的图片,调用人体属性识别模型,得到有关人体属性;所述人脸检测子模块,对于待识别的图片,检测人脸,进行裁剪输出图片;所述人脸属性识别子模块,对于输出的人脸图片,调用人脸属性识别模型,得到图片中人脸的相关属性;所述识别信息返回子模块,将最终识别的属性信息整合并返回。

下面结合附图和示例性实施例对本发明作进一步的说明:

如图1所示,本发明实施例的流程,具体步骤为:

步骤11:准备数据集,主要包括用于人体属性识别的peta数据集和用于人脸属性识别的celeba数据集。peta数据集是2014年发布的数据集,是第一个针对行人属性识别的上万规模的数据集,其收集结合了10个行人再识别小数据集,共19000张行人样本,包括8705个行人,每个样本分为61个二分类属性和4个多分类属性,分辨率范围:17*39~169*365。celeba数据集是香港中文大学的开放数据,包含10177个名人身份的202599张图片,并且都做好了特征属性标记共计40个属性标签,并且该数据集已经将人脸数据裁剪好,给出了相应的坐标位置。

步骤12:基于数据集peta,利用深度神经网络训练人体属性识别模型,并对模型进行评估及优化。对于每一张输入图片image,输出为一个dict:{pedestrian_attribute:trueorfalse},如果结果字典为:{pedestrian_attribute:true}表示图片中的人有该属性,如果结果字典为:{pedestrian_attribute:false}表示图片中的人没有该属性。利用深度神经网络训练人体属性识别模型,使得

f(image)={pedestrian_attribute:trueorfalse}

为了得到一个可用的人体属性识别模型,我们需要对模型进行测试,如果模型准确率低于可用阈值threshold(f),就需要优化数据集或模型,重新训练,直到模型可用。

步骤13:类似于步骤12,基于数据集celeba,训练人脸属性识别模型,并对模型进行评估和优化。同样的,对于每一张输入图片image,输出为一个dict:{face_attribute:trueorfalse},如果结果字典为:{face_attribute:true}表示图片中的人有该属性,如果结果字典为:{face_attribute:false}表示图片中的人没有该属性。利用深度神经网络训练人脸属性识别模型,使得

f(image)={face_attribute:trueorfalse}

为了得到一个可用的人脸属性识别模型,我们需要对模型进行测试,如果模型准确率低于可用阈值threshold(f),就需要优化数据集或模型,重新训练,直到模型可用。

步骤14:整合人脸属性和人体属性模型。对于待识别的图片image,首先检测人脸,将人脸图片裁剪输出为image_face,然后调用人脸属性识别模型,得到输出结果dict1,与此同时,对于待识别图片直接调用人体属性识别模型,得到输出结果dict2。

步骤15:将两个输出结果融合成一个输出结果集:dict:{face_attribute:trueorfalse,…,pedestrian_attribute:trueorfalse,…}。

参阅图2所示,本发明实施例的系统结构,包括:数据源模块21、模型训练模块22、属性识别模块23。

数据源模块21,用于训练人体属性识别和人脸属性识别模型所需要准备的数据集,主要包括:peta数据集(主要用于人体属性识别训练),celeba数据集(主要用于人脸属性识别训练)。

模型训练模块22,利用深度神经网络训练人体属性识别模型和人脸属性识别模型。其中包括四个子模块:人体属性识别模型训练子模块221,人体属性识别模型子模块222,人脸属性识别模型训练子模块223,人脸识别模型子模块224。

人体属性识别模型训练子模块221,是根据peta数据集,利用深度神经网络训练人体属性识别模型。

人体属性识别模型子模块222,是对模型进行评估及优化,最终得到可用的人体属性识别模型。

人脸属性识别模型训练子模块223,是根据celeba数据集,利用深度神经网络训练人脸属性识别模型。

人脸识别模型子模块224,是对模型进行评估及优化,最终得到可用的人脸属性识别模型。

属性识别模块23,主要提供人体属性和人脸属性识别的综合接口,接收待识别的图片,通过调用模型最终返回有关的人体属性和人脸属性。其中包括五个子模块:待识别图片接收子模块231,人体属性识别子模块232,人脸检测子模块233,人脸属性识别子模块234,识别信息返回子模块235。

待识别图片接收子模块231,用于接收待识别的图片信息。

人体属性识别子模块232,对于待识别的图片,调用人体属性识别模型,得到有关人体属性。

人脸检测子模块233,对于待识别的图片,检测人脸,进行裁剪输出图片。

人脸属性识别子模块234,对于输出的人脸图片,调用人脸属性识别模型,得到图片中人脸的相关属性。

识别信息返回子模块235,将最终识别的属性信息整合并返回。

本发明主要用于提供一种人体及人脸属性识别方法及系统,选定开源数据集peta和celeba,该数据集质量高,数据量大,利用深度神经网络训练人体属性识别模型以及人脸属性识别模型,通过人体属性识别模型,可以识别到图片中人体的基本属性,通过人脸属性识别模型,可以识别图片中人脸的基本属性,两个模型结合起来可以实现识别一张图片中人体属性和人脸属性综合信息,该方法和系统能够高效准确的完成识别人有关属性的工作,能够应用到商场零售商店的监控识别以及安防等方向,有利于追踪和定位相关人员。

以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。

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