FastReID使用教程、踩坑记录

近期在尝试使用FastReID,期间对FastReID架构、损失函数、数据集准备、模型训练/评估/可视化/特征向量输出、调试debug记录等进行记录。

FastReID架构理解

关于FastReID的介绍,可点击此链接前往查询。

ReID和FastReID架构

对于模型架构、损失函数、实验Tricks可点击访问下述两个链接:

行人重识别02-03:fast-reid(BoT)-白话给你讲论文-翻译无死角_reid bot算法-CSDN博客
详解ReID的各部分组成及Trick——基于FastReID_fastreid trick-CSDN博客

ReID网络训练和测试的输出不同

注:ReID网络训练和测试的输出不同:训练的输出执行到最后一步,进行Triplet loss+Center loss+ID lossID损失函数的计算并反向梯度传播,从而迭代更新网络参数;测试inference阶段只执行到特征向量的输出(可见上图inference stage),这也对应后文的demo.py脚本所执行的操作。

一般神经网络训练和测试的输出是同一个东西,但是基于表征学习的ReID方法比较特殊:ReID训练时候的输出是每张图片对应不同ID的预测概率(也就是输出此图片识别的ID/类别),测试模式输出的是每张图片ReID的特征向量(比如对于多个摄像头,用不同摄像头检测到的多个物体进行ReID后的特征向量进行后续运算,特征向量相似的给定同一个ID,ReID测试网络不直接输出识别的ID/分类)

损失函数

笔者没有扒源代码,但从上图FastReID架构可以看出,其损失函数有三部分组成:Triplet loss + Center loss + ID loss。其中Triplet loss和Center loss属于基于度量学习的ReID方法范畴,因为其度量的是特征向量的距离/相似度;ID loss属于基于表征学习的ReID方法范畴,类似softmax层后的分类损失。

Triplet loss和Cicle loss

数据集准备

复制数据集到fast-reid\datasets下

用户自定义数据集训练参考:

How to train Custom Dataset · Issue #220 · JDAI-CV/fast-reid (github.com)

模型训练

直接训练

键入:

python tools\train_net.py --config-file .\configs\VeRi\sbs_R50-ibn.yml

使用预训练模型权重训练

键入:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值