典型cnn分类reid建模流程,pytorch代码实现

0 超参数定义import argparse

parser=argparse.ArgumentParser('IDE-net')
parser.add_argument()
args = parser.parse_args()

1 设置use_gpu(pin_memory)和logger (utils工具)

sys.stdout = Logger(osp.join(args.save_dir, 'log_train.txt'))

2 数据加载(torch.utils.data import Dataset, Dataloader)

  1. (Imagedataset(继承Dataset)类和dataset_loader类()继承(Dataloader))
  2. 编写Imagedataset类分别实例化后读入dataset.trainset的图片并且transform,前置写好处理各个数据集的预处理类返回dataset.train和val及test。==》 dataset_manager(读取imgpath和标签list并设置成dataset.train\val\test等属性pid/camid),
  3. 编写dataset_load实现读入batch图片的预处理)
    在这里插入图片描述

3 建模(编写class net(nn.Module))

4 loss、optimizer和学习率策略scheduler

5 训练(每个epoch中分batch训练),用tensorboard记录trainloss的list

在这里插入图片描述

6 测试/验证

没epoch或自定义startepoch开始),记录testloss的list,acc或mAP或rank1,保存模型

7 绘制 loss曲线,保存(使用pandas)loss.to_csv

在这里插入图片描述

实验

在这里插入图片描述
https://github.com/HenryZhangJianhe/deep-person-reid

0. IDE w/o Smothlabel 70.9% 49.1% (SGD 80epoch loss 0.4)

在这里插入图片描述

0. IDE w/o Smothlabel 82.1% 65.1% (Adam w/o Random2D transfer)

在这里插入图片描述

0. IDE w/o Smothlabel 83.8% 66.9% (Adam loss=0.02)

在这里插入图片描述

0. IDE withSmothlabel 86.0% 69.9%( 与xcent相近了)

在这里插入图片描述

0. IDE withSmothlabel 87.3% 72.7%(+REA )

在这里插入图片描述

0. IDE withSmothlabel 86.1% 71.5% (+REA+HardTriplet,要调参数才行)

在这里插入图片描述

1. xcent: 86.7% 70.1% withsomth

2. xent_cent 84.8% 67.4% (没涨点)

3. xent_htri 88.3% 72.9%

4. ring_xent 70.7% 59.4% (倒退了)为什么 用的Face loss

5. Align-reid 88.8% 75.4% (2feature 2 loss)

对比bag of tricks
"bag of tricks"

实验配置

  1. xent 参数 epoch =60, lr= 0.0003 , optim = adam ,batch 32,32
    在这里插入图片描述

  2. xent_cent epoch = 60 , lr = 0.0003, lr_cent = 0.5(权重),
    在这里插入图片描述

  3. xent_htri Epoch=180, margin = 0.3, optim =‘Adam’ lr =0.0003 (采样实例4 人 8张 batch = 32)
    在这里插入图片描述

  4. ring_xent epoch=60, lr 0.0003 optim=adam batch = 32, 32
    在这里插入图片描述

  5. Aligned reid(loss={IDE + TriHard }), 特征global和local :Epoch 300 lr 0.0002 optim=Adam margin= 0.3
    在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: person_reid_baseline_pytorch是一个基于PyTorch框架的人员识别基线模型。它可以用于训练和测试人员识别模型,以识别不同人员之间的差异和相似之处。该模型提供了一些基本的功能,如数据加载、模型训练、模型测试等,可以帮助用户快速搭建和测试自己的人员识别模型。 ### 回答2: person_reid_baseline_pytorch是一个基于PyTorch框架的人体重识别模型。该模型采用卷积神经网络(Convolutional Neural Network,简称CNN)架构,采用多个卷积层和池化层进行特征提取,最后经过全连接层得到人物特征向量,实现了对人体进行识别。 该模型的训练数据集一般采用Market1501数据集,它包含超过1501个不同身份的超过32000张图片,是一个非常大且具有代表性的数据集,训练出的模型能够具有很好的泛化能力。 在训练过程中,除了使用标准的交叉熵损失作为损失函数外,还使用Triplet Loss作为损失函数的一种变形。该损失函数能够比较好地处理重识别中的最大间隔问题,并且能够实现对同一身份的多张图片之间的特征相似度比较。 对于测试集的预测部分,该模型采用的是余弦相似度进行特征向量相似度计算,相似度越高则说明两个图片中的人物越有可能是同一个人,可以实现良好的识别结果。 总的来说,person_reid_baseline_pytorch基于PyTorch框架实现的人体重识别模型,通过CNN架构进行特征提取,使用Triplet Loss进行训练,使用余弦相似度进行特征向量相似度计算,能够实现对人体进行高效准确的识别。 ### 回答3: person_reid_baseline_pytorch 是一个基于 PyTorch 框架的行人重识别算法基线模型,它实现了一个简单但功能齐全的行人重识别框架,可以训练和测试基于清晰照片的行人重识别任务。 该模型包含了基本卷积神经网络(CNN)的搭建和训练,其中包括几个关键部分:数据加载、模型定义、训练和测试。它使用数据增强技术和三元损失函数来训练模型,目的是使相同人的图像对与不同人的图像对之间的距离最大化。 person_reid_baseline_pytorch 采用 Market-1501 数据集进行测试,并在该数据集上取得了不错的结果。该数据集包含 1501 个行人,共有 12936 张图像,其中包括 6 种视角和多种行为。该算法读取图像数据并将之前处理后的行人图像输入神经网络,以便为每个图像计算行人的特征向量。然后,使用相关算法来比较图像对的距离,并确定它们是否属于同一人。该算法的性能指标包括准确度、精度和召回率等。 总之,person_reid_baseline_pytorch 提供了一个简单但完整的框架和基线模型,可以作为进一步解决行人重识别问题的基础。无论是学术界还是商业界,这种算法都有广泛的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值