3 ms·
I'm really curious about the photogrammetry. It seems to share similarities with computed tomography only it's probably mostly for visible light with opaque su
by wyldfire 5y ago
I'm really curious about the photogrammetry. It seems to share similarities with computed tomography only it's probably mostly for visible light with opaque surfaces. Like computed tomography, you can design a rotating gantry for your detector(s). Are there hobbiest versions of these?
For the software doing the actual reconstruction, is there anything like a radon transform underlying the algorithm used to recover the object? Or does that only work with attenuation?
- namibj 5y agoIf you have textured surfaces, you can also "just" use a camera that you move around the scene. Turns out, most surfaces have sufficient texture if you go close-up. There are DIY gantrys for the line-laser type of scanner. The software tends to be significantly more complicated. Here's a link to something fairly modern, yet not dependent on ML [0], project page here [1]. The code is open-source, but it has/had some issues when running on Linux, the critical ones I fixed in my GH fork. [0]: https://www.gcc.tu-darmstadt.de/media/gcc/papers/Aroudj-2017-TSR-Prepress.pdf https://www.gcc.tu-darmstadt.de/media/gcc/papers/Aroudj-2017... [1]: https://www.gcc.tu-darmstadt.de/home/proj/tsr/tsr.en.jsp https://www.gcc.tu-darmstadt.de/home/proj/tsr/tsr.en.jsp
- matjazdrolc 5y agoCT works when the scanned object is partially transparent to the light. In linked slides I was scanning a beer glass. I used father’s LP record player to have rotation at a fixed speed. Source of light was an LCD screen showing white picture in fullscreen. Fixed record player rotational speed + fixed camera framerate gave me accurate angles to run backprojection. The backprojection algorithm I used for this CT proof of concept is rather unsophisticated. You simply “extrude” each 2D photo in the direction camera is looking at. Then you add up all these volumes from different photos and you’re done. Almost. You can get sophisticated and try to correct for various imperfections of this crude method. Here are slides in Slovene with photos of my garage CT scanner https://drola.si/demos/ct_prezentacija.pdf https://drola.si/demos/ct_prezentacija.pdf I believe photogrammetry is computationally vastly more complicated than CT but I haven’t gone deep into it yet.
- tomas789 5y agoDisclaimer: I have a degree in robotics and worked for what is now Lyft Level 5, dealing with autonomous driving. What it does is basically a big optimization problem. You have 6 parameters for each picture (x, y, z, roll, pitch, yaw, although in practice there are better parametrizations based on what is called Quaternions). Than three prameters for the position of each keypoint. Those are simply the same physical spots on multiple image that are matched based on their visual appearance. Last component is a metric that you try to optimize. That is mostly just reprojection error. Given all your current estimates where yould the keypoints be projected on this synthetic image. Then you compare it with the pixel locations of where it actually in and try to minimize this. It is actually a very versatile and robust pipeline which gives you what you’ve seen on the images. Last step is to produce the dense reconstruction which is commonly done using patch match algorithm. You can try it for yourself with the OpenMVG library. Very hackable and versatile.
- jazzyjackson 5y agoJust on the point about turntables: I've done a good deal of photogrammetry on small objects, and part of what helps the photo alignment is the background. If the object is on a turn table and the background never changes (even if its blank) the software will have a hard time with alignment, so its best to just walk around the object, besides you have to get lots of up-high and down-low shots which is another step to automate.
- regularfry 5y agoHave you tried something like a greenscreen background? I've done a little with turntables and ran into exactly the problem you're alluding to. Would chroma-keying the background out, to get rid of it entirely, help?