An AI-powered learning-focused project built to understand how real-time computer vision systems behave under practical constraints such as CPU-only inference, frame drops, and visualization stability.
This project uses a trained YOLOv8 model to detect wildlife animals from a live screen capture or camera feed. Detected animals are visualized in real time using bounding boxes and confidence scores.
real-time detection behavior
CPU-based inference limitations
bounding box stabilization
confidence filtering —not on achieving perfect accuracy or production deployment.
🚀 Key Features
Real-time wildlife detection using a trained YOLOv8 (best.pt) model
Live visualization with bounding boxes and confidence scores
CPU-friendly inference with configurable thresholds
Bounding box smoothing to reduce flickering
Modular design that can be extended to cameras, videos, or backend systems
AI / Computer Vision :- YOLOv8 (Ultralytics),OpenCV,NumPy
Languages :- Python
(Backend intentionally excluded to preserve real-time performance)
Wildlife-Detection/ ├── model/ # YOLO Model and Scripts │ ├── best.pt # Trained YOLOv8 model (use Git LFS or Drive link) │ └── test_model.py # Detection script ├── README.md ├── .gitignore └── .env
Capture frames from a live screen or camera feed
Resize frames for efficient CPU-based inference
Run YOLOv8 object detection on each frame
Filter detections using confidence thresholds
Stabilize bounding boxes to reduce jitter
Visualize detections in real time
pip install ultralytics pyautogui opencv-python numpy
python test_model.py
Ensure `best.pt` is placed inside the `model/` directory as shown in the project structure.
Model weights (best.pt) can be downloaded from: 🔗 https://drive.google.com/file/d/1HKvEeGQ4RfjMRXvr3Psdlh6arvQiwjZv/view?usp=sharing
Real-time CV systems behave very differently than offline demos
CPU-only inference requires careful tuning of resolution and thresholds
Confidence scores strongly affect false positives
Bounding box smoothing significantly improves visual stability
Temporary detection loss is normal in real-world input streams
Improve class separation and reduce misclassification
Experiment with different confidence and IoU thresholds
Optimize further for low-resource devices
Optional backend integration for analytics (async / non-blocking)
🧑💻 Author
Divyansh Kande
Full Stack Java + AI Developer
🔗 GitHub: https://github.com/divyanshkande
⭐ If you find this project interesting or useful, feel free to explore, fork, or share feedback.