⾏⼈重识别(Personre-identification)概述
在⼈的感知系统所获得的信息中,视觉信息⼤约占到80%~85%。⾏⼈重识别(person re-identification)是近⼏年智能视频分析领域兴起的⼀项新技术,属于在复杂视频环境下的图像处理和分析范畴,是许多监控和安防应⽤中的主要任务,并且在计算机视觉领域获得了越来越多的关注。下⾯我们就仔细来聊聊⾏⼈重识别(ReID)。
1.什么是⾏⼈重识别
⾏⼈重识别(Person Re-identification也称⾏⼈再识别,简称为ReID,是利⽤计算机视觉技术判断图像或者视频序列中是否存在特定⾏⼈的技术;或者说,⾏⼈重识别是指在已有的可能来源与⾮重叠摄像机视域的视频序列中识别出⽬标⾏⼈。⼴泛被认为是⼀个图像检索的⼦问题。给定⼀个监控⾏⼈图像,检索跨设备下的该⾏⼈图像。在监控视频中,由于相机分辨率和拍摄⾓度的缘故,通常⽆法得到质量⾮常⾼的⼈脸图⽚。当⼈脸识别失效的情况下,ReID就成为了⼀个⾮常重要的替代品技术。ReID有⼀个⾮常重要的特性就是跨摄像头,所以学术论⽂⾥评价性能的时候,是要检索出不同摄像头下的相同⾏⼈图⽚。ReID已经在学术界研究多年,但直到最近⼏年随着深度学习的发展,才取得了⾮常巨⼤的突破。
2.⾏⼈重识别研究的背景、意义及现状
我们先以⼀个⼩故事来说明⼀下:荷马史诗 (Odysy iv:412),Mennelaus 被告知,如果想要众神息怒并平安回家,就要在特洛伊战争的回家路上抓到 Proteus,让他告诉⾃⼰躲避的⽅法。虽然Proteus变成了狮⼦,巨蛇,豹,甚⾄⽔和⼤树,Mennelaus最终还是在海边的海豹群中抓住了他,并知晓了⾃⼰平安回家的⽅法。这⼤概是最早的重识别的成功案例。
相对于⾏⼈检测来说,⾏⼈重识别的研究还不算成熟,但早在1996年,就有学者关注⾏⼈重识别问题,在2006年,⾏⼈重识别的概念第⼀次在CVPR上提出后,相关的研究不断涌现。2007年Gray提出⼀个对于⾏⼈重识别的研究具有重⼤意义的数据库VIPeR。此后越来越多的学者开始关注⾏⼈重识别的研究。图1是ReID从1997年到2016年间⼏个⾥程碑的发展事件。
图1
近些年,每年在国际顶级的会议以及顶级期刊上关于⾏⼈重识别的⼯作不在少数。2012年,第⼀个⾏
⼈重识别研讨会在ECCV会议上召开;2013年,Gong等出版第⼀本⾏⼈重识别的专著;2014年后,深度学习被应⽤到⾏⼈重识别领域;2016年,⾏⼈重识别迎来井喷式的增长,在各⼤计算机视觉的会议中出现了⼏⼗篇相关论⽂,尤其是基于深度神经⽹络的⽅法引起了⼴泛的关注;图2是2008年到2016年间CV三⼤顶会的ReID论⽂接受情况;同时,相关数据集在不断地扩充,在各个数据集上的结果也获得很⼤的提升,到⽬前,⾏⼈重识别问
题已成为计算机视觉的⼀个热点问题。
图2
传统的⾏⼈重识别从特征提取和距离度量学习两个⽅⾯进⾏研究。2014年后,越来越多的研究者尝试将⾏⼈重识别的研究与深度学习结合在⼀起,深度学习不仅应⽤于提取⾼层特征,也为度量学习的研究带来了⾰新。即使深度学习在规模较⼩的数据集上的结果没有很明显的提
升,但随着研究⽅法的成熟以及较⼤规模的数据集的出现,深度学习在⾏⼈重识别领域越来越受研究者们青睐。⾏⼈重识别最开始是在基于图⽚的情况下,即在每个数据集中每个摄像机视⾓下只有⼀幅或者⼏幅⾏⼈图像。但是视频相较于图像⽽⾔拥有更多信息,并且基于视频的研究更符合视频监控环境下的现实情况,因此我们很⾃然地考虑处理基于视频的⾏⼈重识别问题。从2010年后,很多学者开始对基于视频的⾏⼈重识别进⾏研究。
3.⾏⼈重识别的应⽤和⽬前存在的问题
3.1 图3是ReID在显⽰场景中的⼏个例⼦。
图3
⾏⼈重识别的研究⾯临着诸如图像分辨率低、视⾓变化、姿态变化、光线变化以及遮挡等带来的诸
简笔画椰子树多挑战。⽐如,1)监控视频的画⾯⼀般⽐较模糊,分辨率也⽐较低,如图4(a)所⽰,所以利⽤⼈脸识别等⽅式⽆法进⾏重识别的⼯作,只能利⽤头部之外的⼈体外观信息进⾏识别,⽽不同⾏⼈的体型和⾐着服饰有可能相同,这为⾏⼈重识别的准确度带来了极⼤的挑战;此外实际视频监控下的场景⾮常复杂,周边杂物较多,场景复杂,画⾯很容易出现遮挡等情况,如图4(b), 这种时候靠步态等特征就很难进⾏重识别。⾏⼈重识别的图像往往采⾃于不同的摄像机,由于拍摄场景、摄像参数不同,⾏⼈重识别⼯作⼀般存在光照变化及视⾓变化等问题,如图4(c)、(d)所⽰,这导致同⼀个⾏⼈在不同摄像机下存在较⼤的差异,不同⾏⼈的外貌特征可能⽐同⼀个⼈的外貌特征更相似;进⾏重识别的⾏⼈图像可能拍摄于不同的时间,⾏⼈姿态、⾐着会有不同程度的改变。此外在不同的光照条件下,⾏⼈的外观特征也会有很⼤的差异,如图4(e)。以上情况都给⾏⼈重识别的研究带来了巨⼤的挑战,因此⽬前的研究距离实际应⽤层⾯还有很⼤的距离。
图4
除了以上的问题还存在着⽆正脸照、配饰、服装搭配、穿⾐风格以及由于不同的数据集之间存在着域的偏移问题,使得在源数据集下训练的模型在⽬标数据集下很难取得好的性能,泛化性能不强。
3.2 由于存在这上述的问题那么我们是否可以考虑从其他⽅向来ReID
少儿歌舞
1. 能不能⽤⼈脸识别做重识别? 理论上是可以的。但是有两个原因导致⼈脸识别较难应⽤:⾸先,
⼴泛存在后脑勺和侧脸的情况,做正脸的⼈脸识别难。其次,摄像头拍摄的像素可能不⾼,尤其是远景摄像头⾥⾯⼈脸截出来很可能都没有32x32的像素。所以⼈脸识别在实际的重识别应⽤中很可能有限。
2. 有些⼈靠⾐服的颜⾊就可以判断出来了,还需要⾏⼈重识别么? ⾐服颜⾊确实是⾏⼈重识别 做出判断⼀个重要因素,但光靠颜⾊是不⾜的。⾸先,摄像头之间是有⾊差,并且会有光照的影响。其次,有撞衫(颜⾊相似)的⼈怎么办,要找细节,但⽐如颜⾊直⽅图这种统计的特征就把细节给忽略了。在多个数据集上的测试表明,光⽤颜⾊特征是难以达到50%的top1正确率的。
3. 使⽤图像检索的指标来衡量⾏⼈重识别的结果是否合适? 在早期,⾏⼈重识别数据集是由两个摄像头采集的⽐如viper,每个query 只有⼀个正确的retrieval⽬标。所以往往使⽤top1⽐较。但在近期,随着⼤数据集的提出,数据集中往往包含多个摄像头的多个正确⽬标。光使⽤top1的话,不能反应模型的真实能⼒。所以类似图像检索,重识别加⼊了mAP作为衡量标准,将pn都考虑进去。
4.⾏⼈重识别⽬前所采⽤的⽅法引领新时代
⾏⼈重识别算法我们将从以下五各⽅⾯来叙述:
①基于表征学习的ReID⽅法: 基于表征学习(Reprentation learning)的⽅法是⼀类⾮常常⽤的⾏⼈重识别⽅法。这主要得益于深度学习,尤其是卷积神经⽹络(Convolutional neural network, CNN)的快速发展。由于CNN可以⾃动从原始的图像数据中根据任务需求⾃动提取出表征特征(Reprentation),所以有些研究者把⾏⼈重识别问题看做分类(Classification/Identification)问题或者验证(Verification)问题:关于坚强的名言
(1)分类问题是指利⽤⾏⼈的ID或者属性等作为训练标签来训练模型;(2)验证问题是指输⼊⼀对(两张)⾏⼈图⽚,让⽹络来学习这两张图⽚是否属于同⼀个⾏⼈。
利⽤Classification/Identification loss和verification loss来训练⽹络,其⽹络⽰意图如下图5所⽰。⽹络输⼊为若⼲对⾏⼈图⽚,包括分类⼦⽹络(Classification Subnet)和验证⼦⽹络(Verification Subnet)。分类⼦⽹络对图⽚进⾏ID预测,根据预测的ID来计算分类误差损失。验证⼦⽹络融合两张图⽚的特征,判断这两张图⽚是否属于同⼀个⾏⼈,该⼦⽹络实质上等于⼀个⼆分类⽹络。经过⾜够数据的训练,再次输⼊⼀张测试图⽚,⽹络将⾃动提取出⼀个特征,这个特征⽤于⾏⼈重识别任务。
明月前身图5
但是也有论⽂认为光靠⾏⼈的ID信息不⾜以学习出⼀个泛化能⼒⾜够强的模型。在这些⼯作中,它们额外标注了⾏⼈图⽚的属性特征,例如性别、头发、⾐着等属性。通过引⼊⾏⼈属性标签,模型不但
要准确地预测出⾏⼈ID,还要预测出各项正确的⾏⼈属性,这⼤⼤增加了模型的泛化能⼒,多数论⽂也显⽰这种⽅法是有效的。
基于特征表⽰的⽅法重点在于设计鲁棒可靠的⾏⼈图像特征表⽰模型,即能够区分不同⾏⼈,同时能够不受光照和视⾓变化的影响,将其主要分为以下⼏类进⾏介绍, 典型特征总结见表1。
表1
1)底层视觉特征:这种⽅法基本上都是将图像划分成多个区域,对每个区域提取多种不同的底层视觉特征,组合后得到鲁棒性更好的特征表⽰形式。最常⽤的就是颜⾊直⽅图,多数情况下⾏⼈的⾐服颜
⾊结构简单,因此颜⾊表⽰是有效的特征,通常⽤RGB、HSV直⽅图表⽰。把RGB空间的图像转化成HSL和YCbCr颜⾊空间,观察对数颜⾊空间中⽬标像素值的分布,颜⾊特征在不同光照或⾓度等⾏⼈识别的不适环境中具有⼀定的不变性。以及局部特征,如局部不变特征–尺度不变特征变换(scale-invariant feature transform,SIFT),SURF 和Covariance描述⼦ELF(enmble of localized features)⽅法中,结合RGB、YCbCr、HS颜⾊空间的颜⾊直⽅图,具有旋转不变性的Schmid和Gabor滤波器计算纹理直⽅图。还有纹理特征、Haar-like Reprention、局部⼆值模式(LBP)、Gabor滤波器、共⽣矩阵(Co-occurrence Matrics)。
2)中层语义属性:可以通过语义信息来判断两张图像中是否属于同⼀⾏⼈,⽐如颜⾊、⾐服以及携带的包等信息。相同的⾏⼈在不同视频拍摄下,语义属性很少变化。有的采⽤15种语义来描述⾏⼈,包括鞋⼦、头发颜⾊长短、是否携带物品等,分类器⽤SVM定义每幅⾏⼈图像的以上语义属性。结合语义属性重要性加权以及与底层特征融合,最终描述⾏⼈图像。对图像超像素划分,最近分割算法对图像块定义多种特征属性,颜⾊、位置和SIFT特征,效果有提⾼。
3)⾼级视觉特征:特征的选择技术对⾏⼈再识别的识别率的性能进⾏提升,如Fisher向量[编码;提取颜⾊或纹理直⽅图,预先定义块或条纹形状的图像区域;或者编码区域特征描述符来建⽴⾼级视觉特征。⽤某种描述符对密集轨迹、纹理、直⽅图进⾏编码,突出重要信息。受到多视⾓⾏为识别研究和Fisher向量编码的影响,⼀种捕获软矩阵的⽅法,即DynFV(dynamic fisher vector)特征和捕获步态
和移动轨迹的Fisher向量编码的密集短轨迹时间⾦字塔特征被提出。Fisher向量编码⽅法是⾸先⽤来解决⼤尺度图像分类的⽅法,也能改善⾏为识别的性能。有的对⾏⼈的每个图像分成6个⽔平条带,在每个条带上计算纹理和颜⾊直⽅图。在YCbCr、HSV、⽩化的RGB颜⾊空间计算直
⽅图建⽴颜⾊描述符,并⽤local fisher disrciminant analysis(LFDA)降维。学习出的矩阵把特征转换到新的空间,LFDA能在嵌⼊过程中使特征的局部结构适⽤于图像遮挡,背景变化和光照变化的情况,最后把计算变换空间中的特征向量的均值作为这个⾏⼈最终的特征向量表⽰。T. Matsukawa提出GOG(Gaussian Of Gaussian),把⼀幅图像分成⽔平条带和局部块,每个条带⽤⼀个⾼斯分布建模。每个条带看作⼀系列这样的⾼斯分布,然后⽤⼀个单⼀的⾼斯分布总体表⽰。GOG特征提取的⽅法好表现在⽤像素级特征的⼀个局部⾼斯分布来描述全局颜⾊和纹理分布,并且GOG是局部颜⾊和纹理结构的分层模型,可以从⼀个⼈的⾐服的某些部分得到。此外,深度学习也被应⽤于⾏⼈重识别的特征提取中,在AlexNet-Finetune中,开始在ImageNet数据集上预训练的基于AlexNet结构的CNN,并⽤这个数据集对数据进⾏微调。在微调过程中,不修改卷积层的权重,训练后两个全连接层。McLaughlin等采⽤了类似的⽅法,对图像提取颜⾊和光流特征,采⽤卷积神经⽹络(CNN)处理得到⾼层表征,然后⽤循环神经⽹络(RNN)捕捉时间信息,然后池化得到序列特征。T对来⾃各个领域的数据训练出同⼀个卷积神经⽹络(CNN),有些神经元学习各个领域共享的表征,⽽其他的神经元对特定的某个区域有效,得到鲁棒的CNN特征表⽰。
清唱歌曲
②基于度量学习的ReID⽅法:度量学习(Metric learning)是⼴泛⽤于图像检索领域的⼀种⽅法。不同于特征学习,度量学习旨在通过⽹络学习出两张图⽚的相似度。在⾏⼈重识别问题上,具体为同⼀⾏⼈的不同图⽚相似度⼤于不同⾏⼈的不同图⽚。最后⽹络的损失函数使得相同⾏⼈图⽚(正样本对)的距离尽可能⼩,不同⾏⼈图⽚(负样本对)的距离尽可能⼤。常⽤的度量学习损失⽅法有 对⽐损失
(Contrastive loss)、 三元组损失(Triplet loss)、 四元组损失(Quadruplet loss)、 难样本采样三元组损失(Triplet hard loss with batch hard mining, TriHard loss)。
⾸先,假如有两张输⼊图⽚和,通过⽹络我们可以得到他们的特征和。我们定义这两张图⽚特征向量的欧式距离为:
1)对⽐损失(Contrastive loss)
对⽐损失⽤于训练孪⽣⽹络(Siame network),其结构图如上图6所⽰。孪⽣⽹络的输⼊为⼀对(两张)图⽚和,这两张图⽚可以为同⼀⾏⼈,也可以为不同⾏⼈。每⼀对训练图⽚都有⼀个标签 ,其中,表⽰两张图⽚属于同⼀个⾏⼈(正样本对),反之表⽰它们属于不同⾏⼈(负样本对)。之后,对⽐损失函数写作:
,其中图6I 1I 2f I 1f I 2d =I ,I 12f −f ∥I 1I 1∥2
寒假心得
x 1x 2y y =1y =0L =c yE +w 2(1−y )(α−E )w +
2
E =w G (x )−G (x )∥w 1w 2∥
>大唐荣耀歌曲