SIFT算法和卷积神经网络算法在图像检索领域的应用分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SIFT算法和卷积神经网络算法在图像检索领域的应用分析
1、引言
基于内容的图像检索是由于图像信息的飞速膨胀而得到关注并被提出来的。如何快速准确地提取图像信息内容是图像信息检索中最为关键的一步。传统图像信息检索系统多利用图像的底层特征,如颜色、纹理、形状以及空间关系等。这些特征对于图像检索有着不同的结果,但是同时也存在着不足,例如:颜色特征是一种全局的特征,它对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好的捕捉图像中对象的局部特征,也不能表达颜色空间分布的信息。纹理特征也是一种全局特征,它只是物体表面的一种特性,并不能完全反映物体的本质属性。基于形状的特征常常可以利用图像中感兴趣的目标进行检索,但是形状特征的提取,常常受到图像分割效果的影响。空间关系特征可以加强对图像内容的描述和区分能力,但空间关系特征对图像或者,目标的旋转、平移、尺度变换等比较敏感,并且不能准确地表达场景的信息。图像检索领域急需一种能够对目标进行特征提取,并且对图像目标亮度、旋转、平移、尺度甚至仿射不变的特征提取算法。
2、SIFT特征
SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)是一种电脑视觉的算法,用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由David Lowe在1999年所发表,2004年完善总结。
局部特征的描述与侦测可以帮助辨识物体,SIFT特征是基于物体上的一些局部外观的兴趣点,与目标的大小和旋转无关,对于光线、噪声、些微视角改变的容忍度也相当高。使用SIFT特征描述对于部分物体遮蔽的侦测成功率也相当高,甚至只需要3个以上的SIFT 物体特征就足以计算出位置与方位。在现今的电脑硬件速度和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,也适合在海量数据库中快速准确匹配。
SIFT算法的特点有:
(1)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变形,是非常稳定的局部特征,现在应用非常广泛。(仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并加上一个平移,变换为另一个向量空间。)
(2)独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
(3)多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
(4)高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
(5)可扩展性,可以很方便的与其他形式的特征向量进行联合。
SIFT算法可以解决的问题:目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/目标识别跟踪的性能。
而SIFT算法在一定程度上可解决:
(1)目标的旋转、缩放、平移(RST,Rotation, Stretch, and Translate)
(2)图像仿射/投影变换(视点Viewpoint)
(3)光照影响(Illumination)
(4)目标遮挡(Occlusion)
(5)杂物场景(Clutter)
(6)噪声
SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。
David Lowe在他的论文中将SIFT算法分解为如下四步:
(1)尺度空间极值侦测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。
(2)关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。
(3)方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
(4)关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。
SIFT能够找出独特的关键点,且关键点不会受移动、转动、缩放、仿射变换、亮度等外在因素的影响而改变其特性,因此能够有效应用在物体辨识上。虽然SIFT在图像的不变特征提取方面拥有无与伦比的优势,但并不完美,仍然存在:
(1)实时性不高。
(2)有时特征点较少。
(3)对边缘光滑的目标无法准确提取特征点。
等缺点,对模糊的图像和边缘平滑的图像,检测出的特征点过少,对圆形目标更是无能为力。近来不断有人改进,其中最著名的有SURF和CSIFT。
图1 SIFT算法检测效果,来自CSDN
3、卷积神经网络
卷积神经网络(Convolutional Neural Networks,简称CNN)是当前图像识别领域的研究热点,利用预先训练的CNN 网络提取的图像特征展示出了较强的图像识别能力。CNN 是建立在传统人工神经网络上的一种深度学习算法,也是第一次成功训练的多层网络的学习算法。
3.1 传统神经网络结构
神经网络的诞生起源于对大脑工作机理的研究,人类的神经中枢视觉系统包括几十亿个神经元。人工神经网络是模拟神经系统的一种算法,但是计算机资源有限,神经网络只能是模拟人脑的抽象简化的模型,和生物系统的工作方式还是有明显差距。即便如此,人工神经网络依然具有生物系统的很多特点,如鲁棒性、高度并行、非线性、容错性、良好的学习能力等等。
神经网络是一个有向无环的网络结构,由许多个感知器分层互联而成,包括输入层、隐含层和输出层。输入层直接接受样本的数据,经过一个或多个隐含层,依次向前传播到达输出层。图2是一个典型的3层神经网络结构,包含一个输入层,一个隐含层和一个输出层;每一层都含有多个神经元(也称为感知器)。箭头代表不用层次之间神经元信息传递。
图2 神经网络结构挺图
需要注意的是,神经元和神经元之间的连接并不是简单的加权,而是需要加入偏置,然后进行加权,最后还要通过一个激励函数进行映射。其原理如图3所示: