一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于隐式动态特征分配的行人属性识别系统及方法

2022-07-13 22:05:23 来源:中国专利 TAG:


1.本发明属于计算机视觉技术领域,特别是涉及一种基于隐式动态特征分配的行人属性识别系统及方法。


背景技术:

2.行人属性识别,是指利用计算机视觉等技术,将行人图片中人物的衣着服装、配饰、发型长度颜色等外观属性进行分类,属于多标签分类问题在实际应用中的一个分支。在道路监控场景下的疑犯追踪、寻人启事等实际需求中,行人属性识别起到了非常重要的作用及广泛的应用。行人属性识别也可辅以行人重识别、步态识别等技术,在各行各业发挥作用。在行人属性识别技术领域中,大部分方法基于深度学习的卷积神经网络实现,例如,使用多层不同尺寸的卷积核搭建卷积神经网络,对输入图片进行特征提取,最终通过全连接层将提取的高级特征送入分类器,进行多分类识别;也有将最后一层的多标签多分类识别改为多个二分类识别,即将多分类问题转化为多个二分类问题,将每个属性单独分类后进行总结;还有将人体部位分成若干个躯干块,例如头部、上身、下身,对每个部位单独进行分类识别,得到更精准的结果。
3.现有的行人属性识别技术大多将提取到的高维特征直接用于属性分类,或是使用注意力机制使模型为不同的部位提取不同的特征,但这些方法并不能很好地将特征和行人各属性相匹配,没有针对每个属性分配更合适的高维特征。且目前行人属性识别技术大多使用卷积神经网络提取特征,但卷积神经网络在逐层采样的过程中容易丢失全局信息,在一些属性上不能得到很好的表现。


技术实现要素:

4.技术目的
5.本发明提供一种基于隐式动态特征分配的行人属性识别系统及方法;专注于将基于transformer的特征提取器提取到的高维特征与行人属性动态匹配,让每个属性使用各自的特征进行二分类任务,使每个属性的分类任务相对独立,更好地提高识别效果。
6.技术方案
7.本发明的第一目的是提供一种基于隐式动态特征分配的行人属性识别方法,执行如下步骤:
8.s1、对输入的图片进行预处理;
9.s2、采用改进的transformer特征提取器提取图片特征,得到特征向量;
10.s3、使用特征动态分配模块对特征向量进行动态分配;
11.s4、使用行人属性识别网络对行人图片中的行人进行属性识别,并计算误差损失、准确率,进而帮助训练网络。
12.优选地,所述s1具体为:
13.s11、采集监控图片,使用目标检测算法进行行人检测和裁剪,得到仅包含行人的
图片作为数据集,并将数据集以7:3的比例划分为训练集和测试集;
14.s12、对图片进行筛选、标注标签,每个行人图片标注20-40个属性值;
15.s13、对行人图片进行预处理,包括尺度归一化、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声。
16.优选地,s2具体为:
17.s21、利用图片块嵌入结构,将训练集中待检测的行人图片切分为196个图片块,并将196个图片块按照由上至下由左至右的顺序进行排列,得到图片序列 i,表示为:
18.{p1,p2,

,p
196
}∈i
19.之后,在图片序列i的首部,加入一个3*16*16像素的分类令牌图片块,分类令牌图片块的内容为随机像素,记为p0,新得到的图片序列p表示为:
20.{p0,p1,p2,

,p
196
}∈p
21.之后,为图片序列p的每一个图片块添加一个表示位置信息的位置编码,位置编码的尺寸和图片块的尺寸相同,位置编码的初始化表示如下:
[0022][0023][0024]
其中,pos代表图片块p在图片序列p中的位置,i表示位置编码的维度,i 的取值范围为:[0,...,d
model
/2],d
model
为网络的隐藏层深度,取值为512;
[0025]
位置编码与图片序列p的元素相加后得到新的图片序列p

,表示为:
[0026]
p

=[p0,p1,

,p
196
] pe;
[0027]
s22、使用编码器φ,对处理后的图片序列p

