1.一种基于深度学习的行人跟踪与重识别方法,其特征在于,包括以下步骤;
步骤1:采用改进的YOLOv5‑Lite模型对视频图像逐帧进行行人目标检测;
步骤2:采用DeepSort模型对步骤1中每帧检测到的行人进行特征提取,生成.npy文件;
步骤3:采用Fastreid进行行人重识别检测,根据预设的行人图片底库进行特征提取,生成.npy文件;
步骤4:将步骤2中每个行人目标的特征提取结果与步骤3的特定行人底库的特征提取结果进行余弦相似度计算,公式如(1)所示,x1和x2为两个非0向量,如果大于阈值γ,则判别为需要重识别的特定行人目标,并进行利用改进的Deepsort模型的跟踪策略进行行人的跟踪,否则不进行目标跟踪所述步骤1包括如下子步骤:
步骤1.1:将数据集的图片输入改进后的YOLOv5‑Lite模型网络结构,在YOLOv5‑Lite的基础上加入了BiFPN模块,BiFPN实现跨尺度双向连接和快速归一化的结合,输入不同的特征权重,让网络自行学习,其采用Softmax‑based fusion的方式,将权重归一化到0和1之间如公式(2):其中,wi和wj为可学习权重;
步骤1.2:利用该卷积神经网络对图片进行特征提取,随后输出特征图,同时图片被划分为小方块并生成锚框,将标注的预测框和特征图进行关联,最后建立损失函数并开启端到端的训练,其中损失函数如公式(3)所示;
2 gt
其中ρ (b,b )代表了预测框和真实框的中心点的欧式距离,c代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离;v用来衡量两个矩形框相对比例的一致性,α是权重系数:
2.根据权利要求1所述的一种基于深度学习的行人跟踪与重识别方法,其特征在于,所述步骤3包括如下子步骤:步骤3.1:输入图片经过预处理之后,调用预训练模型ResNet50作为Backbone,随后通过Gem Pooling,将输出的特征图以聚合的方式,通过一个特征向量来代表一个目标,再经过Bnneck模块将前面所获得的特征向量做一定变化,最后定义Triplet loss来学习分类内的相像性和类内的区分度,使得不同的特征向量之间直接区分度更明显,而相同的特征向量之间更加趋同;
所述Triplet loss输入是一个三元组,包括锚示例、正示例、负示例,通过优化锚示例与正示例的距离小于锚示例与负示例的距离,实现样本之间的相似性计算,a:anchor,锚示例;p:positive,与a是同一类别的样本;n:negative,与a是不同类别的样本;margin是一个大于0的常数:L=max(d(a,p)‑d(a,n)+margin,0) (5)。
3.根据权利要求1所述的一种基于深度学习的行人跟踪与重识别方法,其特征在于,所述步骤4中的跟踪策略包括如下子步骤:步骤4.1:对选定重识别的特定行人目标利用NSA卡尔曼滤波算法进行跟踪,具体是以指数移动平均的方式更新帧t处第i个轨迹的外观状态t
其中fi是当前匹配检测的外观嵌入,并且α=0.9是动量项;
同时加入了自适应噪声,用来加强跟踪的鲁棒性,其中自适应噪声的协方差 如公式(7)所示:其中Rk是预先设定的常量测噪声协方差,ck是状态k下的检测置信度分数,并且在匹配过程中不再只使用外观特征距离,而是同时考虑外观和运动信息;
采用普通的全局线性分配来代替匹配级联,其中,分配矩阵C是外观成本Aa和动作成本Am的加权和:C=λAa+(1‑λ)Am (8)
其中权重因子λ设置为0.98;
步骤4.2:跟踪轨迹通过卡尔曼滤波算法预测之后,会对当前帧预测一个轨迹,如果预测出确认,就对当前帧进行detection,然后将检测框和已经确认的轨迹框做级联匹配,匹配完成之后将更新跟踪的检测框;
如果轨迹匹配失败,再进IoU匹配,如果能匹配成功,随后再进行更新,然后重复预测——观测——更新的跟踪过程,IoU匹配失败分为观测匹配失败和轨迹匹配失败:对于观测匹配失败,此时采用对其建立一个新的轨迹的方法,之后对其进行三次考察,如果依旧是实际目标则修改为确认;对于轨迹匹配失败,此时判断其是否是已被确认为行人或车,如果是未被确认的状态,就将其删除,反之,为其设置一个阈值,如果大于阈值max_age,则将其删除,认为其已移出观测范围,如果小于阈值,同样再对其进行三次考察,回到最开始的阶段。