一种基于深度学习的人体属性识别方法与流程

文档序号:11865328阅读:621来源:国知局
一种基于深度学习的人体属性识别方法与流程

本发明涉及计算机视觉技术领域,尤其涉及一种基于深度学习的人体属性识别方法。



背景技术:

属性作为一种能同时被计算机和人所感知的视觉特征,近些年在许多计算机视觉应用中已经被广泛采用,尤其是以属性作为中间层用于传统的对象识别与分类技术中。属性的用途,除了作为中间层用于物体的描述、识别以及迁移学习外,另一大研究方向是关注人的相关属性。最早研究者们主要从人脸特征入手来获取人的相关属性,近些年,有研究证明人的性别、年龄、种族等属性同样可以从人体的其它区域如:胳膊、腿等获取线索。不仅如此,人体属性的研究范围也得到了进一步扩充,除了年龄、性别、种族等基本属性外,发型、脸型、表情、服装、以及动作属性等都得到了研究者们的广泛关注。

相比于采用人脸的特征做人的属性识别,采用人体其它部位做属性识别要困难得多,一是由于人的姿势在几何上的变化太大,二是由于人的外观因为服装、配饰等带来的变化多种多样。人体属性识别就是要在视角、姿势、遮挡等多种干扰因素下准确识别出人体的一系列属性,其面临的主要技术难点有:(1)人体部位检测。(2)属性分类器的设计。(3)人体属性与潜在相关的人体区域之间关系的挖掘。

针对人体部位检测,近几年取得较为突出的实验效果的检测模型有09年由Bourdev等人提出的在强监督环境下的部位检测子poselets、13年由Sharma等人提出的在弱监督环境下训练出的可扩展的部位模型EPM。二者均存在一定的不足:(1)Poselets采用的是一个全新的数据集H3D,它包含了大量的人工标注信息,不利于在新的数据集上做扩展;此外,由于poselets的设计初衷是想穷举出人的所有可能的姿态,所以最终训练出的poselets有300个之多,这就导致在实际检测时速度较慢。(2)EPM虽然比DPM在人体动作识别上表现出了更好的性能,但其训练样本要求是以人为中心的图像,且其模型训练过程与DPM一样都较为复杂,而且在检测时自动寻找出的部位有时存在偏移。

针对属性分类器的设计,虽然属性已经在人脸验证、目标识别、对陌生对象的描述、还有促进零样本分类的迁移学习方面都体现出了其相较于底层特征的优越性。然而,大量属性的存在使得为每一个属性都建立一个常规的分类器,这样的处理方式比较繁琐。而且传统的属性分类器设计都是采用手工设计的特征来训练浅层机器学习模型,诸如SVM(支持向量机)、Boosting、KNN(K最近邻)等,手工设计的特征主要依靠设计者的先验知识,依赖手工调参,特征的设计中只允许出现少量的参数,这样的分类器检测不够准确。



技术实现要素:

本发明的目的之一在于提供一种基于深度学习的人体属性识别方法,以解决在人体属性识别中,在视角、姿势、遮挡等多种干扰因素下,如何较为快速准确地定位人体部位,进而结合相应人体部位做属性识别的问题。

本发明解决现有技术问题是通过下述技术方案来实现的:

一种基于深度学习的人体属性识别方法,包括如下步骤:

步骤S1:利用poselet检测子构建人体部位数据集;

步骤S2:根据所述人体部位数据集训练出poselet特征向量;

步骤S3:利用所述poselet特征向量通过卷积神经网络训练出人体属性分类器。

进一步的,所述步骤S1:利用poselet检测子构建人体部位数据集的步骤中,具体包括如下步骤:

步骤S1.1:随机挑选带有属性的有标训练集;

步骤S1.2:利用poselet检测子在所述训练集上检测出主体人物的边框(bounding box)数据以及所述bounding box数据包含的posele,所述主体人物的bounding box数据以及所述bounding box数据包含的posele构成所述人体部位数据集。

进一步的,在所述步骤S2中,根据所述人体部位数据集,利用更快的基于区域的卷积神经网络(Faster Region proposal based Convolutional Neural Network,Faster R-CNN)结构训练出poselet特征向量。

