ReID专栏(二)多尺度设计与应用

news2025/1/8 6:00:56

前言 多尺度流层可以更有效地提取多尺度信息,而基于显著性的学习融合层有利于重要特征通道的自动选择,因此MuDeep在学习鉴别模式方面很强大。其实这也是目前大多数深度学习任务发表论文的趋势,即多尺度、显著性特征的表示。

本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习。

Transformer、目标检测、语义分割交流群

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

Information

  • Title:Multi-scale Deep Learning Architectures for Person Re-identifification
  • From:ICCV2017
  • Paper Link:https://openaccess.thecvf.com/content_ICCV_2017/papers/Qian_Multi-Scale_Deep_Learning_ICCV_2017_paper.pdf
  • Fudan university

motivation

行人重识别问题中,许多行人的穿着和外形很相似,在外观上的差异很微妙,只有在正确的位置和尺度上才能检测到,因此提出手工设计的多尺度深度学习模型。

Abstract

监控录像中捕捉到的许多人都穿着类似的衣服,它们在外观上的差异往往是微妙的,只有在正确的位置和尺度上才能检测到。现有的re-id模型,特别是基于深度学习的模型仅在单一尺度上匹配人。

本文提出了一种多尺度深度学习模型。(1)能够学习不同尺度上的深度鉴别特征表示,并自动确定最适合的匹配尺度。(2)明确地学习了不同空间位置对提取鉴别特征的重要性。

Introduction

在不同的相机视图中,一个人的外观经常会由于身体姿势、相机视点、遮挡和照明条件的变化而发生显著的变化。在公共空间,许多人经常穿非常相似的衣服(例如,冬天的深色外套),可以用来区分它们的差异往往是微妙的。

学习判别特征表示是深度重识别模型的关键目标,这些特征需要在多个尺度上进行计算。以图1(a)中的两幅图像为例。在粗糙的层面上,衣服的颜色和文本信息非常相似;因此,人类会进入更精细的尺度,通过细微的局部差异(例如发型、鞋子和图1中左边人夹克上的白色条纹)得出结论,这是两个不同的人。

现有的模型通常采用多分支深度卷积神经网络,每个分支由多个卷积/池化层和全连接层组成,最后的全连接层被用作两两验证或三重排序损失的输入,以学习一个联合嵌入空间。一项对CNN的每一层实际学习的东西的可视化研究表明,更高层的网络在全局尺度上以更少的空间信息捕获了更抽象的语义概念。当特征到达最终的全连接层时,更精细和局部尺度的信息已经丢失,无法恢复。这意味着现有的深度re-id架构不适合进行多尺度的人员匹配。

作者提出了一种多尺度深度学习模型(MuDeep),旨在学习多尺度上的区别特征表示,并使用自动确定的尺度权重进行组合(图1(b))。更具体地说,MuDeep网络架构是基于Siamese网络,但关键是能够学习不同尺度的特征,并评估它们对跨摄像机匹配的重要性。这是通过引入两种新的层来实现的:multi-scale
stream layers(多尺度流层),通过分析多尺度的人图像来提取图像特征;以及saliency-based learning fusion layer(基于显著性的学习融合层),它有选择性地学习融合多尺度的数据流,生成MuDeep中每个分支更具区别性的特征。作者还在网络的中间层引入了一对分类损失,以监督多尺度特征学习。

Method

网络架构

MuDeep有两个分支来处理每个图像对,它由五个组件组成:(分支间)捆绑的卷积层、多尺度的流层,基于显著性的学习融合层,验证子网络和分类子网络。

捆绑的卷积层

这些层的权重被绑定到两个分支中,以强制执行滤波器来学习由两个分支共享的视觉模式。

多尺度流层

