Reid Strong Baseline 代码解析

2023-10-27

目录

1 设置自己的数据集

1.1使用作者提供的dataset格式

1.2新建dataset格式

 2 测试时设置是否只采用跨相机的样本

 3 训练

 3.1 修改模型

3.1.1参数解读

3.1.2使用自己的模型

 4测试

5本篇博客的不足


1 设置自己的数据集

1.1使用作者提供的dataset格式

也就是说不修改输入输出格式,直接改路径

1)修改数据集的路径。红色部分是之前的,绿色部分是修改后的。我这里使用的的是绝对路径。

   

2)检查数据集格式和正则化规则

假设使用的数据为1501格式的数据集。

configs/softmax_triplet_with_center.yml:

 则去找到其对应的class。

data/datasets/__init__.py

训练集和测试集的路径是在代码中设置的 

data/datasets/market1501.py

下面是正则化规则,也就是如何根据文件名读取标签,输出为文件路径,人物id,相机id

data/datasets/market1501.py

 

 检查上述规则是否符合自己的数据集,不符合则修改代码。market1501 数据集的格式为pid_camid_frameid.jpg

1.2新建dataset格式

market1501返回了三项,但没有返回frame id。作者测试时只把跨相机的样本作为gallery,但我考虑全部样本.。因此我需要frame id 这个属性,测试时把不同frame id 的全部图像作为gallery,也就是除去他本身外的所有图像。

(1)新建一个类Market1501_ignore_cam,类似于market1501.py中的代码,只不过改下正则化规则。然后在_init_.py 中引用此类。

 (2)修改dataloader

 (3)修改train和test 的读数据部分

 

 engine/inference.py:

 

  

 2 测试时设置是否只采用跨相机的样本

  utils/reid_metric.py

 3 训练

训练修改cfg文件

tools/train.py

 3.1 修改模型

修改name  预训练类型 目前有self imagenet random 三种。random不指定预训练路径。

3.1.1参数解读

 

 self 是自己的模型,类型为self时会接续训练,只需把start设置为0,则可以当作第0个epoch。

 数据集 名称 batch数 线程数

 

  数据集resize后的大小 以及数据增强

 

 模型保存路径

 

  更多参数对照configa/defaults.py添加到yaml文件。例如 MODEL是组名,NECK等是属性名。

 

3.1.2使用自己的模型

首先将配置文件的model name 改为定义的模型名称

然后去modeling/baseline.py定义该模型,并赋值给self.base

inplane是网络最后一层输出的通道数目

 4测试

修改权重路径

权重模型要和MODEL一致。

此时OUTPUT_DIR为测试结果保存的路径

5本篇博客的不足

笔者暂时没搞懂代码中的  ignite.engine 的使用方法。另外,没涉及数据增强和Rerank。

本文修复了作者的若干bug,若有代码需求请在评论区回复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Reid Strong Baseline 代码解析 的相关文章

