Surveillance Bot Mk2 is an advanced AI semi-autonomous robot designed for cutting-edge surveillance applications. This repository contains the code and documentation for the project.
- Wireless Control: Navigate the robot wirelessly through a user-friendly web app joystick.
- Object Detection: Real-time object detection powered by the MobileNetSSD network.
- Image Collection: Utilizes ESP32CAM to collect high-quality images via a local Flask webserver and GET requests.
- Live Video Feed: Experience the future with a live video feed displaying object detection on the sleek web app interface.
The MobileNetSSD (Single Shot Detector) is a deep learning model specifically designed for efficient object detection. This network is trained using the Caffe deep learning framework, and it's optimized for embedded devices such as ESP32CAM, ensuring low-latency, real-time performance.
MobileNetSSD can detect multiple objects such as people, vehicles, and common objects, making it ideal for surveillance applications. The MobileNetSSD_deploy.caffemodel file contains the pre-trained model weights, while MobileNetSSD_deploy.prototxt.txt defines the architecture of the network.
For more information about how the MobileNetSSD model works, you can explore the Caffe Model Zoo.
Follow these steps to get Surveillance Bot Mk2 up and running:
Ensure you have all the necessary Python libraries installed. You can install them from the requirements.txt
file:
pip install -r requirements.txt
- Configure your ESP32CAM module and ensure it's connected to the robot.
- Flash the appropriate firmware to allow the camera to stream video and capture images.
- Confirm that the camera module is properly aligned with the bot for clear video feed.
To enable image collection, run the Flask web server, which will handle incoming GET requests from the ESP32CAM:
flask run
This will start a local web server, where the camera feed can be accessed in real-time.
Open the provided web application in your browser. This interface allows you to control the robot remotely using a joystick and displays the live video feed with real-time object detection powered by the MobileNetSSD model.
-
Object Detection Integration:
- The MobileNetSSD model has been integrated into the robot's system to provide real-time object detection.
- The web interface not only displays the video feed but also highlights detected objects with bounding boxes and labels.
-
ESP32CAM Configuration:
- Ensure that the ESP32CAM module is connected to your local Wi-Fi network. This allows it to stream data to the Flask server, which then processes the frames using MobileNetSSD.
-
Web App Control:
- Navigate the robot through the web app using the joystick and monitor the live feed simultaneously. This allows you to spot objects and navigate the bot accordingly.
-
Image Storage:
- Captured images are stored locally, and you can retrieve them for further analysis or log them for security purposes.
To ensure smooth operation, test the ESP32CAM’s connectivity and object detection by navigating the robot around your environment. Adjust the camera angles or parameters based on the lighting conditions for optimal performance.
- Connect to the robot's web app interface and use the joystick for wireless control.
- View the live video feed with real-time object detection.
- Capture and store images for review. Here’s a section you can add to your README for the Apache 2.0 License:
This project is licensed under the Apache License 2.0.
This brief section explains the use of the Apache 2.0 License and points users to both your repository's LICENSE file and the official license documentation.
Feel free to contribute by submitting issues, feature requests, or pull requests. Your feedback is valuable!