图像处理-Ch7-快速小波变换和小波包

个人博客!无广告观看,因为这节内容太多了,有点放不下,分了三节

文章目录

    • 快速小波变换(The Fast Wavelet Transform)
      • 与两频段子带编译码系统的关系
        • 例:计算一维小波变换
      • 一维快速小波反变换
        • 例:计算一维小波反变换
      • FFT与FWT的区别
    • 小波包(Wavelet Packets)
      • 分析树
        • 例:三尺度分析树

快速小波变换(The Fast Wavelet Transform)

实现DWT的快速实现。

再次考虑MRA方程:
φ ( x ) = ∑ n h φ ( n ) 2 φ ( 2 x − n ) \varphi(x)=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2x - n) φ(x)=nhφ(n)2 φ(2xn)
x x x乘以 2 j 2^{j} 2j,平移 k k k,并令 m = 2 k + n m = 2k + n m=2k+n,得到 :
φ ( 2 j x − k ) = ∑ n h φ ( n ) 2 φ ( 2 ( 2 j x − k ) − n ) = ∑ n h φ ( n ) 2 φ ( 2 j + 1 x − 2 k − n ) = ∑ m h φ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \begin{align}\varphi(2^{j}x - k)&=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2(2^{j}x - k)-n)\\ &=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2^{j+1}x-2k-n)\\ &=\sum_{m}h_{\varphi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m) \end{align} φ(2jxk)=nhφ(n)2 φ(2(2jxk)n)=nhφ(n)2 φ(2j+1x2kn)=mhφ(m2k)2 φ(2j+1xm)
对于小波函数,有类似结果:
ψ ( 2 j x − k ) = ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \psi(2^{j}x - k)=\sum_{m}h_{\psi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m) ψ(2jxk)=mhψ(m2k)2 φ(2j+1xm)
对于离散小波函数,有:
W ψ ( j , k ) = 1 M ∑ x f ( x ) 2 j / 2 ψ ( 2 j x − k ) W_{\psi}(j,k)=\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{j/2}\psi(2^{j}x - k) Wψ(j,k)=M 1xf(x)2j/2ψ(2jxk)
进一步,有:
W ψ ( j , k ) = 1 M ∑ x f ( x ) 2 j / 2 [ ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) ] W_{\psi}(j,k)=\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{j/2}\left[\sum_{m}h_{\psi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m)\right] Wψ(j,k)=M 1xf(x)2j/2[mhψ(m2k)2 φ(2j+1xm)]
交换求和与积分并重新排列项,得到 :
W ψ ( j , k ) = ∑ m h ψ ( m − 2 k ) [ 1 M ∑ x f ( x ) 2 ( j + 1 ) / 2 φ ( 2 j + 1 x − m ) ] W ψ ( j , k ) = ∑ m h ψ ( m − 2 k ) W φ ( j + 1 , m ) 同理 , W φ ( j , k ) = ∑ m h φ ( m − 2 k ) W φ ( j + 1 , m ) W_{\psi}(j,k)=\sum_{m}h_{\psi}(m - 2k)\left[\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{(j + 1)/2}\varphi(2^{j + 1}x - m)\right]\\ W_{\psi}(j,k)=\sum_{m}h_{\psi}(m - 2k)W_{\varphi}(j + 1,m)\\ 同理,\ W_{\varphi}(j,k)=\sum_{m}h_{\varphi}(m - 2k)W_{\varphi}(j + 1,m) Wψ(j,k)=mhψ(m2k)[M 1xf(x)2(j+1)/2φ(2j+1xm)]Wψ(j,k)=mhψ(m2k)Wφ(j+1,m)同理, Wφ(j,k)=mhφ(m2k)Wφ(j+1,m)
上述方程表示了快速小波变换(FWT), 揭示了相邻尺度的离散小波变换(DWT)系数之间的显著关系。

可以看到,尺度 j j j的近似系数 W φ ( j , k ) W_{\varphi}(j,k) Wφ(j,k)和细节系数 W ψ ( j , k ) W_{\psi}(j,k) Wψ(j,k)都可以通过将尺度 j + 1 j+1 j+1的近似系数 W φ ( j + 1 , k ) W_{\varphi}(j + 1,k) Wφ(j+1,k)与时间反转的缩放向量 h φ ( − n ) h_{\varphi}(-n) hφ(n)和小波向量 h ψ ( − n ) h_{\psi}(-n) hψ(n)进行卷积,并对结果进行下采样得到。

T与W同

