Read the statement by Michael Teeuw here.
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? -
@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 } },
-
Is it working fine??
-
@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.
-
@ChrizZz
Yes i know this issue. i’m currently working on a bugfix. will tell you if i’m done. -
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?