Moderní počítačová vize. Úkoly a technologie počítačového vidění. Programování počítačového vidění v Pythonu
Jak naučit počítač pochopit, co je na obrázku nebo fotce? Zdá se nám to snadné, ale pro počítač je to jen matice, která se skládá z nula a těch, z nichž je nezbytné získat důležité informace.
Obsah
- Co je počítačové vidění? to je schopnost počítače "vidět"
- Sémantické jádro obrazu
- Hodnota vzdáleností a délky v počítačovém vidění
- Analýza, rozpoznávání vzoru - způsob, jak vytvořit vyšší mysl
- Roboty mohou "vidět"
- Na prahu světa umělé inteligence
- Počítač ještě nerozumí, ale už "vidí"
- Integrace počítačového vidění do různých platforem
- Nevyřešený problém počítačové vidění je schopnost rozpoznat libovolný text
- Hry zahrnující počítačové vidění, zachycení pohybu
- Roboty jsou všude
- Moderní kamera je analog kamery obscura
- Psychologické vnímání barvy
- Programování vize počítače v pythonu pomocí knihoven
Co je počítačové vidění? To je schopnost počítače "vidět"
Vize je pro člověka důležitým zdrojem informací, díky němu získáme podle různých zdrojů 70 až 90% všech informací. A samozřejmě, pokud chceme vytvořit inteligentní stroj, musíme v počítači používat stejné dovednosti.
Úloha počítačového vidění může být formulována poněkud nejasně. Co je to "vidět"? Je třeba pochopit, že tam, kde se nacházíte, jen hledáte. To je rozdíl mezi počítačovým viděním a lidským zrakem. Víra pro nás je zdrojem znalostí o světě, stejně jako zdrojem metrických informací - tedy schopností porozumět vzdálenostem a rozměrům.
Sémantické jádro obrazu
Když se díváme na obraz, můžeme ho charakterizovat mnoha způsoby, abychom tak mohli mluvit, abychom získali sémantické informace.
Například při pohledu na tuto fotku můžeme říci, že je to mimo pokoj. Co je to město, pouliční provoz. Že tam jsou auta. Konfigurací budovy a hieroglyfy můžeme odhadnout, že se jedná o jihovýchodní Asii. Podle portrétu Maa Zedonga chápeme, že se jedná o Peking, a kdyby někdo viděl video nebo tam sám navštívil, mohl by uhodnout, že se jedná o slavné náměstí Nebeského klidu.
Co můžeme říci o obrázku, když to zvažujeme? Můžeme vybrat objekty na obrázku, řekněme, tam jsou lidé, bližší je zde plot. Zde jsou deštníky, tady je budova, tady jsou plakáty. Toto jsou příklady tříd velmi důležitých objektů, které jsou momentálně hledány.
Můžeme také získat některé atributy 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 se při pohybu nepohybuje. O vlajkách můžete říci, že se jedná o předměty, ale také se pohybují, ale nejsou tuhé, trvale deformované. A na scéně je také vítr, který může být určen rozvíjejícím se vlajkou, a dokonce i směr větru může být určen, například fouká zleva doprava.
Hodnota vzdáleností a délky v počítačovém vidění
Velmi důležité jsou metrické informace ve vědě o počítačovém vidění. Jsou to nejrůznější vzdálenosti. Například pro rover je to zvlášť důležité, protože příkazy ze Země trvají asi 20 minut a odpověď je stejná. V souladu s tím je spojení tam a zpět - 40 minut. A pokud vypracujeme plán pohybu příkazů Země, musíme to vzít v úvahu.
Naštěstí jsou technologie počítačového vidění integrovány do videohier. Pomocí videa můžete vytvářet trojrozměrné modely objektů, lidí a uživatelských fotografií obnovit trojrozměrné modely měst. A pak jdi po nich.
Počítačové vidění je poměrně široká oblast. Je propojen s různými vědami. Částečně, počítačové vidění zachycuje oblast zpracování obrazu a někdy identifikuje oblast počítačového vidění, historicky tak.
Analýza, rozpoznávání vzoru - způsob, jak vytvořit vyšší mysl
Tyto pojmy budeme analyzovat zvlášť.
Zpracování obrazu je oblast algoritmů, ve kterých jsou vstupy a výstupy obraz, a my už s tím něco děláme.
Analýza obrazu je pole počítačového vidění, které se zaměřuje na práci s dvojrozměrným obrazem a vyvozuje z toho závěry.
Rozpoznávání obrazu je abstraktní matematická disciplína, která rozpoznává data ve formě vektorů. To znamená, že vstup je vektor a my s tím musíme něco udělat. Od tohoto vektoru není pro nás tak důležité vědět.
Počítačové vidění - původně obnovení struktury dvourozměrných obrazů. Nyní se tato oblast stala rozsáhlejší a lze ji obecně považovat za rozhodování o fyzických objektech založené na obrazu. To je to je úkol umělá inteligence.
Souběžně s počítačovým viděním v absolutně jiné oblasti, v geodéze, se vyvinula fotogrammetrie - je to měření vzdáleností mezi objekty na dvourozměrných snímcích.
Roboty mohou "vidět"
A poslední věcí je strojní vidění. Počítačovým viděním se míní pohled na roboty. To je řešení některých výrobních problémů. Můžeme říci, že počítačová vize - to je jedna velká věda. Sjednotí některé další vědy. A když počítačové vidění obdrží konkrétní aplikaci, změní se v počítačové vidění.
Oblast počítačového vidění má spoustu praktických aplikací. Je spojena s automatizací výroby. U podniků je efektivnější nahradit ruční práci strojem. Stroj není unavený, nespí, má neregulovaný pracovní plán, je připraven pracovat 365 dní v roce. Takže pomocí strojních prací můžeme získat jistý výsledek v určitém čase, což 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 okamžitě z obrázku, pouze ve stadiu výpočtů.
Na prahu světa umělé inteligence
Plus oblast - je to složité! Významná část mozku je zodpovědná za vizi a věří se, že pokud učíte počítač, aby "viděl", to znamená plně využít počítačové vidění, pak je to jeden z plných úkolů umělé inteligence. Pokud se nám podaří vyřešit problém na lidské úrovni, s největší pravděpodobností zároveň řešíme problém AI. Což je velmi dobré! Nebo není moc dobré, když se podíváte na "Terminátor 2".
Proč je zrak obtížný? Protože se obraz stejných objektů může značně lišit v závislosti na vnějších faktorech. V závislosti na pozorovacích bodech objekty vypadají jinak.
Například jedna a tutéž postava, převzatá z různých úhlů. A co je nejzajímavější, postava může mít jedno oko, dva oči nebo jeden a půl. A v závislosti na kontextu (pokud je to fotka člověka v tričku s malovanými očima), pak může být oko více než dvě.
Počítač ještě nerozumí, ale už "vidí"
Dalším faktorem, který vytváří složitost, je osvětlení. Stejná scéna s různým osvětlením bude vypadat jinak. Velikost objektů se může lišit. A objekty všech tříd. No, jak můžete říct o muži, že jeho výška je 2 metry? V žádném případě. Výška osoby může být 2,3 ma 80 cm. Jako předměty jiných typů jsou však objekty stejné třídy.
Obzvláště živé předměty procházejí různými deformacemi. Vlasy lidí, sportovců, zvířat. Podívejte se na obrázky běžících koní, není možné určit, co se stane s jejich hřívou a ocasem. Překrytí objektů v obraze? Pokud do počítače vložíte takový obrázek, dokonce i nejmocnější stroj bude obtížné dát správné řešení.
Dalším druhem je převlek. Některé předměty, zvířata jsou maskovaná pod širým nebem a obratně. A skvrny jsou stejné a barva. Ale přesto je vidíme, i když ne vždy z dálky.
Dalším problémem je pohyb. Objekty v pohybu podléhají nepředstavitelným deformacím.
Mnoho objektů je velmi variabilní. Například na dvou fotografiích pod objekty jako "křeslo".
A na tom můžete sedět. Ale učit stroj, že takové různé věci ve formě, barvě, materiálu jsou všechny předměty "židle" - velmi obtížné. To je úkol. Integrace metod počítačového vidění je naučit stroj pochopit, analyzovat a odhadnout.
Integrace počítačového vidění do různých platforem
V mase začala počítačová vize proniknout zpět v roce 2001, kdy byly vytvořeny první detektory tváří. Byli to dva autoři: Viola, Jones. Jednalo se o první rychlý a dostatečně spolehlivý algoritmus, který ukázal sílu metod strojového učení.
Nyní má počítačové vidění poměrně novou praktickou aplikaci - rozpoznávání člověka po tváři.
Není však možné rozpoznat osobu, jak je vidět ve filmech - v libovolných úhlech, s různými světelnými podmínkami. Ale k vyřešení problému, jeden nebo jiní lidé s různým osvětlením nebo v různých pozicích, podobně jako fotografie v pasu, můžete s vysokou mírou důvěry.
Požadavky na pasové fotografie jsou z velké části způsobeny zvláštností algoritmů rozpoznávání 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é vidění je schopnost rozpoznat libovolný text
Možná někdo použil systém rozpoznávání textu. Jedním z nich je Fine Reader, velmi populární systém v Runetu. Existuje mnoho forem, kde musíte vyplnit data, jsou dokonale naskenovány, informace jsou systémem velmi dobře rozpoznávány. Ale s libovolným textem na obrázku jsou věci mnohem horší. Tento úkol zůstává nevyřešen.
Hry zahrnující počítačové vidění, zachycení pohybu
Samostatnou velikou oblastí je vytvoření třírozměrných modelů a zachycení pohybu (což je v počítačových hrách poměrně úspěšné). První program, počítačové vidění pomocí, je systém interakce s počítačem pomocí gest. Když bylo vytvořeno, bylo mnoho otevřených.
Samotný algoritmus je poměrně jednoduchý, ale nakonfigurovat ho bylo nutné vytvořit generátor umělých obrazů lidí, aby získali milion obrázků. Superpočítač s jejich pomocí zvedl parametry algoritmu, podle něhož nyní pracuje nejlépe.
To znamená, že milion obrázků a týden výpočetního časového superpočítače umožňuje vytvářet algoritmus, který spotřebovává 12% výkonu jednoho procesoru a umožňuje vnímat pozici osoby v reálném čase. Jedná se o systém Microsoft Kinect (2010).
Vyhledáním obrázků podle obsahu můžete nahrát fotografii do systému a podle výsledků se zobrazí všechny obrázky se stejným obsahem a převzaty ze stejného úhlu.
Příklady počítačového vidění: s tím jsou nyní vytvářeny trojrozměrné a dvourozměrné mapy. Mapy pro navigátory automobilů jsou pravidelně aktualizovány podle dat z DVR.
Je zde základna s miliardami fotografií s geometací. Při nahrávání snímku do této databáze můžete určit, kde byla vytvořena, a dokonce z jaké perspektivy. Přirozeně, za předpokladu, že je místo poměrně populární, že najednou byli turisté a vytvořili sérii fotografií oblasti.
Roboty jsou všude
Robotika jsou všude, bez nich vůbec. Teď tam jsou vozidla, která mají zvláštní kamery, které rozpoznají chodce a dopravní značky předávat povely řidiče (to takovým způsobem, počítačový program pro prohlížení, pomáhá motorista). A tam je plně automatizovaná robotická vozidla, ale nemohou spoléhat pouze na kamerovým systémem bez použití velkého množství doplňujících informací.
Moderní kamera je analog kamery obscura
Promluvme si o digitálním obrazu. Moderní digitální fotoaparáty jsou postaveny na principu camera obscura. Pouze místo otvoru, kterým prochází paprsek světla a promítá obrys objektu na zadní stěnu kamery, máme speciální optický systém nazvaný čočka. Jejím úkolem je sestavit velký paprsek světla a přeměnit ho tak, aby všechny paprsky procházely jedním virtuálním bodem, aby získaly projekci a vytvořily obraz na filmu nebo matici.
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á klesá na celý pixel, a vygenerovat jedno číslo. Proto v digitálním fotoaparátu získáme namísto obrazu soubor měření míry jasu světla spadajícího do jednoho pixelového počítače zorné pole. Při zvětšování obrazu tedy nevidíme hladké čáry a jasné obrysy, ale mřížku pixelů, které jsou zbarveny v různých tónech - pixelů.
Níže vidíte první digitální obraz na světě.
Ale co na tomto obrázku chybí? Barva. A co je to 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á. Jelikož my (u lidí) a zvířat máme optický systém - vizi, je to jiné. Proto je barva psychologickou vlastností našeho vize, která vyplývá z 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í vize počítače v Pythonu pomocí knihoven
Pokud jste se rozhodli zapojit se vážně na studium počítačového vidění, měl by okamžitě připravit na řadu obtíží, tato věda není nejjednodušší a skrývá řadu úskalí. Ale „Programování Computer Vision na Python“ autorství Jan Erik SOLEMA - knihu, která obsahuje přehled všech nejjednodušší jazyk. Zde se seznámí s metodami rozpoznávání různých objektů v 3D, naučit se pracovat s stereofonního obrazu, virtuální reality a mnoho dalších aplikací počítačového vidění. V knize Pythonu je k dispozici dostatek příkladů. Ale vysvětlení jsou prezentovány, tak říkajíc, generalizované, tak, aby nedošlo k přetížení příliš mnoho výzkumu a tvrdá data. Práce vyhovuje studentům, jen milovníkům a nadšencům. Tuto knihu a další informace o počítačové vizi (ve formátu pdf) si můžete stáhnout online.
V současné době existuje otevřená knihovna algoritmů pro počítačové vidění, stejně jako zpracování obrazu a numerické algoritmy pro OpenCV. Toto je implementováno ve většině moderních programovacích jazycích, má otevřený zdrojový kód. Když hovoříme o počítačovém vidění, Python jej 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 školit neuronové sítě pro práci s obrázky jednotlivců. K dispozici je také možnost použít také počítačové vidění, Python jako programovací jazyk.
- Vzdálenost od očí k monitoru: vlastnosti, požadavky a normy
- Projdeme knihu o snu: o čem sen o tom chlapíkovi a co očekávat od takového vidění?
- Reprezentace dat v počítači: binární kódování informací
- Jak zkontrolovat zrak doma. Jednoduché tipy
- A divíte se, jak se stanou hackery?
- Zpětná vazba: Laserová korekce vidění, pokud je potřeba
- Co je počítačová architektura?
- Binokulární vize jako složitý proces
- Které počítačové zařízení simuluje myšlení člověka a co mu to pomáhá?
- Syndrom počítačového vidění: choroba vědeckého a technologického pokroku?
- Jaký je rozdíl mezi monokulární vizí a binokulárním viděním?
- Co je to stereoskopické vidění?
- Laserová korekce vize: recenze, kontraindikace
- Jednoduché způsoby, jak se naučit název základní desky.
- Jak zachovat zrak při práci s počítačem - účinné způsoby a doporučení
- Informatika a počítačová zařízení
- Co je počítač?
- Co je počítačový hardware
- Progresivní čočky
- Interní počítačové zařízení
- Jak je kódování grafických informací v počítači?