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的所有结果都是根据每个数据集官方提供的训练数据以及评测方法进行,并没有做数据扩充或者将多个数据集融合训练。

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python表情代码_Python实现表情包的代码实例[通俗易懂]

    python表情代码_Python实现表情包的代码实例[通俗易懂]本文主要介绍了使用Python进行简单图像处理的方法以及Python自动生产表情包的实例,具有很好的参考价值,下面跟着小编一起来看下吧作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!表情包不仅仅是一种符号,更是一种文化——是促进社交乃至社会发展的动力之一,就像懒。我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽…

    2022年10月29日
  • microsoft office visio2003产品密钥[通俗易懂]

    microsoft office visio2003产品密钥[通俗易懂]WFDWY-XQXJF-RHRYG-BG7RQ-BBDHM

  • MySQL常用命令大全(完整)

    MySQL常用命令大全(完整)打开Linux或MacOS的Terminal(终端)直接在终端中输入windows快捷键win+R,输入cmd,直接在cmd上输入1、mysql服务的启动和停止netstopmysqlnetstartmysql启动失败可按快捷键win+R,输入services.msc,找到MySQL服务器的名称启动2、登陆mysqlmysql(…

  • LevelDB详解

    LevelDB 一、LevelDB入门LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (LogStructuredMerge)策略,lsm_tree对索引变更进行延迟及批量处理,并通过一种类似于归并排序的方

  • Kinect开发笔记之二Kinect for Windows 2.0新功能

    Kinect开发笔记之二Kinect for Windows 2.0新功能

  • linux下mysql常用命令_shell命令大全

    linux下mysql常用命令_shell命令大全一、总结一下:1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladminrestart/ect/init.d/mysqlrestart(前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqladminshutdown/ec…

发表回复

您的电子邮箱地址不会被公开。

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