进行特征提取,得到197*384 维的高维向量x,表示为:
[0028]
x=φ(p

);
[0029]
并将高维向量的第一维向量取出,作为代表整个图片的高维特征,称为分类特征向量(x
cls
),表示为:
[0030]
x
cls
=x[0]。
[0031]
优选地,s3具体为:
[0032]
s31、使用k个分配块实现动态特征分配,每个分配块由两层全连接神经网络组成,其中隐藏层节点个数为384,表示如下:
[0033]
x
mcls
=linear(gelu(linear(x
cls
)))
[0034]
其中:linear为全连接层,gelu为激活函数;
[0035]
s32、k个分配块分别计算出k个x_{mcls},将其进行拼接(concat),得到最终表达图片特征的高维特征向量,表示如下:
[0036][0037]
优选地,s4具体为:
[0038]
s41、使用多个双层全连接神经网络,将得到的k个分类特征向量进行分类,表示为:
[0039]
y=sigmoid(leakyrelu(bn(fc(x
mls
))));
[0040]
其中,sigmoid表示最终实现分类的激活函数,其作用为将特征向量进行二分类,
得到是或不是的预测结果,leakyrelu激活函数的作用为使神经网络非线性化,增强线性网络的表达能力,bn操作通过归一化的方式,将每层神经网络输入值的分布归一到均值为0方差为1的标准正态分布分布,加快网络收敛速度、控制梯度爆炸和梯度消失,减轻过拟合;fc为两层全连接神经网络;
[0041]
s42、根据预测值yi和真值计算出单次训练中每个样本的损失函数l,使用加权的二分类交叉熵损失函数,利用得到的损失函数计算梯度,训练网络,损失函数的计算如下:
[0042][0043]
其中:n表示样本个数,m表示样本的属性个数,w
l
=exp(-p/θ2)表示第l 个属性的权重,p表示训练数据集中正样本占全部样本的比例,θ为调节参数。
[0044]
本发明的第二目的是提供一种基于隐式动态特征分配的行人属性识别系统,至少包括:
[0045]
图片预处理模块,对输入的图片进行预处理;
[0046]
特征提取模块,采用改进的transformer特征提取器提取图片特征,得到特征向量;
[0047]
特征动态分配模块,使用特征动态分配模块对特征向量进行动态分配;
[0048]
特征分类模块,使用行人属性识别网络对行人图片中的行人进行属性识别,并计算误差损失、准确率,进而帮助训练网络。
[0049]
优选地,所预处理具体为:
[0050]
采集监控图片,使用目标检测算法进行行人检测和裁剪,得到仅包含行人的图片作为数据集,并将数据集以7:3的比例划分为训练集和测试集;
[0051]
对图片进行筛选、标注标签,每个行人图片标注20-40个属性值;
[0052]
对行人图片进行预处理,包括尺度归一化、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声。
[0053]
优选地,特征提取具体为:
[0054]
利用图片块嵌入结构,将训练集中待检测的行人图片切分为196个图片块,并将196个图片块按照由上至下由左至右的顺序进行排列,得到图片序列i,表示为:
[0055]
{p1,p2,

,p
196
}∈i
[0056]
之后,在图片序列i的首部,加入一个3*16*16像素的分类令牌图片块,分类令牌图片块的内容为随机像素,记为p0,新得到的图片序列p表示为:
[0057]
{p0,p1,p2,

,p
196
}∈p
[0058]
之后,为图片序列p的每一个图片块添加一个表示位置信息的位置编码,位置编码的尺寸和图片块的尺寸相同,位置编码的初始化表示如下:
[0059][0060][0061]
其中,pos代表图片块p在图片序列p中的位置,i表示位置编码的维度,i 的取值范围为:[0,...,d
model
/2],d
model
为网络的隐藏层深度,取值为512;
[0062]
位置编码与图片序列p的元素相加后得到新的图片序列p

,表示为:
[0063]
p

=[p0,p1,

,p
196
] pe;
[0064]
使用编码器φ,对处理后的图片序列p

