Building your own portable 3D camera

diy-3d-camera

[Steven] needed to come up with a project for the Computer Vision course he was taking, so he decided to try building a portable 3D camera. His goal was to build a Kinect-like 3D scanner, though his solution is better suited for very detailed still scenes, while the Kinect performs shallow, less detailed scans of dynamic scenes.

The device uses a TI DLP Pico projector for displaying the structured light patterns, while a cheap VGA camera is tasked with taking snapshots of the scene he is capturing. The data is fed into a Beagleboard, where OpenCV is used to create point clouds of the objects he is scanning. That data is then handed off to Meshlab, where the point clouds can be combined and tweaked to create the final 3D image.

As [Steven] points out, the resultant images are pretty impressive considering his rig is completely portable and that it only uses an HVGA projector with a VGA camera. He says that someone using higher resolution equipment would certainly be able to generate fantastically detailed 3D images with ease.

Be sure to check out his page for more details on the project, as well as links to the code he uses to put these images together.

Comments

  1. Joe says:

    I think this is a structure light scanner, not a 3D camera.

  2. Wm_Atl says:

    When I read 3D camera I went meh. Looking closer at the project I agree with Joe, this is a 3D scanner. This should be an interesting read. I look forward to following Stevens work on this project.

  3. daniel reetz says:

    Did anyone catch how long it takes to scan through the patterns?

    • natron3 says:

      Project is yet to be optimized for speed with scans in the ~3-5 second range. Pico projector actually has built in Structured light features enabling really really fast scans up to 2400hz!

  4. NatureTM says:

    Wow, that’s pretty nice, but $350 for the projector is way out of my budget. Does anyone know if there are there static structured light projectors on the market like the device used in the Kinect?

    • yetihehe says:

      Maybe $35* scanner would be better? http://www.vision.caltech.edu/bouguetj/ICCV98/

      If you already have webcam, desk lamp and pencil, it’s free!

      • ino says:

        Holly crap, it’s a web page from the last century !
        Nice one!

      • NatureTM says:

        That’s pretty neat. Not what I was looking for, but very clever.

      • Mikey says:

        There was an arduino project I saw a while back that did 3d scanning with just a web cam and 4 white LEDs. The LEDs were placed at random locations and the object was lit up with them (in a dark chamber) and a picture was snapped. And from there, software spent about 10 minutes figuring out what the 3d mesh was supposed to be.

        I think I like the pencil projector idea better though. I’m thinking rotating platform holding the object to be scanned combined with a stationary bright white led, and a stationary pencil (or string or “obstacle” of some kind…) and a webcam. Alternately, the string could move left to right and the platform be stationary (or neither need be stationary, as you may be able to scan in greater detail that way and still get a full 360 degrees.)

  5. Jenno says:

    This has real potential! I can’t wait to see what else Steven comes up with.

  6. T N T C says:

    I have a projector that will connect to iOS devices. I may try to implement something similar in Objective C 😀

  7. Dara says:

    Dear Boris

    Don’t listen to the negative talk, your work is fantastic. You beat caltech 🙂

    I need to talk to you about my project, I have a UAV (a copter) already working I Would like to add beagleboard to it, could you contact me please.

    I would like to Neural Network control software to my UAVs

    I could not find your email

    Dara

Speak Your Mind

*

Related Hacks in misc hacks

  • I build stuff too! Fire Cannon Edition
  • Hacking magnets into your skin
  • Morse Code interpreter
  • Wireless iPod charger built from scratch
  • One wire reads the keypad from the APRS radio mic