Developed as part of Deakin University’s Engineering AI Solutions module. Combines Azure Computer Vision, Custom Vision, and OpenCV for small-object tracking in video frames.
This project demonstrates a complete pipeline for object detection and tracking using Microsoft Azure's Computer Vision and Custom Vision APIs. It was developed as part of the SIG788 - Engineering AI Solutions module at Deakin University.
The solution is divided into two parts:
- Utilizes Azure Computer Vision REST API to detect objects in user-uploaded images.
- Extracts bounding box coordinates and classification labels.
- Visualizes results using Python libraries:
PIL,matplotlib, andipywidgets.
- Uses Azure Custom Vision to track objects across video frames.
- Trained a custom model using manually labeled images.
- Annotates bounding boxes and tracks object trajectories.
- Reconstructs annotated video and exports movement data to CSV.
- Python (Jupyter Notebooks)
- Azure Computer Vision API
- Azure Custom Vision SDK
- OpenCV
- PIL (Python Imaging Library)
- Matplotlib
- ipywidgets
- CSV export
- Interactive image upload and detection via Jupyter Notebook.
- REST API integration for object recognition.
- Bounding box annotation with confidence scores.
- Frame-by-frame video analysis using a trained Azure Custom Vision model.
- Trajectory plotting and CSV export for movement analytics.
- Final video reconstruction with annotated frames.
From Azure Custom Vision portal:
- Precision: 100%
- Recall: 84.6%
- mAP: 95.2%
- Annotated images with bounding boxes and labels.
- JSON response parsing for object metadata.
- Trajectory plots showing object movement across frames.
- Final video output:
tracked_output.mp4
Full methodology, evaluation, and screenshots are available in the report.pdf.
Author: Kshitij Buch
LinkedIn: linkedin.com/in/kshitij-buch-609752181