行人重识别DBSCAN聚类方法研究

2024-04-06 12:49项朝辉王丽亚邱健数
电脑知识与技术 2024年3期
关键词:计算机视觉

项朝辉 王丽亚 邱健数

关键词: 行人重识别; 图像聚类; 降维分析; 轮廓系数; 计算机视觉

中图分类号:TP39 文献标识码:A

文章编号:1009-3044(2024)03-0028-04

0 概述

行人重识别(Person re-identification ReID) 是一个图像搜索的问题,它的任务是在不同时间不同摄像头数据中检测特定目标。随着智慧城市的发展,人们对安防的需求越来越高,现实中部署的摄像头数量越来越多,如何从大量的视频数据中快速检索出特定目标,成为计算机视觉中一个热点研究的问题。随着深度学习的发展,当前行人重识别任务广泛采用深度学习网络提取图像的特征。

1.1 行人重识别特征

使用深度学习的方法提取图像中行人的特征主要有特征表示学习和深度度量学习两种方式。对于行人重识别任务,特征表示学习的思路是从行人的图像中总结出能够区分不同身份的更具有判别性的特征表示。其中根据提取特征策略的差异,进一步可以将ReID模型分为验证模型和分类模型。文献[1]将行人重识别问题看成是一个多分类的问题,每个身份的行人图像为一个类别,用训练分类模型的方法达到行人重识别目的。文献[2]在全局特征的基础上,加入了相似性度量的方法,提高了搜索精度。全局特征难以捕捉到局部特征的差异,为了解决细粒度特征的问题,文献[3]改进卷积核,采用了小型的卷积核进行特征提取,该方法提取的特征在行人图像存在遮挡等问题时,搜索结果表现出较好的鲁棒性。由于摄像头的角度不同,拍摄到行人的姿态差异较大,导致同一人在不同摄像头下的图片特征相似度低,为了解决该问题,主流的方法是将全局特征与局部特征相融合。文献[4]对行人图像进行姿态估计,确定了图像中行人头、脚等部位的位置,再将图像水平分割,分别提取每一个水平区域内的局部特征,最后融合全局特征,提高了特征的鲁棒性。文献[5]同样采用了水平分割图像的方法,但是不同角度下分割出来的水平区域不能对齐,该文献设计了精细局部池化模块进行对齐,提高了行人特征提取的性能。

另一种提取行人特征的方式是深度度量学习。度量学习的目的是在样本中得到一个最优的距离度量方式,能够有效衡量样本之间的相似性。而深度度量学习是使用深度学习的方法,将样本特征从一个特征空间映射到另一个特征空间,在新的特征空间中,同一类别的样本距离较近,不同类别的样本距离较远。而对于传统度量学习的方程,深度学习采用损失函数替代,其中实例损失是将行人重识别任务当作一个图像分类问题[1]。文献[6]改进分类损失函数,采用了三元組损失函数训练行人特征,其思想为,不仅要让不同类别的特征距离变大,还要让相同类别的特征距离变小。为了解决三元组损失存在的正样本之间距离无法控制的问题,文献[7]选择难样本进行计算三元组损失。文献[8]设计了感知三元组损失,其思路是将序列特征建模为一个集合,通过三元组损失优化集合之间的距离,提升了行人特征的表示能力。

1.2 图像聚类方法

在计算机视觉中,聚类是研究较少的方法,然而,对于行人重识别任务,有效的聚类可以提高搜索的速度。文献[9]将聚类方法应用到目标检测中,为了解决外界干扰检测的影响,该文献改进了K-means算法,让所有样本计算其与子类的中心距离,以达到自动搜索聚类个数的目的。文献[10]将聚类方法应用到图像分割的任务中,将图像背景进行聚类从而达到前景提取的目的。该方法以视频为研究目标,从连续的图像中进行像素级去监督模糊聚类,对结果进行阈值分割来自适应确定单模或多模背景。文献[11]将聚类方法应用到图像的多目标检测任务中,对K-means算法进行自适应改进,对运动物体的像素值、特征点坐标进行聚类,进而区分了运动目标和背景,从而完成了运动多目标检测。文献[12]将聚类方法应用到人脸检测和文字检测任务中,研究了将马尔可夫聚类网络与Viola-Jones算法结合,达到了图像尺寸以及特征点方向的自适应性,有效提高了人脸检测与文字检测的精准度。

综上,对行人重识别的研究重点在如何提取具有更好表示能力的特征,以及设计具有更强区分能力的度量。本文将在行人重识别任务中加入聚类算法,在搜索结果中,通过聚类得出聚类中心的排序,提高图像检索的效率。另外,对行人图像特征进行降维,使用聚类效果衡量各个维度下特征的表示能力,来确定最优的维度,从而达到提高行人重识别搜索速度的目的。

2 相关工作

2.1 FastReID

京东AI研究院发布的FastReID[13]涵盖了模型训练、模型评估、模型微调和模型部署。在网络中设计了4个模块,分别是图像预处理、骨干网(Backbone) 、聚合模块(Aggregation) 以及Head 模块。FastReID 在每个模块中配置了多种可选方法以适用于不同场景的任务。其中主干网络用来提取图像特征,FastReID 实现了3 个不同的主干,包括ResNet、ResNext 和ResNeSt。聚合模块用于将骨干网生成的特征聚合成一个全局特征。Head模块用于对生成的全局特征进行归一化、纬度约减等。

其中,D(:,:) 是关于人的图像对的距离度量,m 为一对正和负之间的边界。本文使用FastReID提取人体图像的特征作为搜索的重要部分。

2.2 DBSCAN 聚类

DBSCAN(Density-Based Spatial Clustering of Ap?plications with Noise,具有噪声的基于密度的聚类方法)是一种典型的基于密度的空间聚类算法。对于凸样本集或非凸样本集DBSCAN都有良好的聚类效果,而且它能够找到空间中任意形状的簇。

DBSCAN 的思路是根据数据样本在空间中的距离计算密度,根据密度将数据点分为一类,其算法流程如下:

(1) 对于给定的数据集D,设定超参数邻域半径?和邻域最小样本点数MinPts;

(2) 从数据集D 中随机选取一个样本点,如果其邻域半径? 内有大于MinPts 个样本,则标记为核心样本,则找到所有与该点密度相连的样本点,否则暂时将其标记为噪声点,后续还会进一步将其分类;

(3) 重复(2) 步骤直到找到一个核心样本,然后对其? 邻域内所有的核心对象,寻找对应的密度相连的样本点;

(4) 遍历所有暂时的噪声点,重复(2) 和(3) ,直到没有新的核心对象为止;

(5) 完成上述操作后仍然没有归类的点被标记为最终的噪声点。

和传统的K-means算法相比,DBSCAN最大的不同就是无需确定聚类个数。在行人重识别任务中,搜索库中行人的身份个数也是未知的。另外,DBSCAN 对任意形状有自适应性,这一点也和行人图片由于角度、遮挡等原因造成样本空间非凸特点非常契合。综上,本文将使用DBSCAN对行人特征进行聚类。

2.3 评估方法

相较于分类任务,搜索任务的类别个数是可以增加或者减少的,所以通常使用搜索结果的排序来进行衡量模型效果。其中常用的Rank-n 表示搜索排序中前n 张图是否包含目标类别的概率。另外平均准确率均值mAP 衡量了目标类别在搜索排序中的分布,对于为x1、x2、...xn的n 张检索到的图像结果,一共M 类,其mAP 计算公式如下:

对于无监督聚类算法,通常使用轮廓系数(Silhou?ette Score) 来衡量聚类效果。轮廓系数计算了同一个类别中所有点之间的距离以及与邻近类别中所有点的距离,通过距离来评估聚类模型的表现。主要思想是让类内距离越小且类间距离越大的模型分数越高。

对于模型开发阶段,行人重识别数据集已经标注了行人的信息,所以可以通過行人身份进一步衡量聚类效果。互信息分(Mutual Information-based Score) 可以衡量真实标签和聚类结果之间的相似性。其指标越接近0,表示聚类结果越随机,指标越接近1,表示聚类越精确。

综上,本文采用多种评价方法评估聚类的效果,以便于寻找最优的行人图像聚类结果。

3 本文工作

FastReID模型通过提取行人图像全局特征进行行人搜索,实际场景中由于光线、遮挡、摄像头角度、摄像头距离等问题,导致同一人的不同图像特征差距较大,造成误判。另外行人驻足停留或者活动频繁会导致搜索出大量相似的图片,如果搜索结果中出现大量误判的相似图片,则会严重干扰人们快速在搜索结果中找到目标。本文将在行人全局特征的基础上,进行聚类,以便于快速地检索出目标图片。图1为行人重识别搜索结果图。

