Read the statement by Michael Teeuw here.
MMM-Face-Reco-DNN - All new Face Recognition
-
I am turning on the monitor using a PIR sensor and it is instant. Keep in mind that it also depends on your monitor, some are slower to respond - this is my second monitor, the first one was very slow to respond to any HDMI related commands.
-
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 }
-
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. -
@Blauenfeldt the python code returns an error, but the module does not expect it, and fails.
-
Will this work if the camera is rotated? If not, can you tell me where I need to change the code?
-
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 stuffCheers
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
-
@hANNEsLUL
Try this :pip --no-cache-dir install face_recognition -python setup.py install
-
What is the best camera for this module ?
Pi NoIR Camera V2
https://www.raspberrypi.org/products/pi-noir-camera-v2/Or
Camera Module V2
https://www.raspberrypi.org/products/camera-module-v2/Thanks for advance :)
-
@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…
-
@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?