一、什么是行人重识别
行人重识别(Person Re-identification也称行人再识别,简称为ReID,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术;或者说,行人重识别是指在已有的可能来源与非重叠摄像机视域的视频序列中识别出目标行人。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。在监控视频中,由于相机分辨率和拍摄角度的缘故,通常无法得到质量非常高的人脸图片。当人脸识别失效的情况下,ReID就成为了一个非常重要的替代品技术。ReID有一个非常重要的特性就是跨摄像头,所以学术论文里评价性能的时候,是要检索出不同摄像头下的相同行人图片。
行人重识别的研究面临着诸如图像分辨率低、视角变化、姿态变化、光线变化以及遮挡等带来的诸多挑战。比如,1)监控视频的画面一般比较模糊,分辨率也比较低,如图4(a)所示,所以利用人脸识别等方式无法进行重识别的工作,只能利用头部之外的人体外观信息进行识别,而不同行人的体型和衣着服饰有可能相同,这为行人重识别的准确度带来了极大的挑战;此外实际视频监控下的场景非常复杂,周边杂物较多,场景复杂,画面很容易出现遮挡等情况,如图4(b), 这种时候靠步态等特征就很难进行重识别。行人重识别的图像往往采自于不同的摄像机,由于拍摄场景、摄像参数不同,行人重识别工作一般存在光照变化及视角变化等问题,如图4(c)、(d)所示,这导致同一个行人在不同摄像机下存在较大的差异,不同行人的外貌特征可能比同一个人的外貌特征更相似;进行重识别的行人图像可能拍摄于不同的时间,行人姿态、衣着会有不同程度的改变。此外在不同的光照条件下,行人的外观特征也会有很大的差异,如图4(e)。以上情况都给行人重识别的研究带来了巨大的挑战,因此目前的研究距离实际应用层面还有很大的距离。
二、环境搭建
参考博文的地址:
行人重识别Deep person reid源码测试(Torchreid)(一)_Ysn0719的博客-CSDN博客_torchreid
代码下载的地址:
GitHub - KaiyangZhou/()): Torchreid: Deep learning person re-identification in PyTorch.
#**如果网速不错可以直接使用下面这行命令下载源码**
git clone https://github.com/KaiyangZhou/deep-person-reid.git
论文的地址:
https://arxiv.org/abs/1910.10093
下载训练好的模型:
Model Zoo — torchreid 1.4.0 documentation
数据集下载:
工程的使用方法的官方指导网址为:
How-to — torchreid 1.4.0 documentation
2.1创建虚拟环境并安装配置软件
git clone GitHub - KaiyangZhou/deep-person-reid: Torchreid: Deep learning person re-identification in PyTorch.
# 然后重新创建一个python版本为3.7的虚拟环境,命名为torchreid
conda create --name torchreid python=3.7
#激活环境
conda activate torchreid
#找到你所下载的源码文件夹
cd deep-person-reid-master/
# 安装环境依赖,这个前提是保证你已经找到正确的源码路径以及各包版本正确
pip install -r requirements.txt
#安装pytorch
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
2.2 怎么运行
当将上面的依赖环境都安装