分析多尺度(1×1、3×3和5×5)的数据流。Multi-scale-A layer为了增加这一层的深度和宽度,将5×5的滤波器大小分成两个级联的3×3流,多尺度数据可以隐式地作为一种增加训练数据的方法。所有这些层在两个分支的对应流之间共享权值;但是,在同一分支的每个两个数据流中,参数不绑定。Reduction layer进一步以多尺度的方式通过数据流,并将特征图的宽度和高度减少一半,原则上应该从78×28减少到39×14,同样,这里的每个滤波器的权重被绑定为成对的流。Multi-scale-B layer作为1×1、3×3和5×5的多尺度的高级特征提取的最后阶段,除了将5×5流分解为两个级联的3×3流,进一步将3×3大小的滤波器分解为一个1×3滤波器,然后是3×1滤波器。这带来了几个好处,包括降低3×3滤波器的计算成本,进一步增加该组件的深度,以及能够从接受域提取非对称特征。这里仍然绑定每个过滤器的权重。

基于显著性的学习融合层

提出了该层用于融合多尺度流层的输出。直观地说,通过前一层处理的输出,产生的数据通道具有冗余信息,一些通道可能捕获到相对重要的人员信息,而其他通道可能只对背景上下文建模。因此,本文利用基于显著性的学习策略,自动发现并强调提取出高度区分模式的通道,如头部、身体、手臂、衣服、包等信息,如图3所示。因此,我们假设*Fi⋆*表示每个分支中第1−个流(1≤i≤4)的输入特征图,*Fij表示Fi⋆*的第j个通道,即(1≤j≤256),输出特征图表示为G,将融合四种流;Gj表示G的第j个通道图,计算方法为:

在基于显著性的学习融合层的基础上添加一个全连接层,提取每幅图像的4096维特征。该设计的思想是:1)集中基于显著性的学习特征并降维,2)提高测试的效率。

验证子网络

接受前一层提取的特征对作为输入,用特征差异层计算距离,然后是512个神经元的全连接层,有2个softmax输出,输出表示“同一个人”或“不同的人”的概率。本文采用特征差异层来融合两个分支的特征,并计算两幅图像之间的距离。如果输入图像对被标记为“同一人”,则多尺度流层和基于显著性的学习融合层生成的特征应该相似;换句话说,特征差异层的输出值应该接近于零;否则,值有不同的响应。

分类子网络

为了学习外观表示的强鉴别特征,我们在每个分支的基于显著性的学习融合层之后添加了分类子网。分类子网对具有不同行人身份的图像进行分类。在基于显著性的学习融合层中提取4096维特征后,连接一个具有N个输出神经元的softmax,其中N表示行人身份的数量。

实验细节

框架:Caffe

计算卡:TITANX

学习率:0.001,每50000次迭代衰减十分之一

batch size:32

图像输入大小:60*160*3

drop out:0.3

实验结果

不同数据集的比较

消融实验

结论

多尺度流层可以更有效地提取多尺度信息,而基于显著性的学习融合层有利于重要特征通道的自动选择,因此MuDeep在学习鉴别模式方面很强大。其实这也是目前大多数深度学习任务发表论文的趋势,即多尺度、显著性特征的表示。此外,在全局特征学习的前提下,重识别中的注意力机制自然发展了起来。在下一篇论文解读中,我们将介绍一种新颖的注意感知特征学习方法,该方法针对行人全局和局部分别计算注意力相关的信息。


欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。

其它文章

ICLR 2023 | RevCol:可逆的多 column 网络,大模型架构设计新范式

CVPR 2023 | 即插即用的注意力模块 HAT: 激活更多有用的像素助力low-level任务显著涨点!

ICML 2023 | 轻量级视觉Transformer (ViT) 的预训练实践手册

即插即用系列 | 高效多尺度注意力模块EMA成为YOLOv5改进的小帮手

即插即用系列 | Meta 新作 MMViT: 基于交叉注意力机制的多尺度和多视角编码神经网络架构

全新YOLO模型YOLOCS来啦 | 面面俱到地改进YOLOv5的Backbone/Neck/Head

ReID专栏(三) 注意力的应用

