Počítačové vidění

Počítačové vidění je studium a aplikace metod, které počítačům umožňují „porozumět“ obsahu obrazu nebo obsahu vícerozměrných dat obecně. Termín „porozumět“ zde znamená, že z obrazových dat jsou získávány specifické informace pro určitý účel: buď pro jejich prezentaci lidskému operátorovi (např. byly-li v mikroskopickém snímku zjištěny rakovinné buňky), nebo pro řízení nějakého procesu (např. průmyslový robot nebo autonomní vozidlo). Obrazová data, která jsou dodávána do počítačového systému vidění, jsou často digitální šedý nebo barevný obraz, ale mohou být také ve formě dvou nebo více takových snímků (např. z dvojice stereo kamer), videosekvence nebo 3D svazku (např. z tomografického zařízení). Ve většině praktických aplikací počítačového vidění jsou počítače předem naprogramovány k řešení konkrétního úkolu, ale metody založené na učení se nyní stávají stále běžnějšími.

Počítačové vidění lze také popsat jako doplněk (ne však nutně opak) biologického vidění. V biologickém vidění a vizuálním vnímání jsou studovány reálné zrakové systémy lidí a různých zvířat, což vede k modelům, jak jsou tyto systémy implementovány z hlediska nervového zpracování na různých úrovních. Počítačové vidění naopak studuje a popisuje systém technického vidění, který je implementován v softwaru nebo hardwaru, v počítačích nebo v procesorech digitálních signálů. Existuje určitá mezioborová práce mezi biologickým a počítačovým viděním, ale obecně obor počítačového vidění studuje zpracování vizuálních dat jako čistě technický problém.

Vztah mezi počítačovým viděním a různými dalšími obory

Oblast počítačového vidění lze charakterizovat jako nezralou a různorodou. I když existují dřívější práce, teprve koncem 70. let začalo cílenější studium tohoto oboru, když počítače mohly řídit zpracování velkých datových souborů, jako jsou obrázky. Tyto studie však obvykle pocházely z různých jiných oborů, a proto neexistuje standardní formulace „problému počítačového vidění“. Také, a to v ještě větší míře, neexistuje standardní formulace toho, jak by měly být problémy počítačového vidění řešeny. Místo toho existuje množství metod pro řešení různých přesně definovaných úloh počítačového vidění, kde jsou metody často velmi specifické pro jednotlivé úkoly a zřídka je lze zobecnit na širokou škálu aplikací. Mnoho metod a aplikací je stále ve stavu základního výzkumu, ale stále více metod si našlo cestu do komerčních produktů, kde často tvoří součást většího systému, který může řešit složité úkoly (např. v oblasti lékařských snímků nebo kontroly kvality a měření v průmyslových procesech).

Počítačové vidění je některými chápáno jako dílčí pole umělé inteligence, kde jsou obrazová data vkládána do systému jako alternativa k textovým vstupům pro kontrolu chování systému. Některé z učebních metod, které jsou používány v počítačovém vidění, jsou založeny na učebních technikách vyvinutých v rámci umělé inteligence.

Třetím oborem, který hraje důležitou roli, je neurobiologie, konkrétně studium systému biologického vidění. V průběhu minulého století došlo k rozsáhlému studiu očí, neuronů a mozkových struktur, které se věnovaly zpracování vizuálních podnětů u lidí i různých zvířat. To vedlo k hrubému, ale komplikovanému popisu toho, jak fungují „reálné“ zrakové systémy, aby vyřešily určité úkoly související se zrakem. Tyto výsledky vedly k podoboru v rámci počítačového vidění, kde jsou umělé systémy navrženy tak, aby napodobovaly zpracování a chování biologických systémů, a to na různých úrovních složitosti. Některé metody založené na učení vyvinuté v rámci počítačového vidění mají také své zázemí v biologii.

Doporučujeme:  Masové pozorování

Dalším oborem souvisejícím s počítačovým viděním je zpracování signálů. Mnoho existujících metod zpracování signálů jedné proměnné, typicky časových signálů, může být přirozeným způsobem rozšířeno na zpracování signálů dvou proměnných nebo signálů více proměnných v počítačovém vidění. Vzhledem ke specifické povaze obrazů však existuje mnoho metod vyvinutých v rámci počítačového vidění, které nemají protějšek ve zpracování signálů jedné proměnné. Odlišným charakterem těchto metod je skutečnost, že jsou nelineární, což spolu s vícerozměrností signálu definuje podpole ve zpracování signálů jako součást počítačového vidění.

Vedle výše uvedených pohledů na počítačové vidění lze řadu souvisejících výzkumných témat studovat také z čistě matematického hlediska. Například mnoho metod v počítačovém vidění je založeno na statistice, optimalizaci nebo geometrii. A konečně, významná část oboru je věnována implementačnímu aspektu počítačového vidění; jak lze stávající metody realizovat v různých kombinacích softwaru a hardwaru nebo jak lze tyto metody modifikovat, aby se zvýšila rychlost zpracování bez přílišné ztráty výkonu.

Počítačové vidění, Zpracování obrazu, Analýza obrazu, Robotické vidění a Strojové vidění jsou úzce příbuzné obory. Podíváte-li se do učebnic, které mají v názvu některý z těchto názvů, dojde k významnému překrytí, pokud jde o to, jaké techniky a aplikace pokrývají. Z toho vyplývá, že základní techniky, které jsou v těchto oborech používány a vyvíjeny, jsou víceméně totožné, což lze interpretovat tak, že existuje pouze jeden obor s různými názvy.

Na druhé straně se jeví jako nezbytné, aby se výzkumné skupiny, vědecké časopisy, konference a společnosti prezentovaly nebo uváděly na trh jako osoby patřící specificky do jednoho z těchto oborů, a proto byly prezentovány různé charakteristiky, které odlišují každý z těchto oborů od ostatních. Následující charakteristiky se zdají být relevantní, ale neměly by být brány jako všeobecně přijímané.

Zpracování obrazu a analýza obrazu se obvykle zaměřují na 2D obrazy, jak transformovat jeden obraz na druhý, např. pomocí operací s pixely, jako je zvýšení kontrastu, lokálních operací, jako je extrakce okrajů nebo odstranění šumu, nebo geometrických transformací, jako je otočení obrazu. Z této charakteristiky vyplývá, že zpracování/analýza obrazu nevytváří ani nevyžaduje předpoklady o tom, co je konkrétní obraz obrazem.

Počítačové vidění má tendenci soustředit se na 3D scénu promítanou na jeden nebo více obrazů, např. jak rekonstruovat strukturu nebo jiné informace o 3D scéně z jednoho nebo více obrazů. Počítačové vidění se často opírá o více či méně složité předpoklady o scéně zobrazené na obraze.

Strojové vidění má tendenci zaměřovat se na aplikace, zejména v průmyslu, např. autonomní roboty založené na vidění a systémy pro vizuální kontrolu nebo měření. Z toho vyplývá, že technologie obrazových senzorů a teorie řízení jsou často integrovány se zpracováním obrazových dat pro ovládání robota a že zpracování v reálném čase je zdůrazněno pomocí efektivních implementací v hardwaru a softwaru.

Existuje také obor nazvaný Imaging, který se primárně zaměřuje na proces tvorby obrazů, ale někdy se také zabývá zpracováním a analýzou obrazů. Například Medical imaging obsahuje spoustu práce na analýze obrazových dat v lékařských aplikacích.

Rozpoznávání obrazů je obor, který využívá různé metody k získávání informací ze signálů obecně, založené především na statistických přístupech. Významná část tohoto oboru je věnována aplikaci těchto metod na obrazová data.

Doporučujeme:  Akcelerační účinky

