U-Net

U-Net je neurónová sieťová architektúra navrhnutá na „presné vystrihovanie“ objektov z obrázka na úrovni pixelov (segmentáciu). Pôvodne sa preslávila v medicínskych snímkach, ale dnes ju v rôznych obmenách nájdeš aj v satelitných dátach, pri autonómnom videní a dokonca ako jadro mnohých diffusion generátorov obrázkov.


1. Čo to je (definícia + analógia)

  • Segmentácia pixel po pixeli: U-Net nehovorí len „na obrázku je auto“, ale označí ktoré presne pixely patria autu, ceste, oblohe atď.

  • Mapa namiesto štítku: Výstupom je typicky „maska“ (obrázok rovnakej veľkosti), kde každému pixelu priradí triedu alebo pravdepodobnosť.

  • Analógia s fotografom a šablónou: Predstav si, že máš fotografiu a chceš vyrezať postavu úplne presne. Najprv si spravíš hrubý náčrt (kde približne je postava), potom sa vraciaš k detailom (hrany vlasov, prsty). U-Net robí podobné „hrubé → jemné“ spresňovanie.


2. Ako to funguje (krok za krokom)

  • Encoder (zmenšovanie):

    • Znižovanie rozlíšenia: Sieť postupne zmenšuje obraz (napr. pooling/strided convolutions), aby zachytila globálny kontext.

    • Rast počtu kanálov: Ako sa obraz zmenšuje, pribúdajú „kanály“ (feature mapy) – sieť si ukladá bohatšie popisy.

    • Zmysel: Vieš rozpoznať čo tam je a približne kde, ale strácaš jemné okraje.

  • Bottleneck (stred):

    • Najhustejšia reprezentácia: Najmenšie rozlíšenie, najviac „informácie na pixel“.

    • Zmysel: Kombinuje širší kontext – napríklad, že svetlá škvrna je orgán a nie šum.

  • Decoder (zväčšovanie):

    • Up-sampling: Sieť postupne vracia rozlíšenie späť (transposed conv / upsampling + conv).

    • Spresňovanie hraníc: Pri návrate do vyššieho rozlíšenia sa učí „vymaľovať“ presné okraje.

  • Skip connections (to je ten „U“ trik):

    • Preskoky z encoderu do decoderu: Z vyšších rozlíšení v encodéri berie detaily a pripája ich k dekodéru.

    • Prečo sú kľúčové: Decoder má kontext, encoder má detaily. Spojením dostaneš presné kontúry bez toho, aby si pri zmenšovaní všetko „rozmazal“.


3. Prečo je to dôležité a kde sa používa

  • Medicína (odkiaľ U-Net vyšlo):

    • Orgány a lézie: Segmentácia orgánov v CT/MRI, nádory, cievy, bunky v mikroskopii.

    • Málo dát: U-Net sa historicky dobre uplatnil aj tam, kde anotácie sú drahé (lekár musí kresliť masky).

  • Satelitné a mapové dáta:

    • Budovy, cesty, polia: Potrebuješ presnú plochu, nie len „niekde je budova“.

    • Zmeny v čase: Porovnávanie masiek (napr. odlesňovanie) je často jednoduchšie než porovnávanie celých obrázkov.

  • Priemysel a kontrola kvality:

    • Defekty: Škrabance, praskliny, póry – drobné chyby sú často „tenká línia“ a potrebuješ pixelovú presnosť.
  • Generovanie obrázkov (diffusion modely):

    • Denoising jadro: V mnohých diffusion systémoch hrá U-Net rolu siete, ktorá predikuje šum alebo „čo odšumiť“ v každom kroku.

    • Multi-scale pochopenie: Pri generovaní potrebuješ naraz riešiť kompozíciu (globálne) aj textúry (lokálne) – to U-Net prirodzene podporuje cez viac mierok a skipy.


4. Výhody a obmedzenia

  • Výhody:

    • Presnosť hraníc: Skip connections dávajú dekodéru prístup k detailom.

    • Multi-scale myslenie: Sieť vidí scénu v rôznych mierkach – od tvaru po štruktúru.

    • Flexibilita: Ľahko sa upravuje na 2D, 3D, viac tried, viac kanálov vstupu.

  • Obmedzenia:

    • Pamäťová náročnosť: Skipy držia veľa feature máp; pri veľkých rozlíšeniach rastie spotreba VRAM.

    • Citlivosť na anotácie: Segmentácia je taká dobrá, ako dobré sú masky – nekonzistentné značkovanie vie sieť „naučiť chaos“.

    • Malé objekty vs. kontext: Keď sú objekty extrémne malé, často treba doplniť tréningové triky (vyváženie tried, vyššie rozlíšenie, špeciálne loss funkcie).

Oblasť Čo U-Net typicky zvláda dobre Na čo si dať pozor
Hranice objektov Ostré kontúry, jemné detaily Rozmazanie pri agresívnom downsamplingu
Viac tried Súčasná segmentácia viacerých kategórií Nevyvážené triedy (pozadie dominuje)
Veľké rozlíšenia Dobrý výsledok pri patchovaní VRAM, švy medzi patchmi

5. Praktické použitie: čo to znamená pre teba

  • Keď používaš AI nástroje na segmentáciu:

    • Masky v editoroch: Výber oblohy, vlasov, objektu – často je pod tým „niečo U-Net-ové“ alebo jeho potomok.

    • Kvalita okrajov: Ak vidíš zubaté hrany, problém často nie je „AI je slabá“, ale rozlíšenie, tréningové dáta alebo postprocessing.

  • Keď chceš U-Net trénovať alebo nasadiť (aj v malom tíme):

    • Dataset je kráľ: Lepšie je mať menej dát, ale konzistentne anotovaných, než veľa nekvalitných masiek.

    • Vyber si vhodnú metriku:

      • IoU/Dice: typické pre segmentáciu – viac zodpovedajú „prekryvu“ než obyčajnej presnosti.
    • Pozor na nevyvážené triedy:

      • Malý defekt môže tvoriť 0,1 % pixelov – bez vyváženia sa sieť naučí „všetko je pozadie“.
  • Bežné vylepšenia, s ktorými sa stretneš:

    • 3D U-Net: pre volumetrické dáta (CT/MRI).

    • Attention U-Net: pridáva „pozornosť“ – aby sieť viac vážila relevantné oblasti.

    • U-Net++ / ResUNet: rôzne prepojenia a reziduálne bloky pre stabilnejšie učenie.

    • nnU-Net (skôr systém než jedna sieť): automatizuje veľa rozhodnutí okolo segmentácie (predspracovanie, tréningové nastavenia) – praktické, keď nechceš ladiť všetko ručne.


6. Ako si U-Net predstaviť ako proces (mentálny model)

  • Zmenšujem, aby som pochopil scénu: „Čo je kde približne?“

  • Držím si detaily bokom: „Tieto hrany sa mi ešte zídu.“

  • Zväčšujem a spresňujem: „Teraz vymaľujem presne, pixel po pixeli.“

  • Prilepím späť detaily: „A tu sú hrany z pôvodného rozlíšenia, aby to sedelo.“

Toto je dôvod, prečo U-Net funguje tak dobre aj v situáciách, kde je dôležité byť presný na hraniciach – a zároveň nestratiť kontext.


Zhrnutie

  • U-Net je architektúra pre segmentáciu, teda pre úlohy, kde potrebuješ presne určiť, ktoré pixely patria ktorému objektu.

  • Kľúčový nápad sú skip connections, ktoré spájajú „globálne pochopenie“ (encoder) s „jemnými detailmi“ (decoder).

  • Používa sa od medicíny po satelitné mapy a v rôznych obmenách sa objavuje aj ako jadro denoisingu v diffusion generovaní obrázkov.

  • V praxi rozhodujú dáta a nastavenie tréningu: konzistentné anotácie, práca s nevyváženými triedami a rozumné metriky často spravia väčší rozdiel než výmena jednej varianty U-Netu za inú.