After one of his neighbors suffered from a break-in at their home, Jason Deglint and Juan Park, colleagues at Blue Lion Labs, set out to create their own intruder detection system. Featured in this Jetson Project of the Month, their machine learning-based security platform automatically monitors and detects people in a scene, and immediately sends an image and video of what has been captured on camera to the user.
The MaViS system is composed of three parts: an edge device (in this case the NVIDIA Jetson Nano Developer Kit), the cloud, and a mobile component for alerts.
The Jetson Nano analyzes footage collected by a connected webcam in real time. The NVIDIA DeepStream SDK serves as the streaming analytics toolkit. The team chose a ResNet10 model pretrained to recognize a few classes such as a vehicle, two-wheeler, person, or road sign. For this project, the team focused on the person class to detect a possible intruder.
Detection events are sent by the Jetson Nano to an S3 bucket in the cloud, which then triggers a series of lambda functions. These functions process and return the data to the S3 bucket, while corresponding video data is stored in an Amazon RDS database. AWS SES sends an e-mail notification with data access points (including images captured) to the user. The application code running on the Jetson Nano was implemented in Python.
The team experimented with both Raspberry Pi and Jetson Nano on the first and second iterations of their project and decided to keep using Jetson Nano along with the DeepStream SDK for the final project iteration. This was motivated by a need to perform as much computation on the edge as possible.
An overview demo of the project is also available on YouTube.
Moving forward, the MaViS team has identified a few areas for future enhancements to this project, such as improving model accuracy and enabling local hosting for better data privacy.
View the code to learn more about how Jetson Nano is being used in MaViS.