您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Siamese Network (应用篇3) :孪生网络用于图像块匹配
 
作者:沈子恒
  1326  次浏览      15
 2020-10-13
 
编辑推荐:
本文主要介绍了适用于图像块匹配的的图像描述子并对其方法细节进行描述,最后提出结论,希望对您的学习有所帮助。
本文来自于CSDN,由火龙果软件Alice编辑、推荐。

1. 摘要及目标

提出一种适用于图像块匹配的的图像描述子(名字起的很好听,convolutional descriptor,卷积描述子)。图匹配是很多计算机视觉应用领域非常基础的问题。从最近深度学习在目标检测和分类任务取得的成功受到了启发。开发了一个模型,将原始的输入图像块映射成一个低为的特征矢量,那么两个低维特征越小,图像块就越相似,(large otherwise)。作为一个距离测度,作者选用了L2范数,也就是们说的欧拉距离,这个距离测度很快并广泛用于评价大多数hand-crafteddescriptors,例如SIFT。 的方法输出了艺术级的基于L2的描述子,这个描述子可以直接取代SIFT。此外采用batch normalization 和 histogram equalization对原始的输入图像进行预处理。结果表明(confirm),这些手段可以进一步提升描述子的性能。最后也初步讨论了将Spatial Transformer Network添加到卷积神经网络后面的效益,并提供了初步结果。

目标:

we aim to create a CNN-based discriminative descriptor for patch matching task.

想要基于CNN设计一个判别描述子用于图像匹配工作。

2. 方法与细节

们先看一下正负样本:

(a) positive pairs (b) negative pairs

图一:这是给出的正负样本对的实例。孪生网络(不谈论衍生的双通道和空间系数两个事)有三个输入(X0,X1,Y)也就是们通常说将对抗样本图像对和答案(标签)。对于正样本图像对,他们具有相同的3D结构、方向、尺度、位置大致应该是对应的。但是他们也存在视角和光照的变化。负样本的差异性就很大了...

comment:采用这样的数据集还是有点嫌疑的,因为匹配问题有很多应用,但就从多视角重建而言,算是匹配问题中比较简单的问题,如果应用于图像检索领域就更有说服力了。

2.1 方法

图2.模型结构

通过的模型结构,们可以很明显的看出来,做的就是为了设计一个tailored metric distance。这个模型模型包括两个相同的特征描述子提取网络(们一般叫做孪生网络,共享权重和参数)。然后将提取到的特征传递到决策层,可以看到在这里直接使用了L2范数,也就是们说的欧式距离。

comment:关于用全连接层学习一个隐式距离衡量,还是直接利用显示的距离度量?这里更偏向于显式方法。一方面参数量大大减少;另一方面end-to-end优化方式可以避免特征提取层和决策层不匹配的情况。

损失函数:

普通的hinge损失函数,确实没有亮点...

图3. 正负样本在训练前后的特征距离分布。通过学习可以降低正样本的距离,增加负样本的距离

网络结构:

convBlock[32,3,1,1]-convBlock[64,3,1,1]-pool[2]-convBlock[64,3,1,1]-convBlock[64,3,1,1]-pool[2]-convBlock[128,3,1,1]- convBlock-[128,3,1,1]-pool[3]-convBlock[128,3,1,1]-L2norm.

shorthand notation: convBlock[N,w,s,p] consists of a convolution layer with N filters of size w × w with stride s and padding p, a regularisation layer (ReLU) and batch normalisation, pool[k] is a max-pooling layer of size k×k applied with stride k.

comment: 的经验。1.对不同的卷积层进行实验,发现这样设计的7层卷模块效果是最好的;2.做实验发现,使用全连接层作为效果并不是那么好。(只一点还是很奇怪的,传言中说网络深度越深,越复杂,一般情况下性能更好;3.非常受益于批归一化Batch Normalization 和 histogram equalization。

看一下这一部分的结果:

图4. 对于不同模型结构和预处理方法的精度-召回率曲线

comment: Batch Normalization 仅仅是进行了独立同分布的近似处理,收敛速度快是很自然的了,这精度提高的也太多了吧?恐怖...

2.2 细节

1. 直方图均衡化和批归一化可以大大提升描述子的精度

2.探索了不同描述子产生的架构,并进行评价

3.探讨了对原始图像进行预处理将可能得到的收益 (batch normalization 刚提出来不久 他就用了...)

4.尝试性使用Spatial Transformer Network

5.数据增强-to prevent overfitting we used the same approach as [8] and augmented training data applying affine transformation by rotating both patches in pairs to 90, 180, 270 degrees and flipping them horizontally and vertically.为了防止过拟合,们采用仿射变换的方法对训练数据进行数据增强。具体为对图像对进行水平、垂直旋转,以及90,180,270旋转。

3.3 空间变换网络 Spatial Transformer Network

空间变换网络的利用让模型学习了对平移、尺度变换、旋转和更多常见的扭曲的不变性,这也使得模型在一些基准数据集和变换分类上效果最好。

性能上并没有很大的提高

3. 结果 结论

Bold numbers are the best across all algorithms

这篇文章利用深度网络为图像块提取描述子。几个亮点:

1.预处理方法还是有必要做一下

2.结合最新的东西做一下,即使可能没啥用... 跟时髦的能力...

4. 补充材料

4.1 利用CNN作为描述子评估图像块相似度的鼻祖文章:

Jahrer, M., Grabner, M., Bischof, H.: Learned local descriptors for recognition and matching. Computer Vision Winter Workshop (2008)

Osendorfer, C., Bayer, J., Urban, S., van der Smagt, P.: Convolutional neural networks learn compact local image descriptors. In: Neural Information Processing - 20th International Conference, ICONIP. (2013) 624{630

第一个采用Siamese Network进行大规模图像匹配研究的(的创新点源于此文章):

Lin, T.Y., Cui, Y., Belongie, S., Hays, J.: Learning deep representations for groundto-aerial geolocalization. In: Computer Vision and Pattern Recognition (CVPR),

2015 IEEE Conference on. (2015)

4.2 孪生网络+全连接层进行图像相似度测度研究的:

comment:对于用一组全连接层作为决策网络,作者还是持有保留意见的,全连接层确实可以学习到一个非常复杂的度量矩阵,但是参数有点多,在追求速度的应用上还是要谨慎。

Zagoruyko, S., Komodakis, N.: Learning to compare image patches via convolutional neural networks. In: The IEEE Conference on Computer Vision and Pattern

Recognition (CVPR). (2015)

comment:这篇文章们进行研究过的,唯一的一个纠结点在于最后一个全连接层输出上,虽然利用一个神经网络的全连接层进行降维输出,但是是否需要进行约束,如增加soft_max或者增加显式的距离判据,还是值得讨论。

 

   
1326 次浏览       15
相关文章

基于图卷积网络的图深度学习
自动驾驶中的3D目标检测
工业机器人控制系统架构介绍
项目实战:如何构建知识图谱
 
相关文档

5G人工智能物联网的典型应用
深度学习在自动驾驶中的应用
图神经网络在交叉学科领域的应用研究
无人机系统原理
相关课程

人工智能、机器学习&TensorFlow
机器人软件开发技术
人工智能,机器学习和深度学习
图像处理算法方法与实践
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
多目标跟踪:AI产品经理需要了解的CV通识
深度学习架构
卷积神经网络之前向传播算法
从0到1搭建AI中台
工业机器人控制系统架构介绍
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
更多...   
成功案例
某综合性科研机构 人工智能与机器学习应用
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow框架实践
某领先数字地图提供商 Python数据分析与机器学习
中国移动 人工智能、机器学习和深度学习
更多...