ReID专栏(二)多尺度设计与应用

ReID专栏(一) 任务与数据集概述

libtorch教程(三)简单模型搭建

libtorch教程(二)张量的常规操作

libtorch教程(一)开发环境搭建:VS+libtorch和Qt+libtorch

异常检测专栏(三)传统的异常检测算法——上

异常检测专栏(二):评价指标及常用数据集

异常检测专栏(一)异常检测概述

【CV技术指南】咱们自己的CV全栈指导班、基础入门班、论文指导班 全面上线!!_

CV最全知识体系和技术教程

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

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

相关文章

OpenMMLab AI实战营第二期(2)MMPose初体验

根据MMPose的官方文档学习一下 MMPose文档地址:https://mmpose.readthedocs.io/zh_CN/latest/index.html 文章目录 1. 概述2. 安装2.1 创建conda环境并激活2.2 安装pytorch2.3 使用 MIM 安装 MMEngine 和 MMCV2.4 安装MMPose 3. 20 分钟了解 MMPose 架构设计3.1 总…

Typora导出pdf一直停留在导出界面

Typora导出pdf一直停留在导出界面 1. 因为修改临时文件夹地址导致的问题 尝试遍了网上的各种方法对我都没奏效。 但是用管理员权限在 C:\Program Files\Typora 下打开 typora.exe 发现可以正常导出 pdf。 结合这一点,加上最近频繁出现启动文件、文件夹没有权限的…

ES查询 too_many_clauses,maxClauseCount is set to 5000

