CN113255604B - 基于深度学习网络的行人重识别方法、装置、设备及介质 - Google Patents

基于深度学习网络的行人重识别方法、装置、设备及介质 Download PDF

Info

Publication number
CN113255604B
CN113255604B CN202110728797.7A CN202110728797A CN113255604B CN 113255604 B CN113255604 B CN 113255604B CN 202110728797 A CN202110728797 A CN 202110728797A CN 113255604 B CN113255604 B CN 113255604B
Authority
CN
China
Prior art keywords
network
isomorphic
branch
value
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110728797.7A
Other languages
English (en)
Other versions
CN113255604A (zh
Inventor
王立
范宝余
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110728797.7A priority Critical patent/CN113255604B/zh
Publication of CN113255604A publication Critical patent/CN113255604A/zh
Priority to PCT/CN2021/121899 priority patent/WO2023272994A1/zh
Priority to US18/268,943 priority patent/US11810388B1/en
Application granted granted Critical
Publication of CN113255604B publication Critical patent/CN113255604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/117Biometrics derived from hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于深度学习网络的行人重识别方法、装置、设备及介质;在本方案中,在网络训练过程中,首先需要创建与初始行人重识别网络对应的同构训练网络,该同构训练网络具有多个网络结构相同的同构分支;并且,本方案通过知识协同损失函数对该同构训练网络进行训练,可在训练过程中实现同构分支之间的信息交互,从而提高网络的准确率。因此,本方案通过上述操作对同构训练网络进行训练,可得到更为准确的最终权重参数后;并且,由于本方案只需要更改网络训练过程,而在网络识别过程,并没有对行人重识别网络进行复杂化处理,因此本方案可在不增加任何参数量和计算量的前提下最大化的挖掘网络潜能,提升网络性能。

Description

基于深度学习网络的行人重识别方法、装置、设备及介质
技术领域
本发明涉及图像识别技术领域,更具体地说,涉及一种基于深度学习网络的行人重识别方法、装置、设备及介质。
背景技术
行人重识别(Person re-identification,Re-ID)是一种重要的图像识别技术,广泛应用于公安系统、交通监管等领域。行人重识别对分布在不同位置的摄像头进行搜索来确定不同摄像头视野中的行人是否是同一个行人,该技术可以用于犯罪嫌疑人搜索、遗失儿童搜索等场景中。行人重识别主要通过深度学习技术实现,近年来,随着深度学习技术的不断发展,行人重识别任务随之也取得了长足的进步。但是,目前为了进一步提高深度学习网络的性能,学者们通常通过构建更为复杂的网络结构的形式继续提高其性能,但是以该方式提高网络性能有以下缺点:
1、更深、更宽或更为复杂的网络通常会带来参数量的激增,参数量的增加不利于便携式设备的存储与部署。例如:在网络摄像头中实现实时的行人检测识别程序的部署,需要网络具有较小的参数量(便于存储)和较高的识别准确率。
2、更深、更宽或更为复杂的网络通常会带来计算量的增加,不利于对实时性要求较高的场景应用。例如:对犯罪嫌疑人的检索与跟踪,大的计算延迟会使整个系统错失最好的时机,给系统功能带来负面影响。
因此,如何在不增加参数量和计算量的前提下,提升深度学习网络处理行人重识别任务的准确率及性能,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于深度学习网络的行人重识别方法、装置、设备及介质,以在不增加参数量和计算量的前提下,提升深度学习网络处理行人重识别任务的准确率及性能。
为实现上述目的,本发明提供一种基于深度学习网络的行人重识别方法,包括:
获取初始行人重识别网络;
创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络,以利用所述最终行人重识别网络执行行人重识别任务;其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;其中,所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述确定概率协同损失函数的概率协同损失值的过程包括:
获取每个同构分支的分类层输出的图像分类概率;
计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
其中,所述根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值,包括:
利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure 577815DEST_PATH_IMAGE001
;其中,
Figure 818172DEST_PATH_IMAGE002
为当前迭代训练的目标特征,
Figure 330056DEST_PATH_IMAGE003
为同构分支的总数,b表示第b个同构分支,
Figure 545137DEST_PATH_IMAGE004
为第b个同构分支的权重值,
Figure 293037DEST_PATH_IMAGE005
为第
Figure 618977DEST_PATH_IMAGE006
个样本,
Figure 782105DEST_PATH_IMAGE007
表示第b个同构分支的网络参数,
Figure 699245DEST_PATH_IMAGE008
Figure 213403DEST_PATH_IMAGE009
在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure 326721DEST_PATH_IMAGE010
;其中,
Figure 344356DEST_PATH_IMAGE011
为概率协同损失值。
其中,所述根据第一特征确定规则确定目标特征之后,还包括:
在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure 370081DEST_PATH_IMAGE012
;其中,
Figure 558486DEST_PATH_IMAGE013
为虚拟分支特征,
Figure 22965DEST_PATH_IMAGE014
为第一超参数,
Figure 895106DEST_PATH_IMAGE015
为第二超参数,
Figure 622891DEST_PATH_IMAGE016
为从所述先进先出缓存序列选取的历史特征的数量,
Figure 95329DEST_PATH_IMAGE017
表示从所述先进先出缓存序列选取的第
Figure 301183DEST_PATH_IMAGE018
个历史特征;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure 27830DEST_PATH_IMAGE019
其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定所述知识协同损失函数的知识协同损失值;
利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数。
其中,所述确定三元组损失函数的三元组损失值的过程包括:
根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值;
其中,所述第一三元组损失函数为:
Figure 192095DEST_PATH_IMAGE020
其中,
Figure 92443DEST_PATH_IMAGE021
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure 367566DEST_PATH_IMAGE022
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure 932409DEST_PATH_IMAGE023
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure 736416DEST_PATH_IMAGE024
为q样本的嵌入层输出特征,m为第一参数,
Figure 934180DEST_PATH_IMAGE025
用于求取距离,
Figure 199945DEST_PATH_IMAGE026
Figure 166764DEST_PATH_IMAGE027
均表示求取最大距离,
Figure 141673DEST_PATH_IMAGE028
表示求取最小距离,
Figure 826732DEST_PATH_IMAGE029
表示锚点样本的分类标签,
Figure 427347DEST_PATH_IMAGE030
表示p样本的分类标签,
Figure 248672DEST_PATH_IMAGE031
表示q样本的分类标签。
其中,所述确定每个同构分支的第一损失值之后,还包括:
利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
所述第二三元组损失函数为:
Figure 660062DEST_PATH_IMAGE032
其中,
Figure 566838DEST_PATH_IMAGE033
为第b个同构分支的第二损失值,
Figure 696775DEST_PATH_IMAGE034
为第二参数;
相应的,所述从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值,包括:
从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
其中,所述确定所述知识协同损失函数的知识协同损失值的过程包括:
利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure 638186DEST_PATH_IMAGE035
其中,
Figure 954898DEST_PATH_IMAGE036
为知识协同损失值,
Figure 348970DEST_PATH_IMAGE037
为训练样本的总数,
Figure 291388DEST_PATH_IMAGE038
为同构分支的总数,
Figure 87305DEST_PATH_IMAGE039
表示第
Figure 840498DEST_PATH_IMAGE039
个同构分支,
Figure 721866DEST_PATH_IMAGE040
表示第
Figure 202395DEST_PATH_IMAGE040
个同构分支,
Figure 852819DEST_PATH_IMAGE041
为嵌入层输出特征的维度,
Figure 776913DEST_PATH_IMAGE005
为第
Figure 145577DEST_PATH_IMAGE006
个样本,
Figure 429797DEST_PATH_IMAGE042
Figure 934727DEST_PATH_IMAGE043
在第
Figure 29722DEST_PATH_IMAGE044
个同构分支中的第
Figure 885683DEST_PATH_IMAGE045
个维度的嵌入层输出特征,
Figure 710944DEST_PATH_IMAGE046
Figure 335960DEST_PATH_IMAGE009
在第
Figure 601857DEST_PATH_IMAGE047
个同构分支中的第
Figure 679534DEST_PATH_IMAGE048
个维度的嵌入层输出特征,
Figure 571136DEST_PATH_IMAGE049
表示距离,
Figure 50658DEST_PATH_IMAGE050
表示第
Figure 487456DEST_PATH_IMAGE051
个同构分支的网络参数,
Figure 52429DEST_PATH_IMAGE052
表示第
Figure 216563DEST_PATH_IMAGE053
个同构分支的网络参数。
其中,所述创建与所述初始行人重识别网络对应的同构训练网络,包括:
在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
为实现上述目的,本发明进一步提供一种基于深度学习网络的行人重识别装置,包括:
网络获取模块,用于获取初始行人重识别网络;
网络创建模块,用于创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
参数确定模块,用于利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
网络确定模块,用于通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络;
行人重识别模块,用于利用所述最终行人重识别网络执行行人重识别任务;
其中,所述参数确定模块包括:
损失值确定单元,用于在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
权重确定单元,用于利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述损失值确定单元包括:
获取子单元,用于获取每个同构分支的分类层输出的图像分类概率;
第一计算子单元,用于计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
第一确定子单元,用于根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述基于深度学习网络的行人重识别方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于深度学习网络的行人重识别方法的步骤。
通过以上方案可知,本发明实施例提供的一种基于深度学习网络的行人重识别方法、装置、设备及介质;本方案在执行行人重识别任务之前,首先需要确定初始行人重识别网络,并创建与该初始行人重识别网络对应的同构训练网络,由于该同构训练网络具有多个网络结构相同的同构分支,因此本方案在训练过程中,可通过多个同构分支挖掘同构分支之间的特征信息,使同构分支之间相互正则化,从而促使各个同构分支的准确率更高;并且,本方案通过基于欧式距离的知识协同损失函数对该同构训练网络进行训练,可在训练过程中实现同构分支之间的信息交互,从而促使网络借助群体智慧向识别率更为准确的方向发展,还可以通过概率协同损失函数在分支之间相互学习时,避免所有分支都向错误的方向学习,从而提高行人重识别网络在执行行人重识别任务时的准确度。因此,本方案通过上述操作对同构训练网络进行训练得到更为准确的最终权重参数后,初始行人重识别网络便可加载该最终权重参数执行行人重识别任务,从而提升行人重识别网络处理行人重识别任务的准确率及性能,减少设备内存储空间的占用,更利于便携式设备的存储与部署,减少执行行人重识别任务的计算量,提升行人重识别任务的处理速率;并且,由于本方案只需要更改网络训练过程,而在网络识别过程,并没有对行人重识别网络进行复杂化处理,因此本方案可在不增加任何参数量和计算量的前提下最大化的挖掘网络潜能,提升网络性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于深度学习网络的行人重识别方法流程示意图;
图2a为本发明实施例公开的一网络结构示意图;
图2b为本发明实施例公开的另一网络结构示意图;
图2c为本发明实施例公开的另一网络结构示意图;
图3a为本发明实施例公开的一种初始行人重识别网络结构示意图;
图3b为本发明实施例公开的一种具有非对称网络结构的同构训练网络示意图;
图3c为本发明实施例公开的一种具有对称网络结构的同构训练网络示意图;
图4为本发明实施例公开的一种同构训练网络示意图;
图5为本发明实施例公开的一种最终行人重识别网络结构示意图;
图6a为本发明实施例公开的同构分支数据输出示意图;
图6b为本发明实施例公开的虚拟分支特征计算示意图;
图7a为本发明实施例公开的一种具体的同构训练网络结构示意图;
图7b为本发明实施例公开的一种最终行人重识别网络结构示意图;
图7c为本发明实施例公开的一种行人重识别任务执行流程示意图;
图8为本发明实施例公开的一种基于深度学习网络的行人重识别装置结构示意图;
图9为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
近年来,随着深度学习的不断发展,深度学习网络在各个领域都取得了引人入瞩目的表现。为了进一步提高网络性能,目前通常通过构建更为复杂的网络结构的形式继续提高其性能,不可否认的是,随着网络变深或者变宽,网络的学习能力也不断增强,但是网络的计算量和参数量也飞速增长,不利于在实际应用中进行部署;同时,随着网络层数变大,也不可避免的引入了大量的噪声(无用特征),过多的特征通常不但不会提高网络模型的能力,反而会迷惑分类器,从而降低网络的识别能力。
而在本发明中,发现对同一数据的多种观点将提供额外的正则化信息,从而提高网络准确性,也即:对于同一图像的多个结果可以相互辅助,从而利用群体的智慧获得更准确的结果。该多个结果既包括最终结果,也包括中间结果。基于此,本发明公开了一种基于深度学习网络的行人重识别方法、装置、设备及介质,在本方案中,通过引入知识协同方法,可在不引入额外的网络参数量和计算量的基础上,通过优化训练过程,挖掘网络的潜力,提升网络的准确率及性能,使其能够达到最优性能,从而在网络应用过程中表现出更好的结果。其中:知识在本发明中定义为网络中的特征图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供的一种基于深度学习网络的行人重识别方法流程示意图;通过图1可以看出,该方法具体包括如下步骤:
S101、获取初始行人重识别网络;
需要说明的是,本实施例中的初始行人重识别网络为未经过训练的原始深度学习网络;并且,在本实施例中,并不对该初始行人重识别网络的具体网络结构进行限定,只要该初始行人重识别网络经过训练后,可执行行人重识别等任务即可。
S102、创建与初始行人重识别网络对应的同构训练网络;该同构训练网络具有多个网络结构相同的同构分支;
在本实施例中,获得初始行人重识别网络后,可通过对该初始行人重识别网络重构获得对应的同构训练网络。具体来说,卷积神经网络通常是一个由多层网络叠加而成的深度的结构。参见图2a、2b和2c,为本发明实施例提供的三种不同的网络结构示意图;其中,图2a代表了34层的ResNet网络(Residual Networks,深度残差网络)包含着ShoutcutConnection(抄近道连接)。图2b代表34层的Plain网络,图2c代表19层的VGG(VisualGeometry Group)网络,以上网络都是多层堆叠的结构,以上单分支的网络在本方案中称之为主干网络。为了对本方案的同构训练网络进行清楚描述,参见图3a,为本发明实施例提供了一种初始行人重识别网络结构示意图,通过图3a可以看出,在本实施例中,以初始行人重识别网络具有网络层A~网络层E这五层为例进行说明,网络层A~网络层E为主干网络。
并且,本方案创建与初始行人重识别网络对应的同构训练网络时,可在初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络,或者,生成具有对称网络结构的同构训练网络。参见图3b,本发明实施例提供了一种具有非对称网络结构的同构训练网络示意图,参见图3c,为本发明实施例提供了一种具有对称网络结构的同构训练网络示意图。通过图3b及图3c可以看出,本实施例从主干网络引出辅助训练分支的中间层为:网络层C和网络层D;并且,图3b中的网络层C引出的辅助训练分支为:网络层D’-网络层E’’,图3b中的网络层D引出的辅助训练分支为:网络层E’,其中,网络层D’与网络层D的结构相同,网络层E’和网络层E’’与网络层E的结构相同,因此本实施例生成的具有非对称网络结构的同构训练网络共具有三个网络结构相同的同构分支,分别为:
1、网络层A-网络层B-网络层C-网络层D-网络层E;
2、网络层A-网络层B-网络层C-网络层D-网络层E’;
3、网络层A-网络层B-网络层C-网络层D’-网络层E’’。
进一步,图3c中的网络层C引出的辅助训练分支为:网络层D’-网络层E’’以及网络层D’-网络层E’’’,网络层D引出的辅助训练分支为:网络层E’,其中,网络层D’与网络层D的结构相同,网络层E’、网络层E’’和网络层E’’’与网络层E的结构相同,因此本实施例生成的具有对称网络结构的同构训练网络共具有四个网络结构相同的同构分支,分别为:
1、网络层A-网络层B-网络层C-网络层D-网络层E;
2、网络层A-网络层B-网络层C-网络层D-网络层E’;
3、网络层A-网络层B-网络层C-网络层D’-网络层E’’;
4、网络层A-网络层B-网络层C-网络层D’-网络层E’’’。
可见,由于本实施例引出的辅助训练分支中的网络层的网络结构与主干网络中对应的网络层的网络结构相同,因此可以说明,最终生成的同构训练网络具有多个网络结构相同的同构分支。并且,本方案从主干网络的中间层引出辅助训练分支时,并不具体限定从网络的哪一中间层引出辅助训练分支,可根据实际情况进行设定;并且,本实施例在引出辅助训练分支后,可生成基于辅助派生的具有非对称网络结构的同构训练网络(如图3b所示),或者生成基于层级派生的具有对称网络结构的同构训练网络(如图3c所示),在实际应用时,具体生成哪种类型的同构训练网络,可根据资源情况自定义设置,如:若硬件设备的计算性能强,可生成具有对称网络结构的同构训练网络,若硬件设备的计算性能一般,则可生成具有非对称网络结构的同构训练网络等等。
可以理解的是,目前的深度学习网络中,基于异构的辅助分类网络结构非常多见,例如GoogleNet等。其中,异构的辅助分类网络是指从主干网络引出辅助分类分支,但该辅助分类分支网络结构与主干网络非常不同,因此,基于异构的辅助分支设计需要丰富的经验,简单的在网络层的某些位置引入异构分支不会增加网络性能,同时异构分支网络与主分支网络结构不同,也需要单独设计。而本申请公开的这种基于同构网络的辅助训练分支与基于异构网络的辅助训练分支相比,至少具有如下优点:
1)同构辅助训练分支的网络结构与主干网络相同,不需要单独设计网络结构,因此网络设计比较简单。
2)同构辅助训练分支具有天然的分支相似性,即,每个辅助训练分支结构相同,输入也是相同的,但初始化的权重值不同,每个分支对输入数据提供各自的观点。通过挖掘辅助分支之间的特征信息,可以使分支之间相互正则,从而促使各个分支向准确率更高的方向发展。
S103、利用目标损失函数对同构训练网络进行训练,确定同构训练网络中每个网络层的最终权重参数;该目标损失函数包括基于欧式距离的知识协同损失函数,用于利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
S104、通过初始行人重识别网络加载最终权重参数,得到最终行人重识别网络,以利用该最终行人重识别网络执行行人重识别任务。
在本实施例中,建立初始行人重识别网络的同构训练网络后,需要通过目标损失函数对该同构训练网络进行训练使其收敛,收敛后得到训练好的网络最终权重参数。在执行行人重识别任务中,预先加载网络训练好的最终权重参数对输入数据进行最终的分类。需要说明的是,本实施例对同构训练网络训练时,可利用目前对网络的通用训练过程进行训练,从而得到最终权重参数,在训练过程中,所使用的损失函数可以包括交叉熵损失函数、三元组损失函数等等,并且,由于本实施例中的同构训练网络具有多个网络结构相同的同构分支,因此本方案基于同构训练网络这一特殊结构,提出了一种基于欧式距离的知识协同损失函数,利用该知识协同损失函数对同构训练网络进行训练,可在训练过程中实现同构分支之间的信息交互,从而促使网络借助群体智慧向识别率更为准确的方向发展。
在本实施例中,提供了一种对同构训练网络的训练流程,包括如下步骤:
一、根据初始行人重识别网络的网络结构,在主干网络中选择合适的引出位置,从而确定引出辅助训练分支的中间层,并构建基于同构网络的辅助训练分支,得到同构训练网络。
二、确定目标损失函数,通过目标损失函数对同构训练网络中的所有同构分支求取损失,该损失与目标损失函数相对应,若目标损失函数包括:交叉熵损失函数、三元组损失函数及知识协同损失函数,则得到的同构分支损失也包括:交叉熵损失值、三元组损失值、知识协同损失值。
三、根据如上损失函数对网络进行训练,使其收敛。
四、存储训练好的权重参数。
具体来说,目前对网络训练过程中,通常包括如下两个阶段:第一个阶段是数据由低层次向高层次传播的阶段,即前向传播阶段。另外一个阶段是,当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段,具体训练过程为:
1、网络层权值进行初始化,一般采用随机初始化;
2、输入训练图像数据经过卷积层、下采样层、全连接层等各网络层的前向传播得到输出值;
3、求出网络的输出值与目标值(标签)之间的误差,误差求取方法为:求取网络的输出值,并基于上述目标损失函数得出总损失值;
4、将误差反向传回网络中,依次求得网络各层:全连接层,卷积层等各网络层的反向传播误差。
5、网络各层根据各层的反向传播误差对网络中的所有权重系数进行调整,即进行权重的更新。
6、重新随机选取新的训练图像数据,然后进入到第2步,获得网络前向传播得到输出值。
7、无限往复迭代,当求出网络的输出值与目标值(标签)之间的误差小于某个阈值,或者迭代次数超过某个阈值时,结束训练。
8、保存训练好的所有层的网络参数。
通过上述流程对网络训练结束后,即可得到同构训练网络中每个网络层的最终权重参数,该网络在执行行人重识别任务时,需要去掉所有辅助训练分支后加载最终权重参数进行行人重识别,也就是说:本实施例通过未添加辅助训练分支的初始行人重识别网络加载最终权重参数得到最终行人重识别网络,并利用该最终行人重识别网络执行行人重识别任务;需要说明的是,由于初始行人重识别网络只包括主干网络,不包括辅助训练分支,而对同构训练网络进行训练得到的权重参数包括:主干网络的权重参数和辅助训练分支的权重参数,因此通过初始行人重识别网络加载最终权重参数时,只会加载主干网络的权重参数。
综上可以看出,本方案在执行行人重识别任务之前,首先需要确定初始行人重识别网络,并创建与该初始行人重识别网络对应的同构训练网络,由于该同构训练网络具有多个网络结构相同的同构分支,因此本方案在训练过程中,可通过多个同构分支挖掘同构分支之间的特征信息,使同构分支之间相互正则化,从而促使各个同构分支的准确率更高;并且,本方案通过基于欧式距离的知识协同损失函数对该同构训练网络进行训练,可在训练过程中实现同构分支之间的信息交互,从而促使网络借助群体智慧向识别率更为准确的方向发展。因此,本方案通过上述操作对同构训练网络进行训练得到更为准确的最终权重参数后,初始行人重识别网络便可加载该最终权重参数执行行人重识别任务,从而提升行人重识别网络处理行人重识别任务的准确率及性能;并且,由于本方案只需要更改网络训练过程,而在网络识别过程,并没有对行人重识别网络进行复杂化处理,因此本方案可在不增加任何参数量和计算量的前提下最大化的挖掘网络潜能,提升网络性能。进一步的,本申请可以让最终行人重识别网络在执行行人重识别任务时,避免因最终行人重识别网络的参数量巨大带来额外的存储空间,从而减少了存储空间的占用,因此可将该最终行人重识别网络部署在便携式设备中,通过便携式设备运行该最终行人重识别网络执行行人重识别任务;并且,该最终行人重识别网络在执行行人重识别任务时,并不会增加额外的计算量,因此,在本申请中,该最终行人重识别网络可以执行实时性校高的行人重识别任务,从而提升行人重识别任务的准确率及执行速度。
基于上述实施例,在本实施例中,利用目标损失函数对同构训练网络进行训练,确定同构训练网络中每个网络层的最终权重参数时,具体包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数。
也就是说,本实施例为了满足行人重识别任务的需要,主要基于交叉熵损失函数(cross-entropy)、三元组损失函数(Triplet Loss)和知识协同损失函数(Knowledgesynergy for embedding distance , KSE)对网络进行训练,在此,对上述各个损失函数进行具体说明。参见图4,本发明实施例提供了一种同构训练网络示意图;通过图4可以看出,该同构训练网络为非对称网络结构,在原主干网络的基础上引出两个辅助训练分支,目前共有三个同构分支:Branch1、Branch2、Branch3。该同构训练网络在训练结束获得最终权重参数后,会将辅助训练分支去掉,保留原主干网络,参见图5,为本发明实施例提供的一种最终行人重识别网络结构示意图,通过图5所示的网络加载训练获得的权重参数后,即可执行行人重识别任务。
在本实施例中,首先求取每个分支的交叉熵损失函数(cross-entropy loss),公式如下:
Figure 816172DEST_PATH_IMAGE054
(1)
Figure 423871DEST_PATH_IMAGE055
(2)
其中,网络输入表示为:
Figure 741720DEST_PATH_IMAGE056
Figure 443965DEST_PATH_IMAGE037
代表样本图像的总数,
Figure 898081DEST_PATH_IMAGE005
代表第
Figure 676681DEST_PATH_IMAGE006
张图像,
Figure 216246DEST_PATH_IMAGE057
代表该张图像对应的分类标签。
Figure 990692DEST_PATH_IMAGE058
代表网络模型输出特征,下标c代表获取网络经过softmax层以后的分类层特征。如图4所示,计算交叉熵损失函数获取网络分类层的输出特征
Figure 299313DEST_PATH_IMAGE059
Figure 248815DEST_PATH_IMAGE060
代表网络输出的分类层特征向量的维度,
Figure 10098DEST_PATH_IMAGE061
代表同构分支数目,
Figure 132774DEST_PATH_IMAGE062
代表第
Figure 545170DEST_PATH_IMAGE063
个同构分支的交叉熵损失函数,
Figure 399994DEST_PATH_IMAGE064
代表第
Figure 179731DEST_PATH_IMAGE065
个同构分支的网络参数,
Figure 43782DEST_PATH_IMAGE066
是超参数,代表各分支交叉熵损失的权重。以上公式即求取输入图像的每个同构分支的交叉熵损失并进行加权求和。
进一步,本实施例确定三元组损失函数的三元组损失值的过程包括:
根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
从每个同构分支中选取数值最小的第一损失值作为三元组损失值;
其中,第一三元组损失函数为:
Figure 310684DEST_PATH_IMAGE020
(3)
其中,
Figure 70829DEST_PATH_IMAGE021
为第b个同构分支的第一损失值,
Figure 806704DEST_PATH_IMAGE067
为训练样本的总数,
Figure 458134DEST_PATH_IMAGE068
为锚点样本,
Figure 861434DEST_PATH_IMAGE069
为锚点样本的嵌入层输出特征,
Figure 792481DEST_PATH_IMAGE070
为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure 267849DEST_PATH_IMAGE023
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure 739281DEST_PATH_IMAGE024
为q样本的嵌入层输出特征,m为第一参数,
Figure 465929DEST_PATH_IMAGE025
用于求取距离,
Figure 364615DEST_PATH_IMAGE026
Figure 324349DEST_PATH_IMAGE027
均表示求取最大距离,
Figure 802735DEST_PATH_IMAGE028
表示求取最小距离,
Figure 383889DEST_PATH_IMAGE029
表示锚点样本的分类标签,
Figure 968323DEST_PATH_IMAGE030
表示p样本的分类标签,
Figure 634928DEST_PATH_IMAGE031
表示q样本的分类标签。
具体来说,三元组损失函数通过对输入数据中的困难样本进行挖掘,计算三元组数据中的最大类内距离和最小类间距离,并在损失函数中对以上距离进行约束,使最大类内距离尽可能的小,最小类间距离尽可能的大,从而使样本在其映射后(深度学习网络计算后得到的特征)的特征空间中不同类别样本之间的距离增大,同类别样本尽量聚集,提高了识别准确率。上述公式3即为本实施例提供的一种三元组损失函数,
Figure 448163DEST_PATH_IMAGE025
代表求取向量之间的距离,可以使用欧式距离、余弦距离等。公式3中的
Figure 414982DEST_PATH_IMAGE071
Figure 639159DEST_PATH_IMAGE072
代表anchor,即锚点样本。
Figure 324218DEST_PATH_IMAGE073
代表获取图像在网络Embedding层的特征。也即:在本实施例中,需要遍历每个batch中的所有样本,所遍历的样本称为锚点样本,求取锚点样本特征的最大类内距离和最小类间距离,带入如上公式3。
Figure 675565DEST_PATH_IMAGE074
代表与锚点样本同类的图像特征。
Figure 762470DEST_PATH_IMAGE075
代表与锚点样本不同类的图像特征。需要注意的是,本实施例中的
Figure 172197DEST_PATH_IMAGE076
均抽取网络中Embedding层的特征。
进一步,上述公式3所述的第一三元组损失函数虽然可以使不同类别样本之间的距离增大,同类别样本尽量聚集,提高了识别准确率,但是,该第一三元组损失函数仅仅考虑样本的类内差和类间差之间的差值,忽略了类内差的绝对距离大小(即:绝对值),如果能进一步限制类内差的绝对值大小,则可进一步使同类别样本尽量聚集,从而进一步提高识别准确率。因此在本实施例中,确定每个同构分支的第一损失值之后,还包括如下步骤:
利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;其中,该第二三元组损失函数为:
Figure 78973DEST_PATH_IMAGE077
(4)
其中,
Figure 234010DEST_PATH_IMAGE078
为第b个同构分支的第一损失值,
Figure 909842DEST_PATH_IMAGE079
为第b个同构分支的第二损失值,
Figure 475822DEST_PATH_IMAGE034
为第二参数;通过以上约束可以使
Figure 869894DEST_PATH_IMAGE080
朝着更小的趋势发展,
Figure 563044DEST_PATH_IMAGE081
朝着更大的趋势发展,即:限制类内差的绝对距离大小。相应的,计算出第二损失值后,即可根据公式2计算的交叉熵损失函数及公式4计算的三元组损失函数得到总损失函数如公式5,其中,公式中的
Figure 358961DEST_PATH_IMAGE082
为超参数,可以训练或预先设定。
Figure 361421DEST_PATH_IMAGE083
(5)
基于上述内容,本实施例提供一种利用交叉熵损失函数及三元组损失函数计算损失值的具体流程:
1、对每个batch的所有样本进行遍历,如上所述,假设每个batch的样本包含N个样本,则遍历N次。
2)求取每个样本在每个batch中的最小类内距离和最大类间距离,其中:每个样本在一个batch中总有一个最小的类内和最大的类间样本。
3)通过公式3、公式4计算三元组损失函数的损失值
Figure 977210DEST_PATH_IMAGE079
4)通过公式2计算交叉熵损失函数的损失值
Figure 474051DEST_PATH_IMAGE084
5)遍历每个同构分支,按如上步骤求取每个分支的
Figure 842584DEST_PATH_IMAGE085
Figure 766678DEST_PATH_IMAGE086
6)通过公式5求取总损失值。
需要说明的是,预测概率与样本标签之间求取交叉熵损失隐含地表示了以上两个变量在余弦空间下的距离,因此,上述的损失函数只考虑了余弦距离条件下的分类结果与标签的度量误差,为了进一步提高精度,本发明实施例提出了知识协同损失函数KSE(Knowledge synergy for embedding distance),以为所有分支的embedding层特征添加基于欧式距离的正则化项,提高了网络的分类精度。
其中,本实施例确定知识协同损失函数的知识协同损失值的过程具体包括:利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure 135342DEST_PATH_IMAGE035
(6)
其中,
Figure 170294DEST_PATH_IMAGE036
为知识协同损失值,
Figure 927422DEST_PATH_IMAGE037
为训练样本的总数,
Figure 22417DEST_PATH_IMAGE038
为同构分支的总数,
Figure 612799DEST_PATH_IMAGE039
表示第
Figure 717021DEST_PATH_IMAGE039
个同构分支,
Figure 325725DEST_PATH_IMAGE087
表示第
Figure 60463DEST_PATH_IMAGE087
个同构分支,
Figure 138141DEST_PATH_IMAGE041
为嵌入层输出特征的维度,
Figure 764163DEST_PATH_IMAGE005
为第
Figure 40424DEST_PATH_IMAGE088
个样本,
Figure 680483DEST_PATH_IMAGE042
Figure 245457DEST_PATH_IMAGE089
在第
Figure 940749DEST_PATH_IMAGE090
个同构分支中的第
Figure 540358DEST_PATH_IMAGE045
个维度的嵌入层输出特征,
Figure 882478DEST_PATH_IMAGE046
Figure 669168DEST_PATH_IMAGE009
在第
Figure 171081DEST_PATH_IMAGE091
个同构分支中的第
Figure 625196DEST_PATH_IMAGE048
个维度的嵌入层输出特征,
Figure 138217DEST_PATH_IMAGE049
表示距离,
Figure 677783DEST_PATH_IMAGE050
表示第
Figure 449299DEST_PATH_IMAGE092
个同构分支的网络参数,
Figure 961183DEST_PATH_IMAGE052
表示第
Figure 176263DEST_PATH_IMAGE093
个同构分支的网络参数。
具体来说,得益于同构分支的天然相似性,不同的分支embedding层特征可以相互学习。即分支之间可以通过相互模仿学习使其embedding层特征更相似。通过添加如上KSE损失函数,两两分支之间建立知识协同关系。通过公式6所示,知识协同损失函数具体执行步骤可以归纳如下:
1) 对每个batch的所有样本进行遍历,如上所述,假设每个batch的样本包含N个样本,则遍历N次。
2)将样本依次经过网络,获取样本在网络各个同构分支的嵌入层embedding输出结果,例如:对于样本
Figure 452393DEST_PATH_IMAGE005
,假设网络包含3个同构分支,则共有3个同构分支分类层输出结果,
Figure 512753DEST_PATH_IMAGE094
Figure 941460DEST_PATH_IMAGE095
Figure 61863DEST_PATH_IMAGE096
3)对于所有分支输出结果,进行遍历,例如,本发明举例共有3个分支1、2、3。不重复的遍历共有3种组合:(1,2)(1,3)(2,3)。求取每种组合的知识协同损失函数 。
4)以上所有样本的所有组合的知识协同损失求和后求平均,得到最终得知识协同损失
Figure 294130DEST_PATH_IMAGE097
,如公式6所示。
进一步的,对于所有分支输出结果,虽然分支之间相互学习可以增加系统的鲁棒性和泛化能力,但是,仅仅使用
Figure 158180DEST_PATH_IMAGE036
进行同构分支之间的相互约束学习是不够的。因为,在训练的早期阶段,网络权重是随机初始化的,embedding层特征对输入图像的样本表示性不足,会导致对输入行人图像分类错误,即:多个同构分支的分类头都会分类错误。
Figure 441394DEST_PATH_IMAGE036
可以使同构分支的embedding层特征学习的尽量相似,但是当所有同构分支都分类错误的条件下,
Figure 529436DEST_PATH_IMAGE036
相似性约束反而会对模型收敛造成伤害(因为所有的分支都向错误的方向学习)。为了解决该问题,本发明实施例提出了概率协同方法,通过在目标损失函数中添加概率协同损失函数确定概率协同损失值,并将概率协同损失值添加至总损失值中。
在本实施例中,确定概率协同损失函数的概率协同损失值的过程包括:获取每个同构分支的分类层输出的图像分类概率,计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出,根据概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
具体来说,在本实施例中,对于每一个同构分支,首先获取fc层(fully connectedlayers)特征,fc特征经过softmax函数进行归一化,得到该分支的图像分类概率。该图像分类概率为对行人进行识别时,该行人与数据库中每个对象的相似概率。通过argmax函数计算每个同构分支的图像分类概率的argmax值,argmax值为图像分类概率中的最大值。判断argmax值对应的分类标签是否与真实分类标签相同,若相同,则说明预测正确,则输出该同构分支的argmax值(预测概率值)及嵌入层输出特征。参见图6a,为本发明实施例提供的同构分支数据输出示意图,如图6a所示,图像分类概率中的数据代表相似概率,每个相似概率的位置代表该相似概率的分类标签,若通过argmax函数计算出的argmax值为0.5, 0.5的分类标签为n,并且,从图像标签可以看出真实分类标签也为n,则说明argmax值对应的分类标签与真实分类标签相同,则输出预测概率值(
Figure 265311DEST_PATH_IMAGE098
=0.5)及embedding层特征。
需要说明的是,在本实施例中,只有在当前迭代训练(即每个batch的训练)中,同构分支预测正确后,才会输出预测概率值及embedding层特征,如果预测失败,则不输出预测概率值及embedding层特征(或者输出结果为0)。也即:若本次迭代训练中,没有同构分支预测成功,则不计算概率协同损失值,只有存在至少一个同构分支预测成功后,才需要计算概率协同损失值。
在本实施例中,可通过两种方式确定概率协同损失值,一种为:
利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
具体来说,同构分支的权重值是对各个同构分支输出的预测概率值进行归一化后得到的归一化值,用来衡量对应分支的embedding层特征对目标特征的贡献大小,通过如下方式计算:
Figure 185250DEST_PATH_IMAGE099
(7)
其中,
Figure 57391DEST_PATH_IMAGE098
为第b个同构分支的预测概率值,n为变量,用来遍历所有同构分支,
Figure 519596DEST_PATH_IMAGE100
为所有同构分支的预测概率值之和。
然后根据第一特征确定规则确定目标特征;其中,第一特征确定规则为:
Figure 742767DEST_PATH_IMAGE001
(8)
其中,
Figure 10937DEST_PATH_IMAGE002
为当前迭代训练的目标特征,
Figure 252432DEST_PATH_IMAGE003
为同构分支的总数,b表示第b个同构分支,
Figure 885538DEST_PATH_IMAGE004
为第b个同构分支的权重值,
Figure 596005DEST_PATH_IMAGE005
为第
Figure 605550DEST_PATH_IMAGE006
个样本,
Figure 701551DEST_PATH_IMAGE007
表示第b个同构分支的网络参数,
Figure 771138DEST_PATH_IMAGE101
Figure 437743DEST_PATH_IMAGE009
在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure 250978DEST_PATH_IMAGE010
(9)
其中,
Figure 201485DEST_PATH_IMAGE011
为概率协同损失值。
进一步,本实施例提出的另一种确定概率协同损失值的方式中,还可以参考历史的目标特征计算概率协同损失值,也即:本实施例根据第一特征确定规则确定目标特征之后,还包括:
在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure 238711DEST_PATH_IMAGE012
(10)
其中,
Figure 658191DEST_PATH_IMAGE013
为虚拟分支特征,
Figure 743959DEST_PATH_IMAGE014
为第一超参数,
Figure 830864DEST_PATH_IMAGE015
为第二超参数,
Figure 482732DEST_PATH_IMAGE016
为从所述先进先出缓存序列选取的历史特征的数量,
Figure 389508DEST_PATH_IMAGE017
表示从所述先进先出缓存序列选取的第
Figure 544546DEST_PATH_IMAGE102
个历史特征;第一超参数和第二超参数在本实施例中,可设置为0.8及0.2;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure 672908DEST_PATH_IMAGE019
(11)
参见图6b,为本发明实施例提供的虚拟分支特征计算示意图,通过图6b可以看出,将同构分支的图像分类概率和embedding层特征输出值控制输出模块,通过该控制输出模块判断对应同构分支是否预测成功,若成功,则输出预测概率值及embedding层特征至renewed embedding层, renewed embedding层利用上述公式8计算出目标特征。并且,在每次迭代训练中,将每次迭代产生的目标特征存入先进先出缓存序列cache,做为历史特征。若该次迭代过程中目标特征无法计算,或目标特征为空,则放弃该次迭代的存储操作。然后读取cache中数据,根据公式10计算虚拟分支特征,其中,虚拟分支特征在训练时初始化为0,并以动量的形式更新,在从先进先出缓存序列选取
Figure 51937DEST_PATH_IMAGE016
个历史特征时,可随机选取,也可按照某种分布去抽取,在此并不具体限定。虚拟分支特征确定后,即可根据公式11计算概率协同损失值。
综上可见,在本实施例中,通过在目标损失函数中添加概率协同损失函数确定概率协同损失值,并将概率协同损失值添加至总损失值中,可以在分支之间相互学习时,避免所有分支都向错误的方向学习,从而提高行人重识别网络在执行行人重识别任务时的准确度。
基于上文所述的利用交叉熵损失函数及三元组损失函数计算损失值的过程,结合知识协同损失函数的知识协同损失值及概率协同损失函数的概率协同损失值,可以得出交叉熵损失值、三元组损失值、知识协同损失值、概率协同损失值的总损失值为:
Figure 446009DEST_PATH_IMAGE103
(12)
需要说明的是,针对行人重识别网络,其训练过程是一个分类任务,即在embedding层(如图4所示)后添加分类层,对每个人身份进行分类,来使网络收敛。但网络在执行行人重识别任务是一个检索任务,主要是对行人身份进行比对,也即:获取行人的待检测图像在神经网络embedding层的特征,并与已有数据库中的行人特征(行人特征也是embedding层特征)进行比较,查找特征离得近的样本,也即进行距离度量。度量距离最小的样本ID即为待检测图像的ID(身份)。由上可以看出,embedding层特征非常的重要,因为该特征是最终被使用、应用的特征。因此,本实施例提出的这种基于embedding层的知识协同损失函数,具有如下优点:
第一,增加了同构分支间的信息交流,提高网络模型的泛化能力。
第二,依靠同构分支的天然相似性,不同的分支embedding层特征可以相互学习。即:分支之间可以通过相互模仿学习使其embedding层特征更相似,从而提高收敛速度,同时,增加多个分支也给骨干网络带来了难度,即,骨干网络需要同时满足多个辅助分支网络的收敛要求,同时为多个辅助分支提供支持,因此在网络收敛后具有更强的泛化能力。
综上可见,本发明实施例为了能够提高网络在训练、应用的精度,并且不增加网络在应用时的参数量和计算量,提供了一种知识协同辅助训练方法,通过对网络层进行重构、添加知识协同损失函数等方式进行协同训练。可以理解的是,虽然本实施例提供了一种针对行人重识别网络的训练方式,但是,该训练方式可应用在图像分类、分割、检索等多个领域中,本实施例仅以行人重识别为一个特定应用领域来进行说明。
在此提供一完整实施例对本方案进行清楚说明:
一、网络训练过程:
1、首先确定初始行人重识别网络,并建立该初始行人重识别网络对应的同构训练网络,参见图7a,本发明实施例提供的一种具体的同构训练网络结构示意图。其中,图7a所示的是一个典型的MobileNet v2的网络结构, MobileNet的Bottleneck网络结构是由多层深度可分离卷积网络堆叠而成的残差结构,是一种固定结构,这里不赘述。Conv代表卷积层,每个同构分支的箭头1表示Global pool层,每个同构分支的箭头2代表Conv 1×1。图中结构与MobileNet V2结构完全一致。参见图7a,在本实施例中,在MobileNet v2的网络结构基础上,从第3个Bottleneck输出位置引出同构分支,从第5个Bottleneck输出位置引出同构分支。
2、本实施例在输出层位置建立交叉熵损失、三元组损失、知识协同损失,并进行训练,如图7a中的双头箭头代表两两分支知识协同关系。
3、通过训练使网络收敛,存储网络训练好的权重参数。
二、网络应用过程:
1、在同构训练网络中去掉辅助训练分支,只保留原主干分支,得到初始行人重识别网络,该初始行人重识别网络通过加载对应的权重参数,得到训练好的最终行人重识别网络,参见图7b,本发明实施例提供的一种具体的最终行人重识别网络结构示意图。
2、参见图7c,本发明实施例提供的一种行人重识别任务执行流程示意图,通过图7c可以看出,本实施例将最终行人重识别网络应用在行人重识别任务中时,将输入图像1、输入图像2、输入图像3输入到最终行人重识别网络中,获取其网络中embedding层特征,图像1、2、3构成行人重识别任务的查询数据集。将待查询图像输入到网络中,获取待查询图像的embedding层特征。
3、将待查询图像的embedding层特征与查询数据集中所有特征(输入图像1、输入图像2、输入图像3的embedding层特征)进行比对,比对方法为:求待查询图像的embedding层特征与查询数据集中所有特征的距离,即向量求距离,距离最小的查询数据样本与待查询图像是同一个人。
综上可见,在本方案中,提出了基于同构分支的辅助训练方法来建立对输入数据的多重视图,并且本方案基于Re-ID任务,提出一种基于辅助分支的三元组损失函数,对每个辅助分支的头部网络应用该损失函数进行训练;进一步,本方案为了进行知识协同,实现同构分支之间的信息交互,本发明在两两分支之间添加了基于知识协同的loss函数,实现分支之间不同层次信息的交互,通过多个分支对同一数据提供各自不同的视角,通过不同视角之间的知识协同实现分支之间的相互正则化,从而促使网络借助群体智慧向识别率更为准确的方向发展。
下面对本发明实施例提供的行人重识别装置、设备及介质进行介绍,下文描述的行人重识别装置、设备及介质与上文描述的行人重识别方法可以相互参照。
参见图8,本发明实施例提供的一种基于深度学习网络的行人重识别装置结构示意图,包括:
网络获取模块11,用于获取初始行人重识别网络;
网络创建模块12,用于创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
参数确定模块13,用于利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
网络确定模块14,用于通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络;
行人重识别模块15,用于利用所述最终行人重识别网络执行行人重识别任务;
其中,所述参数确定模块包括:
损失值确定单元,用于在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
权重确定单元,用于利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述损失值确定单元包括:
获取子单元,用于获取每个同构分支的分类层输出的图像分类概率;
第一计算子单元,用于计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
第一确定子单元,用于根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
其中,所述损失值确定单元包括:
第二确定子单元,用于根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
选取子单元,用于从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值;
其中,所述第一三元组损失函数为:
Figure 139158DEST_PATH_IMAGE020
其中,
Figure 669497DEST_PATH_IMAGE021
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure 406377DEST_PATH_IMAGE022
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure 84483DEST_PATH_IMAGE023
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure 581324DEST_PATH_IMAGE024
为q样本的嵌入层输出特征,m为第一参数,
Figure 231748DEST_PATH_IMAGE025
用于求取距离,
Figure 155842DEST_PATH_IMAGE026
Figure 508195DEST_PATH_IMAGE027
均表示求取最大距离,
Figure 543147DEST_PATH_IMAGE028
表示求取最小距离,
Figure 48077DEST_PATH_IMAGE029
表示锚点样本的分类标签,
Figure 408651DEST_PATH_IMAGE030
表示p样本的分类标签,
Figure 251230DEST_PATH_IMAGE031
表示q样本的分类标签。
其中,所述损失值确定单元还包括:
第三确定子单元,用于利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
所述第二三元组损失函数为:
Figure 89873DEST_PATH_IMAGE032
其中,
Figure 449310DEST_PATH_IMAGE033
为第b个同构分支的第二损失值,
Figure 715207DEST_PATH_IMAGE034
为第二参数;
相应的,所述选取子单元具体用于:从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
其中,所述损失值确定单元包括:
第二计算子单元,用于利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure 42152DEST_PATH_IMAGE035
其中,
Figure 887748DEST_PATH_IMAGE036
为知识协同损失值,
Figure 367271DEST_PATH_IMAGE037
为训练样本的总数,
Figure 600806DEST_PATH_IMAGE038
为同构分支的总数,
Figure 415047DEST_PATH_IMAGE039
表示第
Figure 595493DEST_PATH_IMAGE039
个同构分支,
Figure 663943DEST_PATH_IMAGE087
表示第
Figure 271642DEST_PATH_IMAGE087
个同构分支,
Figure 573179DEST_PATH_IMAGE041
为嵌入层输出特征的维度,
Figure 354053DEST_PATH_IMAGE005
为第
Figure 214693DEST_PATH_IMAGE088
个样本,
Figure 511069DEST_PATH_IMAGE042
Figure 50635DEST_PATH_IMAGE089
在第
Figure 572883DEST_PATH_IMAGE090
个同构分支中的第
Figure 881505DEST_PATH_IMAGE045
个维度的嵌入层输出特征,
Figure 814695DEST_PATH_IMAGE046
Figure 107136DEST_PATH_IMAGE009
在第
Figure 167496DEST_PATH_IMAGE091
个同构分支中的第
Figure 330624DEST_PATH_IMAGE048
个维度的嵌入层输出特征,
Figure 965873DEST_PATH_IMAGE049
表示距离,
Figure 214452DEST_PATH_IMAGE050
表示第
Figure 281765DEST_PATH_IMAGE092
个同构分支的网络参数,
Figure 361717DEST_PATH_IMAGE052
表示第
Figure 902288DEST_PATH_IMAGE093
个同构分支的网络参数。
其中所述网络创建模块12具体用于:在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
其中,所述第一确定子单元具体用于:利用每个同构分支输出的预测概率值确定每个同构分支的权重值,根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure 638163DEST_PATH_IMAGE001
;其中,
Figure 305905DEST_PATH_IMAGE002
为当前迭代训练的目标特征,
Figure 443625DEST_PATH_IMAGE003
为同构分支的总数,b表示第b个同构分支,
Figure 830132DEST_PATH_IMAGE004
为第b个同构分支的权重值,
Figure 53303DEST_PATH_IMAGE005
为第
Figure 242844DEST_PATH_IMAGE006
个样本,
Figure 703913DEST_PATH_IMAGE007
表示第b个同构分支的网络参数,
Figure 523970DEST_PATH_IMAGE008
Figure 952546DEST_PATH_IMAGE009
在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure 696511DEST_PATH_IMAGE010
;其中,
Figure 808824DEST_PATH_IMAGE011
为概率协同损失值。
其中,所述第一确定子单元还用于: 在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure 611169DEST_PATH_IMAGE012
;其中,
Figure 808932DEST_PATH_IMAGE013
为虚拟分支特征,
Figure 91008DEST_PATH_IMAGE014
为第一超参数,
Figure 57827DEST_PATH_IMAGE015
为第二超参数,
Figure 95054DEST_PATH_IMAGE016
为从所述先进先出缓存序列选取的历史特征的数量,
Figure 763801DEST_PATH_IMAGE017
表示从所述先进先出缓存序列选取的第
Figure 849569DEST_PATH_IMAGE018
个历史特征;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure 670894DEST_PATH_IMAGE019
参见图9,本发明实施例提供的一种电子设备结构示意图,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现上述任意方法实施例所述的基于深度学习网络的行人重识别方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行行人重识别方法的程序代码等,还可用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行行人重识别方法的程序代码等。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口25还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图9示出了具有组件21-25的设备,本领域技术人员可以理解的是,图9示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的基于深度学习网络的行人重识别方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种基于深度学习网络的行人重识别方法,其特征在于,包括:
获取初始行人重识别网络;
创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络,以利用所述最终行人重识别网络执行行人重识别任务;
其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;其中,所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值、所述概率协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述确定概率协同损失函数的概率协同损失值的过程包括:
获取每个同构分支的分类层输出的图像分类概率;
计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;所述argmax值为图像分类概率中的最大值;
根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值;
其中,所述根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值,包括:
利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure DEST_PATH_IMAGE002
;其中,
Figure DEST_PATH_IMAGE004
为当前迭代训练的目标特征,
Figure DEST_PATH_IMAGE006
为同构分支的总数,b表示第b个同构分支,
Figure DEST_PATH_IMAGE008
为第b个同构分支的权重值,
Figure DEST_PATH_IMAGE010
为第
Figure DEST_PATH_IMAGE012
个样本,
Figure DEST_PATH_IMAGE014
表示第b个同构分支的网络参数,
Figure DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE018
在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure DEST_PATH_IMAGE020
;其中,
Figure DEST_PATH_IMAGE022
为概率协同损失值。
2.根据权利要求1所述的行人重识别方法,其特征在于,所述根据第一特征确定规则确定目标特征之后,还包括:
在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure DEST_PATH_IMAGE024
;其中,
Figure DEST_PATH_IMAGE026
为虚拟分支特征,
Figure DEST_PATH_IMAGE028
为第一超参数,
Figure DEST_PATH_IMAGE030
为第二超参数,
Figure DEST_PATH_IMAGE032
为从所述先进先出缓存序列选取的历史特征的数量,
Figure DEST_PATH_IMAGE034
表示从所述先进先出缓存序列选取的第
Figure DEST_PATH_IMAGE036
个历史特征;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure DEST_PATH_IMAGE038
3.根据权利要求1所述的行人重识别方法,其特征在于,所述确定三元组损失函数的三元组损失值的过程包括:
根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值;
其中,所述第一三元组损失函数为:
Figure DEST_PATH_IMAGE040
其中,
Figure DEST_PATH_IMAGE042
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure DEST_PATH_IMAGE044
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure DEST_PATH_IMAGE046
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure DEST_PATH_IMAGE048
为q样本的嵌入层输出特征,m为第一参数,
Figure DEST_PATH_IMAGE050
用于求取距离,
Figure DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE054
均表示求取最大距离,
Figure DEST_PATH_IMAGE056
表示求取最小距离,
Figure DEST_PATH_IMAGE058
表示锚点样本的分类标签,
Figure DEST_PATH_IMAGE060
表示p样本的分类标签,
Figure DEST_PATH_IMAGE062
表示q样本的分类标签。
4.根据权利要求3所述的行人重识别方法,其特征在于,所述确定每个同构分支的第一损失值之后,还包括:
利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
所述第二三元组损失函数为:
Figure DEST_PATH_IMAGE064
其中,
Figure DEST_PATH_IMAGE066
为第b个同构分支的第二损失值,
Figure DEST_PATH_IMAGE068
为第二参数;
相应的,所述从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值,包括:
从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
5.根据权利要求1所述的行人重识别方法,其特征在于,所述确定所述知识协同损失函数的知识协同损失值的过程包括:
利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure DEST_PATH_IMAGE070
其中,
Figure DEST_PATH_IMAGE072
为知识协同损失值,
Figure DEST_PATH_IMAGE074
为训练样本的总数,
Figure DEST_PATH_IMAGE075
为同构分支的总数,
Figure DEST_PATH_IMAGE077
表示第
Figure 278881DEST_PATH_IMAGE077
个同构分支,
Figure DEST_PATH_IMAGE079
表示第
Figure 399284DEST_PATH_IMAGE079
个同构分支,
Figure DEST_PATH_IMAGE081
为嵌入层输出特征的维度,
Figure 70699DEST_PATH_IMAGE010
为第
Figure 934750DEST_PATH_IMAGE012
个样本,
Figure DEST_PATH_IMAGE083
Figure DEST_PATH_IMAGE085
在第
Figure DEST_PATH_IMAGE087
个同构分支中的第
Figure DEST_PATH_IMAGE089
个维度的嵌入层输出特征,
Figure DEST_PATH_IMAGE091
Figure 952384DEST_PATH_IMAGE018
在第
Figure DEST_PATH_IMAGE093
个同构分支中的第
Figure DEST_PATH_IMAGE095
个维度的嵌入层输出特征,
Figure DEST_PATH_IMAGE097
表示距离,
Figure DEST_PATH_IMAGE099
表示第
Figure DEST_PATH_IMAGE101
个同构分支的网络参数,
Figure DEST_PATH_IMAGE103
表示第
Figure DEST_PATH_IMAGE105
个同构分支的网络参数。
6.根据权利要求1至5中任意一项所述的行人重识别方法,其特征在于,所述创建与所述初始行人重识别网络对应的同构训练网络,包括:
在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
7.一种基于深度学习网络的行人重识别装置,其特征在于,包括:
网络获取模块,用于获取初始行人重识别网络;
网络创建模块,用于创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
参数确定模块,用于利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
网络确定模块,用于通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络;
行人重识别模块,用于利用所述最终行人重识别网络执行行人重识别任务;
其中,所述参数确定模块包括:
损失值确定单元,用于在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
权重确定单元,用于利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值、所述概率协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述损失值确定单元包括:
获取子单元,用于获取每个同构分支的分类层输出的图像分类概率;
第一计算子单元,用于计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;所述argmax值为图像分类概率中的最大值;
第一确定子单元,用于根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值;
其中,所述第一确定子单元具体用于:利用每个同构分支输出的预测概率值确定每个同构分支的权重值,根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure 463262DEST_PATH_IMAGE002
;其中,
Figure 153132DEST_PATH_IMAGE004
为当前迭代训练的目标特征,
Figure 86453DEST_PATH_IMAGE006
为同构分支的总数,b表示第b个同构分支,
Figure 427436DEST_PATH_IMAGE008
为第b个同构分支的权重值,
Figure 138909DEST_PATH_IMAGE010
为第
Figure 362079DEST_PATH_IMAGE012
个样本,
Figure 833512DEST_PATH_IMAGE014
表示第b个同构分支的网络参数,
Figure DEST_PATH_IMAGE106
Figure 248575DEST_PATH_IMAGE018
在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure 147261DEST_PATH_IMAGE020
;其中,
Figure 123307DEST_PATH_IMAGE022
为概率协同损失值。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的基于深度学习网络的行人重识别方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于深度学习网络的行人重识别方法的步骤。
CN202110728797.7A 2021-06-29 2021-06-29 基于深度学习网络的行人重识别方法、装置、设备及介质 Active CN113255604B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110728797.7A CN113255604B (zh) 2021-06-29 2021-06-29 基于深度学习网络的行人重识别方法、装置、设备及介质
PCT/CN2021/121899 WO2023272994A1 (zh) 2021-06-29 2021-09-29 基于深度学习网络的行人重识别方法、装置、设备及介质
US18/268,943 US11810388B1 (en) 2021-06-29 2021-09-29 Person re-identification method and apparatus based on deep learning network, device, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110728797.7A CN113255604B (zh) 2021-06-29 2021-06-29 基于深度学习网络的行人重识别方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113255604A CN113255604A (zh) 2021-08-13
CN113255604B true CN113255604B (zh) 2021-10-15

