With the impending arrival of Google Fiber in my neighborhood, I can’t contain how happy I am to finally have an alternative to Xfinity. I am not sure why I am forced to have a landline when I do not even own a phone, but that is a separate blog within itself. One service that Xfinity offers is their Xfinity Home service for security and remote home management features. Since a comparable service is not available with Google I see this as an opportunity to put together a solution leveraging a few technologies that I have been wanting to dive into.
- Machine Learning
- Big Data
- Digital Fingerprinting / Identification
As most of you are aware by now, if I can tinker around and create something myself, I am going to try. While working on a couple of retail based POC’s for client projects at BlueFletch I got the idea for creating a home security system. The source of my inspiration were these two proof of concepts:
- Tracking and identifying customers in a retail location from the devices and/or applications they would have.
- A device that could manage other smaller beacons in a retail location.
My ‘aha’ moment came when I realized I could use these same techniques, combined with machine learning, to detect when devices (and, therefore, people) are in and around my home. And if a creeper goes low tech and leaves their devices at home, I’ve got a plan for that scenario as well! With listening and video models I can track and record any unwanted presence.
How This Works
Step 1: By strategically placing devices and IP cameras around my home and property I can monitor and record activity. The information that I gather will be processed and stored in the cloud. Since I am a glutton for punishment and recently spent a lot of time with Microsoft products, I will be leveraging Microsoft’s Azure cloud services.
Initially the devices will listen for signals being broadcast by other devices. This continuous stream of information will flow to and be stored in the cloud for me to manually process and determine if there are any patterns.
Step 2: Once I have confidence in the data that I am receiving I will build my first model to process the stream of data.
My goal is to train my model with a simple set of binary (yes/no) questions. When a new ‘thing’ is detected the system will ask me via text messaging if this thing is known or unknown. From there I can start to dig deeper and categorize ‘things’ I detect.
Step 3: IP cameras will always be recording and can take requests for timestamped images or video. Only data from a requested period of time will be stored. E.g. When a thing is detected, send along the visuals for that moment in time. This will provide me additional context so that hopefully I can visually see what has been detected digitally. In later versions I could even leverage cognitive services to detect people or things in the visuals that are captured.
The goal is simple. Can I detect if someone is at my home that probably should not be and if so then let me know so that I can do something about it. Smart, simple, affordable home security.