【Torchreid】行人重识别deep-person-reid源码测试(一)

一、简介

deep-person-reid是一个针对Person re-identification问题的训练框架。它基于深度学习框架PyTorch,提供了规范的代码组织结构,适用于reid问题的实验拓展。本文就自己第一次训练测试过程进行记录。
项目gituhb仓库地址:https://github.com/KaiyangZhou/deep-person-reid
项目文档:https://kaiyangzhou.github.io/deep-person-reid/

二、环境和数据集准备

2.1 从github上下载源码到本地服务器

cd deep-person-reid-master

2.2 conda创建虚拟环境

conda create --name torchreid python=3.7

2.3 激活虚拟环境

conda activate torchreid

2.3 安装需求包

之后如果运行是还缺其他包再pip安装

pip install -r requirements.txt

2.4 安装pythorch

根据自己的配置安装对应torch版本
在终端输入nvcc -V查看自己的cuda版本。如我是10.2
在这里插入图片描述
上官网找到pythorch安装命令
如我安装的pytorch1.8.0版本,使用命令即可安装。

conda install pytorch1.8.0 torchvision0.9.0 torchaudio==0.8.0
cudatoolkit=10.2 -c pytorch

在这里插入图片描述

2.5 下载Market1501数据集

Google Drive

下载解压后文件夹下内容应该是这样的。
在这里插入图片描述
文件名应该是

Market-1501-v15.09.15

修改为

market1501

三、训练

在scripts/下创建文件start_train_main.py
在这里插入图片描述

参考官方文档,代码如下:

import torchreid 

datamanager = torchreid.data.ImageDataManager(
	# 修改成自己下载的market1501数据集路径
    root="../Dataset/",
    sources="market1501",
    targets="market1501",
    height=256,
    width=128,
    batch_size_train=32,
    batch_size_test=100,
    transforms=["random_flip", "random_crop"]
)

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
)

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
)

如果报错没有torchreid module问题,在最前面加入

import sys 
# 修改成自己的项目路径
sys.path.append('../deep-person-reid-master')

最后运行代码:

python scripts/start_train_main.py 

此过程需要大量时间,根据个人机器情况不定。

训练结束会在log/resnet50/model/生成自己的训练模型。
在这里插入图片描述

四、测试

在scripts/下创建文件start_test.py文件。
在这里插入图片描述
讲训练代码复制进行,随后如下图38、39行所示增加两行代码,38行为自己的模型路径。
在这里插入图片描述
然后修改engine.run()如下。
在这里插入图片描述
最后运行代码:

python scripts/start_test.py 

测试结束后会在log/resnet50/visrank_market1501/下生成可视化结果。
在这里插入图片描述

四、参考

行人重识别(ReID) ——数据集描述 Market-1501

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值