Důsledkem tohoto stavu je, že můžete pracovat v laboratoři související s jedním z těchto oborů, aplikovat metody z druhého oboru k řešení problému ve třetím oboru a prezentovat výsledek na konferenci související se čtvrtým oborem!

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

Dalším způsobem, jak popsat počítačové vidění, jsou oblasti aplikací. Jednou z nejvýraznějších oblastí aplikací je lékařské počítačové vidění nebo zpracování lékařského obrazu. Tato oblast se vyznačuje extrakcí informací z obrazových dat za účelem stanovení lékařské diagnózy pacienta. Typicky obrazová data jsou ve formě mikroskopických snímků, rentgenových snímků, angiografických snímků, ultrazvukových snímků a tomografických snímků. Příkladem informací, které lze z těchto obrazových dat získat, je detekce nádorů, arteriosklerózy nebo jiných maligních změn. Může to být také měření rozměrů orgánů, průtoku krve atd. Tato oblast aplikace také podporuje lékařský výzkum tím, že poskytuje nové informace, např. o struktuře mozku nebo o kvalitě lékařské léčby.

Druhá oblast použití v počítačovém vidění je v průmyslu. Zde jsou informace získávány za účelem podpory výrobního procesu. Příkladem je kontrola kvality, kdy jsou detaily nebo finální výrobky automaticky kontrolovány za účelem zjištění závad. Dalším příkladem je měření polohy a orientace detailů, které má zachytit rameno robota. Více podrobností o této oblasti naleznete v článku o strojovém vidění.

Vojenské aplikace jsou pravděpodobně jednou z největších oblastí pro počítačové vidění, i když jen malá část této práce je přístupná veřejnosti. Samozřejmým příkladem je detekce nepřátelských vojáků nebo vozidel a navádění střel na určený cíl. Pokročilejší systémy pro navádění střel posílají střelu do určité oblasti spíše než na konkrétní cíl a výběr cíle se provádí, když střela dosáhne dané oblasti na základě lokálně získaných obrazových dat. Moderní vojenské koncepty, jako je „uvědomění si bojiště“, implikují, že různé senzory, včetně obrazových senzorů, poskytují bohatý soubor informací o bojové scéně, které mohou být použity na podporu strategických rozhodnutí. V tomto případě se automatické zpracování dat používá ke snížení složitosti a ke sloučení informací z více senzorů pro zvýšení spolehlivosti.

Umělecká koncepce Roveru na Marsu. Všimněte si stereo kamer umístěných na střeše Roveru. (úvěr: Maas Digital LLC)

Jednou z novějších oblastí použití jsou autonomní vozidla, která zahrnují ponorky, pozemní vozidla (malé roboty s koly, automobily nebo nákladní automobily) a vzdušná vozidla. Bezpilotní vzdušné vozidlo je často označováno jako UAV. Úroveň autonomie se pohybuje 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 obvykle používají počítačové vidění pro navigaci, tj. pro zjištění, kde se nachází, nebo pro vytvoření mapy svého prostředí (SLAM) a pro detekci překážek. Může být také použit pro detekci určitých událostí specifických pro daný úkol, např. UAV hledající lesní požáry. Příkladem podpůrného systému jsou systémy varování před překážkami v automobilech a systémy pro autonomní přistání letadel. Několik výrobců automobilů předvedlo systémy pro autonomní řízení automobilů, ale tato technologie stále nedosáhla úrovně, kdy by mohla být uvedena na trh. Existuje dostatek příkladů vojenských autonomních vozidel od pokročilých raket po UAV pro průzkumné mise nebo navádění raket. Průzkum vesmíru se již provádí pomocí autonomních vozidel využívajících počítačové vidění, např. NASA Mars Exploration Rover.

Doporučujeme:  Úmluva o právech dítěte

Další oblasti použití zahrnují vytváření vizuálních efektů pro kino a vysílání, např. sledování kamery nebo matchmoving, a dohled.

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

Detekce přítomnosti známých objektů nebo živých bytostí na obraze, případně společně s odhadem polohy těchto objektů.

Optické rozpoznávání znaků

OCR (optické rozpoznávání znaků) pořizuje snímky tištěného nebo ručně psaného textu a převádí jej do počítačově čitelného textu, jako je ASCII nebo Unicode. V minulosti byly snímky pořizovány pomocí počítačového skeneru, nicméně v poslední době může nějaký software také číst text z obrázků pořízených digitálním fotoaparátem.

Sledování známých objektů pomocí sekvence obrázků.

Vytvoření modelu z obrázku/videa.

Cílem výpočtu egomotion je popsat pohyb objektu s ohledem na externí referenční systém, a to analýzou dat získaných senzory na palubě objektu. tj.
samotné kamery.

Typický systém počítačového vidění lze rozdělit do následujících subsystémů:

Obrazová sekvence nebo sekvence obrazu se získává pomocí zobrazovacího systému (kamera, radar, lidar, tomografický systém). Často je nutné zobrazovací systém před použitím kalibrovat.

V kroku předběžného zpracování je obraz zpracován pomocí operací „nízké úrovně“. Cílem tohoto kroku je provést snížení šumu na obrázku (tj. oddělit signál od šumu) a snížit celkové množství dat. To se obvykle provádí použitím různých (digitálních) metod zpracování obrazu, jako jsou:

Cílem extrakce funkcí je dále redukovat data na soubor funkcí, které by měly být neměnné vůči poruchám, jako jsou světelné podmínky, poloha kamery, hluk a zkreslení. Příklady extrakce funkcí jsou:

Cílem registračního kroku je vytvořit korespondenci mezi vlastnostmi v získané množině a vlastnostmi známých objektů v modelové databázi a/nebo vlastnostmi předchozího obrázku. Registrační krok musí přinést konečnou hypotézu. Jmenujme několik metod:

Seřazeno abecedně s ohledem na příjmení prvního autora

Olivier Faugeras (1993). Three-Dimensional Computer Vision, A Geometric Viewpoint, MIT Press. ISBN 0-262-06158-9.

David A. Forsyth a Jean Ponce (2003). Computer Vision, A Modern Approach, Prentice Hall. ISBN 0-12-379777-2.

Gösta H. Granlund a Hans Knutsson (1995). Signal Processing for Computer Vision, Kluwer Academic Publisher. ISBN 0-7923-9530-1.

Richard Hartley a Andrew Zisserman (2003). Multiple View Geometry in computer vision, Cambridge University Press. ISBN 0-521-54051-8.

Berthold Klaus Paul Horn (1986). Robot Vision, MIT Press. ISBN 0-262-08519-8.

Bernd Jähne a Horst Haußecker (2000). Computer Vision and Applications, A Guide for Students and Practitioners, Academic Press. ISBN 0-13-085198-1.

Bernd Jähne (2002). Digital Image Processing, Springer. ISBN 3-540-67754-2.

David Marr (1982). Vision, W. H. Freeman and Company. ISBN 0-7167-1284-9.

Gérard Medioni a Sing Bing Kang (2004). Emerging Topics in Computer Vision, Prentice Hall. ISBN 0-13-101366-1.

Tim Morris (2004). Computer Vision and Image Processing, Palgrave Macmillan. ISBN 0-333-99451-5.

Azriel Rosenfeld a Avinash Kak (1982). Digital Picture Processing, Academic Press. 0-125-97301-2.

Linda G. Shapiro a George C. Stockman (2001). Computer Vision, Prentice Hall. ISBN 0-13-030796-3.

Milan Sonka, Václav Hlaváč a Roger Boyle (1999). Image Processing, Analysis, and Machine Vision, PWS Publishing. ISBN 0-534-95393-X.

Laboratoře počítačového vidění