Total Variation Denosing

2023-12-04 13:48
文章标签 total variation denosing

本文主要是介绍Total Variation Denosing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(来自wiki  total variation denoising)

 

In signal processing, Total Variation denoising, also known as total variation regularization is a process, most often used in digital image processing that has applications in noise removal. It is based on the principle that signals with excessive and possibly spurious detail have high total variation, that is, the integral of the absolute gradient of the signal is high. According to this principle, reducing the total variation of the signal subject to it being a close match to the original signal, removes unwanted detail whilst preserving important details such as edges. 

 

Total Variation,顾名思义,即是信号的变化程度之和。对一维信号yn,TV项为

V(y) = /sum/limits_n/left|y_{n+1}-y_n /right|.

总体来讲,由于噪音信号(图像)相邻信号间不平滑,随机变化较大,故total variation比较大,而平滑信号则TV项比较小。通过minimize total variation,可以去除噪音,平滑信号。TV相比median filter和linear smooth的优点是不像这两个一样,在去除噪音的时候同时也会把边缘smooth了,median filter和linear smooth是不会区分边缘和噪音的。而total variation似乎只对噪音比较敏感,而能保留一定得边缘信息(why?)。

 

如果给定一个带随机噪音的信号 xn, 想找一个接近xn的信号yn, 但具有更小的total variation. 可以用下面的式子来衡量:

the sum of square errors:

 

E(x,y) = /frac{1}{2}/sum/limits_n/left(x_n - y_n/right)^2.

 

最后整个问题就变为求下式最小值:

E(x,y) + λV(y)

一共是两个分量,前者是fidelity constraint,后者为TV项。λ用来调整权重。可用极端思想来考虑:若λ为0,则TV项完全没有起到惩罚作用,求得的信号x等于原信号y;反之,若λ-->无穷,则完全是TV惩罚项起主导作用,求得的信号x会尽可能的满足TV项很小,但fidelity就会很差,可能偏离原先信号很远,甚至连原信号x的基本structure也无法体现,就没法取得消除噪音的效果了。这个式子对y进行求求偏导,可以构造出拉格朗日方程来求解。

 

 

考虑2维信号的情况(e.g. 图像)

设y是一幅图像,total variation norm --> 

 

V(y) = /sum_{i,j} /sqrt{ |y_{i+1,j} - y_{i,j}|^2 + |y_{i,j+1} - y_{i,j}|^2 }

或者也可以求解下面方程:

 

V_/text{an-iso}(y) = /sum_{i,j} /sqrt{ |y_{i+1,j} - y_{i,j}|^2} + /sqrt{|y_{i,j+1} - y_{i,j}|^2 } = /sum_{i,j} |y_{i+1,j} - y_{i,j}| + |y_{i,j+1} - y_{i,j}|.


同理,最后整个问题就变为求下式最小值:

 

 /min_y /; E(x,y) + /lambda V(y)

这篇关于Total Variation Denosing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/453677

相关文章

python pip 时候出现Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None))

意思就是 连接超时,安装不上,  我们换个地址下载就好了. pip install xxx -i url   xxx: 你要下载的库, 自己修改名字 url : pip源   国内几个pip源如下: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

Total CAD Converter与Total Excel Converter软件分享

1.软件介绍 Total CAD Converter Total CAD Converter 是一款功能强大的工具,能够将 CAD 文件转换为多种格式,如 PDF、TIFF、JPEG、BMP、WMF、PNG、DXF、BMP、CGM、HPGL、SVG、PS 和 SWF 等。其支持的源格式丰富多样,包括 dxf、dwg、dwf、dwfx、plt、hg、hgl、hpg、plo、hp、hpl、hpgl

Leetcode 3186. Maximum Total Damage With Spell Casting

Leetcode 3186. Maximum Total Damage With Spell Casting 1. 解题思路2. 代码实现 题目链接:3186. Maximum Total Damage With Spell Casting 1. 解题思路 这一题就是一个简单的动态规划的题目,我们只需要考虑每一个位置上的元素取或者不取即可: 如果不取,直接考察下一个元素即可;如果取,考察能

WordPress 高级缓存插件 W3 Total Cache Pro 详细配置教程

说起来有关 WordPress 缓存插件明月已经发表过不少文章了,但有关 W3 Total Cache Pro 这个 WordPress 高级缓存插件除了早期【网站缓存插件 W3 Total Cache,适合自己的才是最好的!】一文后就很少再提及了,最近因为明月另一个网站【玉满斋】因为某些性能上的需要准备更换缓存插件为 W3 Total Cache Pro,正好趁着这个机会就给大家分享一下高级缓存

Leetcode 3181. Maximum Total Reward Using Operations II

Leetcode 3181. Maximum Total Reward Using Operations II 1. 解题思路2. 代码实现 题目链接:3181. Maximum Total Reward Using Operations II 1. 解题思路 这一题的话思路上依然还是动态规划的思路,核心的迭代关系式如下: def dp(idx, pre_sum) :if nums[idx

【xinfanqie】Total Video Converter转换器的用途

众所周知,Total Video Converter是一款万能转换器,它可以转换多种格式的视频,而它除了转换功能之外还有什么功能呢,现在让乡巴佬下载来介绍一下!   用途一: 万能转换  当然是它的转换功能了,它可以转换多种视频格式与音频格式!   用途二:提取音频   有时,在网上听到一些很好听的歌曲,但网上暂时没有,只有视频网上可以听到,那怎么办呢?   我们可以将视频下载下来,然后用

MySQL插入大批量数据时报错“The total number of locks exceeds the lock table size”的解决办法

事情的原因是:我执行了一个load into语句的SQL将一个很大的文件导入到我的MySQL数据库中,执行了一段时间后报错“The total number of locks exceeds the lock table size”。 首先使用命令 show variables like '%storage_engine%' 查看MySQL的存储引擎: mysql> show variab

mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法

一、问题描述 开发中对一张大表进行批量的更新或者删除的时候 会报以下错误: The total number of locks exceeds the lock table size 从字面上理解,就是当前操作锁住的总行数已经超过设置的锁表的大小。 二、解决办法 解决方案一:分批进行更新或者删除 如给delete 语句后面加上limit ,一次 1w条 delete fr

使用PageHelper分页插件,发现获取到的total总记录数量不对,无法获取到正确的total数量

目录 1.1、错误描述 1.2、解决方案 1.1、错误描述 周一在工作中,写了一个列表分页的接口,其中使用的是PageHelper分页依赖,原本想着挺简单的,也就是使用PageHelper.startPage(pageNum, pageSize);方法就可以了,代码写完了之后,前端联调发现一个问题:每次获取到的记录总数total总是查询出来的记录数量,而不是数据库中的总记录数量。举个例

Total Store Orderand(TSO) the x86 MemoryModel

一种广泛实现的内存一致性模型是总store顺序 (total store order, TSO)。 TSO 最早由 SPARC 引入,更重要的是,它似乎与广泛使用的 x86 架构的内存一致性模型相匹配。RISC-V 还支持 TSO 扩展 RVTSO,部分是为了帮助移植最初为 x86 或 SPARC 架构编写的代码。  为什么需要TSO         处理器核心长期以来一直使用 writ