进一步的,所述步骤S2:根据所述人体部位数据集训练出poselet特征向量的步骤中,具体包括如下步骤:

步骤S2.1:将步骤S1.2中的边框数据输入到区域建议网络(Region Proposal Network,RPN)中进行处理,得到候选区域(region proposals);

步骤S2.2:将所述候选区域输入到快速的基于区域的卷积神经网络(Fast Region proposal based Convolutional Neural Network,Fast R-CNN)中进行处理,得到感兴趣区域(region of interest,RoI)特征向量;

步骤S2.3:将所述RoI特征向量输入到全连接层中,输出poselet特征向量,所述poselet特征向量包括softmax向量和bbox regressor向量。

进一步的,所述步骤S3:利用所述poselet特征向量通过卷积神经网络训练出人体属性分类器的步骤中,具体包括如下步骤:

步骤S3.1:使用poselet特征向量,提取poselet RGB特征图像;

步骤S3.2:筛选softmax向量对应的得分符合预设标准的poselet RGB特征图像;

步骤S3.3:将所述得分符合预设标准的poselet RGB特征图像输入到卷积神经网络中,得到图像特征属性对应的poselet特征;

步骤S3.4:根据步骤S3.3中得到的所述图像特征属性对应的poselet特征,得到人体属性分类器。

进一步的,所述步骤S3.4:根据步骤S3.3中得到的所述图像特征属性对应的poselet特征,得到人体属性分类器,包括如下步骤:

根据步骤S3.3中的一个图像特征属性对应的poselet特征进行人体属性分类器的训练,得到基于单个poselet的人体属性分类器。

进一步的,所述步骤S3.4:根据步骤S3.3中得到的所述图像特征属性对应的poselet特征,得到人体属性分类器,还包括如下步骤:

将所述步骤S2.2得到的多个所述RoI特征向量和所述步骤S3.3中得到的多个图像特征属性对应的poselet特征进行串联,得到最终的人体属性分类器。

进一步的,所述步骤S3.4:根据步骤S3.3中得到的所述图像特征属性对应的poselet特征,得到人体属性分类器,还包括如下步骤:

将所述步骤S2.2得到的全部所述RoI特征向量和所述步骤S3.3中得到的全部图像特征属性对应的poselet特征进行串联,得到最终的人体属性分类器。

进一步的,所述步骤S3.1:使用poselet特征向量,提取poselet RGB特征图像的步骤中,具体包括如下步骤:

通过所述softmax向量获得poselet的分类,通过bbox regressor向量获得poselet对应的bounding box,将所述poselet的分类与所述通过bbox regressor向量获得poselet对应的bounding box进行组合,根据所述组合提取poselet RGB特征图像。

进一步的,所述步骤S3.3中所述卷积神经网络包括4个卷积层、max pooling层、local response normalization层和全连接层。

本发明的有益效果:

(1)本发明收集了与人体检测相关的海量数据集,用目前已有的效果更优的人体部位检测子poselet在数据集上做人体部位的检测,构建出了满足深度学习量级的人体部位数据集,可在此基础上做人体属性识别、动作识别等相关任务的探索,同时也在一定程度上避免了重新训练深度网络的资源浪费。

(2)本发明结合目前在检测问题上效果最好的网络结构Faster R-CNN,训练出了更高效的poselet检测子,且在一定程度上减少了原有poselet检测子在实际检测过程中存在的冗余问题。

(3)本发明提出一种新的人体属性学习方式。从特征上讲,不再采用传统的手工特征来学习人体属性分类器,而是采用由CNN自动学习出的特征;从分类器的设计上讲,本发明不仅考虑了从单个poselet进行人体属性的学习,还从整个人体特征的全面性出发,将各个poselet的特征串联起来进行最终的属性学习,以提升分类的准确性。

附图说明

图1为本发明实施例中一种基于深度学习的人体属性识别方法的流程图。

图2为本发明实施例中步骤S2的方法流程图。

图3为本发明实施例中步骤S3的方法流程图。

具体实施方式

下文将结合具体实施方式详细描述本发明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。

