PyLops/pyproximal

Add support for proximal operator proposed in "Convex Low Rank Approximation" by Larsson and Olsson

marcusvaltonen opened this issue · 5 comments

In [1] a general low-rank inducing framework was introduced and showed many benefits compared to e.g. the nuclear norm when applied to common computer vision tasks. This was later generalized in [2].

Suggestion on enhancement

Implement [2] and treat the special cases R_g, R_mu and R_i=k, separately. (See papers for details).

References

[1] Larsson and Olsson, "Convex Low Rank Approximation", International Journal of Computer Vision (IJCV), 2016
[2] Valtonen Ornhag and Olsson, "A unified optimization framework for low-rank inducing penalties", In the Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020

Same as this other issue, I will be happy for us to support this.

I actually have a project starting soon where we would like to look more into these algorithms in the context of geophysical inverse problems, so I will be very happy to team up to get these methods in pyproximal so we can easily compare them against each other in a easy way :)

I can look into this. I just want to clarify that these penalties work in both the linear and bilinear setting, so they are independent of second-order methods and can be implemented in no particular order.

The R_mu penalty is the f_mu (quadratic envelope of the cardinality function) acting on the singular values. There is a PR for this penalty open #71

I am still working on a tutorial for this. Unfortunately, I have to prioritize other things, but I expect to have something by the end of the summer.

No worries, take your time :)