1.一种基于深度学习的行人重识别方法,其特征在于:对输入到孪生神经网络中的一对数据提取特征的同时,在每一步降维或卷积操作之后计算两个输入数据之间的欧氏距离,由此获得一个欧式距离矩阵;利用该欧式距离矩阵设计一个损失函数,使用图像对或高维特征图像对计算出来的欧式距离,对最终使用特征序列对计算出的欧式距离进行优化,通过网络的梯度回传,优化参数,加速网络的训练;
包括如下步骤:
步骤1:将数据集划分成训练集和测试集,对数据集进行预处理,将来自同一目标的不同摄像头的图像组合作为一个正样本对,将来自不同目标的两张输入图像随机配对,作为负样本对;
步骤2:将分配好的正负样本对交替输入孪生神经网络中;
将一对样本对进行下采样,得到样本对的低维图像对;同时将样本对中两张图像分别作为孪生神经网络的两个输入;
步骤3:计算低维图像对之间的欧式距离;并使用卷积神经网络,分别提取输入到孪生神经网络中的样本对的特征,卷积神经网络中设置三个卷积层,图像每经过一次卷积操作后将特征图输出,最后得到三对不同维度的特征图;
步骤4:分别计算三对特征图对之间的欧氏距离;
步骤5:将卷积层最后输出的特征图对经过全连接层,得到特征序列对,并计算特征序列之间的欧式距离;
步骤6:将计算所得的五个欧氏距离置入距离矩阵,并使用距离矩阵计算距离损失;
步骤7:将特征序列对分别使用交叉熵损失计算出两个分类损失;
步骤8:将计算得到的距离损失和两个分类损失相加,得到网络最终损失;
步骤9:通过梯度回传更新网络中各参数的梯度,经训练之后得到有效的模型。
2.根据权利要求1所述的一种基于深度学习的行人重识别方法,其特征在于:数据集来自经典的行人重识别数据集,每个样本需要有来自于不同摄像头所拍摄的图像;并将数据划分为训练集和测试集,训练集和测试集各占比50%。
3.根据权利要求2所述的一种基于深度学习的行人重识别方法,其特征在于:所述的对数据进行预处理,包括将RGB图像转换为YUV图像,并将图像的每一层均减去该层的均值。
4.根据权利要求3所述的一种基于深度学习的行人重识别方法,其特征在于:下采样操作通过一个1*1的卷积核,设置stride为2或者3来实现降维操作,得到InputA_LR和InputB_LR,计算两张低分辨率图像之间的欧式距离,得到dist1;同时将样本对作为孪生神经网络中的两个输入,在卷积神经网络中执行特征提取操作;
所述的卷积神经网络的主体由三个卷积层以及一个全连接层组成,每个卷积层后面都连接了激活函数,激活函数是tanh或者ReLU。
5.根据权利要求3或4所述的一种基于深度学习的行人重识别方法,其特征在于:输入的数据经三个卷积层处理,并在每一次卷积操作后输出一个特征图,由于卷积层中卷积核设置为3*3或者5*5,所以每经过一次卷积操作后,特征图的维度将会越来越小,设三个卷积层layer1、layer2、layer3对应输出的特征对分别为FeatureA_1/FeatureB_1、FeatureA_2/FeatureB_2、FeatureA_3/FeatureB_3,三个特征图的维度呈递减;通过特征对分别计算出三个特征维度下的特征之间的欧式距离,分别为dist2、dist3、dist4。
6.根据权利要求5所述的一种基于深度学习的行人重识别方法,其特征在于:在经过第三层卷积层后,网络除了将特征对FeatureA_3/FeatureB_3输出以计算特征之间的欧式距离,也将该特征输入到全连接层;全连接层在减少特征数的同时,也将特征转化为1*n形式的特征序列,其中n为划分数据集时训练集拥有的样本数量;通过全连接层,将特征序列映射到n个特征上,得到输出序列FeatureA_4和FeatureB_4,为后面使用交叉熵损失计算分类损失做好准备。
7.根据权利要求6所述的一种基于深度学习的行人重识别方法,其特征在于:使用FeatureA_4和FeatureB_4计算卷积网络最后产生的特征序列间的欧式距离Dist5;至此将计算所得的五个欧式距离乘上相对应设置的权重后,置入距离矩阵Dist。
8.根据权利要求7所述的一种基于深度学习的行人重识别方法,其特征在于:使用交叉熵损失分别计算两个输出序列的分类损失,得到loss2和loss3;并使用公式来计算距离损失loss1;
计算网络损失的公式如下所示:
φ=[1,1,1,1,1](3)
loss=loss1+loss2+loss3(4)
其中,y为为每个样本对设置的标签,当样本对为正样本对时y=1,当样本对为负样本对时y=0;m为设置的正负样本类之间的距离阈值;φ是一个全为1的矩阵,用于矩阵间相乘。