• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

Facial Recognition - customize your mirror for every user!

Scheduled Pinned Locked Moved Troubleshooting
215 Posts 55 Posters 443.4k Views 57 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.
  • P Offline
    piedaniel
    last edited by Mar 25, 2017, 2:21 AM

    Hi everyone. I try to make work the face recognition but always tell me that I´m strange, but when I do test with the facialreconition.py test alway recognize me. Someone know why I have this problem? How can I solve the problem? Thanks

    1 Reply Last reply Reply Quote 0
    • E Offline
      eliddell
      last edited by Apr 9, 2017, 1:10 PM

      I have not loaded this on the mirror yet but did you change the face users and algorithm on the mirror and it’s config?

      I’m having an issue where if I train it to recognize two different people the test script recognizes both as the same person :(

      S 1 Reply Last reply Apr 9, 2017, 4:03 PM Reply Quote 0
      • S Offline
        strawberry 3.141 Project Sponsor Module Developer @eliddell
        last edited by Apr 9, 2017, 4:03 PM

        @eliddell you must be twins :D

        Please create a github issue if you need help, so I can keep track

        1 Reply Last reply Reply Quote 0
        • E Offline
          eliddell
          last edited by Apr 9, 2017, 4:16 PM

          Actually I found a problem in the config.py

          If I comment out the line i= min(0, i-1) and return i-1 in the user_label method it works… Now just want to make sure we don’t get an index out of bounds…

          Not terribley familiar with python. So what does that min(int, int) do exactly

          1 Reply Last reply Reply Quote 0
          • B Offline
            b00002561
            last edited by Apr 17, 2017, 8:07 PM

            Hi, I seem to be having an issue when trying to implement the face recognition tester. When I run the tester on the file I am getting an error, I cannot seem to resolve it.

            This is what displays in terminal:

            Loading training data...
            
            ALGORITHM: LBPH
            
            Training data loaded!
            
            Picam selected...
            
            Traceback (most recent call last):
            
            File "facerecognition.py", line 61, in 
            
            label, confidence = model.predict(crop)
            
            TypeError: 'int' object is not iterable
            

            My picamera stays active but I can see that it has stopped on my face in the background, Do you have any idea how to resolve this issue, as I am at a loss here.

            1 Reply Last reply Reply Quote 0
            • J Offline
              j.e.f.f Project Sponsor Module Developer
              last edited by Apr 27, 2017, 2:10 AM

              Hello

              This module looks freaking amazing!! I want to give this a try, but I have a few questions that I haven’t been able to find answers for.

              • Do you recommend I used the NoIR camera, or just the regular Pi Camera? The mirror will be in my front hall by the doorway, under what should be adequate light whenever someone will want to use it. No expectation that this should work in the dark

              • Where is the best place to mount the camera? My mirror will be based on a 32" TV mounted such that the top of the frame would be slightly higher than my eye level (I’m 188 cm tall), and my wife’s eye level would be at about the halfway point of the mirror. I also have two young boys, aged 8 and 6 and I’d want the camera to recognize them as well. I’m thinking of either mounting the camera on the frame at the top of the mirror, aimed slightly downward, or on one side of the frame at about the vertical center of the mirror. I’ve also read about people mounting the camera behind the mirror, but with mixed results. If that is an option, I could theoretically mount the camera right in the center of the mirror. What’s the best way to route the cable in this case? I don’t plan on having anything in the middle of the screen from the top down to about the center, so I could run the cable from the camera straight up and over the top of the screen. Suppose I would need to colour the cable black or purchase a black cable. Anyone have insight here?

              • Given that the Pi Camera has a relatively narrow field of view (approx 35 mm) would you suggest I use one of those phone camera wide angle attachments so that the cam can pick up a wider image and have a better chance of getting the face in the image, or do I just increase the likelihood that several faces will be in the picture, defeating the facial recognition routine?

              Thanks!
              -Jeff

              B 1 Reply Last reply May 3, 2017, 4:28 PM Reply Quote 0
              • A Offline
                Advokaten
                last edited by Apr 29, 2017, 2:50 PM

                Hey! I managed to ‘complete the training’ and copied training.xml into the modules folder, it recognized my face during testing and everything, however, I get this error when doing npm start and I have no clue what it means:

                Starting MagicMirror: v2.1.1
                Loading config ...
                Loading module helpers ...
                Initializing new module helper ...
                Module helper loaded: MMM-Facial-Recognition
                No helper found for module: clock.
                No helper found for module: compliments.
                All module helpers loaded.
                Starting server on port 8080 ... 
                Starting server op port 8080 ... 
                Server started ...
                Connecting socket for: MMM-Facial-Recognition
                Staring module helper: MMM-Facial-Recognition
                Sockets connected & modules started ...
                Launching application.
                [MMM-Facial-Recognition] Facerecognition started...
                [MMM-Facial-Recognition] Loading training data...
                [MMM-Facial-Recognition] ALGORITHM: LBPH
                [MMM-Facial-Recognition] Training data loaded!
                [MMM-Facial-Recognition] --------------------
                [MMM-Facial-Recognition] Webcam ausgewählt...
                Whoops! There was an uncaught exception...
                { Error: TypeError: Required argument 'device' (pos 1) not found
                    at PythonShell.parseError (/home/pi/MagicMirror/modules/MMM-Facial-Recognition/node_modules/python-shell/index.js:183:17)
                    at terminateIfNeeded (/home/pi/MagicMirror/modules/MMM-Facial-Recognition/node_modules/python-shell/index.js:98:28)
                    at ChildProcess. (/home/pi/MagicMirror/modules/MMM-Facial-Recognition/node_modules/python-shell/index.js:88:9)
                    at emitTwo (events.js:106:13)
                    at ChildProcess.emit (events.js:191:7)
                    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
                    ----- Python Traceback -----
                    File "modules/MMM-Facial-Recognition/facerecognition/facerecognition.py", line 63, in 
                      camera = config.get_camera()
                    File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition/facerecognition/config.py", line 57, in get_camera
                      return webcam.OpenCVCapture(device_id=0)
                    File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition/facerecognition/webcam.py", line 31, in __init__
                      self._camera.open()
                  traceback: 'Traceback (most recent call last):\n  File "modules/MMM-Facial-Recognition/facerecognition/facerecognition.py", line 63, in \n    camera = config.get_camera()\n  File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition/facerecognition/config.py", line 57, in get_camera\n    return webcam.OpenCVCapture(device_id=0)\n  File "/home/pi/MagicMirror/modules/MMM-Facial-Recognition/facerecognition/webcam.py", line 31, in __init__\n    self._camera.open()\nTypeError: Required argument \'device\' (pos 1) not found\n',
                  executable: 'python',
                  options: null,
                  script: 'modules/MMM-Facial-Recognition/facerecognition/facerecognition.py',
                  args: [ '{"recognitionAlgorithm":1,"lbphThreshold":50,"fisherThreshold":250,"eigenThreshold":3000,"useUSBCam":true,"trainingFile":"modules/MMM-Facial-Recognition/training.xml","interval":2,"logoutDelay":15,"users":["Alex"],"defaultClass":"default","everyoneClass":"everyone","welcomeMessage":true}' ],
                  exitCode: 1 }
                MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
                If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
                
                
                
                1 Reply Last reply Reply Quote 0
                • B Offline
                  bhepler Module Developer @j.e.f.f
                  last edited by May 3, 2017, 4:28 PM

                  @j.e.f.f - I played around with this module months ago. I wasn’t able to get it working satisfactorily for my purposes, but I think what I learned can help.

                  I don’t think the NOIR camera is necessary for your intended setup. Especially if you aren’t going to mount the camera behind the mirror itself. I do not recommend mounting the camera behind the mirror glass. I tried it and without a strong light source, I think you will just be frustrated in your results.

                  Given that you’re using a 32" TV, I’m going to assume you’re locked into a portrait orientation. With little kids in the house, I suspect mounting the camera either off to one side or on the top of the frame is your best bet.

                  The magic mirror concept works best when you’re fairly close to it. The best effect after all is that the mirror shows you information while you’re looking at your own reflection. This is helpful as it encourages people to come close to the mirror to marvel at it, which aids in the facial recognition. The camera has a decent field of view already. Sufficient to get a good look at a person standing in front of the mirror from arms-length to about two meters away. Beyond that, the facial recognition starts to get spotty because there isn’t enough detail in your face, but most people won’t be looking at the mirror from two meters away, right?

                  I would skip the wide-angle attachments. I don’t think it’s going to be necessary.

                  J 1 Reply Last reply May 3, 2017, 5:13 PM Reply Quote 0
                  • J Offline
                    j.e.f.f Project Sponsor Module Developer @bhepler
                    last edited by May 3, 2017, 5:13 PM

                    @bhepler Thanks for your insight! This helps a lot.

                    1 Reply Last reply Reply Quote 0
                    • F Offline
                      FuX
                      last edited by FuX May 7, 2017, 8:14 PM May 7, 2017, 8:13 PM

                      Hey

                      When i run npm start in “/home/pi/MagicMirror” i am struck at below message:

                      pi@raspberrypi:~/MagicMirror $ npm start
                      
                      > magicmirror@2.1.1 start /home/pi/MagicMirror
                      > sh run-start.sh
                      
                      Starting MagicMirror: v2.1.1
                      Loading config ...
                      Loading module helpers ...
                      Initializing new module helper ...
                      Module helper loaded: MMM-Facial-Recognition
                      No helper found for module: alert.
                      Initializing new module helper ...
                      Module helper loaded: updatenotification
                      No helper found for module: clock.
                      No helper found for module: compliments.
                      No helper found for module: currentweather.
                      No helper found for module: weatherforecast.
                      Initializing new module helper ...
                      Module helper loaded: newsfeed
                      All module helpers loaded.
                      Starting server on port 8080 ...
                      Starting server op port 8080 ...
                      Server started ...
                      Connecting socket for: MMM-Facial-Recognition
                      Staring module helper: MMM-Facial-Recognition
                      Connecting socket for: updatenotification
                      Connecting socket for: newsfeed
                      Starting module: newsfeed
                      Sockets connected & modules started ...
                      Launching application.
                      Create new news fetcher for url: http://www.20min.ch/rss/rss.tmpl?type=channel&get=4 - Interval: 300000
                      [MMM-Facial-Recognition] Facerecognition started...
                      [MMM-Facial-Recognition] Loading training data...
                      [MMM-Facial-Recognition] ALGORITHM: LBPH
                      [MMM-Facial-Recognition] Training data loaded!
                      [MMM-Facial-Recognition] --------------------
                      [MMM-Facial-Recognition] PiCam ausgewählt...
                      
                      /* Magic Mirror Config Sample
                       *
                       * By Michael Teeuw http://michaelteeuw.nl
                       * MIT Licensed.
                       */
                      
                      var config = {
                      	port: 8080,
                      	ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses.
                      
                      	language: "en",
                      	timeFormat: 24,
                      	units: "metric",
                      
                      	modules: [
                      		{
                      			module: "MMM-Facial-Recognition",
                      			classes: "default everyone",
                      			config: {
                      				recognitionAlgorithm: 1,
                      				lbphThreshold: 50,
                      				fisherThreshold: 250,
                      				eigenThreshold: 3000,
                      				useUSBCam: false,
                      				trainingFile: "modules/MMM-Facial-Recognition/training.xml",
                      				interval: 2,
                      				logoutDelay: 15,
                      				users: ["Stefan"],
                      				defaultClass: "default",
                      				everyoneClass: "everyone",
                      				welcomeMessage: true
                      			}
                      		},
                      	]
                      
                      };
                      
                      /*************** DO NOT EDIT THE LINE BELOW ***************/
                      if (typeof module !== "undefined") {module.exports = config;}
                      

                      python facerecongnition.py also not work:

                      pi@raspberrypi:~/MagicMirror/modules/MMM-Facial-Recognition-Tools $ python facerecognition.py
                      ['Stefan']
                      Using FACE_ALGORITM: 1
                      Loading training data...
                      Training data loaded!
                      Strong:Stefan
                      No windowing system, writing face.jpg image
                      Traceback (most recent call last):
                        File "facerecognition.py", line 153, in 
                          clean_shutdown()
                      TypeError: clean_shutdown() takes exactly 2 arguments (0 given)
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 15
                      • 16
                      • 17
                      • 18
                      • 19
                      • 20
                      • 21
                      • 22
                      • 17 / 22
                      • 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