1.一种基于多层级特征融合的行人重识别方法,其特征在于,包括以下步骤:步骤1:构建行人重识别网络,包括骨干网络、分支网络和聚合模块;
所述骨干网络基于ResNeSt‑50网络,分成5层,其中第1层不加分裂模型,第2、3、4、5层分别添加分裂模型,该分裂模型的每层输入均不相同,若分裂模型输入图像通道数为c,沿通道维度平均分成k个基块组,在每个基块组内沿通道维度上继续分裂成r个分裂组,其中r、k为设置的超参数,c=k×r,r个分裂组先分别进行特征提取,k个基块组后通过通道数融合后与原始输入特征相加;
所述分支网络为采用金字塔卷积结构,卷积核的大小设置成3×3、5×5、7×7、9×9,卷积核递增的同时卷积核深度逐渐递减,同时每个金字塔卷积内通过分组卷积来降低计算量;金字塔卷积分别被应用在骨干网络的不同层,每层的卷积核尺度和深度各不相同,第2层卷积核尺度分别为3、5、7、9,深度均为64,第3层卷积核尺度为3、5、7,深度分别为128、
128、256,第4层卷积尺度均为512,第5层卷积核尺度为3,深度为2048;
所述聚合模块,引入广义均值池化代替最后一层的平均池化;假设输入向量为χ,池化后的输出为f,最大池化公式:
(m) (m)
其中,f 是输出f的第m个特征向量, 是f 的第k个特征值,共有K个特征值, 是输入向量χ中属于第k个特征值邻域内特征值的最大值;
平均池化公式:
广义均值池化公式:
公式(1)和公式(2)都是公式(3)特殊形式,pk是引入的超参数,通过反向传播可以自动学习到最优解,当pk=1时,公式(2)就是平均池化;当pk→∞时,公式(1)就是最大池化;
步骤2:训练行人重识别网络,获得训练好的行人重识别网络;
从公开数据源中获取训练数据并预处理,将预处理后的图像数据分为训练集和测试集,将训练集送入行人重识别网络进行训练,获得训练后的行人重识别网络;通过测试集测试训练后的行人重识别网络,若满足预设要求,则停止训练,获得训练好的行人重识别网络,否则继续执行训练过程;
步骤3:从视频中抽取图像帧,预处理后将图像送入训练好的行人重识别网络的骨干网络进行特征提取,同时利用分支网络通过卷积核的多尺度和多深度,提取不同尺度的细节信息;然后通过相加的方式将主干网络和各层级分支网络进行特征融合;图像经过骨干网络和分支网络进行特征提取后,得到的特征信息送入聚合模块,最后通过表征学习和度量学习,找到行人图像在图像库中的其他图像,根据与原图像的相似度输出排名前N的行人图像。
2.根据权利要求1所述的基于多层级特征融合的行人重识别方法,其特征在于:步骤2中,使用损失函数监督行人重识别网络训练过程,从而缩小真实值与预测值差距;
通过交叉熵损失函数LSoftmax和难例样本挖掘三元组损失函数Ltri_hard的联合训练来优化训练过程,避免行人重识别网络的过拟合,损失函数如公式(4)所示:Ltotal=LSoftmax+Ltri_hard (4)其中,N是批次数,H表示行人数,fi是图像i的特征向量,其真实标签为yi,W为权重,b是T
偏置;Wk是第k个行人的权重向量的转置,bk是第k个行人的偏置向量;
采用难例样本挖掘三元组损失函数进行训练,三元组损失函数选取锚点an、正样本pos、负样本neg构成三元组,训练时在每个批次中挑选出P个行人,每个行人挑选出K张图像,三元组均来自于P×K张图像,通过计算欧氏距离找到离锚点距离最远的正样本、最近的负样本来计算三元组损失,如公式(6)所示,其中mar为设置的超参数,dan,pos是锚点与正样本的距离,dan,neg是锚点与负样本的距离,A、B表示该P×K张图像中不同的样本集,即所选正样本和负样本不重合;
损失函数的最小化,就是锚点与负样本之间的距离最大化、锚点与正样之间的距离最小化。
3.根据权利要求1所述的基于多层级特征融合的行人重识别方法,其特征在于:步骤2中,针对训练后行人重识别网络的测试,会输出该图像的t张同一ID图像;对输出结果先后采用两种重排序方式,图像查询和k近邻编码;图像查询通过一个查询图fq,图库中t个相似的特征图fg,通过计算返回的前t个结果,包括查询图本身,求取平均值得到新的查询特征图 新的查询特征图 被用作k近邻编码重排序,通过计算马氏距离和杰卡德距离,在图库中找到查询图的排序列表;
通过该重排序方法,将更多相似度高且互相关联的图像往前排,得到更精确的行人重识别排序结果。
4.根据权利要求1‑3任意一项所述的基于多层级特征融合的行人重识别方法,其特征在于:步骤2和步骤3中,借助目标检测技术将图像裁剪成大小为256×128,通道数为3,之后使用随机擦除、图像翻转对输入图像进行预处理。
5.一种基于多层级特征融合的行人重识别系统,其特征在于,包括以下模块:模块一,用于构建行人重识别网络,包括骨干网络、分支网络和聚合模块;
所述骨干网络基于ResNeSt‑50网络,分成5层,其中第1层不加分裂模型,第2、3、4、5层分别添加分裂模型,该分裂模型的每层输入均不相同,若分裂模型输入图像通道数为c,沿通道维度平均分成k个基块组,在每个基块组内沿通道维度上继续分裂成r个分裂组,其中r、k为设置的超参数,c=k×r,r个分裂组先分别进行特征提取,k个基块组后通过通道数融合后与原始输入特征相加;
所述分支网络为采用金字塔卷积结构,卷积核的大小设置成3×3、5×5、7×7、9×9,卷积核递增的同时卷积核深度逐渐递减,同时每个金字塔卷积内通过分组卷积来降低计算量;金字塔卷积分别被应用在骨干网络的不同层,每层的卷积核尺度和深度各不相同,第2层卷积核尺度分别为3、5、7、9,深度均为64,第3层卷积核尺度为3、5、7,深度分别为128、
128、256,第4层卷积尺度均为512,第5层卷积核尺度为3,深度为2048;
所述聚合模块,引入广义均值池化代替最后一层的平均池化;假设输入向量为χ,池化后的输出为f,最大池化公式:
(m) (m)
其中,f 是输出f的第m个特征向量, 是f 的第k个特征值,共有K个特征值, 是输入向量χ中属于第k个特征值邻域内特征值的最大值;
平均池化公式:
广义均值池化公式:
公式(1)和公式(2)都是公式(3)特殊形式,pk是引入的超参数,通过反向传播可以自动学习到最优解,当pk=1时,公式(2)就是平均池化;当pk→∞时,公式(1)就是最大池化;
模块二,用于训练行人重识别网络,获得训练好的行人重识别网络;
从公开数据源中获取训练数据并预处理,将预处理后的图像数据分为训练集和测试集,将训练集送入行人重识别网络进行训练,获得训练后的行人重识别网络;通过测试集测试训练后的行人重识别网络,若满足预设要求,则停止训练,获得训练好的行人重识别网络,否则继续执行训练过程;
模块三,用于从视频中抽取图像帧,预处理后将图像送入训练好的行人重识别网络的骨干网络进行特征提取,同时利用分支网络通过卷积核的多尺度和多深度,提取不同尺度的细节信息;然后通过相加的方式将主干网络和各层级分支网络进行特征融合;最后通过表征学习和度量学习,找到行人图像在图像库中的其他图像,根据与原图像的相似度输出排名前N的行人图像。