现实场景中,行人搜索固定时间空间内的图片数量以及id 数量是不确定的,所以该任务不能用Kmeans这种需要确定聚类个数的聚类算法。本文将使用DBSCAN 密度聚类算法,该算法根据图像特征密度、样本之间的聚类划分出类别。图2为聚类后搜索结果图。

在DBSCAN密度聚类算法中,不同样本特征根据距离是否超过阈值来区分是否为领域内的点,从而达到聚类目的。其中距离阈值? 是一个非常重要的参数,如何正确地设置参数数值是聚类的关键。本文通过多种方式衡量聚类的效果:1) 类别个数判定。由于训练数据为有标注的行人数据,所以可以通过比较聚类后的类别个数与真实类别个数差异来衡量聚类效果;2) 轮廓系数判定。在特征层面,好的聚类结果是类内距离较小,类间距离较大,所以可以选取轮廓系数来衡量聚类效果;3) 互信息分判定。根据已标注的训练数据,计算每个id所有图片的聚类标签的熵值,以及每个类别中图片id 的熵值,可以衡量聚类的效果。

另外FastReID输出特征维度为2 048维,在实际场景中,高维特征数据储存困难,计算耗时。本文将在此基础上进行PCA降维分析,在每一类维度上寻找最优的聚类结果,根据计算耗时、聚类效果、搜索精度综合得到一个计算更轻量、搜索更高效的行人特征。

4 实验

4.1 实验数据

本文选用Market-1501数据集进行验证。Market-1501数据集中包含6个摄像头拍摄得到的1 501个行人,共32 668张行人图像,其中3 368张图像用于查询。

4.2 DBSCAN 参数选取

在2 048维的FastReID特征基础上,使用DBSCAN 进行聚类。对于密度聚类,无法指定类别个数,调整距离参数?,可以得到不同的聚类效果。进一步评估聚类效果,本文选取了轮廓系数来评估聚类效果。此外,由于Market1501数据集存在图片的标签,所以可以利用真实标签来评估聚类效果,本文选取了互信息分数来评估聚类效果。遍历? 值得到结果如图3 所示。

根据趋势图可以看出,? 在0.24附近,聚类个数达到最大值,约1 254个类别,由于数据集中有1501个类别,所有? 取0.24 时,聚类类别个数与真实类别个数最接近。根据轮廓系数以及互信息分可以看出,在距离参数? 在0.26以及0.27附近取到最大,从三者对比可以看出,虽然最优的距离参数有所区别,但是在最优距离附近趋势是一致的,而且差距不大。综上,根据聚类个数、轮廓系数以及互信息分数来确定最优距离参数的方法是可行的。

4.3 特征降维分析

高维特征能够充分表达图像特征,但是计算速度较慢。对特征进行降维处理能够加快计算速度,但是降低了行人重识别的搜索精度。本文评估了不同维度下计算速度和搜索精度。实验在Python3.80进行,Numpy 版本为1.24.2,CPU 型号为13th Gen Intel(R) Core(TM) i5-13400F。实验结果如图4所示:

图4左图中,当数据维度降到64维时,每一个样本的计算时间降低到原始特征计算时间的1/25左右。另外在图4 右图中,维度降到64 维时,Rank-n 以及mAP 值没有明显的下降,可以得出该维度数是一个比较理想的维度数。

通过计算降维后特征的聚类评估,进一步确定最优参数。本文遍历了2至2048维度以及DBSCAN密度参数?,分别计算聚类个数、轮廓分数以及互信息分。结果如图5所示。

三种评估方式得到的结果相近,且在64维度时,三种评估方式得到的最优密度参数? 基本一致。

5 结论

在行人重识别任务中,对特征聚类可以提高图片检索效率。从聚类个数、轮廓系数以及互信息分三个角度综合评估聚类效果,可以确定最优的聚类参数。通过降维能够有效地提高图片搜索速度,通过实验得出,特征维度在64维时,速度提高到原来的24.75倍,且搜索精度Rank-n 仅降低0.6%,mAP 值仅降低1.4%。

【通联编辑:唐一东】

猜你喜欢
计算机视觉
基于光流技术的障碍物检测方法
无人驾驶小车定点追踪系统的设计与实现
基于深度卷积神经网络的物体识别算法
双目摄像头在识别物体大小方面的应用
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
基于计算机视觉的细小颗粒团重量测量的研究
对于计算机视觉商业化方向的研究
基于Matlab的人脸检测实验设计
现代目标识别算法综述