分段线性函数在 numpy 中的全变分实现
Total variation implementation in numpy for a piecewise linear function
我想在 python 中使用 total variation,但找不到现有的实现。
假设我有一个包含有限数量元素的数组,使用 numpy 的实现是否简单如下:
import numpy as np
a = np.array([...], dtype=float)
tv = np.sum(np.abs(np.diff(a)))
我的主要疑问是如何在所有分区中计算 tv
的上界,以及是否仅绝对差之和就足以满足有限的浮点数组。
编辑:我的输入数组表示分段线性函数,因此整个分区集的上确界确实是连续点之间绝对差的总和。
是的,没错。
我想您对 Wikipedia page for total variation. Have a look at the more practical definition on the Wikipedia page for total variation denoising 上的数学定义感到困惑。
对于实际代码(甚至 Python)实现,请参见例如Tensorflow's total_variation()
,尽管这是针对一张或多张(2D,彩色)图像,所以 TV 是针对行和列计算的,然后加在一起。
我想在 python 中使用 total variation,但找不到现有的实现。
假设我有一个包含有限数量元素的数组,使用 numpy 的实现是否简单如下:
import numpy as np
a = np.array([...], dtype=float)
tv = np.sum(np.abs(np.diff(a)))
我的主要疑问是如何在所有分区中计算 tv
的上界,以及是否仅绝对差之和就足以满足有限的浮点数组。
编辑:我的输入数组表示分段线性函数,因此整个分区集的上确界确实是连续点之间绝对差的总和。
是的,没错。
我想您对 Wikipedia page for total variation. Have a look at the more practical definition on the Wikipedia page for total variation denoising 上的数学定义感到困惑。
对于实际代码(甚至 Python)实现,请参见例如Tensorflow's total_variation()
,尽管这是针对一张或多张(2D,彩色)图像,所以 TV 是针对行和列计算的,然后加在一起。