1.基于局部‑整体联合知识蒸馏算法的步态识别模型压缩系统,其特征在于,包括教师模型Mt和学生模型Ms;其中:教师模型Mt由卷积网络、集合池化结构、水平金字塔池化结构以及全连接网络组成;
卷积网络由骨干网络和多层全局通道组成;
骨干网络由第一卷积模块、第二卷积模块以及第三卷积模块组成;
第一卷积模块由三层组成,其中:
第一层为标准卷积层,使用5×5的卷积核;第二层为标准卷积层,使用3×3的卷积核;
第三层为池化层,采用池化核为2×2、步长为2的最大池化层;
第二卷积模块由三层组成,其中:
第一层为标准卷积层,使用3×3的卷积核;第二层为标准卷积层,使用3×3的卷积核;
第三层为池化层,使用采用池化核为2×2、步长为2的最大池化层;
第三卷积模块由两层组成,其中:
第一层为标准卷积层,使用3×3的卷积核;第二层为标准卷积层,使用3×3的卷积核;
多层全局通道由第四卷积模块和第五卷积模块组成;
第四卷积模块由三层组成,其中:第一层为标准卷积层,使用3×3的卷积核;第二层为标准卷积层,使用3×3的卷积核;第三层为池化层,采用2×2的池化核;
第五卷积模块由两层组成,其中:
第一层为标准卷积层,使用3×3的卷积核;第二层为标准卷积层,使用3×3的卷积核;
教师模型Mt中集合池化结构有四个,水平金字塔池化结构有两个,全连接网络有一个;
定义四个集合池化结构分别为第一、第二、第三以第四集合池化结构;定义两个水平金字塔池化结构分别为第一、第二水平金字塔池化结构;
全连接网络包括第一全连接子网络以及第二全连接子网络;
第一卷积模块的输出与第二卷积模块的输入相连;
第一卷积模块的输出还通过第一集合池化结构与第四卷积模块的输入相连;
第二卷积模块的输出与第三卷积模块的输入相连;
第二卷积模块的输出与第二集合池化结构的输入相连,第二集合池化结构的输出与第四卷积模块的输出进行对应位置相加后,与第五卷积模块的输入相连;
第三卷积模块的输出与第三集合池化结构的输入相连,第三集合池化结构的输出与第五卷积模块的输出进行对应位置相加后,与第一水平金字塔池化结构的输入相连;
第三卷积模块的输出还通过第四集合池化结构与第二水平金字塔池化结构的输入相连;
第一水平金字塔池化结构的输出与第一全连接子网络的输入相连;
第二水平金字塔池化结构的输出与第二全连接子网络的输入相连;
第一全连接子网络和第二全连接子网络的输出作为教师模型Mt的输出;
第一、第二水平金字塔池化结构均有五个尺度;
第一全连接子网络、第二全连接子网络分别包括31个独立的全连接神经网络层;
学生模型Ms由精简卷积网络、集合池化结构、精简水平金字塔池化结构以及精简全连接网络组成,其中:精简卷积网络由第六卷积模块、第七卷积模块以及第八卷积模块组成;
第六卷积模块由两层组成,其中:第一层为标准卷积层,使用5×5的卷积核;第二层为池化层,使用采用池化核为2×2、步长为2的最大池化层;
第七卷积模块由三层组成,其中:
第一层为深度分离卷积层,使用5×5的卷积核;第二层为点卷积层,使用1×1的卷积核;第三层为池化层,采用池化核为2×2、步长为2的最大池化层;
第八卷积模块由两层组成,其中:
第一层为深度分离卷积层使用3×3的卷积核;第二层为点卷积层,使用1×1的卷积核;
第六卷积模块、第七卷积模块以及第八卷积模块依次相连;
定义学生模型Ms中集合池化结构为第五集合池化结构;
第八卷积模块的输出通过第五集合池化结构与精简水平金字塔池化结构的输入相连;
精简水平金字塔池化结构的输出与精简全连接网络的输入相连;
精简水平金字塔池化结构只有一个尺度;精简全连接网络包括16个独立的全连接神经网络层;精简全连接网络的输出作为学生模型Ms的输出。
2.基于局部‑整体联合知识蒸馏算法的步态识别模型压缩方法,基于权利要求1所述的基于局部‑整体联合知识蒸馏算法的步态识别模型压缩系统;其特征在于,所述步态识别模型压缩方法包括如下步骤:步骤1.利用背景减除法提取步态视频中步态轮廓序列,并统一裁剪成大小相同的图片集,构成数据集X,将数据集X划分为训练集Xtrain和测试集Xtest;
步骤2.用训练集Xtrain训练教师模型Mt,设定学习率和迭代次数,优化器采用Adam优化器,损失函数采用如公式(1)所示的三元组损失函数Ltri;
式中,Ntri+表示一个训练样本子集中所有欧式距离不为0的两个样本组成的样本对的总数;训练样本子集为每次训练时从训练集Xtrain中随机选取的若干个样本图像构成的集合;
n表示教师网络的全连接神经网络层的数量,t表示教师网络的全连接神经网络层的序号;
P表示每个训练样本子集中包含的行人数量;
i和p分别表示每个训练样本子集中待训练的行人样本序号;
K表示每个训练样本子集中每个行人的视频序列数量;
a、j和k分别表示每个训练样本子集中行人视频序列的序号;
m表示损失函数的边界阈值;
表示第i个训练样本子集中第j个待训练的样本;
表示第i个训练样本子集中与 所代表的行人身份相同的任一样本;
表示第p个训练样本子集中与 所代表的行人身份不同的任一样本;
符号|| ||2表示矩阵的2‑范数;
[]+表示ReLU运算,计算方法为:[x]+=max{0,x},max为取最大值操作;
步骤3.将训练集Xtrain输入到训练好的教师模型Mt和未训练完成的学生模型Ms,分别得到同一个数据集在教师模型Mt的卷积网络输出的多维度特征矩阵 在学生模型Ms的精简卷积网络输出的多维度特征矩阵 以及在教师模型Mt的全连接网络输出的多维度特征矩阵 在学生模型Ms的精简全连接网络输出的多维度特征矩阵多维度特征矩阵 和多维度特征矩阵 的维度为b×s×c×h×w;多维度特征矩阵和多维度特征矩阵 的维度为b×n×d;其中,b表示每个训练样本子集中样本的数量;s表示帧数;c表示卷积层输出特征矩阵的数量,h表示卷积网络输出特征矩阵的高度,w表示卷积网络输出特征矩阵的宽度,d表示全连接网络输出的特征矩阵的维度;
步骤4.使差异度量函数Lc_dis,计算多维度特征矩阵 和多维度特征矩阵 之间的差异;其中,差异度量函数Lc_dis的计算公式如下:式中,差异度量函数Lc_dis代表局部蒸馏损失,符号 代表矩阵的F‑范数;
步骤5.使用公式(3)分别计算多维度特征矩阵 和多维度特征矩阵 中每个样本的差异,其结果分别用 表示;
其中, 表示教师模型输出的特征矩阵中所有同类别样本间的距离; 表示教师模型输出的特征矩阵中所有异类别样本间的距离; 表示学生模型输出的特征矩阵中所有同类别样本间的距离; 表示学生模型输出的特征矩阵中所有异类别样本间的距离;
表示训练教师模型时,第i个训练样本子集中类别相同的第j个待训练的样本;
表示训练教师模型时,第p个训练样本子集中类别相同的第k个待训练的样本;
表示训练教师模型时,第i个训练样本子集中类别不同的第j个待训练的样本;
表示训练教师模型时,第p个训练样本子集中类别不同的第k个待训练的样本;
表示训练学生模型时,第i个训练样本子集中类别相同的第j个待训练的样本;
表示训练学生模型时,第p个训练样本子集中类别相同的第k个待训练的样本;
表示训练学生模型时,第i个训练样本子集中类别不同的第j个待训练的样本;
表示训练学生模型时,第p个训练样本子集中类别不同的第k个待训练的样本;
步骤6.使用公式(1)所示的三元组损失函数Ltri,分别计算 和 的三元组损失 和 具体计算公式如公式(4)和(5)所示;
其中, 表示教师模型中一个训练样本子集中所有欧式距离不为0的两个样本组成的样本对的总数;
其中, 表示学生模型中一个训练样本子集中所有欧式距离不为0的两个样本组成的样本对的总数;
利用公式(6)中Smooth L1损失函数计算三元组损失 和 的全部蒸馏损失Lf_dis;
步骤7.将局部蒸馏损失Lc_dis、全部蒸馏损失Lf_dis、三元组损失 和 进行整合,计算得到总损失Ltotal,具体计算公式如下:其中,α为蒸馏损失权值;
步骤8.设定学生模型Ms迭代次数,优化器选用Adam优化器,通过降低损失值Ltotal,将教师模型的知识转移到学生模型中;
步骤9.测试集Xtest的行人视频序列输入到学生网络Ms中进行识别,得到识别结果。