热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PersonReidentification系列论文笔记(七):PCB+RPP

BeyondPartModels:PersonRetrievalwithRefinedPartPoolingSunY,ZhengL,YangY,etal.BeyondPartMod

Beyond Part Models: Person Retrieval with Refined Part Pooling

Sun Y, Zheng L, Yang Y, et al. Beyond Part Models: Person Retrieval with Refined Part Pooling[J]. 2017.

  这篇是SVD-net作者的新作,也是我个人比较喜欢一篇。

  主要内容是找到了一种既能精确划分部件信息而又不借助姿态估计的方法,提出了PCB+RPP的网络框架。PCB是硬划分局部学习,RPP可以理解成特征图的attention操作。

  整个算法的思路清晰,PCB硬划分提取局部特征,然而简单粗暴的划分带来了不够精确的对齐,考虑添加软划分,但一般的软划分需要借助分割或者姿态估计,而分割需要昂贵的标注成本,因此提出借助PCB的RPP。

  并没有过多的tricks堆砌,特别是RPP有种让人眼前一亮的感觉。

local(part) feature and global feature

行人重识别中网络最终结果就是提取有效的全局特征和局部特征

传统部件方法

1.硬划分:简单粗暴,但对齐不准确

2.软划分:对齐准确,借助人体姿态估计,代价大

 

contributions

  Sun设想找到一种既能精确划分部件信息而又不借助姿态估计的方法,因此提出了PCB+RPP的网络框架。

PCB(Part Convolutional Baseline )

直接在特征上进行硬化分,降维之后,分别接softmaxloss

RPP(Refined Part Pooling)

 属于软划分,利用部件之间的一致性,训练一个像素级别的分类器即分割。

利用部件分类器得到对应6个part的6个通道的概率密度图,每个概率密度图分别和输入整张特征做加权操作,

即可得到不同部件的精细的特征。

PCB+RPP的网络结构

训练的步骤:

1.训练PCB网络。

2.在PCB网络的基础上添加part classifier结构,然后固定PCB的backbone和最后的分类层参数,只训练part classifier。

这里利用PCB的硬划分分类器强行的让part classifie去适应,最终学到精细的划分分类器。

3.在part classifier训练收敛后,解开权值固定,一起微调。

experiments

可视化分析

Market-1501性能

 

转:https://www.cnblogs.com/dingz/p/9367135.html



推荐阅读
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • WebStorm 是一款强大的集成开发环境,支持多种现代 Web 开发技术,包括 Node.js、CoffeeScript、TypeScript、Dart、Jade、Sass、LESS 和 Stylus。它为开发者提供了丰富的功能和工具,帮助高效构建和调试复杂的 Node.js 应用程序。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 深入理解排序算法:集合 1(编程语言中的高效排序工具) ... [详细]
  • QT框架中事件循环机制及事件分发类详解
    在QT框架中,QCoreApplication类作为事件循环的核心组件,为应用程序提供了基础的事件处理机制。该类继承自QObject,负责管理和调度各种事件,确保程序能够响应用户操作和其他系统事件。通过事件循环,QCoreApplication实现了高效的事件分发和处理,使得应用程序能够保持流畅的运行状态。此外,QCoreApplication还提供了多种方法和信号槽机制,方便开发者进行事件的定制和扩展。 ... [详细]
  • 在关系型数据库中,数据约束是指在向数据表中插入数据时必须遵循的限制条件。在MySQL和MariaDB中,常见的数据约束包括主键约束、唯一键约束、外键约束以及非空约束等。这些约束确保了数据的完整性和一致性,是数据库管理中的重要组成部分。通过合理设置和使用这些约束,可以有效防止数据冗余和错误,提升数据库的可靠性和性能。 ... [详细]
  • 解决针织难题:R语言编程技巧与常见错误分析 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • 分页机制详解:实现高效数据加载与展示
    在数据集合庞大且需要部分展示的情况下,分页机制能够有效提升用户体验和系统性能。通过合理划分和组织数据,确保每个页面的数据量适中,便于用户理解和操作。该机制特别适用于数据量大、不适合一次性加载全部内容的场景,如电子商务网站的商品列表、社交媒体的信息流等。分页不仅提高了页面加载速度,还优化了数据展示的逻辑性和可读性。 ... [详细]
author-avatar
阿什顿安抚_343
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有