Person Search论文——《Query-guided End-to-End Person Search》CVPR 2019笔记

2023-11-05

1.论文主要思想

这篇论文是以《Joint Detection and Identification Feature Learning for Person Search》作为baseline进行改进的。在保持baseline中joint detection and re-id的方法基础上,本文方法将query guided person search这一思想贯彻始终,提出了QSSE-Net,QRPN,QSimNet三种子网络以实现利用query辅助搜索的想法。

2.实验结果

上表中是Person search中各种方法在CUHK-SYSU数据集上的表现对比,虚线上的方法将图片的短边resize到了600,虚线下方的方法将图片的短边resize到了900。对比最后两行可以看到QEEPS在OIM基础上的提升。

上表中是各方法在PRW/PRW mini中的对比,虚线上方为PRW,虚线下方为PRW mini。由于基于query-based的方法每次前传都需要将 [query, gallery] pair送入网络中处理,若有n个query和m个可能出现target的gallery,则网络需要前传n * m次而非n + m次,而PRW相对于CUHK-SYSU,每个query对应了更多的Bbox(36.8PRW v.s 2.8CUHK-SYSU),因此本文团队在PRW的基础上,抽取了30个query和所有的galery组成PRW mini,采取合适方法保持难度的同时降低evaluation的时间消耗。

3.模型结构和方法

3.1模型结构

模型结构如上,采取了Siamese network(孪生网络),在处理gallery时也同时将query也送入网络,辅助gallery feature maps的提取(通过QSSE模块),然后在原有RPN的基础上增加了QRPN更好的proposal ROI,在最后匹配query ID feature和Proposal ID feature时加入了QSim-Net来帮助匹配。

3.2 QSSE模块

首先来看QSSE-Net是如何work的。

QSSE是在SE(Squeeze-and-Excitation)的基础上提出的。SE的前传过程是将Residual block中通过Residual部分的feature首先通过Global Average Pooling将feture的每个通道变为size 1 * 1,整个feature map变为1 * 1 * C的tensor,然后通过全连接层FC1将维度C变为C/r,经过ReLu,再经过FC2将C/r还原为C,再经过Sigmoid,最终得到1 * 1 * C的tensor。将这个tensor作为权重,与Residual部分的输出做channel wise的乘积,调整feature map每个通道的权重,所谓Scale操作。最后将Scale的结果与Residual的输入相加作为SE模块的输出。

QSSE是如何work的呢?其实是将SE做了类似孪生网络的设计,Residual的输出经过GAP后进行拼接得到1 * 1 * 2C的tensor,FC1将其调整为2C/r,FC2重新调整为C(注意是C而非2C,以便与query和gallery各自Scale)。

在BaseNet部分中,经过多次QSSE block作为BaseNet的输出。

3.3 QRPN模块

QRPN模块中,首先对普通特征网络提取得到的Query feature map做ROI Pooling,然对其应用SE网络,得到1 * 1 *C的向量,再用该向量对BaseNet得到的Gallery feature map进行scale操作,然后送入后续的普通RPN。

原文中对Bbox Proposal这一步的叙述是,QRPN得到类似相似度的分数,普通RPN得到Bbox包围的是object的分数,二者相加作为最终的分数,以此为依据进行NMS非极大值抑制,然后对剩下的Bbox进行regression完成Bbox Proposal。

3.4 QSimNet模块

在OIM中对Query feature和Gallery上的proposal的feature计算余弦相似的及基础上,本文还加入了QSimNet,计算二者的相似度。过程是首先计算二者的L2距离(按维度相减再平方),然后应用Batch Normalization,通过全连接层,以及Softmax,最终得到query和gallery上的proposal的相似度得分。

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

Person Search论文——《Query-guided End-to-End Person Search》CVPR 2019笔记 的相关文章

随机推荐

  • 微众银行区块链2021年度回顾

    2021年 数字经济不断深化 并有望担当起更为重要的历史使命 同时 十四五 规划纲要明确区块链作为七大数字经济重点产业之一 为数字产业化提供有力技术支撑 助推数字经济转型升级 这一年 微众银行继续坚守联盟链技术路线 以安全可控的开源技术推动
  • odoo(搭建部署资源、教程)

    本地部署odoo16 odoo https www odoo com documentation 14 0 zh CN administration install install html mac os https alanhou org
  • Ubuntu18.04没有WiFi怎么解决(图文详解)

    博主一个月前 2021 6 1 在安装Ubuntu后出现了没有WiFi的问题 参考了很多教程 才成功解决这个问题 中间做了很多无用功 所以在此总结几位大佬的方法 希望对大家有帮助 少走弯路 1 问题描述 登录Ubuntu系统后 在WiFi设
  • mlxtend库:打造自己的机器学习工具箱

    mlxtend库 打造自己的机器学习工具箱 你是否曾经为缺少一个方便 易用的机器学习工具而感到烦恼 mlxtend库或许可以满足你的需求 mlxtend是一个基于Python的开源项目 它提供了许多用于数据预处理 特征选择 分类 聚类等机器
  • Mybatis整合Spring源码分析

    一 整合配置 POM
  • 备份Intellij IDEA配置的两种方式

    转载 https my oschina net vright blog 1558342 这个技巧老早就知道 而且 本就是官方支持的 真正实现 全新安装 开箱即用 这里以Windows系统为例 方式一 通过将配置导出为Jar包的形式 实现备份
  • CPU调度策略&linux 0.11的schedule实现--OS

    CPU调度策略 如何设计调度算法 这个算法应满足 尽快结束任务 周转时间 从任务进入到任务结束 短 用户操作尽快响应 相应时间 从操作发生到响应 短 系统内耗时间少 吞吐量 完成的任务量 总原则 系统专注于任务执行 又能合理调配任务 两种基
  • matlab时域频域信号特征提取资料整合

    1 前言 最近在做一个项目 需要将声纳信号中的特征都提取出来进行分析 资料查到头秃终于整合出来了些东西 记录一下 由于不是专业人员 如果发现任何错误请不要大意的附在评论区 我会及时修改 谢谢 2 思路 思路这段引用自知乎大佬aresmiki
  • 未能加载项目文件。缺少根元素。

    问题 项目无法加载或者无法打开 方法 删除项目的 Debug 和 Release 目录 或者删除 user 配置软件
  • 使用和生成库

    使用和生成库 基本概念 库有动态与静态两种 动态通常用 so为后缀 静态用 a为后缀 例如 libhello so libhello a 为了在同一系统中使用不同版本的库 可以在库文件名后加上版本号为后缀 例如 libhello so 1
  • 【Leetcode】145. 二叉树的后序遍历

    题目描述 给定一个二叉树 返回它的 后序 遍历 题解 递归法 执行用时 0 ms 在所有 Java 提交中击败了100 00 的用户 内存消耗 36 8 MB 在所有 Java 提交中击败了29 78 的用户 Definition for
  • 【深度学习】迁移学习

    什么是迁移学习 迁移学习 Transfer Learning 是一种机器学习方法 就是把为任务 A 开发的模型作为初始点 重新使用在为任务 B 开发模型的过程中 迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务 虽然大多数机器学
  • 服务器当然选算力强大、换“芯”成本低的

    有一句净水器的广告语人们耳熟能详 选净水器 当然选净化效果好 换芯成本低的 随着各行各业对算力需求的不断高涨 服务器的更新换代速度也越来越快 而除了常规的换 芯 以外 服务器系统在整体设计上如何更好地满足算力多样化 管理智能化 运营安全性和
  • 分享一个数据产品的PRD

    作者 LineLian 微信 firstbodytm 随着年龄的增长会越来越重视道 重视产品成功的系统原因 重视产品的团体环境 重视还原用户的真实因子 对于术比如用啥工具 写那些文档怎么写 交互方式是多么的酷炫 界面设计的是多么的棒 流程设
  • upstream模块(开发)

    http tengine taobao org book chapter 5 html upstream模块 100 nginx模块一般被分成三大类 handler filter和upstream 前面的章节中 读者已经了解了handler
  • 使用gdb调试多进程及多线程程序

    多进程调试 首先来了解下会可能会用到的调试命令 1 默认设置下 在调试多进程程序时GDB只会调试主进程 但是如果设置follow fork mode的话 就可调试多个进程 set follow fork mode parent child
  • 直角坐标系中点的旋转【点绕点旋转】

    前言 本文整理在平面直角系中 坐标系旋转 某点绕着坐标系旋转 坐标点A 绕着点B旋转 求旋转后的点坐标 看了网上好的文章 发现部分有误或不完整 这里简单总结一下 一 点绕坐标系旋转 坐标系不变 某点 绕坐标系 原点 旋转 角度 求旋转后点的
  • GET和POST的区别,java模拟postman发post请求

    目录 一 先说一下get和post 1 看一下人畜无害的w3schools怎么说 2 问一下文心你言哥 轻轻松松给你一个标准答案 3 卧槽 懂了 好像又没懂 二 让我们扒下GET和POST的外衣 坦诚相见吧 三 我们的大BOSS还等着出场呢
  • STM32Lx在低功耗下使用软件看门狗

    看门狗对于防止程序跑死是很关键的 很多时候我们的产品需要进入低功耗 而且唤醒间隔也比较长 此时如果看门狗启动了 那么就会导致处在低功耗的MCU发生复位 解决这个问题的方法有两种 一种是增加看门狗的喂狗时间间隔 保证此间隔大于MCU唤醒间隔
  • Person Search论文——《Query-guided End-to-End Person Search》CVPR 2019笔记

    1 论文主要思想 这篇论文是以 Joint Detection and Identification Feature Learning for Person Search 作为baseline进行改进的 在保持baseline中joint