/ / Modern számítógépes látásmód. A számítógépes látás problémái és technológiái. Számítógépes látás programozás Python-ban

Modern számítógépes kép. A számítógépes látás feladatait és technológiáit. Számítógépes látás programozása Pythonban

Hogyan tanítsuk meg a számítógépet, hogy megértsük, mi van ábrázolva?kép vagy fénykép? Számunkra egyszerűnek tűnik, de a számítógép számára ez csak a nullák és nullák mátrixa, amelyekből fontos információkat kell kinyernie.

számítógépes látás

Mi a számítógépes látás? Ez a számítógép képes "látni"

A látás fontos információforrás aszemély, az ő segítségével különféle források szerint az összes információ 70-90% -át megkapjuk. És természetesen, ha intelligens autót akarunk létrehozni, ugyanazokat a képességeket kell megvalósítanunk a számítógépben is.

A számítógépes látás feladata lehetmeglehetősen homályosan fogalmazódik meg. Mi a "látni"? Annak megértése, hogy mi van hol, csak úgy, hogy megnézzük. Ez a különbség a számítógépes látás és az emberi látás között. A látomás számunkra a világról szóló ismeretek forrása, valamint a metrikus információk forrása - vagyis a távolságok és a méretek megértésének képessége.

A kép szemantikus magja

A képet nézve számos jellemző szerint jellemezhetjük, úgyszólván szemantikai információkat nyerhetünk ki.

számítógépes látás python

Például ezt a fotót megnézve, megtehetjükmondjuk a szabadban van. Hogy ez egy város, forgalom. Hogy vannak itt autók. Az épület konfigurációjából és a hieroglifákból sejthetjük, hogy ez Délkelet-Ázsia. Mao Ce-tung portréjából megértjük, hogy ez Peking, és ha valaki látta a videó közvetítéseket, vagy maga is járt ott, akkor sejtheti, hogy ez a híres Tienanmen tér.

Mi mást mondhatunk a képről, ha megnézzükneki? Kiemelhetjük a képen lévő tárgyakat, mondjuk vannak emberek ott, itt közelebb - kerítés. Itt vannak az esernyők, itt az épület, itt vannak a plakátok. Ezek példák nagyon fontos objektumosztályokra, amelyekre jelenleg keresnek.

Kihúzhatunk tárgyak néhány jelét vagy tulajdonságát is. Például itt megállapíthatjuk, hogy ez nem egy közönséges kínai, nevezetesen Mao Ce-tung portréja.

Az autó segítségével meghatározhatja, mi azmozgó tárgy, és merev, vagyis mozgás közben nem deformálódik. A zászlókról elmondhatjuk, hogy ezek tárgyak, mozognak is, de nem merevek, folyamatosan deformálódnak. És a szél is van a jelenetben, ezt a hullámzó zászlóval lehet meghatározni, sőt meg lehet határozni a szél irányát is, például balról jobbra fúj.

A távolságok és hosszúságok értéke a számítógépes látásban

A metrikus információ nagyon fontos a számítógépes látás tudományában. Ezek mindenféle távolságok.Például egy rover számára ez különösen fontos, mert a Földről érkező parancsok körülbelül 20 percet vesznek igénybe, és a válasz ugyanaz. Ennek megfelelően az oda-vissza kapcsolat 40 perc. És ha a Föld parancsainak megfelelően elkészítünk egy mozgástervet, akkor ezt figyelembe kell vennünk.

 számítógépes látás pdf

Sikeres számítógépes látástechnikaintegrálva a videojátékokba. A videóból háromdimenziós modelleket készíthet objektumokról, emberekről, a felhasználói fotókból pedig helyreállíthatja a városok háromdimenziós modelljeit. És akkor sétálj végig rajtuk.

Számítógépes látás Elég széles terület. Szorosan összefonódik más tudományokkal. Részleges számítógépes látás rögzíti a képfeldolgozás területét, és néha kiemeli a gépi látás területét, történelmileg ez történt.

Elemzés, mintafelismerés - a magasabb szintű elme létrehozásának módja

Elemezzük külön ezeket a fogalmakat.

számítógépes látásmódszerek

A képfeldolgozás az algoritmusok azon területe, ahol a be- és kimenet kép, és máris csinálunk vele valamit.

A képelemzés a számítógépes látás olyan területe, amely a kétdimenziós képpel való együttműködésre összpontosít, és következtetéseket von le belőle.

A mintafelismerés elvontmatematikai tudományág, amely az adatokat vektorként ismeri fel. Vagyis a bemeneten van egy vektor, és valamit tennie kell vele. Honnan származik ez a vektor, nem annyira fontos számunkra tudni.

A számítógépes látás eredetileg az volta szerkezet rekonstrukciója kétdimenziós képekből. Ez a terület most szélesebb lett, és általában úgy értelmezhető, hogy a kép alapján döntéseket hoz a fizikai tárgyakról. Vagyis ez a mesterséges intelligencia feladata.

A számítógépes látással párhuzamosan, egy teljesen más területen, a geodéziában fotogrammetria alakult ki - ez a tárgyak közötti távolság mérése kétdimenziós képek segítségével.

A robotok "láthatják"

És az utolsó a gépi látás. A gépi látás a robotok látásmódjára utal. Vagyis egyes termelési problémák megoldása. Mondhatjuk azt a számítógépes látást - ez egy nagy tudomány. Részben egyesít néhány más tudományt. És amikor a számítógépes látás egy adott alkalmazást kap, az gépi látássá válik.

a számítógépes látórendszerek feladatai

A számítógépes látás terének tömege vanpraktikus alkalmazások. A termelés automatizálásához kapcsolódik. A vállalkozásoknál egyre hatékonyabb a kézi munkát gépi munkával helyettesíteni. A gép nem fárad el, nem alszik, munkarendje szabálytalan, az év 365 napján készen áll a munkára. Tehát a gépi munka felhasználásával garantált eredményt érhetünk el egy bizonyos időpontban, és ez nagyon érdekes. A számítógépes látórendszerek minden feladatának van vizuális alkalmazása. És nincs annál jobb, mint az eredményt közvetlenül a képből látni, csak a számítások szakaszában.

A mesterséges intelligencia világának küszöbén

Ráadásul a környék nehéz!Az agy jelentős része felelős a látásért, és úgy gondolják, hogy ha megtanítja a számítógépet "látni", vagyis teljes mértékben alkalmazni a számítógépes látást, akkor ez a mesterséges intelligencia egyik teljes feladata. Ha emberi szinten meg tudjuk oldani a problémát, akkor nagy valószínűséggel egyidejűleg megoldjuk az AI problémáját is. Ami nagyon jó! Vagy nem túl jó, ha a Terminator 2-t nézed.

Miért nehéz a látás? Mivel ugyanazon tárgyak képe a külső tényezőktől függően nagymértékben változhat. Az objektumok a megfigyelési pontoktól függően másképp néznek ki.

Például egy és ugyanaz az ábra különbözőből vettszögek. És ami a legérdekesebb, egy alaknak lehet egy szeme, két szeme vagy másfél. És a kontextustól függően (ha ez egy pólóban lévő ember fényképe húzott szemmel), akkor kettőnél több szem lehet.

A számítógép még nem ért, de már "lát"

Egy másik tényező, amely nehézségeket okoz, azvilágítás. Ugyanaz a jelenet, különböző megvilágítással, másképp fog kinézni. Az objektumok mérete változhat. Sőt, bármilyen osztályú tárgyak. Nos, hogyan mondhatja el az emberről, hogy a magassága 2 méter? Semmiképpen. Az ember magassága lehet 2,3 m és 80 cm, más típusú tárgyakhoz hasonlóan ezek is ugyanahhoz az osztályhoz tartozó tárgyak.

a számítógépes látás példái

Különösen az élő tárgyak mennek át a legtöbbetkülönféle deformációk. Emberek, sportolók, állatok haja. Nézd meg a futó lovak képeit, egyszerűen lehetetlen meghatározni, hogy mi történik a sörényükkel és a farkukkal. Mi van a képen lévő objektumok átfedésével? Ha becsúsztat egy ilyen képet a számítógépbe, akkor a legerősebb gép is nehezen tudja megadni a helyes megoldást.

számítógépes látás program

