CN112800876B - 一种用于重识别的超球面特征嵌入方法及系统 - Google Patents
一种用于重识别的超球面特征嵌入方法及系统 Download PDFInfo
- Publication number
- CN112800876B CN112800876B CN202110050152.2A CN202110050152A CN112800876B CN 112800876 B CN112800876 B CN 112800876B CN 202110050152 A CN202110050152 A CN 202110050152A CN 112800876 B CN112800876 B CN 112800876B
- Authority
- CN
- China
- Prior art keywords
- feature
- image
- loss
- hypersphere
- neural network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 79
- 230000006870 function Effects 0.000 claims abstract description 71
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 47
- 238000012360 testing method Methods 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 38
- 238000011176 pooling Methods 0.000 claims abstract description 22
- 238000007781 pre-processing Methods 0.000 claims abstract description 20
- 238000000605 extraction Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 18
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 238000010606 normalization Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000005520 cutting process Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 101150077939 mapA gene Proteins 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Abstract
本发明实施例提供了一种用于重识别的超球面特征嵌入方法,包括以下步骤:图像预处理阶段:从数据集中读取目标样本图像,对图像进行预处理;特征提取阶段:将预处理后的图像输入到深度网络模型提取图像的特征映射并结合注意力机制的全局池化操作得到特征向量;损失计算及训练优化阶段:根据所述特征向量和目标ID标签分别计算三种损失函数损失的值,根据损失的值计算深度卷积神经网络参数的梯度对模型进行优化;测试评估阶段:对训练完成的深度网络模型进行测试并根据测试结果调整超参数。本发明还提供了一种用于重识别的超球面特征嵌入系统,包括:图像预处理模块、特征提取模块、超球面特征嵌入模块和测试模块。
Description
技术领域
本发明涉及计算机视觉领域,尤其涉及一种用于重识别的超球面特征嵌入方法及系统。
背景技术
目标重识别问题目的是从由多个摄像头捕捉到的特定目标图像中检索出全部属于某一个体的全部图像,当前的目标重识别问题的研究集中在车辆和行人重识别上。当前的重识别模型大体上可以分为两个组成部分:特征提取器和分类算法。由于机器学习尤其是深度学习方法在计算机视觉问题上取得巨大的成功,近年来越来越多的重识别方法使用基于深度学习的特征提取模型。多数的重识别系统使用常用的深度卷积神经网络直接从目标的视觉外观提取特征向量。常用的特征提取器有ResNet,DenseNet等或者通过将注意力机制,局部特征提取等技术引入到这些标准的卷积网络中而衍生出来的其他变种。对特征进行分类的算法主要分为两类,基于分类损失函数的算法和基于度量损失函数的算法,基于分类损失函数的算法目的是学习一个不同的类别之间的决策超平面以此区分不同的个体,基于度量损失函数的算法通过模型学习出两张图片的相似度,具体表现为同一个体的不同图像的相似度大于不同个体的图像。最后度量学习的损失函数使得相同个体的图像(正样本对)的距离尽可能小,不同个体图像(负样本对)的距离尽可能大。实验表明,将基于分类损失函数和基于度量损失函数以一定的比例结合起来会取得更好的识别结果,因此近年来多数的重识别模型均采用将两种损失函数结合起来作为模型的损失函数。
但是现有的重识别方法通过特征映射获取特征向量时,采用的是全局平均池化或者全局最大池化,这忽略了不同的空间区域和不同的通道的重要性的不同,并且特征的模没有限制特征分布在整个空间,导致度量学习相似度和分类任务中的预测值的取值没有限制,这增加了训练的难度,同时也带来了归一化后的差值饱和问题。
发明内容
本发明的实施例提供了一种用于重识别的超球面特征嵌入方法及系统,以克服现有技术的缺陷。
为了实现上述目的,本发明采取了如下技术方案。
一种用于重识别的超球面特征嵌入方法,包括以下步骤:
S1、图像预处理阶段:从数据集中读取目标样本图像,对图像进行预处理;
S2、特征提取阶段:将预处理后的图像输入到深度网络模型提取图像的特征映射并结合基于注意力机制的全局池化操作得到特征向量,其中,所述深度网络模型为深度卷积神经网络,所述深度卷积神经网络为移除原始分类层的通用卷积神经网络;
S3、损失计算及训练优化阶段:根据所述特征向量和目标ID标签分别计算三种损失函数,通过三种损失函数计算联合损失函数值,利用联合损失函数值计算深度卷积神经网络参数的梯度对模型进行优化,所述三种函数包括:超球面交叉熵损失函数、基于KL散度的三元组损失函数和超球面中心损失函数;
S4、测试评估阶段:对训练完成的所述深度网络模型进行测试并根据测试结果调整超参数。
优选地,所述S1包括:
S11:从数据集中读取图像,调整图像大小;
S12:将图像根据预设的裁剪比例和概率以及擦除比例和概率进行随机翻转,随机裁剪和随机擦除,并对擦除的部分添加上高斯白噪声,之后将图像中每一个通道的全部像素值减去该通道预设的平均值并除以预设的方差进行均值方差归一化,得到预处理后的图像。
优选地,所述S2包括:
S21:将经过预处理的图像输入到深度卷积神经网络中,在深度卷积神经网络的最后一个卷积层之后得到图像的特征映射,如公式(1)所示:
T=an(..(a1(I·W1)·W2)·Wn) (1)
其中,T是图像I经过深度卷积神经网络计算得到的特征映射,W1、W2......Wn分别是第1、2......n个卷积层的参数,a1(·),a2(·)......an(·)分别是第1,2,......,n个卷积层的激活函数,n为正整数;
S22:通过空间注意力机制和通道注意力机制计算得到特征向量:
(1)空间注意力机制
对输入的特征映射沿通道求和,求和得到的矩阵中的每个元素经由Sigmoid函数计算得到权重矩阵ws,如下:
其中,Tijk是特征映射T中位于位置(i,j,k)的元素,i,j,k是索引符号,σ(·)是Sigmoid函数,其计算方法如下:
将所得空间权重矩阵ws与原始的特征映射T中的每一个通道做对应元素乘法为不同的区域赋予不同的权重如下:
其中,C是特征映射的通道数,H,W分别为特征映射的高度和宽度,是特征映射中第(i,j)位置处对应的空间注意力权重;
(2)通道注意力机制
对通过公式(4)得到的特征映射中的每一个通道中所有元素求平均值得到原始的特征向量f,如下:
通过公式(5)得到的特征向量f计算通道注意力权重:
首先,特征经过1×1卷积层特征维数由C压缩为C/t,之后经过批量归一化BatchNorm和ReLU激活函数层,最后将压缩后的特征向量再经过另一个1×1卷积层将维度恢复为C,并经过批量归一化和Sigmoid激活后得到通道注意力机制的权重矩阵,其中,t是预设的通道缩减指数,t>1;
将所得通道权重矩阵wC与原始的特征向量f做对应元素乘法为不同的通道赋予不同的权重如下:
其中,是通道i的通道注意力权重,fi第i个样本的特征向量;
基于注意力机制的全局池化操作的整体计算过程如下:
是通道k的通道注意力权重,/>是特征映射中第(i,j)位置处对应的空间注意力权重。
优选地,所述S3中的损失计算步骤包括:
S31、超球面交叉熵损失
将特征向量以及全联接层的权重均归一化一个半径为r的超球面上来限制激活值的范围为-r2≤ai≤r2,超球面交叉熵损失Lsphere-cross-entropy如下:
其中,pi是类别i的预测概率,ai是全联接层对于类别i的输出fi第i个样本的特征向量,/>是类别i的全连接层权重,r是超球面的半径,yi是one-hot的类别标签,N是一个训练批次内样本的数目;
S32、基于KL散度的三元组损失
以距离的倍数关系作为衡量标准的三元组损失,即使距离满足dan=sdap,其中,dap是正样本对之间的距离,dan是负样本对之间的距离,s是正样本对与负样本对之间距离的倍数,该损失的计算过程如下:
首先对(dap,dap)做指数归一化得到在指数归一化之后倍数关系转变成用概率分布/>去拟合分布/>的数学问题,采用KL散度作为损失,基于KL散度的三元组损失LKL-triplet如下:
其中u、v为中间变量;
将距离的值限制在一个固定的区间内,如下:
其中,fi第i个样本的特征向量,fp是第i个样本相关的正样本的特征向量,fn是第i个样本相关的负样本的特征向量;
S33、超球面中心损失Lsphere-center
计算方法如下:
其中,B是一个训练批次内的样本数目,是一个训练批次ID的集合,λ是L2范数正则化项的权重,cyi是类别yi的类中心向量,0<λ<1,/>
超球面特征嵌入方法的联合损失函数为:
Lspnere=Lsphere-cross-entropy+LKL-triplet+μLsphere-center(12)
其中,μ为中心损失权重,0<μ<1。
优选地,所述利用联合损失函数值计算深度卷积神经网络参数的梯度对模型进行优化包括:
S35、利用PyTorch框架的自动求导机制,根据联合损失函数值计算深度卷积神经网络中的参数的梯度;
S36、根据所述梯度,利用Adam优化算法更新深度卷积神经网络中的参数;
S37、若损失的变化小于预设的阈值,即模型收敛或者达到预先设置的迭代次数则停止训练执行S4,否则返回执行S1。
优选地,所述S4包括:
S41:读取测试目标样本集,对图像进行归一化后,对每一个目标图像以及其水平翻转后的图像分别提取两个特征向量,并对所述两个特征向量相加作为图像的特征向量;
S42:根据步骤S41中得到的特征向量,根据公式计算每两张图像的特征之间的相似度得到相似度矩阵,其中,I1,I2是给定的两张测试图像,f1、f2是给定的两张测试图像经由特征提取模块得到的特征向量;
S43:根据步骤S42得到的相似度矩阵计算识别准确率和平均查准率;
S44:若识别结果满足预期要求,则保存深度网络模型结构与权重,否则修改超参数,重新从S1开始执行训练过程;
一种使用用于重识别的超球面特征嵌入方法的系统,所述系统包括:图像预处理模块、特征提取模块、超球面特征嵌入模块和测试模块;
所述图像预处理模块,对读取图像进行数据增强,包括:裁剪和擦除比例进行随机翻转,随机裁剪和随机擦除,并对擦除的部分添加上高斯白噪声,将图像中每一个通道的全部像素值减去该通道预设的平均值并除以预设的方差进行均值方差归一化,得到预处理后的图像;
所述特征提取模块,将预处理后的图像输入到深度网络模型提取图像的特征映射并结合基于注意力机制的全局池化操作得到特征向量,其中,所述深度网络模型为深度卷积神经网络,所述深度卷积神经网络使用移除原始分类层的通用卷积神经网络;
所述超球面特征嵌入模块,根据所述特征向量和目标ID标签分别计算三种损失函数损失的值,根据损失的值计算深度卷积神经网络参数的梯度对模型进行优化,所述三种函数包括:超球面交叉熵损失函数、基于KL散度的三元组损失函数和超球面中心损失函数;
所述测试模块,对训练完成的深度网络模型进行测试并根据测试结果调整超参数。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供了一种用于重识别的超球面特征嵌入方法及系统,使用基于空间和通道注意力机制的全局池化操作,为不同空间区域和不同的通道引入不同的权重以从原始的特征映射中提取到更具有区分性隔更具鲁棒性的特征向量。同时,本发明使用超球面交叉熵损失,基于KL散度的三元组损失和超球面中心损失三种函数联合监督训练过程,将模型提取到的特征向量嵌入在一个超球面中使训练过程更加稳定并且使特征更具有区分性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为重识别问题的基本流程图;
图2为一种用于重识别的超球面特征嵌入方法流程图;
图3为一种用于重识别的超球面特征嵌入方法中深度网络模型结构图;
图4为一种用于重识别的超球面特征嵌入方法中通道注意力机制中权重的获取示意图;
图5为一种用于重识别的超球面特征嵌入方法中基于注意力机制的全局池化操作示意图;
图6为二元指数归一化的差值函数图像示意图;
图7为一种用于重识别的超球面特征嵌入系统的整体框架图;
图8为一种用于重识别的超球面特征嵌入系统的图像预处理模块的框架图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
重识别问题的基本流程如图1所示,该流程中最核心的步骤为训练网络提取图像特征进行参数训练部分以及测试模型效果部分。训练网络提取图像特征部分首先需要使用数据集训练一个能够较好地表达图像特征的深度学习模型。为了更好地表示一张图像,特征提取需要考虑个体之间共有特征、特有特征、背景因素、遮挡以及光线、角度等问题,一种好的特征表示方法可以极大地提高重识别准确率。测试模型效果部分即为判断不同图像是否属于同一个体,主要操作是计算图像特征之间的差异度,可以采用欧式距离、余弦相似度等距离度量方式,差异大小一般由给定阈值确定,小于阈值的可以认为属于同一个体,反之则为不同个体。
本发明提供了一种用于重识别的超球面特征嵌入方法,如图2-3所示,包括如下几个阶段:S1、图像预处理阶段:从数据集中读入目标样本图像并进行图像预处理;S2、特征提取阶段:将预处理后的图像输入到深度网络模型提取图像的特征映射并结合基于注意力机制的全局池化操作得到特征向量,其中,深度网络模型为深度卷积神经网络,深度卷积神经网络为移除原始分类层的通用卷积神经网络,例如ResNet-50,DenseNet等;S3、损失计算及训练优化阶段:根据特征向量和目标ID标签分别计算三种损失函数损失的值,根据损失的值计算深度卷积神经网络参数的梯度对模型进行优化,三种函数包括:超球面交叉熵损失函数、基于KL散度的三元组损失函数和超球面中心损失函数;S4、测试评估阶段:对训练完成的模型进行测试并根据测试结果调整超参数。下面详细阶段本发明的算法流程:
算法输入:
1.识别目标样本数据:包含训练集与测试集,其中目标图像均需标注目标身份标签,测试图像还需包含摄像头标签;
2.模型超参数:预处理阶段的均值与方差;通道缩减指数t;超球面半径r;距离倍数s;损失函数的权重λ,μ;
3.神经网络参数的学习率;
4.一个训练批次的大小(每个批次Np识别目标,每一个识别目标b张图像);
5.训练过程迭代的次数和损失收敛阈值。
算法输出:
训练好的神经网络结构与参数。
执行步骤:
S1、图像预处理阶段
S11、从数据集中读取图像,将图像大小调整为(256×256);
S12、将图像根据预设的裁剪比例和概率以及擦除比例和概率进行随机翻转,随机裁剪和随机擦除,并对擦除的部分添加上高斯白噪声,之后将图像中每一个通道的全部像素值减去该通道预设的平均值并处以预设的方差进行均值方差归一化。
S2、特征提取阶段
S21、将经过预处理的图像Ii输入到深度卷积神经网络(ResNet-50)中,在深度卷积神经网络(ResNet-50)的最后一个卷积层之后得到图像的特征映射,如公式(1)所示;
T=an(..(a1(I·W1)·W2)·Wn)(1)
其中,T是图像I经过深度卷积神经网络计算得到的特征映射,W1、W2......Wn分别是第1、2......n个卷积层的参数,a1(·),a2(·)……an(·)分别是第1,2,......,n个卷积层的激活函数,n为正整数。
S22、将得到的特征映射T首先根据公式(2),(3),(4)计算通道注意力,之后根据公式(5)计算得到原始的特征向量,最后将得到的原始特征向量经过图4所示的通道注意力网络并根据公式(6)计算得到2048维的特征向量f。
传统的全局池化操作是对每一个通道上的所有元素取平均值或者最大值得到特征向量,这种做法忽略了特征映射中不同的空间区域的重要性和不同的通道之间的重要性区别。本发明提出了基于注意力机制的全局池化操作(Attention Based Global Pooling,ABGP),基于注意力机制为不同空间区域和不同通道赋予不同的权重,该操作的过程如图5所示。该模块输入由卷积神经网络计算得到的特征映射TC×H×W,通过空间注意力机制和通道注意力机制计算得到特征向量f。
(1)空间注意力机制
首先,对输入的特征映射沿通道求和,求和得到的矩阵中的每个元素经由Sigmoid函数计算得到权重矩阵ws,如下:
其中,Tijk是特征映射T中位于位置(i,j,k)的元素,i,j,k是索引符号,σ(·)是Sigmoid函数,其计算方法如下:
之后将所得空间权重矩阵ws与原始的特征映射T中的每一个通道做对应元素乘法为不同的区域赋予不同的权重如下:
其中,C是特征映射的通道数,H,W分别为特征映射的高度和宽度,是特征映射中第(i,j)位置处对应的空间注意力权重。
(2)通道注意力机制
首先,对通过公式(4)得到的特征映射T中的每一个通道中所有元素求平均值得到原始的特征向量f,如下:
将公式(5)得到的原始特征向量f经过两个卷积层并经过Sigmoid函数激活得到不同的通道的权重,如图4所示,首先,特征经过1×1卷积层特征维数由C压缩为C/t,之后经过批量归一化BatchNorm和ReLU激活函数层,最后将压缩后的特征再经过另一个1×1卷积层将维度恢复为C,并经过批量归一化和Sigmoid激活后得到通道注意力机制的权重,其中,t是预设的通道缩减指数,t>1,该参数的目的在于减少通道注意力机制的参数量。
将所得通道权重矩阵wC与原始的特征向量f做对应元素乘法为不同的通道赋予不同的权重如下:
其中,是通道i的通道注意力权重,fi第i个样本的特征向量。
基于注意力机制的全局池化操作的整体计算过程如下:
是特征映射中第(i,j)位置处对应的空间注意力权重,/>是通道k的通道注意力权重。
S3、损失计算及训练优化阶段
S31、计超球面交叉熵损失
步骤3-1-1:将目标身份标签yi转换为one-hot向量,one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,多种状态中只有一个状态位值为1,其他状态位都是0。
步骤3-1-2:将步骤S22中得到的最终特征向量fi输入到权重归一化的全连接层中并根据公式(8)计算超球面交叉熵损失的值;
在传统的交叉熵损失中需要通过指数归一化过程(Softmax激活)得到预测的概率,如下:
其中,pi是类别i的预测概率,ai是全联接层对于类别i的输出fi第i个样本的特征向量,/>是类别i的全连接层权重。
但是,指数归一化的过程存在一个问题,即当不同的ai的值很大时,经过指数归一化得到的不同类别之间的预测概率的差值会趋于饱和。举例来说当a1,a2,a3,a4的值很大时,即使不同激活值之间的差值很大时,即|a1-a2|>>|a3-a4|,其归一化之后的值的差值也会近似相等,即这是由于归一化所用的函数均是S型函数,如图6所示。将公式/>中所有的ai的值全部限制到相近的区间上,将会有效的消除这个问题,因此通过将特征以及全联接层的权重均归一化一个半径为r的超球面上来限制激活值的范围为-r2≤ai≤r2,由此超球面交叉熵损失如下:
其中,r是超球面的半径,yi是one-hot的类别标签,N是一个训练批次内样本的数目。
S32、计算基于KL散度的三元组损失,将步骤S22中得到的特征向量根据公式(10)进行归一化,之后根据公式(9)计算损失值。
在Triplet Loss中要求距离关系满足dap+m≤dan(m是正样本对和负样本对之间的间距),这种基于距离差三元组损失往往很容易收敛,因此我们提出了以距离的倍数关系作为衡量标准的三元组损失,即使距离满足dan=sdap(s是正样本对与负样本对之间距离的倍数),其中dap是正样本对之间的距离,dan是负样本对之间的距离。该损失的计算过程如下:
首先,对(dap,dan)做指数归一化得到在指数归一化之后倍数关系就转变成了用概率分布/>去拟合分布/>的数学问题。因此采用KL散度作为损失,提出的基于KL散度的三元组损失如下:
其中,u、v为中间变量,dap和dan的计算方法如公式10所示。
由于在公式(9)中也出现了指数归一化操作,因此将距离的值限制在一个固定的区间内以避免出现上述的差值饱和问题并且将特征向量的模归一化后能够使训练的过程更加稳定,如下:
其中,fi第i个样本的特征向量,fp是第i个样本相关的正样本的特征向量,fn是第i个样本相关的负样本的特征向量。
S33、超球面中心损失的值,将步骤S22中得到的特征向量根据公式(11)计算超球面中心损失。
将中心损失修改后引入到超球面特征嵌入方法中以增强类内特征的紧致性,其计算方法如下:
其中,B是一个训练批次内的样本数目,是一个训练批次ID的集合,λ是L2范数正则化项的权重(0<λ<1),cyi是类别yi的类中心向量,/>
在计算样本特征到中心的距离时,将特征和中心均限制在半径为r的超球面上,并且为原始的中心损失加入了L2范数正则化项,使学习到中心向量也分布在该超球面上。
S34、根据公式(12)计算综合损失的值
超球面特征嵌入方法的联合损失函数为:
Lsphere=Lsphere-cross-entropy+LKL-triplet+μLsphere-center(12)
其中,μ为中心损失权重,0<μ<1。
S35、利用PyTorch框架的自动求导机制,根据步骤S34中得到的损失值计算深度卷积神经网络中的参数的梯度;
S36、根据步骤S35中得到的梯度,利用Adam优化算法更新深度卷积神经网络中的参数;
S37、若模型若损失的变化小于预设的阈值(即模型收敛)或者达到预先设置的迭代次数则停止训练执行S4,否则返回执行S1;
S4、测试评估阶段
S41、读取测试目标样本集,对图像进行归一化后,对每一个目标图像以及其水平翻转后的图像提取特征,并对两个特征向量相加作为图像的特征向量;
S42、根据步骤S41中的特征向量,根据公式(13)计算每两张图像的特征之间的相似度得到相似度矩阵。
其中,I1,I2是给定的两张测试图像,f1、f2是给定的两张测试图像经由特征提取模块得到的特征向量。
S43、根据步骤S42得到的相似度矩阵计算识别准确率和平均查准率;
S44、若识别结果满足预期要求,则保存深度网络模型结构与权重,否则修改超参数,重新从步骤S1开始执行训练过程。
该实施例提供了一种用于重识别的超球面特征嵌入系统,如图7所示,包括:图像预处理模块、特征提取模块、超球面特征嵌入模块和测试模块。模型输入一组目标图像,分别经过预处理和特征提取得到特征向量,训练时分别将特征向量送入超球面特征嵌入模块,结合三种损失函数对模型进行训练,测试时使用测试模块计算特征向量之间的距离并依此判断图像是否属于同一个体。
1)图像预处理模块
如图8所示,从硬盘中读取图像送入预处理模块,在预处理模块中首先对图像进行数据增强操作以扩充训练数据并且对模型的鲁棒性进行加强,在训练阶段对图像进行随机翻转,随机裁剪和随机擦除操作,在测试阶段对图像进行翻转并将翻转前后的两张图像分别提取特征将特征相加作为最终的特征向量。之后将图像的像素值减去预设的均值除以预设的方差进行均值方差归一化操作,得到预处理后的图像。
2)特征提取模块
该模块输入经过预处理后的图像,经过深度卷积网络提取图像提取和全局池化得到特征向量,该模块分为两个部分:深度卷积神经网络和基于注意力机制的全局池化操作。深度卷积神经网络可以使用移除原始分类层的通用卷积神经网络结构例如ResNet-50,DenseNet等。经神经网络计算得到的特征映射经过基于注意力机制的全局池化操作得到特征向量。在训练阶段,将得到的特征向量分别送入超球面特征嵌入模块。在测试阶段,将特征向量送入测试模块用于图像验证。关于基于注意力机制的全局池化操作详见步骤S21-S22。
3)超球面特征嵌入模块
在该模块中通过优化我们设计的损失函数进行训练,将得到的特征向量嵌入到一个超球面上用于图像匹配,关于该模块操作详见步骤S31-S37。
4)测试模块
训练阶段只涉及上述三个模块,测试阶段涉及到该测试模块。在深度卷积神经网络训练结束之后,使用训练好的网络模型提取图像特征,在测试模块中根据公式计算不同图像特征之间的余弦相似度。若结果小于给定阈值则认为图像属于同一个体,否则属于不同个体。关于该模块操作详见步骤S41-S44。
综上所述,本发明实施例提供的一种用于重识别的超球面特征嵌入方法及系统,通过提供了一种基于注意力机制的全局平均池化操作以及一种用于超球面特征嵌入的损失函数,使用基于注意力机制的全局平均池化操作从深度卷积网络提取到的特征映射中提取有效的特征向量,然后使用三种超球面损失函数联合训练网络模型,以获取嵌入到一个超球面上的特征向量,进而提高重识别准确率。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种用于重识别的超球面特征嵌入方法,其特征在于,包括以下步骤:
S1、图像预处理阶段:从数据集中读取目标样本图像,对图像进行预处理;
S2、特征提取阶段:将预处理后的图像输入到深度网络模型提取图像的特征映射并结合基于注意力机制的全局池化操作得到特征向量,其中,所述深度网络模型为深度卷积神经网络,所述深度卷积神经网络为移除原始分类层的通用卷积神经网络;具体包括:
S21:将经过预处理的图像输入到深度卷积神经网络中,在深度卷积神经网络的最后一个卷积层之后得到图像的特征映射,如公式(1)所示:
T=an(..(a1(IW1)W2)Wn) (1)
其中,T是图像I经过深度卷积神经网络计算得到的特征映射,W1、W2……Wn分别是第1、2……n个卷积层的参数,a1(·),a2(·)……an(·)分别是第1,2,……,n个卷积层的激活函数,n为正整数;
S22:通过空间注意力机制和通道注意力机制计算得到特征向量:
(1)空间注意力机制
对输入的特征映射沿通道求和,求和得到的矩阵中的每个元素经由Sigmoid函数计算得到权重矩阵ws,如下:
其中,Tijk是特征映射T中位于位置(i,j,k)的元素,i,j,k是索引符号,σ(·)是Sigmoid函数,其计算方法如下:
将所得空间权重矩阵Ws与原始的特征映射T中的每一个通道做对应元素乘法为不同的区域赋予不同的权重如下:
其中,C是特征映射的通道数,H,W分别为特征映射的高度和宽度,是特征映射中第(i,j)位置处对应的空间注意力权重;
(2)通道注意力机制
对通过公式(4)得到的特征映射中的每一个通道中所有元素求平均值得到原始的特征向量f,如下:
通过公式(5)得到的特征向量f计算通道注意力权重:
首先,特征经过1×1卷积层特征维数由C压缩为C/t,之后经过批量归一化BatchNorm和ReLU激活函数层,最后将压缩后的特征向量再经过另一个1×1卷积层将维度恢复为C,并经过批量归一化和Sigmoid激活后得到通道注意力机制的权重矩阵,其中,t是预设的通道缩减指数,t>1;
将所得通道权重矩阵wC与原始的特征向量f做对应元素乘法为不同的通道赋予不同的权重如下:
其中,是通道i的通道注意力权重,fi第i个样本的特征向量;
基于注意力机制的全局池化操作的整体计算过程如下:
是通道k的通道注意力权重,/>是特征映射中第(i,j)位置处对应的空间注意力权重;
S3、损失计算及训练优化阶段:根据所述特征向量和目标ID标签分别计算三种损失函数,通过三种损失函数计算联合损失函数值,利用联合损失函数值计算深度卷积神经网络参数的梯度对模型进行优化,所述三种函数包括:超球面交叉熵损失函数、基于KL散度的三元组损失函数和超球面中心损失函数;
S4、测试评估阶段:对训练完成的所述深度网络模型进行测试并根据测试结果调整超参数。
2.根据权利要求1所述的方法,其特征在于,所述S1包括:
S11:从数据集中读取图像,调整图像大小;
S12:将图像根据预设的裁剪比例和概率以及擦除比例和概率进行随机翻转,随机裁剪和随机擦除,并对擦除的部分添加上高斯白噪声,之后将图像中每一个通道的全部像素值减去该通道预设的平均值并除以预设的方差进行均值方差归一化,得到预处理后的图像。
3.根据权利要求1所述的方法,其特征在于,所述S3中的损失计算步骤包括:
S31、超球面交叉熵损失
将特征向量以及全联接层的权重均归一化一个半径为r的超球面上来限制激活值的范围为-r2≤ai≤r2,超球面交叉熵损失Lsphere-cross-entropy如下:
其中,pi是类别i的预测概率,ai是全联接层对于类别i的输出fi第i个样本的特征向量,/>是类别i的全连接层权重,r是超球面的半径,yi是one-hot的类别标签,N是一个训练批次内样本的数目;
S32、基于KL散度的三元组损失
以距离的倍数关系作为衡量标准的三元组损失,即使距离满足dan=sdap,其中,dap是正样本对之间的距离,dan是负样本对之间的距离,s是正样本对与负样本对之间距离的倍数,该损失的计算过程如下:
首先对(dap,dan)做指数归一化得到在指数归一化之后倍数关系转变成用概率分布/>去拟合分布/>的数学问题,采用KL散度作为损失,基于KL散度的三元组损失LKL-triplet如下:
其中u、v为中间变量;
将距离的值限制在一个固定的区间内,如下:
其中,fi第i个样本的特征向量,fp是第i个样本相关的正样本的特征向量,fn是第i个样本相关的负样本的特征向量;
S33、超球面中心损失Lsphere-center
计算方法如下:
其中,B是一个训练批次内的样本数目,是一个训练批次ID的集合,λ是L2范数正则化项的权重,cyi是类别yi的类中心向量,0<λ<1,/>
超球面特征嵌入方法的联合损失函数为:
Lsphere=Lsphere-cross-entropy+LKL-triplet+μLsphere-center (12)
其中,μ为中心损失权重,0<μ<1。
4.根据权利要求1所述的方法,其特征在于,所述利用联合损失函数值计算深度卷积神经网络参数的梯度对模型进行优化包括:
S35、利用PyTorch框架的自动求导机制,根据联合损失函数值计算深度卷积神经网络中的参数的梯度;
S36、根据所述梯度,利用Adam优化算法更新深度卷积神经网络中的参数;
S37、若损失的变化小于预设的阈值,即模型收敛或者达到预先设置的迭代次数则停止训练执行S4,否则返回执行S1。
5.根据权利要求1所述的方法,其特征在于,所述S4包括:
S41:读取测试目标样本集,对图像进行归一化后,对每一个目标图像以及其水平翻转后的图像分别提取两个特征向量,并对所述两个特征向量相加作为图像的特征向量;
S42:根据步骤S41中得到的特征向量,根据公式计算每两张图像的特征之间的相似度得到相似度矩阵,其中,I1,I2是给定的两张测试图像,f1、f2是给定的两张测试图像经由特征提取模块得到的特征向量;
S43:根据步骤S42得到的相似度矩阵计算识别准确率和平均查准率;
S44:若识别结果满足预期要求,则保存深度网络模型结构与权重,否则修改超参数,重新从S1开始执行训练过程。
6.一种使用权利要求1-5任意一项所述的用于重识别的超球面特征嵌入方法的系统,其特征在于,所述系统包括:图像预处理模块、特征提取模块、超球面特征嵌入模块和测试模块;
所述图像预处理模块,对读取图像进行数据增强,包括:裁剪和擦除比例进行随机翻转,随机裁剪和随机擦除,并对擦除的部分添加上高斯白噪声,将图像中每一个通道的全部像素值减去该通道预设的平均值并除以预设的方差进行均值方差归一化,得到预处理后的图像;
所述特征提取模块,将预处理后的图像输入到深度网络模型提取图像的特征映射并结合基于注意力机制的全局池化操作得到特征向量,其中,所述深度网络模型为深度卷积神经网络,所述深度卷积神经网络使用移除原始分类层的通用卷积神经网络;
所述超球面特征嵌入模块,根据所述特征向量和目标ID标签分别计算三种损失函数损失的值,根据损失的值计算深度卷积神经网络参数的梯度对模型进行优化,所述三种函数包括:超球面交叉熵损失函数、基于KL散度的三元组损失函数和超球面中心损失函数;
所述测试模块,对训练完成的深度网络模型进行测试并根据测试结果调整超参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050152.2A CN112800876B (zh) | 2021-01-14 | 2021-01-14 | 一种用于重识别的超球面特征嵌入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050152.2A CN112800876B (zh) | 2021-01-14 | 2021-01-14 | 一种用于重识别的超球面特征嵌入方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800876A CN112800876A (zh) | 2021-05-14 |
CN112800876B true CN112800876B (zh) | 2023-11-10 |
Family
ID=75810918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110050152.2A Active CN112800876B (zh) | 2021-01-14 | 2021-01-14 | 一种用于重识别的超球面特征嵌入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800876B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113936301B (zh) * | 2021-07-02 | 2024-03-12 | 西北工业大学 | 基于中心点预测损失函数的目标重识别方法 |
CN113762335B (zh) * | 2021-07-27 | 2022-05-13 | 北京交通大学 | 一种基于不确定性的智能系统测试数据生成方法 |
CN113807401A (zh) * | 2021-08-18 | 2021-12-17 | 南京中兴力维软件有限公司 | 通用id识别方法、装置及设备 |
CN113658178B (zh) * | 2021-10-14 | 2022-01-25 | 北京字节跳动网络技术有限公司 | 组织图像的识别方法、装置、可读介质和电子设备 |
CN113920472A (zh) * | 2021-10-15 | 2022-01-11 | 中国海洋大学 | 一种基于注意力机制的无监督目标重识别方法及系统 |
CN114511516B (zh) * | 2022-01-17 | 2023-04-07 | 利晶微电子技术(江苏)有限公司 | 一种基于无监督学习的MicroLED缺陷检测方法 |
CN114758387B (zh) * | 2022-04-02 | 2024-03-29 | 华南理工大学 | 基于单帧rgb图像的轻量级人脸反欺诈方法及装置 |
CN115205738B (zh) * | 2022-07-05 | 2023-08-01 | 广州和达水务科技股份有限公司 | 应用于城市内涝的应急排水方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674689A (zh) * | 2019-08-19 | 2020-01-10 | 浙江省北大信息技术高等研究院 | 一种基于特征嵌入空间几何约束的车辆再识别方法及系统 |
CN111814584A (zh) * | 2020-06-18 | 2020-10-23 | 北京交通大学 | 基于多中心度量损失的多视角环境下车辆重识别方法 |
-
2021
- 2021-01-14 CN CN202110050152.2A patent/CN112800876B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674689A (zh) * | 2019-08-19 | 2020-01-10 | 浙江省北大信息技术高等研究院 | 一种基于特征嵌入空间几何约束的车辆再识别方法及系统 |
CN111814584A (zh) * | 2020-06-18 | 2020-10-23 | 北京交通大学 | 基于多中心度量损失的多视角环境下车辆重识别方法 |
Non-Patent Citations (1)
Title |
---|
"Circle Loss: A Unified Perspective of Pair Similarity Optimization";Yifan Sun et al.;《2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition》;6397-6406 * |
Also Published As
Publication number | Publication date |
---|---|
CN112800876A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800876B (zh) | 一种用于重识别的超球面特征嵌入方法及系统 | |
CN111814584B (zh) | 基于多中心度量损失的多视角环境下车辆重识别方法 | |
CN109345508B (zh) | 一种基于两阶段神经网络的骨龄评价方法 | |
CN107066559B (zh) | 一种基于深度学习的三维模型检索方法 | |
CN110321830B (zh) | 一种基于神经网络的中文字符串图片ocr识别方法 | |
CN109359608B (zh) | 一种基于深度学习模型的人脸识别方法 | |
CN111639564B (zh) | 一种基于多注意力异构网络的视频行人重识别方法 | |
CN110909618B (zh) | 一种宠物身份的识别方法及装置 | |
CN112580590A (zh) | 一种基于多语义特征融合网络的指静脉识别方法 | |
CN111709313B (zh) | 基于局部和通道组合特征的行人重识别方法 | |
CN111079847B (zh) | 一种基于深度学习的遥感影像自动标注方法 | |
CN110728694B (zh) | 一种基于持续学习的长时视觉目标跟踪方法 | |
CN112329784A (zh) | 一种基于时空感知及多峰响应的相关滤波跟踪方法 | |
CN111126155B (zh) | 一种基于语义约束生成对抗网络的行人再识别方法 | |
CN112215831A (zh) | 一种用于人脸图像质量的评价方法和系统 | |
CN117237733A (zh) | 一种结合自监督和弱监督学习的乳腺癌全切片图像分类方法 | |
CN111242114B (zh) | 文字识别方法及装置 | |
CN112528077A (zh) | 基于视频嵌入的视频人脸检索方法及系统 | |
CN113011506B (zh) | 一种基于深度重分形频谱网络的纹理图像分类方法 | |
CN111797903B (zh) | 一种基于数据驱动粒子群算法的多模态遥感图像配准方法 | |
CN115376159A (zh) | 一种基于多模态信息的跨外观行人重识别方法 | |
CN115170414A (zh) | 一种基于知识蒸馏的单幅图像去雨方法及系统 | |
CN112613341A (zh) | 训练方法及装置、指纹识别方法及装置、电子设备 | |
CN111461061A (zh) | 一种基于相机风格适应的行人重识别方法 | |
CN113449751A (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 |