As soon as I saw that animation in the blog post, I knew that was from the user “amoeba” in stats stack exchange. Quite random, but turned out my memory was accurate: https://stats.stackexchange.com/a/140579
The paper “Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions” (Halko, Martinsson, and Tropp) is on arxiv. It is generally pretty accessible (although a little mathy), but also has great pseudocode for a number of common use-cases.
Years ago I did a write up of how the SVD relates to singularities of a robotic manipulator:
https://akintokinematics.com/notebooks/singular_value_decomp...
And, this makes me naively assume you could apply some reversible transformation to the image, before applying this, to reduce some of the "perceptual" error (even if at the expense of numeric error)?
FWIW, on the author's footnote: if anyone is interested truncated SVD and applications to low-rank approximations to convolutions, here's a very outdated paper of mine on exactly that! :)
https://www.sciencedirect.com/science/article/abs/pii/S01689...