【项目实践】多粒度网络MGN-ReID之跨境追踪实践(一)

简介: 【项目实践】多粒度网络MGN-ReID之跨境追踪实践(一)

1、跨境追踪的简介


  跨镜追踪(Person Re-Identification,简称ReID)技术是现在计算机视觉研究的热门方向,主要解决跨摄像头跨场景下行人的识别与检索。该技术能够根据行人的穿着、体态、发型等信息认知行人,与人脸识别结合能够适用于更多新的应用场景,将人工智能的认知水平提高到一个新阶段。


   ReID是行人智能认知的其中一个研究方向,行人智能认知是人脸识别之后比较重要的一个研究方向,特别是计算机视觉行业里面,我们首先简单介绍ReID里比较热门的几项内容:


   1、行人检测。任务是在给定图片中检测出行人位置的矩形框,这个跟之前的人脸检测、汽车检测比较类似,是较为基础的技术,也是很多行人技术的一个前置技术。


   2、行人分割以及背景替换。行人分割比行人检测更精准,预估每个行人在图片里的像素概率,把这个像素分割出来是人或是背景,这时用到很多P图的场景,比如背景替换。举一个例子,一些网红在做直播时,可以把直播的背景替换成外景,让体验得到提升。


   3、骨架关键点检测及姿态识别。一般识别出人体的几个关键点,比如头部、肩部、手掌、脚掌,用到行人姿态识别的任务中,这些技术可以应用在互动娱乐的场景中,类似于Kinnect人机互动方面,关键点检测技术是非常有价值的。


   4、行人跟踪“ MOT ”的技术。主要是研究人在单个摄像头里行进的轨迹,每个人后面拖了一根线,这根线表示这个人在摄像头里行进的轨迹,和 ReID技术结合在一起可以形成跨镜头的细粒度的轨迹跟踪。


   5、动作识别。动作识别是基于视频的内容理解做的,技术更加复杂一点,但是它与人类的认知更加接近,应用场景会更多,这个技术目前并不成熟。动作识别可以有非常多的应用,比如闯红灯,还有公共场合突发事件的智能认知,像偷窃、聚众斗殴,摄像头识别出这样的行为之后可以采取智能措施,比如自动报警,这有非常大的社会价值。


   6、行人属性结构化。把行人的属性提炼出来,比如他衣服的颜色、裤子的类型、背包的颜色。


   7、跨境追踪及行人再识别ReID技术。


2、ReID数据采集的特点


   1、必须跨摄像头采集,给数据采集的研发团队和公司提出了比较高的要求;

   2、公开数据集的数据规模非常小;

   3、影响因素复杂多样;

   4、数据一般都是视频的连续截图;

   5、同一个人最好有多张全身照片;

   6、互联网提供的照片基本无法用在ReID;

   7、监控大规模搜集涉及到数据,涉及到用户的隐私问题。


3、ReID面临的困难


   1、遮挡问题;

   2、无正脸问题;

   3、配饰问题;

   4、姿态问题;

   5、相机拍摄角度差异大;

   6、监控图片模糊不清;

   7、室内室外环境变化;

   8、行人更换服装配饰,如之前穿了一件小外套,过一会儿把外套脱掉了;

   9、季节性穿衣风格,冬季、夏季穿衣风格差别非常大,但从行人认知来讲他很可能是同一个人;

   10、白天晚上的光线差异等。


4、ReID 实现思路与常见方案


ReID 从完整的过程分三个步骤:

   第一步:从摄像头的监控视频获得原始图片;

   第二步:基于这些原始图片把行人的位置检测出来;

   第三步:基于检测出来的行人图片,用ReID技术计算图片的距离,但是我们现在做研究是基于常用数据集,把前面图像的采集以及行人检测的两个工作做过了,我们ReID的课题主要研究第三个阶段。


5、多粒度网络(MGN)


33ea8027d8227442dd0c759397f01b42.png


5.1、多粒度网络(MGN)设计思路

   设计思想是这样子的,一开始是全局特征,把整张图片输入,我们提取它的特征,用这种特征比较Loss或比较图片距离。但这时我们发现有一些不显著的细节,还有出现频率比较低的特征会被忽略。比如衣服上有个LOGO,但不是所有衣服上有LOGO,只有部分人衣服上有LOGO。全局特征会做特征均匀化,LOGO的细节被忽略掉了。


5.2、网络结构原理

   MGN的做法,主要是结合全局特征和局部特征,获得更加具有描述力的特征,整个网络框架主要分为3个支路,论文框架如下图所示:

300fbc6be75e3f4b112806494d14df23.png

      该框架主干网络是ResNet-50,框架共有3个分支,一个是全局分支,两个是局部分支,在ResNet-50的res_conv4_2产生出3个分支。


   (1)对于全局分支,在res_conv5_1上下采样,步长为2的卷积层。经过 global max-pooling,以及一个用来降维的1*1卷积层,特征从2048维降到256维。2048维特征去做softmax loss,256维特征去做triplet loss。


   (2)对于两个局部分支,操作方法相同,只是第一个局部分支分成两块,第二个局部分支分成3块,在res_conv5_1为了保留原来的局部特征信息,并没有进行下采样,在水平方向均等的分成几块,后面的处理和全局分支一样,2048维依然去做softmax loss,256维特征去做triplet loss。


   (3)在测试阶段,特征是所有256维特征的级联。


   (4)损失函数主要是分类的softmax损失和用于度量学习的三元组损失。


算法流程:


  首先,输入图的尺寸是384×128,我们用的是Resnet50,如果在不做任何改变的情况下,它的特征图谱输出尺寸,从右下角表格可以看到,global 这个地方就相当于对Resnet 50不做任何的改变,特征图谱输出是12×4。


   下面有一个part-2 跟 part-3,这是在Res4_1的位置,本来是有一个stride 等于2的下采样的操作,我们把2改成 1,没有下采样,这个地方的尺寸就不会缩小2,所以part-2跟part-3比global大一倍的尺寸,它的尺寸是24×8。为什么要这么操作?因为我们会强制分配 part-2跟part-3去学习细粒度特征,如果把特征尺寸做得大一点,相当于信息更多一点,更利于网络学到更细节的特征。


   网络结构从左到右,先是两个人的图片输入,这边有3个模块。3个模块的意思是表示3个分支共享网络,前三层这三个分支是共享的,到第四层时分成三个支路,第一个支路是global的分支,第二个是 part-2 的分支,第三个是part-3的分支。在global的地方有两块,右边这个方块比左边的方块大概缩小了一倍,因为做了个下采样,下面两个分支没有做下采样,所以第四层和第五层特征图是一样大小的。


   接下来我们对part-2跟part-3做一个从上到下的纵向分割,part-2在第五层特征图谱分成两块,part-3对特征图谱从上到下分成三块。在分割完成后,我们做一个 pooling,相当于求一个最值,我们用的是Max-pooling,得到一个2048的向量,这个是长条形的、横向的、黄色区域这个地方。


   但是part-2跟part-3的操作跟global是不一样的,part-2有两个pooling,第一个是蓝色的,两个part合在一起做一个global-pooling,我们强制part-2去学习细节的联合信息,part-2有两个细的长条形,就是我们刚才引导它去学细节型的信息。淡蓝色这个地方变成小方体一样,是做降维,从2048维做成256维,这个主要方便特征计算,因为可以降维,更快更有效。我们在测试的时候会在淡蓝色的地方,小方块从上到下应该是8个,我们把这8个256维的特征串连一个2048的特征,用这个特征替代前面输入的图片。


5.3、损失函数的设计

  Loss说简单也简单,说复杂也复杂也复杂,为什么?简单是因为整个模型里只用了两种Loss,是机器学习里最常见的,一个是SoftmaxLoss一个是TripletLoss。复杂是因为分支比较多,包括global的,包括刚才local的分支,而且在各个分支的Loss设计上不是完全均等的。我们当时做了些实验和思考去想Loss的设计。现在这个方案,第一,从实践上证明是比较好的,第二,从理解上也是容易理解的。

