Announce

PukiWiki contents have been moved into SONOTS Plugin (20070703)

Laughing Man-like tool from a Japanese animaion movie, Ghost in the Shell (for fun!)

laughing_man_logo.gif
Developersonots
First Edition07/2006
Last Modified07/2006
LanguageC++
LibraryOpenCV
Compatible OSVerified with Win XP
Table of Contents

This page is written in both Japanese and English.

Abstract

This is a laughing man-like tool from Japanese anime, Ghost in the Shell. This tool hacks vision perception device (e.g., USB camera) in realtime, and overlaps laughing man marks for faces.

Technically, this detects faces using a Machine Learning technique called as Rapid Object Detection With A Cascade of Boosted Classifiers Based on Haar-like Features [1-3] *1. This is not using color information deliberately because the recognition rate became worse when I tried to use color information simply to reduce noises *2.

Currently, this tool is supporting only frontal faces. In future, I would like to sum up detections for 7 directions, front, sides, 45 degree frontal side, and 45 degree frontal up-down faces. But, one training takes 2 days and I have to prepare a lot of sample (training) images, so ... (..;

einstein.jpgeinstein_laugh.jpg

Related

Samples

Before

einstein.jpg

After

einstein_laugh.jpg

frontalfaces_laugh.jpg

Before [4]

After

Download

FileDateWhat's new
filelaughing_man.zip07/01/2006First Edition

How to use

Connect USB camera, and Double-click laughing_man.exe, and Enjoy!

A command prompt might be shown. This software is not so user-friendly yet, sorry.

Esc to finish, and Space to snapshot.


laughing_man.exe [<Image_or_Video_or_CameraID> [<OutputFile>]]

This software supports an input from an image or a video also. Execute this on command line on such as command prompt or cygwin.

laughing_man.exe <ImageFile>

This applies laughing man images for specified ImageFile and show it. This software support many image types such as jpg, gif, png, ppm, pgm, tif, bmp, and so on.

laughing_man.exe <ImageFile> <OutputFile>

To save output image, do as above. In this case, output image is not shown.

laughing_man.exe <VideoFile>

This applies laughing man for vide file. Space key to snapshot.

laughing_man.exe <VideoFile> <OutputFile>

TO save output video file, do as above. In this case, a window to choose a video file type (codec) is shown, so choose it.

To save output for usb camera input, do as

laughing_man.exe <CameraID> <OutputFile>

In this case, you have to speficy CameraID, too. Usually CameraID is 0.

The CameraID might be 1 or 2 or so on if you are connecting many cameras to your computer.

laughing_man.exe <CameraID>

Reference

  • [3] Alexander Kuranov, Rainer Lienhart, and Vadim Pisarevsky. An Empirical Analysis of Boosting Algorithms for Rapid Objects With an Extended Set of Haar-like Features. Intel Technical Report MRL-TR-July02-01, 2002. http://www.lienhart.de/Publications/DAGM2003.pdf
  • [4] Dmitry O. Gorodnichy Video-based framework for face recognition in video. Second Workshop on Face Processing in Video (FPiV'05) in Proceedings of Second Canadian Conference on Computer and Robot Vision (CRV'05), pp. 330-338, Victoria, BC, Canada, 9-11 May, 2005. ISBN 0-7695-2319-6. NRC 48216. http://synapse.vit.iit.nrc.ca/db/video/faces/cvglab/

*1 In short, the haartraining from OpenCV library
*2 I tried to use Hue of HSV color space, however, it failed because face colors became purple rather than a gray in a dark room