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

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

Info

Publication number
WO2023272994A1
WO2023272994A1 PCT/CN2021/121899 CN2021121899W WO2023272994A1 WO 2023272994 A1 WO2023272994 A1 WO 2023272994A1 CN 2021121899 W CN2021121899 W CN 2021121899W WO 2023272994 A1 WO2023272994 A1 WO 2023272994A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
isomorphic
branch
value
training
Prior art date
Application number
PCT/CN2021/121899
Other languages
English (en)
French (fr)
Inventor
王立
范宝余
Original Assignee
苏州浪潮智能科技有限公司
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 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Priority to US18/268,943 priority Critical patent/US11810388B1/en
Publication of WO2023272994A1 publication Critical patent/WO2023272994A1/zh

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

Definitions

  • the purpose of this application is to provide a pedestrian re-identification method, device, equipment, and medium based on a deep learning network, so as to improve the accuracy and accuracy of the deep learning network in processing pedestrian re-identification tasks without increasing the amount of parameters and calculations. performance.
  • the isomorphic training network has a plurality of isomorphic branches with the same network structure
  • the training network is trained to determine the final weight parameters of each network layer in the isomorphic training network, including:
  • f vb is the virtual branch feature
  • is the first hyperparameter
  • is the second hyperparameter
  • J is the number of historical features selected from the first-in-first-out cache sequence
  • cache(j) represents the Output the jth historical feature selected by the cache sequence
  • said using the target loss function to train the isomorphic training network, and determining the final weight parameters of each network layer in the isomorphic training network including:
  • the second triplet loss function is:
  • the present application further provides a pedestrian re-identification device based on a deep learning network, including:
  • the first determining subunit is configured to determine the probabilistic synergy loss value according to the probabilistic synergy loss function, the predicted probability value output by each isomorphic branch, and the output feature of the embedding layer.
  • the initial person re-identification network can load the final weight parameters to perform pedestrian re-identification tasks, thereby improving the pedestrian re-identification network's ability to process pedestrians.
  • the accuracy and performance of the re-identification task can reduce the storage space occupied by the device, which is more conducive to the storage and deployment of portable devices, reduce the amount of calculation for performing the pedestrian re-identification task, and improve the processing rate of the pedestrian re-identification task; and, because of this scheme Only the network training process needs to be changed, and the network recognition process does not complicate the pedestrian re-identification network. Therefore, this solution can maximize the potential of the network without increasing the amount of parameters and calculations, and improve the network. performance.
  • Fig. 3b is a schematic diagram of an isomorphic training network with an asymmetric network structure disclosed in the embodiment of the present application;
  • FIG. 5 is a schematic diagram of a final pedestrian re-identification network structure disclosed in the embodiment of the present application.
  • the above networks are all multi-layer stacked structures, and the above single-branch network is called the backbone network in this solution.
  • Figure 3a provides a schematic diagram of an initial pedestrian re-identification network structure for the embodiment of this application. It can be seen from Figure 3a that in this embodiment, the initial pedestrian re-identification
  • the identification network has five layers, network layer A to network layer E, as an example for illustration, and network layer A to network layer E are backbone networks.
  • auxiliary training branches derived from network layer C in Figure 3c are: network layer D'-network layer E" and network layer D'-network layer E"', and the auxiliary training branches derived from network layer D are: network layer E ', wherein, network layer D' has the same structure as network layer D, and network layer E', network layer E" and network layer E"' have the same structure as network layer E, so the network layer with symmetrical network structure generated in this embodiment
  • the isomorphic training network has four isomorphic branches with the same network structure, which are:
  • heterogeneous auxiliary classification network structures are very common, such as GoogleNet and so on.
  • the heterogeneous auxiliary classification network refers to the auxiliary classification branch derived from the backbone network, but the network structure of the auxiliary classification branch is very different from the backbone network. Therefore, the design of the auxiliary branch based on heterogeneity requires rich experience. Introducing heterogeneous branches at some locations will not increase network performance. At the same time, the heterogeneous branch network is different from the main branch network structure and needs to be designed separately.
  • the auxiliary training branch based on the homogeneous network disclosed in the present application has at least the following advantages:
  • the current network training process usually includes the following two stages: the first stage is the stage in which data is propagated from the low level to the high level, that is, the forward propagation stage.
  • the other stage is when the result of the forward propagation does not match the expectation, the stage of propagating the error from the high level to the bottom level, that is, the back propagation stage.
  • the specific training process is:
  • f c (x n , ⁇ b ) represents the output features of the network model, and the subscript c represents the classification layer features obtained after the network passes through the softmax layer.
  • L kse is the knowledge synergy loss value
  • N is the total number of training samples
  • B is the total number of isomorphic branches
  • u represents the u-th isomorphic branch
  • v represents the v-th isomorphic branch
  • H is the output feature of the embedding layer dimension
  • x n is the nth sample
  • x n is the nth sample
  • represents the distance
  • ⁇ u represents the network parameters of the u-th isomorphic branch
  • ⁇ v represents the v-th isomorphic branch network parameters.
  • Fig. 6a it is a schematic diagram of the isomorphic branch data output provided by the embodiment of the present application.
  • the data in the image classification probability represents the similarity probability
  • the position of each similarity probability represents the classification label of the similarity probability.
  • the argmax value calculated by the argmax function is 0.5
  • the classification label of 0.5 is n
  • it can be seen from the image label that the real classification label is also n, which means that the classification label corresponding to the argmax value is the same as the real classification label
  • the predicted probability value and embedding layer features will be output only after the prediction of the isomorphic branch is correct. If the prediction fails, no Output the predicted probability value and embedding layer features (or the output result is 0). That is to say: if no isomorphic branch is predicted successfully in this iterative training, the probabilistic synergy loss value will not be calculated, and only after at least one isomorphic branch is successfully predicted, the probabilistic synergy loss value needs to be calculated.
  • the first probability collaborative loss function is:
  • the probabilistic synergy loss value can also be calculated with reference to historical target features, that is, after the target feature is determined according to the first feature determination rule in this embodiment, the include:
  • the target features are stored as historical features in the first-in-first-out cache sequence
  • the first calculation subunit is used to calculate the argmax value of the image classification probability of each isomorphic branch. If the classification label of the argmax value is the same as the real classification label, the output feature of the embedding layer of the isomorphic branch is output, and the isomorphic branch The argmax value of is output as the predicted probability value;
  • the loss value determination unit includes:
  • N is the total number of training samples
  • a is the anchor sample
  • y is the classification label of the sample
  • p is the sample with the largest intra-class distance belonging to the same classification label as the anchor sample
  • q is the sample with the minimum inter-class distance belonging to different classification labels from the anchor sample
  • m is the first parameter
  • d( , ) is used to calculate the distance
  • [ ] + and max d( , ) both represent the maximum distance
  • min d( , ) means to find the minimum distance
  • y a means the classification label of the anchor sample
  • y p means the classification label of the p sample
  • y q means the classification label of the q sample.
  • the third determination subunit is used to determine the second loss value of each isomorphic branch by using the first loss value of each isomorphic branch and the second triplet loss function;
  • the selection subunit is specifically configured to: select the second loss value with the smallest value from each isomorphic branch as the triplet loss value.
  • the second calculation subunit is used to calculate the knowledge collaboration loss value by using the embedding layer output feature of each sample in each isomorphic branch and the knowledge collaboration loss function; the knowledge collaboration loss function is:
  • the network creation module 12 is specifically used to: lead out the auxiliary training branch in the middle layer of the initial pedestrian re-identification network to generate an isomorphic training network with an asymmetric network structure; or, in the initial pedestrian re-identification network
  • the middle layer leads to an auxiliary training branch to generate an isomorphic training network with a symmetrical network structure.
  • the first determination subunit is specifically configured to: use the predicted probability value output by each isomorphic branch to determine the weight value of each isomorphic branch, and determine the target feature according to the first feature determination rule; wherein, the first The feature determination rules are:
  • the first probability collaborative loss function is:
  • the first determining subunit is also used for: in each iterative training, store the target feature as a historical feature in the first-in-first-out cache sequence; use the second feature determination rule to determine the virtual branch feature; the second feature
  • the determination rules are:
  • the second probability synergy loss function Utilize the second probability synergy loss function to determine the probability synergy loss value;
  • the second probability synergy loss function is:
  • FIG. 9 a schematic structural diagram of an electronic device provided in an embodiment of the present application, including:
  • Memory 21 used to store computer programs
  • the device may be a PC (Personal Computer, personal computer), or may be a terminal device such as a smart phone, a tablet computer, a palmtop computer, or a portable computer.
  • PC Personal Computer
  • terminal device such as a smart phone, a tablet computer, a palmtop computer, or a portable computer.
  • the device may include a memory 21 , a processor 22 and a bus 23 .
  • the memory 21 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, etc.
  • the storage 21 may be an internal storage unit of the device in some embodiments, such as a hard disk of the device.
  • Memory 21 may also be an external storage device of the device in other embodiments, such as a plug-in hard disk equipped on the device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash memory card (Flash Card) etc.
  • the memory 21 may also include both an internal storage unit of the device and an external storage device.
  • the memory 21 can not only be used to store application software and various data installed in the device, such as program codes for implementing the pedestrian re-identification method, but also be used to temporarily store data that has been output or will be output.
  • Processor 22 can be a central processing unit (Central Processing Unit, CPU), controller, microcontroller, microprocessor or other data processing chip in some embodiments, is used for running the program code stored in memory 21 or processing Data, such as program codes for implementing pedestrian re-identification methods, etc.
  • CPU Central Processing Unit
  • controller microcontroller
  • microprocessor or other data processing chip in some embodiments, is used for running the program code stored in memory 21 or processing Data, such as program codes for implementing pedestrian re-identification methods, etc.
  • the bus 23 may be a peripheral component interconnect standard (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 9 , but it does not mean that there is only one bus or one type of bus.
  • the device can also include a network interface 24, and the network interface 24 can optionally include a wired interface and/or a wireless interface (such as a WI-FI interface, a bluetooth interface, etc.), which are usually used for communication between the device and other electronic devices Establish a communication connection.
  • a network interface 24 can optionally include a wired interface and/or a wireless interface (such as a WI-FI interface, a bluetooth interface, etc.), which are usually used for communication between the device and other electronic devices Establish a communication connection.
  • the device may further include a user interface 25, which may include a display (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 25 may also include a standard wired interface and a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, and the like.
  • the display may also be properly referred to as a display screen or a display unit, and is used for displaying information processed in the device and for displaying a visualized user interface.
  • FIG. 9 shows a device with components 21-25. Those skilled in the art can understand that the structure shown in FIG. Combining certain parts, or different arrangements of parts.
  • the embodiment of the present application also provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the deep learning-based network described in any of the above-mentioned method embodiments is implemented.
  • the steps of the person re-identification method are described in any of the above-mentioned method embodiments.

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)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

基于深度学习网络的行人重识别方法、装置、设备及介质
本申请要求在2021年6月29日提交中国专利局、申请号为202110728797.7、发明名称为“基于深度学习网络的行人重识别方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及图像识别技术领域,更具体地说,涉及一种基于深度学习网络的行人重识别方法、装置、设备及介质。
背景技术
行人重识别(Person re-identification,Re-ID)是一种重要的图像识别技术,广泛应用于公安系统、交通监管等领域。行人重识别对分布在不同位置的摄像头进行搜索来确定不同摄像头视野中的行人是否是同一个行人,该技术可以用于犯罪嫌疑人搜索、遗失儿童搜索等场景中。行人重识别主要通过深度学习技术实现,近年来,随着深度学习技术的不断发展,行人重识别任务随之也取得了长足的进步。但是,目前为了进一步提高深度学习网络的性能,学者们通常通过构建更为复杂的网络结构的形式继续提高其性能,但是以该方式提高网络性能有以下缺点:
1、更深、更宽或更为复杂的网络通常会带来参数量的激增,参数量的增加不利于便携式设备的存储与部署。例如:在网络摄像头中实现实时的行人检测识别程序的部署,需要网络具有较小的参数量(便于存储)和较高的识别准确率。
2、更深、更宽或更为复杂的网络通常会带来计算量的增加,不利于对实时性要求较高的场景应用。例如:对犯罪嫌疑人的检索与跟踪,大的计算延迟会使整个系统错失最好的时机,给系统功能带来负面影响。
因此,如何在不增加参数量和计算量的前提下,提升深度学习网络处理行人重识别任务的准确率及性能,是本领域技术人员需要解决的问题。
发明内容
本申请的目的在于提供一种基于深度学习网络的行人重识别方法、装置、设备及介质,以在不增加参数量和计算量的前提下,提升深度学习网络处理行人重识别任务的准确率及性能。
为实现上述目的,本申请提供一种基于深度学习网络的行人重识别方法,包括:
获取初始行人重识别网络;
创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络,以利用所述最终行人重识别网络执行行人重识别任务;其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;其中,所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述确定概率协同损失函数的概率协同损失值的过程包括:
获取每个同构分支的分类层输出的图像分类概率;
计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
其中,所述根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值,包括:
利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure PCTCN2021121899-appb-000001
其中,f re为当前迭代训练的目标特征,B为同构分支的总数,b表示第b个同构分支,O b为第b个同构分支的权重值,x n为第n个样本,θ b表示第b个同构分支的网络参数,f e(x n,θ b)为x n在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure PCTCN2021121899-appb-000002
其中,L vb为概率协同损失值。
其中,所述根据第一特征确定规则确定目标特征之后,还包括:
在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure PCTCN2021121899-appb-000003
其中,f vb为虚拟分支特征,α为第一超参数,β为第二超参数,J为从所述先进先出缓存序列选取的历史特征的数量,cache(j)表示从所述先进先出缓存序列选取的第j个历史特征;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure PCTCN2021121899-appb-000004
其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定所述知识协同损失函数的知识协同损失值;
利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数。
其中,所述确定三元组损失函数的三元组损失值的过程包括:
根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值;
其中,所述第一三元组损失函数为:
Figure PCTCN2021121899-appb-000005
其中,
Figure PCTCN2021121899-appb-000006
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure PCTCN2021121899-appb-000007
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure PCTCN2021121899-appb-000008
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure PCTCN2021121899-appb-000009
为q样本的嵌入层输出特征,m为第一参数,d(·,·)用于求取距离,[·] +与max d(·,·)均表示求取最大距离,min d(·,·)表示求取最小距离,y a表示锚点样本的分类标签,y p表示p样本的分类标签,y q表示q样本的分类标签。
其中,所述确定每个同构分支的第一损失值之后,还包括:
利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
所述第二三元组损失函数为:
Figure PCTCN2021121899-appb-000010
其中,
Figure PCTCN2021121899-appb-000011
为第b个同构分支的第二损失值,β为第二参数;
相应的,所述从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值,包括:
从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
其中,所述确定所述知识协同损失函数的知识协同损失值的过程包括:
利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure PCTCN2021121899-appb-000012
其中,L kse为知识协同损失值,N为训练样本的总数,B为同构分支的总数,u表示第u个同构分支,v表示第v个同构分支,H为嵌入层输出特征的维度,x n为第n个样本,
Figure PCTCN2021121899-appb-000013
为x n在第u个同构分支中的第h个维度的嵌入层输出特征,
Figure PCTCN2021121899-appb-000014
为x n在第v个同构分支中的第h个维度的嵌入层输出特征,|·|表示距离,θ u表示第u个同构分支的网络参数,θ v表示第v个同构分支的网络参数。
其中,所述创建与所述初始行人重识别网络对应的同构训练网络,包括:
在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
为实现上述目的,本申请进一步提供一种基于深度学习网络的行人重识别装置,包括:
网络获取模块,用于获取初始行人重识别网络;
网络创建模块,用于创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
参数确定模块,用于利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
网络确定模块,用于通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络;
行人重识别模块,用于利用所述最终行人重识别网络执行行人重识别任务;
其中,所述参数确定模块包括:
损失值确定单元,用于在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
权重确定单元,用于利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
其中,所述损失值确定单元包括:
获取子单元,用于获取每个同构分支的分类层输出的图像分类概率;
第一计算子单元,用于计算每个同构分支的图像分类概率的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,深度残差网络)包含着Shortcut Connection(抄近道连接)。图2b代表34层的Plain网络,图2c代表19层的VGG(Visual Geometry 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)和知识协同损失函数(Knowledge synergy for embedding distance,KSE)对网络进行训练,在此,对上述各个损失函数进行具体说明。参见图4,本申请实施例提供了一种同构训练网络示意图;通过图4可以看出,该同构训练网络为非对称网络结构,在原主干网络的基础上引出两个辅助训练分支,目前共有三个同构分支:Branch1、Branch2、Branch3。该同构训练网络在训练结束获得最终权重参数后,会将辅助训练分支去掉,保留原主干网络,参见图5,为本申请实施例提供的一种最终行人重识别网络结构示意图,通过图5所示的网络加载训练获得的权重参数后,即可执行行人重识别任务。
在本实施例中,首先求取每个分支的交叉熵损失函数(cross-entropy loss),公式如下:
Figure PCTCN2021121899-appb-000015
Figure PCTCN2021121899-appb-000016
其中,网络输入表示为:D t={(x n,y n)|n∈[1,N]},N代表样本图像的总数,x n代表第n张图像,y n代表该张图像对应的分类标签。f c(x n,θ b)代表网络模型输出特征,下标c代表获取网络经过softmax层以后的分类层特征。如图4所示,计算交叉熵损失函数获取网络分类层的输出特征f c(·),K代表网络输出的分类层特征向量的维度,B代表同构分支数目,
Figure PCTCN2021121899-appb-000017
代表第b个同构分支的交叉熵损失函数,θ b代表第b个同构分支的网络参数,α b∈(0,1]是超参数,代表各分支交叉熵损失的权重。以上公式即求取输入图像的每个同构分支的交叉熵损失并进行加权求和。
进一步,本实施例确定三元组损失函数的三元组损失值的过程包括:
根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
从每个同构分支中选取数值最小的第一损失值作为三元组损失值;
其中,第一三元组损失函数为:
Figure PCTCN2021121899-appb-000018
其中,
Figure PCTCN2021121899-appb-000019
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure PCTCN2021121899-appb-000020
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure PCTCN2021121899-appb-000021
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure PCTCN2021121899-appb-000022
为q样本的嵌入层输出特征,m为第一参数,d(·,·)用于求取距离,[·] +与max d(·,·)均表示求取最大距离,min d(·,·)表示求取最小距离,y a表示锚点样本的分类标签,y p表示p样本的分类标签,y q表示q样本的分类标签。
具体来说,三元组损失函数通过对输入数据中的困难样本进行挖掘,计算三元组数据中的最大类内距离和最小类间距离,并在损失函数中对以上距离进行约束,使最大类内距离尽可能的小,最小类间距离尽可能的大,从而使样本在其映射后(深度学习网络计算后得到的特征)的特征空间中不同类别样本之间的距离增大,同类别样本尽量聚集,提高了识别准确率。上述公式3即为本实施例提供的一种三元组损失函数,d(·,·)代表求取向量之间的距离,可以使用欧式距离、余弦距离等。公式3中的
Figure PCTCN2021121899-appb-000023
a代表anchor,即锚点样本。f e(·)代表获取图像在网络Embedding层的特征。也即:在本实施例中,需要遍历每个batch中的所有样本,所遍历的样本称为锚点样本,求取锚点样本特征的最大类内距离和最小类间距离,带入如上公式3。f p代表与锚点样本同类的图像特征。f q代表与锚点样本不同类的图像特征。需要注意的是,本实施例中的
Figure PCTCN2021121899-appb-000024
均抽取网络中Embedding层的特征。
进一步,上述公式3所述的第一三元组损失函数虽然可以使不同类别样本之间的距离增大,同类别样本尽量聚集,提高了识别准确率,但是,该第 一三元组损失函数仅仅考虑样本的类内差和类间差之间的差值,忽略了类内差的绝对距离大小(即:绝对值),如果能进一步限制类内差的绝对值大小,则可进一步使同类别样本尽量聚集,从而进一步提高识别准确率。因此在本实施例中,确定每个同构分支的第一损失值之后,还包括如下步骤:
利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;其中,该第二三元组损失函数为:
Figure PCTCN2021121899-appb-000025
其中,
Figure PCTCN2021121899-appb-000026
为第b个同构分支的第一损失值,
Figure PCTCN2021121899-appb-000027
为第b个同构分支的第二损失值,β为第二参数;通过以上约束可以使
Figure PCTCN2021121899-appb-000028
朝着更小的趋势发展,
Figure PCTCN2021121899-appb-000029
朝着更大的趋势发展,即:限制类内差的绝对距离大小。相应的,计算出第二损失值后,即可根据公式2计算的交叉熵损失函数及公式4计算的三元组损失函数得到总损失函数如公式5,其中,公式中的γ为超参数,可以训练或预先设定。
Figure PCTCN2021121899-appb-000030
基于上述内容,本实施例提供一种利用交叉熵损失函数及三元组损失函数计算损失值的具体流程:
1、对每个batch的所有样本进行遍历,如上所述,假设每个batch的样本包含N个样本,则遍历N次。
2)求取每个样本在每个batch中的最小类内距离和最大类间距离,其中:每个样本在一个batch中总有一个最小的类内和最大的类间样本。
3)通过公式3、公式4计算三元组损失函数的损失值
Figure PCTCN2021121899-appb-000031
4)通过公式2计算交叉熵损失函数的损失值
Figure PCTCN2021121899-appb-000032
5)遍历每个同构分支,按如上步骤求取每个分支的
Figure PCTCN2021121899-appb-000033
Figure PCTCN2021121899-appb-000034
6)通过公式5求取总损失值。
需要说明的是,预测概率与样本标签之间求取交叉熵损失隐含地表示了以上两个变量在余弦空间下的距离,因此,上述的损失函数只考虑了余弦距离条件下的分类结果与标签的度量误差,为了进一步提高精度,本申请实施例提出了知识协同损失函数KSE(Knowledge synergy for embedding distance),以为所有分支的embedding层特征添加基于欧式距离的正则化项,提高了网络的分类精度。
其中,本实施例确定知识协同损失函数的知识协同损失值的过程具体包括:利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure PCTCN2021121899-appb-000035
其中,L kse为知识协同损失值,N为训练样本的总数,B为同构分支的总数,u表示第u个同构分支,v表示第v个同构分支,H为嵌入层输出特征的维度,x n为第n个样本,
Figure PCTCN2021121899-appb-000036
为x n在第u个同构分支中的第h个维度的嵌入层输出特征,
Figure PCTCN2021121899-appb-000037
为x n在第v个同构分支中的第h个维度的嵌入层输出特征,|·|表示距离,θ u表示第u个同构分支的网络参数,θ v表示第v个同构分支的网络参数。
具体来说,得益于同构分支的天然相似性,不同的分支embedding层特征可以相互学习。即分支之间可以通过相互模仿学习使其embedding层特征更相似。通过添加如上KSE损失函数,两两分支之间建立知识协同关系。通过公式6所示,知识协同损失函数具体执行步骤可以归纳如下:
1)对每个batch的所有样本进行遍历,如上所述,假设每个batch的样本包含N个样本,则遍历N次。
2)将样本依次经过网络,获取样本在网络各个同构分支的嵌入层embedding输出结果,例如:对于样本x n,假设网络包含3个同构分支,则共有3个同构分支分类层输出结果,f e(x n,θ 1)、f e(x n,θ 2)、f e(x n,θ 3)。
3)对于所有分支输出结果,进行遍历,例如,本申请举例共有3个分支1、2、3。不重复的遍历共有3种组合:(1,2)(1,3)(2,3)。求取每种组合的知识协同损失函数。
4)以上所有样本的所有组合的知识协同损失求和后求平均,得到最终得知识协同损失L kse(u,v),如公式6所示。
进一步的,对于所有分支输出结果,虽然分支之间相互学习可以增加系统的鲁棒性和泛化能力,但是,仅仅使用L kse进行同构分支之间的相互约束学习是不够的。因为,在训练的早期阶段,网络权重是随机初始化的,embedding层特征对输入图像的样本表示性不足,会导致对输入行人图像分类错误,即:多个同构分支的分类头都会分类错误。L kse可以使同构分支的embedding层特征学习的尽量相似,但是当所有同构分支都分类错误的条件下,L kse相似性约束反而会对模型收敛造成伤害(因为所有的分支都向错误的方向学习)。为了解决该问题,本申请实施例提出了概率协同方法,通过在目标损失函数中添加概率协同损失函数确定概率协同损失值,并将概率协同损失值添加至总损失值中。
在本实施例中,确定概率协同损失函数的概率协同损失值的过程包括:获取每个同构分支的分类层输出的图像分类概率,计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出,根据概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
具体来说,在本实施例中,对于每一个同构分支,首先获取fc层(fully connected layers)特征,fc特征经过softmax函数进行归一化,得到该分支的图像分类概率。该图像分类概率为对行人进行识别时,该行人与数据库中每个对象的相似概率。通过argmax函数计算每个同构分支的图像分类概率的argmax值,argmax值为图像分类概率中的最大值。判断argmax值对应的分类标签是否与真实分类标签相同,若相同,则说明预测正确,则输出该同构分支的argmax值(预测概率值)及嵌入层输出特征。参见图6a,为本申请实施例提供的同构分支数据输出示意图,如图6a所示,图像分类概率中的数据代表相似概率,每个相似概率的位置代表该相似概率的分类标签,若通过 argmax函数计算出的argmax值为0.5,0.5的分类标签为n,并且,从图像标签可以看出真实分类标签也为n,则说明argmax值对应的分类标签与真实分类标签相同,则输出预测概率值(p b=0.5)及embedding层特征。
需要说明的是,在本实施例中,只有在当前迭代训练(即每个batch的训练)中,同构分支预测正确后,才会输出预测概率值及embedding层特征,如果预测失败,则不输出预测概率值及embedding层特征(或者输出结果为0)。也即:若本次迭代训练中,没有同构分支预测成功,则不计算概率协同损失值,只有存在至少一个同构分支预测成功后,才需要计算概率协同损失值。
在本实施例中,可通过两种方式确定概率协同损失值,一种为:
利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
具体来说,同构分支的权重值是对各个同构分支输出的预测概率值进行归一化后得到的归一化值,用来衡量对应分支的embedding层特征对目标特征的贡献大小,通过如下方式计算:
Figure PCTCN2021121899-appb-000038
其中,p b为第b个同构分支的预测概率值,n为变量,用来遍历所有同构分支,
Figure PCTCN2021121899-appb-000039
为所有同构分支的预测概率值之和。
然后根据第一特征确定规则确定目标特征;其中,第一特征确定规则为:
Figure PCTCN2021121899-appb-000040
其中,f re为当前迭代训练的目标特征,B为同构分支的总数,b表示第b个同构分支,O b为第b个同构分支的权重值,x n为第n个样本,θ b表示第b个同构分支的网络参数,f e(x n,θ b)为x n在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure PCTCN2021121899-appb-000041
其中,L vb为概率协同损失值。
进一步,本实施例提出的另一种确定概率协同损失值的方式中,还可以参考历史的目标特征计算概率协同损失值,也即:本实施例根据第一特征确定规则确定目标特征之后,还包括:
在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure PCTCN2021121899-appb-000042
其中,f vb为虚拟分支特征,α为第一超参数,β为第二超参数,J为从所述先进先出缓存序列选取的历史特征的数量,cache(j)表示从所述先进先出缓存序列选取的第j个历史特征;第一超参数和第二超参数在本实施例中,可设置为0.8及0.2;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure PCTCN2021121899-appb-000043
参见图6b,为本申请实施例提供的虚拟分支特征计算示意图,通过图6b可以看出,将同构分支的图像分类概率和embedding层特征输出至控制输出模块,通过该控制输出模块判断对应同构分支是否预测成功,若成功,则输出预测概率值及embedding层特征至renewed embedding层,renewed embedding层利用上述公式8计算出目标特征。并且,在每次迭代训练中,将每次迭代产生的目标特征存入先进先出缓存序列cache,作为历史特征。若该次迭代过程中目标特征无法计算,或目标特征为空,则放弃该次迭代的存储操作。然后读取cache中数据,根据公式10计算虚拟分支特征,其中,虚拟分支特征在训练时初始化为0,并以动量的形式更新,在从先进先出缓存序列选取J个历史特征时,可随机选取,也可按照某种分布去抽取,在此并不具体限定。虚拟分支特征确定后,即可根据公式11计算概率协同损失值。
综上可见,在本实施例中,通过在目标损失函数中添加概率协同损失函数确定概率协同损失值,并将概率协同损失值添加至总损失值中,可以在分支之间相互学习时,避免所有分支都向错误的方向学习,从而提高行人重识别网络在执行行人重识别任务时的准确度。
基于上文所述的利用交叉熵损失函数及三元组损失函数计算损失值的过程,结合知识协同损失函数的知识协同损失值及概率协同损失函数的概率协同损失值,可以得出交叉熵损失值、三元组损失值、知识协同损失值、概率协同损失值的总损失值为:
L sum=L+L kse+L vb    (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 PCTCN2021121899-appb-000044
其中,
Figure PCTCN2021121899-appb-000045
为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
Figure PCTCN2021121899-appb-000046
为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
Figure PCTCN2021121899-appb-000047
为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
Figure PCTCN2021121899-appb-000048
为q样本的嵌入层输出特征,m为第一参数,d(·,·)用于求取距离,[·] +与max d(·,·)均表示求取最大距离,min d(·,·)表示求取最小距离,y a表示锚点样本的分类标签,y p表示p样本的分类标签,y q表示q样本的分类标签。
其中,所述损失值确定单元还包括:
第三确定子单元,用于利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
所述第二三元组损失函数为:
Figure PCTCN2021121899-appb-000049
其中,
Figure PCTCN2021121899-appb-000050
为第b个同构分支的第二损失值,β为第二参数;
相应的,所述选取子单元具体用于:从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
其中,所述损失值确定单元包括:
第二计算子单元,用于利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
Figure PCTCN2021121899-appb-000051
其中,L kse为知识协同损失值,N为训练样本的总数,B为同构分支的总数,u表示第u个同构分支,v表示第v个同构分支,H为嵌入层输出特征的维度,x n为第n个样本,
Figure PCTCN2021121899-appb-000052
为x n在第u个同构分支中的第h个维度的嵌入层输出特征,
Figure PCTCN2021121899-appb-000053
为x n在第v个同构分支中的第h个维度的嵌入层输出特征,|·|表示距离,θ u表示第u个同构分支的网络参数,θ v表示第v个同构分支的网络参数。
其中所述网络创建模块12具体用于:在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
其中,所述第一确定子单元具体用于:利用每个同构分支输出的预测概率值确定每个同构分支的权重值,根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
Figure PCTCN2021121899-appb-000054
其中,f re为当前迭代训练的目标特征,B为同构分支的总数,b表示第b个同构分支,O b为第b个同构分支的权重值,x n为第n个样本,θ b表示第b个同构分支的网络参数,f e(x n,θ b)为x n在第b个同构分支的嵌入层输出特征;
利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
Figure PCTCN2021121899-appb-000055
其中,L vb为概率协同损失值。
其中,所述第一确定子单元还用于:在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
Figure PCTCN2021121899-appb-000056
其中,f vb为虚拟分支特征,α为第一超参数,β为第二超参数,J为从所述先进先出缓存序列选取的历史特征的数量,cache(j)表示从所述先进先出缓存序列选取的第j个历史特征;
利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
Figure PCTCN2021121899-appb-000057
参见图9,本申请实施例提供的一种电子设备结构示意图,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现上述任意方法实施例所述的基于深度学习网络的行人重识别方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(Smart Media 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 (10)

  1. 一种基于深度学习网络的行人重识别方法,其特征在于,包括:
    获取初始行人重识别网络;
    创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
    利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
    通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络,以利用所述最终行人重识别网络执行行人重识别任务;
    其中,所述利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数,包括:
    在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;其中,所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
    利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
    其中,所述确定概率协同损失函数的概率协同损失值的过程包括:
    获取每个同构分支的分类层输出的图像分类概率;
    计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
    根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
  2. 根据权利要求1所述的行人重识别方法,其特征在于,所述根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值,包括:
    利用每个同构分支输出的预测概率值确定每个同构分支的权重值;
    根据第一特征确定规则确定目标特征;其中,所述第一特征确定规则为:
    Figure PCTCN2021121899-appb-100001
    其中,f re为当前迭代训练的目标特征,B为同构分支的总数,b表示第b个同构分支,O b为第b个同构分支的权重值,x n为第n个样本,θ b表示第b个同构分支的网络参数,f e(x n,θ b)为x n在第b个同构分支的嵌入层输出特征;
    利用第一概率协同损失函数确定概率协同损失值;所述第一概率协同损失函数为:
    Figure PCTCN2021121899-appb-100002
    其中,L vb为概率协同损失值。
  3. 根据权利要求2所述的行人重识别方法,其特征在于,所述根据第一特征确定规则确定目标特征之后,还包括:
    在每次迭代训练中,将目标特征作为历史特征存储至先进先出缓存序列;
    利用第二特征确定规则确定虚拟分支特征;所述第二特征确定规则为:
    Figure PCTCN2021121899-appb-100003
    其中,f vb为虚拟分支特征,α为第一超参数,β为第二超参数,J为从所述先进先出缓存序列选取的历史特征的数量,cache(j)表示从所述先进先出缓存序列选取的第j个历史特征;
    利用第二概率协同损失函数确定概率协同损失值;所述第二概率协同损失函数为:
    Figure PCTCN2021121899-appb-100004
  4. 根据权利要求1所述的行人重识别方法,其特征在于,所述确定三元组损失函数的三元组损失值的过程包括:
    根据每个样本在每个同构分支的嵌入层输出特征,以及第一三元组损失函数,确定每个同构分支的第一损失值;
    从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值;
    其中,所述第一三元组损失函数为:
    Figure PCTCN2021121899-appb-100005
    其中,
    Figure PCTCN2021121899-appb-100006
    为第b个同构分支的第一损失值,N为训练样本的总数,a为锚点样本,
    Figure PCTCN2021121899-appb-100007
    为锚点样本的嵌入层输出特征,y为样本的分类标签,p为与锚点样本属于同一分类标签的具有最大类内距离的样本,
    Figure PCTCN2021121899-appb-100008
    为p样本的嵌入层输出特征,q为与锚点样本属于不同分类标签的具有最小类间距离的样本,
    Figure PCTCN2021121899-appb-100009
    为q样本的嵌入层输出特征,m为第一参数,d(·,·)用于求取距离,[·] +与max d(·,·)均表示求取最大距离,min d(·,·)表示求取最小距离,y a表示锚点样本的分类标签,y p表示p样本的分类标签,y q表示q样本的分类标签。
  5. 根据权利要求4所述的行人重识别方法,其特征在于,所述确定每个同构分支的第一损失值之后,还包括:
    利用每个同构分支的第一损失值及第二三元组损失函数,确定每个同构分支的第二损失值;
    所述第二三元组损失函数为:
    Figure PCTCN2021121899-appb-100010
    其中,
    Figure PCTCN2021121899-appb-100011
    为第b个同构分支的第二损失值,β为第二参数;
    相应的,所述从每个同构分支中选取数值最小的第一损失值作为所述三元组损失值,包括:
    从每个同构分支中选取数值最小的第二损失值作为所述三元组损失值。
  6. 根据权利要求1所述的行人重识别方法,其特征在于,所述确定所述知识协同损失函数的知识协同损失值的过程包括:
    利用每个样本在每个同构分支的嵌入层输出特征及所述知识协同损失函数计算知识协同损失值;所述知识协同损失函数为:
    Figure PCTCN2021121899-appb-100012
    其中,L kse为知识协同损失值,N为训练样本的总数,B为同构分支的总数,u表示第u个同构分支,v表示第v个同构分支,H为嵌入层输出特征的维度,x n为第n个样本,
    Figure PCTCN2021121899-appb-100013
    为x n在第u个同构分支中 的第h个维度的嵌入层输出特征,
    Figure PCTCN2021121899-appb-100014
    为x n在第v个同构分支中的第h个维度的嵌入层输出特征,|.|表示距离,θ u表示第u个同构分支的网络参数,θ v表示第v个同构分支的网络参数。
  7. 根据权利要求1至6中任意一项所述的行人重识别方法,其特征在于,所述创建与所述初始行人重识别网络对应的同构训练网络,包括:
    在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有非对称网络结构的同构训练网络;或者,在所述初始行人重识别网络的中间层引出辅助训练分支,生成具有对称网络结构的同构训练网络。
  8. 一种基于深度学习网络的行人重识别装置,其特征在于,包括:
    网络获取模块,用于获取初始行人重识别网络;
    网络创建模块,用于创建与所述初始行人重识别网络对应的同构训练网络;所述同构训练网络具有多个网络结构相同的同构分支;
    参数确定模块,用于利用目标损失函数对所述同构训练网络进行训练,确定所述同构训练网络中每个网络层的最终权重参数;
    网络确定模块,用于通过所述初始行人重识别网络加载所述最终权重参数,得到最终行人重识别网络;
    行人重识别模块,用于利用所述最终行人重识别网络执行行人重识别任务;
    其中,所述参数确定模块包括:
    损失值确定单元,用于在对所述同构训练网络的训练过程中,确定交叉熵损失函数的交叉熵损失值、确定三元组损失函数的三元组损失值、确定知识协同损失函数的知识协同损失值、确定概率协同损失函数的概率协同损失值;所述知识协同损失函数用于:利用每个样本在每两个同构分支的嵌入层输出特征的欧式距离,确定知识协同损失值;
    权重确定单元,用于利用所述交叉熵损失值、所述三元组损失值、所述知识协同损失值的总损失值,确定所述同构训练网络中每个网络层的最终权重参数;
    其中,所述损失值确定单元包括:
    获取子单元,用于获取每个同构分支的分类层输出的图像分类概率;
    第一计算子单元,用于计算每个同构分支的图像分类概率的argmax值,若argmax值的分类标签与真实分类标签相同,则输出同构分支的嵌入层输出特征,并将同构分支的argmax值作为预测概率值输出;
    第一确定子单元,用于根据所述概率协同损失函数,以及每个同构分支输出的预测概率值及嵌入层输出特征,确定概率协同损失值。
  9. 一种电子设备,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的基于深度学习网络的行人重识别方法的步骤。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于深度学习网络的行人重识别方法的步骤。
PCT/CN2021/121899 2021-06-29 2021-09-29 基于深度学习网络的行人重识别方法、装置、设备及介质 WO2023272994A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (2)

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

Publications (1)

Publication Number Publication Date
WO2023272994A1 true WO2023272994A1 (zh) 2023-01-05

Family

ID=77190097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/121899 WO2023272994A1 (zh) 2021-06-29 2021-09-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
CN106709449A (zh) * 2016-12-22 2017-05-24 深圳市深网视界科技有限公司 一种基于深度学习和强化学习的行人重识别方法及系统
US20200097742A1 (en) * 2018-09-20 2020-03-26 Nvidia Corporation Training neural networks for vehicle re-identification
CN111931641A (zh) * 2020-08-07 2020-11-13 华南理工大学 基于权重多样性正则化的行人重识别方法及其应用
WO2021043168A1 (zh) * 2019-09-05 2021-03-11 华为技术有限公司 行人再识别网络的训练方法、行人再识别方法和装置
CN113255604A (zh) * 2021-06-29 2021-08-13 苏州浪潮智能科技有限公司 基于深度学习网络的行人重识别方法、装置、设备及介质

Family Cites Families (6)

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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709449A (zh) * 2016-12-22 2017-05-24 深圳市深网视界科技有限公司 一种基于深度学习和强化学习的行人重识别方法及系统
US20200097742A1 (en) * 2018-09-20 2020-03-26 Nvidia Corporation Training neural networks for vehicle re-identification
WO2021043168A1 (zh) * 2019-09-05 2021-03-11 华为技术有限公司 行人再识别网络的训练方法、行人再识别方法和装置
CN111931641A (zh) * 2020-08-07 2020-11-13 华南理工大学 基于权重多样性正则化的行人重识别方法及其应用
CN113255604A (zh) * 2021-06-29 2021-08-13 苏州浪潮智能科技有限公司 基于深度学习网络的行人重识别方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FAN BAOYU , WANG LI LI WANG , ZHANG RUNZE , GUO ZHENHUA , ZHAO YAQIAN , LI RENGANG, GONG WEIFENG: "Contextual Multi-Scale Feature Learning for Person Re-Identification", PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA, 12 October 2020 (2020-10-12), New York, NY, USA , pages 655 - 663, XP058478620, ISBN: 978-1-4503-7988-5, DOI: 10.1145/3394171.3414038 *

Also Published As

Publication number Publication date
CN113255604B (zh) 2021-10-15
CN113255604A (zh) 2021-08-13
US11810388B1 (en) 2023-11-07

Similar Documents

Publication Publication Date Title
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
CN108427738B (zh) 一种基于深度学习的快速图像检索方法
WO2023272995A1 (zh) 一种行人重识别方法、装置、设备及可读存储介质
US11900611B2 (en) Generating object masks of object parts utlizing deep learning
US10642887B2 (en) Multi-modal image ranking using neural networks
TWI821671B (zh) 一種文本區域的定位方法及裝置
AU2016259336B2 (en) Embedding space for images with multiple text labels
AU2016259337B2 (en) Modeling semantic concepts in an embedding space as distributions
US11816149B2 (en) Electronic device and control method thereof
CN111382868B (zh) 神经网络结构搜索方法和神经网络结构搜索装置
CN110297931B (zh) 一种图像检索方法
WO2023272994A1 (zh) 基于深度学习网络的行人重识别方法、装置、设备及介质
US11803971B2 (en) Generating improved panoptic segmented digital images based on panoptic segmentation neural networks that utilize exemplar unknown object classes
WO2023134082A1 (zh) 图像描述语句生成模块的训练方法及装置、电子设备
CN110751027B (zh) 一种基于深度多示例学习的行人重识别方法
WO2023082561A1 (zh) 一种行人重识别方法、系统、电子设备及存储介质
WO2021169453A1 (zh) 用于文本处理的方法和装置
CN114780746A (zh) 基于知识图谱的文档检索方法及其相关设备
CN111291760A (zh) 图像的语义分割方法、装置及电子设备
WO2023231753A1 (zh) 一种神经网络的训练方法、数据的处理方法以及设备
CN113806582A (zh) 图像检索方法、装置、电子设备和存储介质
Li et al. Multi-scale global context feature pyramid network for object detector
Thangakrishnan et al. RETRACTED ARTICLE: Automated Hand-drawn sketches retrieval and recognition using regularized Particle Swarm Optimization based deep convolutional neural network
CN113822143A (zh) 文本图像的处理方法、装置、设备以及存储介质
CN112364198A (zh) 一种跨模态哈希检索方法、终端设备及存储介质

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21947921

Country of ref document: EP

Kind code of ref document: A1