Updates:


Facial Recognition: (Ryan, Kurtis, Brad)

After weeks of debugging, our group seems to have identified the source of the MagicMirror’s facial-detection problems. The algorithm was not correctly reading the negative images in the directory, and thus, the mirror was incorrectly matching strangers to actual users. After we placed images in the correct format within the negative folder, our algorithm seems to be correctly identifying when strangers are in front of the mirror.

Mobile Application: Updates (Brandon)

A new user registration and login page has been implemented for the Magic Mirror. The registration/login page is connected to a local MySQL database on the Raspberry Pi for holding username and passwords of each new or existing user. The webpage is available for users on the same network as the Raspberry Pi to access through an Apache web server set up on the device.

Upon a successful login, the webpage will go to the Remote Control for the Magic Mirror that allows users to customize their setup.

Gesture Control (Ryan, Kurtis)

We have just received the Hover gesture sensor. Potential uses for the gesture sensor include: swiping to additional modules, choosing to create a new profile, and configuring user profiles through a drag-and-drop like mechanism.

Smart Mirror ON/OFF Protocol (Brad)

With the base proximity sensor module, we found that when the HDMI output was turned OFF, the monitor displayed an ugly textbox saying that no signal was detected. To work around this problem, our group tried out a few options.

Potential Solutions:

  • Loading an HTML-defined black rectangle to cover everything on the screen
  • Turning off HDMI output with /bin/vcgencmd
  • Turning off HDMI output with /bin/tvservice
  • Setting the brightness through 0/255

At the end, we decided that the first option (HTML cover) was the best and easiest option to implement. However, after discovering CEC, we will also consider turning off/on the monitor directly with the proximity sensor.

Smart Mirror Frame (Ryan, Kurtis, Brandon, Brad)

Our group took apart the plastic frame off of the monitor for future insertion into its wooden casing. Unfortunately, during the process, the wires connected to the ON/OFF sensor for the remote were ripped off. This meant that we were unable to turn ON/OFF the mirror. After some panic, our group was able to work around this problem by toggling the ON/OFF state of the monitor through the CEC protocol. For the future, we will need to turn ON/OFF the monitor through the HDMI output of the Raspberry Pi.


Next Steps:


Facial Recognition: (Ryan, Kurtis, Brad)

Facial recognition seems to be fully functional on the MagicMirror. After realizing that the “negative” images were not being read correctly, the facial detection algorithm seemed to be correctly identifying strangers. Going forward, we are planning to tweak our positive threshold further to ensure that facial recognition works accurately during the Mother of All Demos (MOAD). We will also be implementing a user profile creation script that will make creating new user profiles seamlessly with use of the mirror.

Mobile Application: (Brandon)

Now that registration is functioning on the webpage, we need to have the facial recognition begin upon successful registration. This requires communication between the PHP of the webpage to the running javascript program of the Magic Mirror. During the facial recognition capturing mode for the new user, the webpage should transition to a page instructing the user to hold still for the duration of the capture. After the capture is complete, the webpage should go to the remote control for the user to customize their Magic Mirror.

Gesture Control: (Ryan, Kurtis)

With the Hover hardware in our hands, development for user input through gestures can finally start. We hope to get gesture sensing fully implemented within our system by the end of next week.

Smart Mirror ON/OFF Protocol (Brad)

The Proximity Sensor appears to be fully functional and is implemented in the mirror. Further tweaking will need to be done so that the mirror turns on and off for appropriate distances and time. Also, we will need to implement a way for the proximity sensor module to run while the mirror is in the idle state. We plan to use CEC protocol to toggle the monitor ON/OFF through HDMI.

Smart Mirror Frame (Ryan, Kurtis, Brandon, Brad)

Before putting together the acrylic, two-way mirror, wooden frame, and monitor together, we are planning to finish most of the software first. This allows ease-of-access to the monitor’s inputs and ensures that we finish the most important features of the project. This aspect of the project will most likely be one of the last things we finish, around week 8-10.