Hardware for Homebrew Motion Capture?
goruka asks: "We are a small garage game development and 3D animation group, and as such, we try to develop by reducing costs as much as we can. Recently, it came to our mind that we could setup and develop a home-brew motion capture system by using three consumer USB web-cams to motion track bright objects attached to the body. However, we don't know which web-cam models can: capture at a decent frame rate (25fps) and resolution; are supported and easily programmed under GNU/Linux, since we'd like to later release our software as open source; and lastly, won't cost us a fortune. What are your experiences with such devices?"
Since you probably don't need to do anything real-time with the capture data, I'd suggest that you use whatever inexpensive cameras you can - and record streams onto video. Ideally, you'd borrow three camcorders and use them. Then you can at your leisure transfer the streams to a machine via firewire and calculate 3d-data to your hearts' content.
The benefit of this setup is that you can get away with very cheap hardware (you can probably borrow needed camcorders from friends and family if it's just a temporary deal), and the image quality - resolution, dynamic range, low-light performance, noise - will be a lot better than with a heavily compressed usb-cam stream.
As for synking the streams, you have that problem with three usb cams as well (can't caprture three usb-streams on the same computer), and with camcorders at least one step up from the bargain bin, you should be able to use sync cabling if you're really concerned about capturing frames at the same instant. I doubt that would be necessary, though, for the kind of precicion you're looking at getting (just do a linear interpolation between captured points to do an approximate soft sync should be fine for any movement you can hope to capture at 25/50 frames/s anyway).
Trust the Computer. The Computer is your friend.
They run for about $100 and they are available at most CompUSA stores (and nowhere else, it seems).
Features:
* 640x480@30fps w/high compression enabled (15 or 10 without)
* 35mm camera screw mount
* Manual adjustments on camera (sensor angle and focus ring)
* Lots of software settings to play with (AGC, white balance, shutter speed, aperature)
* Compatible with the PWC 10.0.12 drivers from http://saillard.org/linux/pwc/
* Above all: stable.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
This is a lot of work but also a lot of fun! I did it for a real-time demo project with a few friend. We used Christmas fairy lights and 5 mini-VHS camcorders. You can see the result at the very end of our Childbone demo.
Nowadays, using webcams will save you a lot of troubles, and you can find lots of very useful codes on the Internet (such as Intel's OpenCV, however majors issues that you still have to solve would be calibrating camera positions and reliably tracking crossing markers in images. In my system I had to do an editor to manually reassign markers when incorrectly detected or labeled, which can be a very tedious task...
I would recommend Logitech Quickcam Pro 5000 webcams, as they are USB 2.0, can do 640x480 at 30 fps, and most importantly use the somewhat recent generic USB Video Class spec, for which a driver for linux is available. I have a few of those and the image quality is quite good :)
Good luck!
You could try "Optitrack" by naturalpoint software. Seems really useful, actually and for $249, it's worth taking a chance on too.
= catalog&trackerid=1661406456&category=a&vid=208024 5373&pid=924839477&oldvid=2143420604
Here's their link:
http://www.naturalpoint.com/optitrack/
If you have Poser(and free time), you can also try the Rotoscoper plugin by PhilC as well.
Huge link follows:
http://istore.mikrotec.com/philc/index1.html?page
Howdy,
Hitlab (NZ [hitlabnz.org] but also an American office [somewhere]) also have come out with some pretty funky motion tracking. Beit for other purposes, but the source is available (via SourceForge: ARToolkit).
It may not be exactly what you are wanting, but with a little modification it should, and, importantly, is CHEAP.
Good luck. Hope to see some break-through gaming experiences. Hooroo
.
Sounds interesting, the tip about IR-reflective tape especially. It got me thinking ... if reflective tape is expensive enough to warrant hunting for cheaper sources ... And you also need to get IR light sources, wouldn't it make sense to invert the lighting, and put IR-emissive dots directly on the mocap actor? Something like LED throwies but with IR LED(s) rather than visible light? Perhaps it's still too expensive and/or impractical what with batteries and so on, though. I do wonder how it would compare, brightness-wise. Anyone tried it?
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
Could you have each marker represented by a RFID chip? Then detecting the position of each marker would only require four RFID transmitters. The time delay would give you the distance to each marker and you could use triangulation to determine the current orientation. And each RFID tag would be easy to label.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
I use the Kodicom 4400r board http://dvr.videotechnology.com/ this uses 4 Conexant 878 chips (formerly called Brooktree BT878)
The default bt878 driver in FreeBSD works but I had to write a small driver to init the video switcher on the board.
Using very simple code you can capture and process 4 full motion video channels in FreeBSD.
I there is also the BTTV Linux driver for this board.
CCTV Cameras can be had for $35 each and the board is $200. for a total cost of $300 for 3 cameras to do motion capture.
I have used Blinking dual color LEDS on the target very successfully.
Also retroreflective balls and LED lighting also works well. The $35 black and white versions of these camera come with IR leds for so called "Night Vision" and works great with the 3M reflective tape.
See http://www.videotechnology.com/old1104.html Retroreflective Materials for more info on that also.
I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso