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.4k 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.
    • C Offline
      ChrizZz
      last edited by

      I have a new strange error and I think it’s just if I restart mm with “pm2 restart mm”. If I reboot my pi, everything is fine.

      SyntaxError: Unexpected token m in JSON at position 0
          at JSON.parse (<anonymous>:null:null)
          at PythonShell.asJson (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:375:21)
          at /home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:326:42
          at Array.forEach (<anonymous>:null:null)
          at PythonShell.receiveInternal (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:322:15)
          at PythonShell.receiveStderr (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:306:21)
          at Socket.<anonymous> (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:109:22)
          at Socket.emit (events.js:182:13)
          at addChunk (_stream_readable.js:279:12)
          at readableAddChunk (_stream_readable.js:260:13)
          at Socket.Readable.push (_stream_readable.js:219:10)
          at Pipe.onread (net.js:636:20)
      
      SyntaxError: Unexpected token T in JSON at position 0
          at JSON.parse (<anonymous>:null:null)
          at PythonShell.asJson (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:375:21)
          at /home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:326:42
          at Array.forEach (<anonymous>:null:null)
          at PythonShell.receiveInternal (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:322:15)
          at PythonShell.receiveStderr (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:306:21)
          at Socket.<anonymous> (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:109:22)
          at Socket.emit (events.js:182:13)
          at addChunk (_stream_readable.js:279:12)
          at readableAddChunk (_stream_readable.js:260:13)
          at Socket.Readable.push (_stream_readable.js:219:10)
          at Pipe.onread (net.js:636:20)
      
      { Error: mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
      mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x631b2f0 (ENOSPC)
      mmal: mmal_connection_enable: output port couldn't be enabled
      Traceback (most recent call last):
        File "modules/MMM-Face-Reco-DNN/tools/facerecognition.py", line 56, in <module>
          vs = VideoStream(usePiCamera=True).start()
        File "/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/tools/stream.py", line 18, in __init__
          framerate=framerate)
        File "/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/tools/picam.py", line 10, in __init__
          self.camera = PiCamera()
        File "/usr/lib/python3/dist-packages/picamera/camera.py", line 433, in __init__
          self._init_preview()
        File "/usr/lib/python3/dist-packages/picamera/camera.py", line 513, in _init_preview
          self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
        File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 558, in __init__
          self.renderer.inputs[0].connect(source).enable()
        File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2212, in enable
          prefix="Failed to enable connection")
        File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check
          raise PiCameraMMALError(status, prefix)
      picamera.exc.PiCameraMMALError: Failed to enable connection: Out of resources
      
          at PythonShell.parseError (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:268:21)
          at terminateIfNeeded (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:139:32)
          at ChildProcess.<anonymous> (/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/node_modules/python-shell/index.js:131:13)
          at ChildProcess.emit (events.js:182:13)
          at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
      
        executable: 'python3',
        options: null,
        script: 'modules/MMM-Face-Reco-DNN/tools/facerecognition.py',
        args:
         [ '--cascade=modules/MMM-Face-Reco-DNN/tools/haarcascade_frontalface_default.xml',
           '--encodings=modules/MMM-Face-Reco-DNN/tools/encodings.pickle',
           '--usePiCamera=1',
           '--method=dnn',
           '--detectionMethod=hog',
           '--interval=2000',
           '--output=0' ],
        exitCode: 1 }
      
      1 Reply Last reply Reply Quote 0
      • B Offline
        Blauenfeldt
        last edited by

        I get this too, when my PI can’t connect to the camera. I know that, because if i use
        Raspistill -o s.jpg
        I will get an error there too. A reboot seems to fix it though. I don’t know what makes it happen, but i suspect the cable.

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @Blauenfeldt
          last edited by

          @Blauenfeldt the python code returns an error, but the module does not expect it, and fails.

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • R Offline
            rjlinden
            last edited by

            Will this work if the camera is rotated? If not, can you tell me where I need to change the code?

            1 Reply Last reply Reply Quote 0
            • H Offline
              hANNEsLUL
              last edited by

              Hi,

              when im trying to install the face_recogtnition I’m getting this error code:

              Does anybody know how to fix this/what is causing this?
              Sorry if it’s obvious, im a super noob with this kind of stuff

              Cheers

              pi@raspberrypi:~ $ pip install face_recognition
              Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
              Collecting face_recognition
                Using cached https://files.pythonhosted.org/packages/1e/95/f6c9330f54ab07bfa032bf3715c12455a381083125d8880c43cbe76bb3d0/face_recognition-1.3.0-py2.py3-none-any.whl
              Requirement already satisfied: dlib>=19.7 in ./.local/lib/python2.7/site-packages (from face_recognition) (19.19.0)
              Collecting face-recognition-models>=0.3.0 (from face_recognition)
                Downloading https://www.piwheels.org/simple/face-recognition-models/face_recognition_models-0.3.0-py2.py3-none-any.whl (100.6MB)
                  99% |████████████████████████████████| 100.6MB 1.7MB/s eta 0:00:01
              Exception:
              Traceback (most recent call last):
                File "/usr/lib/python2.7/dist-packages/pip/_internal/cli/base_command.py", line 143, in main
                  status = self.run(options, args)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/commands/install.py", line 338, in run
                  resolver.resolve(requirement_set)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py", line 102, in resolve
                  self._resolve_one(requirement_set, req)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py", line 256, in _resolve_one
                  abstract_dist = self._get_abstract_dist_for(req_to_install)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py", line 209, in _get_abstract_dist_for
                  self.require_hashes
                File "/usr/lib/python2.7/dist-packages/pip/_internal/operations/prepare.py", line 283, in prepare_linked_requirement
                  progress_bar=self.progress_bar
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 836, in unpack_url
                  progress_bar=progress_bar
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 673, in unpack_http_url
                  progress_bar)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 897, in _download_http_url
                  _download_url(resp, link, content_file, hashes, progress_bar)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 617, in _download_url
                  hashes.check_against_chunks(downloaded_chunks)
                File "/usr/lib/python2.7/dist-packages/pip/_internal/utils/hashes.py", line 48, in check_against_chunks
                  for chunk in chunks:
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 585, in written_chunks
                  for chunk in chunks:
                File "/usr/lib/python2.7/dist-packages/pip/_internal/utils/ui.py", line 159, in iter
                  for x in it:
                File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 574, in resp_read
                  decode_content=False):
                File "/usr/share/python-wheels/urllib3-1.24.1-py2.py3-none-any.whl/urllib3/response.py", line 494, in stream
                  data = self.read(amt=amt, decode_content=decode_content)
                File "/usr/share/python-wheels/urllib3-1.24.1-py2.py3-none-any.whl/urllib3/response.py", line 442, in read
                  data = self._fp.read(amt)
                File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/filewrapper.py", line 63, in read
                  self._close()
                File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/filewrapper.py", line 50, in _close
                  self.__callback(self.__buf.getvalue())
                File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/controller.py", line 275, in cache_response
                  self.serializer.dumps(request, response, body=body),
                File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/serialize.py", line 87, in dumps
                  ).encode("utf8"),
              MemoryError
              G 1 Reply Last reply Reply Quote 0
              • G Offline
                gaudouy @hANNEsLUL
                last edited by

                @hANNEsLUL
                Try this :

                pip --no-cache-dir install face_recognition
                -python setup.py install
                
                H 1 Reply Last reply Reply Quote 0
                • G Offline
                  gaudouy
                  last edited by

                  What is the best camera for this module ?
                  Pi NoIR Camera V2
                  alt text
                  https://www.raspberrypi.org/products/pi-noir-camera-v2/

                  Or

                  Camera Module V2
                  alt text
                  https://www.raspberrypi.org/products/camera-module-v2/

                  Thanks for advance :)

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    hANNEsLUL @gaudouy
                    last edited by

                    @gaudouy
                    Thank you, seems like that worked.

                    But now I am getting following error when I’m trying to run “encode.py”

                    Python 3.7.3 (/usr/bin/python3)
                    >>> %Run encode.py
                    Traceback (most recent call last):
                      File "/home/pi/MagicMirror/modules/MMM-Face-Reco-DNN/tools/encode.py", line 5, in <module>
                        from imutils import paths
                    ModuleNotFoundError: No module named 'imutils'
                    >>> 
                    

                    But when I’m installing “imutils” using “pip install imutils” I am getting no error, but following message:

                    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
                    Requirement already satisfied: imutils in ./.local/lib/python2.7/site-packages (0.5.3)
                    

                    Any Idea how to fix that?

                    And to your best camera question for this module, I’m using the PiCamera Module v.2, but I can’t tell you how good its working, since the Face-Reco is not working yet…

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      boppersnr @nischi
                      last edited by

                      @nischi
                      First off, I love your module. Well done. Its lots of fun.

                      Question - How can I display the frame/view of the camera on the magic mirror?
                      I would like to see what the camera sees on the screen in Magic Mirror. So I can see the display and the little green boxes with the names of the faces it recognises. Do you know what I would need to do to display the camera frame with the facial recognition code running the scans/outputs on screen?

                      A nischiN 2 Replies Last reply Reply Quote 1
                      • G Offline
                        ghiesseldorf @nischi
                        last edited by

                        @nischi If a user who isn’t known by Face-Reco-DNN moves in front of the camera, is a notification message generated and picked up by MMM-MotionControl? It doesn’t look like the “default” and/or “everyone” classes toggles the screen to un-blank. I was expecting that ANY motion (changes in the capture frames from the camera) would un-blank, but I’m not seeing this behavior. No log-in message gets written to the log.

                        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