4. Sieci konwolucyjne

W klasycznych sieciach typu perceptron wielowarstwowy przetwarzanie obrazów jest trudne. Przykładowy okrazek przedstawiony na rysunku 10 ma szerokość i wysokość 768 pikseli. Zatem cały obraz to 
768 * 768 * 3 = 1769472
wartości (3 ze względu na 3 kanały RGB), co daje bardzo dużo cech przykładu uczącego i przekłada się na ogromną liczbę parametrów sieci. Zazwyczaj zmniejsza się rozdzielczość przetwarzanych obrazów, ale wciąż jest to dużo danych. Kolejnym problemem w strukturze MLP jest brak możliwości odzwierciedlenia przestrzennych zależności pomiędzy pikselami.

Kolorowy obraz przedstawiający ogórek goniący królika - przykład obrazu do przetwarzania przez sieć konwolucyjną
Rysunek 10: Ogórek goniący królika. Obrazek został wygenerowany z wykorzystaniem DALLE-3

Sieci konwolucyjne są dedykowane do przetwarzania obrazów. Najpowszechniejszym zastosowaniem jest przetwarzanie standardowych zdjęć. W takim przypadku plik obrazu ma trzy kanały RGB (R - czerwony, G - zielony, B - niebieski). Przetwarzamy jednak również obrazy w skali szarości (1 kanał), obrazy medyczne np. RTG, obrazy z dodanym kanałem D - głębokości (szeroko stosowane w robotyce), pomiary z kamer termowizyjnych lub zdjęcia satelitarne (gdzie najczęściej mamy dostępne więcej kanałów oprócz pasma widzialnego).

Do najpopularniejszych zadań w przetwarzaniu obrazów należą (rysunek 11):

  • klasyfikacja - określenie do jakiej dyskretnej kategorii należy przypisać zawartość obrazu (np. kot czy pies);

  • detekcja obiektów - zadanie znalezienia ramek ograniczających dla określonych klas obiektów. Zadanie to łączy klasyfikację z wyznaczaniem położenia obiektów. Najczęściej stosowane są prostokątne ramki ograniczające.

  • segmentacja obrazu - oznaczanie pikseli reprezentujących konkretną klasę lub klasy np. oznaczanie pól uprawnych na zdjęciach satelitarnych. Oznaczenia w tym przypadku są realizowane na poziomie pojedynczych pikseli i nie muszą mieć określonych kształtów.

Ilustracja różnych zadań w przetwarzaniu obrazów: klasyfikacja, detekcja obiektów i segmentacja
Rysunek 11: Zadania w przetwarzaniu obrazu