APP下载

基于胶囊网络的跨域行人再识别*

2021-09-23杨晓峰张来福王志鹏萨旦姆邓红霞李海芳

计算机工程与科学 2021年9期
关键词:跨域特征提取行人

杨晓峰,张来福,王志鹏,萨旦姆,邓红霞,李海芳

(1.太原理工大学信息与计算机学院,山西 晋中 030600;2.山西工程科技职业大学计算机工程学院,山西 晋中 030600; 3.国网山西省电力公司电力科学研究院,山西 太原 030001)

1 引言

行人再识别是在行人检测的基础上,对不同场景中的目标行人进行再次检索。近几年来,行人再识别受到国内外学者的广泛关注,并取得了很大进步,但在跨域(数据集)测试中效果并不理想,在最新的跨域行人再识别研究中,R1平均准确率mR1(Mean Rank-1)最高只有43.6%。行人图像特征表示能力不强是跨域行人再识别准确率不高的主要原因。

目前,基于图像的行人再识别研究可以分为单一域行人再识别和跨域行人再识别。单一域行人再识别,按照分割图像提取特征的方法可以细分为3类:仅使用行人整体信息进行特征提取的方法[1 - 5]、仅使用行人局部信息进行特征提取的方法[6,7],以及使用行人整体信息和局部信息结合进行特征提取的方法[8 - 10]。郑鑫等[3]将行人图像的多种属性与注意力机制相结合提高行人再识别准确率;Zhao等[7]利用行人肢体分割网络将行人图像进行分割;Zhao等[10]采用将人体骨架分割的思想,将人体分割成14个连接点后再组合成6个区域,用于提取局部特征。跨域行人再识别方法可以细分为5类:基于风格迁移的方法[11 - 14]、基于图卷积神经网络的方法[15]、基于字典学习的方法[16]、基于特征对齐的方法[17]和基于多属性学习的方法[18,19]。Deng等[11 - 14]通过对抗生成网络实现测试域样本的风格迁移,目的是使模型可以学习到测试域的风格信息。潘少明等[15]利用图卷积神经网络建立了训练域和测试域近邻样本的跨域相似度联系方法,该方法在训练时需要联合训练域和测试域。Peng等[16]提出在训练域和测试域上同时进行字典学习,获取不同域之间的共有特征,用于跨域行人再识别。Lin等[17]在跨域行人再识别任务中采用了中间层特征对齐方法。Su等[18,19]分别通过采集行人的多种属性来提高跨域行人再识别的准确率。

这些跨域行人再识别方法存在一个共同点,它们都采用了基于CNN(Convolutional Neural Networks)的特征提取方法。但是,基于CNN的特征提取方法依然存在问题:由于频繁使用池化层,CNN各层之间传递信息损失大量存在[20];CNN模型过度依赖样本的数量; CNN特征不能很好地反映特征与整体之间的空间关系[21]。由于上述这些问题,基于CNN提取的特征,其表示能力受到了限制。

为了弥补CNN的不足之处,Sabour等[21]提出了胶囊网络。胶囊网络具有良好的特征表示能力[20,22];在数据样本较少和类不平衡的情况下,胶囊网络也能保持良好的性能[20,21];胶囊网络使用了新的动态路由算法,性能优于反向传播算法[20,21]。通过对比CNN网络和胶囊网络,本文选用胶囊网络为基础网路并对其进行改进。胶囊网络存在的不足之处主要有2点:由于胶囊网络属于浅层网络,当输入空间维度较大时,胶囊网络无法有效降低中间层特征维度,会消耗大量计算资源,导致算法运行缓慢;胶囊网络中耦合系数有极小化趋势[23],不利于梯度反向传播。

针对胶囊网络存在的问题和跨域行人再识别任务的要求,模型改进所面临的最大挑战是:既要增加网络深度,降低特征空间维度,又要求模型具备浅层网络的泛化性能。本文提出了深度胶囊网络,并且利用深度胶囊网络实现了一种基于无监督学习的跨域行人再识别方法。通过视角分类训练任务,本文模型可以获取图像中更有鉴别性的特征,这些特征可以直接迁移到跨域行人再识别任务中。特征提取过程没有利用测试域的任何信息,这是区别于目前所有跨域行人再识别方法的一个重要特点。在实验中,为了降低难度,本文设计的视角分类训练任务只设置了3种视角:正面、侧面和背面。实验结果表明,本文方法优于目前所有的无监督学习行人再识别方法,具有良好泛化能力。

本文的主要贡献是:

(1)采用乘法短连接结合改进的动态路由算法,缓解了深度胶囊网络梯度消失的问题;

(2)重新设计了特征提取层,充分利用乘法短连接的特性,提升了胶囊网络的高维信息处理能力,并具有良好的泛化能力。

2 相关工作

2.1 胶囊网络

2017年,Sabour等[21]提出了胶囊网络,采用动态路由机制,在多个数据集上取得了最优的分类性能。胶囊的概念在2011年由Hinton提出,胶囊是一组神经元,可以表示特定类型的对象或对象部分的实例化参数[21],实例化参数包括位置、纹理、形状和颜色等特征。目前,改进胶囊网络有很多方法,Fang等[24]设计了双输入端的Inception特征提取层,2种输入包括HHBlits蛋白谱和形状预测串;Chen等[25]将胶囊网络应用于原始震动信号的故障检测;Yang等[26]研究了自然语言处理中胶囊网络效率问题,提出了3种改进策略;Zhang等[22]结合胶囊网络设计了文档语法规则网络。

2.1.1 算法描述

胶囊网络由3部分组成:

第1部分是特征提取层。特征提取层由一层卷积和ReLU 激活函数组成,卷积核尺寸是9×9,输入通道数为3,输出通道数为256。

第2部分是初级胶囊层,如式(1)所示。初级胶囊层由8组卷积和Squash激活函数组成,卷积核尺寸是9×9,输入通道数为256,卷积输出张量为z(6×6×32)。初级胶囊层输出矩阵u(1152×8),其包含1 152(6×6×32)个胶囊,每个胶囊由包含8个特征维度的向量表示,如式(1)所示:

(1)

其中,ζ表示Squash激活函数,如式(2)所示;zP表示第p组卷积输出的张量,P表示胶囊中特征的维度,p∈{1,…,P},P=8[21]。

(2)

其中,o表示输入向量(胶囊)。

第3部分是数字胶囊层(Digit Capsule Layer)。数字胶囊层由动态路由算法构成,如算法1所示,其中输入胶囊由ui表示,ui∈u,u表示所有输入层的胶囊;输出胶囊由vj表示,每个输出胶囊表示一种分类。输入胶囊和输出胶囊关联方式类似于全连接方式。bij表示第i个输入胶囊对第j个输出胶囊的关联强度,bij∈bi,bi表示所有与输入胶囊ui相关的关联强度。关联强度bij经过Softmax函数运算生成耦合系数cij,cij∈ci,ci表示所有与输入胶囊ui相关的耦合系数。wij表示对输入胶囊(ui)进行仿射变换。

算法1动态路由算法

输入:输入胶囊向量ui。

输出:输出胶囊向量vj。

初始化:bij←0。

步骤1ci←Softmax(bi);/*i为输入胶囊编号*/

步骤2sj←∑icijwijui;/*j为输出胶囊编号*/

步骤3vj←Squash(sj);//定义如式(2)所示

步骤4bij←bij+wijuivj;

步骤5迭代r次执行步骤1~步骤4;

步骤6迭代结束,输出预测胶囊向量vj。

2.1.2 胶囊网络缺陷

胶囊网络模型主要有2个缺点:

(1)由于胶囊网络属于浅层网络,当输入空间维度较大时,胶囊网络将占用大量的计算资源和存储空间;

(2)由于胶囊网络中数字胶囊层的部分耦合系数(ci)有极小化的趋势[23],导致梯度损失,网络的中间层无法得到重分训练。

2.2 短连接

科研人员对短连接的研究已经有很长的时间[27 - 29]。早期的短连接是将线性单元应用于多层感知机网络[28,29],连接网络的输入端和输出端。Szegedy等[30,31]使用短连接将中间层与辅助分类器相连,解决了梯度消失和梯度爆炸的问题。文献[30]中,Inception模块也包含短连接,增强了特征的表示能力。He等[32 - 34]对短连接进行了深入研究,通过短连接成功解决了深度神经网络梯度消失和梯度爆炸的问题。不同的是,He等[32]使用了加法短连接,而Srivastava等[33,34]使用了乘法短连接,乘法短连接也称为门控机制或空间注意力机制。Wang等[35]将2种短连接方式融合,提出了残差注意力学习。Yang等[36]在注意力行人再识别网络中使用了短连接。

以二维输入信息为例,乘法短连接的数学表示如式(3)所示,加法短连接的数学表示如式(4)所示:

Og(X)=X⊗G(X)

(3)

Or(X)=X+R(X)

(4)

其中,X表示二维输入信息,Og(X)∈Rm×n表示乘法短连接的输出信息,G(X)∈Rm×n表示X的门控信息,R(X)∈Rm×n表示残差运算单元,⊗表示矩阵对应元素乘法,+表示矩阵加法。

3 问题定义

Figure 1 Deep capsule network and feature metric图1 深度胶囊网络以及特征度量

4 深度胶囊网络

针对2.1.2节中提到胶囊网络的2个缺点,本文通过重新设计特征提取层和改进数字胶囊层动态路由算法,提出了深度胶囊网络DCapNet(Deep Capsule Network)。

4.1 加深特征提取层

将胶囊网络应用于复杂任务时,由于其属于浅层网络,无法对高维输入空间进行有效的降维,会导致初级胶囊层输出过多的胶囊,进而会导致数字胶囊层的运算量成倍增加,胶囊网络运行效率十分低下。解决这个问题最直接的方法就是加深胶囊网络的特征提取层,控制初级胶囊层输入空间的维度。

本文设计的特征提取层结构有6层(不包括ReLU层),结构如图1所示,关键参数如表1所示。其中包括:空洞卷积层、最大池化层,模块1(B1)和模块2(B2)。空洞卷积层用于初次特征提取以及特征降维,空洞卷积核K=5×5,空洞系数D=2,跨步S=2。最大池化层用于特征降维,为了减少池化操作带来的特征损失,设计中限制了池化层的数量。为了避免加深特征提取层带来的梯度问题,本文将ResNet[32]中的残差块结构作为B1和B2的基本结构,如图2a所示。另外,鉴于Bottleneck[32]设计可以减少计算量,在残差块的基础上,将B1和B2中卷积层(conv1.1和conv2.1)的输出通道分别减少一半,卷积层(conv1.2和conv2.2)的输入通道数减半,结构参数如图2b和表1所示,B1和B2整体计算量减少了一半。最后,考虑到跨域识别的应用背景对模型的泛化能力要求较高,并且受到文献[33,37]的启发,将B1和B2中的加法短连接替换为乘法短连接,B1和B2的最终设计如图2c所示。下文从理论和实验两个方面对比2种短连接方法,以证明乘法短连接更适用于解决跨域问题。

Figure 2 Basic block in feature extraction layer图2 设计特征提取层基础模块

Table 1 Parameters of feature extraction layer

乘法短连接被Dauphin等[37]用于门控线性单元,有效缓解了梯度消失问题,模型收敛速度更快。乘法短连接如式(3)所示,对式(3)求导得到式(5):

(5)

加法短连接是目前解决梯度消失最常用的方法。对式(4)求导得到式(6):

(6)

通过理论对比,本文选择了乘法短连接,不仅可以缓解梯度消失问题,还可以增强特征表达能力,增强模型泛化性能。本文实验中也对比了2种连接方式,以证实乘法短连接的泛化性能优于加法短连接。

4.2 改进数字胶囊层

文献[23]研究表明,数字胶囊层动态路由算法的耦合系数的极小化趋势,会引起梯度消失问题。本文通过修改耦合系数生成函数,缓解了耦合系数的极小化趋势。

耦合系数由Softmax函数生成[21],Softmax函数定义如式(7)所示:

(7)

为了缓解极小化趋势,本文为Softmax函数增加了线性修正项m(T),如式(8)所示:

(8)

本文定义的耦合系数函数如式(9)所示:

α> 0,β> 0

(9)

其中α和β为比例系数,实验中分别选取9和1。

Softmax函数、m函数以及msoftmax函数的对比如图3所示。从图3中可以看出,输入向量中较小元素对应的输出得到了一定提升,由圆圈标出。

