特征点匹配V10
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、Harris Corner Detector
Harris 角点检测原理是对于一幅图像,角点与自相关函数的曲率特性有关。 自相关函数描述了局部图像灰度的变化程度,可表示为:
()2,,,(u,),||x u y v x y x y
E v w x y I I ++=-∑
表示:一个窗,平移(u,)v 后的自相关函数,(),w x y 是窗函数 局部图像灰度的自相关函数(u,)E v 可近似表示成一次泰勒多项式形式:
()()()(),,,,x y I x u y v I x y uf x y vf x y ++≈++
()()()()()()[]()[]2
,2222
,22,,,|,,|,2,,,x y
x x y y x y
x x y x y
x y y E u v w x y I x u y v I x y w x y u I uvI I v I I I I u u v w x y I I I v u u v M v =++-≈++⎛⎫⎡⎤⎡⎤= ⎪⎢
⎥⎢⎥ ⎪⎢⎥⎣⎦
⎣⎦⎝
⎭⎡⎤
=⎢⎥
⎣⎦
∑∑∑
其中()2
2,,x x y x y x y y I I I A C M w x y I I I C B ⎡⎤⎡⎤
==⎢
⎥⎢⎥⎢⎥⎣⎦
⎣
⎦∑,是个椭圆方程:矩阵M 的两个特征值都比较大,说明在该点的图像灰度自相关函数的两个正交方向上的极值曲率均较大,所以即可认
为该点为角点。
Corner Response Measure:
221212(,)()()()()R x y Det M kTr M Det M AB C Tr M A B
λλλλ=-==-=+=+
当(,)R x y 大于零并且较大时,对应角点;如果(,)R x y 较小但是小于零,则对应与边缘区域;如果(,)R x y 较小时,对应与图像的平坦区域。 MATLAB 实验结果:
img1 = imread('..\images\corner1.jpg'); tic
corners1 = corner_detector(img1);
features1 = makeFeatures( corners1, img1, 15); showFeatures1(features1 ,img1 ); fprintf( '%f\n', toc );
//time= 3.267188
CUDA 实验结果: 2、SIFT
Sift 算法主要步骤:
1)尺度空间的极值点检测
a.建立高斯金字塔
一副二维图像,在不同尺度下的尺度空间表示可由图像与高斯核卷积得到:
(,,(,,)*(,)L x y G x y I x y σσ)=
L 代表图像的尺度空间,σ为尺度空间因子,其值越小则表征被平滑的越少,相应的尺度
也就越小。同时大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。
b.生成DOG 金字塔
为了有效提取稳定的关键点,利用不同尺度的高斯差分核与图像卷积生成。
(,,)((,,)(,,))*(,)(,,)(,,)D x y G x y k G x y I x y L x y k L x y σσσσσ=-=-
c.DOG 空间极值点检测
极值点的搜索是通过同一组内DOG 相邻层之间比较完成的。为了寻找尺度空间的极值点,每一个采样点都要和它所有的相邻点比较,以确保在尺度空间和二维图像空间都检测到极值点。
2)关键点的精确定位
泰勒公式:
()()()()()()()()()
()()()()()()()()0
0002020202112120202002
21
2220202021
212T
T
n n n n n f x f x f x x x x x H x x x O f x f x f x x x x x x f x f x f x H x x x x x x f x f x f x x x x x x ⎡⎤=+∇-+--+⎣⎦
⎡⎤
∂∂∂⎢⎥∂∂∂∂∂⎢⎥
⎢⎥
∂∂∂⎢
⎥⎢⎥
=∂∂∂∂∂⎢
⎥
⎢⎥
⎢⎥
∂∂∂⎢⎥
⎢⎥∂∂∂∂∂⎣⎦
a. 精确确定关键点的位置
22
1()2T
T D D D X D X X X X X ∂∂⎛⎫
=++ ⎪∂∂⎝⎭
(,,)T X x y σ=为关键点的偏移量,D 是(,,)D x y σ在关键点处(即0X )的值。
令
()
0D X X
∂=∂,解得, 1
22D D X X X -⎛⎫∂∂=- ⎪∂∂⎝⎭
X 是偏移量X 的极值点。
如果 X (相对于插值中心点的偏移量)在任一方向上的偏移大于0.5时,就意味着该关键点与另一采样点(检测点)非常接近,这样的点就要删除。
b. 删除低对比度的点
1()2T
D D X D X X ∂⎛⎫=+ ⎪∂⎝⎭
()D X 可以用来衡量特征点的对比度,
如果 ()D X θ<,则 X 为不稳定的特征点,应删除。θ的经验值为0.03。
c. 去除低对比度的边缘响应点
因为DOG 算子会产生较强的边缘响应,所以应去除低对比度的边缘响应点,以增强匹配的稳定性,提高抗噪声能力。一个平坦的DOG 响应峰值往往在在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。 主曲率通过一个2*2的Hessian 矩阵H 求出:
xx
xy xy yy D D H D D ⎡⎤
=⎢
⎥⎣⎦