m-learning_数据库上云

m-learning_数据库上云这是云从大佬在CVPR上的一篇paper。基本思想就是通过对globalfeature进行多粒度的切分,提取更局部的细节特征。当时在Market-1501,CUHK03,DukeMTMC-reID三个数据集刷新了SOTA纪录,其中最高在Market-1501上的首位命中率(Rank-1Accuracy)达到96.6%,让(ReID)在准确率上首次达到商用水平,很大程度上可以说是推动了整个rei…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

这是云从大佬在CVPR上的一篇paper。基本思想就是通过对global feature进行多粒度的切分,提取更局部的细节特征。当时在Market-1501,CUHK03,DukeMTMC-reID三个数据集刷新了SOTA纪录,其中最高在Market-1501上的首位命中率(Rank-1 Accuracy)达到96.6%,让(ReID)在准确率上首次达到商用水平,很大程度上可以说是推动了整个reid行业的发展。

论文https://arxiv.org/pdf/1804.01438.pdf
GitHubhttps://github.com/xr-Yang/MGN-Pytorch

看完整个paper想说点关于自己的想法:MGN是对global feature进行了1,2,3层的切分,开启了大家对多粒度attention的思考,那么借鉴这个思想,我们很自然的会想到如果对global feature切得更细,比如对global切1,2,3,4层分别送loss效果会不会进一步提升,对local feature的提取是不是会更好。

目前我们组内有尝试这部分的工作,通过对MGN的改进,将global feature进行更细粒度的切分,并且使用上下local feature的协同机制,得到的比MGN更好的效果,相关detail可以看我的另一篇:《Collaborative Attention Network for Person Re-identification》
 

OK,我们回到MGN。

MGN的主要思想就是通过区域分割,来获得不同粒度的特征,比如全局和局部特征以及更细粒度的局部特征,通过一个网络的不同分支得到这些特征,每个分支都对不同的分割块进行特征提取。

论文提出通过融合行人的全局信息以及具有辨识力的多粒度局部信息的思路,为解决ReID问题提供了一个非常不错的思路。
(1)结构精巧:该方案实现了端到端的直接学习,并没有增加额外的训练流程;
(2)多粒度:融合了行人的整体信息与有区分度的多粒度细节信息;
(3)关注细节:模型真正懂得什么是人,模型会把注意力放在膝盖,衣服商标等能够显著区分行人的一些核心信息上。
 

难点:

ReID技术与人脸识别技术类似,存在较多的困难点需要克服,例如光线、遮挡、图片模糊等客观因素。另外,行人的穿着多样,同一人穿不同的衣服,不同的人穿相似的衣服等等也对ReID技术提出更高的要求。行人的姿态多变导致人脸上广泛使用的对齐技术也在ReID失效。行人的数据获取难度远远大于人脸识别数据获取难度,而行人的信息复杂程度又远远大于人脸,这两个因素叠加在一起使得ReID的算法研究变得更加困难,也更加重要。通过算法的有效设计,降低对数据依赖来实现ReID效果的突破是现在业内的共识。

Introduction

从不同的安防摄像机采集到的大批行人图像中检索出给定的行人是行人重识别一个极具挑战性的任务。由于监控视频图像的场景复杂性,person -ReID的主要挑战来自于人的较大变化诸如姿势、遮挡、衣服、背景混乱,检测失败等。深度卷积网络的蓬勃发展,对行人图像的识别和鲁棒性提出了更为强大的表现形式,将RID的性能提升到了一个新的水平。近几个月来,一些深层次的RID方法(3, 37, 32,25)取得了突破性的高识别率和平均平均精度。

结合全局与局部特征是提高提取行人关键可分辨信息的重要方法。之前的局部特征提取的方法专注在基于位置的显著信息提取,导致训练难度提高,同时在复杂场景的鲁棒性并不尽如人意。而作者新设计了一个多分支的端到端的深度网络,使得不同级别的网络分支能够关注不同粒度的分辨信息,也能够有效兼顾整体信息。损失函数部分,作者表示为了充分体现网络的真实潜力,该文章中只使用了在深度学习中非常常见的Softmax Loss与Triplet Loss。

m-learning_数据库上云

 

多粒度的解析如图所示,从左到右是人体部分从粗粒度到精细粒度的过程。左边三张是完整的行人图片,中间是将行人图片分割为上下两部分,最有右边是将行人图片分成上中下三个部分。

m-learning_数据库上云

 

多粒度网络(Multiple Granularity Network,MGN)如上图所示,该结构的基础网络部分采用业内最为常用的Resnet50。根据对Resnet50网络以及跨镜追踪的深刻分析,作者创新性地对Resnet50进行了合理的修改,使用Resnet50前三层提取图像的基础特征,而在高层次的语意级特征作者设计了3个独立分支。如图所示,第一个分支负责整张图片的全局信息提取,第二个分支会将图片分为上下两个部分提取中粒度的语意信息,第三个分支会将图片分为上中下三个部分提取更细粒度的信息。这三个分支既有合作又有分工,前三个低层权重共享,后面的高级层权重独立,这样就能够像人类认知事物的原理一样即可以看到行人的整体信息与又可以兼顾到多粒度的局部信息。

同时文章对损失函数部分也进行了精心而巧妙的设计。三个分支最后一层特征都会进行一次全局MaxPooling操作,而第二分支与第三分支还会分别再进行局部的MaxPooling,然后再将特征由2048维降为256维。最后256维特征同时用于Softmax Loss与Triplet Loss计算。另外,作者在2048维的地方添加一个额外的全局Softmax Loss,该任务将帮助网络更全面学习图片全局特征。

而在测试的时候只需使用使用256维特征作为该行人的特征进行比较,无需使用2048维的特征,使用欧氏距离作为两个行人相似度的度量。

正是这样简约的设计,使得整个网络对行人完成由粗粒度特征到精细粒度特征的理解。

 

m-learning_数据库上云

 

m-learning_数据库上云

 

作者最后使用Re-Ranking技术对结果进行处理。需要着重强调的是文章的数据显示,本方法在Market-1501的Rank1数值即使在没有使用Re-Ranking技术的情况下已达到95.7%,这个结果已经超越了当时其他方案使用Re-Ranking技术后的结果。另外MGN的所有结果都是根据每个数据集官方提供的训练数据以及评测方法进行,并没有做数据扩充或者将多个数据集融合训练。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185586.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月5日 下午6:46
下一篇 2022年10月5日 下午6:46


相关推荐

  • java自定义注解和使用[通俗易懂]

    自定义注解@Target自定义注解的使用范围ElementType.METHOD:方法声明ElementType.TYPE:类、接口(包括注解类型)或enum声明ElementType.CONSTRUCTOR:构造器的声明ElementType.FIELD:域声明(包括enum实例)ElementType.LOCAL_VARIABLE:局部变量声明ElementType.PACKA…

    2022年4月13日
    68
  • idea快捷键设置成idea_idea快捷键设置

    idea快捷键设置成idea_idea快捷键设置====一、快捷键的设置=====1、单击文件,然后点Settings2、点击Keymap进入EditorActions3、选择自己要设置的快捷键,先Remove(移除)原来的快捷键,再Add自己想设置的快捷键,直接一次性输入即可,假如是Ctrl+d,那么就同时按下这两个键即可。移除之后就没了,再自己重新设置其它快捷键可以自己搜索二、IDEA默认快捷键(持续更新)1、自己常用便捷操作(初级):**①ctrl+d—–

    2026年2月2日
    5
  • Pygame安装的详细说明

    Pygame安装的详细说明Pygame的安装在未安装好pygame模块时,我们在使用pygame开发游戏就回发生Error:ModuleNotFoundError:Nomodulenamed‘pygame’此时则要安装好pygame模块才可以正常使用pygame模块进行游戏开发。下面详细讲述pygame模块的安装:1.先检查自己的python版本,我们现在用的一般是最新版,例如我下载的是python3….

    2022年5月23日
    74
  • vscode远程开发python_vscode版本

    vscode远程开发python_vscode版本在大二刚接触linux系统的时候,学校的服务器装的都是有图形界面Ubuntu系统,使用teamviewer远程连接操作很方便,就像多了个电脑一样。可是最近进所里后发现,给分配的服务器只有能使用ssh登录的终端,这让我这个被pycharm的各种功能惯坏了的人十分不爽,不能代码提示补全、不能一眼看到所有文件、不能随心所欲地debug。。。因此我开始了寻找舒适远程开发方法的无用功旅程,在此期间尝试了mobaxterm,vscode和pycharm。最后总结了下各个方法的使用情况。一、Mobaxter…

    2022年8月29日
    5
  • 如何设置java环境变量

    设置“java”环境变量的方法是:首先进入计算机中的高级系统设置,打开环境变量设置,然后新建“JAVA_HOME”系统变量,设置其值为安装路径,接着编辑“PATH”变量,最后根据实际情况,选择是否新建“Classpath”变量。

    2022年1月16日
    44
  • 基于51单片机的流水灯设计

    基于51单片机的流水灯设计三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键设计思路一(未用中断):8个LED灯正极解电源,负极接单片机I/O口。死循环:设置P2口为11111110,使用左移函数,循环七次。同时每次位移中间加入延时函数。三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键控制流水灯暂停蜂鸣器长响:思路一:设置一个变量i,起初为0,按下A键后为1;当i为1进入死循环设置变…

    2022年5月3日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号