Figure 3 Comparition of softmax,m and msoftmax when input vector is (1,2,3)T图3 输入向量为(1,2,3)T 的Softmax函数、 m函数和msoftmax函数输出对比图

改进的数字胶囊层动态路由算法如算法2所示。

算法2改进的动态路由算法

输入:输入胶囊向量ui。

输出:输出胶囊向量vj。

初始化:bij←0。

步骤1ci←msoftmax(bi);/*定义如(9)式,i为输入胶囊编号*/

步骤2sj←∑icijwijui;/*j为输出胶囊编号*/

步骤3vj←Squash(sj);//定义如式(2)所示

步骤4bij←bij+wijuivj;

步骤5迭代r次执行步骤1~步骤4;

步骤6迭代结束,输出预测胶囊向量vj。

4.3 损失函数

本文模型的损失函数由2部分组成:一是行人图像视角分类损失函数,二是行人分类损失函数,如式(10)所示:

L=LMargin+ηLQuadCosine

(10)

其中,LMargin表示行人图像视角分类损失函数;LQuadCosine表示行人分类损失函数;η为比例系数,用于调节LMargin和LQuadCosine的权重比。

行人图像视角分类损失函数LMargin具体表示如(11)式所示:

(11)

其中,V表示行人图像特征向量集合;Tc表示是否为同一视角,如果V属于该视角则Tc=1,否则Tc=0;Mt为正样本分类值最大下界;Mb为负样本分类值最小上界;λ为正负样本分类损失权重。LMagin的值反映了行人图像视角分类的可信度,其中特征向量vi的模长表示与某个视角的相似性。

行人分类损失函数LQuadCosine具体表示如式(12)所示:

β1(max(0,cos(vi,vk)-margin1)+

max(0,cos(vi,vl)-margin1))+

β2max(0,cos(vl,vk)-margin2)),

si=sj,si≠sl,si≠sk,

vi∈V,vj∈V,vk∈V,vl∈V

(12)

其中,si,sj,sk,sl分别表示vi,vj,vk,vl的行人ID,margin1表示正负样本对特征最小距离,margin2表示负负样本对特征最小距离,β1表示正负样本对损失函数系数,β2表示负负样本对损失函数系数。LQuadCosine用于惩罚类内距离大而类间距离小的情况。

本文通过实验确定了超参数Mt,Mb,λ,β1,β2,margin1和margin2的值,分别为:Mt=0.9,Mb=0.1,λ=0.5,β1=1,β2=1,α=0.2,margin1=0.5,margin2=0.5。

5 实验与结果分析

5.1 模型训练测试以及评价标准

本文在CUHK03数据集上进行有监督训练生成模型,测试分别在Market1501、VIPeR和PRID450S数据集上单独进行。CUHK03数据集由香港中文大学采集,数据集中包含1 467个行人的28 194幅图像。Market1501数据集由清华大学采集,数据集中包含1 501个行人的32 668 幅图像。VIPeR数据集由加州大学圣克鲁斯分校采集,数据集中包含632个行人的1 264幅图像。PRID450S数据集由奥地利科技学院协助采集,数据集中包含450个行人的900幅图像。CUHK03、Market1501、VIPeR和PRID450S这4个数据集在4种不同的环境中采集,分别属于4个不同的域,模型的训练和测试分别在不同的域中进行,所以称之为“跨域”行人再识别。训练模型时,学习率LR设为0.000 01,批大小BS设置为4,动态路由算法迭代次数为1,输入图像尺寸为192×64。

本文选用的模型评价指标为R1和mR1。R1表示在某个数据集上搜索结果中第1幅行人图像即是正确结果的概率。mR1表示多数据集R1准确率的平均值,综合反映算法泛化能力。R1和mR1的计算方法分别如式(13)和式(14)所示:

R1=N1/N

(13)

(14)

其中,N1表示检索结果中首位命中的数量,N表示被检索的行人数量,M表示测试域的数量,R1i表示第i个域的R1准确率。

5.2 对比其他跨域行人再识别方法

表2为本文所提方法在VIPeR、PRID450S和Market1501数据集上与目前基于深度学习的最优跨域学习行人再识别方法比较结果。

表2结果表明:在VIPeR数据集上,R1值从39.1%提高到50.2%,提高了11.1个百分点。在PRID450S数据集上,R1值从35.1%提高到58.6%,提高了23.5个百分点。在Market1501数据集上,虽然本文算法的R1值没有超过PAN算法的,但只落后8.4个百分点。计算3个数据集上的R1平均准确率mR1,本文方法的mR1为54.7%,比第2名MMFA的高出11.1个百分点。通过上述分析可得,本文提出的方法是目前最佳跨域行人再识别方法。

Table 2 Comparison of different unsupervised methods 表2 与跨域行人再识别方法对比 %

5.3 对比2种短连接对模型泛化能力的影响

本节在Market1501数据集上测试加法短连接和乘法短连接对本文模型泛化能力的影响。将图1中B1和B2中的乘法短连接改为加法短连接,测试结果如表3所示。

Table 3 Comparison of addition shortcut and multiplication shortcut表3 加法短连接和乘法短连接的泛化能力对比

从对比结果可以看出,采用加法短连接的R1准确率(Market1501)为51.5%,而采用乘法短连接的R1准确率(Market1501)为55.2%,高出3.7个百分点。对比说明,采用乘法短连接更有助于提高模型的泛化能力。

5.4 对比不同参数耦合系数函数对模型的影响

本文定义的msoftmax耦合系数函数(式(9))中包含2个超参数α和β。本节在Market1501数据集上,对于不同α和β数值组合进行了对比实验,结果如表4所示。超参数(α,β)选取3种不同组合:(1,0),(9,1),(8,2)。从对比结果可以看出,(9,1)组合测试结果最好,高出第2名(1,0)组合0.3个百分点,说明改进的耦合系数函数缓解了胶囊网络的梯度问题。

Table 4 Comparison of different coupling coefficients表4 耦合系数函数不同参数组合对比

5.5 对比不同特征提取方法对模型的影响

本文设计的特征提取过程分为2个阶段S1和S2,如图1所示。S1包括空洞卷积层和B1,S2包括池化层和B2,S2在S1的基础上进一步降维,确保特征提取层输出特征的维度降到合理范围。此外,还有另一种更为简单的降维方法:只使用S1(空洞卷积层和B1)并且在图像预处理时直接缩小图像尺寸。这2种方法都可以有效降低特征提取层输出维度,区别在于第2种方法使用预处理降维代替了S2降维。

第1种方法的输入图像尺寸为192×64,用DCapNet(B1+B2)表示。第2种方法的输入图像尺寸为120×40,用DCapNet(B1)表示。本节对比了这2种特征提取层方法对模型准确率的影响,对比结果如表5所示。本文选用的结构DCapNet(B1+B2)的准确率高出DCapNet(B1)的0.8个百分点。对比说明,设计S2阶段是非常有必要的,比直接减小输入空间维度(图像尺寸)效果好。

Table 5 Comparison of different feature extraction methods表5 不同的特征提取方法对比

5.6 实验结果

图4所示为本文方法在Martket1501数据集上的测试结果,从测试结果中可以看出:给定行人正面图像可以正确找到侧面和背面图像,如图4a所示;给定行人侧面图像可以正确找到正面和背面图像,如图4b所示;给定行人背面图像可以正确找到侧面和正面图像,如图4c所示。上述分析表明,本文方法可以通过正面、侧面和背面行人图像查找到其他角度的行人图像,证明本方法有效。

Figure 4 Results on Martket1501图4 在Martet1501数据集上的测试结果

6 结束语

本文提出了基于无监督跨域行人再识别方法,通过视角分类任务训练,模型获取的行人特征可以直接迁移到行人再识别任务中。本文方法基于改进的胶囊网络模型DCapNet实现。通过改进胶囊网络的特征提取层和动态路由算法,DCapNet提升了处理大维度输入空间的能力,缓解了梯度消失问题。通过实验可知,本文提出的方法优于其他无监督行人再识别方法。后续工作将进一步研究特征表示方法,提高跨域行人再识别准确率。

猜你喜欢

跨域特征提取行人
跨域异构体系对抗联合仿真试验平台
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
G-SRv6 Policy在跨域端到端组网中的应用
毒舌出没,行人避让
路不为寻找者而设
基于Daubechies(dbN)的飞行器音频特征提取
我是行人
Bagging RCSP脑电特征提取算法
基于MED和循环域解调的多故障特征提取