Family

ID=77190097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110728797.7A Active CN113255604B (zh) 2021-06-29 2021-06-29 基于深度学习网络的行人重识别方法、装置、设备及介质

Country Status (3)

Country Link
US (1) US11810388B1 (zh)
CN (1) CN113255604B (zh)
WO (1) WO2023272994A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255604B (zh) * 2021-06-29 2021-10-15 苏州浪潮智能科技有限公司 基于深度学习网络的行人重识别方法、装置、设备及介质
CN114299442A (zh) * 2021-11-15 2022-04-08 苏州浪潮智能科技有限公司 一种行人重识别方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738146A (zh) * 2019-09-27 2020-01-31 华中科技大学 一种目标重识别神经网络及其构建方法和应用
CN111814857A (zh) * 2020-06-29 2020-10-23 浙江大华技术股份有限公司 目标重识别方法及其网络训练方法、相关装置
CN112069920A (zh) * 2020-08-18 2020-12-11 武汉大学 基于属性特征驱动聚类的跨域行人重识别方法
CN112418134A (zh) * 2020-12-01 2021-02-26 厦门大学 基于行人解析的多流多标签行人再识别方法
CN112633417A (zh) * 2021-01-18 2021-04-09 天津大学 一种用于行人重识别的将神经网络模块化的行人深度特征融合方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709449B (zh) 2016-12-22 2020-04-21 深圳市深网视界科技有限公司 一种基于深度学习和强化学习的行人重识别方法及系统
EP3853764A1 (en) 2018-09-20 2021-07-28 NVIDIA Corporation Training neural networks for vehicle re-identification
CN110008842A (zh) * 2019-03-09 2019-07-12 同济大学 一种基于深度多损失融合模型的行人重识别方法
CN112446270B (zh) * 2019-09-05 2024-05-14 华为云计算技术有限公司 行人再识别网络的训练方法、行人再识别方法和装置
CN111931641B (zh) 2020-08-07 2023-08-22 华南理工大学 基于权重多样性正则化的行人重识别方法及其应用
CN113255604B (zh) 2021-06-29 2021-10-15 苏州浪潮智能科技有限公司 基于深度学习网络的行人重识别方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738146A (zh) * 2019-09-27 2020-01-31 华中科技大学 一种目标重识别神经网络及其构建方法和应用
CN111814857A (zh) * 2020-06-29 2020-10-23 浙江大华技术股份有限公司 目标重识别方法及其网络训练方法、相关装置
CN112069920A (zh) * 2020-08-18 2020-12-11 武汉大学 基于属性特征驱动聚类的跨域行人重识别方法
CN112418134A (zh) * 2020-12-01 2021-02-26 厦门大学 基于行人解析的多流多标签行人再识别方法
CN112633417A (zh) * 2021-01-18 2021-04-09 天津大学 一种用于行人重识别的将神经网络模块化的行人深度特征融合方法

