Rozpoznat jednotlivé biologické druhy nacházející se na fotografii představuje klasický, leč poněkud obtížný problém. Pokud jste někdy nějakou rostlinu fotili, došlo vám, že pod jiným světlem a z jiného úhlu může tentýž druh vypadat docela jinak. Vyprávět by o tom mohli studenti přírodovědně zaměřených předmětů, kteří museli během zkoušky rozpoznat rostliny, houby či dokonce zvířata na fotografiích. Pokud se takový obrázek lišil od toho, který se nacházel v atlasu, ze kterého se původně učili, mohlo jim určení druhu dát pěkně zabrat.

Ke správnému určení vám pak nezbývá nic jiného, než se naučit několik výrazných znaků, které každý druh odlišují od druhů velmi podobných. Má na sobě list zoubky? Je prstenec houby blanitý nebo nahnědlý? Má opeřenec dvě prodloužená ocasní pírka nebo ne? Tyto otázky si pokládáme my lidé a v zásadě neexistuje jiný způsob, jak jednotlivé předměty na fotografii od sebe odlišit jinak než podle těchto znaků. Čím víc takových znaků znáte a určíte, tím je identifikování daného druhu spolehlivější.

Podobně jako my se může důležité znaky na fotografiích naučit počítač. Výhodou je, že mu tyto znaky nemusíme předem vysvětlovat, stačí mu jen ukázat dostatečné množství fotografií a říct, co se na nich nachází. Vlastně se jedná o podobný přístup, jako kdybychom si my sami u každé fotografie poznamenali, jaký je tvar listů rostliny, počet okvětních plátků a prostředí, kde se dána rostlina vyskytuje. Z těchto poznámek bychom pak postupně vybírali ty nejdůležitější, které se pro odlišení jednotlivých fotografií a druhů na nich ukázaly jako nejvíce vypovídající.

Nevýhodou takového přístupu je situace, kdy máte na fotografii rozpoznat druh, který jste předtím neviděli a ke kterému nemáte poznámky. V horším případě je totiž takovýto druh velmi podobný nějakému, který už znáte. Budete si tak s velkou pravděpodobností myslet, že se na fotografii nachází tento vám již známý druh a ne onen správný, dosud neznámý druh.

Druhou nevýhodou je, že nedokážete rozpoznat druhy, které mohou být na fotografiích stejné a liší se pouze znakem, který na fotografii není vidět. Tento problém nastává při určování některých druhů hub, které se liší pouze vůní, lámavostí lupenů nebo změnou barvy na řezu. Takové informace z obyčejných fotografií nezískáte a nebudete tak schopní určit znaky, kterými se druhy odlišují. Navíc se jednotlivé plodnice hub výrazně liší i v rámci jednoho druhu v závislosti na stáří, počasí a prostředí.


Zpracovaný výstup z modelu DETR.
Model správně nalezl a určil hrachor jarní.

Tyto nepříjemnosti je nutné brát v potaz při počítačovém určování druhů na fotografiích. Počítač sice pracuje mnohem rychleji než člověk, nicméně postup určování znaků zůstává velmi podobný. Ani počítač nedokáže rozpoznat závojenku podtrnku od závojenky jarní nebo olovové pouze na základě jediné fotografie klobouku a bylo by bláhové čekat, že to nějakým kouzlem dokáže. Pokud se zkrátka na fotografiích tyto znaky, které by jednotlivé druhy jasně odlišily, nenachází, není možné čekat správné výsledky. Leda byste tuto informaci počítači předali jiným způsobem, například v podobě jednoduchého popisu nebo odpovědí na otázky.

Pokud jsme si vědomi tohoto základního principu a jeho omezení, můžeme určování druhů nebo předmětů na fotografiích počítačem využít. Nejvyužívanější způsob takzvaného počítačového vidění dnes zahrnuje použití neuronových sítí. Ty si můžete představit jako sadu čísel, které se postupně nastavují tak, aby jejich aplikováním na vstup, v našem případě na fotografii, vznikl výstup, v našem případě reprezentace konkrétního určeného druhu nebo druhů.

Jedním z hlavních typů neuronových sítí používaných pro zpracování obrázků jsou konvoluční neuronové sítě (CNN). CNN jsou navrženy tak, aby identifikovaly a analyzovaly různé vzory na obrázku, jako jsou hrany, tvary a textury. CNN se skládají z několika vrstev, přičemž každá vrstva se učí identifikovat komplexnější rysy, čím více se přibližujeme výstupní vrstvě. To znamená, že zatímco první vrstvy mohou identifikovat základní linie, poslední vrstvy se specializují na složitější tvary, jako jsou listy nebo květy.

Příklad základní CNN v knihovně TensorFlow v jazyce Python vypadá následovně:

Tato jednoduchá architektura má však svá omezení, především vyžaduje na vstupu velké množství fotografií s určením druhu, ze kterých se bude učit. Je to z toho důvodu, že model trénujeme od začátku. Nejen že ze začátku nemá model tušení, jaké druhy se na fotografiích nachází a jakým způsobem má hledat společné znaky, ale navíc též ani neví, že se jedná o obrázky. Musí se tak navíc učit i okraje jednotlivých předmětů, tedy různé linie, hrany, vrcholy a jejich vzory.

Z tohoto důvodu je vhodné využít takové modely, které již byly natrénované na velkém množství fotografií a jsou volně dostupné. Jejich architektura se dělí na naučené tělo a upravitelnou hlavičku, kterou si doučíme sami. Zároveň je možné využít složitější a přesnější modely, než jakými jsou jednoduché konvoluční neuronové sítě zmíněné výše. Tyto složitější modely jsou dnes představované takzvanými transformery, což jsou také neuronové sítě, ovšem vybavené mechanismem pozornosti, který dokáže hledat vztahy mezi jednotlivými částmi fotografie.

Jedním z moderních modelů založených na tomto principu je DETR (Detection Transformer), který přináší revoluci v oblasti hledání předmětů. DETR využívá transformerovou architekturu k tomu, aby se dokázal soustředit na různé části fotografie a na základě těchto vztahů prováděl detekci objektů.

Výhodou tohoto transformeru je, že dokáže najít všechny druhy rostlin, které se na fotografii nachází, a to včetně jejich umístění. Nejsme tedy omezeni na hledání pouze jednoho nejvýznamnějšího objektu. Tyto možnosti počítačového vidění v budoucnu ušetří práci mnoha botanikům, kteří dnes musí ručně zpracovávat každý fytocenologický snímek a analýza každého z nich v terénu může zabrat několik hodin.

Příklad načtení modelu DETR pomocí knihovny Hugging Face vypadá následovně:

V závěru je tedy důležité chápat, že navzdory rychlosti a efektivitě počítačových algoritmů pro rozpoznávání obrazů, zůstává kvalita rozpoznání závislá na kvalitě dat a architektuře použitých modelů. Výběr vhodného modelu a přístupů, jako jsou CNN či transformery, může výrazně ovlivnit přesnost a úspěšnost určení jednotlivých druhů na fotografiích.