ReID中PCB模型输出维度_《长安十二时辰》中的跨域行人重识别问题

f92c7be391c1150d1ecb4b78220219ef.png
本文是「北京智源—旷视智能模型设计与图像感知联合实验室」推出的面向泛人工智能圈的科普文章,意在结合人工智能跨域行人重识别技术与时下热门电视剧《长安十二时辰》中相关内容,让更多人对人工智能的魅力有所了解。
本文作者是旷视研究院视频分析组负责人张弛,他用生动的语言像我们分析了“望楼武侯是怎么练成的!”

32383c2d39529dae05fd0b9cf65941ee.png

天宝二年,吐蕃对大唐全面停止互市,并挑唆南诏叛唐,一时间局势骤然紧张起来。自古攘外必先安内,为了防止贼人趁机作乱,朝廷成立靖安司,负责两京及四方治安捕盗之事。靖安司在长安城中每三百步设一望楼,并选边军善射者,驻扎在望楼之上,称为武侯,监控长安东西两市及一百零八坊。

366044749b4d4e43c6c997e97fd98d44.png

武侯目力极佳,街面上的风吹草动都逃不过他们的眼睛。但是在人群之中能够连续追踪一个人却并非易事,需要武侯们相互配合,通过约定暗语将这个人的体貌特征传遍各个望楼,男女,服饰等等一一通过暗语穿出,但是却发现很多时候语焉不详。例如,同样是紫袍老者戴黑冠,可能是郭将军,也可能是何监,或者是右相。

a5fb39d447c5b7accb724e65ed3f9f37.png

因此武侯们不再强求暗语的意义,而是对每个人通过暗语发出一串数字。如果两串数字距离近,那么它们所代表的人就可能是同一个人;反之,那么它们就不应该是同一个人。若要得到这串数字,武侯们便需要习得一套本领,对同一个人的时候,无论光照,方向,姿态如何,所得到的数字距离都要近;而对不同人的时候,数字的距离都需远。为了做到这一点,免不了进行大量的练习。

行人重识别(ReID),即判断不同摄像头下两张图中的人物是否为同一个人,在安防领域有着广泛的应用。在21世纪初,就已经有不少学者在做行人ReID的研究。早期ReID的研究主要集中在两个层面:(1)如何设计更好的行人特征,即上文中的“暗语”;(2)如何对特征进行相似度的度量。前者比较有代表性的方式是HOG特征和LOMO特征,而后者比较有代表的是KISSME和XQDA等等。但是传统手提特征+相似度度量的方法无法应对复杂的真实环境,而随着深度学习技术的发展,行人ReID和大量CV任务一样,开始进入深度学习时代。

靖安司让武侯尽数在西市训练,在六座望楼上观察了一千五百零一人,对每个望楼上观察到的每个人,按照同一规则编撰暗语。开始的时候,暗语设计不甚高明,对于某一个望楼发出的暗语,有几乎一半的情况,另一个望楼收到暗语后,发现暗语最相近的是另外一个人。但功夫不负苦心人,武侯们昼夜苦练,这种情况终于减少到每一百次中仅出现五次左右。

cf7c8386753baed0c8d89c7430bf1b27.png
2015年是ReID技术发展史中很重要的一个分水岭,该年郑良博士等人在ICCV上发布了Market1501数据集,从此ReID进入了深度学习时代。起初,ReID多采用全局特征,主要特点是直接将网络Backbone输出的global feature作为行人图片的ReID特征,而研究的主要目标就是如何设计网络的损失函数。全局特征最近研究的比较少,一般作为目前研究工作的baseline,可以参考“专栏第一篇”:https://zhuanlan.zhihu.com/p/61831669。 在全局特征发展一段时间之后,性能遇到了瓶颈,这时候局部特征local feature的方法开始发展,特点是融合多个局部区域的特征,根据局部区域取得的方式不同,可以分为人体语义分块和物理切割分块。前者比较有代表性的方法包括SpindleNet,GLAD等;而后者代表的方法有PCB,AlignedReID,MGN等,用于Partial ReID的VPM也可认为是后者的变种,可以参考“专栏第三篇”:https://zhuanlan.zhihu.com/p/71260436。