进行特征提取,得到197*384维的高维向量x,表示为:
[0065]
x=φ(p

);
[0066]
并将高维向量的第一维向量取出,作为代表整个图片的高维特征,称为分类特征向量(x
cls
),表示为:
[0067]
x
cls
=x[0]。
[0068]
优选地,特征动态分配具体为:
[0069]
使用k个分配块实现动态特征分配,每个分配块由两层全连接神经网络组成,其中隐藏层节点个数为384,表示如下:
[0070]
x
mcls
=linear(gelu(linear(x
cls
)))
[0071]
其中:linear为全连接层,gelu为激活函数;
[0072]
k个分配块分别计算出k个x_{mcls},将其进行拼接(concat),得到最终表达图片特征的高维特征向量,表示如下:
[0073][0074]
该进一步方案的有益效果是:将得到的特征向量分类为对应的属性特征,得到最终的结果。
[0075]
优选地,特征分类具体为:
[0076]
使用多个双层全连接神经网络,将得到的k个分类特征向量进行分类,表示为:
[0077]
y=sigmoid(leakyrelu(bn(fc(x
mls
))));
[0078]
其中,sigmoid表示最终实现分类的激活函数,其作用为将特征向量进行二分类,得到是或不是的预测结果,leakyrelu激活函数的作用为使神经网络非线性化,增强线性网络的表达能力,bn操作通过归一化的方式,将每层神经网络输入值的分布归一到均值为0方差为1的标准正态分布分布,加快网络收敛速度、控制梯度爆炸和梯度消失,减轻过拟合;fc为两层全连接神经网络;
[0079]
根据预测值yi和真值计算出单次训练中每个样本的损失函数l,使用加权的二分类交叉熵损失函数,利用得到的损失函数计算梯度,训练网络,损失函数的计算如下:
[0080][0081]
其中:n表示样本个数,m表示样本的属性个数,w
l
=exp(-p/θ2)表示第l个属性的权重,p表示训练数据集中正样本占全部样本的比例,θ为调节参数。
[0082]
本发明的优点及积极效果为:
[0083]
本发明利用特征提取器取得的特征进行动态特征分配,使得单一的特征判别信息表示多种判别特征,并利用注意力机制分配多个判别特征间的权重,建立判别特征间的依赖关系,显著提高行人属性的识别效果。
[0084]
本发明专注于将基于transformer的特征提取器提取到的高维特征与行人属性动态匹配,让每个属性使用各自的特征进行二分类任务,使每个属性的分类任务相对独立,更
好地提高识别效果。
附图说明
[0085]
图1是本发明优选实施例的流程图;
[0086]
图2为本发明实施例中行人属性识别网络模型结构示意图;
[0087]
图3为本发明实施例中隐式动态特征分配模块结构示意图。
具体实施方式
[0088]
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并详细说明如下。
[0089]
请参阅图1,一种基于隐式动态特征分配的行人属性识别方法,包括以下几个步骤:
[0090]
s1:对输入的图片进行预处理;具体包括以下分步骤:
[0091]
s11:使用摄像头等设备采集道路监控图片,使用目标检测等算法进行行人检测和裁剪,得到仅包含行人的图片作为数据集,并将数据集以7:3的比例划分为训练集和测试集;
[0092]
s12:使用人工的方法对图片进行筛选、标注标签,每个行人图片标注20-30 个属性值;
[0093]
s13:对行人图片进行预处理,包括尺度归一化、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声。
[0094]
s2:采用改进的transformer特征提取器提取图片特征,得到特征向量;具体包括以下分步骤:
[0095]
s21:利用图片块嵌入结构,将训练集中待检测的行人图片切分为196个图片块,并将196个图片块按照由上至下由左至右的顺序进行排列,得到图片序列 i,表示为:
[0096]
{p1,p2,

,p
196
}∈i;
[0097]
之后,在图片序列i的首部,加入一个新生成3*16*16像素的图片块,图片块的内容为随机像素,称为分类令牌图片块,记为p0,新得到的图片序列p表示为:
[0098]
{p0,p1,p2,

,p
196
}∈p;
[0099]
之后,为图片序列p的每一个图片块添加一个表示位置信息的编码,位置编码的尺寸和图片块相同,表示该图片块在图片序列中所处的位置,称为位置编码 (pe),位置编码的初始化表示如下:
[0100][0101][0102]
其中,pos代表图片块p在图片序列p中的位置,i表示pe的维度,i的取值范围为:[0,...,d
model
/2),d
model
为网络的隐藏层深度,取值为512。
[0103]
位置编码与原始图片序列p的元素相加后得到新的图片序列p

,表示为:
[0104]
p

=[p0,p1,

,p
196
] pe;
[0105]
s22:使用编码器φ,对处理后的图片序列p

进行特征提取,得到的197*384 维的
高维向量x,表示为:
[0106]
x=φ(p

);
[0107]
并将高维向量的第一维向量取出,作为代表整个图片的高维特征,称为分类特征向量(x
cls
),表示为:
[0108]
x
cls
=x[0]。
[0109]
s3:使用所述的特征动态分配模块对特征向量进行动态分配;具体包括以下分步骤:
[0110]
s31:使用k个分配块实现动态特征分配,其中每个分配块由两层全连接神经网络组成,其中隐藏层节点个数为384,表示如下:
[0111]
x
mcls
=linear(gelu(linear(x
cls
)))
[0112]
其中linear为全连接层,gelu为激活函数。
[0113]
s32:k个分配块分别计算出k个x_{mcls},将其进行拼接(concat),得到最终表达图片特征的高维特征向量,表示如下:
[0114][0115]
s4:使用行人属性识别网络对行人图片中的行人进行属性识别并计算误差损失、准确率等指标帮助训练网络;具体包括以下分步骤:
[0116]
s41:使用多个双层全连接神经网络,得到的k个分类特征向量进行分类,表示为:
[0117]
y=sigmoid(leakyrelu(bn(fc(x
mls
))))
[0118]
其中,sigmoid表示最终实现分类的激活函数,其作用为将特征向量进行二分类,得到是或不是的预测结果,leakyrelu激活函数作用为使神经网络非线性化,增强线性网络的表达能力,bn操作通过归一化的方式,将每层神经网络输入值的分布归一到均值为0方差为1的标准正态分布分布,加快网络收敛速度、控制梯度爆炸和梯度消失,减轻过拟合。fc为两层全连接神经网络。
[0119]
s42:根据预测值yi和真值计算出单次训练中每个样本的损失函数l,使用加权的二分类交叉熵损失函数,利用得到的损失函数计算梯度,训练网络,损失函数的计算如下:
[0120][0121]
其中n表示样本个数,m表示样本的属性个数,w
l
=exp(-p/θ2)表示第l个属性的权重,其中p表示该样本中正样本占全部样本的比例,θ为调节参数,在实验中设置为1。
[0122]
一种基于隐式动态特征分配的行人属性识别系统,实现上述基于隐式动态特征分配的行人属性识别方法,包括:图片预处理模块、特征提取模块、特征动态分配模块、特征分类模块;其中:
[0123]
所述图片预处理模块:将输入的行人图片同一裁切成224*224像素的rgb 图片,且为了增强模型的鲁棒性,使用尺度归一、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声方法进行图片增强,由增强后的图片代替原始图片输入,
[0124]
所述特征提取模块,使用改进的transformer作为特征提取器,逐层将原始图片的
特征向量提取为高维特征向量,
[0125]
所述特征动态分类模块,将上述模块提取到的特征依据特征关注部位的不同分配给不同的属性,使每个属性拥有若干个特征向量,
[0126]
所述特征分类模块,将上述模块得到的特征进行多个二分类,最终使得得到所有属性的预测值,并将预测值与真值进行比较,得到预测准确率;
[0127]
测试模块:利用训练好的行人属性识别模型,对测试的图片进行属性预测,得到结果后与真值进行比较,得到各个测试指标。
[0128]
作为优选的技术方案,所述图片预处理模块包括:随机裁切、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声,且参数均可根据实际情况更改。
[0129]
作为优选的技术方案,特征提取模块选用transformer模型作为特征提取器,使用最后一层网络作为输出层。
[0130]
作为优选的技术方案,特征分类模块选用多个两层全连接作为分类器,分类器的数量和行人属性数量一致。
[0131]
本发明的技术方案主要包括以下步骤s1至s4:
[0132]
s1:对获取的图片进行预处理;
[0133]
在本实例中,步骤s1具体包括以下分步骤:
[0134]
s11:使用摄像头等设备采集道路监控图片,使用目标检测等算法进行行人检测和裁剪,得到仅包含行人的图片作为数据集,并将数据集以7:3的比例划分为训练集和测试集;
[0135]
s12:使用人工的方法对图片进行筛选、标注标签,每个行人图片标注20-30 个属性值;
[0136]
s13:对行人图片进行预处理,包括尺度归一化、随机水平翻转、随机旋转、随机色彩偏离、随机抹除、随机噪声。
[0137]
该进一步方案的有益效果是:扩充训练数据、避免单一数据带来的过拟合,提高行人属性识别网络的泛化性。
[0138]
所述步骤s2采用改进的transformer特征提取器提取图片特征具体包括以下步骤:
[0139]
s21:利用图片块嵌入结构,将训练集中待检测的行人图片切分为196个3*16*16像素的图片块,并将196个图片块按照由上至下由左至右的顺序进行排列,得到图片序列i,表示为:
[0140]
{p1,p2,

,p
196
}∈i
[0141]
之后,在图片序列i的首部,加入一个新生成3*16*16像素的图片块,图片块的内容为随机像素,称为分类令牌图片块,记为p0,新得到的图片序列p表示为:
[0142]
{p0,p1,p2,

,p
1p6
}∈p
[0143]
之后,为图片序列p的每一个图片块添加一个表示位置信息的编码,编码尺寸和图片块相同,表示该图片块在图片序列中所处的位置,称为位置编码(pe),位置编码的初始化表示如下:
[0144]
[0145][0146]
其中,pos代表图片块p在图片序列p中的位置,i表示pe的维度,i的取值范围为:[0,

,d
model
/2),d
model
为网络的隐藏层深度,取值为512。
[0147]
位置编码与原始图片序列p的元素相加后得到新的图片序列p