A következő típus az álruházat.Egyes tárgyak, állatok elég ügyesen álcázzák magukat környezetnek. És a foltok ugyanazok és a színek. Ennek ellenére látjuk őket, bár nem mindig messziről.

Egy másik probléma a mozgás. A mozgásban lévő tárgyak elképzelhetetlen alakváltozásokon mennek keresztül.

Sok objektum nagyon változó. Itt található például az alábbi két fotón a "karosszék" típusú tárgyak.

számítógépes látás programozás a pythonban

És ezen ülhet.De nagyon nehéz megtanítani egy autót, hogy ilyen különböző alakban, színben, anyagban mind a "szék" tárgyai. Ez a feladat. A számítógépes látásmódok integrálása annyit jelent, hogy egy gépet megérteni, elemezni, feltételezni kell.

 különbségek a számítógépes látás és az emberi látás között

A számítógépes látás integrálása különféle platformokba

A számítógépes látás még a tömegekbe is behatolt2001-ben, amikor létrehozták az első arcérzékelőket. Ezt két szerző készítette: Viola, Jones. Ez volt az első gyors és ésszerűen robusztus algoritmus, amely bemutatta a gépi tanulás erejét.

A számítógépes látásmódnak meglehetősen új gyakorlati alkalmazása van - az arcfelismerés.

számítógép látómezői

De felismerni egy személyt, amint az afilmek - tetszőleges szögekben, különböző fényviszonyokkal - lehetetlen. De a probléma megoldása érdekében, függetlenül attól, hogy egy vagy különböző emberekről van szó, különböző megvilágítással vagy különböző helyzetben, hasonlóan, mint az útlevél fényképén, nagyfokú bizalommal lehet.

Az útlevélfotókra vonatkozó követelmények nagyrészt az arcfelismerési algoritmusok sajátosságainak köszönhetők.

Például, ha rendelkezik biometrikus útlevéllel, akkor néhány modern repülőtéren használhatja az automatikus útlevél-ellenőrző rendszert.

A számítógépes látás megoldatlan problémája az önkényes szöveg felismerésének képessége

Lehet, hogy valaki használta a rendszertOCR. Ezek egyike a Fine Reader, amely a Runet nagyon népszerű rendszere. Sok olyan űrlap van, ahol ki kell töltenie az adatokat, ezek tökéletesen beolvasottak, az információkat a rendszer nagyon jól felismeri. De ha a képen szabad szöveg van, akkor a helyzet sokkal rosszabb. Ez a feladat továbbra is megoldatlan.

Számítógépes látást, mozgásrögzítést magában foglaló játékok

Külön nagy terület az alkotás3D modellek és mozgásrögzítés (ami meglehetősen sikeresen megvalósul a számítógépes játékokban). Az első program, amely számítógépes látást használ, egy olyan rendszer, amely gesztusok segítségével kommunikál a számítógéppel. Létrehozása során sok mindent felfedeztek.

Maga az algoritmus meglehetősen egyszerű, de azértaz emberek mesterséges képeinek generátorának létrehozásához szükséges testreszabás millió kép megszerzéséhez. A szuperszámítógép felhasználta őket az algoritmus paramétereinek kiválasztására, amelyek szerint ez most a legjobban működik.

Ez millió kép és egy hét a számlálása szuperszámítógépes idő lehetővé tette egy olyan algoritmus létrehozását, amely egy processzor teljesítményének 12% -át elfogyasztja, és lehetővé teszi az ember testtartásának valós időben történő érzékelését. Ez a Microsoft Kinect rendszer (2010).

számítógépes program a látáshoz

Képek keresése tartalom szerint lehetővé teszi, hogy fényképeket töltsön fel a rendszerbe, és ennek eredményeként az összes kép ugyanazzal a tartalommal és ugyanazon szögből készült.

Példák a számítógépes látásra: 3D és 2D térképek készülnek vele. Az autós navigátorok térképeit rendszeresen frissítik a DVR-ek adatai alapján.

Van egy adatbázis, amely milliárdnyi fotót tartalmazgeocímkék. Kép feltöltésével ebbe az adatbázisba meghatározhatja, hogy hol készült, és még milyen szögből is. Természetesen, feltéve, hogy a hely elég népszerű, hogy egy időben a turisták meglátogatták és számos fényképet készítettek a térségről.

