Now you see me, now you don’t, face detection scripts

Straight out of Ghost in the Shell, the Laughing Man makes his appearance in these security camera shots. [William Riggins] wrote us to let us know about his teams Famicam scripts. After taking a screen shot, faces are detected and counted, ‘anonymized’, and the final image is uploaded to Twitter.

The process is rather simple, and sure beats wearing a bunch of white reflective camouflage. All that’s left is detecting specific faces to make anonymous, and of course uploading the script to every camera in the world. Easy, right?


  1. nimrod says:

    thanks but old news:

    seen it live at 25c3 :)

  2. Jesse says:

    haha, reminds me if this: and one other hack I’ve seen on this site.

    What would be fun is if you could insert this into the encoding component of a DVR based security system before it’s saved to disk/offsite.

  3. Leav says:

    I spy a RepRap Mendel!

  4. Abyss says:

    Thanks for posting us! Did my best to prepare for server armageddon on this one, but if there are any questions about the app just drop me an email or twitter reply (abyssknight).

    Tetsu (the one responsible for the Ghost in the Shell references) and myself are members of FAMiLab, the Orlando, FL based hackerspace. One of our other members borrowed the IP camera we’re using and mounted it to the ceiling for us. We’re planning a few more upgrades to the system, but we’re pretty happy with the results thus far.

    If you’re in the area be sure to check out the lab. I’ll be updating the post later today with additional information about the project and our plans.

  5. UltimateJim says:


  6. tetsu says:

    We had it doing panoramas too for a while, but face detection was way worse on warped faces.


  7. Regulus says:

    I did not even see the laughing man for a bit — I was stuck looking at the RepRap Mendel.

  8. Otacon22 says:

    Hahahaha, The laughing man logo! I’ve always dreamed to do that :D

  9. tetsu says:

    You guys should come down to the FAMiLab sometime :), see it in person, have your face changed.

    unit 108, 540 N SR 434, Altamonte Springs, FL
    email or join #familab@freenode

  10. Brian says:

    Reminds me of the Punisher 2099 comic. Frank Castle was a cop, but in his day, only paying customers get police service, and is is constantly kicking the crap out of lawful (ie: paying customers) mobsters. He has a nice, pixel skull to hide his face.

    So this hack is only 89 years early. Cool.

  11. phil says:

    Awesome. That show does rock. Now lets see everybody’s face replaced with random former presidents.

  12. Harvie.CZ says:

    Simplest way to detect face is in Perl:
    use Image::ObjectDetect;

  13. _matt says:

    Except, the “haartraining” takes time to run doesn’t it?

  14. kmatzen says:


    They are probably using the haarcascade_frontalface_default.xml or haarcascade_frontalface_alt.xml classifiers that come with opencv to avoid their own training.

  15. Abyss Knight says:

    @kmatzen @_matt We are currently using the demo classifiers provided in the OpenCV package. We’d like to do our own training, since the angle is a little non-standard, but this worked all right for now.

    @Jesse @nimrod @Harvie.CZ Glad to see the other project links out there. I’m sure we weren’t the first. Our code is panning the camera around the lab to get a full view of the space, though. The purpose of the project was to get an idea of our traffic and I/O at the hackerspace; not so much the face replacement.

    RE all of the RepRap Mendel comments: A couple of our hackerspace members are building RepRaps. They’re etching their own stepper motor drivers and printing parts on a highly modified MakerBot that uses Wade’s extruder.

  16. Tachikoma says:

    Sweet. All we need now is prosthetics and implants to get advanced enough to be hacked remotely.

  17. asd says:

    they hacked my eyes!!!

    next project?! ghost hacking?XD

  18. Wolf says:

    I was just thinking that someone should be or would be working on thisd, and lo and behold, someone has!

    I haven’t looked at the details yet, but my idea was to use a combination of Processing and / or ARToolKit along with a hat and a code to cause the image to come up when the code was seen by a Web cam.

  19. Kilo414 says:

    Wow i tried to get this to work again. Got everything working but when i run the laugh file in processing a black window opens and nothing happens. Any one know what im doing wrong?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,687 other followers