随机推荐

  • uniapp如何渲染html模板,uni-app 页面样式

    页面样式与布局 尺寸单位 uni app 支持的通用 css 单位包括 px rpxpx 即屏幕像素 rpx 即响应式px 一种根据屏幕宽度自适应的动态单位 以750宽的屏幕为基准 750rpx恰好为屏幕宽度 屏幕变宽 rpx 实际显示效果
  • B站视频下载(含bv快速变回av)

    下载解压JJDown的软件 打开如下应用程序 JiJiDownForWPF打开首页 原本B站中的每个视频有对应的av号但从2020 3起全都变为bv号 所以如何从bv号中查看av号 谷歌浏览器中打开要下载的B站视频 按F12 开发者工具 选
  • Python#Typora-Python笔记

    01 源码安装Python3 一 源码安装 安装依赖软件包 root qfedu com yum groupinstall Development Tools root qfedu com yum y install zlib devel
  • 日语动词的13种变形

    五段动词 一类动词 辞书形 形 形 形 形 意志形 可能形 行 行 行 行 行 行 行 書 書 書 書 書 書 書 買 買 買 買 買 買 買 假定形 被动形 使役形 命令形 禁止形 被役形 行 行 行 行 行 行 書 書 書 書 書 書
  • 【linux】内核组件 [不断补充中...]

    防火墙 netfilter iptables IP 信息包过滤系统 netfilter 内核空间 kernelspace 是内核的一部分 由一些信息包过滤表组成 这些表包含内核用来控制信息包过滤处理的规则集 即 存放内核过滤规则的防火墙 i
  • GridView 使用方法详解

    GridView 跟ListView 很类似 Listview 主要以列表形式显示数据 GridView 则是以网格形式显示数据 掌握ListView 使用方法后 会很轻松的掌握GridView的使用方法 欢迎关注微信公众号 程序员Andr
  • DBeaver导入csv数据到Oracle

    时隔许久 我又回来写博客啦 前段时间太忙了 绝对不是因为懒才没有写的 大实话 今天用到csv存库的问题 踩了点坑 做个笔记 废话不多说我们开始 第一步 打开DBeaver 右键点击要导入数据的表 选择 导入数据 第二步 点击csv 下一步
  • 反射 动态代理 线程池

    反射 动态代理 线程池 反射 动态获取类的字节码文件 并对其进行抽象 通过反射可以获取一个类的全部方法和属性 然后进行调用 反射与类之间抽象的理解 Class 将字节码对象进行抽象 出现了 1 属性 表示字节码文件的属性的属性 privat
  • PDF阅读时如何返回到跳转之前的位置

    方法 同时按下Alt 左箭头
  • 中国航天科技集团公司的各个研究院

    1 航天一院 中国运载火箭技术研究院 导弹运载火箭总体设计生产总装 2 航天四院 航天动力技术研究院 航天固体燃料发动机研制生产实验 3 航天五院 中国空间技术研究院 卫星 飞船 空间站 探月器等航天器研制生产 4 航天六院 航天推进技术研
  • el+vue 实战 ⑧ el-calendar日历组件设置点击事件、el-calendar日历组件设置高度、el-calendar日历组件自定义日历内部内容

    一 效果图 日历显示内容变为01 02的形式 点击相应的日期后 有一个弹出框显示当天完成的一些内容 二 前端代码设置
  • 切换到WSL2.0后无法连接到x-server Unable to init server: Could not connect: Connection refused无法显示窗口

    之前通过安装vcxsrv 64 1 20 9 0 installer exe 启动x launch服务器后 无法通过bash打开显示窗口 错误 Unable to init server Could not connect Connecti
  • 【Javascript】数据结构与算法-快速排序第一趟结果

    Javascript 数据结构与算法 快速排序第一趟结果 整体思想 案例一 案例二 快速排序代码实现 js 复杂度分析 整体思想 将待排序数组A以某一元素为基准划分为两个子数组left和right 如果基准元素为pivot那么left中的元
  • 山路 (ghat)--(最短路-最小生成树//超级原点)

    感谢光神送来rating38000分的思路 题目描述 会和神奈子一起改变地形 开凿地下洞穴等 虽说是一起 不过看起来改变土地是诹访子的工作 与其说她是直接将大地整平 不如说这是她麾下的崇神的功劳 求闻口授 山路交错相同 令人烦躁 于是诹访子
  • MWeb发布笔记到印象笔记,提示“Content of submitted note was malformed”

    文章目录 issue solution 参考 issue MWeb发布笔记到印象笔记 提示 Error Domain com evernote sdk Code 11 Content of submitted note was malfor
  • 解决m1芯片Mac安装node失败问题

    用nvm安装node时终端报错 type aesni cbc sha256 enc avx2 function deps openssl config archs linux x86 64 asm avx2 crypto aes aesni
  • C/C++笔试必须熟悉掌握的头文件系列(五)——iostream

    1 说明 iostream 的意思是输入输出流 直接点说就是in out stream 流 从字面就可以理解这个函数库所要操作的无非是从流中获取输入 向终端流中输出 iostream 库的基础是两种命名为 istream 和 ostream
  • 清除IEXPLORER.EXE病毒

    E枭雄 Trojan Nethief IExplorer 病毒档案 网络枭雄 病毒的一个新变种 值得关注 警惕程度 发作时间 随机 病毒类型 木马病毒 传播方式 网络 感染对象 网络 病毒介绍 此 病毒是网络枭雄病毒的一个新变种 可以在Wi
  • vue中如何引入jquery详解

    用vue cli脚手架工具构建项目成功后 当需要引入JQ 可用以下方法 1 首先在package json里的dependencies加入 jquery 3 2 1 2 在终端里输入npm install jquery save dev 当
  • Reid Strong Baseline 代码解析

    目录 1 设置自己的数据集 1 1使用作者提供的dataset格式 1 2新建dataset格式 2 测试时设置是否只采用跨相机的样本 3 训练 3 1 修改模型 3 1 1参数解读 3 1 2使用自己的模型 4测试 5本篇博客的不足 1