基于深度学习的行人重识别系统

一、行人检测方法介绍

YOLO主要用于对象识别和重定位,最大的特点就是快,只需要看图片一次就能知道有哪些对象以及它们的位置,可以用于实时系统。因此我们采用YOLO进行行人检测。这是YOLOv4的网络结构图和检测效果。

YOLOv4网络结构图
行人检测效果

二、行人重识别方法介绍

在确定我们的重识别方法之前,我们分析了现在主流的行人重识别算法,主要分为两类,一是表征学习,二是度量学习。

2.1 表征学习(Representation learning)

表征学习把行人重识别的问题当作分类问题,最开始只用personID来计算分类误差损失,但是行人的ID信息不足以学习出一个泛化能力足够强的模型,有相关的工作额外标注了行人的属性特征,比如性别,衣着等,这种方法虽然有效,但在实际情况中表征学习容易出现过拟合,并且personID增加到一定程度时训练会比较吃力。
表征学习

2.2 度量学习(Metric learning)

度量学习目的是学习两张图片的相似度,这里的相似度只两张图片特征向量之间的距离。网络的损失函数使得正样本离原始图片越来越近,负样本离原始图片越来越远。
三元组损失
只考虑全局特征
如果只考虑全局特征计算图片的距离有很多缺点,比如检测框检测不准确,动作不一致、有遮挡、相似的两个人这些情况都会影响图片的相似度计算。
在这里插入图片描述
结合局部特征
于是有相关的工作就考虑结合局部特征计算,例如这两张图片被垂直分割,分割好的图像块按照顺序送到LSTM网络中,最终得到的特征融合了所有图像块的局部特征。这种方法的缺点在于对图像对齐的要求较高,如果两个图片没有上下对齐,反而会使模型判断错误。
结合局部特征
局部对齐
又有人提出将图片的局部特征对齐,对齐的方法需要对人体进行骨骼关键点检测或者姿态估计,将检测到的人体关键部位切割出来,让这些关键部位去匹配。因此需要额外训练骨骼关键点检测或者姿态估计模型,代价非常大。
姿态估计解决局部对齐

三、基于深度学习的行人重识别系统

下面介绍我们采用的方法如何解决局部对齐的问题。仍然将图片垂直分割,分别提取图片A和图片B的局部特征,将这8个特征向量和这8个特征向量两两组合计算距离得到8*8的矩阵,然后利用动态规划法(也就是这个公式)求从(0,0)这个点到(7,7)这个点的最短路径,即可得到最佳的匹配效果。图片A的第0块和图片B的第4块匹配,图片A的第1块和图片B的第4块匹配,图片A的第2块和图片B的第5段匹配,以此类推。
动态规划解决局部对齐
解决了局部对齐的问题,下面来看一下AlignedReID++的总体框架,在训练的时候,加载一批图片经过ResNet50网络提取特征向量,总的损失函数由分类损失函数和度量学习的三元组损失函数相加得到,三元组损失函数融合了global distance和local distance,global distance就是计算两个全局特征向量的欧氏距离,local distance由前面介绍的动态规划的方法得到。在测试阶段,去掉local distace 和 Softmax这两个分支,仅利用global feature计算两张图片的相似度。经过实验表明,仅考虑global feature Rank1的精度损失大概0.3%左右,但是模型的效率大大提升了。
AlignedReID++模型框架
基于YOLOv4和AlignedReID++模型我们实现了行人重识别的系统,系统的算法流程如下,原始图像经过YOLOv4筛选出行人,将筛选出的行人与待查询的行人图片放入预训练的ResNet50提取global feature,然后计算欧式距离,根据距离排序挑选相似度最大的行人。
算法流程
演示视频链接:行人重识别系统演示

四、总结与展望

在系统实现的过程中我们也发现了系统存在一些不足,最明显的是在昏暗条件下或者曝光太强都会影响重识别的效果,这些缺点还有待改进。
昏暗条件系统演示
曝光过强影响匹配
另外,目前单帧的重识别研究还是主流,但是通常单帧图像的信息是有限的,所以我下一步工作可以考虑利用视频序列辅助行人重识别的研究,运动信息或位置信息可以弥补由于光照等原因造成的错误识别。
视频序列
邮箱:1771729370(a)qq.com

  • 8
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值