靖安司大喜,令武侯们登上望楼执勤。但是武侯们却每每跟丢嫌犯,令圣人大为不满。靖安司也大为困惑:明明于西市之中,都能够准确跟踪他人,为什么一推广到整个长安就不灵了?原来,在西市之中,有天时地利人和之便。所谓天时,武侯观察西市千余人和之后追踪他们都在同一时间,光照类似;所谓地利,是因为观察和追踪都在西市,场景类似;所谓人和,是因为西市多商贾,衣着风格类似。而一旦推广到整个长安,天时地利人和俱失,因此此法就不灵了。

4ba86331bde99b5a6193c9eeef4a698e.png

aa61c062b1e21537ff0139ca134df895.png
局部特征把同源ReID的性能刷到了一个很高的水平,例如目前在Market1501上Top1最高可以达到95%以上,但类似精度的模型直接用于非同源任务,如DukeMTMC-reid,Top1往往不到40%。这就是domainadaptation问题,在机器学习领域普遍存在。而考虑到ReID领域相对较小的数据集和较单一的场景,这个问题就格外严重了。 在cross-domain reid中,训练集来自于source domain,而测试集来自target domain,两个数据集之间通常存在显著的domain gap。例如,公开数据集Market-1501采集在夏天国内校园,行人多着短袖、色彩也相对鲜明;而DukeMTMC-reID采集于冬季国外校园,行人多着厚重冬装、色彩也相对暗沉。这种显著的着装风格差异塑造了两个数据集之间的domain gap,并降低模型在这两个数据集之间跨域使用的准确率,对模型的泛化能力提出了很高的要求。

为了能让望楼之法在长安推行,这个问题必须解决。靖安司让武侯们在观察西市中的一千五百零一人的时候,先用幻术将其幻化成在其他坊中的样子,甚至是在各个望楼上看到的样子,再来编撰暗语;或者把在西市习得的暗语,先用于其他各坊中人员,由此得到一个坊中人员的相似程度,再根据这先入为主的印象为该坊重编暗语;还有些武侯在观察西市众人时,同时观察其他坊中人物,只是并不知晓这些外坊人物中哪些是一个人,哪些又不是。尽管如此,只要在编写暗语的时候,同时让这暗语与人的四肢躯干相吻合,用于外坊也大有补益。武侯们经过这些训练追踪嫌犯大有长进。终于,在长安,乃至大唐十道三百二十八府一千五百七十三县,武侯们能够如当初在西市中一样,侦稽捕盗,十有九中。

为解决cross-domain reid问题,学术界提出了很多方法: A. source domain向target domain风格迁移。该方案直截了当,希望能够把训练样本(source domain)风格迁移到测试集(target domain),在原始图像层面,减小domain gaps。这类方法大多需要依赖生成对抗网络(GAN)来实现风格迁移——给定sourcedomain的图像,GAN的生成器尝试将其转换成targetdomain 的图像、以假乱真;而GAN的鉴别器则试图区分生成图像的伪造本质。生成器与鉴别器在这样一个左右手互搏下共同提高。CVPR2018 中,两篇工作就使用了这样的方案,分别是“Image-ImageDomain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity forPerson Re-identification”和“Person Transfer GAN toBridge Domain Gap for Person Re-Identification”。值得一提的是,这些工作不只是简单地利用GAN进行风格迁移,为了更好地将GAN风格迁移与re-ID任务目标结合、提高迁移效果,它们还设计了一些特别的约束。例如“Image-ImageDomain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity forPerson Re-identification”设计了ID保持约束,即source domain图像向target domain进行风格迁移时,并不应该改变图像ID。为此,他们额外使用了一个re-ID中常用的metric (contrastive) loss来增强GAN的风格迁移效果:

7fac245397db08605843b193e18d1633.png
公式中,当图像x1,x2分别是原域图像和风格迁移后图像时,二者构成正样对,希望二者的距离近可能接近0;当图像分别是风格迁移后图像与目标域图像时,我们可以断定二者ID不同,因此构成负样对,希望二者的距离尽可能远离。原文实验证明这样一个re-ID约束与GAN风格迁移训练结合,提高了最终cross domain下的re-ID准确率。这就是上文中提到的通过“幻术”幻化出同一个人在不同坊内的样子。 B. target domain内部的风格迁移。另一些研究表明,不直接在source domain和target domain之间进行风格迁移,而是在target domain内部进行细粒度的风格迁移同样也能提高模型在target domain的泛化能力。ECCV2018的“Generalizing A Person Retrieval Model Hetero- and Homogeneously”工作中,作者利用StarGAN让target domain不同相机图像之间互相迁移风格。并且,该工作同样巧妙设置了一种ID保持机制——target domain的图像在迁移相机风格后,ID不应改变,与原图像可以构建正样对。与此同时,target domain的图像与source domain的任意图像可以构建负样对——毕竟,source domain和target domain图像属于同一个ID的概率几乎为0。这个工作在2018年取得了cross domain re-ID的国际领先水平。这就是上文所谓对每一座望楼进行幻化。 C. 在target domain进行无监督学习。上述两种方法牵涉到图像层面的风格迁移,都必须依赖GAN来实现。而2019年CVPR两篇工作中,舍弃了GAN,它们的共同特点是在target domain引入一些无监督学习任务,提高模型在target domain的泛化能力。其中一篇是“Invariance Matters Exemplar Memory for Domain Adaptive”,它引入了三项invariance约束,分别是exemplar invariance, camerainvariance和neighborhood invariance。除了第二项camera invariance仍然需要GAN的辅助、在不同相机见进行风格迁移,其它两项都直接依赖在target domain的无监督学习。其中第一项给target domain每幅图像一个独立的标签——这个做法看上去匪夷所思,但是在之前无监督学习的一些工作中已经被探索并证明是有效的;第三项则认为,target domain中,相近样本是有可能共享ID的,因此,给当前样本的K近邻的样本一定的概率,要求它们能够以相应的概率被预测到当前样本类别中;另一篇工作“Unsupervised Person re-identification by Soft Multi-label Learning”是CVPR2019 Oral paper。它提出了一种新颖的做法,利用sourcedomain模型给target domain图像生成各自的softlabel——这个label使用模型的softmax输出,表征一个连续的概率分布,因此是soft label。这个soft label虽然不够准确,但却被巧妙地用来监督deep embedding learning。为此,他们使用了如下的损失函数:

b352713f67a650a3ebfae479d61709e2.png
这个损失函数虽然采用了三元组构建(正、负样对),但与传统的contrastiveloss或者triplet loss形式并不相同,尽管如此,目标是一致的——在特征空间,让正样对距离减小、负样对距离增大。这就是上文提到根据先入为主的印象重新编写暗语。 D. 在target domain进行辅助的监督学习。虽然目标域上没有行人ID标签,无法进行有监督的行人特征学习,但是并不妨碍引入一些辅助学习任务——这些附加的学习任务并不需要行人ID标签。例如,“EANet: Enhancing Alignment for Cross-Domain PersonRe-identification”利用在目标域额外的human parsing任务,提高了模型在目标域的泛化能力。实现这样一个效果需要有两个前提:辅助任务的标签可以自动获取、辅助任务本身对re-ID性能有促进作用。EANet正是找到了human parsing这样一个切入点:human parsing的标签可以用Deep Lab等模型自动产生,而human parsing帮助模型区分语义部件,对re-ID是有潜在好处的。这就是上文提到的通过让暗语与四肢躯干相吻合,而增进泛化能力。

天宝三年上元节,有狼卫混入长安,妄图焚毁大唐帝都。靖安司启用张小敬捉狼,在十二时辰中拯救了长安。其中,望楼武侯也贡献了自己的一份力量。

f669d6013bace71d1b3bc774fa718f10.png

cb5dc284e2da69ccaf56516dd7c4120b.png

2a4e77dc4f5cf601d613b31c2cfb3ce0.png

