AlignedReID(转载自魏大明白)

很易懂的行人重识别解读
多任务模型对于菜鸡来说是很好的炼丹方向,AlignedReID是早期的多任务模型,作为入门是个不错的选择,本文转载魏大明白的文章,做个文章归纳,主要是自己看的更轻松点。

0.alignedreid论文解析

训练阶段共有两个分支,其中局部分支使用最短路径损失来对其局部。
测试阶段,只是用全局特征,忽略局部特征,因为实验发现单用global feature和联合两个特征效果相差不大。
在这里插入图片描述
在这里插入图片描述

1.从零开始AlignedReID_01

数据集的加载

重构data_loader库

数据采样

2.从零开始AlignedReID_02

输入为N张图片,这里取32为一个batch,在输入前对图片进行转变,得到256×128的图片
Ret50神经网络
Input:x[32,3,256,128]
经过conv5卷积层得到x[32,2048,8,4]
全局分支:经过平均池化层得到global_feature:[32,2048]
local分支:实现水平池化(HorizontalMaxPool2D.py)、归一化、ReLU、1*1卷积=>[32,2048,8]

用if分割全局分支和局部分支,然后用if self.loss判断返回全局分支和局部分支,这就是model要做的事。

3.从零开始AlignedReID_03

loss

4.从零开始AlignedReID_04

CMC,mAP,re-rank

5.从零开始AlignedReID_05

模型训练,这部分代码中是最复杂的内容,把之前四个部分整合起来。
在这里插入图片描述
加载头文件
设置相关匹配项

主函数 main()

数据预处理
初始化数据集
数据增强
导入数据
模型加载
损失函数加载
优化器加载
	判断是否是测试,导入test(...)
	return 0
模型训练
	调用train(...)
	保存模型20,40,...

train()

if判断 xent_loss , global_loss , local_loss
loss = xent_loss + global_loss + local_loss
loss 反向传播

test()

feature计算dist
loss不用

天知道我什么时候才明明白白知道test()不用loss。
再次感谢魏同学的清晰解释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值