一:语法执行背景 ES boo查询中过多的拼接bool导致报maxClauseCount is set to 5000 { "caused_by": { "type": "too_many_clauses","reason": "maxClauseCount is set to 5000" } } 查询DSL语句: { …

问题解决:微信开发者工具显示清除登录状态失败 TypeError: Failed to fetch [1.06.2303220][win32-x64]

问题: 在编译之前,会进行清除全部缓存操作,但是点击后出现清除清除登录状态失败。 清除登录状态失败 TypeError: Failed to fetch [1.06.2303220][win32-x64]原因: 未连接网络,或者被你连接的网络拦截。 解决&#xf…

基于 PaddleVideo 的花滑骨骼点动作识别 2s-AGCN

配置文件节点流配置文件 2s-agcn_ntucs_joint_fsd.yamlMODEL 字段DATASET 字段PIPELINE 和 INFERENCE 字段OPTIMIZER 字段 agcn2s.pygraph输入通道数 骨骼流 Dataset 和 Pipeline配置文件DATASETPIPELINE 源码skeleton.pyskeleton_pipeline.pyAutoPaddingSkeletonNormIdenSkete…

springboot+vue高校学科建设资源管理系统

本 1、数据库的构建:数据库需求分析根据所需要实现的功能,对其数据库的需求进行分析。 2、后台管理:网站后台是给管理员用作管理网站内容的操作界面,它是网站日常维护,网站内容操作的交互窗口,是完成网站后…

JS逆向系列之猿人学爬虫第9题-动态cookie2

文章目录 目标参数流程分析js代码Python调用测试目标 https://match.yuanrenxue.cn/match/9参数流程分析 二次请求cookie携带m 第一次请求响应内容格式化之后是这样的: < body > < script src = "/static/match/safety/match9/udc.js" > <

Axure教程—表格(中继器)

本文将教大家如何用AXURE中的中继器制作表格 一、效果介绍 如图&#xff1a; 预览地址&#xff1a;https://oc3e6a.axshare.com 下载地址&#xff1a;https://download.csdn.net/download/weixin_43516258/87854863?spm1001.2014.3001.5501 二、功能介绍 可以在表格中插入…

1729_c语言中全局变量与局部变量以及形参重名问题

全部学习汇总&#xff1a; GreyZhang/c_basic: little bits of c. (github.com) 欢迎路过的YUAN类朋友相互交流&#xff0c;以下是我的联系方式&#xff1a; Email&#xff1a;greyzhang126.com 微信&#xff1a;grey0612 C语言中烦人变量命名冲突时会有怎么样的处理机制&…

sql_server数据库入门学习(一)

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

react-native-vector-icons 安卓和ios 安装

npm install --save react-native-vector-icons ios 将node_modules/react-native-vector-icons/Fonts的文件夹里的内容复制到项目的ios/Fonts文件夹下 选择Ios/Fonts/里的内容 点开Ifon.plist文件&#xff0c;并在右侧添加一项"Fonts provided by application" 在…

(学习日记)2023.04.25

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

[SpringBoot]Knife4j框架Knife4j的显示内容的配置

目录 Knife4j框架 使用 添加依赖&#xff1a;knife4j-spring-boot-starter&#xff0c;版本2.0.9 添加配置&#xff1a;在配置文件中添加knife4j.enable属性的配置&#xff0c;取值为true 添加配置类&#xff1a;类的代码相对固定 访问 Knife4j的显示内容的配置 Knife4j…

赶紧收藏!2023年成人高考【复习大纲】

▶高起点考试题型 高起点-语文 试卷满分为150分。考试用时120分钟。 >>>考试内容&#xff1a; 语言知识及运用、现代文阅读、古代诗文阅读和鉴赏、写作四个方面&#xff0c;考试以测试阅读和写作能力为重点。 >>>备考分析&#xff1a; 语文学习要注意平…

【Python】实现一个类似于Thief的摸鱼软件

一 背景说明 之前用Thief摸鱼(Thief官网&#xff09;&#xff0c;觉得挺好用。对于其最基本的TXT摸鱼&#xff0c;准备在Python中扩展一下功能&#xff0c;使其能够通过爬虫&#xff0c;支持爬取热门小说网站的内容。 软件已经开源到&#xff1a;MoFish软件开源地址 功能是&…

ReID专栏(一) 任务与数据集概述

前言 本专栏针对Closed-world的ReID任务&#xff0c;首先介绍本任务的目标与主要数据集&#xff0c;包括行人重识别、跨模态行人重识别与车辆重识别。然后从三类表征学习的角度解读相关论文&#xff0c;表征学习是本任务的核心&#xff0c;大量重识别工作都致力于提高表征学习的…

uboot源码结构、配置、编译

目录 1.uboot源码结构 1.1uboot源码获取 1.2 uboot的特点 1.3 uboot源码结构 2、uboot配置与编译 2.1uboot配置 2.2 uboot编译 1.uboot源码结构 1.1uboot源码获取 uboot是一个开源的软件。开源有两层含义。一是可以免费用、二是开放源代码 uboot源码下载 http://www.denx…

记一次线上MQ堆积问题处理

背景 线上订单服务10个POD节点&#xff0c;某kafka tpoic原有6个分区。 问题现象 上午11.30左右一波下单高峰&#xff0c;根据分布式消息告警发现有少量消息堆积&#xff0c;但是堆积量不大&#xff0c;持续几分钟后恢复正常。 下午1点后出现新一轮高峰&#xff0c;出现了大…

window环境安装kafka

一、配置系统环境变量 JAVA_HOME 二、配置安装zookeeper 1、下载安装包 https://zookeeper.apache.org/releases.html#download 2、 解压并进入ZooKeeper目录&#xff0c;如&#xff1a;D:\kafka\zookeeper\conf, 将“zoo_sample.cfg”重命名为“zoo.cfg”, 3、打开“zoo.c…

机器学习集成学习——GBDT(Gradient Boosting Decision Tree 梯度提升决策树)算法

系列文章目录 机器学习神经网络——Adaboost分离器算法 机器学习之SVM分类器介绍——核函数、SVM分类器的使用 机器学习的一些常见算法介绍【线性回归&#xff0c;岭回归&#xff0c;套索回归&#xff0c;弹性网络】 文章目录 系列文章目录 前言 一、GBDT(Gradient Boos…