Files
christian c11fe9ab04 Vogelalbum 1.0.0
Eine Kamera am Vogelhaus, ein Rechner der erkennt wer da war — und eine
Sammlung, die sich von allein fuellt.

Zwei neuronale Netze: eines findet den Vogel im Bild, eines bestimmt die
Art. 148 heimische Arten, auf Deutschland eingeschraenkt und neu normiert —
ohne diese Einschraenkung wird aus einer Kohlmeise eine nordamerikanische
Schwesterart. Daraus entsteht ein Sammelalbum: nummerierte Seiten,
gefundene Arten in Farbe, fehlende als Schatten, dazu Erstfang, Punkte,
Stufen und 15 Abzeichen.

Laeuft vollstaendig auf eigener Hardware. Kein Cloud-Dienst, kein Konto,
keine Telemetrie; die Bilder verlassen das eigene Netz nicht.

Zwei getrennt deploybare Teile: die Sammlung als Django-Anwendung, die
Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und
braucht deshalb weder eine erreichbare Adresse noch einen offenen Port —
er laeuft hinter einem gewoehnlichen Router.

Dabei: Firmware fuer Raspberry Pi und ESP32-S3, Anbindung an Home
Assistant ueber MQTT, Oberflaeche auf Deutsch und Englisch, Einstellungen
je Kamera aus dem Browser, und ein Weg fuer Fotos von unterwegs.

AGPL-3.0.
2026-10-15 14:30:02 +00:00

2.7 KiB

Änderungen

Format in Anlehnung an Keep a Changelog, Versionen nach SemVer.

1.0.0 — 2026-10-18

Erste Veröffentlichung.

Dabei

  • Arterkennung aus einem Kamerastrom: ein Netz findet den Vogel im Bild, ein zweites bestimmt die Art. Katalog mit 148 heimischen Arten, auf Deutschland eingeschränkt und neu normiert — ohne diese Einschränkung wird aus einer Kohlmeise eine nordamerikanische Schwesterart.
  • Sammlung im Stil eines Klebebildchen-Albums: nummerierte Seiten, gefundene Arten in Farbe, fehlende als Schatten. Erstfang, Punkte, Stufen und 15 Abzeichen.
  • Läuft auf eigener Hardware. Kein Cloud-Dienst, kein Konto, keine Telemetrie. Die Bilder verlassen das eigene Netz nicht.
  • Zwei Teile, getrennt deploybar: die Sammlung als Django-Anwendung, die Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und braucht deshalb weder eine erreichbare Adresse noch einen offenen Port.
  • Kameras: alles, was MJPEG oder Einzelbilder über HTTP liefert. Fertige Firmware für Raspberry Pi (pi/) und ESP32-S3 (esp32cam/) liegt bei, beide mit /status für die Diagnose, ohne den Bildstrom anzufassen.
  • Fotos von unterwegs: Bilder lassen sich hochladen und werden von derselben Erkennung bestimmt wie die der Kamera.
  • Home Assistant über MQTT mit Autodiscovery.
  • Zweisprachig, Deutsch und Englisch. Quelltext und Kommentare sind deutsch.
  • Einstellungen je Kamera aus der Oberfläche — Schwellwerte, Lebensräume, Artenliste. Der Erkennungs-Dienst holt sie sich im Betrieb ab und übernimmt sie, ohne das Modell neu zu laden.
  • Fehlalarme: ein Mindestwert je Besuch verwirft Spiegelungen und Bewegungen ohne Vogel, bevor daraus eine Sichtung wird.

Sicherheit

  • Je Kamera ein eigener Token (als SHA-256 gespeichert), damit ein kompromittierter Standort einzeln stillgelegt werden kann.
  • Getrennte Token für Schreiben und Lesen.
  • Hochgeladene Bilder werden neu geschrieben statt nur geprüft: Nur die Pixel überleben, Metadaten fallen dabei weg. Das betrifft vor allem den Ort in EXIF-Daten von Handyfotos.
  • Im Betrieb: Cookies nur über HTTPS, HSTS, nosniff auf den Medien.

Bekannte Grenzen

  • Acht heimische Arten kennt das Modell nicht und ordnet sie Verwandten zu: Sumpf-, Weiden- und Haubenmeise, Gartenbaumläufer, Kleinspecht, Bluthänfling, Kernbeißer, Waldkauz.
  • Der Vogel braucht 5 bis 8 % der Bildfläche, sonst findet ihn die Erkennung nicht. Das ist eine Frage des Bildwinkels, nicht der Auflösung — näher montieren hilft, mehr Megapixel nicht.
  • Der unterste Bildrand ist eine tote Zone. Die Landefläche gehört in die untere Bildmitte, nicht an die Kante.