行人重识别Deep person reid复现:

最近有接触一个行人重识别相关的项目,网上没有找到很详细的教程复现,这里记录下自己根据官方说明文档的测试流程,也是对先人前辈的工作做一个搬运,另外也用来给自己做备忘录,希望能够带给大家一点点参考。
源码网址:https://github.com/KaiyangZhou/deep-person-reid
论文网址:https://arxiv.org/abs/1910.10093
训练好的模型:https://kaiyangzhou.github.io/deep-person-reid/MODEL_ZOO
数据集下载:Market-1501
操作系统:Linux

“我试了在Windows下配置环境,在执行setup.py时出问题了,在Linux服务器上很正常。感觉应该是自己笔记本GPU显卡驱动不正常,也不太会配置,看源码好像是用了CUDA的,估计是这个问题。”

1、 配置源码环境

由于网速一般,在配置环境加载的同时,我跑去网址下载了源码数据集,节省等待时间,关于网速有时候真的感觉太难了。

 #**如果网速不错可以直接使用下面这行命令下载源码**git clone https://github.com/KaiyangZhou/deep-person-reid.git
# 然后重新创建一个python版本为3.7的虚拟环境,命名为torchreid
conda create --name torchreid python=3.7
#激活环境
conda activate torchreid
#找到你所下载的源码文件夹
cd deep-person-reid-master/
# 安装环境依赖,这个前提是保证你已经找到正确的源码路径以及各包版本正确
pip install -r requirements.txt

# 安装torch和torchvision(选择适合你电脑的cuda版本)
# 具体可以查看pytorch官网网站,有对应命令可以选择
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

关于查看系统、gpu、cuda版本等的命令我用的是以下两条:

uname -a # 显示电脑以及操作系统的相关信息
nvidia-smi # 查看显存的使用情况

可以看到我的CUDA是11.0所以选择对应命令安装torch和torchvision即可

这里安装pytorch的时候可能会出现问题,可以输一下pip list命令来检查下环境中的包版本是不是正确,不过安装的时候不报错就没事。

# 最后一步安装torchreid的setup.py这个执行文件,环境就配置完成
python setup.py develop

2、 数据集在这里直接使用的是Market1501数据,需要先到网址下载这个数据,然后解压后,放置到源码"deep-person-reid-master"——>“reid-data”——>"market1501"文件夹下面。我的文件目录是下面这样的:

3、 在deep-person-reid-master文件夹下面新建一个py文件,我命名为getstart30.py把官网上的这一段代码复制粘贴上即可。

# 模块引入
import torchreid
# 加载数据管理器
datamanager = torchreid.data.ImageDataManager(root='reid-data',sources='market1501',targets='market1501',height=256,width=128,batch_size_train=32,batch_size_test=100,transforms=['random_flip', 'random_crop']
)
# 构建模型、优化器和lr_scheduler
model = torchreid.models.build_model(name='resnet50',num_classes=datamanager.num_train_pids,loss='softmax',pretrained=True
)model = model.cuda()optimizer = torchreid.optim.build_optimizer(model,optim='adam',lr=0.0003
)scheduler = torchreid.optim.build_lr_scheduler(optimizer,lr_scheduler='single_step',stepsize=20
)
# Build engine
engine = torchreid.engine.ImageSoftmaxEngine(datamanager,model,optimizer=optimizer,scheduler=scheduler,label_smooth=True
)
# 进行培训和测试
engine.run(save_dir='log/resnet50',max_epoch=60,eval_freq=10,print_freq=10,test_only=False
)

4、现在在cmd里面输入执行命令就可以执行简单的训练和测试了。

 python getstart30.py
=> Start training
epoch: [1/60][10/404] time 0.174 (0.220) data 0.000 (0.011)   eta 1:28:59 loss 6.9710 (6.7484) acc 0.0000 (0.6250) lr 0.000300
epoch: [60/60][400/404] time 0.178 (0.180) data 0.000 (0.000)   eta 0:00:00 loss 1.0796 (1.0766) acc 100.0000 (100.0000) lr 0.000003
=> Final test
##### Evaluating market1501 (source) #####
Extracting features from query set ...
Done, obtained 3368-by-2048 matrix
Extracting features from gallery set ...
Done, obtained 15913-by-2048 matrix
Speed: 0.0189 sec/batch
Computing distance matrix with metric=euclidean ...
Computing CMC and mAP ...
** Results **
mAP: 67.4%
CMC curve
Rank-1  : 85.0%
Rank-5  : 93.1%
Rank-10 : 95.7%
Rank-20 : 97.4%
Checkpoint saved to "log/resnet50/model/model.pth.tar-60"
Elapsed 1:15:48
``该训练执行了1小时15分48秒,
今天一上午就暂时先做了这样一个简单的测试训练,
接下来要学习下Torchreid这个工程的源码文件,
看下如何才能处理自己的数据进行行人识别的工作。

