Craft & Design Photography & Video Robotics
High-Quality Open Source Body Tracking Sans Kinect

Draw a bounding box around an object in the camera’s field of view and Zdenek Kalal’s open source Predator algorithm will continuously track it in real-time with just a standard webcam. That’s right, get Kinect-like body tracking without the fancy hardware. With all those front-facing cameras out there, just think of the mobile applications! Minority Report-style HCI, face tracking, improved visual search, and video stabilization are a few examples. [via /.]

48 thoughts on “High-Quality Open Source Body Tracking Sans Kinect

    1. It uses OpenCV, but I’d say it’s a little more than SURF. And you’re correct in that it’s not a Kinect, but it does one heck of a job at object detection. It learns what an object is over time. Did you see that panda video at the end? Crazy, huh?

      1. i admit that it’s a great implementation of computer vision.i saw the panda at the end.i dont think it can be possible other than “tracking heat with thermal cam. like kinect does” or by assuming the only moving thing is panda the object we wanna track(which is the case in the video).
        if it’s not done by assuming the moving thing is panda with a regular camera.That’s totally a GREAT work. =)

    1. From my experience with OpenCV, yes, it would probably be possible. The only limitation I could think of would be CPU power – the faster/more cores, the more things you’d be able to track in real time.

    1. Yes, this is real. I develop OpenCV software (Open Computer Vision Library), and this is certainly attainable, although I don’t know the particulars of how he made his software.

  1. Actually, it doesn’t track depth like the kinect does, this more-so tracks orientation and size, but there is no fixed way of knowing the distance by the size unless you are tracking a static object with an absolute known size.
    Now, if you used this software (with a few tweaks, of course) with a kinect, then this would be pretty kick-ass.
    Some people are asserting that this is just using the SURF feature detector – I don’t know the exact underlying software, but I’d assume this is using a combination of camshift, a feature detector (such as the suggested SURF, or some other), and some sort of haar trainer (OpenCV’s BOWTrainer?).
    Regardless of how it works, it’s quite awesome.

  2. It’s cool but I don’t think it’s unique. Maybe the combination of technologies is new. This 2007 article from CodeProject:

    http://www.codeproject.com/KB/audio-video/face_detection.aspx

    Uses Haar wavelets and pattern matching to track objects. That looks like what is going on here, in some variation. “Learning” the patterns and keeping track of where they are in last frame is pretty standard practice too in active machine vision systems. Most face tracking already uses a learning feature.

    Non of this should detract from the coolness of the project though. I like his idea of using these methods for image indexing. I think the same methodology can provide video indexing too. I’m surprised someone hasn’t made something like that yet…except the amount of memory, storage and processing required are cost prohibitive. Maybe a distributed grid like:

    http://www.codeproject.com/KB/silverlight/gridcomputing.aspx

    Would do the trick? I’m grabbing this project’s source from github (https://github.com/zk00006/OpenTLD) to see what this guys doing under the hood…

    –Robert

  3. This has amazing potential for animation as well. If you can track multiple points you could, with extreme accuracy, build 3 dimensional meshes with real human characteristics from which to go off of.

  4. Pingback: Our Web Page

Comments are closed.

Tagged

I make cool stuff and write about other people making cool stuff on makezine.com. If you have something you think I should see, send me a tip.

View more articles by Adam Flaherty