上交&IIAI提出CGPS:首个弱监督/无监督的行人搜索框架

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文提出了首个弱监督/无监督的行人搜索框架,无需身份标签甚至无需行人框标注,通过充分挖掘场景中的语义信息,直接生成高质量的伪标签,对单阶段的行人搜索网络进行训练,极大降低了数据标注成本,模型和代码刚刚开源。

Exploring Visual Context for Weakly Supervised Person Search

作者单位:上海交通大学,IIAI

文章链接:https://arxiv.org/abs/2106.10506

代码链接:https://github.com/ljpadam/CGPS

1 简介

行人搜索任务需要从场景中同时对目标人物进行检测(detection)和识别(re-id),因此通常使用包含检测和re-id的多任务学习网络进行建模。由于行人身份特征标注困难,已经有众多工作单独对re-id任务中的弱监督/无监督学习框架进行了广泛研究。行人搜索任务也面临相似的挑战,但是目前为止尚缺乏该方面的研究工作。本文以此为出发点,探索了如何在标注数据缺乏的情况下,设计一个高效鲁棒的行人搜索网络。

2 主要方法

图 1 网络结构

如图1所示,作者采用了经典的基于Faster-RCNN的单阶段行人搜索框架,作为基线网络,其中检测框使用真实标签(弱监督)或者其他检测器生成的框(无监督)作为标注,行人的身份标签使用一种无监督的re-id学习方法(SPCL)生成。作者重点分析了无监督re-id任务和行人搜索任务的区别,即re-id需抠出单独的行人个体进行训练,并未有效利用行人搜索任务中的上下文信息。基于此,作者充分挖掘了以下三种上下文信息,以更好的服务于行人搜索任务:

1)检测信息(Detection Context)

图 2 检测信息的约束方法,相同颜色点代表同一个样本的特征,白点代表背景特征

在网络训练过程中,每个ground truth框会对对应多个正样本,这些正样本都对应于同一个人。如图2所示,本文提出对这些样本的re-id特征进行约束,使其同人相近、异人相远;同时,需要尽量区分前景行人特征和背景特征。具体公式如下:

2)记忆信息(Memory Context)

原始的SPCL通过外部记忆的方式对网络进行训练,存储聚类的中心点c,并通过计算样本和聚类中心点的距离计算loss:

这种情况下,所有聚类中心都参与计算。本文基于难样本挖掘的思想,只选取最难的K个中心参与计算,使得每个样本得到更充分的训练。不同于现有的难样本挖掘方法,本文中的难例数量K不固定,而是通过计算难样本所占比重,由一个比例系数确定:

改进过的loss如下:

3)场景信息(Scene Context)

图 3 场景中存在的聚类限制

SPCL直接使用聚类结果为行人身份分配伪标签,这忽略了场景中天然存在的限制,例如,出现在同一张图片中的行人不能被分配到相同的ID。基于此,本文提出了一种聚类结果的优化方法。即,遍历聚类结果,如果发现出现在同一张图片中的行人被聚在同一个簇中,则仅保留离聚类中心最近的样本,剔除其他样本。如图三所示,红色样本和蓝色样本出现在一张图片中,同时被聚为一个簇,则剔除红色样本,保留蓝色样本,红色样本形成一个单独的类别。

3 实验结果

本文在CUHK-SYSU和PRW两个行人搜索数据库上展开了实验。验评估指标为平均精度均值(mean Average Precision,简称mAP)和Top-1精度。

1)比较实验

观察CUHK-SYSU上的比较实验,使用本文提出的三种上下文信息相较于基准模型mAP提升了8.3%,top-1精度提升了7.6%,单独使用某一类信息对实验结果也都有正向提升。

2)三类信息的有效性实验

分别验证了不同超参数对实验结果的影响,进一步验证了三类上下文信息的有效性。

3)和监督模型的比较

本文提出的弱监督方法和最好的监督模型相比,差距在20%左右,基本匹配无监督的re-id模型和有监督re-id模型的差距。作者在文中表示,希望该工作能够为后续工作提供一个起点,缩小与有监督模型的差距。

4)和两阶段模型的比较

作者从性能和效率方面与Faster RCNN和一些最近的无监督re-id模型的组合进行了比较,发现本文提出的单阶段模型从性能和效率方面都超过了两阶段模型。

5)无监督试验结果

作者分别使用了COCO数据集上训练不同检测器产生的行人检测框作为标注,发现和使用真实框作为标注的弱监督模型比较,性能差距较小,说明了完全无监督情况下训练行人搜索模型的可能性。

CVPR和Transformer资料下载

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF
CVer-Transformer交流群成立
扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群▲点击上方卡片,关注CVer公众号
整理不易,请给点赞和在看
在给定的矩阵M不是欧几里得距离矩阵(EDM)时,如果你需要使用Python来解决多维尺度分析(MDS)问题,即找到一个点集的坐标,这些点之间的距离最接近给定的矩阵M所表示的距离,你可以使用经典的多维尺度分析方法。这通常通过以下步骤完成: 1. 验证矩阵:首先,你需要确定矩阵M是否可以通过某种变换转换成EDM。对于经典的MDS,原始数据通常需要满足一定的性质,比如必须是一个距离矩阵,且满足距离三角不等式。 2. 将矩阵转换为EDM:如果矩阵M不符合EDM的要求,可以尝试使用某些算法将其转换为EDM。这可能需要特殊的数学处理,比如利用“最小平方加权欧几里得嵌入”(SMACOF)算法。 3. 应用经典MDS:一旦你得到了一个EDM或者确保了M矩阵可以用来进行MDS,你可以使用`scipy.spatial`模块中的`MDS`类或者其他类似工具来执行MDS。`scipy`库提供了直接计算MDS的函数,如`scipy.spatial.distance.pdist`用于计算成对距离,`scipy.spatial.distance.squareform`用于将距离向量转换为矩阵形式。 4. 确定降维的维度:确定降维到多少维更好,通常取决于数据本身的特性。一个常用的方法是分析数据的特征值,选择使得累计贡献率达到一定比例(如90%或95%)的特征值个数作为维度。另外,也可以使用散点图或碎石图来辅助判断降维的合适维度。 以下是使用Python和`scipy`进行经典MDS的一个简要示例代码: ```python import numpy as np from scipy.spatial.distance import pdist, squareform from scipy.spatial import MDS # 假设M是给定的距离矩阵 M = np.array([[0, 2, 3], [2, 0, 4], [3, 4, 0]]) # 将矩阵转换为一维距离向量 d = squareform(M) # 使用MDS类 mds = MDS(n_components=2, random_state=1) # 假设我们想要降到2维 fit = mds.fit(d) # 转换后的坐标 X = fit.embedding_ print(X) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值