MSCAN:Learning Deep Context-aware Features over Body and Latent Parts for Person ReID阅读笔记

2023-11-02

Learning Deep Context-aware Features over Body and Latent Parts for Person Re-identification

作者: DangWei Li等人 CVPR 2017

1. 摘要:

设计了Multi-Scale Context-Aware Network(MSCAN)来学习全身和body parts的强大特征,通过在每一层堆叠多尺度卷积来很好地捕捉局部上下文知识。此外,不再使用预定义的刚性parts,而使用具有新的空间约束的Spatial Transformer Networks(STN)来学习和定位可变形的行人parts(人体不是刚性结构)。所学习的body part可以解决在基于parts的特征表示中的如姿态变化和背景杂波的影响。最后,将全身和body parts的表征学习过程整合到一个统一的reid框架中。大量实验表明本文的方法都SOTA。

2. 介绍

目前的工作要么基于单尺度,要么是基于刚性part;前者很容易导致忽略某些尺度上的线索,如低分辨率的行人图像中的墨镜就要在很小的尺度下才能观察到,后者会因为图像不对齐或行人检测器误差造成误差。如下图:在这里插入图片描述

  • 而作者使用Multi-Scale Context-Aware Network(MSCAN)解决第一个问题,即用不同感受野的卷积核去学习不同尺度的信息(不同感受野可以通过不同大小的卷积核或不同空洞率的空洞卷积实现。作者选择Dilated Convolutions,因为这可以减少参数、减少重叠、冗余,但达到相同的效果==>小感受野就关注图像中的小区域,大感受野就关注大区域,这样通过使用多种不同的感受野就相当于实现了不同的尺度,而不是像之前那样缩放图像尺寸);

  • 为了解决第二个问题,作者选择使用三个Spatial Transform Networks(STN)分别学习行人的头-肩、上半身、下半身,是一个行人part定位任务。

  • 然后,对full body使用MSCAN得到全局特征,对原始图像使用是三个STN得到是三个part,分别使用MSCAN得到三个局部特征,然后先融合是三个局部特征,再将局部特征结果和全局特征融合得到最终行人描述符。

关于空洞卷积参考https://blog.csdn.net/quincuntial/article/details/78743033

3. 本文的方法

3.1. MSCAN

一个MSCAN如下图所示:
在这里插入图片描述
其余几个也如此。而使用Conv1,Conv2,Conv3三重级联也就利用了不同感受野的Context-Aware信息。

3.2. Latent Part Localization

在这里插入图片描述
通过集成STN来实现。优点有二:首先容易集成到DCNN中;其次可以学习translate,scale,crop,wrap一个感兴趣的区域而不必利用标注信息

STN由两部分组成

  • spatial localization network==>用以学习变换参数,作者只学习translate和scale即可有效crop part
  • grid generator==>用以采样输入图像,作者使用双线性内插

图像的宽高都归一化到[-1,1]之间

变换过程如下:
在这里插入图片描述
然而存在三个问题:

  • 三个STN都容易落入同一区域,即person center,造成冗余
  • scale参数容易成负数,将导致图像水平和垂直翻转
  • 最终计算出来的crop区域在图像外

对以上三个问题分别提出三个先验约束来缓解/解决问题:

  • 中心约束,缓解问题1,后面可以看到没有解决问题
    在这里插入图片描述
    在这里插入图片描述
  • 预测scale参数值的范围约束
    在这里插入图片描述
  • 在图像内裁减的约束
    在这里插入图片描述
    在这里插入图片描述

3.3. 目标函数

定位loss加上softmax的id loss,得到总loss如下:
在这里插入图片描述
在这里插入图片描述

4. 实验

4.1.数据集和评估协议

4.2.实现细节

4.3.和SOTA方法比较

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
全部拿下SOTA。

4.4. MSCAN的作用

paper给出的是三个尺度,这里还可以使用4,5…个尺度,即在
在这里插入图片描述
在这里插入图片描述

