Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

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

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.


Related

Comments

  1. 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.
    http://www.emgu.com/forum/viewtopic.php?f=6&t=1799

  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. 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. “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. A serif is a little “foot” on the bottom of the letter.

          Yay calligraphy classes.

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

  6. 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. 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:

    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

  12. 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. Вот было бы это на русском, а так в чём смысл? не понятно!

  14. asolomin says:

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