如图1所示,本发明所述的一种基于深度学习的人体属性识别方法,包括如下步骤:

步骤S1:利用poselet检测子构建人体部位数据集,具体包括如下步骤:

步骤S1.1:随机挑选带有属性的有标训练集;

步骤S1.2:利用poselet检测子在所述训练集上检测出主体人物的bounding box数据以及bounding box数据包含的posele,主体人物的bounding box数据以及bounding box数据包含的posele构成所述人体部位数据集。

poselet检测子可以利用Bourdev等人提出的一种穷举姿态的poselets字典。一个poselet代表着人在某种特定姿势下的某个部位或部位组合。

步骤S2:根据人体部位数据集训练出poselet特征向量。

优选的,可以利用Faster R-CNN结构训练出poselet特征向量。该Faster R-CNN网络结构是RPN与Fast R-CNN的结合体。如图2所示,训练poselet特征向量的步骤如下:

步骤S2.1:将步骤S1.2中的bounding box数据输入到RPN中进行处理,得到候选区域;

步骤S2.2:将候选区域输入到Fast R-CNN中进行处理,得到RoI特征向量;

步骤S2.3:将RoI特征向量输入到全连接层中,输出poselet的特征向量,poselet的特征向量包括softmax向量和bbox regressor向量。

在将bounding box数据作为Faster R-CNN网络输入的同时,bounding box数据包含的poselet的类别及位置做为正确的标注数据(ground truth,GT)来训练Faster R-CNN,用于训练poselet特征向量。在这一步,Faster R-CNN网络训练出了一个比Bourdev的检测子更高效的poselet检测子,在一定程度上减少了原有poselet检测子在实际检测过程中存在的冗余问题。

如图3所示,步骤S3:利用poselet特征向量通过卷积神经网络训练出人体属性分类器,具体包括如下步骤:

步骤S3.1:使用poselet特征向量,提取poselet RGB特征图像。

步骤S3.1中,通过softmax向量获得poselet的分类,通过bbox regressor向量获得poselet对应的bounding box,将poselet的分类与通过bbox regressor向量获得poselet对应的bounding box进行组合,再提取poselet RGB特征图像。

步骤S3.2:筛选softmax向量对应的得分符合预设标准的poselet RGB特征图像。

步骤S3.3:将得分符合预设标准的poselet RGB特征图像输入到卷积神经网络中,得到图像特征属性对应的poselet特征。

上述卷积神经网络包含4个卷积层、max pooling层、local response normalization层和全连接层,该全连接层以树形结构发散开,与N(属性个数)个中间层进行全连接,用来学习针对每个属性独有的poselet特征。

步骤S3.4:根据步骤S3.3中得到的图像特征属性对应的poselet特征,得到人体属性分类器。

实施例1

本发明提出的一种基于深度学习的人体属性识别方法,包括如下步骤:

(1)从公开的用来做人体检测和属性识别的有标数据集中,随机挑选了6W张图像,其中1W张图像来自Flickr,5W张图像来自淘宝;

(2)利用Bourdev等人训练的poselet检测子在6W张训练集上检测出主体人物的bounding box数据以及bounding box数据包含的poselet;

(3)将bounding box数据输入到RPN中进行处理,得到候选区域;

(4)将候选区域输入到Fast R-CNN中进行处理,得到RoI特征向量;

(5)将RoI特征向量输入到全连接层中,输出poselet的特征向量,poselet的特征向量包括softmax向量和bbox regressor向量;

(6)使用poselet特征向量,提取poselet RGB特征图像;

(7)筛选softmax向量对应的得分高的poselet RGB特征图像;

(8)将得分高的poselet RGB特征图像输入到卷积神经网络中,得到图像特征属性对应的poselet特征;

(9)根据上一步中的一个图像特征属性对应的poselet特征进行人体属性分类器的训练,得到基于单个poselet的人体属性分类器。

实施例2

本发明提出的一种基于深度学习的人体属性识别方法,包括如下步骤:

(1)从公开的用来做人体检测和属性识别的有标数据集中,随机挑选了6W张图像,其中1W张图像来自Flickr,5W张图像来自淘宝;