圣人本欲在大唐各地推行望楼之法。然而河东,范阳,平卢三镇节度使联名上书,言以此法监视百姓大不妥,遂作罢。后世经五代十国之乱,靖安司文档付之一炬,望楼之法遂绝于世。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Human parsing has been extensively studied recently (Yamaguchi et al. 2012; Xia et al. 2017) due to its wide applications in many important scenarios. Mainstream fashion parsing models (i.e., parsers) focus on parsing the high-resolution and clean images. However, directly applying the parsers trained on benchmarks of high-quality samples to a particular application scenario in the wild, e.g., a canteen, airport or workplace, often gives non-satisfactory performance due to domain shift. In this paper, we explore a new and challenging cross-domain human parsing problem: taking the benchmark dataset with extensive pixel-wise labeling as the source domain, how to obtain a satisfactory parser on a new target domain without requiring any additional manual labeling? To this end, we propose a novel and efficient crossdomain human parsing model to bridge the cross-domain differences in terms of visual appearance and environment conditions and fully exploit commonalities across domains. Our proposed model explicitly learns a feature compensation network, which is specialized for mitigating the cross-domain differences. A discriminative feature adversarial network is introduced to supervise the feature compensation to effectively reduces the discrepancy between feature distributions of two domains. Besides, our proposed model also introduces a structured label adversarial network to guide the parsing results of the target domain to follow the high-order relationships of the structured labels shared across domains. The proposed framework is end-to-end trainable, practical and scalable in real applications. Extensive experiments are conducted where LIP dataset is the source domain and 4 different datasets including surveillance videos, movies and runway shows without any annotations, are evaluated as target domains. The results consistently confirm data efficiency and performance advantages of the proposed method for the challenging cross-domain human parsing problem. Abstract—This paper presents a robust Joint Discriminative appearance model based Tracking method using online random forests and mid-level feature (superpixels). To achieve superpixel- wise discriminative ability, we propose a joint appearance model that consists of two random forest based models, i.e., the Background-Target discriminative Model (BTM) and Distractor- Target discriminative Model (DTM). More specifically, the BTM effectively learns discriminative information between the target object and background. In contrast, the DTM is used to suppress distracting superpixels which significantly improves the tracker’s robustness and alleviates the drifting problem. A novel online random forest regression algorithm is proposed to build the two models. The BTM and DTM are linearly combined into a joint model to compute a confidence map. Tracking results are estimated using the confidence map, where the position and scale of the target are estimated orderly. Furthermore, we design a model updating strategy to adapt the appearance changes over time by discarding degraded trees of the BTM and DTM and initializing new trees as replacements. We test the proposed tracking method on two large tracking benchmarks, the CVPR2013 tracking benchmark and VOT2014 tracking challenge. Experimental results show that the tracker runs at real-time speed and achieves favorable tracking performance compared with the state-of-the-art methods. The results also sug- gest that the DTM improves tracking performance significantly and plays an important role in robust tracking.
抱歉,我之前的回答有误,请使用以下代码来可视化Transreid项目行人重识别检索结果: ```python import matplotlib.pyplot as plt import numpy as np # 假设reid_results是行人重识别的检索结果,每个元素包含了检索到的行人ID和相似度 reid_results = [('001', 0.9), ('002', 0.8), ('003', 0.7), ('004', 0.6), ('005', 0.5)] # 假设gallery_images是所有行人的图像数据 gallery_images = [np.random.rand(128, 64, 3) for _ in range(5)] # 创建一个2行3列的图像网格,用于显示行人图像和对应的相似度 fig, axes = plt.subplots(2, 3, figsize=(10, 6)) # 遍历检索结果,并在图像网格显示每个行人图像和相似度 for i, (person_id, similarity) in enumerate(reid_results): # 获取对应的行人图像 person_image = gallery_images[int(person_id)-1] # 这里假设行人ID是从1开始的 # 计算当前图像所在的行和列 row = i // 3 col = i % 3 # 在对应的子图显示行人图像和相似度 axes[row, col].imshow(person_image) axes[row, col].set_title(f'ID: {person_id}\nSimilarity: {similarity:.2f}') axes[row, col].axis('off') # 调整子图之间的间距和整体布局 plt.subplots_adjust(hspace=0.4) plt.tight_layout() # 显示可视化结果 plt.show() ``` 请注意,上述代码的`reid_results`是一个包含行人ID和相似度的列表,`gallery_images`是一组行人图像的列表。您可能需要根据您的实际情况进行相应的修改,例如替换成您的行人ID和相似度数据,以及行人图像数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值