MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

Facial Recognition - customize your mirror for every user!



  • I am struggling to get modules using a name class to work. Still waiting for an answer as well



  • Hey guys. I’m having difficulty using my webcam with the capture.py script. I’m able to use fswebcame and motion to capture video but I keep getting errors running the script. I’m using a the playstion eye as a webcam. Any ideas?



  • Hi there, maybe someone is able to help me out.
    I am trying to run capture.py but getting this Error

    Traceback (most recent call last):
       File "capture.py", line 18, in 
          import lib.capture as capture
       File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/capture.py", line 21, in 
         from . import config
       File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/config.py", line 15, in 
         (CV_MAJOR_VER, CV_MINOR_VER, mv1, mv2) = cv2.__version__.split(".")
    ValueError: not enough values to unpack (expected 4, got 3)
    


  • @salamures said in Facial Recognition - customize your mirror for every user!:

    Hi there, maybe someone is able to help me out.
    I am trying to run capture.py but getting this Error

    Traceback (most recent call last):
       File "capture.py", line 18, in 
          import lib.capture as capture
       File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/capture.py", line 21, in 
         from . import config
       File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/config.py", line 15, in 
         (CV_MAJOR_VER, CV_MINOR_VER, mv1, mv2) = cv2.__version__.split(".")
    ValueError: not enough values to unpack (expected 4, got 3)
    

    I am also facing the same issue. Any effort to resolve it will be appreciated.



  • Are you using OpenCV 3.3? Then i might can help you.



  • Got another problem. My picam is not able to open. I am using opencv 3.3.

    Remember to set the name list environment variable FACE_USERS
    Using default FACE_ALGORITM: 1
    Traceback (most recent call last):
    File "facerecognition.py", line 30, in 
    camera = config.get_camera(preview)
    File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/config.py", line 101, in get_camera
    return webcam.OpenCVCapture(device_id=0)
    File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition-Tools/lib/webcam.py", line 29, in __init__
    self._camera.open()
    TypeError: Required argument 'device' (pos 1) not found
    

    any suggestions?



  • Hello!

    I have an problem wirth the Facial Regonition Module. I have tried it with the PiCam and an normal webcam. It worked not really good with die webcam and after i’ve tried it with die PiCam it doesn’t work any more. I’ve updatet the config.js.

    This is the npm output:

    0_1510996315204_mmm.PNG

    config.js:

    On the mirror nothing is shown. {
    			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: 'modules/MMM-Facial-Recognition-Tools/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 few seconds
    				logoutDelay: 15,
    				// Array with usernames (copy and paste from training script)
    				users: ['Jenny'],
    				//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",
    				// Boolean to toggle welcomeMessage
    				welcomeMessage: true
    			}
    

    Any suggestions?



  • @mc_landin I’m at this stage as well! for some reason the classes dont change whats displayed when a new face is seen. So in this example the “default” is seen all the time and then when a generic face is seen then the “everyone” class isnt shown. Has anyone got this working?

                {
                        module: "updatenotification",
                        position: "top_bar",
                        classes: 'default'
                },
                {
                        module: "clock",
                        position: "top_left",
                        classes: 'everyone'
                },
                {
                        module: 'MMM-Facial-Recognition',
                        config: {
                                recognitionAlgorithm: 1, // 1=LBPH | 2=Fisher | 3=Eigen
                                // 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,
                                useUSBCam: true, // force the use of a usb webcam on raspberry pi (on other platforms this is always true automatically)
                                trainingFile: 'modules/MMM-Facial-Recognition-Tools/training.xml', // Path to your training xml
                                interval: 2, // recognition intervall in seconds (smaller number = faster but CPU intens!)
                                logoutDelay: 15, // Logout delay after last recognition so that a user does not get instantly logged out if he turns away from the mirror f$
                                users: [], // Array with usernames (copy and paste from training script)
                                defaultClass: "default", //Module set used for strangers and if no user is detected
                                everyoneClass: "everyone", //Set of modules which should be shown for every user
                                welcomeMessage: true // Boolean to toggle welcomeMessage
                        }
                },


  • This post is deleted!


  • Hi All, I have found out that if you want to use your USB webcam for training you can update the file https://github.com/paviro/MMM-Facial-Recognition-Tools/blob/master/lib/config.py in the appropriate directory with the following. for some reason it doesnt seem to want to fall over to the webcam so I just commented out the pi web cam and added the usb one.

    def get_camera(preview=True):
        try:
    #        from . import picam
    #        capture = picam.OpenCVCapture(preview)
    #        capture.start()
    #        return capture
            from . import webcam
            return webcam.OpenCVCapture(device_id=0)
            capture.start()
            return capture
        except Exception:
            from . import webcam
            return webcam.OpenCVCapture(device_id=0)
    

Log in to reply