行人重识别Reid(可实现人员换装情况下的人员检索)

news2025/4/17 22:53:08

本项目的行人重识别是出自论文"Beyond Scalar Neuron: Adopting Vector-Neuron Capsules for Long-Term Person Re-Identification",该文章所涉及到的相关理论在我另外一篇文章中有讲解:Reid系列论文学习——换装Reid,不过经过本人测试,论文开源的代码有一些bug,同时也没有关于实际图像测试的代码,因此我对这个项目代码进行了完善。


该论文一个重要的贡献就是发布了相关换装的行人数据集celeb-reid。

该数据集有1052个ID,34186张图像,官方数据集链接:

官方数据集百度云:    密码: ix2j

将数据集下载好后放置datasets中。

然后还需要运行脚本进行身体部位的划分:

python split_data.py

得到目录如下: 

 

Reid训练

由于该部分训练牵扯到了人员身体各个部分的训练,因此项目提供了训练脚本可以快速开启训练,修改run_train.sh中的数据集路径:

#!/bin/sh

python train.py --train_path '/datasets/celeb/train' --gallery_path '/datasets/celeb/gallery' --query_path '/datasets/celeb/query' --logs-dir 'log_celeb_all'

python train.py --train_path '/datasets/celeb/train_1_1' --gallery_path '/datasets/celeb/gallery_1_1' --query_path '/datasets/celeb/query_1_1' --logs-dir 'log_celeb_11' --epochs 50 --step_size 40

python train.py --train_path '/datasets/celeb/train_1_2' --gallery_path '/datasets/celeb/gallery_1_2' --query_path '/datasets/celeb/query_1_2' --logs-dir 'log_celeb_12' --epochs 50 --step_size 40

python train.py --train_path '/datasets/celeb/train_1_3' --gallery_path '/datasets/celeb/gallery_1_3' --query_path '/datasets/celeb/query_1_3' --logs-dir 'log_celeb_13' --epochs 50 --step_size 40

python train.py --train_path '/datasets/celeb/train_2_1' --gallery_path '/datasets/celeb/gallery_2_1' --query_path '/datasets/celeb/query_2_1' --logs-dir 'log_celeb_21' --epochs 50 --step_size 40

python train.py --train_path '/datasets/celeb/train_2_2' --gallery_path '/datasets/celeb/gallery_2_2' --query_path '/datasets/celeb/query_2_2' --logs-dir 'log_celeb_22' --epochs 50 --step_size 40

运行上述脚本后可开启训练。

训练完成的各部分权重会保存在以下文件中:

训练详细代码的实现可以看train.py 

测试

测试代码在test.py中,该脚本可用于评价指标的复现。并不是检测图像!!

其中--part_train参数是训练好的各身体部分权重路径。

快速开启测试:

python test.py

图像检测

图像检测核心代码在predict.py中。

在检测之前需要将query人员放置在query文件夹中(比如我要从一堆人里找刘德华),然后gallery就是"人群图像集",运行split_data.py脚本进行身体部分的划分,然后就可以运行predict.py了。其中gallery中的人群图像集如下,我要的是从人群中把换装后的刘德华找出来。

最终效果图如下图所示:

query Image是待检测人员,Most similar是最像的(准确度最高的) 


注:图像检测代码部分为有偿提供~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1858486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高清录屏软件哪个好用?分享这3款录屏软件

在我们的日常生活和工作中,视频录制是我们经常需要使用到的功能。不仅可以帮助我们录制网课内容方便后期复习,还可以录制视频会议,记录上级指示,甚至可以通过录制一些视频教程或游戏视频上传网络进行分享。 对电脑屏幕进行录制&a…

postman教程-22-Newman结合Jenkins执行自动化测试

上一小节我们学习了Postman Newman运行集合生成测试报告的方法,本小节我们讲解一下Postman Newman结合Jenkins执行自动化测试的方法。 在软件开发过程中,持续集成(CI)是一种实践,旨在通过自动化的测试和构建过程来频繁…

QThread 与QObject::moveToThread利用Qt事件循环在子线程执行多个函数

1. QThread的两种用法 第一种用法就是继承QThread,然后覆写 virtual void run(), 这种用法的缺点是不能利用信号槽机制。 第二种用法就是创建一个线程,创建一个对象,再将对象moveToThread, 这种可以充分利用信号槽机制&#xff…

使用插件和微调优化 GPT 模型

文章目录 LLM 用例和示例产品警惕 AI 幻觉:限制与考虑使⽤插件和微调优化 GPT 模型 OpenAI 在其网站上展示了许多激励人心的客户故事,我们需要了解这些模型如何改变我们的社会并为商业和创造力开辟新机遇。正如你将看到的,许多企业已经开始使…

【kaggle数据集无法下载解决办法】

kaggle数据集无法下载的解决办法 当我们在做机器学习相关问题的时候,需要到kaggle网站上下载数据集,但是很多时候速度很慢或者连接超时等问题,此时解决办法如下: 在本地安装Kaggle API包 打开终端输入如下指令: pip i…

ONLYOFFICE8.1-------宝藏级别桌面编辑器测评

简介 ONLYOFFICE 8.1 是一个功能强大的办公套件,提供了一系列广泛的功能,用于文档管理、协作和沟通。它包括用于创建和编辑文本文档、电子表格、演示文稿等的工具。ONLYOFFICE 8.1 的一些关键特性包括: 1. 协作:ONLYOFFICE 8.1 …

Ubuntu 使用Vscode的一些技巧 ROS

Ubuntu VSCode的一些设置(ROS) 导入工作空间 推荐只导入工作空间下的src目录 如果将整个工作空间导入VSCode,那么这个src就变成了次级目录,容易在写程序的时候把本应该添加到具体工程src目录里的代码文件给误添加到这个catkin_w…

邂逅Three.js探秘图形世界之美

可能了解过three.js等大型的3D 图形库同学都知道啊,学习3D技术都需要有图形学、线性代数、webgl等基础知识,以前读书学的线性代数足够扎实的话听这节课也会更容易理解,这是shader课程,希望能帮助你理解着色器,也面向第…

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异 2024/6/24 20:19 GPIOchip代表GPIO控制器的编号,gpio代表特定GPIO的引脚号 本文以linux R4/Buildroot位例子,同样适用于Android12和其他【使用linux内核的】操作系统。 https://www.ji…

Java包介绍

今天看jdk文档,顺便写一下java几个包的作用。 java.applet 主要用于创建java applet小应用程序,可以嵌入到网页中能够呈现出特殊的效果,现在基本已经被废弃,很少使用。 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包…

分享9款AI抠图神器:不会PS?AI一键批量抠图,3秒轻松搞定!(建议收藏)

文章首发于公众号:X小鹿AI副业 大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 今天被一位在用 AI…

猫头虎 AI 前沿科技探索之路(持续更新):ChatGPT/GPT-4 科研应用、论文写作、数据分析与 AI 绘图及文生视频实战全攻略

猫头虎 AI 前沿科技探索之路(持续更新):ChatGPT/GPT-4 科研应用、论文写作、数据分析与 AI 绘图及文生视频实战全攻略 背景介绍 随着人工智能技术的飞速发展,AI 的应用已经渗透到各个领域,从商业决策到医疗健康,再到日常生活中的…

【扩散模型(一)】Stable Diffusion中的重建分支(reconstruction branch)和条件分支(condition branch)

Stable Diffusion 是一种基于扩散模型的生成模型,用于生成图像等数据。在解释 Stable Diffusion 的过程中,经常会提到两个主要的分支:重建分支(reconstruction branch)和条件分支(condition branch&#xf…

猫头虎 分享已解决Error || **Data Leakage**: `Unexpectedly high validation performance`

猫头虎 分享已解决Error || Data Leakage: Unexpectedly high validation performance 🐯 摘要 📄 大家好,我是猫头虎,一名专注于人工智能领域的博主。在AI开发中,我们经常会遇到各种各样的错误,其中Data…

通过ETLCloud实现SQL Server数据同步至Oracle

SQL Server与Oracle作为全球两大主流的关系型数据库管理系统(RDBMS),在企业级应用中扮演着至关重要的角色。它们各自凭借独特的技术优势、强大的数据处理能力以及高度的可扩展性,支撑着从中小型企业到大型跨国公司的各类复杂业务需…

【面试题】前端 移动端自适应?_前端移动端适配面试题

设备像素比 设备像素比 (DevicePixelRatio) 指的是设备物理像素和逻辑像素的比例 。比如 iPhone6 的 DPR 是2。 设备像素比 物理像素 / 逻辑像素。可通过 window.devicePixelRatio 获取,CSS 媒体查询代码如下 media (-webkit-min-device-pixel-ratio: 3), (min-…

Springboot 前端传参后台接收当不存在参数bean对象时报错解决

后端接收代码 PostMapping(value "/updateUser") public String updateUser(RequestBody SysUser sysUser) {} 当前端传送多于的参数时报错如下: Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: U…

汽车抬头显示器HUD阳光倒灌实验太阳光模拟器

简述 HUD阳光倒灌实验是评估汽车抬头显示器(HUD)在强烈日照条件下的性能表现的一种测试方法。该实验通过模拟太阳光照射,检测HUD在阳光直射下的显示效果,以确保驾驶者在强烈日照下仍能清晰地看到HUD显示的信息,从而提…

python+unity实现数字人跟随运动

效果如下 设计思路 1 python通过摄像头提取人物肢体关键点信息 2 通过UDP将获取到人体信息发送给Unity 3 unity将获取的的人物信息进行解析 4 将解析的数据赋值给模型骨架 代码获取

CentOS配置本地yum源

版本说明 操作系统版本:CentOS7.9 虚拟机版本 虚拟机打快照 首先给虚拟机打个快照,点击图下所示位置 命名快照之后,点击拍摄快照 可以参考图下所示进行管理和恢复快照 迁移原有yum源 先进入到/etc/yum.repos.d/ ,可以看到有很多…