Robotok vannak mindenhol

A robotika ma mindenhol jelen van, anélkülsemmiképpen. Most vannak olyan autók, amelyekben vannak speciális kamerák, amelyek felismerik a gyalogosokat és az útjelző táblákat annak érdekében, hogy parancsokat küldjenek a sofőrnek (bizonyos értelemben számítógépes program a látáshoz, amely segíti az autó rajongóját). Vannak teljesen automatizált robotautók, de nem támaszkodhatnak egyedül a videokamerarendszerre anélkül, hogy sok kiegészítő információt használnának.

A modern kamera egy lyukas kamera analógja

Beszéljünk a digitális képalkotásról.A modern digitális fényképezőgépeket úgy alakították ki, mint egy lyukú fényképezőgépet. Csak egy lyuk helyett, amelyen keresztül egy fénysugár behatol és egy tárgy körvonalát vetíti a kamera hátsó falára, van egy speciális optikai rendszerünk, amelyet lencsének hívunk. Feladata egy nagy fénysugár összegyűjtése és átalakítása oly módon, hogy az összes sugár egy virtuális ponton áthaladjon, hogy vetületet kapjon és képet alkosson egy filmen vagy mátrixon.

számítógépes látás

Modern digitális kamerák (mátrix)egyes elemekből - pixelekből áll. Minden pixel lehetővé teszi, hogy megmérje a fény energiáját, amely összesen erre a képpontra esik, és egy számot adjon ki a kimeneten. Ezért digitális fényképezőgépben kép helyett kapunk egy külön pixelbe esett fényerő fénymérési készletét - a számítógép látóterét. Ezért a kép nagyításakor nem sima vonalakat és tiszta körvonalakat látunk, hanem különböző tónusokban - pixelekben - festett négyzetrácsot.

Az alábbiakban a világ első digitális képe látható.

számítógépes látás

De mi hiányzik ebből a képből? Szín. Mi a szín?

A szín pszichológiai érzékelése

A szín az, amit látunk.Egy tárgy színe, ugyanaz a tárgy egy személy és egy macska számára más lesz. Mivel nekünk (embereknek) és állatoknak más az optikai rendszere - a látás. Ezért a szín látásunk pszichológiai tulajdonsága, amely a tárgyak és a fény megfigyelésekor jelentkezik. Nem egy tárgy és a fény fizikai tulajdonsága. A szín a fény összetevőinek, a jelenetnek és a vizuális rendszerünk kölcsönhatásának eredménye.

számítógépes látástechnika

Számítógépes látás programozás Python könyvtárakkal

Ha úgy dönt, hogy komolyan tanulszámítógépes látás, érdemes azonnal felkészülni számos nehézségre, ez a tudomány nem a legkönnyebb és számos buktatót rejt. De Jan Erik Solem számítógépes látás programozása Pythonban egy olyan könyv, amely mindent a lehető legegyszerűbben fogalmaz meg. Itt megismerkedhet a különböző tárgyak 3D-ben történő felismerésének módszereivel, megtanulhatja, hogyan kell működni a sztereó képekkel, a virtuális valósággal és sok más számítógépes látásalkalmazással. A könyvben van elég példa a Pythonban. De a magyarázatokat úgymond általánosítva mutatják be, nehogy túlterheljék a túl tudományos és nehéz információkat. A mű alkalmas diákok, csak amatőrök és rajongók számára. A netről letöltheti ezt a könyvet és másokat a számítógépes látásról (pdf-formátum).

Jelenleg nyitott könyvtár működikszámítógépes látási algoritmusok, valamint képfeldolgozó és numerikus algoritmusok OpenCV. A legtöbb modern programozási nyelven valósul meg, és nyílt forráskódú. Ha a számítógépes látásmódról beszélünk, a Python programozási nyelvként történő használatáról, akkor ennek a könyvtárnak a támogatása is van, ráadásul folyamatosan fejlődik és nagy a közösség.

A Microsoft biztosítjaApi szolgáltatások, amelyek ideghálózatokat képezhetnek az arcképekkel való együttműködésre. Lehetőség van számítógépes látás használatára is, a Python programozási nyelvként történő felhasználásával.