1.基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,包括:S1、通过两台摄像机分别获取行人图像数据集1和行人图像数据集2,并对该数据集进行处理;对处理后的行人图像数据集1进行划分,得到训练集1、验证集1和测试集1;对处理后的行人图像数据集2进行划分,得到训练集2、验证集2和测试集2;
S2、基于摄像机1,构建端到端的行人检测和重识别网络模型1;基于摄像机2,构建端到端的行人检测和重识别网络模型2,模型1和模型2均包括改进后的SSD512网络、行人特征提取子网络和半监督字典学习模块;
S3、利用训练集1和验证集1训练端到端的行人检测和重识别网络模型1,得到目标模型
1;利用训练集2和验证集2训练端到端的行人检测和重识别网络模型2,得到目标模型2;
S4、将测试集1输入到目标模型2中,得到测试集1的行人检测和重识别结果;将测试集2输入到目标模型1中,得到测试集2的行人检测和重识别结果。
2.根据权利要求1所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,步骤S1中,划分行人图像数据集包括以下内容:S101、获取行人图像数据集1和行人图像数据集2包括两种方式:(1)从开源数据集网站下载两台摄像机对应的行人图像数据集1和行人图像数据集2;
(2)自制行人图像数据集1和行人图像数据集2,具体内容为:使用不同场景的两台摄像机采集设定数量的行人图像,每个行人采集两幅以上的图像,且两台摄像机捕捉到的行人有50%以上的重复率;每幅图像标注出所属的摄像机;
S102、将获取的行人图像保持原始宽高比,并将宽、高中最大的边缩放到设定像素,将缩放后的图像居中放置到设定大小的黑底图像中,并进行随机裁剪、缩放、水平翻转、随机改变图像亮度、随机改变图像对比度、随机改变图像色度、随机改变图像饱和度的处理,得到处理后的行人图像数据集1和处理后的行人图像数据集2;
S103、对处理后的行人图像数据集1和处理后的行人图像数据集2分别按比例进行划分,得到训练集1、验证集1、测试集1和训练集2、验证集2、测试集2;其中,训练集1和训练集2均包括有标记和无标记行人图像,验证集1、验证集2、测试集2和测试集2均包括有标记行人图像。
3.根据权利要求1所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,步骤S2中,构建端到端的行人检测和重识别网络模型包括以下内容:S201、对SSD512网络进行改进,得到改进后的SSD512网络,具体内容为:将主干网络更换为ResNet50,ResNet50包括依次连接的输入层、卷积模块1、卷积模块
2、卷积模块3、卷积模块4和卷积模块5;
将得到第一个多尺度输出结果的过程更换为依次经过ResNet50中卷积模块4和L2归一化的处理;在卷积模块6和卷积模块7中的每个卷积层和激活层之间增加一个批归一化层;
将多尺度网络的后四个卷积模块均更换为依次连接的步长为2的3×3卷积、批归一化、ReLU激活函数、步长为1的3×3卷积、批归一化和ReLU激活函数;
将定位分支设置为行人定位子网络;将识别分支设置为行人识别子网络,并将类别数更改为2,在行人识别子网络中每个卷积层之后添加一个批归一化层;
S202、在改进后的SSD512网络的多尺度网络和非极大值抑制模块之间增加行人特征提取子网络,该网络与行人定位子网络和行人识别子网络并行;行人特征提取子网络包括四个尺度和一个连接层,每个尺度均包括依次连接的步长为1的3×3卷积、批归一化层、ReLU激活函数和转维,四个尺度的转维均与连接层连接;
S203、半监督字典学习模块包括两台摄像机的结构化字典,结构化字典包括ck个子字典,k=1,2,ck表示摄像机k中所有行人类别数,ck个子字典包括共享子字典和独享子字典,两台摄像机的共享子字典相同,独享子字典各不相同。
4.根据权利要求1所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,步骤S3中,得到目标模型包括以下内容:S301、将端到端的行人检测和重识别网络模型1简称为Net1,将端到端的行人检测和重识别网络模型2简称为Net2;
端到端的行人检测和重识别网络模型包括检测部分和重识别部分,其中检测部分包括主干网络、多尺度网络、行人定位子网络和行人识别子网络,重识别部分包括行人特征提取子网络和行人重识别模块;将Net1中的检测部分和重识别部分分别简称为DetNet1和ReIdNet1,将Net2中的检测部分和重识别部分分别简称为DetNet2和ReIdNet2;
对DetNet1和DetNet2进行训练,具体内容为:
S3011、随机初始化DetNet1;
S3012、使用训练集1和训练集2对DetNet1进行训练,使用验证集1和验证集2对DetNet1的损失函数值进行计算,并计算该损失函数值与上一轮训练的损失函数值差值的绝对值;
如果该绝对值小于阈值,则结束训练,得到训练完成的DetNet1;否则继续进行训练;
DetNet1损失函数的表达式为:
;
其中, 表示DetNet1的损失函数,N表示与真实框匹配的定位预测框总数, 表示行人定位损失函数, 表示行人识别损失函数;
行人定位损失函数的表达式为:
;
其中,Pos表示与真实框匹配的所有定位预测框的集合;cx表示定位预测框、真实框中心点的横坐标;cy表示定位预测框、真实框中心点的纵坐标;w表示定位预测框、真实框的宽度;h表示定位预测框、真实框的高度; 表示指示函数; 表示smooth L1损失函数; 表示第i个定位预测框在cx时的值; 表示第i个定位预测框在cy时的值; 表示第i个定位预测框在w时的值;表示第i个定位预测框在h时的值; 表示第j个真实框相对于第i个定位预测框在cx的偏移量, , 表示第i个默认框在cx的值, 表示第j个真实框在cx的值, 表示第i个默认框在w的值; 表示第j个真实框相对于第i个定位预测框在cy的偏移量, , 表示第j个真实框在cy的值, 表示第i个默认框在cy的值, 表示第i个默认框在h的值; 表示第j个真实框相对于第i个定位预测框在w的偏移量, , 表示第j个真实框在w的值; 表示第j个真实框相对于第i个定位预测框在h的偏移量, , 表示第j个真实框在h的值;
且:
;
;
;
;
行人识别损失函数的表达式为:
;
其中,Neg表示未与真实框匹配的所有定位预测框的集合; 表示Pos中归一化后的第i个定位预测框属于第p类的置信度, , 表示Pos中第i个定位预测框属于第p类的置信度;表示Neg中的第r个定位预测框属于背景类的置信度; 表示对数函数;
采用随机梯度下降优化器更新DetNet1的网络权重和偏置,并采用poly策略进行学习率衰减,衰减公式为:;
其中,lr表示学习率衰减,lrinit表示初始学习率,iter表示当前迭代次数,max_iter表示最大迭代次数;
S3013、将训练完成的DetNet1中的网络权重和偏置传递给DetNet2,对DetNet2的网络权重和偏置进行初始化;
S302、固定DetNet1和DetNet2的网络权重和偏置,利用训练集1、验证集1和训练集2、验证集2分别训练ReIdNet1和ReIdNet2,具体内容为:S3021、随机初始化ReIdNet1和ReIdNet2;
S3022、利用训练集1和摄像机1的结构化字典D1计算行人特征所对应的稀疏编码;
S3023、利用有标记损失函数计算训练集1中有标记样本的梯度,采用随机梯度下降优化器更新D1;利用无标记损失函数计算训练集1中无标记样本的梯度,采用随机梯度下降优化器更新D1;
有标记损失函数 的表达式为:
;
其中, 表示摄像机k中第s个行人类别的行人特征, 表示使用Dk重构 的稀疏编码,Dk表示摄像机k的结构化字典, 表示使用 重构 的稀疏编码, 表示摄像机k的第s个行人类别的子字典,ck表示摄像机k中所有行人类别数, 表示摄像机k的第t个行人类别的子字典, 表示使用 重构 的稀疏编码,Ak表示使用Dk重构Xk的稀疏编码,Xk表示摄像机k中所有行人类别的行人特征; 表示F范数; 、均表示权重系数;
无标记损失函数 的表达式为:
;
其中, 表示摄像机k中无标记图像的行人特征, 表示使用Dk重构 的稀疏编码;
S3024、将D1中的共享子字典传递给摄像机2的结构化字典D2,并替换D2中相应的共享子字典;
S3025、利用训练集2和D2计算行人特征所对应的稀疏编码;
S3026、利用有标记损失函数计算训练集2中有标记图像的梯度,采用随机梯度下降优化器更新D2;利用无标记损失函数计算训练集2中无标记样本的梯度,采用随机梯度下降优化器更新D2;
S3027、将D2中的共享子字典传递给D1,并替换D1中的共享子字典;
S3028、循环执行步骤S3022‑S3027,直至ReIdNet1和ReIdNet2的半监督字典学习在训练集和验证集上的损失函数值都收敛,则结束训练;
半监督字典学习损失函数 的表达式为:
;
其中,表示权重系数;
S303、使用训练集1对Net1进行训练,使用验证集1对Net1的损失函数值进行计算,并计算该损失函数值与上一轮训练的损失函数值的差值的绝对值;如果该绝对值小于阈值,训练完成,得到训练完成的Net1,即目标模型1;否则继续进行训练;
使用训练集2对Net2进行训练,使用验证集2对Net2的损失函数值进行计算,并计算该损失函数值与上一轮训练的损失函数值的差值的绝对值;如果该绝对值小于阈值,训练完成,得到训练完成的Net2,即目标模型2;否则继续进行训练;
端到端的行人检测和重识别网络模型的损失函数 的表达式为:
。
5.根据权利要求3所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,步骤S4中,得到测试集1的行人检测和重识别结果包括以下内容:步骤1、将测试集1中的待识别行人图像样本输入到目标模型2中,经过多尺度网络得到第一尺度特征、第二尺度特征、第三尺度特征和第四尺度特征,将该特征分别输入到行人特征提取子网络的第一尺度、第二尺度、第三尺度和第四尺度中,得到第一尺度转维特征、第二尺度转维特征、第三尺度转维特征和第四尺度转维特征,将四个尺度的转维特征沿维度1串联连接,得到定位预测框的行人特征;
步骤2、将行人定位子网络输出的定位预测框的位置信息、行人识别子网络输出的定位预测框的行人置信度和定位预测框的行人特征共同输入到非极大值抑制模块中进行非极大值抑制操作,得到筛选后的定位预测框的位置信息、行人置信度和行人特征;
步骤3、将筛选后的行人特征输入到半监督字典学习模块中,得到稀疏编码,并根据稀疏编码之间的距离进行行人识别;
稀疏编码的计算公式为:
;
其中,xk表示摄像机k的一幅行人图像中的一个行人的特征, 表示摄像机k的第s个行人类别的子字典, 表示使用 重构xk的稀疏编码, ;
步骤4、计算稀疏编码与训练集2中每类样本的代表编码之间的欧氏距离,按距离值从小到大进行排序;其中,代表编码表示训练集中每类有标记样本稀疏编码的均值;
步骤5、根据步骤4的结果,若最小距离大于阈值 ,则把该待识别行人图像样本中行人的定位预测框标记为未知类;否则,统计该待识别行人图像样本中行人定位预测框的rank k识别结果;
步骤6、根据步骤5的结果,汇总测试集1中所有待识别行人图像样本的所有行人定位预测框的位置信息和rank k识别结果,得到测试集1的行人检测和重识别结果。
6.根据权利要求5所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,非极大值抑制操作包括以下内容:步骤1、将所有定位预测框放入候选集;
步骤2、根据定位预测框的行人置信度对候选集中的定位预测框进行排序,将行人置信度最高的定位预测框移出候选集,放入选定集;从候选集中删除与该定位预测框重叠面积大于阈值的定位预测框;
步骤3、重复步骤2,直至候选集为空停止;由于定位预测框的位置信息、行人置信度和行人特征一一对应,因此得到筛选后的定位预测框的位置信息、行人置信度和行人特征。
7.根据权利要求5所述的基于SSD和半监督字典学习的行人检测与重识别方法,其特征在于,步骤S4中,得到测试集2的行人检测和重识别结果包括以下内容:步骤1、将测试集2中的待识别行人图像样本输入到目标模型1中,获得相应的定位预测框的位置信息、行人置信度和稀疏编码;
步骤2、计算稀疏编码与训练集1中每类样本的代表编码之间的欧氏距离,按距离值从小到大进行排序;
步骤3、根据步骤2的结果,若最小距离大于阈值 ,则把该待识别行人图像样本中行人的定位预测框标记为未知类;否则,统计该待识别行人图像样本中行人定位预测框的rank k识别结果;
步骤4、根据步骤3的结果,汇总测试集2中所有待识别行人图像样本的所有行人定位预测框的位置信息和rank k识别结果,得到测试集2的行人检测和重识别结果。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述基于SSD和半监督字典学习的行人检测与重识别方法的步骤。
9.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至7中任一项所述的基于SSD和半监督字典学习的行人检测与重识别方法。