本申请涉及图像识别技术领域,特别是涉及一种行人重识别方法、装置、计算机设备和存储介质。
背景技术:
近年来,越来越多的监控摄像机被部署到各类公共场所中,视频监控在维护社会安全等方面正发挥着越来越重要的作用。在视频监控的应用中,针对特定行人目标的检测与重识别是一个重要的需求。
行人重识别技术用于判断在不同监控摄像机下出现的行人是否是同一个人,它是一种自动目标识别技术,可以在视频监控网络中快速定位到感兴趣的行人目标。目前,一些行人重识别方法研究如何从行人图像或视频帧中提取有效的特征来建立行人特征表示模型,通常直接使用该模型进行识别,识别效果取决于提取特征的有效性;另一些行人重识别方法研究如何得到使同一行人的图像相似性较大,不同行人的图像相似性较小的相似性度量计算方法,通常是直接使用原始行人图像或利用某些已有的行人特征表示模型提取特征后进行相似性判别学习;还有一些行人重识别方法既设计行人特征表示模型又进行相似性判别学习,充分利用两者的优势,可以有效提高识别效果。
在上述第三类行人重识别方法中,由于字典学习在图像识别方面具有良好的识别性能和鲁棒性,基于字典学习的行人重识别方法通常具有较好的识别效果。但目前已有的这一类型的方法数量较少,且它们都是直接使用原始数据进行字典学习,或直接利用某些已有的行人特征表示模型提取特征后再进行字典学习,没有考虑行人特征提取技术以及行人特征表示模型与字典学习之间的关系和相互影响,并且这些方法都只是针对有限的有标记行人图像或视频数据,使得目前的行人重识别方法准确度低。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高行人重识别方法准确度的行人重识别方法。
一种行人重识别方法,所述方法包括:
获取待比对摄像机拍摄的待识别行人图像;
将所述待识别行人图像输入至所述待比对摄像机对应的识别模型进行识别,确定所述待识别行人图像中的行人类别,所述识别模型是预先基于半监督迁移字典学习的识别模型;
根据所述待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别;
其中,所述预先基于半监督迁移字典学习的识别模型的训练方式包括:
获取监控不同监控区域的第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集;
将所述第一摄像机和所述第二摄像机对应的识别模型的所述行人图像训练样本集,划分为共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集;
根据所述共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集,基于半监督迁移字典学习的目标函数训练所述第一摄像机和所述第二摄像机对应的识别模型,获得所述第一摄像机对应的识别模型的特征提取投影矩阵和字典,和所述第二摄像机对应的识别模型的特征提取投影矩阵和字典。
在其中一个实施例中,所述半监督迁移字典学习的目标函数为:
其中,v=a,b表示摄像机编号,a为第一摄像机编号,b为第二摄像机编号,
在其中一个实施例中,所述识别模型进行识别的方式包括:
采用所述识别模型对应的特征提取投影矩阵对所述待识别行人图像进行特征提取和降维,获得所述待识别行人图像的特征向量;
采用所述识别模型对应的字典稀疏重构所述特征向量,获得所述待识别行人图像的稀疏编码系数;
根据所述稀疏编码系数计算所述待识别行人图像与每个行人类别的相似度,获得每个行人类别对应的相似度数据;
根据每个行人类别对应的所述相似度数据,确定所述待识别行人图像中的行人类别。
在其中一个实施例中,所述采用所述识别模型对应的特征提取投影矩阵对所述待识别行人图像进行特征提取和降维,获得所述待识别行人图像的特征向量的步骤,包括:
采用所述识别模型对应的特征提取投影矩阵根据特征向量分析公式,对所述待识别行人图像进行特征提取和降维,获得所述待识别行人图像的特征向量;
所述特征向量分析公式为:
y′=(wv)ty
其中,y′表示待识别行人图像的特征向量,wv表示识别模型对应的特征提取投影矩阵,y表示待识别行人图像。
在其中一个实施例中,所述采用所述识别模型对应的字典稀疏重构所述特征向量,获得所述待识别行人图像的稀疏编码系数的步骤,包括:
采用所述识别模型对应的字典根据稀疏编码系数分析公式,稀疏重构所述特征向量,获得所述待识别行人图像的稀疏编码系数;
所述稀疏编码系数分析公式为:
其中,β表示待识别行人图像的稀疏编码系数,y′表示待识别行人图像的特征向量,dv表示识别模型对应的字典,λ2表示正的第二权重系数。
一种行人重识别装置,所述装置包括:
图像获取模块,用于获取待比对摄像机拍摄的待识别行人图像;
行人类别识别模块,用于将所述待识别行人图像输入至所述待比对摄像机对应的识别模型进行识别,确定所述待识别行人图像中的行人类别,所述识别模型是预先基于半监督迁移字典学习的识别模型;
目标行人类别分析模块,用于根据所述待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别;
其中,所述预先基于半监督迁移字典学习的识别模型的训练方式包括:
获取监控不同监控区域的第一摄像机和第二摄像机,对应的识别模型的行人图像训练样本集;
将所述第一摄像机和所述第二摄像机对应的识别模型的所述行人图像训练样本集,划分为共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集;
根据所述共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集,基于半监督迁移字典学习的目标函数训练所述第一摄像机和所述第二摄像机对应的识别模型,获得所述第一摄像机对应的识别模型的特征提取投影矩阵和字典,和所述第二摄像机对应的识别模型的特征提取投影矩阵和字典。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
上述行人重识别方法、装置、计算机设备和存储介质,通过获取待比对摄像机拍摄的待识别行人图像;将待识别行人图像输入至待比对摄像机对应的识别模型进行识别,确定待识别行人图像中的行人类别,识别模型是预先基于半监督迁移字典学习的识别模型;根据待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别;预先基于半监督迁移字典学习的识别模型,在进行半监督迁移字典学习的同时通过特征提取投影矩阵实现行人特征提取和降维,使提取到的特征更加适合字典学习,在进行多个摄像机之间的迁移字典学习时,充分利用有标记训练样本监督地学习结构化的字典,充分利用无标记训练样本优化字典的稀疏表示性能,增强行人重识别能力,进而提高了行人重识别的准确度。
附图说明
图1为一个实施例中行人重识别方法的流程示意图;
图2为一个实施例中行人重识别装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种行人重识别方法,包括以下步骤:
步骤s220,获取待比对摄像机拍摄的待识别行人图像。
其中,待比对摄像机是拍摄待比对监控区域的摄像机,待识别行人图像是将待比对摄像机拍摄待比对监控区域获得的视频进行预处理后的图像,可以是照片或者视频。对视频进行处理的方式是将视频中的每一个行人以每个图片中主要包含一个行人的方式进行提取,得到预处理后的图像。
在一个场景中,第一摄像机a的监控区域拍摄到了一个人e,现需要识别出e有没有在第二摄像机b的监控区域拍摄到,就用第二摄像机b拍摄的视频进行预处理后的行人图像作为待识别行人图像,第二摄像机b即为待比对摄像机。
在一个场景中,第一摄像机a的某个人f的一些图片和第二摄像机b的某个人c的一些图片,需要判断一下某个人f的一些图片和某个人c的一些图片是否属于同一个行人,分别将第一摄像机a为待比对摄像机,第一摄像机a的某个人f的一些图片为待识别行人图像;第二摄像机b为待比对摄像机,第二摄像机b的某个人c的一些图片为待识别行人图像。
步骤s240,将待识别行人图像输入至待比对摄像机对应的识别模型进行识别,确定待识别行人图像中的行人类别,识别模型是预先基于半监督迁移字典学习的识别模型。
其中,预先基于半监督迁移字典学习的识别模型的训练方式包括:获取监控不同监控区域的第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集;将第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集,划分为共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集;根据共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集,基于半监督迁移字典学习的目标函数训练第一摄像机和第二摄像机对应的识别模型,获得第一摄像机对应的识别模型的特征提取投影矩阵和字典,和第二摄像机对应的识别模型的特征提取投影矩阵和字典。
其中,监控不同监控区域的第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集是从第一摄像机和第二摄像机拍摄的视频中提取出来的用于识别模型训练的行人图像。字典学习需要特征维数相同的样本,需要将行人图像预处理为分辨率相同的图像,因此,所有行人图像训练样本集中的行人图像的分辨率相同,且每个行人图像中只包含一个行人。每个行人图像训练样本表示为一个列向量。
在一个场景中,假设有监控不同监控区域的第一摄像机a和第二摄像机b为例进行举例说明:
从第一摄像机a拍摄的视频,获取一段视频进行预处理后,获得第一摄像机a的行人图像训练样本集,从第二摄像机b拍摄的视频,获取一段视频进行预处理后,获得第二摄像机b的行人图像训练样本集。将第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集,划分为共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集,具体地:令cs表示第一摄像机a和第二摄像机b共有的行人类别个数;对来自第一摄像机a的行人图像训练样本集xa,令cao表示第一摄像机a独有的行人类别个数,ca=cs+cao表示第一摄像机a的行人类别总数,
以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数如下:
其中,v=a,b表示摄像机编号,a为第一摄像机编号,b为第二摄像机编号,
半监督迁移字典学习的目标函数的求解涉及到特征提取投影矩阵wa和wb、字典da和db与稀疏编码系数aa和ab三组变量求解,采用三组变量依次更新的方式进行迭代求解,获得特征提取投影矩阵wa和wb与字典da和db;目标函数在进行半监督迁移字典学习的同时通过特征提取投影矩阵实现行人特征提取和降维,使提取到的特征更加适合字典学习;目标函数在进行两个摄像机之间的迁移字典学习时,充分利用有标记训练样本监督地学习结构化的字典,充分利用无标记训练样本优化字典的稀疏表示性能,增强行人重识别能力;
以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数的迭代求解过程如下所示:
步骤1,分别对xa和xb进行主成分分析,获得初始特征提取投影矩阵wa和wb。
步骤2,随机初始化字典da和db。
步骤3,固定wa、wb、da和db,根据以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数求解稀疏编码系数aa和ab,令
步骤4,固定wa、wb、aa和ab,根据以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数更新da和db。
步骤5,固定wa、wb、da和db,根据以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数更新aa和ab,令
步骤6,如果|j1-j2|>ε,ε表示迭代算法的阈值,ε>0是一个比较小的阈值,令j1=j2,转向步骤4;否则,转向步骤7。
步骤7,如果|j0-j2|>ε,转向步骤8;否则,停止迭代。
步骤8,固定da、db、aa和ab,根据以第一摄像机a和第二摄像机b为例的半监督迁移字典学习的目标函数更新wa和wb,转向步骤3。
其中,识别模型进行识别的方式包括:采用识别模型对应的特征提取投影矩阵对待识别行人图像进行特征提取和降维,获得待识别行人图像的特征向量;采用识别模型对应的字典稀疏重构特征向量,获得待识别行人图像的稀疏编码系数;根据稀疏编码系数计算待识别行人图像与每个行人类别的相似度,获得每个行人类别对应的相似度数据;根据每个行人类别对应的相似度数据,确定待识别行人图像中的行人类别。
在一个实施例中,采用识别模型对应的特征提取投影矩阵对待识别行人图像进行特征提取和降维,获得待识别行人图像的特征向量的步骤,包括:
采用识别模型对应的特征提取投影矩阵根据特征向量分析公式,对待识别行人图像进行特征提取和降维,获得待识别行人图像的特征向量;特征向量分析公式为:
y′=(wv)ty
其中,y′表示待识别行人图像的特征向量,wv表示识别模型对应的特征提取投影矩阵,y表示待识别行人图像。
在一个实施例中,采用识别模型对应的字典稀疏重构特征向量,获得待识别行人图像的稀疏编码系数的步骤,包括:
采用识别模型对应的字典根据稀疏编码系数分析公式,稀疏重构特征向量,获得待识别行人图像的稀疏编码系数;稀疏编码系数分析公式为:
其中,β表示待识别行人图像的稀疏编码系数,y′表示待识别行人图像的特征向量,dv表示识别模型对应的字典,λ2表示正的第二权重系数。
令
令
其中,
根据待识别行人图像y与每个行人类别的相似度,对待识别行人图像样本y进行归类具体是:如果相似度阈值为0.5,则
步骤s260,根据待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别。
其中,目标行人类别是用于比对的行人类别。
在一个场景中,第一摄像机a的监控区域拍摄到了一个人e,现需要识别出e有没有在第二摄像机b的监控区域拍摄到,就用第二摄像机b拍摄的视频进行预处理后的行人图像作为待识别行人图像,第二摄像机b即为待比对摄像机,将第二摄像机b的待识别行人图像输入至第二摄像机b对应的识别模型进行识别,确定出待识别行人图像中的行人类别,将该行人类别与第一摄像机a的监控区域拍摄到目标行人e进行比对,确定第二摄像机b中是否出现目标行人e。
在一个场景中,第一摄像机a的某个人f的一些图片和第二摄像机b的某个人c的一些图片,需要判断一下某个人f的一些图片和某个人c的一些图片是否属于同一个行人,分别将第一摄像机a为待比对摄像机,第一摄像机a的某个人f的一些图片为待识别行人图像;第二摄像机b为待比对摄像机,第二摄像机b的某个人c的一些图片为待识别行人图像,将第一摄像机a的待识别行人图像输入至第一摄像机a对应的识别模型进行识别,确定出待识别行人图像中的行人类别s,将第二摄像机b的待识别行人图像输入至第二摄像机b对应的识别模型进行识别,确定出待识别行人图像中的行人类别t,将行人类别s与行人类别t比对,确定行人类别s与行人类别t是否为同一人。
上述行人重识别方法,通过获取待比对摄像机拍摄的待识别行人图像;将待识别行人图像输入至待比对摄像机对应的识别模型进行识别,确定待识别行人图像中的行人类别,识别模型是预先基于半监督迁移字典学习的识别模型;根据待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别;预先基于半监督迁移字典学习的识别模型,在进行半监督迁移字典学习的同时通过特征提取投影矩阵实现行人特征提取和降维,使提取到的特征更加适合字典学习,在进行多个摄像机之间的迁移字典学习时,充分利用有标记训练样本监督地学习结构化的字典,充分利用无标记训练样本优化字典的稀疏表示性能,增强行人重识别能力,进而提高了行人重识别的准确度。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种行人重识别装置,包括:
图像获取模块310,用于获取待比对摄像机拍摄的待识别行人图像;
行人类别识别模块320,用于将待识别行人图像输入至待比对摄像机对应的识别模型进行识别,确定待识别行人图像中的行人类别,识别模型是预先基于半监督迁移字典学习的识别模型;
目标行人类别分析模块330,用于根据待识别行人图像中的行人类别和目标行人类别,确定待比对摄像机中是否出现目标行人类别;
其中,预先基于半监督迁移字典学习的识别模型的训练方式包括:
获取监控不同监控区域的第一摄像机和第二摄像机对应的识别模型的行人图像训练样本集;
将所述第一摄像机和所述第二摄像机对应的识别模型的所述行人图像训练样本集,划分为共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集;
根据所述共有的行人类别的行人图像训练样本子集、独有的行人类别的行人图像训练样本子集和无标记行人图像训练样本子集,基于半监督迁移字典学习的目标函数训练所述第一摄像机和所述第二摄像机对应的识别模型,获得所述第一摄像机对应的识别模型的特征提取投影矩阵和字典,和所述第二摄像机对应的识别模型的特征提取投影矩阵和字典。
其中,半监督迁移字典学习的目标函数为:
其中,v=a,b表示摄像机编号,a为第一摄像机编号,b为第二摄像机编号,
在一个实施例中,行人类别识别模块320还用于:采用识别模型对应的特征提取投影矩阵对待识别行人图像进行特征提取和降维,获得待识别行人图像的特征向量;采用识别模型对应的字典稀疏重构特征向量,获得待识别行人图像的稀疏编码系数;根据稀疏编码系数计算待识别行人图像与每个行人类别的相似度,获得每个行人类别对应的相似度数据;根据每个行人类别对应的相似度数据,确定待识别行人图像中的行人类别。
在一个实施例中,行人类别识别模块320还用于:采用识别模型对应的特征提取投影矩阵根据特征向量分析公式,对待识别行人图像进行特征提取和降维,获得待识别行人图像的特征向量;
特征向量分析公式为:
y′=(wv)ty
其中,y′表示待识别行人图像的特征向量,wv表示识别模型对应的特征提取投影矩阵,y表示待识别行人图像。
在一个实施例中,行人类别识别模块320还用于:采用识别模型对应的字典根据稀疏编码系数分析公式,稀疏重构特征向量,获得待识别行人图像的稀疏编码系数;
稀疏编码系数分析公式为:
其中,β表示待识别行人图像的稀疏编码系数,y′表示待识别行人图像的特征向量,dv表示识别模型对应的字典,λ2表示正的第二权重系数。
关于行人重识别装置的具体限定可以参见上文中对于行人重识别方法的限定,在此不再赘述。上述行人重识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的行人重识别方法的步骤。
在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的行人重识别方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。