4.5. Latent Part Locationcal的作用

如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果显示效果比刚性part划分好得多。
在这里插入图片描述
结果显示局部定位loss对reid结果很重要。

4.6. Cross-dataset Evaluation

在其他数据集上的模型迁移到VIPeR,分别验证了直接迁移(viper作为测试集)和迁移后进行微调(在viper上进一步微调再测试)的性能。结果分别为表10和表11:
在这里插入图片描述

5. 总结

  • MSCAN
  • STN
  • global + local/part特征,互补
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSCAN:Learning Deep Context-aware Features over Body and Latent Parts for Person ReID阅读笔记 的相关文章

  • Debug Tutorial Part 6: Navigating The Kernel Debugger

    Introduction In this tutorial we will be covering a few of the basic features of the kernel debugger and get used to usi
  • CVPR 2022 部分行人重识别

    转载自CVPR 2022 行人 车辆重识别 相关论文和代码 更新中 知乎 Person Re identification 1 Learning with Twin Noisy Labels for Visible Infrared Per
  • 行人重识别(ReID)概述

    什么是Re ID 行人重识别 Person Re identification也称行人再识别 简称为ReID 是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术 广泛被认为是一个图像检索的子问题 给定一个监控行人图像 检索跨设
  • 深度学习实战项目(三)-行人检测重识别yolov5+reid(跑通+界面设计)

    行人检测重识别yolov5 reid 跑通 界面设计 参考源代码 github 权重文件 根据github上面的网盘进行权重下载 检测 将 ReID resnet50 ibn a pth放在person search weights文件下
  • 【目标检测】Mask RCNN的训练数据集是什么?(含labelimg和labelme的讲解)

    文章目录 一 训练数据集 二 标注工具介绍 2 1 labelimg介绍 2 2 labelme介绍 2 3 两者的对比 三 制作数据案例 在看完何凯明大神的Mask RCNN的时候 突然想到了一个问题 那就是Mask RCNN的训练数据集
  • STN系列之人脸检测

    介绍一篇微软用STN做人脸检测的工作 Supervised Transformer Network for Efficient Face Detection Dong Chen Gang Hua Fang Wen and Jian Sun
  • 屏蔽 CALayer - iPhone

    我正在为 iPhone 创建一个自定义开 关切换开 关 类似于标准开关 并且我正在设置滑块的蒙版 但调用 myView layer setMask maskLayer 设置遮罩层相对于其遮罩层的位置 而不是相对于遮罩层的容器层的位置 对于这
  • Swift 进度指示器图像蒙版

    首先 该项目是使用 Swift 构建的 我想创建一个自定义进度指示器 在脚本运行时 填满 该脚本将调用从远程服务器拉取的 JSON 提要 为了更好地形象化我所追求的 我做了这个 我的猜测是有两个 PNG 图像 一白一红 然后根据进度量简单地
  • 使用 PHP 合并图像时的图像透明度和 Alpha

    所以我在 PHP Doc 上找到了一些代码 并对其进行了稍微编辑以合并我拥有的两个图像 然后图像将保存在服务器上的文件夹中 但是有一个小问题 我无法弄清楚为什么会发生这种情况 首先我的代码 glassurl GET GlassImg fra
  • 将子网掩码“/”符号转换为 Cisco 0.0.0.0 标准

    我已经搜索过寻求帮助 但找不到我的问题的答案 情况 我需要将 NN 子网掩码表示法 例如IPTABLES 转换为0 0 0 0 cisco 表示法 NN 是子掩码中 1 的数量 从最低八位位组到较高八位位组 每个八位位组都是 8 位整数 可
  • UIImage 通过选择另一个 UIImage 的一部分

    我有一个 UIImage 和一个 CGPoint 它告诉我应该朝哪个方向移动它来创建另一个图像 背景可以是任何东西 给出初始的 UIImage 我如何创建新的 最有效的方法是什么 这是我正在做的事情 int originalWidth im
  • 如何使用蒙版为圆形图像添加边框

    这是我的尝试 func round let width bounds width lt bounds height bounds width bounds height let mask CAShapeLayer mask path UIB
  • OpenGL ES:如何用颜色对纹理着色

    我有阿尔法纹理 我想用某种颜色给它着色 所以它会根据颜色 alpha 值进行着色 但整体不透明度将仅由纹理 alpha 定义 这与多重纹理类似 但使用颜色而不是第二个纹理 怎么做 更新 我尝试过设置纹理组合器 颜色着色得很好 但 alpha
  • 在视图上创建遮罩效果

    我想在 UIView 上创建遮罩效果以完成以下任务 我将在屏幕中显示一个密封的盒子 用户将能够触摸 刮擦 屏幕以显示该图像 UIView 后面的内容 类似于那些彩票 你应该刮掉结果顶部的一些封面材料 如果有人能指出我正确的方向那就太棒了 我
  • Objective-C 中的遮罩视图

    In 动作脚本3我们可以将蒙版应用到视觉对象 如下所示 SomeVisualObject mask maskShapeObject 我怎样才能达到类似的结果Objective C 假设我有两个UIImageView对象 我想要这样的东西 i
  • 为 ObjectBoundingBox 导出 SVG

    我对 SVG 的经验很少 我正在尝试保存来自 illustrator 的路径 以便它可以用作响应式剪贴蒙版 其大小相对于其父级 使用clipPathUnits objectBoundingBox 但是 Illustrator 似乎不允许我在
  • 具有圆角 xml 形状的蒙版布局

    我有这个 LinearLayout
  • OpenGL - 如果 alpha 则不写深度

    我想使用 C 和 GLSL 在 OpenGL 中做什么 当纹理具有 alpha texture a 1 0 时 该像素不会写入深度缓冲区 对于颜色缓冲区 它是这样写的 仅当像素texture a 1 0时才会发生写入深度 在着色器中丢弃不是
  • 如何在c中给蒙版上色

    如何对红色 绿色和蓝色值的 32 位无符号整数进行颜色掩码 是这样的吗 要遮盖的颜色 gt gt 8 这应该会得到你想要的结果 short red color gt gt 16 0xFF short green color gt gt 8
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a

