3 ms·
The SVD seems to come up everywhere in my work in computer vision. I find myself continuously using the various C++/Eigen SVD implementations. Actually I should
by waynecochran 3mo ago
The SVD seems to come up everywhere in my work in computer vision. I find myself continuously using the various C++/Eigen SVD implementations. Actually I should speak in the past tense. Claude and Codex are now generating all my code for me now, and I see them spitting out SVD code frequently -- often for very special cases. SVD truly is an amazing tool.
- eigenspace 3mo agoIt comes up anywhere that youre working with data that has some sort of correlation structure. In image processing, the SVD makes it possible to talk about all the rich spatial correlations in the image, and pick out the strongest ones and discard noise. This is also why it's so ubiquitous in compression algorithms, and of central importance in stuff like quantum information.
- fooblaster 3mo agowhat work are you doing in computer vision that isn't entirely ML these days?
- waynecochran 3mo agoI'll give you one example, an often first step to solving the Perspective N Point (PNP) problem involves using the Direct Linear Transform (DLT) method which boils down to solving AX = 0 where A in a 12x2N matrix (N can be 6 to 500). The best way to solve this is with SVD. The first published PNP solver (for N = 3) dates to 1841 (did not use SVD) and we still are solving that problem now and I imagine we will still be solving it in 100 years (?).
- fooblaster 3mo agoclassic! Used the same thing to solve for the rigid transform of an April tag for a calibration problem years ago.
- aptitude_moo 3mo agoI'm not the person you are replying to but I work in image processing of SAR radar images and it's mostly ML-free (thankfully because I don't enjoy it). I dont know which other areas still work with these things
- fooblaster 3mo agoWhat sort of algorithms do you run on SAR images?
- aptitude_moo 3mo agoFor example, to create the image from the radar pulses, you can do time-domain backprojection, omega-k and others. Then when comparing images of different dates you can do SAR interferometry, then use numerical methods, iterative algorithms. Although I'm thinking this may be called signal processing instead of computer vision.
- TimorousBestie 3mo ago> Claude and Codex are now generating all my code for me now, and I see them spitting out SVD code frequently -- often for very special cases. I find this so annoying. I had to PR some Claude-generated gaussian elimination routine last month and making sure it got the pivoting logic correct was a waste of my time.
- waynecochran 3mo agoYou are doing it wrong. Have Claude generate the test code and log test data that it can feed back into itself. Claude can generate tests and verify the code better than humans now. I don't trust humans to get things right anymore -- I have a PhD and Claude knows all the math and libraries better than me.
- TimorousBestie 3mo ago> You are doing it wrong. I didn’t write any of it. I occasionally get assigned PRs written (or not, in this case) by other devs. > Claude can generate tests and verify the code better than humans now. It certainly didn’t do that in this case. > I don't trust humans to get things right anymore -- I have a PhD and Claude knows all the math and libraries better than me. If it knows all the libraries so well, why did it add a bespoke implementation?
- jmalicki 3mo agoIf you're getting code without tests to review in a PR, that should be an instant reject without even looking at the code.
- waynecochran 3mo agoGo ahead and have claude add and run units tests for you as part of the PR review process.
- jmalicki 3mo ago