ReID done right towards good practices for person re-identification

2024-01-16 15:48

本文主要是介绍ReID done right towards good practices for person re-identification,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ReID done right: towards good practices for person re-identification

本文中,我们采用了一种不同的方法,并仔细设计了一个简单的深层架构的每个组件,以及关键的策略,以有效地对其进行培训,从而实现人员的重新识别。我们对每个设计选择都进行了广泛的评估,得出了一份人员再识别的良好实践清单。通过遵循这些实践,我们的方法在四个基准数据集上以很大的优势超越了最先进的方法,包括带有辅助组件的更复杂的方法。

提升训练结果的技巧:

在这里插入图片描述

  • 模型预训练
  • 足够大的图像分辨率
  • 高效的基础网络
  • 难样本挖掘三元组损失
  • 数据增强方法(比如,图像随机擦除)

数据增强:

我们在训练时对图像应用不同的变换,即翻转、裁剪和剪切。我们观察到剪切对性能有很强的影响,并且使用另外两个增强方法变得多余。我们认为,这是因为剪切是我们的表示对遮挡更加鲁棒,并且还避免了对数据集少的训练数据的过度拟合。

在这里插入图片描述

并且我们观察到,当用剪切进行训练时,当图像被噪声替换的百分比逐渐增加时,我们会获得最佳结果。

图像分辨率:

Market1501 数据集的图像具有256 × 128的固定大小,而来自杜克大学的图像具有可变大小,平均为256×128像素。在我们的实验中,我们重新缩放图像,使最大图像尺寸为256、416或640像素,而不会扭曲纵横比。我们在表2中报告了结果,并观察到使用足够大的分辨率是实现最佳性能的关键。将分辨率从256提高到416可以将mAP提高3%,而将分辨率进一步提高到640像素可以忽略不计。我们建议将输入大小设置为416像素。
在这里插入图片描述

池化操作:

表3 (a)比较了卷积层产生的特征图的两种汇集策略。正如我们所看到的,最大池的性能优于平均值池化操作。我们建议使用最大池化操作。也可以考虑使用多种池化结合的方式进行池化。

基础网络:

表3 (b)比较了我们网络的卷积主干的不同架构(#3)。结果表明,与使用ResNet-50相比,使用ResNet-101显著提高了结果(两个数据集约+5 mAP)。内存需求越大,ResNet-152只能略微改善结果。

预训练模型:

表3 ©显示了在使用排序损失来调整整个网络的权重之前,精细调整卷积层对分类任务的重要性。对模型进行难度增加的任务训练是非常有益的。
在这里插入图片描述

这篇关于ReID done right towards good practices for person re-identification的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/613087

相关文章

Reid系列论文学习——换装Reid

今天要学习的有关Reid的论文是2019年提出的一篇名为:Beyond Scalar Neuron: Adopting Vector-Neuron Capsules for Long-Term Person Re-Identification. 论文链接:https://opus.lib.uts.edu.au/bitstream/10453/137156/4/Binder1.pdf Code链

comparable和comparator的区别(代码实现比较两个person)

两者都是java的比较器。不过 comparable,需要被比较的类自己去实现排序逻辑;comparator不需要。 Comparator和Comparable的区别 参数ComparableComparator排序逻辑排序逻辑必须在待排序对象的类中,故称之为自然排序排序逻辑在另一个实现实现实现Comparable接口实现Comparator接口排序方法int compareTo(Obje

left join、right join

总结 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 属于外部连接 举例如下:  -------------------------------------------- 表A记录如下:

Binary Tree Right Side View

Notes:站在右边看,即层次遍历,只保存每一层的最后一个值! /*** Definition for binary tree* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/public class S

Sounds Good - Easy Optimized Audio Manager

Sounds Good可以简化您的工作。这个音频管理器将帮助您在游戏中实现声音,音乐,播放列表,动态音乐和多个音频通道。它的设计是用户友好且易于使用的。您可以使用一行代码实现音频,并且可以在编辑器窗口的帮助下轻松直观地管理游戏的音频。 使用Sounds Good有什么好处?⭐ 易用性:它提供了一个用户友好且简单的系统,用于在游戏中实现音频,使所有技能水平的人都可以使用。 性能优化:Sounds

Binary Tree Right Side View问题及解法

问题描述: Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom. 示例: Given the following binary tree, 1

【PAT】【Advanced Level】1005. Spell It Right (20)

1005. Spell It Right (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a non-negative integer N, your task is to compute the sum of all the

HDU-3912 Turn Right 简单搜索

题目链接 主要是题意有点不好理解   题目大意:给你副图 有点个出口 问从这两出口中一进一出(比如出口A,B 可以从A进去B出去走一遍,再从B进去A出来走一遍)   能走的条件为:第一不能有墙,第二,能往右走往右走,不然往前走,再不行就往左走,最后再往后走,问最终能否走遍图中全部格子。 起初不懂怎么存储原图,还是新大神指点迷津 递归DFS会爆栈 #include<stdio

python文件操作(Windows路径,内置os库)+ 正则表达式(语法与re库)

文章目录 前言1 Windows路径(1)绝对路径 (Absolute Path)(2)相对路径 (Relative Path) 一、python文件的读写操作1 读写(1)打开文件file = open('test1.txt','r',encoding='utf-8') --- 打开文件 (2)读取文件内容content = file.read() --- 读取全部内容,返回字符串lin

Kaggle-Camera_Model_Identification 比赛记录总结[19/582(Top 4%)]

这篇博客记录自己在这次kaggle比赛中做的工作。成绩:19/582(Top 4%) Kaggle比赛地址 我的代码github地址 这次比赛是给出10个相机拍摄的照片,然后给出测试图片,区分是哪个相机拍摄的。训练集中每类照片数量相同,每类都是由同一个手机拍摄的照片。测试集中,每类的照片都是来自另外一个手机,一半的图片可能被用了八种可能的操作。 总结: 1. 更多的数据。