Počítačové vidění

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 29. července 2019; kontroly vyžadují 5 úprav .

Počítačové vidění (jinak technické vidění ) je teorie a technologie pro vytváření strojů, které dokážou detekovat, sledovat a klasifikovat objekty.

Počítačové vidění jako vědní disciplína odkazuje na teorii a technologii vytváření umělých systémů, které získávají informace z obrázků. Video data mohou mít mnoho forem, jako je například videosekvence, obrázky z různých kamer nebo 3D data, jako například ze zařízení Kinect nebo lékařského skeneru.

Počítačové vidění jako technologická disciplína se snaží aplikovat teorie a modely počítačového vidění na budování systémů počítačového vidění . Příklady použití takových systémů mohou být:

  1. Systémy řízení procesů ( průmyslové roboty , autonomní vozidla ).
  2. Video monitorovací systémy .
  3. Systémy pro organizaci informací (například pro indexování databází obrázků).
  4. Systémy pro modelování objektů nebo prostředí (analýza lékařských snímků, topografické modelování).
  5. Interakční systémy (například vstupní zařízení pro systém interakce člověk-stroj).
  6. Systémy rozšířené reality .
  7. Počítačová fotografie , například pro mobilní zařízení s fotoaparáty.

Počítačové vidění lze také popsat jako doplněk (ale ne nutně opak) biologického vidění. V biologii se studuje vizuální vnímání lidí a různých zvířat, v důsledku čehož se vytvářejí modely fungování takových systémů z hlediska fyziologických procesů. Počítačové vidění na druhé straně studuje a popisuje systémy počítačového vidění, které jsou implementovány v hardwaru nebo softwaru. Interdisciplinární výměna mezi biologickým a počítačovým viděním se ukázala být pro oba vědní obory velmi produktivní.

Mezi podsekce počítačového vidění patří přehrávání akcí, detekce událostí, sledování, rozpoznávání vzorů, obnova obrazu a několik dalších.

Aktuální pozice

Obor počítačového vidění lze charakterizovat jako mladý, rozmanitý a dynamicky se rozvíjející. A i když existují dřívější práce, lze říci, že až koncem 70. let začalo intenzivní studium tohoto problému, kdy počítače dokázaly řídit zpracování velkých souborů dat, jako jsou obrázky. Tyto studie však obvykle začaly v jiných oblastech, a proto neexistuje žádná standardní formulace problému počítačového vidění. Také, a co je důležitější, neexistuje žádná standardní formulace toho, jak by se měl problém počítačového vidění řešit. Místo toho existuje mnoho metod pro řešení různých dobře definovaných problémů s počítačovým viděním, kde jsou metody často specifické pro daný problém a lze je zřídka zobecnit na širokou škálu aplikací. Mnoho metod a aplikací je stále v základním výzkumu, ale stále více metod se používá v komerčních produktech, kde často tvoří součást většího systému, který může řešit složité problémy (například v lékařském zobrazování nebo měření a kvalitě kontrola ve výrobních procesech). Ve většině praktických aplikací počítačového vidění jsou počítače předem naprogramovány k provádění konkrétních úkolů, ale metody založené na znalostech se stávají obecnějšími.

Důležitou součástí v oblasti umělé inteligence je automatické plánování nebo rozhodování v systémech, které mohou provádět mechanické akce, jako je pohyb robota nějakým prostředím. Tento typ zpracování obvykle vyžaduje vstup ze systémů počítačového vidění, které fungují jako video senzor a poskytují informace na vysoké úrovni o prostředí a robotu. Další oblasti, které jsou někdy popisovány jako součást umělé inteligence a které se používají ve vztahu k počítačovému vidění, jsou metody rozpoznávání vzorů a učení. V důsledku toho je počítačové vidění někdy vnímáno jako součást oblasti umělé inteligence nebo informatiky obecně.

Další oblastí související s počítačovým viděním je zpracování signálu . Mnoho metod pro zpracování jednorozměrných signálů, obvykle časových signálů, lze přirozeně rozšířit na zpracování dvourozměrných nebo vícerozměrných signálů v počítačovém vidění. Vzhledem ke zvláštní povaze obrazů je však v oblasti počítačového vidění vyvinuto mnoho metod, které nemají v oblasti jednorozměrného zpracování signálů obdoby. Zvláštní vlastností těchto metod je jejich nelinearita, která spolu s multidimenzionálností signálu činí odpovídající podpole ve zpracování signálu součástí pole počítačového vidění.

