Electronics Stationary 3d scanner using a standard camera

AI Thread Summary
Stationary 3D scanning can be achieved using a standard camera and photogrammetry, which is a cost-effective alternative to expensive scanners. The proposed setup involves a mechanized turntable for object rotation and a robotic hand to adjust the camera's position for comprehensive coverage. Captured images would be processed by specialized software to create a 3D model. Challenges include ensuring surface texture does not interfere with analysis and developing algorithms to classify and simplify data points into geometric surfaces. The discussion also highlights technical considerations for using multiple cameras and the difficulties in managing USB connections for such setups.
Nikkie
Messages
1
Reaction score
0
I know there are some stationary 3d scanners like this, but they are really expensive.

When I saw, well an addition to handheld 3d scanner - a robotic hand, I came up with an Idea that same can be done with a simple camera, and photogrammetry. Found a nice article about photogrammetry on the same site of this robot. It seems that it's the cheapest way, I already have a good camera.

The Idea is to use a mechanized turntable to rotate an object, and a robo-hand to move the camera up and down, so it can capture all the sides of an object. Ideally the photos should automatically be sent to a special software which then makes a 3d model.

I'd like to make such project if a future 3-4 mount, and I would describe the whole process here, if you guys are interested. It motivates me if I can share my work with other people and get feedback.
 
Physics news on Phys.org
I would think the Robotic hand would not be cheap (?) .
If cost is an issue the biggest bargains are cameras by far. I have built real time triangulating systems using multiple cameras to allow real time aperture synthesis of ultrasound. Were I to contemplate such a low cost system I would use multiple rigidly fixed cameras who can accurately self-locate using a dedicated target(s) before analysing the test object.
Of course the software is then entirely home brew and not trivial. But fun and challenging
 
Surface texture could confound analysis. It would be good if the surface being analysed could have a random pattern that was independent of the view angle.

Surface resolution will be dependent on the pitch of the surface stipple pattern, too fine, and it will be sub-pixel and grey, too coarse and the surface will be high contrast, rough and gritty.

There is a need to rationalise swarms of data points to simple geometric surfaces. I would want algorithms to extract geometric surfaces from 3D data files. The algorithm would classify points as members of different surfaces. Then identify the intersections or boundaries of those surfaces. Some points could be rejected as noisy outliers.

It would be good with multiple fixed cameras, if the other camera positions could be in shot.

Maybe consider a fixed camera with a movable mirror. The mirror position and the reflected image contain the required information. What if the camera and mirror moved independently on a precise circular track around the object?
 
Tangential, Windows 10 struggles to distinguish between multiple 'identical' USB web-cams. Doesn't auto-number as (1), (2) as they connect, just calls each 'WEBCAM'. If you dig deep enough into the 'system' etc, you'll find each has a different port / address, but there's no obvious way to allocate / map a 'name' to each. Which makes assembling a 'surround' rig with eg 4~6+ budget web-cams via a powered USB hub just another exasperating step harder...

FWIW, has any-one managed to get a USB web-cam working with a 'budget' printer-server ? PC can see thumb-drives, printers etc in the networked widget's USB port, but not a web-cam. Or, um, a USB GPS dongle...
 
Baluncore said:
It would be good with multiple fixed cameras, if the other camera positions could be in shot.
One of the nice things about fixed cameras and a known calibrating target is that the camera positions need to be stable but not at all precise, so the mounts can be very crude (but solid). Only the calibrator need be true. The method of using one camera to look at another camera is also slightly complicated by needing precise characterization of the optic axis and frame direction (meaning camera orientation) for every camera.
Nik_2213 said:
Tangential, Windows 10 struggles to distinguish between multiple 'identical' USB web-cams. Doesn't auto-number as (1), (2) as they connect, just calls each 'WEBCAM'. If you dig deep enough into the 'system' etc, you'll find each has a different port / address, but there's no obvious way to allocate / map a 'name' to each. Which makes assembling a 'surround' rig with eg 4~6+ budget web-cams via a powered USB hub just another exasperating step harder...
This can (I think) be done when using the camera locating target . Put little scotchbrite retroreflectors on the target and an LED on each camera. The target will show up very bright in only the requested camera. So the port correspondence would be part of set-up/calibration and trivial. Just a bit more software. Of course I never write the software.
Or one could also "roll your own" control board for the cameras
 
Some time ago I posted this Raspberry PI DIY Mass Spec using Raman Scattering. It's was something of a cumbersome project though, needing a 3D printer and special heat-resistant plastic giving of carcinogenic fumes during printing. To be blunt it was also not very mobile and interpreting the results was further cumbersome Recently though, I've been told that Arduino, and it's various sensor packages, has matured to the point where it's a usable alternative. Now I realize that a cigarette...
Thread 'Nonlinear rubberband type thing - "k" dropping fast as it is stretched'
What materials can I try in order to get a curve of displacement versus force that looks somewhat like this.. (of course, there would be a small kink around the origin where the ends of the rubberband are closer together than its length, which is not shown here). I am looking for something that will last at least 100 stretch cycles and is not messy, so for example liquid based colloidal stuff won't be suitable. Is there something one can whip up using silicone and some additive, say? Or...
Back
Top