本文最后更新于103 天前,其中的信息可能已经过时,如有错误请发送邮件到3046699620@qq.com
题目搞得高大上一点,这是我研究生导师的方向,也是我今后要研究的方向,其中文是行人重识别,光听这个名字很难知道它具体是干什么的。
识别肯定是和视觉相关,行人那当然是和人相关(废话),那么具体是干什么的,我来详细记录一下。
是什么?
首先它是什么呢?众所周知,人脸识别现在做的还算不错,但在大部分摄像头拍摄的场景下,很难拍到正脸,或者比较清晰的图像,行人重识别就是这种特殊情况的补充,它主要通过人体外观信息进行识别,捕捉不同摄像头下的同一个人。
研究方法
基于表征学习的ReID方法
表征学习是什么?一种将原始数据转换成为更容易被机器学习应用的数据的过程,说白了,就是你把数据搞成机器能看懂的。
对图像中语义信息、高层和底层特征的理解_图像语义特征-CSDN博客
底层视觉特征
这种方法基本上都是将图像划分成多个区域,对每个区域提取多种不同的底层视觉特征,组合后得到鲁棒性更好的特征表示形式。最常用的就是颜色直方图,多数情况下行人的衣服颜色结构简单,因此颜色表示是有效的特征,通常用RGB、HSV直方图表示。把RGB空间的图像转化成HSL和YCbCr颜色空间,观察对数颜色空间中目标像素值的分布,颜色特征在不同光照或角度等行人识别的不适环境中具有一定的不变性。
上面是官方解释,颜色直方图是什么?快速描述图像整体像素值分布的统计信息图表,这一点较容易理解,下一个“RGB空间的图像转化成HSL和YCbCr颜色空间”,HSV (Hue, Saturation, Value) 和 HSL (Hue, Saturation, Lightness): 这两个颜色空间更贴近人类对颜色的感知方式。HSV中的Hue表示色相,Saturation表示饱和度,Value表示亮度。HSL的亮度(Lightness)概念稍有不同,使得色彩调整更直观。YCbCr: 这个颜色空间常用于视频处理。它分离了亮度信息(Y)和色度信息(Cb和Cr),有助于更好地处理图像压缩和广播(其主要用于视频压缩和广播领域)。也就是图像用另外一种方式表示。
以及局部特征,如局部不变特征–尺度不变特征变换(scale-invariant feature transform,SIFT),SURF和Covariance描述子ELF(ensemble of localized features)方法中,结合RGB、YCbCr、HS颜色空间的颜色直方图,具有旋转不变性的Schmid和Gabor滤波器计算纹理直方图。还有纹理特征、Haar-like Represention、局部二值模式(LBP)、Gabor滤波器、共生矩阵(Co-occurrence Matrics)。
什么是尺度不变特征变换?SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。其余SURF等是一种图像处理的算子。
纹理特征:是一种全局特征,反映的是图像中同质现象的视觉特征,体现物体表面的具有缓慢变换或周期性变化的表面组织结构排列属性。图像纹理通过像素及其周围空间邻域的灰度分布来表现,即局部纹理信息
灰度共生矩阵:在假定图像中各像素间的空间分布关系包含了图像纹理信息的前提下,提出的具有广泛性的纹理分析方法。
Haar-like Represention:是一种人脸检测特征。包含四种特征,具体为什么使用这样特征的矩阵,是因为眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深。同样对于其他目标,如眼睛等,也可以用一些矩形特征来表示。我们希望当把矩形放到人脸区域计算出来的特征值和放到非人脸区域计算出来的特征值差别越大越好,这样就可以用来区分人脸和非人脸。并且使用特征比单纯地使用像素点具有很大的优越性,并且速度更快。
CV笔记10:人脸检测之Haar-like特征_haarlike特征优缺点-CSDN博客
LBP、Gabor滤波器是一种算子。
中层语义属性
可以通过语义信息来判断两张图像中是否属于同一行人,比如颜色、衣服以及携带的包等信息。相同的行人在不同视频拍摄下,语义属性很少变化。有的采用15种语义来描述行人,包括鞋子、头发颜色长短、是否携带物品等,分类器用SVM定义每幅行人图像的以上语义属性。结合语义属性重要性加权以及与底层特征融合,最终描述行人图像。对图像超像素划分,最近分割算法对图像块定义多种特征属性,颜色、位置和SIFT特征,效果有提高。
图像的语义分为视觉层、对象层和概念层,视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义;对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;概念层是高层,是图像表达出的最接近人类理解的东西。通俗点说,比如一张图上有沙子,蓝天,海水等,视觉层是一块块的区分,对象层是沙子、蓝天和海水这些,概念层就是海滩,这是这张图表现出的语义。
高级视觉特征
这一块比前面两块难理解。其实看下来就是经过更加复杂的计算,得到形状、姿态等特征。另外还提出,现在也借助深度学习模型来提取图像的高层特征。
基于度量学习的ReID方法
度量学习(Metric learning)是广泛用于图像检索领域的一种方法。不同于特征学习,度量学习旨在通过网络学习出两张图片的相似度。在行人重识别问题上,具体为同一行人的不同图片相似度大于不同行人的不同图片。最后网络的损失函数使得相同行人图片(正样本对)的距离尽可能小,不同行人图片(负样本对)的距离尽可能大。常用的度量学习损失方法有对比损失(Contrastive loss)、三元组损失(Triplet loss)、 四元组损失(Quadruplet loss)、难样本采样三元组损失(Triplet hard loss with batch hard mining, TriHard loss)。
对比损失:对于孪生网络结构,输入两个图片,拉近正样本对间的距离趋于0(y=1),推开负样本对距离大于α(y=0),y是标签(表示是否为同一个人),α是手动设置的阈值,比如0.5,0.6。就是计算这个孪生网络中两个输出的之间的欧式距离。
三元组损失:需要输入3张图片。关键是这三张图片是怎样的图片。这三张图片可以称为anchor,Positive【与anchor是同一个行人就是正样本图片】,Negative【与anchor不是同一个人的就是负样本图片】。也就是,三张图片是有两个ID的。学习的过程就是拉近正样本之间的距离,推开负样本之间的距离。
四元组损失:三元组损失的改进版。每次输入四张图片,a:anchor图片,p:正样本,n1,n2是两个负样本图片。
损失函数,输入不同,计算公式不同。
基于局部特征的ReID方法
只关注全局特征,带来了瓶颈,所以提出局部特征。常用的提取局部特征的思路主要有图像切块、利用骨架关键点定位以及姿态矫正等等。姿态矫正也提出了诸多模型。
基于视频序列的ReID方法
这一块比较好理解,我就懒得记录了,其实内容还是有点多的,主要我懒得搬运了。
最后
这篇文章可读性不是很好,更多是本人一个学习记录,将一些解释进行搬运,整合到一起。
参考
行人重识别(Person re-identification)概述 – 知乎 (zhihu.com)