图像的三种分形维数的计算方法
分形维的计算方法比较多,虽然准确度各不相同,但结果都大同小异。最近对这方面做了一些了解,并用在图像的特征提取中。现在总结一下。
俺们做磕盐的银,转载也要严谨的注明出处,吴有光20111121写于博客:http://blog.sina.com.cn/wuyouguang
1,盒子法(box-counting)【1】
Gangepain于1986年提出来的。将图像看做三维的曲面,然后计算覆盖的盒子数,即可得到分形维数。
Step1:对于一幅MxM的图像,看其看做三维空间的一个曲面。长为M宽为M高为L,其中L为图像的像素级数,一般取L=256.
Step 2:将其所在平面(MxM)分为RxR大小的网格,在“高度”这个坐标也进行相同的划分,不过划分的单位为R*L/M。这样,图像所在三维空间就被划分中很多“盒子”。看得出来,这样划分的目的是使长宽方向和高度方向的划分“次数”相同。
Step3:在被划分成的每个RxR个网格内,找出最大像素值u和最大像素值b,输出从最小值到最大值,一共要几个盒子才能覆盖住,盒子个数记为n(i,j)——假设当前是第(i,j)个网格。即n(i,j)=[(u-b+R-1)/R],式中[为取整符号].
Step 4:对每个RxR的盒子数求和,记为N。即N=sum(n(i,j))。
Step 5: 此时理论上分形维数D=-logN/logR,当R趋于无穷大时。当现实中R是有限值,所以改变R的值,求出一组N来,应用线性拟合,所得直线的斜率就是D。
英文版如下
2,随机游走法(fractional Brownian motion,FBM)【2】
这是分形的大牛Mandelbrot在他的“自然界的分形几何”中提出的。
在这种模型中,图像的灰度值被认为是随机游走的结果,于是就可用fBf模型来建模。
Step1:将图像灰度值看做随机游走的结果,设定一个间隔值R(比如R=3),计算G=I(x2,y2)-I(x1,y1),其中要求||(x2,y2)-(x1,y1)||=R。简化计算就是每个点跟他上下左右相邻R的像素点作差。
Step2:计算G的期望,就是均值,也就是全部加起来除以总个数,得到E(G)。
Step3:理论上,log(E)=(3-D)logR+c,c为常数。为了精确计算,跟上面的方法1一样,取不同的R,最后得到一组对应的E和R,进行线性拟合,得到的斜率就是3-D。
英文版如下
3,频域法【4,5】
Pentland提出了频域分形维估计方法。
Step1:全图做傅里叶变换,则fBf的傅里叶功率谱满足P(f)=f^(-2h-1)=f^(2D-5)。其中h是临时变量,这里无用;D就是分形维数。
Step2:在功率谱图上,对相同频率的数值求和,即距离原点为5的点累加为P(5),以此类推。得到P(f)--f函数
Step3:对logP(f),logf进行线性拟合,斜率就是2D-5。就可以求出D了。
英文版如下
Bibliography
[1]. Gangepain and C. Roques-Carmes,“Fractal approach to two dimensional and three dimensional surfaceroughness,” Wear, 1986,vol. 109, pp.119-126
[2]B. B. Mandelbrot, The FractalGeometry ofNature, San Francisco, CA:Freeman, 1982.
[3] C.-M Wu, Y.-C. Chen,and K.-S. Hsieh, “Texture features for classification of ultrasonicliver images,” IEEETrans. Med. Imag., vol. 11, pp. 141–152, June1992.
[4]Alex P. Pentland. Fractal-BasedDescription of Natural Scenes. IEEE Trans. Pattern Analysis andMachine Intelligence. Vol. Pami-6, No.6,1984
[5]Nirupam Sarkar and B. B.Chaudhuri. An Efficient Differential Box-Counting Approach toCompute Fractal Dimension of Image. IEEETRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 24. NO. I .pp115-120. JANUARY 1994