3 ms·
Strangely enough, the author only mentions total variation denoising in passing as a feature of SmartBlur. I would say this method is one of the most common, es
by tansey 11y ago
Strangely enough, the author only mentions total variation denoising in passing as a feature of SmartBlur. I would say this method is one of the most common, especially when your image has sharp transitions and lots of solid regions of color (e.g. pictures of buildings). I wrote what is effectively one of two of the fastest TV denoising algorithms and implementations out there: https://github.com/tansey/gfl https://github.com/tansey/gfl
The way to use it in image processing is to basically think of each pixel as a point on a graph, with edges between its adjacent pixels. Then you apply a least squares penalty with an additional regularization penalty on the absolute value of the difference between neighboring pixels. The result is regions of constant pixel color.
- dpwm 11y agoIt wasn't too clear but I wonder if the author was referring to deconvolution under a Total Variation prior -- this is a little different to deconvolving and then applying TV denoising or just applying TV denoising. Either way, the results of overdoing it with TV are the same: cartoony images with large regions of constant colour. The difference is that incorporating TV within iterative deconvolution reduces some compression artefacts and removes some of the ripples around large discontinuities shown in the author's pictures.
- rer0tsaz 11y agoI agree that the staircasing effect is definitely the biggest drawback of Total Variation. In the "Smoothed" picture the noise is removed but the results are blocky. The first way to deal with it is to take into account higher powers of the differences, e.g. using a linear combination p-norms or a Huber function. The second way is to take into account second order differences. This promotes piecewise affine instead of piecewise constant functions. You can go further and look at third order differences, but the improvement is minimal. Other than being more complex, the biggest downside is that all of these methods have some new parameter(s) to tune.
- tansey 11y ago> Other than being more complex, the biggest downside is that all of these methods have some new parameter(s) to tune. They're so fast to run though, that just doing warm-starts and a huge solution path (or grid in the case of additional penalties) with a BIC selection criteria is a pretty decent way to auto-tune the parameters.