High-Quality Open Source Body Tracking Sans Kinect

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. Stuart Anderson says:

    First two links are broken. Have a tag at the end that they shouldn’t.

  2. Anonymous says:

    Wow. That’s a game changer. Well done sir!

    We’re going to be seeing a lot from Zdenek.

  3. Shannon Prue says:

    Here are my beginning attempts at recreating this with openCV Stay tuned to this forum post for updates.

  4. Stacy Devino says:

    Hey, you may want to talk to my boyfriend. He did something similar using pattern and skin tone recognition: http://stev-o.us/EECS349-SkinColorDetection.pdf

    He made a small motion and tracking program that would allow you to use a webcam to spin a “wheel of fortune” wheel by swiping your hand. I know he would be interested to improve something like this with a like-minded person!

  5. Ahmet Yıldırım says:

    great work but that’s no kinect :/
    this one looks like SURF algorithm of OpenCV.
    search “SURF OpenCV Feature Detection” on youtube for more projects like these.

    1. Alex Willisson says:

      “Sans” means “no”

      Think Sans Serif (no serifs)

      1. Anonymous says:

        no means no, sans means without, but really, who knows what a serif is? sans looking it up

        1. Tyler Steven Deel says:

          A serif is a little “foot” on the bottom of the letter.

          Yay calligraphy classes.

    2. Adam Flaherty says:

      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. Ahmet Yıldırım says:

        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. =)

  6. Ahmet Yıldırım says:

    btw you are right it may not be SURF because i’ve never seen SURF working that fast :D im amazed by its fast detection.

  7. Rich Nguyen says:

    Could you able to track multiple object simultaneously?

    1. Alex Barry says:

      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.

  8. shapednoise says:

    Kinect is already SO yesterday… if its REAL?

    1. Alex Barry says:

      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.

  9. Bakeca Italia says:

    either ways it’s totally amazing … great work.

  10. Alex Barry says:

    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.

  11. Robert Ault says:

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


    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:


    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…


  12. Clint Webster says:

    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.

  13. Дмитрий Жиляев says:

    Вот было бы это на русском, а так в чём смысл? не понятно!

  14. asolomin says:

    Participating in the competition: “Rate the previous blog writer”

  15. Umberto says:

    very nice!

  16. Our Web Page says:

    Our Web Page

    High-Quality Open Source Body Tracking Sans Kinect | MAKE

Comments are closed.

Discuss this article with the rest of the community on our Discord server!

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