与两频段子带编译码系统的关系

Q: 两频段子带编译码系统?

A: 是一种将信号分解为低频和高频子带的系统

  1. 低通通道(Low-Pass Channel):对应于尺度滤波器 h φ ( n ) h_{\varphi}(n) hφ(n),用于提取信号的低频成分。
  2. 高通通道(High-Pass Channel):对应于小波滤波器 h ψ ( n ) h_{\psi}(n) hψ(n),用于提取信号的高频成分。

∑ k g 0 ( k ) h 0 ( n − k ) + ( − 1 ) n ∑ k g 0 ( k ) h 0 ( n − k ) = 2 δ ( n ) , δ ( n ) = { 1 , n = 0 0 , n ≠ 0 ∑ k g 0 ( k ) h 0 ( 2 n − k ) = ⟨ g 0 ( k ) , h 0 ( 2 n − k ) ⟩ = δ ( n ) ⟨ h i ( 2 n − k ) , g j ( k ) ⟩ = δ ( i − j ) δ ( n ) i , j ∈ { 0 , 1 } \sum_{k}g_{0}(k)h_{0}(n - k)+(-1)^{n}\sum_{k}g_{0}(k)h_{0}(n - k)=2\delta(n),\delta{(n)}=\begin{cases}1 ,&n=0\\0, &n\neq 0\end{cases}\\ \sum_{k}g_{0}(k)h_{0}(2n - k)=\langle g_{0}(k),h_{0}(2n - k)\rangle=\delta(n)\\ \langle h_{i}(2n - k),g_{j}(k)\rangle=\delta(i - j)\delta(n)\quad i,j\in\{0,1\} kg0(k)h0(nk)+(1)nkg0(k)h0(nk)=2δ(n)δ(n)={1,0,n=0n=0kg0(k)h0(2nk)=g0(k),h0(2nk)⟩=δ(n)hi(2nk),gj(k)⟩=δ(ij)δ(n)i,j{0,1}

上述快速小波变换过程与两频段子带编译码系统的分析部分相同,其中:
h 0 ( n ) = h φ ( − n ) h 1 ( n ) = h ψ ( − n ) h_{0}(n)=h_{\varphi}(-n)\\ h_{1}(n)=h_{\psi}(-n) h0(n)=hφ(n)h1(n)=hψ(n)
可以写出 :
W ψ ( j , k ) = h ψ ( − n ) ∗ W φ ( j + 1 , n ) ∣ n = 2 k , k ≥ 0 W φ ( j , k ) = h φ ( − n ) ∗ W φ ( j + 1 , n ) ∣ n = 2 k , k ≥ 0 W_{\psi}(j,k)=h_{\psi}(-n)\ast W_{\varphi}(j + 1,n)\big|_{n = 2k,k\geq0}\\ W_{\varphi}(j,k)=h_{\varphi}(-n)\ast W_{\varphi}(j + 1,n)\big|_{n = 2k,k\geq0} Wψ(j,k)=hψ(n)Wφ(j+1,n) n=2k,k0Wφ(j,k)=hφ(n)Wφ(j+1,n) n=2k,k0
其中卷积在 n = 2 k ( k ≥ 0 ) n = 2k(k\geq0) n=2k(k0)时刻进行求值。在非负、偶数时刻,计算卷积与以2为步长进行过滤和抽样的效果相同。

值得注意的是,滤波器组可以“迭代”以创建多级结构,用于计算两个或多个连续尺度的 DWT 系数,如图所示。

image-20241225114935315

例:计算一维小波变换

与上面的例子同: f ( n ) = { 1 , 4 , − 3 , 0 } f(n)=\{1,4,-3,0\} f(n)={1,4,3,0}, 但现在使用相应的尺度和小波向量:
$$

h_{\varphi}(n)=\begin{cases}\frac{1}{\sqrt{2}},&n=0,1\0,& otherwise\end{cases}\\
h_{\psi}(n)=\begin{cases}\frac{1}{\sqrt{2}},&n=0\-\frac{1}{\sqrt{2}},&n=1\0,& otherwise\end{cases}
$$
这是用于建立FWT滤波器族的函数,它们给出了滤波器系数。

image-20241225115401963

一维快速小波反变换

上采样序列定义为:
y 2 ↑ ( n ) = { y ( n / 2 ) , n 是偶数 0 , 其他 y_{2\uparrow}(n)=\begin{cases}y(n/2),&n是偶数\\0,&其他\end{cases} y2(n)={y(n/2),0,n是偶数其他
其中 y ( n ) y(n) y(n)是一维取样序列,上采样因子为2。因子2上取样可以被视为在 y ( n ) y(n) y(n)的每个样本后插入一个0.

image-20241225165159030

例:计算一维小波反变换

快速小波反变换的计算与正变换的计算呈镜像关系。在开始计算之前,先对0级近似系数和细节系数进行上取样,分别得到{4,0},{1,0},然后继续向右移动,卷积,最终可以得到 f ( x ) = T φ ( 2 , n ) f(x)=T_{\varphi}(2,n) f(x)=Tφ(2,n).

image-20241225164731974

FFT与FWT的区别

  • 计算长度为 M = 2 j M = 2^j M=2j序列的FWT所涉及的数学运算量为 O ( M ) O(M) O(M)阶。
  • 这与FFT算法相比具有优势,FFT算法需要 O ( M log ⁡ M ) O(M\log M) O(MlogM)
  • 虽然傅里叶基函数(即正弦函数)保证了FFT的存在,但FWT的存在取决于所使用小波的缩放函数的可用性,以及缩放函数和相应小波的正交性(或双正交性)。
  • FFT无法同时在时间和频率上分析函数,但FWT可以。

小波包(Wavelet Packets)

快速小波变换(FWT)将函数分解为尺度和小波函数之和,其中尺度和小波函数的带框呈对数关系。也就是说,函数的低频内容被分组到窄频带(尺度和小波函数)中,而高频内容被分组到较宽的频带(尺度和小波函数)中。

如果我们想要对时频平面的划分进行更精细的控制,FWT必须被推广以产生一种更灵活的分解——称为小波包。

分析树

根节点被赋予最高尺度的近似系数,这些系数是函数本身的样本,而叶子节点继承变换的近似和细节系数输出。注意:每个节点的系数都是线性展开的权重。

image-20241225170845632

例:三尺度分析树

例如,上图中的三尺度分析树提供了以下三种展开选项:
V j = V j − 1 ⊕ W j − 1 V j = V j − 2 ⊕ W j − 2 ⊕ W j − 1 V j = V j − 3 ⊕ W j − 3 ⊕ W j − 2 ⊕ W j − 1 \begin{align} V_j& = V_{j - 1} \oplus W_{j - 1}\\ V_j &= V_{j - 2} \oplus W_{j - 2} \oplus W_{j - 1}\\ V_j &= V_{j - 3} \oplus W_{j - 3} \oplus W_{j - 2} \oplus W_{j - 1} \end{align} VjVjVj=Vj1Wj1=Vj2Wj2Wj1=Vj3Wj3Wj2Wj1
其中 ⊕ \oplus 表示空间的直和(类似于集合的并集)。

分析树也是表示小波包的一种有效机制,小波包不过是对细节进行迭代滤波的常规小波变换。因此,上图(b)中的三尺度FWT分析树变成了下图中的三尺度小波包树。

image-20241225193133942

A A A表示近似滤波、 D D D表示细节滤波。图中的小波包树支持26种不同的分解。例如, V j V_j Vj可以展开为:
V J = V J − 3 ⊕ W J − 3 ⊕ W J − 2 , A ⊕ W J − 2 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D ⊕ W J − 1 , D A ⊕ W J − 1 , D D V J = V J − 1 ⊕ W J − 1 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D V_J = V_{J - 3} \oplus W_{J - 3} \oplus W_{J - 2,A} \oplus W_{J - 2,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} \oplus W_{J - 1,DA} \oplus W_{J - 1,DD}\\ V_J = V_{J - 1} \oplus W_{J - 1,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} VJ=VJ3WJ3WJ2,AWJ2,DWJ1,AAWJ1,ADWJ1,DAWJ1,DDVJ=VJ1WJ1,DWJ1,AAWJ1,AD
image-20241225194327314

image-20241225194338398

一般来说, P P P尺度的一维小波包变换(以及相关的 P + 1 P + 1 P+1级分析树)支持:
D ( P + 1 ) = [ D ( P ) ] 2 + 1 D(P + 1)=[D(P)]^2 + 1 D(P+1)=[D(P)]2+1
种独特的分解,其中 D ( 1 ) = 1 D(1)=1 D(1)=1

lign}
V_j& = V_{j - 1} \oplus W_{j - 1}\
V_j &= V_{j - 2} \oplus W_{j - 2} \oplus W_{j - 1}\
V_j &= V_{j - 3} \oplus W_{j - 3} \oplus W_{j - 2} \oplus W_{j - 1}
\end{align}
$$
其中 ⊕ \oplus 表示空间的直和(类似于集合的并集)。

分析树也是表示小波包的一种有效机制,小波包不过是对细节进行迭代滤波的常规小波变换。因此,上图(b)中的三尺度FWT分析树变成了下图中的三尺度小波包树。

[外链图片转存中…(img-D1xm8JZn-1735127696455)]

A A A表示近似滤波、 D D D表示细节滤波。图中的小波包树支持26种不同的分解。例如, V j V_j Vj可以展开为:
V J = V J − 3 ⊕ W J − 3 ⊕ W J − 2 , A ⊕ W J − 2 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D ⊕ W J − 1 , D A ⊕ W J − 1 , D D V J = V J − 1 ⊕ W J − 1 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D V_J = V_{J - 3} \oplus W_{J - 3} \oplus W_{J - 2,A} \oplus W_{J - 2,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} \oplus W_{J - 1,DA} \oplus W_{J - 1,DD}\\ V_J = V_{J - 1} \oplus W_{J - 1,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} VJ=VJ3WJ3WJ2,AWJ2,DWJ1,AAWJ1,ADWJ1,DAWJ1,DDVJ=VJ1WJ1,DWJ1,AAWJ1,AD
[外链图片转存中…(img-zdaG9cvw-1735127696455)]

[外链图片转存中…(img-oieYA8Vt-1735127696456)]

一般来说, P P P尺度的一维小波包变换(以及相关的 P + 1 P + 1 P+1级分析树)支持:
D ( P + 1 ) = [ D ( P ) ] 2 + 1 D(P + 1)=[D(P)]^2 + 1 D(P+1)=[D(P)]2+1
种独特的分解,其中 D ( 1 ) = 1 D(1)=1 D(1)=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/497629.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【从零开始】11. LLaMA-Factory 微调 Qwen 模型(番外篇)

书接上回,在完成了 RAGChecker 测试后,离 RAG 应用真正发布还差最后一步 - 基础信息指令微调。考虑到模型还是需要具备一定程度的“自我认知”,因此需要将公司信息“嵌入”到模型里面的。为此,我选择了 LLaMA-Factory(…

小程序配置文件 —— 15 页面配置

页面配置 小程序的页面配置,也称为局部配置,每一个小程序页面也可以使用自己的 .json 文件来对页面的窗口表现进行配置; 需要注意的是:页面配置文件的属性和全局配置文件中的 window 属性几乎一致,只不过这里不需要额…

Linux高级--2.4.5 靠协议头保证传输的 MAC/IP/TCP/UDP---协议帧格式

任何网络协议,都必须要用包头里面设置写特殊字段来标识自己,传输越复杂,越稳定,越高性能的协议,包头越复杂。我们理解这些包头中每个字段的作用要站在它们解决什么问题的角度来理解。因为没人愿意让包头那么复杂。 本…

算法基础一:冒泡排序

一、冒泡排序 1、定义 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。 …

Spring Cloud LoadBalancer (负载均衡)

目录 什么是负载均衡 服务端负载均衡 客户端负载均衡 Spring Cloud LoadBalancer快速上手 启动多个product-service实例 测试负载均衡 负载均衡策略 自定义负载均衡策略 什么是负载均衡 负载均衡(Load Balance,简称 LB) , 是高并发, 高可用系统必不可少的关…

OneNet平台2024版MQTT协议完整开发案例教程【MQTT数据流模式】

一、前言 此篇文章是以智慧路灯项目为例,完整的演示介绍 OneNet平台的开发。 OneNet平台 是2024年的新版本,采用数据流模版为例。 方便大家,腾讯云IOT 转 OneNet平台。 因为目前腾讯云IOT平台无法白嫖了,新用户已经无法免费使用…

一起学Git【第六节:查看版本差异】

git diff是 Git 版本控制系统中用于展示差异的强大工具。他可以用于查看文件在工作区、暂存区和版本库之间的差异、任意两个指定版本之间的差异和两个分支之间的差异等,接下来进行详细的介绍。 1.显示工作区与暂存区之间的差异 # 显示工作区和暂存区之间的差异,后面不加参数…

【小程序】wxss与rpx单位以及全局样式和局部样式

目录 WXSS 1. 什么是 WXSS 2. WXSS 和 CSS 的关系 rpx 1. 什么是 rpx 尺寸单位 2. rpx 的实现原理 3. rpx 与 px 之间的单位换算* 样式导入 1. 什么是样式导入 2. import 的语法格式 全局样式和局部样式 1. 全局样式 2. 局部样式 WXSS 1. 什么是 WXSS WXSS (We…

uniapp-vue3(下)

关联链接:uniapp-vue3(上) 文章目录 七、咸虾米壁纸项目实战7.1.咸虾米壁纸项目概述7.2.项目初始化公共目录和设计稿尺寸测量工具7.3.banner海报swiper轮播器7.4.使用swiper的纵向轮播做公告区域7.5.每日推荐滑动scroll-view布局7.6.组件具名…

大数据技术-Hadoop(一)Hadoop集群的安装与配置

目录 一、准备工作 1、安装jdk(每个节点都执行) 2、修改主机配置 (每个节点都执行) 3、配置ssh无密登录 (每个节点都执行) 二、安装Hadoop(每个节点都执行) 三、集群启动配置&a…

ipad如何直连主机(Moonlight Sunshine)

Windows 被连接主机(Windows) 要使用的话需要固定ip,不然ip会换来换去,固定ip方法本人博客有记载Github下载Sunshine Sunshine下载地址除了安装路径需要改一下,其他一路点安装完成后会打开Sunshine的Web UI&#xff…

【我的 PWN 学习手札】IO_FILE 之 stdout任意地址读

上一篇文章学会了stdin任意地址写【我的 PWN 学习手札】IO_FILE 之 stdin任意地址写-CSDN博客 本篇关注stdout利用手法,和上篇提及的手法有着异曲同工之妙 文章目录 前言 一、_IO_2_1_stdout_输出链,及利用思路 (一)_IO_2_1_std…

部署SenseVoice

依赖 Conda cuda pythor 查看GPU版本-CSDN博客 创建虚拟conda环境 conda create --name deeplearn python3.10 conda activate deeplearn git clone https://github.com/FunAudioLLM/SenseVoice.git cd SenseVoice pip install -r requirements.txt pip install gradio pyth…

【Compose multiplatform教程06】用IDEA编译Compose Multiplatform常见问题

当我们从Kotlin Multiplatform Wizard | JetBrains 下载ComposeMultiplatform项目时 会遇到无法正常编译/运行的情况,一般网页和桌面是可以正常编译的, 我这里着重解决如下问题 1:Gradle版本不兼容或者Gradle连接超时 2:JDK版本不兼容 3:Gradle依赖库连…

yolov4算法及其改进

yolov4算法及其改进 1、yolov4介绍2、mosaic与mish激活函数2.1、mosaic数据增强2.2、Mish激活函数 3、backbone网络框架的改进4、PAN-FPN的介绍5、样本匹配和损失函数5.1、样本匹配5.2、YOLOV4损失函数5.2.1、GIOU loss5.2.2、DIOU loss5.2.3、CIOU Loss 1、yolov4介绍 改进点&…

Edge如何获得纯净的启动界面

启动Edge会出现快速链接,推广链接,网站导航,显示小组件,显示信息提要,背景 ●复杂页面 ●精简页面 点击页面设置按钮 关闭快速链接 关闭网站导航 关闭小组件 关闭信息提要 关闭背景 关闭天气提示 精简页面看起来十分舒…

目标检测文献阅读-YOLO:统一的实时目标检测(12.23-12.29)

目录 摘要 Abstract 1 引言 2 统一的检测 3 网络设计 4 训练 5 YOLOv5训练猫狗识别模型 5.1 项目代码整体结构介绍 5.2 数据集和预训练权重的准备 5.3 训练猫狗识别模型 5.3.1 修改数据配置文件 5.3.2 修改模型配置文件 5.3.3 训练模型 5.3.4 启用tensorbord查看…

要查询 `user` 表中 `we_chat_subscribe` 和 `we_chat_union_id` 列不为空的用户数量

文章目录 1、we_chat_subscribe2、we_chat_union_id 1、we_chat_subscribe 要查询 user 表中 we_chat_subscribe 列不为空的用户数量,你可以使用以下 SQL 查询语句: SELECT COUNT(*) FROM user WHERE we_chat_subscribe IS NOT NULL;解释: …

【模块系列】STM321.69TFT屏幕

前言 在翻翻自己的器件盒的时候,发现这块好久之前买的TFT屏了,想起还没有用STM32点亮过,手头上正好有立创的梁山派STM32F4,就试着按照网上的文章教程顺便移植个LVGL看看,然后就有了就本文。 代码工程命名的是LvglDemo&…