随机推荐

  • Python_观察者模式

    观察者模式 又叫发布 订阅模式 定义了一种一对多的依赖关系 让多个观察者对象同时监听一个主题对象 当这个主题对象的状态发生变化时通知所有的观察者对象 让他们自动更新自己的状态 俗话说 蚂蚁搬家蛇过道 明日必有大雨到 现在我们反过来 大雨将要
  • linux查看我的所有文件夹,Linux查看所有子文件夹及文件的数量

    find命令查看 推荐 所有子目录的数量 root localhost find afish type d wc l 158 root localhost find afish type d wc l 158 root localhost
  • Jenkins自动化部署

    Jenkins自动化部署 原理 需要环境 环境搭建 linux 配置参考 环境配置 springboot项目部署配置 1 新建文件夹 2 新建maven 项目 运行脚本 创建视图 图片上传麻烦需要的的看 pdf 原理 外链图片转存失败 源站
  • 10分钟详解Spring全家桶7大知识点

    Spring框架自2002年诞生以来一直备受开发者青睐 它包括SpringMVC SpringBoot Spring Cloud Spring Cloud Dataflow等解决方案 有人亲切的称之为 Spring 全家桶 很多研发人员把s
  • 【golang】12、gin 源码解析

    文章目录 快速使用 返回响应 路由匹配 path query Multipart Urlencoded Form 解析请求 MultipartFrom MiddleWare github com gin gonic gin 是 golang
  • 盗版网课有多猖狂?原价上万,只卖5元

    燃财经 ID rancaijing 原创 作者 孟亚娜 编辑 周昶帆 金玙璠 学而思三年全套数学课程50元 送猿辅导高一数学 需要吗 新冠肺炎疫情期间 在线教育行业火爆为头部品牌打响了知名度 相关的低价盗版课也顺水推舟 再次猖獗起来 动辄上
  • Kubernetes之配置与自定义DNS服务

    本文解释如何为kubernetes集群配置及自定义DNS服务 从kubernetes1 11版本开始 coreDNS插件被包含在GA发行版中 并且被kubeadm默认安装 详情 Configuring CoreDNS and Using C
  • 深度学习中的Epoch,Batchsize,Iterations深刻理解

    嵌牛导读 Epoch Batchsize Iterations 这三个都是深度学习训练模型时经常遇到的概念 你一定有过这样的时刻 面对这几个词傻傻分不清楚 这三个概念究竟是什么 它们又有什么区别 嵌牛鼻子 深度学习 梯度下降 Epoch B
  • IDEA 自动补全代码快捷键设置

    IDEA 自动补全代码快捷键设置 个人喜好 一 自动补全 快速生成方法返回值 gt 原始快捷键 ctrl alt v gt alt enter file gt settings gt Keymap gt Main Menu gt Refac
  • 基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)

    目录 一 什么是Selenium 二 自动化测试框架 三 自动化框架的设计和实现 四 需要改进的模块 五 总结 总结感谢每一个认真阅读我文章的人 重点 配套学习资料和视频教学 一 什么是Selenium Selenium是一个基于浏览器的自
  • Android接入三方登录——QQ

    facebook错误1 feature unavailable facebook login is currently unavailable for this app since we are updating additional de
  • 记 ReactiveWebServerFactory bean defined in the context. 导致的异常

    异常内容 APPLICATION FAILED TO START Description Web application could not be started as there was no org springframework bo
  • chatgpt赋能python:Python多行注释

    Python 多行注释 在 Python 中 我们经常需要写注释来解释代码或者用于调试 Python 的注释分为单行注释和多行注释 本文主要介绍 Python 中如何多行注释 单行注释 在 Python 中 单行注释以符号 开头 可以写在代
  • Windows的密码生成算法——NTLM算法破解

    文章目录 方法一 Python代码暴力破解 方法二 hashcat工具破解 NTLM CDABE1D16CE42A13B8A9982888F3E3BE hint 密码长度不超过5 数字和符号组成 Windows下NTLM Hash生成原理
  • mysql5.7 免安装版配置

    文章目录 my ini 安装为服务 启动服务命令 移除服务命令 修改 root 账号的密码 初始化数据 my ini 复制 my default ini 或者新建 client port 3306 default character set
  • <mirrorOf>标签用于指定哪些仓库或仓库组需要使用该镜像源

    在Maven配置镜像源时 确实会使用到mirrorOf
  • 使用内核API函数找到I2C和串口控制器发送数据

    我们一般操作I2C或者串口都是编写应用程序调用内核硬件提供的设备节点操作这些硬件的 但是在某个项目中 需要在shutdown的时候往i2c和tty发送数据 发送数据给外置的mcu mcu几秒内就会给cpu断电 所以 这个动作无法在应用层中完
  • 靠谱的车 算法

    靠谱的车 程序员小明打了一辆出租车去上班 出于职业敏感 他注意到这辆出租车的计费表有点问题 总是偏大 出租车司机解释说他不喜欢数字4 所以改装了计费表 任何数字位置遇到数字4就直接跳过 其余功能都正常 比如 23再多一块钱就变为25 39再
  • Amazon S3 REST方式获取Object

    Amazon S3 用REST方式获取文件 具体参见API http docs aws amazon com AmazonS3 latest API RESTObjectGET html 利用C 构建下面的请求 GET ObjectName
  • MSCAN:Learning Deep Context-aware Features over Body and Latent Parts for Person ReID阅读笔记

    Learning Deep Context aware Features over Body and Latent Parts for Person Re identification 作者 DangWei Li等人 CVPR 2017 1