Kromě zmíněných přístupů k problému počítačového vidění lze řadu zkoumaných problémů studovat z čistě matematického hlediska. Mnoho metod je například založeno na statistice , optimalizačních metodách nebo geometrii . A konečně, hodně práce se dělá v oblasti praktických aplikací počítačového vidění – jak lze stávající metody implementovat do softwaru a hardwaru, případně jak je upravit za účelem dosažení vysoké rychlosti bez výrazného nárůstu spotřebovaných zdrojů.

Související oblasti

Počítačové vidění , zpracování obrazu a strojové vidění  jsou úzce související oblasti. Stále ale není přesně určeno, zda jde o úseky jednoho, širšího. Při podrobném rozboru se může zdát, že jde jen o různé názvy pro stejnou oblast. Aby nedošlo k záměně, je zvykem rozlišovat je jako oblasti zaměřené na určitý předmět studia. Níže je uveden popis některých z nejdůležitějších:

Zpracování obrazu neboli analýza obrazu je zaměřena především na práci s dvourozměrnými obrazy, tedy na to, jak přeměnit jeden obraz na jiný. Například operace zvýraznění kontrastu na pixel, operace zvýraznění hran, operace odstranění šumu nebo geometrické transformace, jako jsou afinní transformace . Tyto operace předpokládají, že zpracování/analýza obrazu funguje nezávisle na obsahu samotných obrazů.

Počítačové vidění se zaměřuje na zpracování 3D scén promítaných na jeden nebo více obrazů. Například obnovení struktury nebo jiných informací o trojrozměrné scéně z jednoho nebo více obrázků. Počítačové vidění často závisí na více či méně komplexních předpokladech o tom, co je na snímcích znázorněno.

Strojové vidění se zaměřuje především na průmyslové aplikace, jako jsou autonomní roboty a systémy vizuální kontroly a měření. To znamená, že technologie obrazových snímačů a teorie řízení jsou spojeny se zpracováním video dat pro řízení robota a zpracování dat v reálném čase se provádí v hardwaru nebo softwaru.

Existuje také obor s názvem Vizualizace , který byl původně spojen s procesem vytváření obrázků, ale někdy se zabýval zpracováním a analýzou. Například radiografie pracuje s analýzou lékařských aplikačních videodat.

A konečně, rozpoznávání vzorů je obor, který používá různé metody k extrakci informací z video dat, především na základě statistického přístupu. Významná část této oblasti je věnována praktické aplikaci těchto metod.

Příklady aplikací počítačového vidění

Jednou z nejdůležitějších aplikací je zpracování obrazu v medicíně. Tato oblast je charakteristická získáváním informací z videodat pro lékařskou diagnostiku pacientů. Ve většině případů se videodata získávají pomocí mikroskopie , radiografie , angiografie , ultrazvuku a tomografie . Příkladem informací, které lze z takových videodat získat, je detekce nádorů , aterosklerózy nebo jiných maligních změn. Dalším příkladem může být měření velikosti orgánů, průtoku krve atd. Tato aplikační oblast rovněž přispívá k lékařskému výzkumu tím, že poskytuje nové informace například o stavbě mozku nebo kvalitě lékařského ošetření.

Další aplikační oblastí počítačového vidění je průmysl. Zde se získávají informace za účelem podpory výrobního procesu. Příkladem může být kontrola kvality, kdy jsou součásti nebo konečný produkt automaticky kontrolovány na vady. Dalším příkladem je měření polohy a orientace dílů zvednutých ramenem robota.

Vojenské aplikace jsou možná největší oblastí počítačového vidění. Jasnými příklady jsou detekce nepřátelských vojáků a vozidel a ovládání raket . Nejpokročilejší systémy řízení rakety vysílají střelu do dané oblasti místo na konkrétní cíl a výběr cíle se provádí, když střela dosáhne dané oblasti na základě přijatých videodat. Moderní vojenský koncept, jako je „bojové povědomí“ znamená, že různé senzory, včetně obrazových senzorů, poskytují velký soubor informací o bojišti, které lze použít pro strategická rozhodnutí. V tomto případě se pro snížení složitosti nebo zvýšení spolehlivosti přijímaných informací používá automatické zpracování dat.

Jednou z nových oblastí použití jsou autonomní vozidla, včetně podvodních, pozemních (roboty, auta), vzduchu. Úroveň autonomie se liší od plně autonomních (bezpilotních) vozidel až po vozidla, kde systémy založené na počítačovém vidění podporují řidiče nebo pilota v různých situacích. Plně autonomní vozidla využívají počítačové vidění k navigaci, tedy k získávání informací o své poloze, k vytvoření mapy prostředí, k detekci překážek. Mohou být také použity pro specifické úkoly, jako je detekce lesních požárů. Příklady takových systémů jsou systémy varování před překážkami vozidel a systémy autonomního přistání letadel. Některé automobilky předvedly systémy autonomního řízení, ale tato technologie ještě nedospěla do bodu, kdy by se dala vyrábět sériově.

Mezi další aplikace patří:

Typické úlohy počítačového vidění

Každá z výše popsaných oblastí aplikace počítačového vidění je spojena s řadou úkolů; více či méně dobře definované problémy měření nebo zpracování lze řešit pomocí různých metod. Některé příklady typických úloh počítačového vidění jsou uvedeny níže.

Rozpoznávání

Klasickým úkolem v počítačovém vidění, zpracování obrazu a strojovém vidění je určení, zda video data obsahují nějaký charakteristický objekt, vlastnost nebo aktivitu. Tento úkol může člověk spolehlivě a snadno vyřešit, ale dosud nebyl uspokojivě vyřešen v počítačovém vidění v obecném případě: náhodné objekty v náhodných situacích.

Existující metody řešení tohoto problému jsou účinné pouze pro určité objekty, jako jsou jednoduché geometrické objekty (například mnohostěny), lidské tváře, tištěné nebo ručně psané znaky, auta a pouze za určitých podmínek, obvykle určitého osvětlení, pozadí a polohy objekt vzhledem ke kameře.

V literatuře byla popsána řada problémů s rozpoznáváním:

Existuje několik specializovaných úkolů založených na rozpoznávání, například:

Pohyb

Několik úloh odhadu pohybu, ve kterých se zpracovávají sekvence obrázků (videodata) za účelem nalezení odhadu rychlosti každého bodu v obrázku nebo 3D scéně. Příklady takových úkolů jsou:

Restaurování scény

Jsou dány dva nebo více obrázků scény nebo video dat. Restaurování scény má za úkol znovu vytvořit trojrozměrný model scény. V nejjednodušším případě může být modelem množina bodů v trojrozměrném prostoru. Sofistikovanější metody reprodukují kompletní 3D model.

Obnova obrazu

Úkolem obnovy obrazu je odstranit šum (šum snímače, rozmazání pohybu atd.). Nejjednodušším přístupem k řešení tohoto problému jsou různé typy filtrů, jako jsou dolní nebo střední propusti. Složitější metody používají reprezentace toho, jak by měly určité části obrázku vypadat, a na základě toho je měnit.

Vyšší úrovně odstranění šumu je dosaženo tím, že se nejprve analyzují video data na přítomnost různých struktur, jako jsou čáry nebo hrany, a poté se na základě těchto dat řídí proces filtrování.

Systémy počítačového vidění

Implementace systémů počítačového vidění velmi závisí na jejich aplikaci, hardwarové platformě a požadavcích na výkon. Některé systémy jsou autonomní a řeší specifické problémy detekce a měření, zatímco jiné systémy jsou podsystémy větších systémů, které již mohou obsahovat podsystémy pro řízení mechanických manipulátorů (robotů), informační databáze (vyhledávání podobných obrázků), rozhraní člověk-stroj (počítačové hry) atd. Existují však funkce, které jsou společné mnoha systémům počítačového vidění.

Software

  1. OpenCV Knihovna počítačového vidění s otevřeným zdrojovým kódem.
  2. PCL Knihovna s otevřeným zdrojovým kódem pro práci s 3D mračny bodů.

Viz také

Literatura