基于Harris和SIFT的特征匹配算法
- 格式:pdf
- 大小:191.59 KB
- 文档页数:2
基于特征匹配的算法特征匹配是一种常用的计算机视觉算法,用于在不同图像或图像中的不同区域之间寻找共享相似或相同特征的方法。
特征匹配算法在图像处理、目标跟踪、图像识别等领域有广泛的应用。
特征匹配算法的基本原理是通过对图像中的特征进行提取和描述,然后在不同图像中或同一图像中的不同区域之间进行匹配。
具体步骤包括特征提取、特征描述和特征匹配。
特征提取是指从原始图像中找到代表图像内容的显著特征点,常用的特征点包括角点、边缘点、斑点等。
具体的特征提取算法包括Harris角点检测、SIFT(尺度不变特征变换)、SURF(加速稳健特征)等。
特征描述是将提取到的特征点转换为特征描述子,以便后续的特征匹配。
特征描述子通常是一个向量,可以通过统计特征点周围的图像局部信息得到。
常用的特征描述算法包括SIFT描述子、SURF描述子、ORB(旋转不变二值)描述子等。
特征匹配是将不同图像或同一图像中的不同区域的特征进行对应,从而实现图像匹配、目标跟踪等功能。
常用的特征匹配方法包括暴力匹配(Brute-Force)算法、最近邻匹配(Nearest Neighbor)算法、RANSAC (随机抽样一致性)算法等。
暴力匹配算法是最简单直接的匹配方法,它通过计算两个特征向量之间的距离(如欧氏距离、汉明距离等),选择距离最小的特征点作为匹配对。
此方法的缺点是计算量大,匹配效果受噪声和干扰较大。
最近邻匹配算法是常用的特征匹配方法之一,它通过计算一个特征向量与另一个特征向量集合中所有向量之间的距离,并选择距离最小的那个特征点作为匹配对。
此方法简单快速,但对于存在匹配相似特征点的情况,容易产生误匹配。
RANSAC算法是一种鲁棒的特征匹配方法,它通过随机选择最少的特征点对进行模型估计,然后根据该模型对所有特征点进行检验和评估,在一定的迭代次数内,找到最佳的模型参数和对应的特征点对。
RANSAC算法可以处理存在误匹配和噪声的情况,但计算复杂度较高。
几种特征点提取算子的分析和比较特征点提取是计算机视觉中的一个重要任务,用于定位和描述图像中的重要局部特征,如角点、边缘、斑点等。
通过提取图像的特征点,可以实现目标识别、图像配准、图像检索等任务。
常用的特征点提取算子包括Harris角点检测算子、SIFT(尺度不变特征变换)算子、SURF(加速稳健特征)算子和FAST(快速特征点)算子。
下面对这几种算子进行分析和比较。
1. Harris角点检测算子:Harris角点检测算子是一种基于图像亮度变化的角点检测方法。
它通过计算图像每个像素的Harris响应函数来判断是否为角点。
Harris算子具有旋转不变性和尺度不变性的优点,但对于光照变化比较敏感。
2.SIFT算子:SIFT算子是一种局部特征描述算子,通过尺度空间的不变性和局部光度不变性来提取特征点。
SIFT算子对旋转、尺度、光照和仿射变化具有较好的不变性,适用于一些复杂场景下的目标识别和图像匹配任务。
3.SURF算子:SURF算子是一种基于SIFT算子的加速算法,它通过使用积分图像和快速Hessian矩阵的计算方法,提高了特征点提取的效率。
SURF算子在保持SIFT算子的不变性的基础上,显著提升了运算速度。
4.FAST算子:FAST算子是一种基于灰度阈值的快速特征点提取算子。
FAST算子速度快,适用于实时应用和大规模图像处理任务。
但FAST算子对于尺度和旋转变化较为敏感,不适用于复杂场景下的图像处理任务。
综上所述,不同的特征点提取算子适用于不同的图像处理任务。
如果要求高精度、高稳定性和较好的不变性,可以选择SIFT或SURF算子;如果要求处理速度较快,可以选择FAST算子。
实际应用中,可以根据具体需求选择适合的算子或者结合多个算子进行特征点提取,以达到更好的效果。
一、介绍在机器视觉处理算法中,特征点匹配是一个重要的环节,它是指在两幅图像中找到相对应的特征点的过程。
特征点匹配的准确度会直接影响到后续的物体识别、目标跟踪、三维重建等任务的效果。
特征点匹配的算法选择和设计是至关重要的。
本文将针对机器视觉处理算法中特征点匹配常用方法进行全面评估,并提供个人观点和理解。
二、常用的特征点匹配方法1. Harris角点检测Harris角点检测是一种常用的特征点提取方法,通过计算图像的灰度变化来检测角点。
通过非极大值抑制和角点响应函数来筛选出最具代表性的角点。
2. SIFT特征匹配SIFT是一种基于局部特征的描述符,它通过在不同尺度空间和不同方向上寻找局部极值来检测图像的关键点,然后使用特征描述符进行匹配。
3. SURF特征匹配SURF是对SIFT算法的改进,它使用了快速Hessian矩阵检测关键点,并使用加速的Haar小波特征描述符进行匹配。
4. ORB特征匹配ORB是一种同时具备SIFT和SURF的优点的算法,它结合了FAST角点检测和BRIEF描述符,具有更快的速度和更好的性能。
5. 其他方法除了上述常用的特征点匹配方法,还有基于深度学习的方法、基于颜色直方图的方法、基于形状上下文的方法等,这些方法根据具体任务和应用场景选择的灵活性更强。
三、个人观点和理解在特征点匹配的方法中,不同的算法适用于不同的场景和要求。
对于实时性要求较高的场景,可以选择ORB特征匹配算法;对于精度要求较高的场景,可以选择SIFT或SURF特征匹配算法。
结合深度学习的方法可以在特定数据集上取得更好的效果。
在实际应用中,需要根据具体情况进行选择和组合使用。
四、总结回顾特征点匹配在机器视觉处理算法中起着至关重要的作用,不同的方法都有各自的优势和局限性。
通过本文的介绍,可以看出特征点匹配算法的发展已经非常成熟,并且在不断地向着更加快速、精确以及适用于更多场景的方向发展。
对于我个人而言,特征点匹配算法的研究不仅是对图像处理技术的挑战,更是对计算机视觉领域的探索。
特征图像匹配算法1. 简介特征图像匹配算法是一种计算机视觉中常用的算法,用于在两幅图像之间找到相对应的特征点,并将它们匹配起来。
这种算法在多个应用领域都有广泛的应用,包括图像检索、三维重建、目标跟踪等。
特征图像匹配算法的核心思想是通过提取图像中的关键特征点,然后计算这些特征点的描述子,在不同图像中进行匹配,找到相对应的特征点。
这些特征点通常是图像中的角点、边缘或者纹理等具有区分性的部分。
2. 特征提取在特征图像匹配算法中,特征点的提取是首要任务。
常用的特征点提取算法包括Harris角点检测、SIFT(Scale-Invariant Feature Transform)、SURF (Speeded-Up Robust Features)等。
•Harris角点检测是一种通过计算图像中像素点周围的灰度变化来检测图像中的角点的算法。
它主要是通过计算图像中每个像素点的窗口内的像素梯度的方差来确定是否为角点。
•SIFT是一种尺度不变特征变换的算法,它可以在不同大小和旋转角度的图像中匹配特征点。
SIFT算法首先通过高斯滤波器进行图像平滑,然后通过DoG(Difference of Gaussians)算子检测图像中的极值点作为特征点。
•SURF是一种类似于SIFT的特征提取算法,但它具有更快的计算速度和更好的旋转不变性。
SURF算法通过检测图像中的极值点,并计算它们的Haar小波特征来提取特征点。
3. 特征描述在特征提取之后,需要对特征点进行描述,以便在不同图像中进行匹配。
常用的特征描述算法包括ORB(Oriented FAST and Rotated BRIEF)、BRISK(Binary Robust Invariant Scalable Keypoints)等。
•ORB是一种具有旋转不变性和尺度不变性的特征描述算法。
它通过计算特征点周围的像素点在不同方向上的灰度变化来生成特征点的描述子。
最后,ORB算法将描述子通过二进制编码,以降低计算复杂度。
图像中角点提取与匹配算法角点提取与匹配算法是计算机视觉领域中的一项重要技术,用于在图像中寻找具有明显角度变化的特征点,并将这些特征点进行匹配。
这些算法在很多应用中都起到了关键作用,如图像配准、目标跟踪、三维重建等。
角点是图像中具有明显角度变化的点,它们在不同尺度和旋转下具有稳定性,因此可以用来作为图像的特征点。
在角点提取算法中,常用的方法有Harris角点检测算法、Shi-Tomasi角点检测算法、FAST角点检测算法等。
Harris角点检测算法是最早提出的角点检测算法之一,它通过计算图像中每个像素点周围区域的灰度变化来判断该点是否为角点。
具体来说,该算法计算每个像素点的特征值,通过特征值的大小来确定角点。
如果特征值较大,则该点为角点;反之,则该点为平坦区域或边缘。
Shi-Tomasi角点检测算法是对Harris角点检测算法的改进,它使用特征值中较小的一个来表示角点的稳定性,从而提高了检测的准确性和稳定性。
该算法首先计算每个像素点的特征值,然后选择特征值较小的一部分像素点作为角点。
FAST角点检测算法是一种高效的角点检测算法,它通过比较像素点周围的相邻像素点的灰度值来判断该点是否为角点。
该算法通过快速地检测像素点的灰度值变化来提高检测的速度,同时保持了较高的准确性。
在角点匹配算法中,常用的方法有基于特征描述子的匹配算法,如SIFT(尺度不变特征变换)算法、SURF(加速稳健特征)算法、ORB (Oriented FAST and Rotated BRIEF)算法等。
SIFT算法是一种基于尺度不变特征变换的特征描述子算法,它通过检测图像中的关键点,并计算每个关键点周围区域的特征描述子。
这些特征描述子具有尺度不变性和旋转不变性,因此可以用来进行图像匹配。
SURF算法是一种加速稳健特征算法,它通过使用快速哈尔小波变换来计算图像中的特征点,并使用加速积分图像来加速特征点的计算。
这些特征点具有尺度不变性和旋转不变性,可以用来进行图像匹配。
基于特征的匹配方法特征点提取是基于特征的匹配方法的第一步。
特征点通常是图像中具有显著性的点,如角点、斑点等。
一般来说,特征点应该在图像变形、缩放、旋转等情况下有较好的稳定性。
常用的特征点提取算法包括Harris角点检测、SIFT(尺度不变特征变换)、SURF(加速稳健特征)等。
特征点描述是基于特征的匹配方法的第二步。
特征点描述是指将特征点的周围区域转化为一个向量或描述子,以便进行后续的分类和匹配。
特征点描述算法通常使用邻域像素的亮度、梯度、颜色等信息来表示特征点,以保证其唯一性和可区分性。
例如,SIFT算法通过将特征点周围区域分解为不同方向和尺度的梯度直方图来进行描述。
特征点匹配是基于特征的匹配方法的最后一步。
特征点匹配的目标是在不同图像中寻找相似的特征点。
经典的特征点匹配算法包括基于欧氏距离的最近邻匹配、基于鲁棒估计的RANSAC(随机一致性算法)等。
最近邻匹配算法通过计算描述子之间的距离,并选择最近邻特征点作为匹配点。
RANSAC算法则通过随机采样和模型评估的迭代过程来找到最佳的匹配。
基于特征的匹配方法的优点是可以在不同图像之间进行局部匹配,而不需要对整个图像进行处理。
这使得特征点匹配算法具有较强的鲁棒性和计算效率。
此外,基于特征的匹配方法还可以处理图像的平移、旋转、缩放等变换,对于遮挡、光照变化等情况也具有一定的鲁棒性。
然而,基于特征的匹配方法也存在一些挑战。
首先,特征点的选择和描述是一个复杂的任务,需要设计合适的算法来提取和描述特征。
其次,特征点匹配算法容易受到噪声、遮挡、光照变化等因素的影响,从而导致误匹配。
此外,在处理大规模图像数据时,特征点匹配算法的计算效率也面临一定的挑战。
总体来说,基于特征的匹配方法是一种成熟且有效的计算机视觉技术。
通过合理的特征点提取、描述和匹配算法,可以实现不同图像之间的匹配和识别,为图像处理和计算机视觉应用提供了重要的工具。
SIFT特征匹配处理⼀、SIFT算法特征原理SIFT即尺度不变特征转换,它⽤来检测图像的局部性特征,在空间尺度中寻找极值点,提取这点的位置、尺度、旋转不变量。
这些关键点是⼀些⼗分突出,不会因光照和噪⾳等因素⽽变化的点,如⾓点、边缘点、暗区的亮点及亮区的暗点等,所以与影像的⼤⼩和旋转⽆关,对光线、噪声、视⾓改变的容忍度也很⾼。
SIFT特征检测有四步:1.尺度空间的极值检测:搜索所有尺度空间上的图像,通过⾼斯微分函数来识别潜在的对尺度和选择不变的兴趣点。
2.特征点定位:在每个候选的位置上,通过⼀个拟合精细模型来确定位置尺度,关键点的选取依据他们的稳定程度。
3.特征⽅向赋值:基于图像局部的梯度⽅向,分配给每个关键点位置⼀个或多个⽅向,后续的所有操作都是对于关键点的⽅向、尺度和位置进⾏变换,从⽽提供这些特征的不变性。
4.特征点描述:在每个特征点周围的邻域内,在选定的尺度上测量图像的局部梯度,这些梯度被变换成⼀种表⽰,这种表⽰允许⽐较⼤的局部形状的变形和光照变换。
⼆、SIFT特征匹配处理 对两张图⽚进⾏SIFT特征匹配处理 1.两张差异较⼤的集美⼤学尚⼤楼 原图: 图1 图2 SIFT特征匹配: 图3 2. 两张差异较⼩的集美⼤学尚⼤楼 原图: 图4 图5 SIFT特征匹配:代码:1import io2from PIL import Image, ImageTk3import tkinter as tk45import cv26import numpy as np7 MIN_MATCH_COUNT = 489 img1 = cv2.imread("C:/Users/w/PycharmProjects/sift/picture/1.jpg")10 img2 = cv2.imread("C:/Users/w/PycharmProjects/sift/picture/16.jpg")11 g1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)12 g2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)13 sift = cv2.xfeatures2d.SIFT_create()14 match = cv2.FlannBasedMatcher(dict(algorithm =2, trees =1), {})15 kp1, de1 = sift.detectAndCompute(g1,None)16 kp2, de2 = sift.detectAndCompute(g2,None)17 m = match.knnMatch(de1, de2, 2)18 m = sorted(m,key = lambda x:x[0].distance)19 ok = [m1 for (m1, m2) in m if m1.distance < 0.7 * m2.distance]20 med = cv2.drawMatches(img1, kp1, img2, kp2, ok, None)2122 cv2.imwrite("C:/Users/w/PycharmProjects/sift/picture/b.jpg", med)23#24# cv2.imshow("0", med)25# cv2.waitKey()26# cv2.destroyAllWindows()272829def resize(w, h, w_box, h_box, pil_image):30 f1 = 1.0 * w_box / w # 1.0 forces float division in Python231 f2 = 1.0 * h_box / h32 factor = min([f1, f2])33 width = int(w * factor)34 height = int(h * factor)35return pil_image.resize((width, height), Image.ANTIALIAS)3637 root = ()38# size of image display box you want39# 期望图像显⽰的⼤⼩40 w_box = 80041 h_box = 10004243# 以⼀个PIL图像对象打开44 pil_image = Image.open(r'C:/Users/w/PycharmProjects/sift/picture/b.jpg')4546# get the size of the image47# 获取图像的原始⼤⼩48 w, h = pil_image.size4950# resize the image so it retains its aspect ration51# but fits into the specified display box52# 缩放图像让它保持⽐例,同时限制在⼀个矩形框范围内53 pil_image_resized = resize(w, h, w_box, h_box, pil_image)5455# convert PIL image object to Tkinter PhotoImage object56# 把PIL图像对象转变为Tkinter的PhotoImage对象57 tk_image = ImageTk.PhotoImage(pil_image_resized)5859# put the image on a widget the size of the specified display box60# Label: 这个⼩⼯具,就是个显⽰框,⼩窗⼝,把图像⼤⼩显⽰到指定的显⽰框61 label = bel(root, image=tk_image, width=w_box, height=h_box)62# padx,pady是图像与窗⼝边缘的距离63 label.pack(padx=5, pady=5)64 root.mainloop()SIFT Code三、SIFT和Harris特征匹配处理的对⽐ 例如,下图是福建省厦门市集美⼤学的尚⼤楼的图⽚:⽤sift算法和Harris算法找到关键点并绘制关键点: SIFT 算法 Harris 算法SIFT 代码:1 import cv22 import numpy as np34 img = cv2.imread('C:/Users/w/PycharmProjects/untitled2/11.jpg')5 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)6 sift = cv2.xfeatures2d.SIFT_create()78 kp = sift.detect(gray, None) # 找到关键点910 img = cv2.drawKeypoints(gray, kp, img) # 绘制关键点1112 cv2.imshow('sp', img)13 cv2.waitKey(0)SIFT CodeHarris 代码:1 import cv22 import numpy as np34 filename = 'C:/Users/w/PycharmProjects/sift/picture/11.jpg'56 img = cv2.imread(filename)7 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)8 gray = np.float32(gray)9 #图像转换为float3210 dst = cv2.cornerHarris(gray,2,3,0.04)11 #result is dilated for marking the corners, not important12 dst = cv2.dilate(dst,None)#图像膨胀13 # Threshold for an optimal value, it may vary depending on the image.14 #print(dst)15 #img[dst>0.00000001*dst.max()]=[0,0,255] #可以试试这个参数,⾓点被标记的多余了⼀些16 img[dst>0.01*dst.max()]=[0,0,255]#⾓点位置⽤红⾊标记17 #这⾥的打分值以⼤于0.01×dst 中最⼤值为边界1819 cv2.imshow('dst',img)20 if cv2.waitKey(0) & 0xff == 27:21 cv2.destroyAllWindows()Harris Code SIFT 特征检测:SIFT 从理论上说是⼀种相似不变量,即对图像尺度变化和旋转是不变量。
价值工程0引言立体匹配是三维重建中一个至关重要且最为复杂的一个环节,按匹配基元的不同,立体匹配可分为区域匹配、特征匹配和相位匹配。
文章重点讨论特征匹配。
目前,根据特征空间,相似性度量,搜索空间和搜索策略的不同,已经形成了许许多多各具特色的特征匹配算法[1~3],但如何合理提取图像的特征点并对其进行高精度匹配,仍然是计算机视觉技术的一个瓶颈,至今还未完全得到解决。
文章提出了一种基于Harris [4]和SIFT [5]的特征匹配算法,算法基于在特征匹配方面取得了显著进展、性能得到了充分肯定的Harris 特征和SIFT特征描述子,对基于尺度不变特征的Harris 角点提取算法提取出的特征点进行SIFT 特征描述,然后利用最近邻欧式距离以及阈值判决来进行双向匹配,能有效解决传统的特征匹配算法对图像尺寸和旋转比较敏感的问题。
1算法基本原理特征匹配实质上就是在一幅图像中给定一点,寻找另一幅图像中的对应点的过程。
其基本步骤就是特征点提取,特征描述以及特征匹配。
算法的基本流程如图1所示,首先用基于尺度不变特征的Harris 特征检测算法提取标准图像和待匹配图像中的特征点,通过改进的SIFT 描述子并利用多维向量对各个特征点进行描述,通过立体视觉理论中的极线约束将匹配特征点的———————————————————————基金项目:国家自然科学基金重大专项项目(90820302);国家博士点基金资助项目(200805330005)。
作者简介:罗桂娥(1962-),女,湖南株洲人,中南大学电子科学与技术研究所,教授,主要研究信息融合技术,数字图像处理,智能仪器开发;李鹏(1983-),男,湖南益阳人,中南大学电子科学与技术研究所,硕士研究生,主要研究数字图像处理。
基于Harris 和SIFT 的特征匹配算法Features Matching Algorithm Based on Harris and SIFT罗桂娥Luo Guie ;李鹏Li Peng(中南大学电子科学与技术研究所,长沙410083)(School of Electronic Science and Technology ,Central South University ,Changsha 410083,China )摘要:为了克服传统的局部特征匹配算法对图像的尺寸和旋转比较敏感的缺点,文章提出了一种基于Harris 和SIFT 的特征匹配算法。
该算法首先进行Harris 角点提取,利用圆的旋转不变性和多维向量来构造SIFT 特征描述子,然后利用极线约束降低对匹配点的搜索空间,最后度量特征描述子之间的欧氏距离,运用双向匹配技术得到最终的匹配结果。
实验结果表明,该算法能提高匹配精度,减少匹配时间。
Abstract:In order to restrain the high sensitivity to image size and rotation as for conventional local matching algorithms,in this algorithm,Harris corner detector is used to extract feature point firstly,make use of the characteristic that circle is rotation-invariant and multi-dimensional vector to constructs the SIFT feature descriptor.Then,polar constraint is used to reduce the search space for match point.Matching results are obtained by measure the Euclidean distance between the feature descriptors and apply double-sided matching technology.Experiments demonstrated the algorithms can enhance matching accuracy and shorten the matching time.关键词:特征匹配;Harris 角点提取;SIFT 特征描述子;欧氏距离Key words:feature matching ;Harris corner extraction ;SIFT feature descriptor ;Euclidean distance中图分类号:TP751文献标识码:A文章编号:1006-4311(2012)06-0002-02少,没有系统的从科学的角度去进行深入、持续的研究,也没有建立评估影响因素因子和技术体系,估价方法也就是少之又少,如前所说虽然在《城镇土地估价规程》有关于农村集体建设用地的评估方法的介绍,缺乏相应的理论突破和技术与体系,因此在确定底价的时候仅仅是按照一般发生费用的累积来确定,这样无法更好的促进市场的发展[3]。
3对策建议“地票”的价值也是以具体的宗地的价值为基础,既然进行宗地交易,那么宗地价格就是整个交易的核心,如何评估农村建设用地的价格,为买卖双方提供合理的价格指导,是当前迫切需要解决也是人们比较关心的问题[4]。
因此特提出以下建议:3.1开展农村集体建设用地的价值理论研究任何一项技术的进步或者市场的培育无一不是以重大理论突破为前提,为培育建立城乡一体化的土地市场,需进一步探索集体建设用地的价值内涵,在借鉴国内外理论研究成果的基础上,结合各地发展的实际,加强对集体建设用地定价与估价的理论研究,分析、探讨集体建设用地所有权和使用权的价格内涵以及与城市建设用地的内涵差异,同时确定集体建设用地的使用类型和评价的单元,为定级估价打下理论基础。
3.2开展定级与估价的影响因素、因子及关键技术体系与方法的研究根据国内外研究的成果开展影响集体建设用地定级因素、因子的调查。
根据调查结果,采用一定的方法研究影响定级的主要因素、因子,同时建立集体建设用地定级指标体系。
为进一步显化土地价值,首先进行集体建设用地功能分析,开展现有集体建设用地承载功能的调查为价值显现提供依据;其次借鉴相关的理论方法开展集体建设用地估价的方法研究,探索和建立适合集体建设用地估价的技术方法,形成完整的定级体系和估计方法。
3.3结合地票交易,开展集体建设用地定价与估价的试点工作在理论创新和定级估价关键技术题和方法的研究上,根据重庆市地票交易运行的状况,开展试点工作,对试点区域开展集体建设用地定级与估价工作,在成熟的基础上,全面推进定级与基准地价评估工作,同时开展集体建设用地估价技术规范的研究,通过合理的技术体系和评估方法,为客观反应集体建设用地价格提供评估依据。
3.4引入中介机构,提高评估的公信力借鉴国有建设用地评估的管理办法,研究和设置中介机构参与集体建设用地评估的可行性与门槛。
相关部门在出台技术规范的前提下,培育和带动一批专门从事集体建设用地评估的机构,建立公信的平台,涉及招拍挂的地价评估,由中介机构来评估,增强市场的公平、公正性。
参考文献:[1]郭振杰.地票的创新价值及制度突破[J].重庆社会科学,2009,(4).[2]杨杰,任绍敏.广东省农村集体建设用地定级与基准地价评估探讨[J].安徽农业科学,2010,38(17).[3]刘泰圻,杨杰,周学武.集体建设用地定级与基准地价定价浅析[J].南方农村,2007.5.17-20.[4]丘陵.重庆市农村集体建设用地土地使用权流转价格评估思路探讨.宁夏农业科技,2011,(09):80-81.2··Value Engineering搜索空间从二维降低到一维,随后计算多维向量之间的欧式距离,设定阈值判决匹配点,引入双向匹配技术降低误匹配率。
2基于尺度不变特征的Harris角点提取针对经典Harris角点检测算子对尺度比较敏感的这一缺点,以尺度空间为基础从空间域和尺度域来确定特征点从而使改进的检测算子具有特殊的尺度不变性,具体的就是把两个域中的极值点确定为角点,这样检测到的角点在具有合适参数的情况下能提高稳定性。
文章中改进的Harris检测算子如式(1)所示:M=u x,y,σl ,σD22=σ2 D ×e-u2+v222/2σ2l茚I2x茚e-u2+v222/2σ2DIxIy茚e-u2+v222/2σ2DIxIy茚e-u2+v222/2σ2D I2y茚e-u2+v222/2σ2D茚茚茚茚茚茚茚茚茚茚茚茚茚茚茚茚茚茚(1)式中的Ix 、Iy分别代表图像在x和y方向上的偏导数,σl表示的是积分尺度,σD 表示的是微分尺度且σl=sσD,其中s为一个不大于1的常数,茚表示的是对函数进行卷积运算。
角点的定义跟自相关矩阵M的特征值有关,当某点的M求解得到两个足够大的特征值λ1和λ2时,此点就是角点。
Harris用响应函数来对角点进行更专业的定义,相应函数如式(2)所示:R=Det(M)-kT2r(M)(2)式中的Det(M)=λ1λ2为矩阵M的迹,Tr=λ1+λ2为矩阵M的行列式,k是一个常数,通常取0.04~0.06,这样角点就是函数R取得局部极大值时的点。
改进的Harris检测算子对M增加了尺度适应的处理,这是相对Harris提出的检测算子不同的地方,这样改进的优点是不仅能够精确的提取小尺度图像的角点而且能够提取到丰富的大尺度图像的角点,同时存在于尺度空间以及二维图像中的角点也可以检测出来。
3改进的基于SIFT的特征描述子圆具有很好的旋转不变性,利用圆来构造SIFT特征描述符[6],这样生成的特征描述子本身就具有很好的抗旋转能力,就不需要给关键点分配主方向了。
新描述符的具体构造如下:以关键点为中心,提取一个半径为8的同心圆环区域。
同一圆环内的像素在图像旋转后只有像素位置发生改变,而像素其它的相对信息基本保持不变。
对每个像素计算梯度的模值和方向,分别如式(3)和式(4)所示:m(x,y)=(L(x+1,y)-L(x-1,y))2+(L(x,y+1)-L(x,y-1))2茚茚1/2(3)θ(x,y)=tan-1{[L(x,y+1)-L(x,y-1)][L(x+1,y)-L(x-1,y)]-1}(4)参照SIFT算法里面的方法计算并统计出每个同心圆内8个方向的梯度累加值。
第一个圆圈的8个梯度累加值排序后作为第1到第8个元素,第二个圆圈的8个梯度累加值排序后作为第9到第16个元素,以此类推。
8个同心圆共有8×8即64个元素,这个1*64的向量就定义为关键点的特征描述符。