Read the statement by Michael Teeuw here.
MMM-Face-Reco-DNN - All new Face Recognition
-
@ChrizZz I have used camera motion detection and I gave it up, because:
- It is not very reliable (maybe it was just my cheap camera that I used for testing back then)
- it is resource hungry
Because of that I use an external wireless PIR sensor which is part of my smart home system to turn on/off my SmartMirror and it works great. Since the motion processing happens on my smart home system and the Mirror is turned on/off via SSH command it takes up no resources at all from the MagicMirror which is already at 60% load when using Facial Recognition.
-
@ChrizZz
You can use my other Module https://github.com/nischi/MMM-MotionControl to control TV with my Face Reco Module. It communicate with Notifications and is not using an own Camera Stream. -
oh, I didn’t know that you have a modul for it. But unfortunately it isn’t working on my Pi. Your modul doesn’t recognize a motion.
Do I have to uninstall the MMM-MotionDetector first?
Or do I need to run Face-Reco-DNN or the OCV3 version?//edit: I think I know why it isn’t working. Maybe my display isn’t HDMI-CEC ready. I changed the command of your node_helper.js.
Default:turnOn: function() { var self = this; exec('echo "on 0" | cec-client ' + this.config.comport + ' -s -d 1', function (error, stdout, stderr) { self.status = 'on';
My version:
turnOn: function() { var self = this; exec('vcgencmd display_power 1', function (error, stdout, stderr) { self.status = 'on';
Instead of sending a note to my display for standby I switch off the display_power. But I can’t wake up the display again. I think I have to use Face-Reco-DNN or Facial-Recognition-OCV3. Currently I don’t use them because I have to do the setup for the DNN version.
-
@ChrizZz
Yes you need to use one of the Face Reco Module that this works. Better my new Module ;) it’s much more accurate. -
@nischi said in MMM-Face-Reco-DNN - All new Face Recognition:
@ChrizZz
Yes you need to use one of the Face Reco Module that this works. Better my new Module ;) it’s much more accurate.Thanks, I will use your new module.
During the setup I have another issue. It’s when I want to start encoding I get this error message:
Traceback (most recent call last): File "encode.py", line 5, in <module> from imutils import paths File "/usr/local/lib/python3.7/dist-packages/imutils/__init__.py", line 8, in <module> from .convenience import translate File "/usr/local/lib/python3.7/dist-packages/imutils/convenience.py", line 6, in <module> import cv2 ModuleNotFoundError: No module named 'cv2'
I think it’s a problem of my OpenCV installation where I skipped the virtualenvs. In step 6 of the tutorial I should do this:
$ cd ~/.virtualenvs/cv/lib/python3.5/site-packages/ $ ln -s /usr/local/python/cv2/python-3.5/cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so $ cd ~
I skipped that because I have no idea where I have to create the link when I install this without virtualenvs. But it seems that I have to link it…
//edit: Key to success:
cd ~/opencv-4.0.0/build/lib/python3 sudo cp cv2.cpython-35m-arm-linux-gnueabihf.so /usr/local/lib/python3.5/dist-packages/cv2.so
-
@ChrizZz
Thanks for your solution. Usually it’s because the link for cv2 is to the wrong python Version.
Happy to hear that it works. -
is it common that it takes 40sec between face recognition and turning the TV on?
I see it happen after a freshly restarted pi, that it takes 40/45sec. The scenario is that I restart my pi, mm is autostarting and the TV is turned off by the module. Between the restart and the 1st face recognition is ~3min time.
-
@ChrizZz
Sound a little bit long to me, for me it works faster. But it took a while until they are startet. Do you use default settings? -
@nischi said in MMM-Face-Reco-DNN - All new Face Recognition:
@ChrizZz
Sound a little bit long to me, for me it works faster. But it took a while until they are startet. Do you use default settings?My logs file is also a bit weird:
[MMM-Face-Reco-DNN] Users ChrizZz logged in. CECControl received (current, new): off on CECControl received (current, new): on off CECControl received (current, new): off on CECControl received (current, new): on off CECControl received (current, new): off on CECControl received (current, new): on off [MMM-Face-Reco-DNN] Users ChrizZz logged out. CECControl received (current, new): off on CECControl received (current, new): on off CECControl received (current, new): off on CECControl received (current, new): on off [MMM-Face-Reco-DNN] Users ChrizZz logged in. CECControl received (current, new): off on CECControl received (current, new): on off [MMM-Face-Reco-DNN] Users ChrizZz logged out. [MMM-Face-Reco-DNN] Users ChrizZz logged in. CECControl received (current, new): off on CECControl received (current, new): on off CECControl received (current, new): off on CECControl received (current, new): on off [MMM-Face-Reco-DNN] Users ChrizZz logged out. CECControl received (current, new): off on CECControl received (current, new): on off CECControl received (current, new): off on CECControl received (current, new): on off
This is a 3min part of the logs and the 1st time I was in front of the mirror and recognized by the module this evening.
My settings are:
{ module: 'MMM-CECControl', config: { // Comport of your Raspberry Pi comport: 'RPI', // Turn the TV off if the Mirror start offOnStartup: true } }, { module: 'MMM-MotionControl', config: { // Delay to turn the TV off delay: 60000, // Interval to check modules interval: 5000, // Use the module MMM-Facial-Recognition-OCV3 useFacialRecognitionOCV3: false, // Use the module MMM-Face-Reco-DNN useMMMFaceRecoDNN: true, // Array where tv should be on ontime: [] } }, { module: 'MMM-Face-Reco-DNN', config: { // Logout 15 seconds after user was not detecte anymore, if they will be detected between this 15 Seconds, they delay will start again logoutDelay: 30000, // How many time the recognition starts, with a RasPi 3+ it would be good every 2 seconds checkInterval: 2000, // 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', // XML to recognize with haarcascae cascade: 'modules/MMM-Face-Reco-DNN/tools/haarcascade_frontalface_default.xml', // Pre encoded pickle with the faces encodings: 'modules/MMM-Face-Reco-DNN/tools/encodings.pickle', // You wanna use pi camera or usb / builtin (1 = raspi camera, 0 = other camera) usePiCamera: 1, // Method of face detection (dnn = deep neural network, haar = haarcascade) method: 'dnn', // Which face detection model to use. "hog" is less accurate but faster on CPUs. "cnn" is a more accurate deep-learning model which is GPU/CUDA accelerated (if available). detectionMethod: 'hog', // How fast in ms should the modules hide and show (face effect) animationSpeed: 0, // Path to Python to run the face recognition (null / '' means default path) pythonPath: null, // Should shown welcome message over alert module from MagicMirror welcomeMessage: true } },
-
Is it working fine??