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?"
I have never tried to create a setup like the one that you are attempting, but I have had good experiences with Logitech webcams. Is there an existing program that combines the 3-camera stereo image or are you starting from scratch? What computer system are you using? Make sure that you are not running so many things off of USB (or IEEE1394) that you cannot keep up the throughput from your webcam. This could happen, for example, if you are streaming at maximum quality and saving all of the data to an external webcam. I wish you all the luck.
Information wants a fueled airplane waiting at the hangar and no one gets hurt.
I would definitely be wary of anything too cheap or with a higher MP count.
Preferably, try not to have the pixel count too high.
Typically, webcams are fairly lousy in terms of noise and focus. Getting a
cam which is pushing the MPs is really just going to be asking for trouble.
As far as linux go, I believe that mtp cameras are pretty much all going to
work.
http://ptp.sourceforge.net/
why don't you get a dv camera? used ones are very cheap in ebay.
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.
http://www.hackaday.com/entry/1234000427059760/
We run an Axis 207 at work. Pair it up with Zoneminder and you've got yourself a montion capture system, albeit in the form of home security system software.
ACs are modded -6. I don't read you, I don't mod you, I don't see you. Don't like it? Don't be a coward.
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
One suggestion: Do this in a poorly lit area, and have lights mounted on your cameras. (Ideally, they would be almost the only light sources.) Use reflective tape for the dots.
You will then have very bright spots on an almost black background. That will make recognising the spots easy, even for the most brain-dead of algorythms.
Professional 'body mechanics' use reflective spheres.
Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
I'm not sure what constitutes a 'decent' resolution but the Unibrain Fire-i [unibrain.com] caps at 640x480p at 30 fps and is pretty cheap. I few months ago I would have recommended Apple's iSight but I understand it's been discontinued. They both connect to the box with 1394 instead of USB which I suspect will be a plus with something as timing sensitive as this. They use this lib [sourceforge.net] not any of the camcorder stuff.
-
Systems Administrators: We read the manual so you don't have to.
http://www.compusa.com/products/product_info.asp?p fp=SEARCH&Ntt=philips+900&N=0&Dx=mode+matchall&Nty =1&D=philips+900&Ntk=All&product_code=337160&pfp=s rch1
The reviews are not exaggerating, it's a nice camera.
I forgot, it has a usb-audio device endpoint two that's a built in mic, but that's not important.
The 1280x960 modes mentioned are software scaling, so they're useless. It's a fairly standard CCD board in the unit that is 640x480. Since it uses a Bayer pattern to filter color, you're going to want to throw away the chroma components in your analysis. You might be able to use chroma for helping it distinguish the balls from the background, but you'll want to use the luma information for accurate tracking.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Here is what I can tell you. My guess is that FireWire would be easier because all FW video uses the same driver. Find yourself (or just borrow or rent) two video cameras with firewire and use that. You only need two because one can capture one pair of axis (X and Z) and the other the other pair (Y and Z). If you put the cameras at right angles to each-other (pointing down the axis) you should have all you need. The programming half shouldn't be too bad, in relative terms. All you have to do is extract the coords of the white dots and then pair them up between the images. With that (and a little calibrations to fix the slight distortion the cameras will have) you should be able to get decent coords easily. If you get it working, write it up. I'm sure others on /. would love to hear about exactly how you did it as I would.
The video camera approach also lets you just pre-record the sessions, you don't have to do the capture live if you're computers can't handle it. Standard video cameras would be 640x480.
Now you could also do it by analog capture using some simple video capture boards. The WinTV series works VERY well under Linux, and the WinPVR series has models that work well and have hardware MPEG encoding to offload the CPU use. Just look at a project like MythTV and buy the cards they like/use.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
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!
I was looking for a USB cam that would do 640x480 at 30fps at least. I was trying to put it on an RC airplane with a PC104 computer, drive and battery. Never did find a camera that did this native res at this speed. But I didnt look hard enough either.
I should have posted on slashdot.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
640x480, up to 30fps, works with Linux.
./, some guy has even used one of these as an alpha-particle detector and visualizer. It is not one of the cheapest cameras ($60 @ Newegg), but as the guy says: "the quality of this camera I have to point out is very high."
As seen last Sunday in
You could borrow some ideas from the original article. Please, just don't attach radioactive objects to your body.
For syncing the streams from the cameras, perhaps you could use some sort of electronic light control (are one of you into electronics?), to quickly flicker the lights, or slightly change the color. You could detect changes in lighting to sync the video streams.
I can't imagine how little you must value your programmer time if you're considering a homebrew solution! If programmer time is cheap, then ok, but my preference would be to outsource it. There are plenty of contract mocap studios around, take advantage of that fact . . .
Software development costs are usually dominated by the cost of developers. The cost of payroll usually eclipse software licenses and hardware costs. There are exceptions to this but I don't think you application is one of them. Also remember that 90% of your time will be spent finishing the last 10% of your applications. Commercial applications (that do this kind of stuff) are expensive because a lot of time has been spent on the last 10%: polishing, ease of use, reliability, etc. You may not be saving any money doing this yourself.
That said, is your application realtime? If not, it doesn't matter where your video comes from: it's going to be a file anyway. Synch up the video with a strobe light, turning off an LED, or recording a line level audio signal to all three camerass. Godspeed.
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
Wouldn't it be easier to rig up an armature using old joystick potentiometers at each joint than use three cameras and try to extrapolate position data from that? You could easily have a single machine running a perl script collect the position data from all the sensors at one time into a file and then write it out as bvh/whatever or convert it later.
Something like Gypsy, only lots cheaper.
You can also set up a single camera on each of 3+ computers and syncronize the time stamps via NTP...
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
.
First, they have many, many cameras, because you have to have 3 unobscured camera views to triangulate a point. I assume you want to mocap people doing game moves, so multiple camera are required. Also, they capture with infra-red, not visible light. They put infra-red reflective spheres on the people at key locations, so what the camera picks up are dots on a black background. This is for 2D tracking.
Some real time tracking occurs, and and a rough 3D wireframe is generated so they can see if they have a good take. Note that it's not one computer for all the cameras because of bandwidth limits. You may not be able to support very many cameras per computer, because you need to save all the frames for post processing. The rough tracking data is sent via UDP to a single computer that does the wire frame display.
After you have captured the data, then it gets really hard. You need to calibrate all the cameras so you can combine their data. You need to survey their positons and their pointing angles. It is possible to calibrate by locking down the camera and shooting targets before you start. I don't know if you need to correct for lens distortion or not, it may depend on your cameras.
The cameras have to be synched. If they are taking picture as different times then 3D point positions will be not be right. Web cams don't have external synch.
First, you have to do 2D tracking for each camera. Then you have to figure out which 2D tracked point on camera A corresponds to the same point on cameras B, C, D for each frame, typically while the mocap actors are being very athletic. The you need to combine multiple 2D points to 3D points. Remember that 2D points will dissapear and reappear during a move.
After you have 3D points then you need to connect those dots into motion paths. This takes a lot of very complex motion filtering software. People often use Kalman filters for this. Sometimes they do Kalman filtering in 2D and in 3D. Multi pass filters can be used, where you go from 2D to 3D to motion paths, and then you take the estimated 3D positon and project it back to 2D. The back projected data is combined with the captured images to get better data for the next pass.
Assuming all that works, then you can take 3D path data and translate to the frame of reference on the person so you can animate the character. Are you going to use inverse kinematics to to derive joint angles from end posions of arms and legs? Often times you measure points on both sides of a joint and directly measure joint angles so you can directly apply the measured data to the 3D model.
Heck, I don't do this stuff, I just have been around it, and these are things I remember. Optical tracking is very hard. People still use magnetic tracking and joint flex tracking, sometimes in combination with optical, becasue they are better for some kinds of measurements. Now you know why movies and high end vidoe games are so expensive....
Couple of things in here, from researching the field with a university research lab to see about buying commercial gear, I have a lot of suggestions.
- For your camera, look for cheap used DV cameras on ebay. Not super high res, but lots of them 3 ain't going to cut it, consider at least 9 (high/low from each of the cardinal directions, and on top [might want a few for different sectors]) - occlusion is an absolute bitch of a problem.
- This will provide reliable time-synced data, and NOT max out your USB bus.
- USB cannot provide you with images from 3 cameras with the same timesync, it's just not capable of such behavior.
- Firewire has a longer length limit on the cables, which is a big help for your work.
- Cheap PCI firewire cards - two should be enough, this will give you 6 seperate firewire busses, and put you at the limit of your PCI bus.
- Find filters that fit said cameras, and are opaque to visible light, but transparent to infrared.
- Rig up really bright infra-red lighting, ideally with a low quantity of visible light output.
- Go to an burgler alarm supply place, and buy infra-red reflective tape - I leart this tip from the EA guys a couple of years back, the 'official' reflective tape from 3M costs too much, and is a pain to order, but alarm places stock stuff that works even better, and is cheaper to boot.
- Buy really small polystrene balls, and cover with infra-red tape. On one small part of the ball, put the hook side of a velcro dot. These are reusable now, avoiding problem with tape waste. You can also clean them easily to keep them very reflective.
- For your subjects, get them to wear any clothing that velcro will hook reliably onto (pretty easy choice)
- Place the reflective balls on either side of every joint, spaced not more than 90 degrees apart - eg your elbow should have 8 balls.
Using infra-red helps reduce the data-set size way down, and also lets you use the cameras in monochrome for capturing, greatly reducing the data-set size.
From working with several commercial mocap rigs, I'll say that the calibration routines are extremely important. You need to accurately map the entire volume that you wish to capture in. Depending on space available to you, consider building a simple frame or using a lighting rig to attach the cameras to.
I will repeat again, occlusion is an absolute killer problem. From visting the EA facilities in Burnaby BC to specifically research their systems (I was working with a university research lab at the time), they estimated that they lost 2 hours of production a day to occlusion problems during mocap shoots.
Your system must be capable of tracking all the balls, all of the time. If it loses one, it's almost impossible to pick it up again properly during a runtime - you'd need to recode the relative location of that ball before it gave you useful data again.
ICQ# : 30269588
"I used to be an idealist, but I got mugged by reality."
I have a set of three Canon ZR500's that I'm planning to use in a rig that will record video from the top, right and front view of a moving target simultaneously. However, there are going to be a number of limitations to overcome with such a setup.
Luckily, it seems RealViz will soon be releasing a new software package, called Movimento, that claims to be able to obtain motion capture data from video of events taken from multiple camera angles. While this new software should definitely make things easier for me, it also appears that this software may be able to use video taken from non-stationary cameras as well. As long as there is simultaneous footage of a single event taken from two or more camera angles, the software should work.
But until Movimento is released, it seems manually rotoscoping motion using a rig like mine may work best for the time being.
8==8 Bones 8==8
This site shows an accurate single camera face motion capture program, requires only lipstick on the face: http://www.idiom.com/~zilla/Work/V/oct1TregP2Sor3. mov
You're going to have problems with webcams. The biggest problem is synchronization; getting them all to take their frames at the same time. Pinnacle Imaging is a scientific imaging device vendor that publishes res and framerate specs for all their cameras, and some of their cameras support frame synchronization... but a quite a price.
When I was looking into it for a local doctor's office that wanted to do gait analysis research (something near and dear to my heart since i have a game leg and still no real explanation for why), the min we could get the hardware for was about $2200 IIRC... nw that was three years ago as usual the prices have dropped somewhat by now...
I am disrespectful to dirt! Can you see that I am serious?!
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
Friends were doing a thesis on 3D image capture using 2 USB webcams, in paralell with my thesis, so we often exchanged ideas and progress details. They researched the topic of the cameras VERY deeply and one conclusion is ALL WEBCAMS SUCK. The most expensive and advanced models on the market (about 2000% the price of the cheapest) have about 40% better parameters than the cheapest ones. They just come with fancy software and SDK for them exists at all. But they have just the same distorting sucky optics, they have just the same impossible to tune parameters like exposition or focus, they have the same sucky 640x480 resolution and framerate rarely exceeding 24, plus built-in undisablablable compression that makes image processing a big pain in the neck.
Either go for industrial quality cameras (expensive) or just pick standard video cameras instead.
Anagram("United States of America") == "Dine out, taste a Mac, fries"
I believe Bill Burkett told me that estimation method in late 1983.
-- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
Among all webcams, its the only one I've been able to positively determine has a 35mm screw mount.
If the intended use is motion capture, they're going to want to have tripods and booms and stuff to hold these cameras in precise positions. Most other webcams just have some kinda suction cup or LCD clamp that isn't very useful for arbitrary positioning.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
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
This is what i would do: Get an inexpensive TV capture card and attach a video camera to it, configure so you can watch the live video on the computer, instead of reflective points use an infrared led+resistor+batery (have you ever point a remote control to a camera and click?). Some already mentioned zoneminder, you can use it as a starting point and as it is open source, you can hack it to your hearts content. Good luck!
Samsung SBC-331A.
:(
These run between $150 and $400 depending on where you get them and options.
It's a standard B/W NTSC camera with a clock sync so you can chain them together. CS lens mount, with electronic iris/zoom lens control.
Then you get yourself a few Osprey 1xxs in a mid-end server, and you can support 4 cameras pretty reliably. If you want to do more than 4, you might look at a Matrox Morphis; those are PCIe x4 or PCI-X, so they're a bit pickier. You could probably get 12 full frame streams from 3 of those on a suitably equipped system. But that's kinda expensive
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Hi. A friend and I have been writing some computer vision software for precisely this scenario. We intend to market it to consumers like you for a low cost (> $200) but it's not available yet. That said, a couple of things come to mind:
First of all, the library of choice for all things computer vision is Intel's OpenCV library. They have a linux version. I know nothing about the linux library, but the windows version only supports a few webcams. The cheapest and best for the money is the usb 2.0 Logitech quickcam pro, which runs extremely well thanks to intel's performance primitives and windows' direct show. I doubt that you will have much trouble tracking at 24.0 fps which should be fine for you (I mean don't kid yourself, it's not like the results of your blobs analysis is going to be 100% consistent from frame to frame anyway). Programming a robust/complete motion capture solution could take months, if it works at all (assuming you have never done anything computer vision related). Outsourcing might be a better solution.
With that said, your ideas on using webcams is spot on, but you are going to need more than three, mainly for occlusion handling. For the rig I was contemplating (using webcams much the same as you), I was thinking of at least four cameras. The main problem I ran into (just in thinking about it, no actual implementation), and as others have described, was timing issues. For best results, you need all the frames captured from the cameras to happen at the exact same time. Since with USB webcams this isn't possible, you either need to come up with another solution (people here have mentioned some "high end" cameras that have syncing systems), or deal with it in software (very difficult to do, in addition to dealing with everything else, and still getting a high frame rate).
Another problem you are going to run into (and has been mentioned by others, but not much on the reason) is webcamera resolution. Most webcams that capture at decent framerates do so at QVGA (320x240). Even those that capture at a real 640x480 typically do so at only around 15fps, instead of 24 or 30. Rare (and more expensive) is the webcam that will capture at 24-30fps with VGA resolution. Even at VGA resolution, though, you are going to have to deal with the angular vs pixel resolution of the camera. What I mean by this is that as an object moves throught the FOV of the camera, it is going to only be imaged by certain pixels of the CCD imaging device. Depending on the distance away from the camera, the object may move say a foot, and only move (on camera) a pixel or so. The further away the moving object, the fewer pixels covered due to parallax. This translates into a lower resolution of pixels (on camera) to inches/cm (in real motion). In fact, this is almost the inverse problem of HMDs, where you can have high resolution, and low FOV, or vice-versa. In order to have both (in either cameras or HMDs), you have to pay a lot of money. In optical camera-based mocap, this means HDTV or better resolution cameras. I hope you understand what I mean here, because it is important for motion capture where you may be capturing large amounts of motion over a lot of area. For close-ups (like facial capture) it is less important - but remember, the higher the resolution of the camera, the finer the motion you can capture at all distances from the person/object to the camera. Higher resolution cameras translate into higher prices for the system, because you have to deal with more data, all in realtime. Not easy, not cheap.
You might best be able to deal with this by going the custom camera route. What you would want to do is build a custom frame capturing system, using 640x480 (or better) b&w CCD cameras (you don't need color, you just need IR sensitivity - even with B/W cameras, you are going to filter the final image down so far that it is mostly only a true b&w 2bpp image - so the closer you can do that in hardware, the less you have to do in software). This won't be easy, but many people have done similar systems for homebrew robotic vision systems, so look there. Realize that this kind of a project will likely dwarf your game development project in both hardware and software needs, and you might end up with a system
Reason is the Path to God - Anon
What you mean is a M42x1(42mm dia 1mm pitch Pentax, Practika, "universal" screw mount lens) to a M12x0.5(12mm dia 0.5mm pitch webcam and security cam) adapter._ BC.htm
The trick is to get the adaptor from the astrophotography community which uses telephotolenses for astrophoto purposes. The adapters from Steven Mogg work well and incorporate a 1/4-20 tripod screw for mounting.
http://webcaddy.com.au/astro/adapter.htm
Also note that the FireWire Fire-I has an optional C mount lens adapter:
http://www.unibrain.com/Products/VisionImg/Fire_i
We developed a motion capture system for a bit of a different application (6-DOF joint movement tracking for biomed research). Getting the cameras working is trivial compared to the processing required to actually get 3d motion capture working reliably. Of course, we were going for something that probably has to be much more accurate than what you need, but it's not a trivial manner to write the software for something like this. Of course, there may be stuff out there you can use. Anyway, here's a brief rundown of what we were using and what might help.
We used 3 point-grey cameras (the flea). They might be a bit expensive for what you want, but all their cameras are top-quality, and they are intended for use in computer vision applications, and thus come with some source code pre-written that you can use for the interface. http://www.ptgrey.com/
We actually used windows machines at the request of the lab, but we did originally look into linux. The cameras are firewire, and the best linux drivers we've found for these types of cameras are the the libdc1394 drivers on sourceforge: http://sourceforge.net/projects/libdc1394/
The Open computer vision library is also invaluable. It has a lot of pre-written functions to deal with the more basic processing problems. It's got most of the major filters and algorithms in there that you'll need to extract the info from the camera pictures. Here: http://sourceforge.net/projects/opencvlibrary
I'm not sure how you're planning on combining or calibrating the system, but we used a static set of known coordinates and used DLTs to actually give the real 3D coordinates. A good tutorial is here: http://www.kwon3d.com/theory/dlt/dlt.html
Lastly, good trackers can really help the processing a good deal. Our trackers used a 4-ball system because we needed the accuracy and refrences for the angular rotations, but even a 1-ball tracker can be well designed. If the ball is a significant bright point on the image, simple thresholding is all that is needed in terms of preprocessing before you extract location in the image. Reflective paint or another bright source is KEY. If you're going colour, a distinct colour is also a good option.
good luck.
...no two people are not on fire.
are supported and easily programmed under GNU/Linux, since we'd like to later release our software as open source
I'm wondering, if you're intending to release later as open source, then why does that necessarily mean that it must be supported under GNU/Linux? Seriously, open source can be for any operating system. Just pick the OS or vision API that makes camera interfacing the easiest, and write your code for that, while keeping the main parts as portable as possible. Open source shouldn't automatically imply either Linux as the system or GPL as the license (I am simply inferring GPL from context clues).
Strap a nintendi wii-mote to each joint. These things are supposed to be basically bluetooth position and motion detectors.
g
Hi Cliff,
I thought of doing a similar thing a while back, and bought a couple of webcams for the purpose. The cams I got were just a generic brand (I think they were called stareye or something). The trick to getting them to record a decent framerate at a decent res was a matter of tweaking. I used an MS program for capturing, but most capturing programs should have the basic options needed for tweaking. The main thing to do is to turn off any exposure options! these are handled by the camera, and no webcam will give you decent framerates while trying to correct lighting conditions. The program you'd want to use if you're doing this on the cheap is called Dgeeme. It's freeware and has brightmarker support. It is clunky as hell and a lot of work in the tweaking department to achieve results that are in anyway timesaving. To use this or any other optical system you will need a very controlled environment, that you can dedicate soley to mocap. It'll take a lot of time to get your setting right, and may be pretty tempremental to change. There's a software called Simi motion capture that costs around $4000, that was tested on webcam footage.Something to keep in mind for Dgeeme, is that the only way I got anything remotely useful was to set up a physical cube frame large enough to be clearly visable for calibration purposes but it has to remain in the capture scene the whole time. It takes a BIG working area to be able to achieve optical mocap.
oh, and if you have any frame dropping during capture, dgeeme won't read it. If you're here in Australia, I've got my own mocap setup (gypsy 3), and would consider trading BVH data for programming depending on the project you're working on.
Anyhow, Good luck with it and email me to let me know how it comes along.
I'd appreciate any info on your game Ideas as well, if you've got a website, send it my way.
best regards,
-Heath Freeland(heath_freeland_3d@yahoo.com.au)
Hello, I am making a motion capture system with NaturalPoint's OptiTrack cameras: http://geocities.com/mocap_is_fun/ Here is a sample video: http://www.geocities.com/mocap_is_fun/mocap34.wmv It can output BVH which can be loaded by other apps like Poser: http://www.geocities.com/mocap_is_fun/Poser.wmv