Jak naučit počítač pochopit, co je zobrazeno na obrázku nebo na obrázku? Zdá se nám to jednoduché, ale pro počítač je to jen matice složená z nul a jednotek, ze kterých potřebujete získat důležité informace.
Co je počítačová vize? To je schopnost počítače "vidět"
Vize je důležitým zdrojem informací pro osobu, s níž podle různých údajů dostáváme 70 až 90% všech informací. A samozřejmě, pokud chceme vytvořit inteligentní automobil, musíme si uvědomit stejné dovednosti a počítač.
Úloha počítačového vidění může být formulována poněkud nejasně. Co je to "vidět"? Rozumí se, že tam, kde se nachází, stačí hledat. To je závěr rozdílů v počítačovém vidění a lidském vidění. Víra pro nás je zdrojem znalostí o světě, stejně jako zdrojem metrických informací - tedy schopností porozumět vzdálenostem a velikostem.
Sémantické jádro obrazu
Když se podíváme na obraz, můžeme ho charakterizovat řadou vlastností, tak řečeno, extrahováním sémantických informací.
Například při pohledu na tuto fotku můžeme říci, že je venku. Co je to město, pouliční provoz. Jaké jsou tu auta? Konfigurací budovy a hieroglyfů můžeme odhadnout, že jde o jihovýchodní Asii. Z portrétu Maa Zedongu chápeme, že to je Peking, a kdyby někdo viděl video vysílání nebo tam šel, mohl by odhadnout, že je to slavné náměstí Nebeského klidu. Co jsmemůžeme říci o obrázku, když to zvažujeme? Můžeme zvýraznit objekty v obraze, řekněme, že tam jsou lidé, plot je blíže. Zde jsou deštníky, tady je dům, tady je výkřik. Jedná se o příklady tříd velmi důležitých objektů, které jsou právě prohledávány.
Můžeme stále získat některé funkce nebo atributy objektů. Například zde můžeme zjistit, že toto není portrét některých obyčejných Číňanů, jmenovitě Mao Zedong. Autem můžete zjistit, že se jedná o pohyblivý objekt a je tuhý, to znamená, že během pohybu se nedeformuje. O vlajkách můžeme říci, že tyto objekty se pohybují, ale nejsou tuhé, neustále deformované. A také ve scéně je vítr, může být určen vyvíjející se vlajkou, a dokonce i vy můžete určit směr větru, například to fouká zleva doprava.
Hodnota vzdáleností a délek ve vesmíru počítače
Metrické informace ve vědě o počítačovém vidění jsou velmi důležité. Jsou to nejrůznější vzdálenosti. Například pro rover je to obzvláště důležité, protože týmy ze Země jsou asi 20 minut a odpověď je stejná. V důsledku toho je volání zpět a zpět 40 minut. A pokud vypracujeme plán pro pohyb týmů Země, musíme to vzít v úvahu.
Úspěšně integrované technologie počítačového vidění v videohrách. Z videa můžete vytvořit trojrozměrné modely objektů, lidí a po uživatelských fotografiích lze obnovit trojrozměrné modely měst. A pak jdi s ním. Počítačové vidění je poměrně široká oblast. Je propojena s různými vědami. Částečně počítačové viděnízachycuje oblast zpracování obrazu a někdy vyzdvihuje oblast strojního vidění, historicky tak formovaná.
Analýza, rozpoznávání obrazů - cesta k vytvoření vyšší inteligence
Prozkoumejte tyto pojmy zvlášť.
Zpracování obrazu je oblastí algoritmů se vstupními a výstupními obrázky a my už s tím něco děláme. Analýza obrazu je oblast počítačového vidění, která se zaměřuje na práci s dvojrozměrnými obrazy a vyvozuje z nich závěry. Rozpoznání vzoru je abstraktní matematická disciplína, která rozpoznává data ve formě vektorů. To znamená, že u vchodu - vektor a máme s tím něco společného. Kde tento vektor v podstatě nevíme moc. Počítačové vidění - toto bylo zpočátku rekonstrukce struktury dvourozměrných obrazů. Nyní se tato oblast stala širší a lze ji obecně interpretovat jako rozhodování o fyzických objektech na základě obrazu. To je problém umělé inteligence. Souběžně s počítačovým viděním v úplně jiné oblasti, v geodézii, byla vyvinuta fotogrammetrie - měření vzdálenosti mezi objekty v dvourozměrných snímcích.
Práce mohou "vidět"
A poslední je strojní vize. Pod strojním viděním je vize robotů. To znamená řešení některých výrobních úkolů. Dá se říci, že počítačové vidění-je jedna velká věda. Kombinuje některé jiné vědy zčásti. A když počítačové vidění obdrží konkrétní aplikaci, stane se strojem.
Oblast počítačového vidění má mnoho praktických aplikací. To jesouvisející s automatizací výroby. U podniků je efektivnější nahradit ruční práci strojem. Vůz není unavený, nespí, má nepravidelný plán práce, je připravena pracovat 365 dní v roce. Takže pomocí strojní práce můžeme získat jistý výsledek v určitém čase, a to je docela zajímavé. Všechny úkoly pro systémy počítačového vidění mají vizuální aplikaci. A není nic lepšího než vidět výsledek přímo z obrázku, pouze ve stadiu výpočtů.
Na prahu do světa umělé inteligence
Plus oblasti - je to obtížné! Podstatná část mozku je zodpovědná za vizi a věří se, že pokud člověk učí počítač, aby "viděl", to znamená plné uplatnění počítačového vidění, pak je to jeden z plných úkolů umělé inteligence. Pokud dokážeme vyřešit problém na lidské úrovni, s největší pravděpodobností zároveň vyřešíme problém II. Co je dobré! Nebo není moc dobré, když se díváte na Terminator 2. Proč je zrak obtížné? Protože se obrázky stejných objektů mohou značně lišit v závislosti na vnějších faktorech. V závislosti na pozorovacích bodech objekty vypadají jinak. Jeden a tentýž obrázek je například natočen z různých úhlů. A co je nejzajímavější, postava může být jedno oko, dva oči nebo jeden a půl. A v závislosti na kontextu (pokud je tato fotka osobou v tričku s taženým okem), pak může být více než dvě oči.
Počítač stále nerozumí, ale už "vidí"
Dalším faktorem, který vytváří složitost, je osvětlení. Jedna scéna s různým osvětlením bude vypadat jinak. Velikost objektůmohou se lišit. A objekty všech tříd. No, jak může člověk říci, že jeho výška je 2 metry? Vůbec ne. Výška osoby může být 2,3 m a 80 cm. Jako objekty jiných typů jsou nicméně předměty stejné třídy.
Zvláště živé předměty procházejí různými deformacemi. Vlasy lidí, sportovce, zvířata. Podívejte se na fotky běžících koní a zjistěte, co se stane s jejich hřívou a ocasem, je prostě nemožné. A překrývající se objekty v obraze? Pokud zvednete takový obrázek počítače, pak bude dokonce i nejmocnější stroj těžké udělat správné rozhodnutí.
Následující názor je převlečením. Některé předměty, zvířata jsou maskovaná do životního prostředí a docela obratně. A stejné body a barvy. Ale přesto je vidíme, i když ne vždy z dálky. Dalším problémem je pohyb. Objekty v pohybu mají neuvěřitelné deformace. Mnoho objektů je velmi variabilní. Například na dvou fotografiích pod objekty jako "křeslo".
A můžete tam sedět. Ale učit auto, že takové věci jsou různé tvary, barvy, materiály, všechno je předmětem "křesla" - je to velmi obtížné. To je úkol. Integrace technik počítačového vidění je naučit auto pochopit, analyzovat a předvídat.
Integrace počítačového vidění do různých platforem
V masách začala počítačová vize proniknout zpět v roce 2001, kdy byly vytvořeny první detektory. Udělali jsme dva autory: Viola, Jones. Byl to první rychlý a poměrně spolehlivý algoritmus, který demonstroval sílu techniky strojového učení. Nyní vPočítačové vidění je poměrně nová praktická aplikace - poznávání osoby tváří.
Ale rozpoznání osoby, jak je vidět ve filmech - v libovolných úhlech, s různými světelnými podmínkami - je nemožné. Ale k vyřešení problému, jeden nebo jiní lidé s různým osvětlením nebo v různých podobách, podobně jako na fotografii v pasu, mohou s vysokou mírou důvěry. Požadavky na pasové fotografie jsou z velké části způsobeny funkcí algoritmů detekce obličeje. Například pokud máte biometrický pas, pak na některých moderních letištích můžete použít automatický systém kontroly pasu.
Nevyřešený problém počítačového vidění je schopnost rozpoznávat libovolný text
Možná někdo použil systém pro rozpoznávání textu. Jedním z nich je Fine Reader, velmi populární systém Runet. Existuje mnoho forem, kde je třeba vyplnit údaje, jsou dobře skenovány, informace jsou systémem uznávány velmi dobře. Ale s libovolným textem na obrázku je případ mnohem horší. Tento úkol zůstává nevyřešen.
Hry s účastí počítačového vidění, zachycování pohybu
Oddělená velká oblast - je vytvoření trojrozměrných modelů a zachycení pohybu (což je v počítačových hrách poměrně úspěšné). První program, vize počítače, - systém interakce s počítačem pomocí gest. S jeho vytvořením byla spousta otevřenosti. Algoritmus sám je uspořádán docela jednoduše, ale pro jeho instalaci je nutné vytvořit generátor umělých obrazů lidí, kteří se dostanoumilionů obrázků. Superpočítač s jejich pomocí zvedl parametry algoritmu, kterým nyní pracuje nejlépe. Zde je jeden milion obrázků a týden výpočtu času superpočítače, který umožňuje vytvářet algoritmus, který spotřebuje 12% výkonu jednoho procesoru a umožňuje vnímat představu člověka v reálném čase. Toto je Microsoft Kinect (2010).
Hledání obrázků podle obsahu vám umožňuje nahrát fotografii do systému a na základě výsledků zobrazí všechny obrázky se stejným obsahem a vyrobené ze stejného úhlu. Příklady počítačového vidění: pomocí trojrozměrných a dvourozměrných map. Mapy pro navigátory automobilů jsou pravidelně aktualizovány podle videorekordérů. K dispozici je databáze s miliardami fotografií s geomodely. Nahráváním snímku do této databáze můžete určit, kde byla vytvořena, a dokonce z jakého úhlu. Přirozeně, za předpokladu, že je místo velmi oblíbené, tam najednou turisté navštívili a vytvořili několik obrázků z této oblasti.
funguje všude
robotika v současnosti, všude, bez ní. Nyní existují automobily, které mají zvláštní kamery, které rozpoznají chodce a dopravní značení, které předávají příkazy řidiči (to je v jistém smyslu program počítačového vidění, který pomáhá motoristům). A tam jsou plně automatizované pracovní vozy, ale nemohou spoléhat pouze na videokamery, aniž by využily mnoho dalších informací.
Moderní kamera je analogovou kamerou obscura
Pojďme si promluvit o digitálním obrazu. Moderní digitální fotoaparátyuspořádané podle principu kamery-obscurium. Jen místo otvoru, kterým prochází paprsek světla a vytváří obrys objektu na zadní straně kamery, máme speciální optický systém nazvaný čočka. Jeho účelem je shromáždit velký paprsek světla a převést ho tak, aby všechny nosníky procházely jedním virtuálním bodem, aby získaly projekci a vytvořily obrazy na filmu nebo matrici.
Moderní digitální fotoaparáty (matice) se skládají ze samostatných prvků - pixelů. Každý pixel vám umožňuje měřit energii světla, která padne na tento pixel, a na výstupu vygenerovat jedno číslo. Proto v digitálním fotoaparátu získáváme namísto sady měření jasu světla, které spadá do samostatných pixelových počítačových zorných polí. Proto při zvětšování obrazu nevidíme žádné hladké linie a jasné obrysy a mřížku namalovanou v různých tónech čtverců - pixelů. Níže vidíte první digitální obraz na světě.
Ale co na tomto obrázku chybí? Barva A jaká je barva?
Psychologické vnímání barvy
Barva je to, co vidíme. Barva objektu, stejný objekt pro člověka a kočku bude odlišná. Protože my (u lidí) a zvířata máme optický systém - zrak, je to jiné. Proto je barva psychologickou vlastností našeho vidění, která vzniká při pozorování objektů a světla. A nikoli fyzická vlastnost objektu a světla. Barva je výsledkem interakce složek světla, scény a našeho vizuálního systému.
Programování počítačového vidění na Pythonu spomocí knihoven
Pokud se rozhodnete brát vážně studii o počítačovém vidění, měli byste se okamžitě připravit na řadu potíží, věda není nejsnadnější a skrývá řadu nástrah. Ale "Programování počítačové vize na Pythonu" v autorství Jana Erika Solemy je kniha, ve které je všechno vyučováno co nejjednodušším jazykem. Zde se dozvíte o metodách rozpoznávání různých objektů ve 3D, naučíte se pracovat se stereofonními obrazy, virtuální realitou a mnoha dalšími programy počítačového vidění. Kniha má spoustu příkladů v Pythonu. Ale vysvětlují, jak je řečeno, obecně, aby nedošlo k přetížení příliš mnoho vědeckých a tvrdých informací. Práce je vhodná pro studenty, jen pro amatéry a nadšence. Tuto knihu a jinou počítačovou vizi (ve formátu pdf) si můžete stáhnout online. V současné době existuje otevřená knihovna algoritmů počítačového vidění, stejně jako zpracování obrazu a numerické algoritmy OpenCV. Je implementován ve většině moderních programovacích jazycích s otevřeným zdrojovým kódem. Když mluvíme o počítačovém vidění, Python používá jako programovací jazyk, má také podporu této knihovny, navíc se neustále vyvíjí a má rozsáhlou komunitu. Společnost Microsoft poskytuje služby Api, které mohou naučit neuronové sítě pracovat s obrázky lidí. Je možné použít počítačové vidění Python jako programovací jazyk .