基于序列上下文关系学习的行人属性识别方法和识别系统与流程

文档序号:19474147发布日期:2019-12-21 02:37阅读:来源:国知局

技术特征:

1.基于序列上下文关系学习的行人属性识别方法,其特征在于,包括训练阶段和识别阶段;所述训练阶段的步骤为:

(1)建立图像竖直方向编码网络,所述编码网络将图像在竖直方向编码为长度为m的图像序列p=[p1,p2,…,pm];m为图像序列的长度;

(2)建立属性映射表,所述属性映射表中定义了图像中行人的属性;根据属性映射表将行人属性编码为属性序列a=[a1,a2,…,an];n为属性种类总数;

(3)建立类内注意力模型,所述类内注意力模型计算图像序列p各元素间的上下文关系p″m和属性序列a各元素间的上下文关系a″n,得到图像上下文关系序列p″=[p″1,p″2,…,p″m]和属性上下文关系序列a″=[a″1,a″2,…,a″n];其中p″m表示图像序列p对其第m个元素的注意力;a″n表示属性序列a对其第n个元素的注意力;m=1,2,…,m,n=1,2,…,n;

(4)建立类间注意力模型,所述类间注意力模型计算图像上下文关系序列p″与属性上下文关系序列a″中每个元素的注意力,构成关系序列pa″=[pa″1,pa″2,…,pa″n];pa″n表示图像上下文关系序列p″对属性上下文关系序列a″中第n个元素a″n的注意力;

(5)构建训练样本集,所述训练样本集中的图像为行人全身图像,并对图像中的行人标定每个属性标签gn和类别标签w;

将样本集中的图像输入图像竖直方向编码网络,将样本图像中的行人属性序列初始化为随机值;

通过最小化损失函数的值,得到训练好的图像竖直方向编码网络、类内注意力模型和类间注意力模型;所述损失函数包括属性损失和行人识别损失;

所述属性损失为:

其中lan为第n个属性的损失,kn为第n个属性的类别数,pa(k)为第n个属性为第k类的概率;当k=gn时,qa(k)=1,否则qa(k)=0;gn为训练样本中行人第n个属性的真实标签;

所述行人识别损失为:

其中pid(c)为样本行人属于第c类的概率;c为行人类别总数;当c=w时,qid(c)=1,否则qid(c)=0;w为训练样本中行人的真实类别标签;

总的损失函数为:lfinal=la+lid;

所述识别阶段的步骤为:

(6)将待识别图像中行人的属性序列初始化为随机值,且p≠q时待识别图像输入到图像竖直方向编码网络中,得到图像序列at和pt经过类内注意力模型,得到属性上下文关系序列a″t和图像上下文关系序列p″t;a″t和p″t经过类间注意力模型得到图像与属性之间的关系序列pa″t;pa″t经过softmax层,得到待识别图像中行人每个属性属于该属性每个类别的概率,选择概率值最大的类别作为该属性的类别。

2.根据权利要求1所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,所述图像竖直方向编码网络的采用resnet50的残差网络结构。

3.根据权利要求1所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,所述类内注意力模型计算序列seq=[seq1,seq2,…,seqb]对其元素seqb的注意力seq″b,b=1,2,…,b;所述类内注意力模型包括并行的u个子类内注意力模型(3-1)和一个全连接层f3,每个子类内注意力模型的结构相同,参数不同,在不同的映射子空间计算seq对seqb的注意力seq′b;f3的参数为wf;将不同映射子空间中seq对seqb的注意力seqb合并到同一空间,经过全连接层f3得到seq对seqb的最终注意力seq″b;

所述第u个子类内注意力模型,u=1,2,…,u,包括:

两个全连接层f1u其中f1u的参数为输入为seq中的每个元素seqj,j=1,2,…,b;的参数为输入为seqb;f1u输出数据的维度为输入数据维度的

矩阵计算模块(3-1a),根据f1u的输出计算当前子空间中seq对seqb的注意力seq′b:

其中rjb为seq第j个元素seqj与seqb在当前子空间的归一化相似度,其中为seqj与seqb在当前子空间的相似度,db为的输出维度;

