V rámci nášho kurzu o strojovom a hlbokom učení je rozpoznávanie obrazov jednou z najznámejších aplikácií. Ale ako algoritmus dokáže analyzovať obrázky a takmer neomylne v nich detekovať objekty? Poďme to zistiť!
Úvod
Na oboch týchto obrázkoch určite spoznáte mačku.
Aj keď pózy sú odlišné a tieto dve mačky sa… sotva dajú považovať za príbuzné! Rozpoznávanie obrazu ovplyvňuje mnoho faktorov: farba, uhol kamery, rámovanie, kontrast a jas. Táto schopnosť rozpoznávania sa však stala nenahraditeľnou: využíva sa v autonómnych vozidlách, pri medicínskej diagnostike a v mnohých ďalších oblastiach.
Ako však algoritmus strojového učenia dokáže tak presne rozpoznať mačku na obrázku? Tajomstvo spočíva v obrovskom množstve údajov, ktoré sa používajú na jeho trénovanie. Ale čo nové obrázky? Podľa akých kritérií sa mačka identifikuje? Poďme si to vysvetliť – bez zbytočnej matematiky!
Obrázok a pixely
Najskôr si pripomeňme: digitálny obrázok sa skladá z pixelov. Každý obrázok môžeme „preložiť“ do matice (tabuľky), kde každá bunka obsahuje hodnotu predstavujúcu pixel:
- od 0 do 255 pre odtiene šedej (0 = čierna),
- alebo kombináciu troch hodnôt od 0 do 255 (červená, zelená, modrá – RGB) pre farebné obrázky, čo umožňuje až 16 miliónov odtieňov.
Príklad matice pre obrázok so 9 pixelmi (veľmi zjednodušený) môže vyzerať takto:
120 | 180 | 90 |
---|---|---|
200 | 140 | 80 |
70 | 110 | 220 |
Analýza obrázkov krok za krokom
Segmentácia obrázku
Pri analýze obrázkov je potrebné nájsť spoločné črty medzi rôznymi obrázkami, tzv. príznaky (features). Tieto črty musia byť dostatočne jedinečné na to, aby nedošlo k zámene objektov, no zároveň dosť všeobecné, aby systém nezanedbal obrázok obsahujúci požadovaný objekt. Napríklad špicaté uši pre mačky!
Prvým krokom je segmentácia obrázku, ktorá zoskupí pixely so spoločnými charakteristikami. Cieľom je zvýrazniť oblasti obrázku, ktoré nás zaujímajú – napríklad uši mačky. Na detekciu rôznych vlastností, ako sú uši alebo škvrnitý kožuch, sa používajú rôzne metódy segmentácie. Pozrime sa na dve najbežnejšie.
1. Metóda „kontúr“
Táto metóda spočíva v detekcii zmien intenzity na obrázku, čiže v identifikácii kontúr. Napríklad u sfingy sú jej uši dobre viditeľné vďaka kontrastu s tmavším pozadím. Rozdiely v intenzite umožnia odhaliť trojuholníkové tvary – charakteristický znak mačacích uší.
2. Metóda „oblastí“
Táto metóda naopak izoluje skupiny pixelov so spoločnými črtami, ako sú farba, textúra a podobne. Používa sa napríklad na rozlíšenie leoparda od domácej mačky podľa jeho škvrnitého kožucha.
Záver
Teraz už lepšie chápete, ako funguje rozpoznávanie obrázkov! Je to však obrovské a stále sa rozvíjajúce pole. Ak vás táto téma nadchla, odporúčame preskúmať konvolučné neurónové siete (CNN), ktoré sú základom hlbokého učenia. Príjemné objavovanie!