This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| lirec:faceident [2009-03-30 13:54] – davegriffiths | lirec:faceident [2009-05-27 10:50] (current) – davegriffiths | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ======FaceIdent====== | ======FaceIdent====== | ||
| - | A simple approach to face identification, | + | See also [[FaceIdent dev log]] |
| - | Source code: [[http:// | + | A simple approach to face identification, |
| + | YARP network interface. | ||
| + | |||
| + | The program has two modes of operation. The first is calibration, | ||
| + | must show their face to the camera separately | ||
| + | each user with a different ID. You can see which face is mapped to which ID at | ||
| + | the bottom of the window. | ||
| + | |||
| + | The second mode of operation is face detection, where each visible detected face | ||
| + | is given an ID based on it's closest match (within a given error threshold) with | ||
| + | the faces recorded during calibration. The boxes drawn around the faces display | ||
| + | the id and the confidence value of the match. When in this mode the program sends | ||
| + | the following YARP messages: | ||
| ^ Port ^ Bottle contents ^ Meaning ^ | ^ Port ^ Bottle contents ^ Meaning ^ | ||
| | /faceident | "user appeared" | | /faceident | "user appeared" | ||
| | /faceident | "user disappeared" | | /faceident | "user disappeared" | ||
| + | |||
| + | You can also drive the program via yarp with the following input messages: | ||
| + | |||
| + | ^ Input port ^ Bottle contents ^ Meaning ^ | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | |||
| + | Faces are saved in png format along with a text file to map them to id numbers. The sessionname | ||
| + | will be prepended onto the filenames for the text file and the image files, so you can save | ||
| + | multiple sessions. | ||
| + | |||
| + | Keys: | ||
| + | |||
| + | ^ Key ^ Meaning ^ | ||
| + | | 0-9 number keys | Calibrate a given id against a face in the scene | | ||
| + | | d | Start detect mode, which will send YARP messages | | ||
| + | | c | Clear all faces in the database | | ||
| + | |||
| + | Requires: OpenCV, YARP | ||
| + | |||
| + | Written and tested on Linux, but it should work in Windows too. | ||
| + | At the moment you'll probably have to run it with: | ||
| + | |||
| + | simple-faceident --cascade=/ | ||
| + | |||
| + | In order to find OpenCV' | ||
| + | / | ||
| + | |||
| + | Todo: | ||
| + | * Try normalised cross correlation instead of image differencing | ||
| + | * Expose image size and error threshold via yarp | ||
| + | * Use tinyxml or something better for the serialisation | ||
| + | |||
| + | Source code: [[http:// | ||
| + | |||
| + | |||