This benchmark is dedicated to solver of TV-2D regularised regression problem:
-
$\boldsymbol{y} \in \mathbb{R}^{n \times m}$ is a vector of observations or targets. -
$A \in \mathbb{R}^{n \times n}$ is a design matrix or forward operator. -
$\lambda > 0$ is a regularization hyperparameter. - the datafit is
$f(\boldsymbol{y},A\boldsymbol{u})=\sum_{k=1}^{n}\sum_{l=1}^{m} l(y_{k,l}, (A\boldsymbol{u}))_{k,l}$ , where$l$ can either be the quadratic loss$l(y, x) = \frac{1}{2} \vert y - x \vert_2^2$ , or the Huber loss$l(y, x) = h_{\delta} (y - x)$ defined by
-
$D_1 \in \mathbb{R}^{(n-1) \times n}$ and$D_2 \in \mathbb{R}^{(m-1) \times m}$ are finite difference operators, such that the regularised TV-2D term$g(\boldsymbol{u}) = \lambda \| \boldsymbol{u} \|_{TV}$ expressed as follows.
In isotropic cases:
In anisotropic cases:
where n (or height) and m (or width) are the dimensions of the image.
The type of loss is controlled by the data_fit
attribute of the Objective.
A simple version of this benchmark can be run using the following commands:
$ pip install -U benchopt $ git clone https://github.com/benchopt/benchmark_tv_2d $ cd benchmark_tv_2d $ benchopt install --config example_config.yml $ benchopt run --config example_config.yml
To run the benchmark on a limited subset of Objectives, Solvers or Datasets, visit https://benchopt.github.io/api.html or use the command `benchopt run -h
.