基于深度学习的行人重识别方法、装置、设备及存储介质
技术领域
本发明涉及深度学习
技术领域
,尤其是一种基于深度学习的行人重识别方法、装置、设备及存储介质。背景技术
行人重识别(Person Re-identification也称行人再识别,简称为ReID),是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。视频监控场景中,行人是重要的组成部分,借助行人重识别技术对行人进行识别、轨迹追踪等。行人重识别技术主要包括两个部分:行人特征提取和行人特征比对。行人特征提取是指对抓拍检测到的行人进行提取有代表性特征向量;行人特征比对是指对提取的特征和特征库中行人特征进行距离相似度计算,相似度越高,则为同一个人的概率越大。
其中,现有的基于特征表示的方法,一般通过提取更具有鲁棒性的鉴别特征对行人进行表示。虽然计算复杂度相对较低,但是精度也相对较低。
而基于距离度量的方法,一般通过学习一个有判别力的距离度量函数,使得同一个人的图像间距离小于不同行人图像间的距离。需要复杂学习过程,实际应用中时效性、准确性上不能很好满足。
在实际场景中,情况复杂多变。由于不同下摄像头造成行人外观的巨大变化包括:行人尺度、光照变化、目标遮挡、视角等问题,使得行人重识别方法在实际应用中存在巨大挑战。
发明内容
有鉴于此,本发明实施例提供一种基于深度学习的行人重识别方法、装置、设备及存储介质,进而提高识别精度和识别的时效性。
本发明的一方面提供了一种基于深度学习的行人重识别方法,包括:
对源图像数据进行人体目标检测,确定目标行人;
对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息;
对所述目标行人的局部区域进行特征提取,得到所述局部区域的特征并对特征进行加权求和,确定所述目标行人的特征;
确定所述目标行人的特征与行人特征库中各个特征之间的相似度;
根据所述相似度确定行人重识别结果。
可选地,所述对源图像数据进行人体目标检测,确定目标行人,包括:
获取实时视频序列,得到多个源图像数据;
通过YOLOv5网络对每个所述源图像数据进行人体目标检测,确定每个所述源图像数据中的多个目标行人。
可选地,所述对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息,
包括:
通过YOLOv5网络对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息;其中,所述属性信息包括行人全身区域、行人头部区域、行人上身区域、行人下身区域、行人类别和行人置信度。
可选地,所述对所述目标行人的局部区域进行特征提取,得到所述局部区域的特征并对特征进行加权求和,确定所述目标行人的特征,包括:
将所述目标行人的属性信息输入特征提取网络,由所述特征提取网络提取所述目标行人的目标行人的特征;
其中,所述特征提取网络提取所述目标行人的目标行人的特征这一步骤,包括:
通过共享CNN对所述属性信息进行处理,得到第一处理结果;
对所述第一处理结果进行标签区分,得到不同类型的第二处理结果;
将所述不同类型的第二处理结果输入独立网络进行特征提取,得到第三处理结果;
将所述独立网络处理得到的第三处理结果进行特征加权求和处理,得到第四处理结果;
输出所述目标行人的特征。
可选地,所述方法还包括构建行人特征库的步骤。
可选地,所述确定所述目标行人的特征与行人特征库中各个特征之间的相似度,包括:
获取所述目标行人的属性信息,根据所述属性信息对所述行人特征库中的特征进行过滤;
提取过滤后的行人特征库中的待选特征,计算所述待选特征与所述目标行人的特征之间的向量距离,确定所述目标行人的特征与行人特征库中各个特征之间的相似度;
其中,所述过滤的条件包括年龄段条件、性别条件以及头发长度条件。
可选地,所述特征提取网络的推理步骤包括:
将训练后的数据转换为TensorRT推理模型;
对所述TensorRT推理模型进行Int8量化处理;
通过TensorRT对所述量化处理的结果进行推理,得到目标行人的特征。
本发明实施例还提供了一种基于深度学习的行人重识别装置,包括:
目标检测模块,用于对源图像数据进行人体目标检测,确定目标行人;
属性检测模块,用于对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息;
特征提取模块,用于对所述目标行人的局部区域进行特征提取,得到所述局部区域的特征并对特征进行加权求和,确定所述目标行人的特征;
相似度计算模块,用于确定所述目标行人的特征与行人特征库中各个特征之间的相似度;
识别模块,用于根据所述相似度确定行人重识别结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例对源图像数据进行人体目标检测,确定目标行人;接着对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息;然后对所述目标行人的局部区域进行特征提取,得到所述局部区域的特征并对特征进行加权求和,确定所述目标行人的特征;进而确定所述目标行人的特征与行人特征库中各个特征之间的相似度;最后根据所述相似度确定行人重识别结果。本发明实施例有助于提高识别精度和识别的时效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的整体步骤流程图;
图2为本发明实施例提供的特征提取网络流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明提供了一种基于深度学习的行人重识别方法、装置、设备及存储介质。其中,方法的整体步骤可以包括:1、基于全图检测出单个行人。2、单个行人人体模块检测,得到行人全身、头部、上身和下身四个区域。3、特征网络提取每块的特征。4、行人特征库条件过滤,减少比对的特征。5、特征向量相似距离计算得到相似度。
具体地,如图1所示,本发明的方法包括以下步骤:
Step1:实际应用场景中,数据源来于摄像头抓拍或者实时视频序列。多为全图,每张图像中一般有多个行人目标。本发明需要对全图进行行人目标检测,检测出单个行人。本系统采用但不限于YOLOv5网络,进行行人目标检测,得到单个的行人。其中YOLOv5网络训练步骤如下:
1)、整理带标签的数据,划分训练集验证集和测试集;
2)、转换数据格式,将xml标签文件转换成yolo格式的TXT文件;
3)、选择yolo5s模型,修改配置文件进行模型训练,输出训练的模型文件。
Step2:单个行人进行属性检测得到行人全身、头部、上身、下身四个区域并作为特征提取模型的输入。其中,行人属性检测是提取行人结构化信息必要步骤,本系统采用但不限于YOLOv5网络进行行人属性检测得到行人躯干各区域。
Step3:行人特征提取是对行人提取鉴别性特征。如图2所示,行人躯干各区域图像输入网络,经过共享CNN,通过标签区分,然后进入对应独立网络提取各部分特征,经过全局pooling后降维为512维向量,再特征加权求和(采用公式1来实现),作为输出。该网络主干特征提取部分即共享CNN部分为ResNet50网络,在cov5层时,进行改造,添加子网络对各部分分别提取特征,进行池化输出特征值。其中特征加权求和公式如下:
其中,向量分别是头部区域特征向量,上身区域特征向量,下身区域特征向量和全身区域特征向量。是加权求和后的特征向量,P是各区域检测的置信度,n是向量维度,值是512。
Step4:行人特征库采用step3步骤中网络提取特征建立的。本发明首先提取了行人结构化信息,在特征比对时,采用行人的结构化信息对特征库进行过滤,减少比对的特征数,从而减少耗时,提高时效性。过滤条件采用:年龄段、性别、头发长短这些信息。训练完成后,得到权重模型,经过INT8量化,转化为int8类型。推理时,获取指定层特征向量,进行相似度的计算,降低向前计算的耗时。
Step5:提取的特征和特征库中特征进行向量距离计算,根据计算距离进行排序,排序越靠前表示相似度越高。距离计算选取常规的余弦距离计算特征向量的距离,距离越小,相似度越高。并采用重排序方法,进行距离计算优化。
Step6:本发明实施例所有的模型文件是训练后的权重文件转化为TensorRT推理模型,并进行Int8量化,然后用TensorRT进行推理,提高模型的推理速度。其中,TensorRT对训练的特征提取网络模型进行处理包括三个步骤:
第一:TensorRT通过解析训练的网络模型,消除无用输出层,减少计算。
第二:网络垂直整合,即将conv、BN、Relu三个层融合为了一个层。
第三:网络水平组合,将输入为相同张量和执行相同操作的层融合一起。
综上所述,本发明具有以下优点:
1、实际应用中,本发明可以作为行人结构化产品中的一个主要功能,有效利用行人结构化信息,为行人重识别提供更多的条件,能够提高行人检索的时效性和准确性。
2、本发明通过提取局部特征,然后进行特征融合,构建全局和局部细粒度特征,使得行人特征更具有代表性,提高实际应用中行人检索的准确率。
3、本发明通过对提取的特征进行量化,降低特征提取的推理时间,能够提高实际应用中的时效性。
本发明实施例还提供了一种基于深度学习的行人重识别装置,包括:
目标检测模块,用于对源图像数据进行人体目标检测,确定目标行人;
属性检测模块,用于对所述目标行人进行属性检测,确定所述目标行人的局部区域属性信息;
特征提取模块,用于对所述目标行人的局部区域进行特征提取,得到所述局部区域的特征并对特征进行加权求和,确定所述目标行人的特征;
相似度计算模块,用于确定所述目标行人的特征与行人特征库中各个特征之间的相似度;
识别模块,用于根据所述相似度确定行人重识别结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。