行人重识别Deep person reid源码测试(Torchreid)(一)相关推荐

  1. 【CV】高被引行人重识别(Person Re-ID)综述论文

    论文名称:Deep Learning for Person Re-IDentification: A Survey and Outlook 论文下载:https://arxiv.org/abs/200 ...

  2. 行人重识别技术(Re-ID)概述、研究现状以及相关数据集下载

    ReID技术概述 什么是ReID 一般流程 Re-ID特点 研究现状 难点 数据集 reid常用数据集以及下载链接 评价指标 实现思路 研究方式 基于表征学习 基于度量学习 基于局部特征 全局特征 切 ...

  3. 摄像机域内监督行人重识别问题

    本文是对『Intra-Camera Supervised Person Re-Identification』一文的详细解读,IJCV接收论文. 作者信息: 论文链接:https://arxiv.org ...

  4. NeurIPS 2021 | 图像损坏场景下行人重识别新基准

    关注公众号,发现CV技术之美 0. 导读 行人重识别(Person ReID)在安全部署领域有着广泛应用,当前的研究仅考虑ReID模型在干净数据集上的性能,而忽略了ReID模型在各种图像损坏场景(雨天 ...

  5. 重磅!总奖池536万,首届“全国人工智能大赛”(AI+4K HDR 视频 与 行人重识别)...

    点击我爱计算机视觉标星,更快获取CVML新技术 一.赛事背景 2019年8月,深圳市人民政府决定专门设立人工智能领域权威赛事--全国人工智能大赛(以下简称大赛).大赛将立足国际视野,营造人工智能创新创 ...

  6. 域适应行人重识别中的多中心表征网络

    此篇论文已被AAAI 2022 收录,论文链接请见"阅读原文". 行人重识别(Person Re-ID)在视频监控.安防及刑侦等领域中都有着巨大的应用前景及价值,其目标是根据一个人 ...

  7. 面向行人重识别的局部特征研究进展、挑战与展望

    来源:专知 本文附论文,建议阅读5分钟 本文对近年基于局部特征的行人重识别文献进行梳理并进行研究. 摘要: 行人重识别(Person re-identification, Re-ID)旨在跨区域.跨场 ...

  8. 中山大学提出新型行人重识别方法和史上最大最新评测基准

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 导读:行人重识别,是利用 CV 技术判断图像或视频序列中是否存在特定行人的技术.常规的行人重识 ...

  9. 中山大学提出新型行人重识别方法和史上最大评测基准

    本文转载自机器之心. 导读:行人重识别,是利用 CV 技术判断图像或视频序列中是否存在特定行人的技术.常规的行人重识别方法往往需要高昂的人工标注成本,计算复杂度也很大.在本文中,中山大学研究者提出的弱 ...

最新文章

  1. c++中的基本知识点
  2. 【软件测试工程师】关于软件测试术语的定义,软件测试中的分类
  3. 部署Wi-Fi 6之前要回答的5个问题—Vecloud
  4. java正则表达式去除重复_Java正则表达式:重复捕获组
  5. 浅谈WebKit之Port
  6. 【离散数学中的数据结构与算法】五 排列与组合一
  7. android 流量统计工具,Android 统计应用流量的使用情况
  8. Mysql5.0没有nvarchar,national
  9. mysql视图执行原理_MySql中的视图 触发器 存储过程,以及事物
  10. Win-MASM64汇编语言-DUP/TIMES
  11. 什么是NVMe?一篇文章理清它的前生今世
  12. matlab高等数学实验答案,高等数学实验matlab参考完整答案.doc
  13. 数据建模软件Chiner,颜值与实用性并存
  14. Sublime Text 比较2个文件不同
  15. 日语动词变形方法全解
  16. iOS 重力感应 学习1 陀螺仪 水平仪 指南针
  17. 如何查看Outlook搜索出的邮件所在的文件夹
  18. 微信支付APP支付服务商模式
  19. js element-ui el-tree 树结构过滤 筛选
  20. 无法在此配置的计算机上运行,win7系统出现“无法将windows配置为在此计算机的硬件上运行”的解决方法...

热门文章

  1. rapidjson查询操作基本用法
  2. 我的女儿二三事(十二)
  3. Python采集双色球历史开奖信息,看看哪个号中奖概率更大
  4. pytorch 中的 contiguous()
  5. 股票行情|4月26日股票市场要闻资讯(附股)
  6. MAGICIAN IS CASTOR (Castor JDO,Castor XML,魔术)
  7. 接口文档以及接口测试用例
  8. 输入三角形的三条边长,计算出其面积并输出。
  9. 戒除网瘾很难受,Win 7与Linux狭路相逢
  10. 这才是简单快速入门Python的正确姿势!