PyLops / pyproximal

PyProximal – Proximal Operators and Algorithms in Python
https://pyproximal.readthedocs.io
GNU Lesser General Public License v3.0
48 stars 12 forks source link

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

Open marcusvaltonen opened 2 years ago

marcusvaltonen commented 2 years ago

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

mrava87 commented 2 years ago

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 :)

marcusvaltonen commented 2 years ago

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.

marcusvaltonen commented 2 years ago

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

marcusvaltonen commented 2 years ago

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.

mrava87 commented 2 years ago

No worries, take your time :)