u个子类内注意力模型的输出拼接起来经过全连接层f3,得到seq″b:

4.根据权利要求1所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,所述类间注意力模型计算序列seq=[seq1,seq2,…,seqb]对序列req=[req1,req2,…,reql]中的元素reql的注意力sreq″l,l=1,2,…,l;所述类间注意力模型包括并行的u个子类间注意力模型(4-1)和一个全连接层f6,每个子类间注意力模型的结构相同,参数不同,在不同的映射子空间计算seq对reql的注意力sreq′l;f6的参数为wfa;将不同映射子空间seq对reql的注意力sreq′l合并到同一空间,经过全连接层f6得到seq对reql的最终注意力sreq″l;

所述第u个子类间注意力模型(4-1),u=1,2,…,u,包括:

两个全连接层其中的参数为输入为seq中的每个元素seqj,j=1,2,…,b;的参数为输入为reql;输出数据的维度为输入数据维度的

矩阵计算模块(4-1a),根据的输出计算当前子空间中seq对reql的注意力

其中sjl为seq第j个元素seqj与reql在当前子空间的归一化相似度,其中为seqj与reql在当前子空间的相似度,fl为的输出维度;

u个子类间注意力模型的输出拼接起来经过全连接层f6,得到sreq″l:

5.根据权利要求1所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,对训练样本集图像中的行人标定属性标识串,所述属性标识串为图像中行人所具备的属性在属性映射表中序号所组成的数字串;

所述损失函数还包括ctc损失,所述ctc损失为:

lctc=-ln(pctc(y|ps))

其中ps为样本图像经过图像竖直方向编码网络编码后的图像序列;y为样本图像中行人的真实属性标识串;pctc(y|ps)为根据样本图像的图像序列将样本图像中行人属性标识串识别为其真实属性标识串y的概率;

总的损失函数为:lfinal=la+lid+lctc。

6.根据权利要求3或4中任一项所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,所述相似度归一化采用softmax函数实现。

7.根据权利要求5所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,所述pctc(y|ps)的计算步骤为:

(7.1)将样本图像经过图像竖直方向编码网络编码的图像序列ps输入循环神经网络rnn1中得到样本图像中行人所具有的属性的概率和属性的组合;所述rnn1包含两层双向rnn层,每层双向rnn层的节点数与ps中每个元素的维数相同;rnn1的输出单元个数为m,第m个输出单元的输出frm为根据图像序列ps第m个元素psm将样本图像中的行人识别为具有属性πm的概率p(πm|psm);πm∈[1,2,…,n]∪[ε],ε表示无法识别的属性;πm构成属性组合π=(π1,π2,…,πm);

(7.2)根据删减规则对π进行删减,如果删减后的属性集合π′等于y,则将当前样本的属性集合π作为一个元素加入到样本属性集合所构成的集合中;

(7.3)对样本集中的每个样本图像执行步骤(7.1)-(7.2),得到样本属性集合所构成的集合p′ctc(y|ps)为将样本图像中的行人识别具有属性y的概率:

8.根据权利要求1所述的基于序列上下文关系学习的行人属性识别方法,其特征在于,采用reshape网络计算图像中行人属于第c类的概率pid(c),具体步骤为:

构建reshape网络,所述reshape网络包括依次连接的第一卷积层rconv_1、第一最大池化层rmaxpool_1、第二卷积层rconv_2、第二最大池化层rmaxpool_2和全连接层rfc_1;

所述第一卷积层rconv_1卷积核为1×1,输出通道为1024,步长为[2,1],输出大小为14×1×1024;

所述第一最大池化层rmaxpool_1卷积核为1×1,输出通道为1024,步长为[2,1],输出大小为7×1×1024;

所述第二卷积层rconv_2卷积核为1×1,输出通道为1024,步长为[2,1],输出大小为4×1×1024;

所述第二最大池化层rmaxpool_2卷积核为3×1,输出通道为1024,步长为[2,1],输出大小为1×1×1024;

全连接层rfc_1卷积核为1×1,输出通道为行人类别总数c,步长为1,输出大小为1×c;

将样本图像经过图像竖直方向编码网络编码后的图像序列ps输入reshape网络,得到样本图像的特征fid∈r1×1×c,将fid输入softmax层,得到图像中行人属于第c类的概率pid(c):

其中fid(i)为fid第i个元素的值。

9.基于序列上下文关系学习的行人属性识别系统,其特征在于,包括:

图像竖直方向编码网络(1),用于将图像在竖直方向编码为长度为m的图像序列p=[p1,p2,…,pm];m为图像序列的长度;

属性映射表存储模块(2),用于存储属性映射表;所述属性映射表中定义了图像中行人的属性;根据属性映射表将行人属性编码为属性序列a=[a1,a2,…,an];n为属性种类总数;

类内注意力模型(3),用于计算图像序列p各元素间的上下文关系p″m和属性序列a各元素间的上下文关系a″n,得到图像上下文关系序列p″=[p″1,p″2,…,p″m]和属性上下文关系序列a″=[a″1,a″2,…,a″n];其中p″m表示图像序列p对其第m个元素的注意力;a″n表示属性序列a对其第n个元素的注意力;m=1,2,…,m,n=1,2,…,n;

类间注意力模型(4),用于计算图像上下文关系序列p″与属性上下文关系序列a″中每个元素的注意力,构成关系序列pa″=[pa″1,pa″2,…,pa″n];pa″n表示图像上下文关系序列p″对属性上下文关系序列a″中第n个元素a″n的注意力;

模型训练模块(5),包括训练样本输入模块(5-1)和损失计算模块(5-2),所述损失计算模块包括属性损失计算模块(5-2a)和行人识别损失计算模块(5-2b);

所述训练样本输入模块(5-1)用于将标定好的训练样本输入图像竖直方向编码网络;

所述属性损失计算模块(5-2a)用于计算属性损失,所述属性损失为:

其中lan为第n个属性的损失,kn为第n个属性的类别数,pa(k)为第n个属性为第k类的概率;当k=gn时,qa(k)=1,否则qa(k)=0;gn为训练样本中行人第n个属性的真实标签;

所述行人识别损失计算模块(5-2b)用于计算行人识别损失,所述行人识别损失为:

其中pid(c)为样本行人属于第c类的概率;c为行人类别总数;当c=w时,qid(c)=1,否则qid(c)=0;w为训练样本中行人的真实类别标签;

总的损失函数为:lfinal=la+lid;

属性识别结果输出模块(6),用于根据待识别图像的图像与属性之间的关系序列pa″t得到待识别图像中行人每个属性的类别。

10.根据权利要求9所述的基于序列上下文关系学习的行人属性识别系统,其特征在于,所述损失计算模块(5-2)还包括ctc损失计算模块(5-2c),所述ctc损失计算模块(5-2c)用于计算ctc损失,所述ctc损失为:

lctc=-ln(pctc(y|ps))

其中ps为样本图像经过图像竖直方向编码网络编码后的图像序列;y为样本图像中行人的属性标识串;pctc(y|ps)为根据样本图像的图像序列将样本图像中行人属性标识串识别为其真实属性标识串y的概率;

总的损失函数为:lfinal=la+lid+lctc。


技术总结
本发明公开了一种基于序列上下文关系学习的行人属性识别方法和识别系统,其中行人属性识别方法包括:建立并训练行人识别系统;将待识别图像在竖直方向编码为图像序列,属性序列初始化为随机值;利用训练好的行人识别系统计算图像上下文关系序列和属性上下文关系序列;计算图像上下文关系序列对属性上下文关系序列中每个元素的注意力;计算每个属性属于该属性每个类别的概率,选择概率值最大的类别作为该属性的类别。该方法充分利用了图像序列间的上下文关系、属性间的上下文关系以及图像与属性间的上下文关系,提高了行人属性识别的准确率。

技术研发人员:齐美彬;吴晶晶;蒋建国;杨艳芳;杨玉兵;周国武;许绍清;汪伟
受保护的技术使用者:合肥工业大学
技术研发日:2019.09.12
技术公布日:2019.12.20
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1