AdaptDL is a Python-based real-time object detection system using deep learning with voice commands for surveillance applications.
The system detects target objects from a webcam in real-time using a deep learning model, and overlays bounding boxes and labels on the detected objects in the video stream. It features user-input voice commands and adapts to user preferences over time based on voice command history and surrounding environments.
- Real-time Detection: Detects objects in live video from a webcam.
- Bounding Boxes and Labels: Overlays bounding boxes and labels on the detected objects.
- Voice Command Control: Users can use voice commands to control the system.
- Adaptability: Adapts to user preferences and improves based on input command history and environments.
- Web Version: A browser-based demo for real-time object detection.
Install the following dependencies:
- Python >= 3.11
- Tensorflow >= 2.18
- OpenCV (video capturing and processing)
- SpeechRecognition (voice command processing)
- PyAudio (microphone setup)
To install and run this project, follow these steps:
-
Clone the repository:
git clone https://github.com/OCR-tech/AdaptDL.git cd AdaptDL -
Create a virtual environment:
python -m venv .venv .\.venv\Scripts\Activate
-
Install the dependencies:
pip install -r requirements.txt
-
Run the application:
python app/main.py
To run this project:
- Run the application.
- The system will launch the webcam and start detecting objects in real-time.
- Use voice commands or keyboard shortcuts to interact with the system.
The system adapts to user preferences over time based on input voice command history, improving accuracy and user experience.
The web version is a browser-based demo for real-time object detection. It supports:
- Webcam Input: Use built-in webcam or external USB webcam.
- Video File Input: Upload video files for detection.
- IP Camera Input: Connect to IP cameras or mobile devices.
- Internet Video Streams: Stream video from compatible URLs.
Requirements:
- Modern web browser (Chrome, Edge, Firefox, Safari)
- Webcam access permission
- Must be served via Localhost or HTTPS
How to run:
- Open a terminal and navigate to
app/web. - Run a local server:
python -m http.server 8000. - Open your browser:
http://localhost:8000orhttp://<ip-address>:8000/. - Click Start to begin real-time object detection.
Note: For low-cost solutions, unused/broken screen mobile phones can be used as a webcam for real-time object detection.
- See the CONTRIBUTING for detailed guidelines.
- This project is licensed under the MIT License.
- Email: ocrtech.mail@gmail.com
- Website: https://ocr-tech.github.io
- GitHub: https://github.com/OCR-tech
