1.一种基于双分支自注意力网络的行人属性识别方法,其特征在于,包括如下步骤:步骤1、图像数据采集及处理,构建并划分数据集;
步骤2、图像特征提取;
步骤3、构建双分支自注意力行人属性识别网络模型获取图像属性相关信息和上下文区域信息,双分支包括属性分支和上下文分支,属性分支包括二阶自注意力模块和属性自注意力模块,上下文分支包括上下文自注意力模块;具体过程为:步骤3.1、基于二阶自注意力模块和属性自注意力模块计算属性分支的预测值二阶自注意力模块的计算过程如下:步骤3.1.1、特征图X通过1×1卷积得到维度为 的三维张量,再改变该张量的维度变换成二维矩阵 Q=H×W,相同操作重复三次生成特征图X的三个投影矩阵,分别为KS、QS和VS,维度均为 其中,输入通道为C维,输出通道为 维,r表示采样降低倍率;
步骤3.1.2、使用投影KS和投影QS计算协方差矩阵 如式(1)所示,其中,I和1分别是Q维单位矩阵和全一矩阵;
步骤3.1.3、采用Softmax函数处理协方差矩阵Σ并采用Q作为协方差矩阵的缩放因子;
步骤3.1.4、将步骤3.1.3得到的结果与VS点乘得到 如式(2)所示,并将 展开为形状为 的张量;
步骤3.1.5、最后将 和特征图X通过1×1卷积得到的维度为 一阶特征拼接起来,共同作为后续属性自注意力模块的输入;
属性自注意力模块的计算过程如下:
步骤3.1.6、输入形状为 的三维特征图通过不同的1×1卷积并将最后两维数据维度变换成一维以获得KA、QA和VA,分别表示属性自注意力模块的三个输入投影矩阵,其中QA, NH和M分别是注意力头数和属性个数,DA表示属性特征映射的维度;
步骤3.1.7、根据式(3),将矩阵QA和矩阵KA的转置相乘,再通过Sigmoid操作得到各属性的注意力分数 该分数代表了输入中包含某种属性的概率,式中M表示属性个数;
步骤3.1.8、将上述注意力分数 与VA相乘得到各注意力头数对应的预测值步骤3.1.9、然后沿NH维度对 进行求和,将其拉伸成一个维度为M的属性自注意力模块初步预测结果步骤3.1.10、设计约束损失函数 来限制预测分数,如式(4)所示,其中,ωj表示训练数据集中第j个属性所占的权重,pij、yij分别表示第i个样本的第j个属性的预测值和标签值;
步骤3.1.11、最后,对初步预测结果 进行线性化处理,并且与KA相加,得到属性分支最终预测结果 表示为式(5),A M×M
其中,W∈R 表示线性化处理分类器参数;
步骤3.2、基于上下文自注意力模块计算上下文分支的预测值步骤3.3、最终分类预测结果表示为 和 的平均值,利用Sigmoid进行加权处理,获取最终属性分类结果,将最终属性分类结果大于0.5的取1,小于等于0.5的取0;
步骤4.训练输出性能良好的双分支自注意力网络模型;
步骤5、通过监控视频实时采集行人图像,利用训练完成的双分支自注意力网络模型进行行人属性的自动识别。
2.根据权利要求1所述基于双分支自注意力网络的行人属性识别方法,其特征在于,所述步骤1的具体过程为:从监控视频中提取行人图像,并进行属性标注和裁剪;将图像统一裁剪成大小为256×128像素的图片,构成图片数据集D,并将数据集D划分为训练集Dtrain和测试集Dtest。
3.根据权利要求1所述基于双分支自注意力网络的行人属性识别方法,其特征在于,所述步骤2的具体过程为:使用ResNet50作为骨干网络,利用批处理方法批量输入图片,得到C×H×W特征图X∈R ,其中H、W和C分别代表特征图的长度、宽度和维度。
4.根据权利要求1所述基于双分支自注意力网络的行人属性识别方法,其特征在于,所述步骤3.2的具体过程为:步骤3.2.1、首先采用标记化方案将特征图聚合成K个紧凑视觉标记,其中K<<H×W;
H×W×C
对于输入特征图X∈R ,通过局部聚合描述符向量计算核进行标记软分配,并计算第k个K×C视觉标记Tk∈R ,如式(6)所示,
其中,αk(xl)表示将第l个局部特征xl分配给第k个视觉标记的加权值,ck是第k个可学习的锚点;
步骤3.2.2、利用自注意模块来捕获不同视觉标记之间的上下文关系;采用多头自注意力层和前馈神经网络在所有视觉标记之间传播消息,它们的状态通过等式(7)更新,其中,d1表示调节因子; 是通过对输出的第k个视觉标记Tk进行T M×M
线性变换得到,Qc,Kc,Vc表示上下文自注意力的三个输入投影;W∈R 代表线性化处理分类器参数;
步骤3.2.3、然后,将Qc,Kc进行矩阵相乘,再通过Softmax操作和Dropout操作,随机裁剪
50%参数得到上下文注意力分数,通过与Vc相加引入残差结构来加速收敛;最后,通过线性层和批标准化操作获得上下文分支预测值 如式(8)所示,C M×C
其中,BN代表批标准化操作,W∈R 代表线性层中的参数。
5.根据权利要求1所述基于双分支自注意力网络的行人属性识别方法,其特征在于,所述步骤4的具体过程为:首先采用训练集Dtrain训练模型,学习率设置为0.0001,迭代次数为30次,优化器采用Adam优化器,每迭代一次输入64幅图像;
然后计算两个分支损失函数和约束损失,得到的总损失 最小化损失值;其中,两个分支损失函数 和 均采用如式(9)所示的加权交叉熵损失函数,其中,ωj表示训练数据集中第j个属性所占的权重;M代表属性个数;pij、yij表示第i个样本的第j个属性的预测值和标签值;
整个双分支自注意力网络模型总的损失函数 表示为下式(10),根据得到的总损失最小化损失值,其中,λ1,λ2,λ3分别为两个分支损失函数和约束损失函数的权重;
最后利用Dtest测试模型,每次训练之后都在测试集Dtest上进行测试,比较各测试结果,并保存测试集结果最好的网络模型参数。