Inspired by the 1999 Disney movie Smart House, we were determined to create a smart home that had a mind of its own.
What it does
To the user, it's a simple widget that can turn appliances on and off and change temperatures on thermostats and ovens. However, it can create problems when users aren't paying attention. Using facial recognition to determine when the user is distracted by their laptop, the widget starts turning ovens and stoves on, fridges and security systems off. If left unchecked the simple widget can go from annoying to lethal.
How I built it
SafeHouse was built using OpenCV for Python to detect faces utilizing the webcam built into laptops. Tkinter was used for the GUI, but a possible interface for a future version was created in PyQt. The Nest API is currently used to set temperatures higher in the summer and colder in the winter, but further testing cannot be done without a Nest.
Challenges I ran into
While the OpenCV for Python version of the facial recognition was done fairly early, a large portion of the time was spent trying to train a Clarifai model to detect a user looking at the computer. The video from the webcam was handled by OpenCV for the Clarifai version. The Clarifai model did not work as expected, and the original OpenCV version was used, but a good deal of time was lost.
Accomplishments that I'm proud of
A few members of the time had no experience with Python before this Hackathon, so learning the syntax and how to create a GUI for it in Tkinter and PyQT was interesting.
What I learned
I expanded my knowledge of python by using PyQT to build an interface, before this hackathon I had mostly done backend work. I also have a better working knowledge of what AI technology is.
What's next for SafeHouse
Having learned how to create a user interface, the next version of SafeHouse will be even more appealing to users, only making its insidious nature even more surprising.