Skip to content
View arminfabritzek's full-sized avatar

Block or report arminfabritzek

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
arminfabritzek/README.md

Hi, I’m Armin Fabritzek 👋

Biologist → AI Engineer building computer‑vision systems for wildlife monitoring.


Python PyTorch OpenCV YOLO EfficientNet
pandas matplotlib folium geopandas FFmpeg

🐦 WatchMyBirds — real‑time bird detection and species classification from webcams & RTSP streams.

🔗 App · 🧪 Training Pipeline · 🤗 Model on HF


🚀 WatchMyBirds at a glance

  • 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

WatchMyBirds Demo


🔧 Tech I use on this project

Python · PyTorch · Ultralytics YOLO · timm/EfficientNet · OpenCV · Optuna · MLflow · Hugging Face · ONNX


🚀 Featured Projects

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.

🚀 Interests & Collaboration

🦾 Autonomous Systems & Robotics
🔬 AI-driven Biodiversity Research
🤖 Multi-Agent Systems & AI


📡 Other Projects

🔬 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


📫 How to Reach Me


📊 GitHub Stats

Meine GitHub-Statistiken

Pinned Loading

  1. WatchMyBirds WatchMyBirds Public

    WatchMyBirds is a lightweight, customizable object detection application designed for real-time monitoring and birdwatching. Leveraging state-of-the-art AI models and supporting a variety of video …

    Python 3

  2. TrainMyBirds TrainMyBirds Public

    🐦 Public training pipeline for bird species recognition — EfficientNet classifiers, Optuna hyperparameter tuning, ONNX export, and open-set calibration for the WatchMyBirds project.

    Python

  3. WatchMyBirds-Data WatchMyBirds-Data Public

    Dataset for WatchMyBirds