Segmentacja obrazu to jedno z najważniejszych zadań widzenia komputerowego, które wykracza daleko poza klasyfikację i detekcję obiektów. Podczas gdy klasyfikacja przypisuje jedną etykietę całemu obrazowi, a detekcja lokalizuje obiekty ramkami prostokątnymi, segmentacja przypisuje klasę każdemu pikselowi — dając precyzyjny kształt każdego obiektu.

Typy segmentacji

Segmentacja semantyczna (Semantic Segmentation)

Przypisuje klasę każdemu pikselowi obrazu. Nie rozróżnia poszczególnych instancji — wszystkie piksele „samochodu" mają tę samą etykietę, niezależnie od tego, ile samochodów jest na obrazie.

Wejście: obraz (np. 512×512) Wyjście: mapa etykiet (512×512), gdzie każdy piksel ma przypisaną klasę

Przykład: na zdjęciu ulicy piksele są klasyfikowane jako „droga", „chodnik", „budynek", „niebo", „samochód", „pieszy", „drzewo".

Segmentacja instancyjna (Instance Segmentation)

Rozszerzenie segmentacji semantycznej: nie tylko klasyfikuje piksele, ale rozróżnia poszczególne instancje obiektów. Dwa samochody na obrazie mają różne maski — „samochód_1" i „samochód_2".

Wyjście: lista obiektów, każdy z maską (binary mask), klasą i confidence.

Segmentacja panoptyczna (Panoptic Segmentation)

Łączy obie: semantyczna dla „rzeczy" niezliczalnych (niebo, droga, trawa) + instancyjna dla „rzeczy" zliczalnych (samochody, ludzie, zwierzęta). Każdy piksel ma klasę i opcjonalnie ID instancji.

Architektury do segmentacji semantycznej

FCN (Fully Convolutional Network)

FCN (Long et al., 2015) — pierwsza architektura do end-to-end segmentacji semantycznej. Zamienia warstwy w pełni połączone CNN na konwolucyjne, umożliwiając wejście dowolnego rozmiaru i wyjście mapa pikseli. Upsampling przez dekonwolucje (transposed convolutions).

U-Net

U-Net (Ronneberger et al., 2015) to architektura zaprojektowana do segmentacji obrazów medycznych, która stała się standardem w wielu domenach.

Architektura:

Kształt litery „U" z dwiema ścieżkami:

Ścieżka kurcząca (Contracting/Encoder): Sekwencja konwolucji + max pooling → zmniejszanie rozdzielczości, zwiększanie liczby kanałów. Wydobywa cechy od niskiego do wysokiego poziomu.

Ścieżka rozszerzająca (Expanding/Decoder): Sekwencja up-convolution + konwolucje → zwiększanie rozdzielczości z powrotem do oryginału. Odtwarza precyzyjną lokalizację.

Skip connections: Kluczowa innowacja — łączenie (konkatenacja) map cech z enkodera z odpowiadającymi warstwami dekodera. Dzięki temu dekoder ma dostęp zarówno do cech wysokiego poziomu (kontekst) jak i niskiego (precyzyjne krawędzie).

Zastosowania U-Net:

  • Segmentacja organów na CT/MRI
  • Segmentacja komórek w mikroskopii
  • Segmentacja budynków z satelity
  • Segmentacja dróg z dronów

U-Net jest popularny w medycynie, bo działa dobrze na małych zbiorach danych (dziesiątki-setki obrazów) — skip connections i augmentacja kompensują brak danych.

DeepLab (v1, v2, v3, v3+)

Seria modeli Google do segmentacji semantycznej z kluczowymi innowacjami:

Atrous Convolution (Dilated Convolution): Konwolucja z „dziurami" — zwiększa pole recepcyjne (receptive field) bez zmniejszania rozdzielczości i bez dodatkowych parametrów.

ASPP (Atrous Spatial Pyramid Pooling): Równoległe atrous convolutions z różnymi rate — wychwytuje kontekst na wielu skalach jednocześnie.

Encoder-Decoder w DeepLab v3+: Łączy ASPP z dekoderem podobnym do U-Net. Obecnie jeden z najlepszych modeli segmentacji semantycznej.

SegFormer

Architektura oparta na transformerach — hierarchiczny Vision Transformer jako enkoder, prosty MLP jako dekoder. Efektywniejszy i dokładniejszy niż modele konwolucyjne na wielu benchmarkach.

Architektury do segmentacji instancyjnej

Mask R-CNN

Mask R-CNN (He et al., 2017) to rozszerzenie Faster R-CNN o gałąź maski — dodatkowa sieć generująca binarną maskę segmentacji dla każdego wykrytego obiektu.

Architektura:

  1. Backbone + FPN: ekstrakcja cech wieloskalowych
  2. RPN: generowanie propozycji regionów (jak w Faster R-CNN)
  3. RoI Align: precyzyjne wycinanie regionów z mapy cech (zamiast RoI Pooling — brak kwantyzacji)
  4. Head — trzy gałęzie równoległe:
  • Klasyfikacja klasy
  • Regresja bounding box
  • Predykcja maski (sieć konwolucyjna generująca maskę 28×28)

Mask R-CNN generuje jednocześnie bounding box, klasę i pikselową maskę każdego obiektu — kompletna segmentacja instancyjna.

YOLACT / YOLOv8-seg

One-stage instance segmentation — szybsze niż Mask R-CNN, nieco mniej dokładne. YOLOv8 Ultralytics oferuje wariant segmentacji obok detekcji.

SAM — Segment Anything Model

SAM (Meta, 2023) to przełomowy model foundation do segmentacji. Wytrenowany na 11 milionach obrazów i ponad miliardzie masek, SAM potrafi segmentować dowolny obiekt na dowolnym obrazie bez dodatkowego treningu.

Architektura SAM

  1. Image Encoder: Vision Transformer (ViT-H) — generuje embedding obrazu
  2. Prompt Encoder: koduje wskazówki użytkownika (punkt, bounding box, tekst)
  3. Mask Decoder: lekka sieć generująca maskę na podstawie embeddingu i promptu

Tryby użycia

  • Punkt: kliknij na obiekcie → maska tego obiektu
  • Bounding box: narysuj prostokąt → maska obiektu wewnątrz
  • Tekst: opisz obiekt → maska (SAM 2 / Grounding DINO + SAM)
  • Automatycznie: segmentuj wszystko na obrazie (grid of points)

SAM 2 (2024)

Rozszerzenie na wideo — segmentacja i śledzenie obiektów w sekwencjach wideo. Pamiętanie kontekstu między klatkami.

Funkcje straty w segmentacji

Cross-Entropy Loss

Standardowa strata klasyfikacyjna per piksel. Problematyczna przy niezbalansowanych klasach (np. mały guz na dużym tle).

Dice Loss

Oparta na współczynniku Dice'a (F1-score):

Dice = 2|A ∩ B| / (|A| + |B|)

Łagodzi problem niezbalansowania klas — nie zdominowana przez klasę tła.

Focal Loss

Kara za łatwe piksele jest zmniejszana, trudne piksele (granice obiektów, rzadkie klasy) dostają większą wagę. Przydatna przy silnym niezbalansowaniu.

Kombinacje

W praktyce często łączy się: L = α · CE + β · Dice

Metryki oceny

mIoU (mean Intersection over Union)

Główna metryka segmentacji semantycznej. IoU obliczane per klasa, potem uśredniane.

Pixel Accuracy

Procent poprawnie sklasyfikowanych pikseli. Prosta, ale myląca przy niezbalansowaniu (99% tła → 99% accuracy nawet bez wykrycia obiektu).

AP (Average Precision)

Dla segmentacji instancyjnej — jak w detekcji, ale z progiem na IoU masek zamiast bounding boxów.

Zastosowania

Medycyna

  • Segmentacja organów (wątroba, nerka, serce) na CT/MRI
  • Segmentacja guzów nowotworowych
  • Liczenie komórek w mikroskopii
  • Pomiar objętości struktur anatomicznych

Autonomiczne pojazdy

  • Segmentacja drogi, chodnika, pasa ruchu
  • Rozróżnianie pieszych, pojazdów, znaków
  • Zrozumienie sceny 360°

Teledetekcja

  • Segmentacja budynków z obrazów satelitarnych
  • Klasyfikacja użytkowania ziemi
  • Detekcja zmian (deforestation, urbanization)

Robotyka

  • Manipulacja obiektami (grasp detection)
  • Nawigacja w nieznanym środowisku
  • Bin picking (wybieranie przedmiotów z pojemnika)

Podsumowanie

Segmentacja obrazu — od semantycznej przez instancyjną po panoptyczną — zapewnia najgłębsze zrozumienie zawartości obrazu. U-Net dominuje w medycynie, DeepLab/SegFormer w ogólnej segmentacji semantycznej, Mask R-CNN w instancyjnej. SAM rewolucjonizuje dziedzinę jako foundation model do segmentacji „czegokolwiek". Wybór metody zależy od wymagań: czy potrzebujemy rozróżniać instancje, jaka jest dostępność danych i wymagania dotyczące szybkości.