,表示为:
[0148]
p

=[p0,p1,

,p
196
] pe
[0149]
s22:使用编码器φ,对处理后的图片序列p

进行特征提取,得到的197*384 维的高维向量x,表示为:
[0150]
x=φ(p

)
[0151]
并将高维向量的第一维向量取出,作为代表整个图片的高维特征,称为分类特征向量(x
cls
),表示为:
[0152]
x
cls
=x[0]
[0153]
进一步地,所述步骤s22具体包括以下分步骤:
[0154]
s221:使用多头自注意力网络结构将输入图片序列转化为具有特征信息的高维特征序列,首先计算序列中每个向量的q值,k值和v值,计算方式如下:
[0155]
qi=w
qai
[0156]ki
=w
kai
[0157]
vi=w
vai
[0158]
其中,i表示向量在序列中的位置,wq,wk,wv分别表示三个不同的转换权重。
[0159]
s222:使用每个q向量分别和每个k向量做注意力计算,得到两个向量i,j之间的注意力值α
ij
,注意力值计算方式如下:
[0160][0161]
其中d为q和k的维度,由于q
·
k的数值会随着d的增大而增大,所以使用可将结果进行归一化,softmax函数为激活函数,其作用为将数值序列映射到区间(0,1)且和为1。
[0162]
s223:计算α
{ij}
和vj的乘积,得到输出向量b,计算过程如下:
[0163][0164]
经过多次迭代计算,便可得到最终代表图片序列p的高维特征向量x。
[0165]
s224:将高维向量的第一维向量取出,作为代表整个图片的高维特征,称为分类特征向量(x
cls
),表示为:
[0166]
x
cls
=x[0]
[0167]
所述步骤s3具体包以下分步骤:
[0168]
s31:使用k个分配块实现动态特征分配,其中每个分配块由两层全连接神经网络组成,其中隐藏层节点个数为384,表示如下:
[0169]
x
mcls
=linear(gelu(linear(x
cls
)))
[0170]
其中linear为全连接层,gelu为激活函数。
[0171]
s32:k个分配块分别计算出k个x_{mcls},将其进行拼接(concat),得到最终表达图片特征的高维特征向量,表示如下:
[0172][0173]
该进一步方案的有益效果是:将得到的特征向量分类为对应的属性特征,得到最终的结果。
[0174]
进一步地,所述步骤s4具体包括以下步骤:
[0175]
s41:使用多个双层全连接神经网络,得到的k个分类特征向量进行分类,表示为:
[0176]
y=sigmoid(leakyrelu(bn(fc(x
mls
))))
[0177]
其中,sigmoid表示最终实现分类的激活函数,其作用为将特征向量进行二分类,得到是或不是的预测结果,leakyrelu激活函数作用为使神经网络非线性化,增强线性网络的表达能力,bn操作通过归一化的方式,将每层神经网络输入值的分布归一到均值为0方差为1的标准正态分布分布,加快网络收敛速度、控制梯度爆炸和梯度消失,减轻过拟合。fc为两层全连接神经网络。
[0178]
s42:根据预测值yi和真值计算出该单次训练中每个样本的损失函数l,使用加权的二分类交叉熵损失函数,利用得到的损失函数计算梯度,训练网络,损失函数的计算如下:
[0179][0180]
其中n表示样本个数,m表示样本的属性个数,w
l
=exp(-p/θ2)表示第l个属性的权重,其中p表示该样本中正样本占全部样本的比例,θ为调节参数,在实验中设置为1。
[0181]
在尺度归一化中,将所有图片的像素由原始像素更改为设定像素,在本方法中,设定像素为224*224,若原始图形像素大于设定像素,则使用压缩方法更改像素;若原始像素小于设定像素,则使用双线性差值方法将元素扩充为设定像素。
[0182]
在随机水平翻转中,设定随机值为0.5,即随机将一半的图形进行水平翻转,代替原始图片。
[0183]
在随机旋转中,设定随机值为0.5、旋转角度为
±
20度,即随机将一半的图片进行以图片中心为圆心、角度为20度的偏离。
[0184]
在随机色彩偏离中,设定随机值为0.5、色调值为
±
0.5度、饱和度为
±
0.5,即随机将一半的图片调高或调低0.5度的色调和饱和度。
[0185]
在随机抹除中,设定随机值为0.5,抹除值为0.1,即随机将一半的图片抹除 10%的区域,将目标区域像素值更替为0。
[0186]
在随机噪声中,设定随机值为0.5,噪声范围为0.1,即随机将一半的图片中 10%的区域内的像素值更替为0-255的随机值。
[0187]
s2:采用改进的transformer特征提取器提取图片特征,得到特征向量;
[0188]
在本实施例中,本发明首先构建包含transformer中的图片嵌入模块、编码器模块和特征动态分配模块的行人属性识别模型,模型结构如图2所示。
[0189]
本发明构建的行人属性识别模型包含图片嵌入模块(patch embedding)、编码器(encoder)和特征动态分配模块(ldt)。分别对应以下分步骤:
[0190]
s21:图片嵌入模块以transformer-base骨干网络为例。骨干网络包含五个部分,分别是图片分块模块、线性映射模块、位置信息编码模块。各模块具体的实现为:
[0191]
给定由s1步骤预处理过的行人图片x,像素为3*224*224,图片分块模块将图片切分为196个16*16像素的图片块,每个图片块之间不重叠。
[0192]
随后,线性映射模块将196个3*16*16的图片块使用卷积神经网络映射为 196*768维的向量i,卷积层中卷积核大小为3*16*16、步长为16、无零填充、个数为768。经过卷积操作后的196*768维向量i代替原始输入图片,可表示为:
[0193]
{p1,p2,

,p
196
}∈i,i∈r
196*768
[0194]
为了降低后续步骤的计算维度,增强特征表达能力,在图片序列i的首部,加入一个新生成的3*16*16像素的图片块,图片块的内容为随机像素,称为分类令牌图片块,记为p_0,新得到的图片序列表示为:
[0195]
{p0,p1,p2,

,p
196
}∈p,p∈r
197*768
[0196]
之后,由于前述步骤图片分块模块并未考虑图片块之间的顺序,即图片块中的顺序不影响向量表示结果,导致向量损失位置图片中元素的信息。于是使用位置信息编码模块,初始化一个位置向量pe∈r
1*196
,可表示为:
[0197][0198][0199]
其中,pos代表图片块p在图片序列i中的位置,i表示pe的维度,i的取值范围为:[0,

,d
model
/2),d
model
为网络的隐藏层深度,取值为512。向量p与向量pe相加得到196*768维的新向量p

