So you have an animation and simulation project, and want to scan people to get their high-resolution 3D meshes. At that point you have wide variety of different options based on different capture technologies, big bulky machines, hand-held devices and scanners that can take quite a while to obtain a scan. So what do you do when you don’t necessarily have a lot of permanent space, when you ideally want to obtain a scan in a single shot, and you want to do all that on a budget? Well, you build your own solution of course.
You visit your local camera vendor, and empty their basket of 64 Canon Powershot A1400 cameras, which should suffice to build 8 portable 3D scanning poles. Throw in a significant amount of USB cables, add some USB hubs, grab some wood and hardware from your local DIY store, add some bright LED strip for lighting, and you have all the ingredients necessary to build your own scanner.
Being the efficient people that we are, the idea of having to charge and replace the batteries for 64 individual cameras at each session did not sound like the most effective solution. So external power it is. Unfortunately the official adapter comes at a cost. And with us not being all that patient when it comes to seeing results of our labour, an ordering time of several weeks made us wonder “If we’re building the whole thing ourselves, surely we can make our own external power supplies as well”. And as soon as we have such thoughts, a “battery” assembly line springs to life, wiring up the wooden batteries and soldering the power-supply connectors.
The construction:
On the software side the Canon Hack Development Kit (CHDK) allows us to control all 64 cameras using custom scripts. With all cameras pretty much synchronized, we don’t have to worry too much about minor movements of the scanned subject, as long as the shutter time is fairly short. The actual capture process has completed in the blink of an eye. Processing the captured images into a 3D mesh and a clean texture uses Agisoft PhotoScan software, and requires only minimal manual tweaks. For animation some additional cleanup and remeshing might be necessary in other software, but the raw results obtained are already very detailed and usable.
And there you have it. Eight very portable and storable scanning poles, allowing us to capture bodies or objects at a sufficiently high resolution and in a short time.
The first results:
Looks great! i wonder – have you tried doing animation with this rig, shooting video with each camera?
I appreciated seeing every member of the team working on the common projet.
Very good demonstration and explanation.
Keep on.
I wish you a lot of success.
Silvia
Thank you! If you want to be scanned one day… let us know!
What’s the polycount for full body? Does the scanner output require cleanup?
Would be very interested in a longer write-up!
Hello, Great job!
I got some questions to you guys, I hope you can share some data as I want to build the same thing.
1. What is the height of the poles? is it equal between all poles?
2, Does all cameras on all poles located on the pole at the same height? if not, can you please share the heights?
3. Do I need to install LED Light on each pole? Can you be more specific on what type of light do I need to purchase?
Would appreciate if you can asist.
Thanks,
Eytan
1. The poles are (including the base) a bit over 2 meters high.
2. The cameras are equally spaced over the length of the pole and each pole is the same.
3. We have a single LED strip on each pole over the full length. Ideally you would most likely want something a bit more diffuse, but it works as is.
Thanks for the enlightenment about this. I will be glad to have your email as this article is a little old and you might not feel interested in replying. I will be like be so happy to have a comprehensive knowledge on 3D scanning. I wish to setup something like this soon. Thank you.
I was wondering how you actually get the pictures out of the cameras. Are you able to pull them across to a central location over USB? If you do does that not interfere with the CHDK USB power function that I assume you use to trigger the cameras?
Sorry about all the questions but I have just order a bunch of these cameras to try and put together a similar setup 🙂
This is great. I’ve been working on something very similar with Canon A1200 cameras. I’d love to share ideas over e-mail as I have the capture and image transfer really streamlined and wouldn’t mind sharing my scripts. It’s also nice just knowing like minded people. My end game is to use my Oculus Rift to view these scans, which I see you guys are dabbling with too.
My current workflow is to use the ptpcam tool to first set the camera’s internal clocks using memory register d034 (not sure what A1400 uses but it’s easy to hunt around for it). Then I have a chdk script to focus on 5 volt up on the USB port and if the voltage drops within 10 seconds the shutter snaps (it’s on a 5ms poll, so the shutters are reasonably in sync). Since my clocks are synchronized I can take many sets of images in a session and not worry about getting them mixed up. If I leave the 5 volt up for more than 10 seconds I have the cameras go into file transfer mode and I have some Perl scripts to download the files into timestamped set folders. I have scripts to wipe the cameras clean, shutdown, etc. Basically a good workflow was what I could work on with limited cameras. The only thing I am not sure of is how many cameras my PC can drive. I currently only have 7 but there’s really no reason I couldn’t just transfer the images in batches I guess (10 at a time or whatever).
I’m really curious to know if you’re using the same technique as me or if you have something better. Your idea for cameras on pole modules is great. I was making 3 foot wide multi tiered bars. I like yours better because you could theoretically add more poles to image a bigger subject.
Something else that you may want to consider is mounting the cameras in portrait mode, since I found that landscape wasted a lot of the sensor.
Best regards,
Matt
Hi
I would appreciate if we can chat little regarding your setup , I could use some advice
my skype : noamsheffi
Thx
Hey Matt – I would like to see your set up and scripts if you don’t mind. I find this very interesting and would like to do a similar set up. email – ecwarrior_13@yahoo.com
Hi Matt,
I am targeting to make stereo cam.
Would you share your setup for the usb voltage and the script to me?
btw
how many camera did you used finally?
my email: hksiusun@gmail.com
Sunny
Hi Matt,
You did programmed my dream rig scripts, I also use Canon A1200. Just I’m not as good as you with programming script. I’m only using CHDK USB remote control for my 62 cameras. then you certainly imagine how long it takes me to take out every SD card and download them one by one. Is there any way you could share your script with me?
hope to talk to you soon
Here is my email address :neo_22_nancy@hotmail.com
best regards,
Me
Our current script is very close from the latest multicam.lua which now supports USB remote and download of images. Check it out here: http://chdk.setepontos.com/index.php?topic=11667.0 and here http://chdk.wikia.com/wiki/Multiple_Cameras_using_CHDK
Hi matt..
Can we discuss more about the same… I am really interested to build one myself… eagerly awaiting your reply…
I want to discuss further… my Skype : ysbharath
email: ysbharath@gmail.com
Great scanner
How do you save the photos from each camera?
Isn’t that a problem.
I didn’t find a solution.
Reg
Peter
Great work!
Is there any chance of releasing the chdk script to get it working.
Would be very interested in this.
Awesome setup guys!
I spotted this in my research to build a much smaller desktop rig using A1400s to capture models for our game Rustclad. Any chance you’d be willing to share the scripts you created?
Hey guys , i am gonna set up a similar rig and i was wondering if its possible to share the chdk scripts so i can have a starting point ..
Thanx
You posted a requested for information on the CHDK forum and in that thread a member asked for details of your changes to the Multicam script :-
http://chdk.setepontos.com/index.php?topic=11261.msg112449#msg112449
Unfortunately, no reply was received.
In fact, no-one with a multicam setup that uses the multicam script has posted the details, despite promising to do so in some instances.
Are you publishing the script ?
Great setup! What hubs are you using? I’ve tried this with some cheap powered hubs from eBay and I couldn’t get more than 10 cameras recognised. I was using a Surface Pro but I thought it should be able to handle 127 USB devices if they are powered, tho I could be wrong
Hey this is great work!
I was wondering if you would make a set of the photos available to anyone? We are currently looking into creating a rig like this one, we currently have one camera and a turntable but the results are not great.
Before dropping a bunch of money on something like this we would love to be able to test it so we felt better about the investment.
You can contact me through email jholutiak@resrchnet.com or skype jholutiak216
Thanks
Jason Holutiak
Hi bart, fantastic project, i would like to do anything similar , could send me any other info about the project, are you going to do the code public?
Do you think that if perhaps make any similar with a rotary could be as good as yours??
best regards, feel free to contact me al
info@armadillotaller.com
fernando
Great stuff..l have toying with this concept for a while, its amazing someone has set it up! Havent you thought of packaging and selling it as a complete product? l would love to have one of these
Hi , very nice work!!!
and i would like to do something similar too ,so could you send me some info about the project, what i have is powershot sx150is .
best regards
caizhen2717@gmail.com
Very interesting and I am glad it worked out well for you and your organization. I was hoping for some theorizing upon the product if you have a moment. I understand the usage of 64 Canon Powershot A1400 and that generated up to 1064 MB at maximum in camera capabilities. You might have changed the internal recording to RAW through the CHDK program but that was not clarified. I think I understand the following truths about your concept; the A1400 has 28mm Wide-Angle Lens, you set then .25 meters high, the total diameter appear to be 2 meter. So each photo would cover 0.29 meters at f/22? So each photo only overlapped .02 meters of another photo? Did I get it right? So the question is “are the Megapixels that important”? The new Raspberry Pi cameras are easier to set up and cost less per unit at $35. They only shoot at 5MP but the field of view is better so more coverage of the target area. It the 1064 MB resolution file is required then on would need 213 cameras (likely cost at $27 (USD) per camera would cost $5751 USD instead of your camera cost of ($142 USD x 64) $9088 USD. The PI camera system would cost less if MP were not as important and coverage was more important. Did you decide Canons were better than PI? Any thought would be helpful. Eric
Impressive work. Nice design too.
I read that you modified the standard chdk scripts but it’s not clear what you needed to change or why. If you could share that info it would be helpful. Have you made the scripts available?
Also, I’m having difficulty locating wholesale lots of cameras. The Canon website has refurbished cameras, but it is hit or miss with availability. If I wanted to test a few cameras first, there is no guarantee that there will be another 60 or so available.
Do you have any thoughts on what the minimum number of cameras is to get good results? I’ve seen setups with 100 cameras but it’s not clear (pun intended) that it makes any difference.
Thanks for sharing your work. It’s impressive.
Hi there,
we are working on a similar system, also using CHDK. We have faced a big problem regarding the focus. We can not set the cameras to center focus. These cheap Canon cameras we have are always try to find the face of the model, so a lot of pictures are badly focussed.
Did you have also issues like this? How did you solve this issue?
Regards,
David
Hi all,
Would the canon ixus 155 or the Canon IXUS 145 be a good camera for this setup?
greetings,
Aaron
nice concept!
But how to focus all the cameras ??
is it possible using CHDK for all cameras at a time??
Regards,
Pratik
For all those wondering how to get everything in focus, here are some links to get you started figuring it out with CHDK, including focus stacking:
http://chdk.setepontos.com/index.php?topic=6292.0
http://www.dofmaster.com/dofjs.html
http://chdk.wikia.com/wiki/CHDK_Scripting_Cross_Reference_Page
Hi guys, this is very interesant!! I just read this now and I have a few questions that I’m sure lot of people that read this asked himselfs: (sorry about my regular english)
-This can scan a group of 4-5 persons? If not, 2 or 3?
-All the cameras are paralel to the poles or there are some cameras with another angle?
-I have to calibrate this every time I mount the 3d scanner? Because I’m planning to use this at diferent events.
-I can use this at outdoors without anything else? If not, can imporvise an outdoor “3d zone” putting white walls arround?
-All the cameras are conected whith hubs to one pc?
Thank you!!
I am very interested in duplicating your project. Is there any chance of getting a parts list? Also wondering about the battery assembly. I see you used screws, but did you solder the wires to the screws? Any info you could pass along would be very much appreciated.
Hello, I was surprised with this project in 2 ways:
The fact that you can build with cheap cameras is great.
The quality is very poor on the initial sample. Did you manage to get better results later?
compared to this solution: http://www.pi3dscan.com
where only 5Mpx cameras are used, your result is a bit worse, even when the res of the cameras is much higher.
Can you still give some info, even if this is an old project?
Thanks.
I am very interested in duplicating your project. Is there any chance of getting a parts list? Also wondering about the battery assembly. I see you used screws, but did you solder the wires to the screws? Any info you could pass along would be very much appreciated.
Hello everyone,
Article is awesome, to apply I nee more details! 🙂
I would like to build my own scanner and later 3D printer and plastic fil extruder at a minimum cost.
I understand only that it is possible for a moment, but have no idea how to make it in real.I just finished my study, and would like to become a pro in this area one day.
I would love to communicate with someone who can share his/her experience or give the advice.
I’m in France now by the way.
Please, write me here:
3dworldparis@gmail.com
Is there anyone around who could provide some technical details on building such a rig for a college student project? I am the senior systems engineer for the Center for Creative Computing at the University of Notre Dame and some of our photography and design students are interested in this kind of thing.
HI, I want to make the same 3d cam booth using pocket cameras, could you please share how you have connected all the cameras to fire at the sametime and download the images all together & from where can i get it.
Thanks