In the Information Age (essentially the age of the Internet) we have more opportunities for realizing our ideas and innovating than ever before.
Nowadays, due to the vast number of resources connected together to build up a massive network (the Internet), a practically unlimited amount of knowledge is at our disposal.
Paradigms like DIY (do-it-yourself) developed, which inspire laymen and professionals to create/repair products on their own.
Many areas of our lives changed accordingly, one of them is security, more specifically home security.
A known representative of this new direction is Raspberry Pi, a bank card size, single-board computer built for teaching purposes but used for so much more.
At the beginning of this project we set out to create a DIY like product, based on Raspberry Pi.
Our goal was to come up with a system (software) running on an IoT (Internet-of-Things) device like the Pi, tasked with home security.
We proposed a framework written in Python, that could serve as a dynamically extensible host for modules/libraries.
Beside the host, we also provided a few libraries with the framework itself (face detection, motion detection, face recognition, etc.).
These aim to help achieve the main objective with the application of machine learning methods (e.g. classification based on neural networks).
Getting acquainted with their theory was also an important part of the job.
Although, the primary target of the product is Raspberry Pi, given certain conditions hold true (e.g. Python 3 available) other devices can be used, normal desktop computers for instance.
For the sake of easy configuration and management we built a commercial router like user-interface that enables users to control and monitor the device.
We tested (unit, integration) the result and also carefully examined how it performs in real life scenarios (several days long surveillance of a home entrance).
The outcome of this project is a dynamically extensible framework with numerous functional modules designed to play their part in the home security system.