3D Scanner With Remarkable Resolution

Modeling simple objects in 3D can take some time. Modeling complex items… well you can get your college degree in that sort of thing. This method side-steps the artistic skill necessary to make the real virtual by using a laser and camera to map a three-dimensional object.

[Alessandro Grossi] is breaking the rules by using a 100mW laser for the project. He thinks that the Italian government prohibits anything over 5mW, but also mentions that the lens used to turn the laser dot into a vertical line drops the power dramatically. The beefy diode does still pay off, providing an incredibly intense line of light on the subject being mapped. The high-end DSLR camera mounted on the same arm as the laser captures a detailed image, which can be processed to dump everything other than the laser line itself. Because the two are mounted on different axes, the image provides plenty of perspective.  That translates to the 3D coordinates used in the captured model shown in the inlaid image.

We’ve seen 3D scanners that move the subject; they usually rotate it to map every side. This method only captures one side, but the stepper motor moves in such small increments that the final resolution is astounding. See for yourself in the video after the break.


47 thoughts on “3D Scanner With Remarkable Resolution

  1. That camera is going to fall apart mechanically before long. To get roughly 1/10th millimeter accuracy, it takes about an hour to shoot 3600 photos at one frame per second to scan in a foot long object. Suppose the camera shutter lasts 500,000 shots – then the lifetime of the scanner is on the order of 150 objects.

    1. Google says the D7000 shutter lifetime expectancy is 150,000 shots, which gives it a lifetime of just 42 scans.

      And that’s why it’s not a very smart thing to use a reflex camera in a 3D scanner.

      1. “Should” be able to use the camera (or one like it) in video mode, live imaging, and just use software to “snap an image”. Just grab a single frame, process it, then get the next frame. I don’t really see any reason you would even need a shutter, other than activating the software in the camera to “take a photo”.

        1. typical resolution of a video is at max 1920×1080 pixel (DH). My matlab script with minor modification could use .mov file from the same d7000 camera. but the resolution of the photos is higher, and the precision of Zeta calculation depends on image resolution. tip: The new go pro 3d take 12 pictures per second at 12 Mp ……

      2. You may need something like Magic Lantern to enable it, but reflex digital cameras are able to lock the mirror up and bypass the shutter mechanism entirely, driving the sensor like a cell phone camera.

        1. You used the best caera you had for the test. It has proved the method, just need to synchronize the jpegs with the laser. how about the RPi, with new 5MP camera.
          I took 1800 shots of a fly with a 450D on a jig with two rotational axis for the fly and z-axis for focal depth . but then I stacked the depth for total focus and animated the rotations into an mpeg ,

  2. I like that no components were destroyed in putting all this together.

    Any idea how many pictures it takes per scan? – The cameras only have a limited shutter life, but it can be in the 30k (if you are unlucky!) to a couple 100k mark, but it might be an issue if you scan a lot of items, over the years….

    Also, is the whole lot balanced on a single stepper motor, which is sat on the edge of a table? That would end up sprawled across the floor in minutes at my house.

  3. Hi Dax, yes your are right. at the moment I take about 600 photos for each mesh. at 2.6 seconds per photos it’s about alf an hour. ad, yes. the shutter of a SLR has an estimated life of about 200-500000 click. This will not be a real scanner, but simply a proof of concept or a joke…. :-)

          1. OMFG thx
            I though that 1/32 is like the upper practical limit

            I got another question… what would you use for a high accuracy pan tilt turret ? a 200steps per rev motor with a microstepping driver or a 28byj-48 geared step motor ?
            The latter has 5.625deg steps but the gearbox reduces that 64 times

          2. Torque drops off rapidly when microstepping, in CNC it’s generally used to increased smoothness, not resolution. Generally above 10x it’s useless for ‘most’ things.

            Not much torque is needed in this case though.

  4. What happens when you scan a disco ball? Do objects have to have a minimum level of specularity and albedo before they’ll scan accurately with this type of scanner?

      1. I have the mental image of a guy scanning one of those mirrored gazing balls, sending the file to a 3d printer, going out to eat, and returning to find a lifesized 3d replica of his recroom inside of his recroom. I can’t stop giggling.

  5. I know this is just a fun experiment. Just for fun, I wonder if:

    1) Supporting (possibly unbalanced) weight in this fashion is bad for the stepper bearings.
    2) The accuracy is limited by the camera resolution, or the laser line width. Probably the latter, the line seems a bit fat for what’s surely a very high-res camera.
    3) The camera’s depth of focus at this close range is sufficient, or whether it’s blurring the line across a range of depths. Can this be corrected in software, or would a high-res pinhole camera be better?

    And just for fun, I’d be interested in hearing any comments on these.

    1. 1) I’d agree with that
      2) That may be correctable somewhat in software (averaging the width of the line or something) Otherwise, some block with a small slit cut out of it may do the trick (or maybe polarizers or something. Optics has never been a strong point for me)

  6. 1) – yes is bad … for this reason I’ve tried to put the motor axle in the center of mass.
    2) it’s hard to say. accuracy depends on: resolution, arm vibration, laser line width, surface scattering, lens aberration and deformation, but in my experience, in this set up, full resolution images give better accuracy than HD video.
    3) depth of field is a problem…i use f11, but a pin hole could be better (at least for the fixed focal distance, absence of aberration and deformation)

  7. as mentioned above the gopro hd hero 3, it does cinema4k (at slow framerate 12fps) but at a resolution of 3840×2160 it might be a good alternative in-between images and 1080 hd video

  8. Am I wrong in saying there’s no point in using a high-end camera for this type of project? Aside from the mechanical wear and tear, that is. The biggest performance differences between a multi hundred dollar camera and the one in your cell phone are things like noise, light sensitivity, color accuracy, interchangeable lenses, dynamic range, etc,….which all mean exactly dick when it comes to 3D scanning. A smartphone with an eight megapixel sensor located closer to the object would be far, far more appropriate than that DSLR.

    1. are you able to set exposure on a cell phone cam? at ISO 100 and f2.8 (cell phone cam are aperture fixed) you need a 1/4000. and then you need to build an app to sincronize cell to arm rotation. It will be great if an iphone could be used in a scanner! but I’cannot find the way to set the exposure.

  9. Are you able to take the images directly from the camera into the computer as the scans are happening, or are you just collecting the individual images in the camera’s on-board media to be downloaded and processed after the fact.

    I would love to build an automated large-format book scanner using a pair of 16 MP still cameras, but I don’t know how to shop for cameras that have the capability of being used as high-res web cameras, as opposed to throw-backs that have to be triggered independent of the computer and content downloaded manually.

  10. So this moves the subject in front of a camera. How feasible would it be to tweak so that the camera moves around a subject? The applications I’m working on all require camera movement instead of sitting and spinning.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.