(2)利用Bourdev等人训练的poselet检测子在6W张训练集上检测出主体人物的bounding box数据以及bounding box数据包含的poselet;

(3)将bounding box数据输入到RPN中进行处理,得到候选区域;

(4)将候选区域输入到Fast R-CNN中进行处理,得到RoI特征向量;

(5)将RoI特征向量输入到全连接层中,输出poselet的特征向量,poselet的特征向量包括softmax向量和bbox regressor向量;

(6)使用poselet特征向量,提取poselet RGB特征图像;

(7)筛选softmax向量对应的得分高的poselet RGB特征图像;

(8)将得分高的poselet RGB特征图像输入到卷积神经网络中,得到图像特征属性对应的poselet特征;

(9)将步骤(4)得到的多个所述RoI特征向量和步骤(8)中得到的多个图像特征属性对应的poselet特征进行串联,得到最终的人体属性分类器。

实施例3

本发明提出的一种基于深度学习的人体属性识别方法,包括如下步骤:

(1)从公开的用来做人体检测和属性识别的有标数据集中,随机挑选了6W张图像,其中1W图像张来自Flickr,5W图像张来自淘宝;

(2)利用Bourdev等人训练的poselet检测子在6W张训练集上检测出主体人物的bounding box数据以及bounding box数据包含的poselet;

(3)将bounding box数据输入到RPN中进行处理,得到候选区域;

(4)将候选区域输入到Fast R-CNN中进行处理,得到RoI特征向量;

(5)将RoI特征向量输入到全连接层中,输出poselet的特征向量,poselet的特征向量包括softmax向量和bbox regressor向量;

(6)使用poselet特征向量,提取poselet RGB特征图像;

(7)筛选softmax向量对应的得分高的poselet RGB特征图像;

(8)将得分高的poselet RGB特征图像输入到卷积神经网络中,得到图像特征属性对应的poselet特征;

(9)将步骤(4)得到的全部所述RoI特征向量和步骤(8)中得到的全部图像特征属性对应的poselet特征进行串联,得到最终的人体属性分类器。

综上所述,本发明的优势如下:

(1)本发明收集了与人体检测相关的海量数据集,用目前已有的效果更优的人体部位检测子poselet在数据集上做人体部位的检测,构建出了满足深度学习量级的人体部位数据集,可在此基础上做人体属性识别、动作识别等相关任务的探索,同时也在一定程度上避免了重新训练深度网络的资源浪费。

(2)本发明结合目前在检测问题上效果最好的网络结构Faster R-CNN,训练出了更高效的poselet检测子,且在一定程度上减少了原有poselet检测子在实际检测过程中存在的冗余问题。

(3)本发明提出一种新的人体属性学习方式。从特征上讲,不再采用传统的手工特征来学习人体属性分类器,而是采用由CNN自动学习出的特征;从分类器的设计上讲,本发明不仅考虑了从单个poselet进行人体属性的学习,还从整个人体特征的全面性出发,将各个poselet的特征串联起来进行最终的属性学习,以提升分类的准确性。

实施例4

为验证本发明的有效性,在与人体属性识别相关的数据集H3D、HAT、taobao_pics上的实验。从检测精度上来讲,该模型在降低检测出的poselet的冗余度(约20%)的同时,保留的是用原有poselet检测子检测出的得分排名前40%的检测结果,即在保证检测精度的同时降低了冗余度。从检测效率上来讲,由于region proposal和特征学习都是在GPU上完成,所以检测速度上有了极大的提升,由原有的一幅图像(以800*600像素为例)3s提升到只需0.2s。由此证明,本发明采用的基于Faster R-CNN的人体部位检测模型具有有效性。

当然应意识到,虽然通过本发明的示例已经进行了前面的描述,但是对本发明做出的将对本领域的技术人员显而易见的这样和其他的改进及改变应认为落入如本文提出的本发明宽广范围内。因此,尽管本发明已经参照了优选的实施方式进行描述,但是,其意并不是使具新颖性的设备由此而受到限制,相反,其旨在包括符合上述公开部分、权利要求的广阔范围之内的各种改进和等同修改。

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