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



  • Hi all

    Because our “old” MMM-Facial-Recognition-OCV3 module is not working fine for me and is some days old i decided to create a new module with OpenCV 4.1 and Deep Neural Network to recognize faces. Thanks to normyx for this great module and inspiration for my own new one.

    Over all it is compatible with the module from normyx, you can use it over the same classes as he used. The training of the images are a little bit different but much easier as his version (for my point of view).

    To be honest the development status are still beta, i finished the module yesterday evening and tested it on my macbook and not yet on my mirror. But this tests on my local machine was successfully.

    So if you want try it out and let me know what you think about and what i can extend / change or whatever.

    Happy to hear your experiences with the module and how it works with your mirror.

    Please read carefully the readme of the module, i hope i don’t forget something, otherwise, also please let me know and i can change it or extend it. Happy to help where i can.

    If you find a bug, so let me know with a ticket on GitHub or feel free to do a Pull Request, i will check it as fast as i can.

    Thanks for your Feedback.



  • Module are now Final and tested on real MagicMirror



  • I will give it a go. I am getting mixed results with OCV3 facial recognition.



  • After few days of installing (it takes a lot of time to build OpenCV 4.1 and dlib), trial and errors I finally installed and configured the module and oh boy is it good? Yes it is. It is much faster and accurate than Facial_Recognition_OCV3 that I used before. It was tottaly worth the time.

    Thanks a lot to nischi for responding so quickly to the issues I posted on GitHub and to the enhansments he made based on my feedback.



  • @Ivanov_d Thanks a lot, glad to hear that.



  • as a Noob I have a few questions regarding the installation process - I passed now OpenCV:

    At first for me it looks like this is the newest face recognition module and therefore I should go for installing this one instead of the other 2 options, right?

    Now I finished the OpenCV installation by using the linked guide from pyimagesearch. There OpenCV was installed in an virtual environment. Is this important? Do I have to install all the libs like dlib or face recognition also in this virtual environment?



  • @ChrizZz

    Yes its the newest version of the face reco 😊

    No its not that important that you use a virtual environment, bit with this you can also install different versions on the same machine. but if you have a virtual environment you need to install all dependencies ther, dlib and face reco too.



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



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



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