This is an old revision of the document!
In order to engage users for longer term relationships it's important to be able to tell if you've met the user before, and recall past engagements.
Also provide a test competency to try out reusable standard stuff for lirec (yarp, cross platform development, etc)
Look for all faces in the image, compare with stored faces and create a new identity if the difference is over a given threshold. Do this each frame until switched into detect mode.
Look for all faces in the image, compare with stored faces and print the id number of the most similar stored face, if it's over a given threshold.
* Adding user inteface for recording up to 10 people by pressing the number keys * Better output - rendering the recorded faces, and draws lines between them and the detected faces.
Added a simple message to tell other programs which user is in view, with a confidence metric.
/faceident user-id confidence-value |
---|
The program still needs to be driven by user input, calibrating it by recording people at startup.
New messages
Input port | Bottle contents | Meaning |
---|---|---|
/faceident-ctrl | “train” ID | Train for this user |
/faceident-ctrl | “detect” | Switch out of training mode |
/faceident-ctrl | “save” sessionname | |
/faceident-ctrl | “load” sessionname | |
/faceident-ctrl | “clear” | Clears all faces |
Loading and saving is done quickly, for the review - and just consists of saving images as png files and a quickly hacked together ascii format for mapping the images to the id numbers.
Persistence across time via load and save to disk brings up problems - the computer vision will break when lighting changes too much, the saved faces will be too different from the visible ones. One possible workaround would be to lower the error threshold and sneakily recalibrate for the most likely user at the start of a new session.
====