本技术提供一种集成注意力机制的行人重识别方法,包括以下步骤:步骤一,构造嵌入多粒度注意力机制的CNN;步骤二,把train数据集输入CNN训练CNN,得到CNN模型,其中CNN的损失函数为分类损失和Trihard损失之和;步骤三,把gallery数据集输入到步骤二所述的CNN模型中,得到一个图片特征数据库,其中每个特征都有唯一的行人id;步骤四,输入query图片得到特征,检索步骤三中的图片特征数据库计算出相似度,选出相似度最高的这张图片,这张gallery图片的行人id就是query图片的行人id。
该方法设计了一种新的注意力模块,相应提出了多粒度注意力机制,把该机制集成到CNN中,以提升CNN的特征提取水平,增强CNN的不规则采样能力,更强地适应行人姿势、背景等变化,以适应行人重识别任务。
权利要求书1.一种集成注意力机制的行人重识别方法,其特征在于,所述识别方法包括以下步骤:步骤一,构造嵌入多粒度注意力机制的CNN;步骤二,把train数据集输入CNN训练CNN,得到CNN模型,其中CNN的损失函数为分类损失和Trihard损失之和;步骤三,把gallery数据集输入到步骤二所述的CNN模型中,得到一个图片特征数据库,其中每个特征都有唯一的行人id;步骤四,输入query图片得到特征,检索步骤三中的图片特征数据库计算出相似度,选出相似度最高的这张图片,这张gallery图片的行人id就是query图片的行人id。
2.根据权利要求1所述的一种集成注意力机制的行人重识别方法,其特征在于,步骤一中的CNN具体为:包含多个stage,每两个stage之间插入注意力模块;所述注意力模块由卷积层conv、relu层、第一全连接层fc1、第二全连接层fc2、sigmoid层、tile层和element-wise层依次拼接而成;conv在通道维度上进行学习,并将通道数量压缩为1,将每张图片的输入张量的规模变成了二维平面;relu层起到非线性变换的作用,fc1起到在空间维度上的压缩作用,fc2起到在空间维度上的还原作用,fc1和fc2整体对特征图的筛选过滤;sigmoid层执行sigmoid运算,其输出结果为每个通道上的掩码矩阵;tile层在通道维度上进行广播运算,elment-wise层对经过tile运算的张量和原输入张量进行相乘运算。
3.根据权利要求2所述的一种集成注意力机制的行人重识别方法,其特征在于,对所述注意力模块进行参数设置,具体为:conv的输入通道数为C,输出通道数为1,卷积核大小为1x1,偏置为true;fc1层输入特征数为H x W,输出特征数为H,fc2层的输入特征数为H,输出特征数为H x W。
4.根据权利要求2所述的一种集成注意力机制的行人重识别方法,其特征在于,所述注意力模块的计算流程为:步骤1.1,conv接收前一个stage输入,记为A,规模为(n x C x H x W),并执行卷积运算;其中,n为训练批次大小,C为通道数量,H为特征图高度,W为特征图宽度,输出规模变为(n x 1 x H x W);步骤1.2,在特征维度上进行归一化操作;步骤1.3,relu层接收GroupNorm后的输出,执行relu运算;步骤1.4,fc1层接收relu层输出,执行全连接运算,输出规模变为(n x 1 x H x 1);步骤1.5,fc2层接收fc1层输出,执行全连接运算,输出规模变为(n x 1 x H x W);步骤1.6,对步骤1.5输出结果执行sigmoid运算;步骤1.7,对上一步结果执行在通道维度上的广播运算,输出规模变为(n x C x H xW),记为B;步骤1.8,对A与B进行elment-wise运算,运算结果记为C,C的规模是(n x C x H x W),输出C 到后一个stage。
5.根据权利要求4所述的一种集成注意力机制的行人重识别方法,其特征在于,所述步骤1.2中执行GroupNorm操作在特征维度上进行归一化。
技术说明书一种集成注意力机制的行人重识别方法技术领域本技术涉及互联网通信技术领域,尤其是涉及一种集成注意力机制的行人重识别方法。
背景技术行人重识别是利用计算机视觉技术判断不同相机的图像,或者视频序列中是否存在特定行人的技术,被广泛认为是图像检索的子问题。
行人重识别技术可以在一个较大区域内跟踪一个人的轨迹,另外它在机器人技术、照片自动标注等方面也有着很高应用价值。
行人重识别是学术界和工业界都非常关注的技术问题,相比于比较成熟的人脸识别技术,它依然是计算机视觉领域的难题。
其主要挑战是识别和适应行人在不同相机上呈现的外貌变化,比如角度、姿势、色彩、遮挡等。
现有行人重识别方案一般基于深度学习,即利用卷积神经网络(Convolutional Neural Network,下面称CNN)提取图片的特征向量,通过计算特征向量的相似度判断不同照片是否属于同一人。
CNN是一种层级神经网络,其中低层对应图片的底层特征,高层对应着更为复杂的纹理特征。
CNN通过层次结构自动学习得到输入图片的特征向量,但普通的CNN对于图片的局部特征同等看待,这样提取出的全局特征容易受到背景信息、噪音的干扰。
注意力机制模拟人脑的注意力机制,对不重要的部分投放较少注意力,对重要的部分投放更多注意力(其中注意力可理解为权重)。
因此注意力机制可以灵活捕捉全局和局部的联系,有助于校准错位的图像,增强特征向量对姿势变化的适应性,消除噪音的干扰。
在应用中注意力机制一般作为模块,作为卷积层或循环层的下一层嵌入到CNN中。
已有的技术方案把注意力模块嵌入到CNN的尾部,即在CNN最终输出之前先经过多个并行的身体部位检测器提取出多个身体部位特征,最终组合输出特征向量。
其中身体部位检测器就是注意力模块,每个注意力模块的掩码矩阵参数不同。
具体实现来说可分为以下几个步骤:⑴每个身体部位检测器从CNN接收相同的全局张量输入,首先进行卷积操作得到了掩码矩阵。
⑵对掩码矩阵进行sigmoid运算。
⑶对⑵的结果进行tile运算,即在通道维度上的广播运算。
⑷把⑴和⑶的结果进行element-wise运算,即对两个张量进行点积运算。
⑸对⑷的结果在特征图维度上进行平均池化操作。
⑹对⑸的结果经过全连接层处理实现降维。
⑺把多个⑹的结果进行拼接操作,组合成全局特征。
其中⑴-⑹是实现的是身体部位检测器,即注意力模块部分。
上述技术方案把注意力模块直接嵌入到CNN的末尾,而且是嵌入了多个注意力模块,每个注意力模块作为一个并行分支。
这种全局注意力方案的缺点是缺少对图片原始特征的采样能力,即采样不够细腻,在最终结果上容易造成较大的全局误差。
另外因为是有多个分支,网络模型整体的计算量较大。
另一方面注意力层次不够丰富,全局特征的提取效果不尽理想。
从注意力模块设计来看,设计比较简单,只是用到卷积层、sigmoid层而没用到全连接层进行更深的学习,这样得到的掩码矩阵比较粗糙。
从最终应用结果上实验结果,发现抠图时抠人抠得不好,人容易变大或变小,重识别的准确率提升不够理想。
技术内容针对上述技术问题,本技术提供了一种集成注意力机制的行人重识别方法,提出了多粒度注意力机制,把该机制集成到CNN中,以提升CNN的特征提取水平,增强CNN的不规则采样能力,CNN整体对行人图片具有多粒度注意力,更强地适应行人姿势、背景等变化,以适应行人重识别任务。
本技术设计了一种新的注意力模块,通过在CNN中嵌入多个注意力模块形成新的注意力机制,即多粒度注意力机制,以面向行人重识别任务。
本技术的行人重识别任务方案可分为以下几个步骤:⑴构造嵌入多粒度注意力机制的CNN。
⑵把train数据集输入CNN,训练CNN,得到CNN模型。
其中CNN的损失函数为分类损失和Trihard损失之和。
⑶把gallery数据集输入到⑵的模型中,得到一个图片特征数据库。
其中每个特征都有唯一的行人id。
⑷输入query图片得到特征,检索⑶中的图片特征数据库计算出相似度,选出相似度最高的这张图片,这张gallery图片的行人id就是query图片的行人id。
本技术具有如下有益效果:1.本技术提出了一种面向行人重识别任务新的注意力机制,即多粒度注意力机制,其应用方式将多个注意力模块嵌入到CNN的相邻的两个stage之间,使CNN具有多个粒度的采样能力,不同粒度的采样形成互补优势,优势在于多粒度注意力、应用范围广、灵活等特点,易于集成创新。
2.本技术设计了一种新的注意力模块,相较于已有的注意力模块增加了2个全连接层,从而具有更好的非线性学习能力,能够捕捉到更多的局部与全局的联系,优势在于注意力强、轻量级、易训练。
3.基于本技术的改进形式,比如在注意力模块中增加全连接层、注意力模块应用位置和个数的变化等,即在不脱离本技术原理的前提下,做出的若干改进和润饰,也应视为本技术的保护范围。
附图说明图1为本技术集成注意力机制的CNN流程示意图;图2为本技术注意力模块的结构示意图;图3为本技术注意力模块在实施例中的应用结构示意图。
具体实施方式现将结合附图对本技术的技术方案进行完整的描述。
以下描述仅仅是本技术的一部分实施案例而已,并非全部。
基于本技术中的实施案例,本领域技术人员在没有作出创造性劳动的前提下所获得的所有其他实施案例,都属于本技术的权利保护范围之内。
我们规避了现有技术方案中注意力模块性能不好、计算量大、应用方式不好等缺点,并在已有注意力研究成果基础上对注意力模块的结构进行创新,设计了一种新的注意力模块,相应提出了多粒度注意力机制。
我们把该机制集成到CNN中,以提升CNN的特征提取水平,增强CNN的不规则采样能力。
多个注意力模块嵌入到CNN的不同层上,使CNN具有多个粒度的采样能力,不同粒度的采样形成互补优势。
这样CNN整体对行人图片具有多粒度注意力,更强地适应行人姿势、背景等变化,以适应行人重识别任务。
本技术设计新的注意力模块,通过在CNN中嵌入多个注意力模块形成新的注意力机制,即多粒度注意力机制,以面向行人重识别任务。
本技术的行人重识别任务方案可分为以下几个步骤:⑴构造嵌入多粒度注意力机制的CNN。
⑵把train数据集输入CNN,训练CNN,得到CNN模型。
其中CNN的损失函数为分类损失和Trihard损失之和。
⑶把gallery数据集输入到⑵的模型中,得到一个图片特征数据库。
其中每个特征都有唯一的行人id。
⑷输入query图片得到特征,检索⑶中的图片特征数据库计算出相似度,选出相似度最高的这张图片,这张gallery图片的行人id就是query图片的行人id。
补充说明的是,行人重识别应用把图片分为3种类型train、gallery、query,其中train用来训练模型,gallery是用来检索匹配的行人图片数据集,query是要查询的图片。