House Sitter - The AI Alarm System

CCargill | View: House Sitter - The AI Alarm System


This Project was completed as part of my master’s degree in the form of my Team Dissertation piece. The objective being to create a household alarm system that utilized Artificial Intelligence and Machine Learning to Determine if there were intruders in the Area or if the users were authorized. This was completed in a team of three, each person responsible for a specific area of the system. I was responsible for the image recognition training process and the user interface which was accessible via the web.



This was built with PHP, Javascript with AJAX and HTML. The theme was simple and scalable to be used across a range of devices with an emphasis on mobile devices as this is what the user would likely carry if they were notified outside of there home. There were various system options which hooked into a mixture of PHP and shell scripts which triggered Python code on the server side. AJAX was used to dynamically load event logs and intrusion messages in real time as they occurred on the system.


Image Recognition

The first part of user recognition was determined to be measurement and comparison of the users face in the image. Each frame of the camera input was run through code which detected if there were generic facial features present and if so, would then crop the image around this for further processing. Before the faces could be matched to registered users, the AI model needed to be trained. This was done with a series of images of each user from various angles to improve accuracy. It was also trained against a large data set called Labelled Faces in the Wild, to ensure the system would be able to maximize the difference between an intruder and registered user to make finding a registered face more accurate and quicker.

It was decided the training would be done on a large powerful computer to ensure it could be done quickly. The generated encodings would then go on much smaller and low powered Raspberry Pi computers that could be packaged into a single small module similar to a typical alarm system unit sensor. This size and performance factor added an extra level of complexity to the project with some compromises being made to achieve the best results.

If the system detected a user with an accuracy rating over 90%, then the system would not sound or notify the registered parties but would quietly add an entry to the interface log to say who had entered the building and at what time for security purposes. If the match was above 50% but below 90% the this is considered a partial match and so the system would send a notification asking if the person in the frame is an intruder or known user, if it is a known user then the captured frame is saved until the end of the day when the new images could be fed into the models which would make them more accurate over time.



The overall success of the project was measured a number of ways, Starting with the accuracy in real world tests. This was lower than what was expected but was due to several factors including the quality of the cameras and the poor lighting conditions. Factors easily solved by obtaining better camera sensors which were not available at the time. However, the system still proved that it was a viable idea which I will continue to develop in the coming months. Updates will follow in due course.

- Connor

Add Comment: