复可操纵金字塔Complex Steerable Pyramids

如何分解图像的局部相位

原文地址:https://medium.com/@itberrios6/complex-steerable-pyramids-3cf7b99ff9fc

当我第一次学习基于相位的运动放大时,我发现它严重依赖于复可操纵金字塔。乍一看,我对学到的东西感到心烦意乱,因为我甚至无法理解一个常规的可操纵的金字塔。在审阅了一些关键论文和慷慨的GitHub仓库一段时间后,我终于掌握了可控金字塔的概念,最后是复杂的可控金字塔。我能够了解到,可控金字塔提供了丰富和过度完整的图像分解,但它们缺少一个关键的信息,那就是局部相位。

在这篇文章中,我们将学习局部相位信息的重要性,以及如何扩展可控金字塔以便我们可以利用相位信息。我们将从头开始编写代码,并展示视觉效果来帮助强化概念。这篇文章假设你熟悉可控金字塔,如果你认为你需要复习,请回到上一篇文章。 

Background

可操纵的金字塔允许我们以不同的尺度和角度表示图像,这揭示了原本隐藏的重要信息。更技术性的说明:可控金字塔分解是一种多尺度分解,由以尺度(频率)和角度方向为特征的子带滤波器响应组成。它没有走样,并且是过完备的,这意味着分解包含的信息比重建原始图像所需的更多。

复分解的动机

复分解允许我们在多个尺度和方向上获得局部相位信息。本节介绍金字塔分解中对相位信息的需求。

相位重要性

如果说相位有一点需要了解的话,那就是它告诉我们物体在图像中的位置。我们可以通过对具有复数频率表示的图像进行二维傅里叶变换来获得相位信息。傅里叶变换的幅度通常是可视化的,因为它描述了信息如何在不同的频率上分布,但实际上相位包含关于图像的关键信息。事实上,我们无法仅用幅值重建图像,但如果只使用相位,我们可以接近。下面是一个例子:

from skimage.data import camera

image = camera()

# get magnitude and phase of DFT
dft = np.fft.fft2(image)
magnitude = np.abs(dft)
phase = np.angle(dft)

# reconstruct seperatley with magnitude and phase
mag_recon = np.fft.ifft2(magnitude) 
ang_recon = np.fft.ifft2(np.exp(1j*phase)) 
Figure 1. Example of Phase only and magnitude only reconstruction. 

上面的图像证明了幅值不能提供足够的信息来重建图像,但相位提供了足够的信息来恢复主要边缘,类似于高通滤波器。这是由于相位一致性

相位一致性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值