Skip to main content

Dataset

Cel i skala #

Binarny klasyfikator wymaga dwóch klas:

  • bird/ — karmnik z ptakiem widocznym na zdjęciu
  • no_bird/ — karmnik bez ptaka (tło, liście, zmieniające się oświetlenie)

Docelowa skala: 5000+ zdjęć łącznie, z zachowaniem rozsądnego balansu klas. Klasa no_bird naturalnie będzie liczniejsza — ptaki pojawiają się nieregularnie.

Struktura katalogów #

dataset/
├── raw/                    # Surowe zdjęcia z RPi i aparatu
│   └── YYYY-MM-DD_HH-MM-SS.jpg
├── labeled/
│   ├── bird/               # Zweryfikowane: ptak obecny
│   └── no_bird/            # Zweryfikowane: brak ptaka
└── augmented/              # Wygenerowane: augmentacja
    ├── bird/
    └── no_bird/

Pipeline zbierania danych #

1. Automatyczne zdjęcia (RPi5) #

Raspberry Pi robi zdjęcia w trybie ciągłym (lub wyzwalane przez detekcję ruchu). Zdjęcia trafiają do raw/ z timestampem w nazwie pliku.

Planowana optymalizacja: pre-filtr ruchu — zdjęcie zapisuje się tylko gdy w kadrze wykryto ruch. Redukuje liczbę pustych klatek do ręcznego przejrzenia.

2. Transfer do stacji roboczej #

rsync -avz pi@raspberrypi.local:/home/pi/data/raw/ ~/dataset/raw/

3. Ręczne labelowanie #

Przeglądanie raw/ i przenoszenie plików do bird/ lub no_bird/. Prosty skrypt Python z interfejsem klawiszowym przyspiesza proces:

# Szybki labeler: strzałki lewo/prawo do klasyfikacji
# → ptak / ← brak ptaka / q wyjście

(pełny skrypt — wkrótce w repozytorium)

4. Augmentacja #

Dla klasy bird/ (mniej licznej): obroty, flipy poziome, zmiany jasności/kontrastu, lekkie rozmycia. Cel: wyrównanie klas bez tracenia jakości informacji.

Wyzwania #

Kamuflaż upierzenia — ptaki potrafią wtopić się w tło. Te trudne przypadki są wartościowe dla treningu, nie należy ich odrzucać.

Zmienne oświetlenie — wschód/zachód słońca, zachmurzenie, cień. Dataset powinien reprezentować pełne spektrum warunków.

Balans klas — karmnik jest pusty przez większość czasu. Zbyt duża przewaga no_bird/ wymaga oversamplingu lub class weights przy treningu.

Status #

Aktualnie zbierany dataset od kolegi (~5000 zdjęć w transferze). Po otrzymaniu: sortowanie, ocena jakości, labeling pierwszej partii.

Author
Robert
Zajmuję się zastosowaniami geometrii różniczkowej i topologii w inżynierii oraz budową systemów ML na urządzeniach wbudowanych. Projektuję systemy detekcji obrazu oparte o CNN i Raspberry Pi.