一种基于孪生网络的图片匹配算法
1.
2.
A Siamese network⁃based image matching algorithm
1.
2.
通讯作者:
收稿日期: 2023-07-17
基金资助: |
|
Received: 2023-07-17
关键词:
Keywords:
本文引用格式
严镕宇, 李伟, 陈玉明, 黄宏, 王文杰, 宋宇萍.
Yan Rongyu, Li Wei, Chen Yuming, Huang Hong, Wang Wenjie, Song Yuping.
随着计算机视觉在人工智能创新应用的飞速发展,在一个巨大且非结构化的图片集里检验图片的相似性成为计算机视觉领域的一个关键问题.近年来,人们提出了一系列图片匹配方法,主要分为两类.
第一类是基于手工设计特征的图片匹配方法,旨在预测图片对是否为正值(相似)(即两幅图片是否代表同一场景对).这类方法如视觉词汇袋(Bow)在预测一组较小的候选图片对方面有很好的效果[1],也有一些方法使用Bow模型的判别性学习来预测输入数据集中的图片相似度.但需要训练的图片较多时,该方法的效果不佳,且人工成本过高.
第二类是基于深度学习的图片匹配方法.近年来,随着ImageNet等大规模标注数据集的出现,以感知机模型[2]为基础的卷积神经网络(Convolutional Neural Networks,CNN)被广泛应用于深度学习并通过反向传播改进模型性能.深度卷积神经网络在图像处理中具有很强的特征提取能力,使用CNN已经成为主流的特征提取方法.随着各种CNN模型的提出,如AlexNet[3],VGGNet[4],ResNet[5],GoogleNet[6],Efficientnet [7]等,它们在图像分类、物体检测、图像检索等众多领域都取得了良好的效果.大量学者将长短时记忆网络(Long Short⁃Term Memory,LSTM)[8]和CNN等神经网络方法应用于图像相似度检测,特别是将CNN作为主干网络的孪生网络在图片相似度领域有较好的效果,但它们大多存在默认特征图的每个通道和空间是同等重要的,导致重要信息表征能力的缺失和准确性不足等问题.
当有两个相同类型的输入数据时,欧氏距离和曼哈顿距离可以很好地计算两个向量之间的几何差异,但如果两个列表中的元素具有不同的数据类型或不同的含义与不同的特征,它们就不能发挥作用.以签名验证为例,签名板记录的数据来自不同的特征,如手的速度、字符的位置、字符的尺寸、签名所占的总空间、字符之间的距离等,这种情况需要一个能够处理这些不同的特征并将其投射到一个独特空间中的方法.为了解决此类问题,1994年Bromley et al[9]提出了孪生网络.
孪生网络是一种基于相似性度量的小样本学习方法,其结构简单,训练容易,两个主干特征提取网络之间的权值参数和偏置参数相同,但输入的是一组相似或不相似的图片对,已在人脸识别、语音处理和音频信号处理等领域取得了巨大的成效.然而,由于孪生卷积网络输出向量的距离极小,要求苛刻,结果可能会变得不准确,导致整个网络不收敛.
综上,传统图像匹配算法近年来的应用逐渐减少,基于CNN的图像匹配算法因为其精确度较高和人工成本较低的优点,应用逐渐增加,但仍然存在一些缺点,具体表现:
(1)默认特征图的每个通道和空间是同等重要的,导致重要信息的表征能力的缺失;
(2)提取了大量与识别无关的全局特征,因此对算力要求很高,模型的泛化能力普遍不强;
(3)输出向量距离极小的强约束条件导致训练无法收敛;
(4)训练过程不够稳定,可能出现梯度消失的问题.
基于以上缺点,本文把用于相似度计算的孪生神经网络与注意力机制相结合,使用将激活函数替换为Mish的VGG16网络提取的图像特征和全连接网络来计算向量的距离,以此设计图像匹配框架.该方法的优点:
(1)使用全连接层计算特征向量的欧氏距离,使模型自适应地根据学习到的特征来调整度量方式,确保网络可收敛;
(2)在特征提取网络中加入注意力模块,有效地增强了CNN的表征能力,在一定程度上提高了图片匹配的准确性;
(3)将主干网络中的激活函数从ReLU函数替换为Mish函数,增强了网络的平滑性、非线性性和宽容性.
1 相关工作
注意力机制在图像领域的重大突破让图片匹配有了新的改进空间,而用孪生神经网络来度量学习图像对之间的差异,非常适合通过注意力机制模块来提升表征能力.
1.1 度量学习
1.2 孪生网络
该网络的运行原理如图1所示.图像对中的
图 1
1.3 注意力模块
2 算法设计
给图片匹配设计一个通用的神经网络,为了对输入该网络的图片对进行特征提取,本文提出一种以VGG16为主干网络并加入CBAM模块来提升性能的孪生神经网络(CSNET),如下所示.
输入:一组图片对
输出:该图片对的相似分数
1.将图片对的两张图片分别输入网络的两个输入头;
2.利用权值共享的VGG16网络提取图片对的多维特征信息;
3.将这对特征信息平铺到一维上;
4.求出这对一维向量相减的绝对值;
5.将相减的向量输入一个两层的全连接网络;
6.该全连接网络输出的分数经过一个Sigmoid函数后输出一个0~1的相似度分数;
7.将该相似度分数与设定的阈值作比较,大于阈值判断为相似,小于阈值判断为不相似.
该算法首先通过卷积神经网络提取图片对的特征,再采用一个两层的全连接层来计算图片对之间的欧氏距离并输出匹配相似度,以此判断该图片对是否相似.网络结构的设计如图2所示.
图2
2.1 主干网络
VGG16的参数小,特征表征能力强,通过组合与堆叠小的卷积核比大的卷积核有更强的鲁棒性.图片处理的具体流程如下:
(1)一张原始图片被resize到指定大小,本文使用105×105的分辨率.
(2)conv1包括两次3×3卷积网络,一次2×2最大池化,输出的特征层为64通道.
(3)conv2包括两次3×3卷积网络,一次2×2最大池化,输出的特征层为128通道.
(4)conv3包括三次3×3卷积网络,一次2×2最大池化,输出的特征层为256通道.
(5)conv4包括三次3×3卷积网络,一次2×2最大池化,输出的特征层为512通道.
(6)conv5包括三次3×3卷积网络,一次2×2最大池化,输出的特征层为512通道.
2.2 注意力模块
本文使用的注意力机制是CBAM模块,CBAM可以被添加到卷积层的任何位置.空间注意力和通道注意力有不同的功能,CBAM能将两者结合起来,更好地权衡图像中的主体部分.本研究中,注意力机制被应用于图片相似度检测,将一幅大小为105×105的图像输入网络模型,图像通过网络模型后得到一个3×3×512的特征图.CBAM由一维通道注意力模块
2.3 全连接距离度量层
一般实验对相似的图像对标注为1,对不相似的图像对标注为0,但由于孪生网络输出的向量欧式距离极小的强约束条件,得出的图像对特征向量的度量会有误差,导致孪生神经网络无法进行训练,所以本文在主干网络提取特征之后用全连接层的方式让模型学习计算两个特征向量的距离.具体步骤:在获得主干特征提取网络之后,可以获取一个多维特征,将其平铺到一维上获得两个一维向量,将这两个一维向量相减再进行绝对值求和,相当于求取两个特征向量插值的L1范数,也相当于求取两个一维向量的距离;将该距离输入一个两层的全连接网络,输出0~1的分数,全连接层经反向传播的训练后输出的分数即为这两张图片的相似度分数.
2.4 Mish 激活函数
Mish (Maxout⁃Based Activation Function for Deep Neural Networks)是一种用于深度神经网络的激活函数,在一定程度上扩展了传统的激活函数(如ReLU,sigmoid和tanh)的能力,能够更好地处理非线性关系和梯度消失问题.如下所示:
和传统的激活函数相比,Mish有几个优点:
(1)平滑性:Mish函数是平滑的,连续可导,所以在使用Mish作为激活函数时,神经网络的训练更加稳定,还可以避免梯度消失的问题.
(2)非线性性:Mish函数具有更强的非线性特性,能够更好地捕捉输入数据中的复杂模式和特征,这对于复杂的计算机视觉和自然语言处理的任务非常有益.
(3)宽容性:Mish函数能够处理较大的输入值,不会出现梯度爆炸的问题,这使得神经网络可以更好地适应具有大范围输入值的情况,提高了网络的鲁棒性.实际应用中,Mish激活函数通常用作CNN和全连接神经网络的激活函数,增强网络的表达能力和性能.使用Mish函数,可以在一定程度上改善模型的收敛速度和精度,提升深度学习模型的性能.
2.5 训练过程
输入一对图像
其中,
3 实验分析
操作系统Windows 10专业版,CPU Intel i3 12100,GPU NVIDIA GeForce RTX 2060,显存6 GB,编程语言Python 3.7,深度学习框架PyTorch.
在预测图像对的相似性时会出现两种错误:第一种是把不同的图片误认为是同一对图片,对于这种情况,用假接受率(FAR)来表示可能性;第二种是把同一对图片误认为是不同的图片,对于这种情况,用假拒绝率(FRR)表示.本文使用的评估指标包括FAR,FRR和准确度(ACC).如下所示:
其中,TP(True Positive)是相同的图片被判别为相同图片的样本数量,TN(True Negative)是不同的图片被判别为不同图片的样本数量,FP(False Positive)是不同图片被判别为相同图片的样本数量,FN(False Negative)是相同图片被判别为不同图片的样本数量.
采用Omniglot,SigComp2011和CEDAR数据集,其中Omniglot数据集包含来自50个国家的字母(真实的和虚构的)的1623个字符类和每个字符类的20个手写的图像,如图3所示.模型通过输入数据集中随机生成一对图像对进行训练.
图3
训练过程中的损失变化如图4所示.由图可见,在训练到第60 Epoch后损失趋于平缓,模型在100 Epoch内得到了有效的训练.
图4
图5
图6
表1 Omniglot任务的数据统计
Table 1
方法 | FRR | FAR | ACC |
---|---|---|---|
Siamese Network | 1.3% | 1.1% | 98.4% |
CSNET (OURS) | 0.9% | 1.3% | 98.6% |
表2 SigComp2011任务的数据统计
Table 2
方法 | FRR | FAR | ACC |
---|---|---|---|
文献[17]的模型 | 0.53% | 0 | 99.65% |
CSNET (OURS) | 0.48% | 0 | 99.71% |
表3 CEDAR任务的数据统计
Table 3
在Omniglot和SigComp2011数据集上进行了交叉验证试验,测试CSNET的泛化能力,即使用在Omniglot数据集上训练好的CSNET在SigComp2011数据集上进行测试,再使用在SigComp2011数据集上训练好的CSNET在Omniglot数据集上进行测试,实验结果如表4所示.由表可见,CSNET有较好的泛化能力.
表4 CSNET的跨数据集准确度检验
Table 4
训练集 | 测试集 | |
---|---|---|
Omniglot | SigComp2011 | |
Omniglot | 98.60% | 88.76% |
SigComp2011 | 85.48% | 99.71% |
4 结论
本文提出一种基于孪生网络和注意力机制的图像匹配算法,通过卷积神经网络提取特征,并在网络中嵌入通道和空间注意力模块,使注意力模块能够有效地识别特征图中不同区域的重要性,并以加权的方式给予关键区域更多的权重,提高度量学习的准确性.在Omniglot,SigComp2011和CEDAR数据集上进行了比较实验,从实验结果可以看出,本文提出的CSNET在加入注意力机制模块后,较大程度地提升了准确度.由于本文采用的VGG16网络有降低参数数量的优势,故在对更大的数据集进行验证时,可能会出现欠拟合的情况.今后将研究使用更复杂的CNN,并使用与之更契合的注意力机制模块,进一步在海量数据集中提升图像匹配性能.
参考文献
Learning to match images in large⁃scale collections
∥Fusiello A,Murino V,Cucchiara R.
Large margin classification using the perceptron algorithm
∥
Imagenet classification with deep convolutional neural net⁃works
Very deep convolutional networks for large⁃scale image recognition
Deep residual learning for image recognition
∥
Going deeper with convolutions
∥
Efficientnet:Rethinking model scaling for convolutional neural networks
∥
Long short⁃term memory
Signature verification using a “siamese” time delay neural network
∥
FaceNet:A unified embedding for face recognition and clustering
∥
Unsupervised domain adaptation by backpropagation
∥
Deep CORAL:Correlation alignment for deep domain adaptation
∥Hua G,Jégou H.
Pearson correlation coefficient
∥Cohen I,Huang Y T,Chen J D,et al.
The proof and measurement of association between two things
Squeeze⁃and⁃attention networks for semantic segmentation
∥
Object⁃contextual representations for semantic segmentation
∥
基于孪生神经网络的合同手写签名认证研究
Research on contract handwritten signature authentication based on Siamese Neural Network
Offline signature verification based on geometric feature extraction using artificial neural network
∥
Offline signature verification using support vector machine
∥
A two⁃stage siamese network model for offline handwritten signature verification
DeepHSV:User⁃independent offline signature verification using two⁃channel CNN
∥
/
〈 |
|
〉 |
