【外文翻译】图像中的傅里叶变换

转载自:【外文翻译】图像中的傅里叶变换

写在前面:这是我在外网看到的一篇较为易懂、详细的介绍了图像中的傅里叶变换的一篇文章,翻译过来给大家分享一下。适读人群为对机器视觉感兴趣的初学者。为了可读性,没有完全严格的逐字逐句翻译,也加入了自己的一些理解,如有纰漏望指正。


原文链接:https://plus.maths.org/content/fourier-transforms-images

原文:Fourier transforms of images

作者:Rachel Thomas


无论是音乐、演讲还是背景噪音,我们听到的一切的声音,都是由声源产生声波,通过空气传播,引发鼓膜振动的结果。为了直观地表达,我们一般会绘制声波图像,x轴为时间,y轴为振幅。

图1

 上图中示波器上的声波图像是一个正弦图像,也就是数学中的sin(x)。不过实际中的声波图像肯定会更复杂。但是,任意声波(或者说任意函数)都可以被分解成不同频率、不同幅度的正弦函数,换句话说,将任意随着时间变化的声波信号(或函数)写成一系列频率不同的正余弦函数的和,这就是著名的傅里叶变换。这是以生活在18世纪法国大革命时期的著名法国数学家傅里叶命名的。

 

关于更多的数学解释,作者引用了另一篇blog,链接如下,有时间的话我可能也会进行翻译:

https://plus.maths.org/content/os/issue47/features/budd/maths


下面回到图像中来。大家可以想象一下,一张图像也可以看作一个变化的函数(或者说是波)。然而,他不是随着时间变化,而是在二维空间中变化。在一个单通道图像中,每个像素点都对应着一个灰度值,这个值的取值范围是0到255,0表示黑色,255表示白色,不同的颜色表示不同的灰度。在英文中,这个灰度值我们称作intensity。那么在这个图像中,灰度值就是图像上某点(x,y)的函数值。举个例子,比如给定一个1024*768的图像,在图上(300,300)这个点是黑色的,那么这个点的灰度值是0,我们可以写作f(300,300)=0,f就是图像坐标到灰度值区间的一个函数。如果我们有一张纯白色的图像,那么无论x,y取多少,f(x,y)=255恒成立。

图3.作者给的一个灰度值可视化的示例图。左边是图像本身,右边是将它的灰度值平铺在了xy坐标系中,就相当于绘制了一个f(x,y)的函数“图像波”。可以看到,越是白色的区域函数值越大,即右图中凸起越高,越是黑色的区域函数值越小,即越靠近xy平面。

 

我们上面说了,图像既然可以看作一个函数,那么它也可以做傅里叶变换,即写成一系列正弦函数的和。但是,跟上面举的声波例子不同,这次函数是在二维空间中变换的。如果说声波图像像一个甩动的细绳,那么“图像波”就像平面上激起的涟漪一样。

二维正弦函数公式如下:

x,y表示所求点在图像上的坐标(我们一般把图像左上角作为原点),z是函数值,也就是该点的灰度值,a代表波的幅度(或者说是最大高度),h和k分别代表频率。在图像中,频率大小的直观表现为该点灰度值变化的剧烈程度。

图4.从左到右分别表示sin(x),sin(2y),sin(x+y)

 

如上图所示,正弦波将会沿着(h,k)的方向震荡。例如,当k=0时,正弦波只沿着x轴震荡,如上图中的左图。当h=0时,正弦波只沿着y轴震荡,如上图中的中间图。将这些波叠加,其实也就是将这些波的值(函数值)叠加,也就是波的干涉效应。

图像的傅里叶变换就是将图像函数分解成不同频率的正余弦波的叠加。和声波例子一样,图像的傅里叶变换也是变换到频率域上。不同的是,图像的频率域是二维的,换句话说,两个频率h和k,分别对应图像波的x和y方向上变动的快慢。因此如果将图像的频率图画出来,将不再如图2最后展示的一样(坐标轴上一个个小竖线),而是也像一张图片一样(如图5右),在此例子中,我们让频率图与原图尺寸相同。如下图。

在这里要注意一下,首先,频率图不一定与原图有相同的尺寸。因为频率域在理论上来说是无穷的,但为了可视化,我们一般让他与原图尺寸相同,也就是说其实我们只是截取了相对低频的信息。另外,在频域图上的每个点(h,k)灰度值的意义,并不是原图中该坐标位置点(h,k)的频率大小,而是傅里叶变换后频率为(h,k)的正余弦波的幅度大小。不要因为频率图与原图尺寸相同就在这个地方有所混淆。

图5.左图为图像信号,右图为该图像的频域图像

 傅里叶变换后,每个像素点都会得到一个相应的坐标(h,k),来表示x方向上的频率h以及y方向上的频率k。以图5为例,在图像的频域图上(如上图右),中心点(0,0)表示h=0,k=0,右图中该点(即中点)的函数值(可以看作是就是这个点的亮度值)为左图所有像素值的平均值。中点左右两边的点,表示沿着x轴变化的波(即k=0),上下两边的点表示沿着y轴变化的波(即h=0)。在频域图中,(h,k)这个点的亮度值,就是频率为(h,k)的三角函数的振幅a的平方(参考上面给出的二维正弦函数表达式)。

图6.左图为sin(x)波生成的灰度图,右图为它对应的频域图像

 以上图为例,左图为二维的正弦波灰度图像,右图为傅里叶变换后生成的频域灰度图。可以看到,右图几乎全是黑的,只有中心一小部分不是黑色。如果我们放大中心位置,可以看到只有3个像素不是黑的。首先一个是(0,0)点,前面说过,这个点的亮度是整张图片像素值的平均值。另外两个点是(1,0)和他的中心对称点(-1,0),其他点全为黑色。这是由于我们原图像仅含有正弦波sin(x)。(h=1,k=0)

图7.左上角图像为sin(10x)+sin(20y),右上角为其傅里叶变换图像。可以看到,除了原点之外,只有(10,0)和(0,20)及他们的对称点不是黑色。左下角图像为sin(100x+50y),右下角图像为其频域图,可以看到只有原点,(100,50)及其对称点不是黑色。

 

上面的例子,都是比较简单的正弦图像的灰度图。然而一般我们看到的照片,都是非常复杂的。是非常多的不同频率的正弦/余弦函数叠加构成的。这样的话频谱图像就不会像上面几个例子一样简单。如图5。


另外,一般来说,我们在进行图像傅里叶变换的时候,会发现频谱图上h轴和k轴格外亮眼,这说明沿着x和y方向变化的波占比较大。这种现象的主要原因是在我们的生活中,水平、垂直、对称的图案是比较常见的,比如图5中的砖缝、衣服花纹等等。另外,如图8所示,可以看到如果图像旋转45度,他的频谱图中灰度值最强的两条线也会旋转45度角。

 

图8.旋转45度后的图像与其频谱图

 

总结:傅里叶变换在声音、图像的分析与处理中极为有用。在图像处理中,它是图像压缩、图像滤波以及图像降噪等处理技术背后的数学理论基础。

一些可能的问题及个人见解:

    为什么要理解图像的傅里叶域(频域),对理解卷积神经网络有什么帮助?

    空间域的卷积即频域的乘积。因此我们在做空间卷积时(即二维卷积),其实是在做频域上的滤波。通过过滤出特定频率的特征,来实现特征提取。举个例子,为什么高斯核卷积是很好的模糊处理方法?因为我们用高斯核做空间域卷积,相当于在做图像与高斯核在频域上的乘积,而高斯函数的傅里叶变换依然是高斯函数,高斯函数越远离时0值越小,因此图像中的高频信号就会被过滤掉。而图像的高频信号就是边界、噪点,因此高斯卷积实现了模糊效果。

    为什么频域图中心值等于所有像素的均值?

    这是由于中心点的频率为h=0,k=0,因此这是一个直流分量。在信号系统中,我们一般将傅里叶变换中的直流分量理解成信号的时间均值。因此同样的在图像中,直流分量也就表示空间信号(各点灰度值)的平均值。(具体可以参考傅里叶变换公式)

    为什么频域图是中心对称的?

    利用欧拉公式可以进行简单的推导。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值