BM3D算法介绍「建议收藏」

BM3D算法介绍「建议收藏」论文名称:Imagedenoisingbysparse3Dtransform-domaincollaborativefiltering下载地址:https://webpages.tuni.fi/foi/GCF-BM3D/BM3D_TIP_2007.pdfhttps://webpages.tuni.fi/foi/GCF-BM3D/BM3D_TIP_2007.pdf目录基本原理FlowchartofBM3Dstep1step2FastAndEfficient.

大家好,又见面了,我是你们的朋友全栈君。

论文名称:Image denoising by sparse 3D transform-domain collaborative filtering

下载地址:https://webpages.tuni.fi/foi/GCF-BM3D/BM3D_TIP_2007.pdficon-default.png?t=M0H8https://webpages.tuni.fi/foi/GCF-BM3D/BM3D_TIP_2007.pdf

目录

基本原理

Flowchart of BM3D

 step1

step2

Fast And Efficient Realization

 Parameter selection

C-BM3D 

 Results


 

基本原理

        图像做块间匹配,把多张相似的2D图像块组成3D组,对3D组进行域变换,利用域变换上系数的稀疏性,进行滤波,然后再逆向3D域变换,得到滤波后的图像块,放回原来的位置,每个像素可能得到多次滤波的结果,最后进行加权得到降噪的图像。 

Flowchart of BM3D

分两步进行,第一步得到基础估计,第二步得到最终估计,分两步的优势是

1、用基础估计的结果做块匹配,匹配的结果更加准确

2、使用基本估计作为经验维纳滤波的导频信号,比对噪声图像做3D域变换和hard-threshold更有效、更准确 

BM3D算法介绍「建议收藏」

BM3D算法介绍「建议收藏」

BM3D算法介绍「建议收藏」 

 step1

块间匹配距离计算

BM3D算法介绍「建议收藏」

 由于噪声的存在,不考虑重叠的情况,距离的期望和方差如下,其方差为O(σ4)

BM3D算法介绍「建议收藏」

由于实际块匹配时会出现块间重叠,导致一些理想间距大于阈值的块当作了相似块,而小于阈值的却被丢弃了,为了解决这个问题,先对2D块做线性域变换,然后做hard-thresholding,再反变换回来,如下

BM3D算法介绍「建议收藏」 

 间距小于某个阈值,认为是相似块,这些相似块组成3D组,组里块的顺序不重要

BM3D算法介绍「建议收藏」

对3D组做域变换,在变换域上做hard-threshold操作,然后再做逆变换,得到基础估计结果

BM3D算法介绍「建议收藏」 

加权权重和分块估计的方差成反比,NharXR是hard-threshold之后非0系数的数目

BM3D算法介绍「建议收藏」 

根据权重进行加权

BM3D算法介绍「建议收藏」 

step2

对基础估计的结果做块匹配,组成一个3D组,同时,根据匹配结果,把原来的噪声图像块同样组成一个3D组,把两个3D组叠加在一起.

BM3D算法介绍「建议收藏」 

计算维纳系数和维纳滤波

BM3D算法介绍「建议收藏」 

 BM3D算法介绍「建议收藏」

 同样的,加权权重和分块估计的方差成反比

BM3D算法介绍「建议收藏」

加权滤波

BM3D算法介绍「建议收藏」 

Fast And Efficient Realization

1、在进行块匹配过程中,不是滑窗逐像素进行匹配,而是已一定步长进行匹配,可以减少计算量

2、构成3D组的时候,限制最大的匹配块数目 搜索匹配块时,限制最大的搜索区域

3、块匹配时,使用predictive search(具体可能要看下代码如何实现)

4、匹配时已经得到了2D变换,构成3D组时,再做1D变换就得到3D变换,不需要直接做3D变换

5、两个步骤中,进行hard_thresholding和Wiener_filtering时顺便把权重计算好,存在buffer里,最后Aggregation时就可以直接算

6、使用Kaiser window来减少边界效应 

每个像素的复杂度(计算量很大)

BM3D算法介绍「建议收藏」 

 Parameter selection

噪声没那么严重时,λ2d=0,窗口大小N1=8,严重时为λ2d=2,N1=12

还分析了各种变换的选,2D变换用哪个,1D变换用哪个比较好,没有去细看了, 反正最后的1D是使用Haar,2D变换用哪个好像关系不大,一般可能都是用DCT了

BM3D算法介绍「建议收藏」

C-BM3D 

处理彩色图像时,把RGB转到YUV,Y通道进行匹配,匹配的结果直接在UV分量上使用 

BM3D算法介绍「建议收藏」

 Results

BM3D算法介绍「建议收藏」

BM3D算法介绍「建议收藏」 

BM3D算法介绍「建议收藏」 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138901.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月30日 下午5:36
下一篇 2022年5月30日 下午5:46


相关推荐

  • 保姆级本地部署DeepSeek教程:从零到一的完整指南

    保姆级本地部署DeepSeek教程:从零到一的完整指南

    2026年3月15日
    2
  • 进程的挂起与阻塞

    进程的挂起与阻塞挂起与阻塞

    2026年3月18日
    2
  • 令牌桶算法

    令牌桶算法一 什么是令牌桶算法令牌桶算法是比较常见的限流算法之一 要点如下 所有的请求在处理之前都需要拿到一个可用的令牌才会被处理 根据限流大小 设置按照一定的速率往桶里面添加令牌 桶设置最大的放置令牌限制 当桶满时 新添加的令牌就被丢弃或者拒绝 请求到达后首先要获取令牌桶中的令牌 拿着令牌才可以进行其他的业务逻辑 处理完业务逻辑之后 将令牌直接删除 令牌有最低限额 当桶中的令牌达到最低限额的时候 请求处理完之后不会删除令牌 以此保证足够的限流

    2026年3月26日
    3
  • SVN 在线代码托管工具

    SVN 在线代码托管工具在互联网环境使用 SVN 服务 你必须要有一台在互联网环境内支持 SVN 服务的在线服务器 OnlineServer 您可能习惯了在公司的内网使用 SVN 但如果您经常于游走于各种不同的办公环境 比如公司 家里 客户处 用着很多台不同的电脑 那么您将需要一台互联网环境的 SVN 服务器 下面介绍几款 SVN 在线代码托管工具 RiouxSVN nbsp 私有 免费 国外 特点 RiouxSVNisfr and

    2026年3月16日
    2
  • MPP架构是什么?看这一篇就行了。。

    MPP架构是什么?看这一篇就行了。。文章目录 MPP 是什么 SMP SymmetricMul Processor 对称多处理器结构 NUMA Non UniformMemor 非一致存储访问结构 MPP Massive ParallelProc 海量并行处理架构 MPPDB 学习笔记 大数据架构详解 从数据获取到深度学习 MPP 是什么系统架构层面的服务器分类 如下三类 SMP Sym

    2026年3月18日
    2
  • WINDOW端口查看命令

    WINDOW端口查看命令1 netstat ano findstr 8001 查看端口 8001 被哪个进程占用 由下图可以看出 被进程为 3736 的占用 2 查看进程号为 3736 对应的进程 由下图可以看出 是被 java exe 占用了命令 tasklist findstr 3736 3 结束该进程命令 taskkill f t imjava exe 或者根据端口结束 taskkill

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号