Also Published As

Publication number Publication date
US11810388B1 (en) 2023-11-07
CN113255604A (zh) 2021-08-13
WO2023272994A1 (zh) 2023-01-05

Similar Documents

Publication Publication Date Title
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
Abbas et al. A comprehensive review of recent advances on deep vision systems
CN113191338B (zh) 一种行人重识别方法、装置、设备及可读存储介质
Xia et al. An evaluation of deep learning in loop closure detection for visual SLAM
EP3635629A1 (en) Fine-grained image recognition
US11816149B2 (en) Electronic device and control method thereof
Xu et al. Effective face detector based on yolov5 and superresolution reconstruction
CN108875487B (zh) 行人重识别网络的训练及基于其的行人重识别
Xia et al. Loop closure detection for visual SLAM using PCANet features
CN113255604B (zh) 基于深度学习网络的行人重识别方法、装置、设备及介质
Hara et al. Attentional network for visual object detection
CN111339343A (zh) 图像检索方法、装置、存储介质及设备
CN112329888A (zh) 图像处理方法、装置、电子设备以及存储介质
He et al. Sketch recognition with deep visual-sequential fusion model
CN109934272B (zh) 一种基于全卷积网络的图像匹配方法
WO2023272993A1 (zh) 一种图片识别方法、装置、设备及可读存储介质
CN111461175B (zh) 自注意与协同注意机制的标签推荐模型构建方法及装置
CN113255714A (zh) 图像聚类方法、装置、电子设备及计算机可读存储介质
Takahashi et al. A novel weight-shared multi-stage CNN for scale robustness
CN114462290A (zh) 一种生成预训练人工智能模型的方法及装置
CN114299442A (zh) 一种行人重识别方法、系统、电子设备及存储介质
Lee et al. Reinforced adaboost learning for object detection with local pattern representations
Farhangi et al. Informative visual words construction to improve bag of words image representation
Wan et al. Dcf-bow: Build match graph using bag of deep convolutional features for structure from motion
CN112507912B (zh) 一种识别违规图片的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant