3D scanner

Takes 3D surface scans at close range. It is simple to construct as it uses off the shelf hardware and software.

Similar projects worth following
The scanner performs instant capture of a 3D surface, and after some (fully automated) processing, outputs a 3D model that can be viewed in CAD packages for measurement, or re-printing etc.

The key components are:
a) 4 cameras (to capture the object from different angles).
b) A Multi-view Stereo (MVS) algorithm which turns the 4 images into a 3D model.
c) A projector which projects a random pattern onto the object to help step b.

4 Raspberry Pi Zero's perform synchronised capture and upload images to the cloud ready for processing. A more powerful laptop takes over to create a nicely smoothed, textured mesh.

Essentially, MVS finds matching features in each of the images so that it can triangulate distance. Projecting extra features onto the object results in a more accurate 3D mesh.

It was only designed to capture 3D surfaces at about 6 inches (disregarding the rear of the object and so on), but speed, simplicity and accuracy for this task all score highly.


View project log

Enjoy this project?



Manfred wrote 02/13/2018 at 02:23 point

I don’t suppose there is a similar way to digitize buildings, without needing the random dot patterns?

Also, why does the data from the Pi Zeros have to go to the “cloud”? Surely any recent PC can handle the work.

  Are you sure? yes | no

malvasio wrote 02/13/2018 at 07:23 point

with rpi3's the 'cloud' should be avoided

  Are you sure? yes | no

reodds wrote 01/25/2018 at 18:14 point

@Jolar, we'd all like the build details for this project.  Would you please add them?  Thanks!

  Are you sure? yes | no

zippy123 wrote 01/24/2018 at 22:28 point

>4 Raspberry Pi Zero's perform synchronised capture

Do you have any details on this?  

  Are you sure? yes | no

Neon22 wrote 01/17/2018 at 22:16 point

A good source of scatted random dot pattern is a laser bounced off a dull white slightly curved surface. We used an Aspirin for a similar project in the 90's. very efficient, cheap.

  Are you sure? yes | no

ekaggrat singh kalsi wrote 01/17/2018 at 22:06 point

great work. I always wondered why structured light scanning could not be done with a rudimentary laser with a projection pattern. The pattern can be a rotating disk with cutouts or something like that. I can wait to see the scripts published. 

  Are you sure? yes | no

froitu wrote 01/23/2018 at 10:29 point

Actually, David Laser Scanners does it. Structural images they chose are mainly horizontal & vertical stripes.

  Are you sure? yes | no

Robert Mateja wrote 01/17/2018 at 21:48 point

The question I have, Is that mesh straight from scanner or it was post-processed? I had similar results with one camera and Agisoft but with A LOT of pictures and some post.

  Are you sure? yes | no

Jolar wrote 01/21/2018 at 22:47 point

I'm not too familiar with Agisoft but in my experience the pattern projection helps more than the number of images.  In the example image the only post processing was to crop the 3D model to show the central region where the hand is.

  Are you sure? yes | no

Mike Szczys wrote 01/17/2018 at 15:43 point

I can't wait to see more details on the project. You're getting a really great outcome with clever use of rather rudimentary hardware, impressive!

  Are you sure? yes | no

froitu wrote 01/23/2018 at 10:31 point

I am really looking forward for more details too about this. Perhaps I'll even build one if details arrived.

  Are you sure? yes | no

Lee Cook wrote 01/17/2018 at 12:15 point

I love it.

If you projected 3 patterns (say random Red, Green and Blue patterns) from different projectors at different angles would that help with the creation of the 3D image?

By 'projectors' I'm thinking something simple like:

  Are you sure? yes | no

thygate wrote 01/17/2018 at 16:49 point

you're thinking of structured light scanning, this is photogrammetry.

Also i have my doubts with the claim that this is fully automated. VisualSFM outputs point clouds , and surface reconstruction on meshlab usually requires a lot of manual cleaning before a decent mesh can be obtained.

  Are you sure? yes | no

Lee Cook wrote 01/17/2018 at 18:15 point

No, the thinking behind it was that with a single projector you're only going to be able to add features to a single "face".
With multiple projectors (so long as they don't wash-out areas that are already lit - hence the three colours) you would be able to give features to surfaces which multiple cameras could see, but a single projector could not reach.

  Are you sure? yes | no

Jolar wrote 01/21/2018 at 22:49 point

Regarding "fully automated" what I meant by this is that from a click of the button a 3D mesh arrives on the laptop screen.  In the example image I did crop the scan to make it a nice rectangle but there was no manual processing or tidying of the 3D hand.

  Are you sure? yes | no

Jolar wrote 01/21/2018 at 22:36 point

I like those ideas.  I used a digital projector so I could experiment easily with different pattern projections - its a major factor in the accuracy. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates