1.一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,具体按照以下步骤实施:步骤1、从标准数据集中获取初始行人图像集Imgsini={Iini|ini=1,2,...,N},初始行人标签集Labelsini={Lini|ini=1,2,...,N},N表示初始行人图像个数;
步骤2、对Imgsini提取CNN特征,得到特征集Feasini={Fini|ini=1,2,...,N};
步骤3、把特征集Feasini作为输入,调用核主成分分析函数KPCA(),计算得到初始的基矢量系数 和初始的奇异值R表示初始主成分个数;
步骤4、把Feasini、A0、Labelsini作为输入,调用零空间变换函数NFST(),得到零空间投影方向集ΨS0和零空间的投影点集XS0, i=1,2,...,N,c=1,
2,...,C,j=1,2,...,C-1,C表示行人类别个数;
步骤5、迭代执行增量学习和压缩过程,输入为Feasini,Labelsini,A0,Σ0,增量的行人图像集 增量的行人图像标签集 输出更新的零空间投影方向集ΨSnew,零空间的投影点集XSnew,压缩后的样本特征集 压缩后的样本标签集 压缩后的基矢量系数A2,压缩后的奇异值Σ2;
步骤6、从标准数据集中获取测试行人图像集Imgsz={Iz|z=1,2,...,Z},测试行人标签集Labelsz={Lz|z=1,2,...,Z},Z表示测试行人图像个数;
步骤7、对测试行人图像集Imgsz提取CNN特征集Feasz={Fz|z=1,2,...,Z};
步骤8、定义无参核函数 通过核函数G0(x,y)计算测试样本特征集Feasz和压缩样本特征集 的核矩阵Kz,其中 Kz在零空间投影方向集ΨSnew上投影得到投影点集XStest,XStest={xcjtest|c=1,2,...,C,j=1,2,...,C-
1};
test new 0
步骤9、计算XS 与XS 或XS之间的欧式距离D={dcc|c=1,2,...,C},按升序对D的每一行进行排序,根据每一行最小值对应的行人类别号与测试行人图像的类别号的一致性进行行人类别判断,如果一致则识别正确,否则识别不正确。
2.根据权利要求1所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤2具体过程为:把初始行人图像集Imgsini和初始行人标签集Labelsini送入ResNet50网络结构进行训练得到模型M_ResNet50;把Imgsini送入模型M_ResNet50,提取第五个池化层的2048维输出构成Imgsini的特征集Feasini={Fini|ini=1,2,...,N}。
3.根据权利要求1所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤3具体过程为:步骤3.1、输入:CNN特征集Feasini={Fini|ini=1,2,...,N};
步骤3.2、定义核函数 通过核函数G(x,y,σ)计算Feasini和Feasini的核矩阵K′,其中x∈Feasini,y∈Feasini,σ=100;
步骤3.3、对核矩阵K′去中心化得到K=(v′)T×K′×v′,其中v'为中心化矩阵,v为N×1维的均值矩阵,v'=IN-v11,N, IN为N×N维的单位阵,11,N为1×N维的全1矩阵,1N,1为N×1维的全1矩阵;
步骤3.4、对K进行特征值分解:K=QΔQT,得到特征值Δ和特征向量Q;
步骤3.5、按降序对Δ进行排序,取前R个特征值Δr对应的特征向量Qr作为Feasini的核主成分,1≤R≤rank(Q),rank(Q)函数求取Q的秩;
步骤3.6、计算Feasini的初始基矢量系数A0和初始奇异值Σ0:A0=v'×Qr×(Δr)-1/2,Σ0
1/2
=(Δr) ,并输出:
4.根据权利要求1所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤4具体过程为:步骤4.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N}、初始行人标签集Labelsini={Lini|ini=1,2,...,N}、初始的基矢量系数步骤4.2、定义无参核函数 通过核函数G0(x,y)计算Feasini和Feasini的核矩阵K″,其中x∈Feasini,y∈Feasini;
步骤4.3、计算初始的基矢量系数A0和去中心化的核矩阵K″的内积矩阵H0:H0=(A0)T×K″×(I-L)
0 T 0
其中(A) 是A的转置矩阵,I为N×N的单位阵,L为块对角阵,其中Nc为第c个行人的图像个数,c∈{1,2,...,C},C为行人类别数;
步骤4.4、计算H0的协方差矩阵T0=H0×H0T,把T0作为输入,调用零空间求解数学函数null(),得到零空间的解向量集步骤4.5、计算零空间的投影方向集ΨS0,ΨS0=A0×ΒS0,ΨS0的值表示为:步骤4.6、计算K在零空间的投影点集XS0,XS0=K×ΨS0,XS0的值表示为:步骤4.7、输出:ΨS0和XS0。
5.根据权利要求1所述一种基于压缩的改进增量核零空间变换的行人再识别方法,其特征在于,步骤5具体过程为:步骤5.1、初始化:增量学习计数器t=1,增量学习总次数Tm;
步骤5.2、从标准数据集中获取新增行人图像集 新增行人标签集 Nt表示新增行人图像个数;
步骤5.3、对 提取CNN特征集
0 0
步骤5.4、把Feasini、 A、Σ作为输入,通过增量核主成分计算函数IKPCA(),计算得到压缩前的基矢量系数 和压缩前的奇异值为步骤5.5、把Feasini、 Labelsini、 A1、Σ1作为输入,调用RS压缩函数Compress(),计算得到压缩后的样本特征集 压缩后的基矢量系数 压缩后的奇异值 压
缩后样本的标签集 Pt表示压缩后样本的图像个数;
步骤5.6、把 A2、 作为输入,调用步骤4的零空间变换函数NFST(),计算得到零空间的投影方向集ΨSnew和零空间的投影点集XSnew,步骤5.7、对Feasini,Labelsini,A0,Σ0,ΨS0,XS0进行更新,
0 2 0 2 0 new 0 new
A=A,Σ=Σ,ΨS=ΨS ,XS=XS ;
步骤5.8、增量学习计数器t=t+1,当t≤Tm时,进入步骤5.2,否则进入步骤6。
6.根据权利要求5所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤5.4具体过程为:步骤5.4.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N},新增行人特征集压缩前的基矢量系数A0和压缩前的奇异值Σ0,N表示初始行人图像个数,Nt表示新增行人图像个数;
步骤5.4.2、计算去中心化矩阵γ:
其中 是N×Nt维的全零矩阵,w′表示新增样本中心化矩阵,w表示新增样本均值矩阵,v表示初始样本均值矩阵, 表示Nt×Nt维的单位阵, 表示1×Nt维的全1矩阵, 表示Nt×1维的全1矩阵,1N,1是N×1维的全1矩阵;
步骤5.4.3、合并Feasini和 得到合并的样本特征集 通过核函数G(x,y,σ)计算Feasini和Feas的核矩阵K1,其中x∈Feasini,y∈Feas,σ=100,计算Feas和Feas的核矩阵K2,其中x∈Feas,y∈Feas,σ=100;
步骤5.4.4、计算矩阵L:
L=(A0)T×K1×γ
步骤5.4.5、计算矩阵η:
步骤5.4.6、计算矩阵Mh:
Mh=ηT×K2×η
步骤5.4.7、对Mh进行特征值分解Mh=QhΔhQhT得到特征值Δh和特征向量Qh;
步骤5.4.8、按降序对Δh进行排序,取前Rh个特征值Δrh对应的特征向量Qrh作为Feas的核主成分,1≤Rh≤rank(Qrh),函数rank()返回Qh的秩;
步骤5.4.9、计算矩阵Ω和矩阵M:
Ω=η×Qrh×Δrh-1/2
1/2
M=Δrh ×Qrh
步骤5.4.10、计算矩阵F:
步骤5.4.11、对矩阵F进行SVD分解得到酉矩阵Uf,Vf和对角阵Sf;
步骤5.4.12、计算基矢量系数Psi:
步骤5.4.13、对压缩前的基矢量系数A1和奇异值Σ1分别赋值,A1=Psi:,1:R,
7.根据权利要求5所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤5.5具体过程为:步骤5.5.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N},初始行人标签集Labelsini={Lini|ini=1,2,...,N},新增行人特征集 新增行人标签集 压缩前的基矢量系数
压缩前的奇异值
N表示初始行人图像个数,Nt表示新增行人图像个数;
步骤5.5.2、把Feasini、Labelsini、 A1作为输入,调用RS扩展函数IterCompress()进行样本压缩和一次基矢量系数估计,得到压缩后的样本特征集压缩后的样本标签集 一次估计的基矢量系数 Pt为压缩后的样本个数;
步骤5.5.3、把Feasini、 A1、A1f作为输入,调用RS空系数填充函数FillRs()进行二次基矢量系数估计,得到二次估计的基矢量系数步骤5.5.4、把Feasini、 A1、Σ1、A1s作为输入,调用基正交化函数Orthogonalization(),计算得到压缩后的基矢量系数A2和压缩后的奇异值Σ2,步骤5.5.5、输出:A2,Σ2,
8.根据权利要求7所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤5.5.2具体过程为:步骤5.5.2.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N},初始行人标签集Labelsini={Lini|ini=1,2,...,N},新增行人特征集 新增行人标签集 压缩前的基矢量系数
N表示初始行人图像个数,Nt表示新增行人图像个数;
1f
步骤5.5.2.2、初始化一次估计的基矢量系数A =NULL,压缩后的行人特征集压缩后的行人标签集 NULL为空集;
步骤5.5.2.3、合并Feasini和 得到合并的行人特征集 合并Labelsini和 得到合并后的行人标签集Labels=[Labelsini,Labelstinc];
步骤5.5.2.4、初始化A1f的基矢量个数计数器j=1;
步骤5.5.2.5、对压缩中的临时变量Feas1,Labels1, 赋初值,Feas1=Feas,Labels1=Labels,步骤5.5.2.6、从Feas1随机选取m个特征构成特征集Feasm,并从Labels1中找出对应特征的标签构成标签集Labelsm,1≤m≤(N+Nt);
步骤5.5.2.7、通过核函数G(x,y,σ)计算Feasm和Feas1的核矩阵Km,其中x∈Feasm,y∈Feas1,σ=100;
步骤5.5.2.8、通过公式 计算得到fval;
步骤5.5.2.9、按升序对fval进行排列,根据最小值对应的索引号,从Feasm中找到对应行人特征Fj,从Labelsm中找到Fj对应的行人标签Lj;
步骤5.5.2.10、通过核函数G(x,y,σ)计算Fj和Fj的核矩阵Kj,其中x∈Fj,y∈Fj,σ=100,计算Fj和Feas1的核矩阵Ks,其中x∈Fj,y∈Feas1,σ=100;
步骤5.5.2.11、通过公式 计算第j个基矢量系数 Kj-1表示Kj的逆矩阵;
步骤5.5.2.12、更新压缩后的数据集 A1f,步骤5.5.2.13、更新临时变量:
步骤5.5.2.14、j=j+1,当j≤R时,进入步骤5.5.2.6,否则进入步骤5.5.2.15;
步骤5.5.2.15、输出: A1f。
9.根据权利要求7所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于:步骤5.5.3的具体过程如下:步骤5.5.3.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N},新增行人特征集 压缩前的基矢量系数一次估计的基矢量系数
压缩后的行人特征集 N表示
初始行人图像个数,Nt表示新增行人图像个数,Pt表示压缩后的行人图像个数;
步骤5.5.3.2、初始化:二次估计的基矢量系数A1s=NULL,A1s的个数计数器j=1;
步骤5.5.3.3、通过核函数G(x,y,σ),计算Feas和Feas的核矩阵K11,其中x∈Feas,y∈Feas,σ=100,计算 和Feas的核矩阵K22,其中 计算和 的核矩阵K33,其中
步骤5.5.3.4、二次估计第j个基矢量系数步骤5.5.3.5、把Feas、 作为输入,调用角度差值函数GetAng(),计算得到压缩前基矢量系数 和一次估计基矢量系数 的差值向量diff1;
步骤5.5.3.6、把Feas、 作为输入,调用角度差值函数GetAng(),计算得到压缩前基量系数 和二次估计基矢量系数 的差值向量diff2;
步骤5.5.3.7、根据差值更新二次估计的基矢量系数:当diff2≥diff1时,否则步骤5.5.3.8、基矢量个数计数器j=j+1;当j≤R时循环步骤5.5.3.6,否则进入步骤
5.5.3.9;
步骤5.5.3.9、输出:二次估计的基矢量系数A1s。
10.根据权利要求7所述一种基于压缩的增量核零空间变换的行人再识别方法,其特征在于,步骤5.5.4具体过程为:步骤5.5.4.1、输入:初始行人特征集Feasini={Fini|ini=1,2,...,N},新增行人特征集 压缩前的基矢量系数压缩前的奇异值
二次估计的基矢量系数
压缩后的行人特征集
和Feas的核矩阵K22, 和 的核矩阵K33,N表示初始行人图像个数,Nt表示新增行人图像个数,Pt表示压缩后的行人图像个数;
步骤5.5.4.2、计算核矩阵K33的范数Mo=(A1s)T×K33×A1s;
步骤5.5.4.3、对Mo进行特征值分解Mo=QoDoQoT得到特征值Do和特征向量Qo;
步骤5.5.4.4、计算正交基Ob, 其中 为二次估计的基矢量;
步骤5.5.4.5、计算二次估计基矢量在正交基上的投影矩阵proj,并标准化为projN,数学函数 返回值为 的对角矩阵;
步骤5.5.4.6、二次估计基矢量正交化:UO为正交化后的二次估计基
矢量,压缩后的基矢量系数A2=B×projN,压缩后的奇异值Σ2=(A2)T×K22×A1×Σ1;
步骤5.5.4.7、输出:压缩后的基矢量系数A2和奇异值Σ2。