Laughing Man-like tool from a Japanese animaion movie, Ghost in the Shell (for fun!)
| Developer | sonots |
|---|---|
| First Edition | 07/2006 |
| Last Modified | 07/2006 |
| Language | C++ |
| Library | OpenCV |
| Compatible OS | Verified 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 ... 
Related
Samples
Before
After

Before [4]
After
Download
| File | Date | What's new |
| 07/01/2006 | First 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
- [1] Rapid Object Detection With A Cascade of Boosted Classifiers Based on Haar-like Features
- OpenCV haartraining Tutorial
- [2] Rainer Lienhart and Jochen Maydt. An Extended Set of Haar-like Features for Rapid Object Detection. Submitted to ICIP2002. http://www.lienhart.de/ICIP2002.pdf

- [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



