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 /.]

Adam Flaherty

Adam Flaherty

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.


  • http://profiles.google.com/stuart.anderson Stuart Anderson

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

  • Anonymous

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

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

  • http://profiles.google.com/genecyber Shannon Prue

    Here are my beginning attempts at recreating this with openCV Stay tuned to this forum post for updates.
    http://www.emgu.com/forum/viewtopic.php?f=6&t=1799

  • http://www.facebook.com/people/Stacy-Devino/2412676 Stacy Devino

    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!

  • http://www.facebook.com/profile.php?id=662333819 Ahmet Yıldırım

    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.

    • http://profiles.google.com/alex.willisson Alex Willisson

      “Sans” means “no”

      Think Sans Serif (no serifs)

      • Anonymous

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

        • http://www.facebook.com/profile.php?id=1000233414 Tyler Steven Deel

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

          Yay calligraphy classes.

    • http://twitter.com/adfm Adam Flaherty

      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?

      • http://www.facebook.com/profile.php?id=662333819 Ahmet Yıldırım

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

  • http://www.facebook.com/profile.php?id=662333819 Ahmet Yıldırım

    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.

  • http://www.facebook.com/profile.php?id=36611445 Rich Nguyen

    Could you able to track multiple object simultaneously?

    • http://www.facebook.com/profile.php?id=506333439 Alex Barry

      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.

  • http://twitter.com/shapednoise shapednoise

    Kinect is already SO yesterday… if its REAL?

    • http://www.facebook.com/profile.php?id=506333439 Alex Barry

      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.

  • http://www.facebook.com/people/Bakeca-Italia/100001034601139 Bakeca Italia

    either ways it’s totally amazing … great work.

  • http://www.facebook.com/profile.php?id=506333439 Alex Barry

    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.

  • http://www.facebook.com/profile.php?id=100000098321389 Robert Ault

    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

  • http://www.facebook.com/webinbinder Clint Webster

    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.

  • http://www.facebook.com/profile.php?id=100001199041864 Дмитрий Жиляев

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

  • http://ukr-net.info asolomin

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

  • http://www.uvdesigns.ca Umberto

    very nice!

  • Pingback: Our Web Page()