Loss = Triplet Loss + Softmax Loss:

   首先,看一下global分支。上面第一块的Loss设计。这个地方对2048维做了SoftmaxLoss,对256维做了一个TripletLoss,这是对global信息通用的方法。下面两个部分global的处理方式也是一样的,都是对2048做一个SoftmaxLoss,对256维做一个TripletLoss。中间part-2地方有一个全局信息,有global特征,做 SoftmaxLoss+TripletLoss。


   但是,下面两个Local特征看不到TripletLoss,只用了SoftmaxLoss,这个在文章里也有讨论,我们当时做了实验,如果对细节当和分支做TripletLoss,效果会变差。为什么效果会变差?


   一张图片分成从上到下两部分的时候,最完美的情况当然是上面部分是上半身,下面部分是下半身,但是在实际的图片中,有可能整个人都在上半部分,下半部分全是背景,这种情况用上、下部分来区分,假设下半部分都是背景,把这个背景放到TripletLoss三元损失里去算这个Loss,就会使得这个模型学到莫名其妙的特征。


   比如背景图是个树,另外一张图是某个人的下半身,比如一个女生的下半身是一个裙子,你让裙子跟另外图的树去算距离,无论是同类还是不同类,算出来的距离是没有任何物理意义或实际意义的。从模型的角度来讲,它属于污点数据,这个污点数据会引导整个模型崩溃掉或者学到错误信息,使得预测的时候引起错误。所以以后有同学想复现我们方法的时候要注意一下, Part-2、part-3的Local特征千万不要加TripletLoss。


   对全局特征使用tripletloss,对局部特征使用softmax。此设置的灵感源于粗略到精细的机制,将非归约特征作为粗略信息来学习分类,将归约特征作为具有学习度量的精细信息。


   将局部与整体在同一个分支中学习得到的效果并不显著。可能是这个分支共享同一个网络结构。


   网络体系结构中的三个分支实际上学习了表示具有不同偏好的信息。具有较大接收场和全局最大池的全局分支从行人图像中捕获了完整但粗糙的特征,并且由第2部分和第3部分分支学到的特征却没有大幅度的卷积和条带的分割部分,但这些特征往往是局部的但很好。具有更多分区的分支将学习行人图像的更好表示。学习不同偏好的分支机构可以将底层的区分信息协作地补充到公共骨干网部分,这就是在任何单个分支机构中提高性能的原因。

目录
打赏
0
0
0
0
34
分享
相关文章
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力。通过具体案例,展示了方案的制定和实施过程,强调了目标明确、技术先进、计划周密、风险可控和预算合理的重要性。
82 5
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
173 15
算力流动的基石:边缘网络产品技术升级与实践探索
本文介绍了边缘网络产品技术的升级与实践探索,由阿里云专家分享。内容涵盖三大方面:1) 云编一体的混合组网方案,通过边缘节点实现广泛覆盖和高效连接;2) 基于边缘基础设施特点构建一网多态的边缘网络平台,提供多种业务形态的统一技术支持;3) 以软硬一体的边缘网关技术实现多类型业务网络平面统一,确保不同网络间的互联互通。边缘网络已实现全球覆盖、差异化连接及云边互联,支持即开即用和云网一体,满足各行业需求。
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
48 23
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
49 7
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
网络安全视角:从地域到账号的阿里云日志审计实践
网络安全视角:从地域到账号的阿里云日志审计实践
PaSa:字节跳动开源学术论文检索智能体,自动调用搜索引擎、浏览相关论文并追踪引文网络
PaSa 是字节跳动推出的基于强化学习的学术论文检索智能体,能够自动调用搜索引擎、阅读论文并追踪引文网络,帮助用户快速获取精准的学术文献。
233 15
阿里云先知安全沙龙(武汉站) - 网络空间安全中的红蓝对抗实践
网络空间安全中的红蓝对抗场景通过模拟真实的攻防演练,帮助国家关键基础设施单位提升安全水平。具体案例包括快递单位、航空公司、一线城市及智能汽车品牌等,在演练中发现潜在攻击路径,有效识别和防范风险,确保系统稳定运行。演练涵盖情报收集、无差别攻击、针对性打击、稳固据点、横向渗透和控制目标等关键步骤,全面提升防护能力。
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
342 30

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等