首页 > 代码库 > Fast Radial Symmetry Transform/快速径向对称变换
Fast Radial Symmetry Transform/快速径向对称变换
本文主要介绍一下利用径向变换进行特征提取的方法和原理,基本原理主要来自Gareth Loy and Alexander Zelinsky的A Fast Radial Symmetry Transform for Detecting Points of Interest一文。需要原文的可以留下邮箱。
Radial Symmetry Transform(径向对称变换)在某种程度上类似于霍夫圆变换,二者的主要区别在于:前者主要考察一副图像中的每个像素点对它周围邻域内的像素点的作用(贡献),而后者则主要考察一个像素点的邻域对当前像素点的作用(贡献)。本算法的算法复杂度为O(KN),其中K为原图像的总的像素点数,N为考察的N*N的邻域范围。
下面简要介绍算法的基本思想,首先定义orientation projection image On(方向投影图On) 和 magnitude projection image Mn(尺寸投影图)
对原图的每一个像素点p计算梯度值g(p),设定以n为径向对称变换的半径,则在每一像素点p处就会分别有positively-a?ected pixel P+ve (p) 和 negatively-a?ected pixel P?ve (p)。
由图可知,对应的两点分别在以p为中心range n为半径的圆上,且 P+ve为g(p)所指向的点,而 P?ve为g(p)背离的点。对应的两点的计算方法如下:
现在考虑如何建立On和Mn:
将On上分别对应于P+ve和 P?ve的两点分别加1和减1,而将Mn上与之对应的两点分别加 ||g(p)||和减 ||g(p)||,计算公式分别如下,
经过对原图中的所有像素点进行遍历之后,相应的也建立起了image On和image Mn,接下来计算经过径向对称变换之后的图像,过程如下:
n为前面设定的半径,Sn即变换得到的图像,其中Fn如下所示:
在此说明一点,图像即为矩阵,可以相互转化应用计算方法等。上面公式应该不难理解。至于为什么要这么做,文章没有做解释,本人属菜鸟,不能解读大牛的思路。
在此即基本可以获得了经过径向对称变换之后的图像。最后,所谓的full transform即所有range n的对称变换之和,如下:
贴上几张进行变换后得到的图: