Biologist → AI Engineer building computer‑vision systems for wildlife monitoring.
🐦 WatchMyBirds — real‑time bird detection and species classification from webcams & RTSP streams.
🔗 App · 🧪 Training Pipeline · 🤗 Model on HF
- Realtime object detection (YOLOv8/v11) + species classification (EfficientNet)
- End‑to‑end pipeline: data prep → verification → HPO (Optuna/MLflow) → training → ONNX export → Hugging Face upload
- 29 species, ~10k images; automatic pre‑annotation via GroundingDINO (+ optional SAM)
- Results: OD mAP@[.5:.95] = xx % · CLS top‑1 = xx % (val)
- Tracking: MLflow experiments; model registry with “latest” pointers
Python · PyTorch · Ultralytics YOLO · timm/EfficientNet · OpenCV · Optuna · MLflow · Hugging Face · ONNX
WatchMyBirds is an AI-powered real-time object detection system for birdwatching and wildlife monitoring using webcams, IP-cams & RTSP streams. It supports webcams, IP cameras, and RTSP streams, turning any camera into a smart detection system.
Fully automated training pipeline using modern tools like PyTorch, Hugging Face (--> Optuna and MLflow). End-to-end data preparation & training pipelines for object detection and species classification.
🧩 Key Features
- ✅ Modular and configurable (YAML-based)
- 🧠 State-of-the-art transfer learning (EfficientNet)
- 🔍 Automated hyperparameter tuning with Optuna
- 📈 MLflow tracking for all experiments
- ☁️ Optional Hugging Face model export
- 🧪 Easily extendable to other image classification tasks
🧭 Features Overview
🔎 Zero-Shot Preannotation
- Uses Grounding DINO (with optional SAM) to preannotate bird bounding boxes.
- Reads metadata CSV, processes images in batches with ensemble prompts.
- Applies NMS, nested-box filtering, and optional SAM refinement.
- Outputs COCO-format annotations back into the CSV.
🗂️ YOLO Dataset Preparation
- Reads and filters metadata based on your criteria.
- Generates YOLO-format image and label files.
- Adds augmentation, class balancing, and negative samples.
- Produces ready-to-train dataset with config and split files.
🚀 YOLO Training Pipeline
- Manages environment and TensorBoard logging.
- Loads configs and runs training with checkpointing.
- Exports the best weights to ONNX.
- Bundles final training and inference configs automatically.
🦜 Classification Dataset Preparation
- Creates square image crops per species.
- Handles train/val/test splitting and class balancing.
- Augments data and outputs organized dataset folders with run settings.
🎯 EfficientNet Fine-Tuning
- Sets up mixed-precision training with mixup/cutmix.
- Progressive backbone unfreezing and LR scheduling.
- Tracks metrics via TensorBoard.
- Saves and exports the best weights (PyTorch + ONNX) with full run configs.
🦾 Autonomous Systems & Robotics
🔬 AI-driven Biodiversity Research
🤖 Multi-Agent Systems & AI
🔬 PalaeoMapEurope – A Python-based visualization tool mapping human artifacts and vegetation zones in Europe during the Quaternary period.
📍 Uses geospatial mapping, radiocarbon dating, and vegetation analysis to study human-environment interactions.
📂 Explore the Repository
- LinkedIn: linkedin.com/in/arminfabritzek
- Email: armin@starmin.de
- ORCID: https://orcid.org/0000-0002-0199-6802