,表示如下:
[0200]
p

=[p0,p1,

,p
196
] pe
[0201]
s22:编码器模块,以自注意力模块为例,将上述步骤得到的图片序列 p∈r
197*768
送入自注意力模块,经过注意力进行特征提取后,得到新的特征向量x∈r
197*768
,并经过12次迭代循环,表示如下:
[0202]
x=φ(p

)
[0203]
由于在上述s21步骤中额外添加了一个分类令牌图片块,故在本步骤需将分类令牌图片块取出,代表整个图片向量,表示如下:
[0204]
x
cls
=x[0],x
cls
∈r
1*768
[0205]
s3:使用所述的特征动态分配模块对特征向量进行动态分配,使用k个分配块实现动态特征分配,其中每个分配块由两层全连接神经网络组成,其中全连接神经网络输入层的节点个数为768,第一层隐藏层节点个数为384,第二层输出节点个数1。在本设计实施中k=64,表示如下:
[0206]
x
mcls
=linear(gelu(linear(x
cls
)))x
mcls
∈r
1*1
[0207]
其中linear为全连接层,gelu为激活函数。随后k个分配块分别计算出k 个x_{mcls},将其进行拼接(concat),得到最终表达图片特征的高维特征向量 x∈rk,表示如下:
[0208][0209]
s4:使用行人属性识别网络对行人图片中的行人进行属性识别并计算误差损失、准确率等指标帮助训练网络。
[0210]
在得到最终表达图片特征的x后,使用一个全连接层对其进行属性分类,全连接层
的输入节点个数为k,输出层节点个数为数据集中属性的个数,例如在 peat数据集中,属性个数为35,即输出层节点个数为35,表示为:
[0211]
y=sigmoid(leakyrelu(bn(fc(x))))
[0212]
其中,sigmoid表示最终实现分类的激活函数,其作用为将特征向量进行二分类,得到是或不是的预测结果,leakyrelu激活函数作用为使神经网络非线性化,增强线性网络的表达能力,bn操作通过归一化的方式,将每层神经网络输入值的分布归一到均值为0方差为1的标准正态分布分布,加快网络收敛速度、控制梯度爆炸和梯度消失,减轻过拟合。fc为两层全连接神经网络。
[0213]
根据预测值yi和真值计算出单次训练中每个样本的损失函数l,使用加权的二分类交叉熵损失函数,利用得到的损失函数计算梯度,训练网络,损失函数的计算如下:
[0214][0215]
其中n表示样本个数,m表示样本的属性个数,w
l
=exp(-p/θ2)表示第l个属性的权重,其中p表示该样本中正样本占全部样本的比例,θ为调节参数,在实验中设置为1。
[0216]
准确率共使用5个指标,分别为ma、accuracy、precision、recall和f1,计算方式分别如下:
[0217][0218][0219][0220][0221][0222]
其中p、n、tp、tn、fp、fn分别表示阳值的总数、阴值的总数以及真阳、真阴、假阳、假阴的数量。
[0223]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介
质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0224]
以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献