Projekt Zaliczeniowy: Sygnały i Obrazy Cyfrowe Semestr: 3 (Informatyczne Systemy Automatyki)
Projekt badawczy mający na celu sprawdzenie odporności modelu detekcji obiektów (YOLOv8) na ekstremalną degradację sygnału wizyjnego. Narzędzie automatycznie szuka "punktu krytycznego" – najmniejszego rozmiaru pliku (w bajtach), przy którym obiekt jest nadal poprawnie klasyfikowany przez sztuczną inteligencję.
| Parametr | Obraz Oryginalny | Obraz Przetworzony | Zmiana |
|---|---|---|---|
| Wizualizacja | ![]() |
![]() |
- |
| Rozmiar pliku | 2,95 MB | 7,56 KB | 📉 -99,75% |
| Pewność YOLO | 0.94 (94%) | 0.52 (52%) | 📉 -0.42 |
| Status | ✅ Wykryto | ✅ Wykryto | Sukces |
Wniosek: Usunięcie ponad 99% informacji z pliku (szum, kolor, detale tekstury) wpłynęło na pewność algorytmu w stopniu marginalnym. Potwierdza to tezę, że modele wizyjne są odporne na degradację sygnału wysokoczęstotliwościowego.
Projekt stanowi podsumowanie wiedzy zdobytej podczas laboratoriów z przedmiotu Sygnały i Obrazy Cyfrowe. Program integruje techniki przetwarzania sygnałów poznane w trakcie semestru:
- Interpolacja Obrazów: Wykorzystanie algorytmów (np. Bicubic) do skalowania obrazu (Downsampling).
- Przekształcenia Przestrzeni Barw: Analiza wpływu konwersji RGB -> Grayscale na skuteczność detekcji.
- Kompresja Stratna: Badanie wpływu kwantyzacji JPEG (Quality Factor) na utratę kluczowych cech obrazu.
Zgodnie z rekomendacją prowadzącego przedmiot, projekt był realizowany przy wsparciu Large Language Models (LLM). Modele GenAI pełniły rolę "wirtualnego asystenta" (Copilot) i były wykorzystywane do:
- Refaktoryzacji kodu i poprawy czytelności (Clean Code).
- Optymalizacji pętli przetwarzania obrazów.
- Analizy błędów biblioteki
ultralytics.
To podejście pozwoliło na szybsze prototypowanie i skupienie się na analizie wyników (Signal Processing), zamiast na walce ze składnią.
Zastosowany potok przetwarzania (pipeline) składa się z trzech etapów, dobranych tak, aby maksymalnie zredukować entropię pliku przy zachowaniu cech kluczowych dla sieci konwolucyjnych:
Wykorzystano metodę Najbliższego Sąsiada (Nearest-Neighbor).
- Dlaczego? Choć dla ludzkiego oka daje ona efekt "pikselozy", dla algorytmu jest optymalna – w przeciwieństwie do metod wygładzających (jak Bilinear), Nearest-Neighbor sztucznie wyostrza krawędzie i granice obiektów, co ułatwia detekcję kształtów przez YOLO.
Konwersja RGB -> Grayscale.
- Teoria: Redukcja sygnału z trzech kanałów do jednego. Przy klasyfikacji obiektów (np. samochód, kot) kluczowa jest geometria i kontrast, a nie informacja o chrominancji (kolorze).
Agresywna kwantyzacja JPEG.
- Teoria: Algorytm traktuje obraz nie jako zbiór punktów, lecz jako superpozycję fal (transformata DCT). Dzieląc obraz na bloki, uśredniamy wartości ("zerujemy" wysokie częstotliwości odpowiadające za detale), zostawiając tylko główne składowe sygnału.
- Python 3.x
- OpenCV (
cv2) – Operacje na macierzach, interpolacja, kompresja. - Ultralytics YOLO – State-of-the-art Object Detection.
- NumPy – Obliczenia numeryczne.

