Read the statement by Michael Teeuw here.
Facial Recognition - customize your mirror for every user!
-
@schlachtkreuzer6 Check out the tutorial I wrote for Motion & the mirror. Pretty much the part you’ll have to figure out is how to get a script to update the mirror. Motion can be configured to run a script, save a file, stream a video, etc. from an IP camera. There’s also a streaming server integrated into it, so you could probably put the contents of the IP camera into the stream from motion, and then use an IFRAME to display the stream’s output.
In my research, I found a lot of information on the Motion software, including a couple that were specifically about running Motion on a Raspberry Pi as a security system. Once you have that configured, the next part is just figuring out how to send an alert to your mirror and how you want to display it.
-
@bhepler great thanks! I will check this soon :D
-
@bhepler Thank you for your suggestion.
I already have this functionality. (Using my NAS´s “Synology Surveillance Station”).
If a “motion” is detected, I get an “Alert Notification” with a Mjpeg-Stream on my Magic Mirror. Every motion is reported,
so I get a lot of “false positive”.I would prefer a face detection (and I´m wondering why software like “Motion” and the “Surveillance Station” does not implement these feature.)
Any OpenCV Gurus in the house?
-
Hi,
I have an issue with magicmirror not detecting my face. I got the training right and verified with the twst tool. The test tool recognizes me very good and quickly.
But whan i launch MM, I just get:
User undefined with confidence null logged in.I tried tweaking the threshold values, but maybe not doing it right.
Any ideas? Pulling my hair here :-)
-
I am using an external USB cam.
-
Are you sure you put the training .xml file in the right place? Are you sure the training name syntax in your confis.jsg file matches the output from the train.py program you ran? those are about the only 2 things I can think of. Double check those and if you havent found the problem yet post the output from train.py and your config.js
-
@nuckinfutz Im not sure, tried to put it in the root of the Facial recognition module first, but for some reason it couldnt open the file there (permissons maybe?) So I changed the path in the config.js file to the files original location, (where the training script places it).
I will post output from train.py and my config.js when I get home.
Thoughts of mine:
Is it possible that the web cam captures to low resolution compared to the test script? How do one go avout changing that?Some permissions problem? Root vs pi user?
If I set the confidence threshold to a much higher number, wouldn’t it eventually recognise anyone as me? (I only have one user)
Thanks for the help!
-
@nuckinfutz
Ok here is the output from train.py:pi@raspberrypi:~/MagicMirror/modules/MMM-Facial-Recognition-Tools-master/facetrainer $ sudo python train.py Which algorithm do you want to use? [1] LBPHF (recommended) [2] Fisherfaces [3] Eigenfaces --> 1 Reading training images... -------------------- Assign label 1 to Johannes -------------------- Read 13 positive images and 400 negative images. 13 images from subject Johannes -------------------- Training model... Training data saved to training.xml Please add or update (if you added new people not just new images) ['Johannes'] inside config.js (mirror module) or config.py (model tester). You can change the names to whatever you want, just keep the same order and you'll be fine. Please add 1 as your choosen algorithm inside config.js (mirror module) or config.py (model tester). pi@raspberrypi:~/MagicMirror/modules/MMM-Facial-Recognition-Tools-master/facetrainer $
Here is my config.js:
GNU nano 2.2.6 File: config.js /* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. */ var config = { port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], language: 'sv', timeFormat: 24, units: 'metric', modules: [ { module: 'MMM-Facial-Recognition', config: { // 1=LBPH | 2=Fisher | 3=Eigen recognitionAlgorithm: 1, // Threshold for the confidence of a recognized face before it's considered a // positive match. Confidence values below this threshold will be considered // a positive match because the lower the confidence value, or distance, the // more confident the algorithm is that the face was correctly detected. lbphThreshold: 50, fisherThreshold: 250, eigenThreshold: 3000, // force the use of a usb webcam on raspberry pi (on other platforms this is always true automatically) useUSBCam: true, // Path to your training xml trainingFile: '/home/pi/MagicMirror/modules/MMM-Facial-Recognition/training.xml', // recognition intervall in seconds (smaller number = faster but CPU intens!) interval: 1, // Logout delay after last recognition so that a user does not get instantly logged out if he turns away from the mirror for a f$ logoutDelay: 5, // Array with usernames (copy and paste from training script) users: ['johannes'], //Module set used for strangers and if no user is detected defaultClass: "default", //Set of modules which should be shown for every user everyoneClass: "everyone" } },
-
@paviro Do you think it can be possible to have a “CURL” call when a user log in and log out ?
-
@YourhighnessLeender Check your capitalization. Your training script output was ‘Johannes’ and your
config.js
has ‘johannes’.