Skip to content
This repository has been archived by the owner on Oct 14, 2021. It is now read-only.
/ pi-surveillance Public archive

Raspberry PI face-detection IOT cluster and central management system

License

Notifications You must be signed in to change notification settings

vahidzee/pi-surveillance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry PI Smart Face-detector Surveillance System

This repository is a complete implementation for a Raspberry Pi-based cluster of surveillance cameras capable of performing on-device face detection and syncing with a customizable central management system. This project was proposed and presented as a part of my Spring 2021's Hardware Laboratory Course at Sharif University of Technology.

The central system is also able to process and distinguish faces in logged images from the pi nodes. It automatically creates a database of known face representations for each user and tracks their temporal and spatial activities. The whole data processing pipeline is designed to minimize the on-edge computations and resource requirements. Therefore the pi nodes only maintain a sporadically updated list of known face representations and communicate identification logs in a secured channel with the central management system to minimize communication and storage requirements.

Scheme of Rapberry Pi Nodes configuration Requirements: The central system consists of a management server and an administration portal. Both are implemented in a single fully documented Django3 application (available in the server directory), ready to be deployed along with the desired SQL database on a primary Ubuntu machine (with at least two processing cores and 2GBs of RAM). PI units are expected to have a working Camera module and two PIR motion sensors to detect entrance or exit events and optionally an 16x2 LCD display module to show greetings and news as mounted on top of a desired property's gateway to surveil. PI's logic is also fully documented and available inside the pi directory.

Workflow: The whole working mechanism of this system is a simple async IOT cluster implementation. When a person walks by each PI unit, it detects movement and looks for a familiar face representation inside of its copy of the known faces database to acquire its respective FaceID (or uploads the image and asks the central system for one). With a valid FaceID at hand, an appropriate enter or exit event is logged back to the main system. To ensure proper security and simulate an off-the-shelf products' functionality, Communications are initiated using a custom hand-shake method, and the ownership of PI units is registered using unique device IDs upon first device setup.

Administration Page Administration and Notification System: The central system separates devices of different users and lets them add or remove known faces and track their activities logged by each of their surveillance IOT sensors. It also sends emails whenever a new event has occurred, making it a simple implementation for a PI-based home security system.

Farsi Documentations

Report files and explanatory documentations in Latex can be accessed from:

LICENSE

MIT license, see LISENCE.