MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord

    MMM-Face-Reco-DNN - All new Face Recognition

    Utilities
    14
    36
    7971
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • nischi
      nischi @ChrizZz last edited by

      @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.

      G 1 Reply Last reply Reply Quote 1
      • C
        ChrizZz last edited by ChrizZz

        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.

        nischi 1 Reply Last reply Reply Quote 0
        • nischi
          nischi @ChrizZz last edited by

          @ChrizZz
          Yes you need to use one of the Face Reco Module that this works. Better my new Module 😉 it’s much more accurate.

          C 1 Reply Last reply Reply Quote 1
          • C
            ChrizZz @nischi last edited by ChrizZz

            @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
            
            nischi 1 Reply Last reply Reply Quote 0
            • nischi
              nischi @ChrizZz last edited by

              @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.

              1 Reply Last reply Reply Quote 0
              • C
                ChrizZz last edited by

                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.

                nischi 1 Reply Last reply Reply Quote 0
                • nischi
                  nischi @ChrizZz last edited by

                  @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?

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    ChrizZz @nischi last edited by

                    @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
                        					}
                    		},
                    
                    1 Reply Last reply Reply Quote 0
                    • D
                      dragontattoo last edited by

                      Is it working fine??

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        ChrizZz @dragontattoo last edited by

                        @dragontattoo said in MMM-Face-Reco-DNN - All new Face Recognition:

                        Is it working fine??

                        Depends on how you define working fine…The face recognition is working quite good, setting it up is easy with the advice you get in this thread. For me it’s just the “slow” reaction to activate the display which is an issue. But I’m optimistic that there is a way to solve it and I have a special environment with a display which hasn’t CEC control.

                        nischi 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy