MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

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

    Scheduled Pinned Locked Moved Utilities
    36 Posts 14 Posters 18.1k Views 17 Watching
    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.
    • I Offline
      Ivanov_d
      last edited by

      @ChrizZz I followed the tutorial and installed OpenCV and all dependencies in a virtual environment, but that did not go very well afterwards, you have to reconfigure the module with the correct paths and that can be cumbersome, therefore I started on a clean state and installed OpenCV and the dependencies without a virtual envioronment - e.g. follow the same tutorial without the part related to virtual enviornment. That is the most appropriate for our use case.

      1 Reply Last reply Reply Quote 2
      • C Offline
        ChrizZz
        last edited by

        damn - 2nd try without a virtual environment.

        @nischi: Is there a chance that you merge your module also with MMM-MotionDetector? Currently I use the camera to activate and deactive my screen and Google told me that it isn’t possible that 2 processes use the same camera. The suggested solution was to use a 2nd camera, merge both processes or stream the camera picture.

        nischiN 1 Reply Last reply Reply Quote 1
        • I Offline
          Ivanov_d
          last edited by

          @ChrizZz I have used camera motion detection and I gave it up, because:

          1. It is not very reliable (maybe it was just my cheap camera that I used for testing back then)
          2. 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.

          1 Reply Last reply Reply Quote 2
          • nischiN Offline
            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 Offline
              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.

              nischiN 1 Reply Last reply Reply Quote 0
              • nischiN Offline
                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 Offline
                  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
                  
                  nischiN 1 Reply Last reply Reply Quote 0
                  • nischiN Offline
                    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 Offline
                      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.

                      nischiN 1 Reply Last reply Reply Quote 0
                      • nischiN Offline
                        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
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy