Tietokonenäkö (muuten tekninen näkemys ) on teoria ja tekniikka koneiden luomiseksi, jotka voivat havaita, seurata ja luokitella esineitä.
Tieteellisenä tieteenalana tietokonenäkö tarkoittaa teoriaa ja tekniikkaa luoda keinotekoisia järjestelmiä, jotka saavat tietoa kuvista. Videodata voi olla monessa muodossa, kuten videojakso, kuvia eri kameroista tai 3D-dataa, kuten Kinect -laitteesta tai lääketieteellisestä skannerista.
Teknologisena tieteenalana tietokonenäkö pyrkii soveltamaan tietokonenäköteorioita ja -malleja tietokonenäköjärjestelmien rakentamiseen . Esimerkkejä tällaisten järjestelmien käytöstä voivat olla:
Tietokonenäköä voidaan myös kuvata biologisen näön täydennykseksi (mutta ei välttämättä päinvastaiseksi). Biologiassa tutkitaan ihmisten ja erilaisten eläinten visuaalista havaintokykyä, minkä seurauksena luodaan malleja tällaisten järjestelmien toiminnasta fysiologisten prosessien kannalta. Tietokonenäkö puolestaan tutkii ja kuvaa tietokonenäköjärjestelmiä, jotka on toteutettu laitteistolla tai ohjelmistolla. Tieteidenvälinen vaihto biologisen ja tietokonenäön välillä on osoittautunut erittäin tuottavaksi molemmilla tieteenaloilla.
Tietokonenäön alaosat sisältävät toiminnan toiston, tapahtumien havaitsemisen, seurannan, hahmontunnistuksen, kuvan palautuksen ja muutamia muita.
Tietokonenäön alaa voidaan luonnehtia nuoreksi, monipuoliseksi ja dynaamisesti kehittyväksi. Ja vaikka aikaisempiakin teoksia on, voidaan sanoa, että tätä ongelmaa alettiin tutkia intensiivisesti vasta 1970-luvun lopulla, jolloin tietokoneilla pystyttiin ohjaamaan suurten tietokokonaisuuksien, kuten kuvien, käsittelyä. Nämä tutkimukset alkoivat kuitenkin yleensä muilta alueilta, ja siksi tietokonenäköongelmalle ei ole olemassa standardimuotoilua. Lisäksi, mikä vielä tärkeämpää, ei ole olemassa vakiomuotoilua siitä, kuinka tietokonenäköongelma tulisi ratkaista. Sen sijaan erilaisten tarkkaan määriteltyjen tietokonenäköongelmien ratkaisemiseen on monia menetelmiä, joissa menetelmät ovat usein ongelmakohtaisia ja niitä voidaan harvoin yleistää moniin sovelluksiin. Monet menetelmistä ja sovelluksista ovat vielä perustutkimuksessa, mutta yhä enemmän menetelmiä käytetään kaupallisissa tuotteissa, joissa ne ovat usein osa suurempaa järjestelmää, jolla voidaan ratkaista monimutkaisia ongelmia (esim. lääketieteellisessä kuvantamisessa tai mittauksessa ja laadussa). valmistusprosessien valvonta). Useimmissa tietokonenäön käytännön sovelluksissa tietokoneet on esiohjelmoitu suorittamaan tiettyjä tehtäviä, mutta tietoon perustuvat menetelmät yleistyvät.
Tärkeä osa tekoälyn alalla on automaattinen suunnittelu tai päätöksenteko järjestelmissä, jotka pystyvät suorittamaan mekaanisia toimia, kuten liikuttamaan robottia jossain ympäristössä. Tämän tyyppinen käsittely vaatii tyypillisesti syötteen tietokonenäköjärjestelmistä, jotka toimivat videosensorina ja tarjoavat korkeatasoista tietoa ympäristöstä ja robotista. Muita osa-alueita, joita joskus kuvataan tekoälyyn kuuluvaksi ja joita käytetään tietokonenäön yhteydessä, ovat hahmontunnistus ja oppimismenetelmät. Tämän seurauksena tietokonenäkö nähdään joskus osana tekoälyn tai tietojenkäsittelytieteen alaa yleensä.
Toinen tietokonenäköön liittyvä alue on signaalinkäsittely . Monia menetelmiä yksiulotteisten signaalien, yleensä ajallisten signaalien, käsittelemiseksi voidaan luonnollisesti laajentaa käsittelemään kaksi- tai moniulotteisia signaaleja tietokonenäössä. Kuvien omituisen luonteen vuoksi tietokonenäön alalla on kuitenkin kehitetty monia menetelmiä, joilla ei ole analogeja yksiulotteisen signaalinkäsittelyn alalla. Näiden menetelmien erityinen ominaisuus on niiden epälineaarisuus, mikä yhdessä signaalin moniulotteisuuden kanssa tekee vastaavasta alikentästä signaalinkäsittelyssä osana tietokonenäkökenttää.
Lukuun ottamatta mainittuja lähestymistapoja tietokonenäön ongelmaan, monia tutkittavia kysymyksiä voidaan tutkia puhtaasti matemaattisesta näkökulmasta. Esimerkiksi monet menetelmät perustuvat tilastoihin , optimointimenetelmiin tai geometriaan . Lopuksi, paljon työtä tehdään tietokonenäön käytännön sovellusten alalla - kuinka olemassa olevia menetelmiä voidaan toteuttaa ohjelmistoissa ja laitteistoissa tai miten niitä voidaan muokata suuren nopeuden saavuttamiseksi ilman kulutettujen resurssien merkittävää lisäystä.
Tietokonenäkö , kuvankäsittely ja konenäkö ovat läheisesti toisiinsa liittyviä aloja. Mutta vieläkään ei ole tarkasti määritelty, ovatko ne yhden, laajemman osia. Yksityiskohtaisessa analyysissä saattaa vaikuttaa siltä, että nämä ovat vain eri nimiä samalle alueelle. Sekaannusten välttämiseksi on tapana erottaa ne alueiksi, jotka keskittyvät tiettyyn tutkimusaiheeseen. Alla on kuvaus joistakin tärkeimmistä:
Kuvankäsittely eli kuva-analyysi keskittyy pääasiassa työskentelyyn kaksiulotteisten kuvien kanssa eli kuvan muuntamiseen toiseksi. Esimerkiksi pikselikohtaiset kontrastinparannustoiminnot, reunanparannustoiminnot, kohinanpoistotoiminnot tai geometriset muunnokset, kuten affine-muunnokset . Nämä toiminnot olettavat, että kuvankäsittely/analyysi toimii itse kuvien sisällöstä riippumatta.
Tietokonenäkö keskittyy yhteen tai useampaan kuvaan projisoitujen 3D-kohtausten käsittelyyn. Esimerkiksi kolmiulotteisen kohtauksen rakenteen tai muiden tietojen palauttaminen yhdestä tai useammasta kuvasta. Tietokonenäkö riippuu usein enemmän tai vähemmän monimutkaisista oletuksista siitä, mitä kuvissa on esitetty.
Konenäkö keskittyy pääasiassa teollisiin sovelluksiin, kuten autonomisiin robotteihin ja visuaalisiin tarkastus- ja mittausjärjestelmiin. Tämä tarkoittaa, että kuvaanturiteknologiat ja ohjausteoria liittyvät videodatan käsittelyyn robotin ohjaamiseksi, ja reaaliaikainen tietojenkäsittely tapahtuu laitteistossa tai ohjelmistossa.
On myös Visualisointi -niminen kenttä , joka alun perin liitettiin kuvien luomisprosessiin, mutta joskus käsiteltiin käsittelyä ja analysointia. Esimerkiksi radiografia toimii lääketieteellisten sovellusten videotietojen analysoinnin kanssa.
Lopuksi kuviontunnistus on ala, joka käyttää erilaisia menetelmiä tiedon poimimiseen videodatasta, pääasiassa tilastolliseen lähestymistapaan perustuen. Merkittävä osa tästä alueesta on omistettu näiden menetelmien käytännön soveltamiselle.
Yksi tärkeimmistä sovelluksista on kuvankäsittely lääketieteessä. Tälle alueelle on ominaista tietojen saaminen videotiedoista potilaiden lääketieteellistä diagnoosia varten. Useimmissa tapauksissa videotiedot saadaan mikroskopialla , radiografialla , angiografialla , ultraäänellä ja tomografialla . Esimerkki tiedoista, jotka voidaan saada tällaisista videotiedoista, on kasvainten , ateroskleroosin tai muiden pahanlaatuisten muutosten havaitseminen. Toinen esimerkki olisi elinten koon, verenvirtauksen jne. mittaus. Tämä sovellusalue edistää myös lääketieteellistä tutkimusta tuomalla uutta tietoa esimerkiksi aivojen rakenteesta tai lääkehoidon laadusta.
Toinen tietokonenäön sovellusalue on teollisuus. Täältä hankitaan tiedot tuotantoprosessin tukemiseksi. Esimerkkinä voisi olla laadunvalvonta, jossa osat tai lopputuote tarkistetaan automaattisesti vikojen varalta. Toinen esimerkki on robottikäden nostamien osien sijainnin ja suunnan mittaus.
Sotilaalliset sovellukset ovat ehkä suurin tietokonenäön alue. Selkeitä esimerkkejä ovat vihollissotilaiden ja - ajoneuvojen havaitseminen sekä ohjusten hallinta . Edistyksellisimmät ohjusohjausjärjestelmät lähettävät ohjuksen tietylle alueelle tietyn kohteen sijasta ja kohteen valinta tehdään, kun ohjus saavuttaa tietyn alueen vastaanotetun videodatan perusteella. Moderni sotilaallinen käsite, kuten "taistelutietoisuus", tarkoittaa, että erilaiset anturit, mukaan lukien kuva-anturit, tarjoavat suuren joukon tietoa taistelukentästä, jota voidaan käyttää strategisten päätösten tekemiseen. Tässä tapauksessa automaattista tietojenkäsittelyä käytetään vastaanotetun tiedon monimutkaisuuden vähentämiseksi tai luotettavuuden lisäämiseksi.
Yksi uusista sovellusalueista on autonomiset ajoneuvot, mukaan lukien vedenalaiset, maaperät (robotit, autot), ilma. Autonomian taso vaihtelee täysin autonomisista (miehittämättömistä) ajoneuvoista ajoneuvoihin, joissa tietokonenäköpohjaiset järjestelmät tukevat kuljettajaa tai ohjaajaa erilaisissa tilanteissa. Täysin itseohjautuvat ajoneuvot käyttävät tietokonenäköä navigointiin eli tiedon hankkimiseen sijainnistaan, ympäristökartan luomiseen, esteiden havaitsemiseen. Niitä voidaan käyttää myös erityistehtäviin, kuten metsäpalojen havaitsemiseen. Esimerkkejä tällaisista järjestelmistä ovat ajoneuvojen estevaroitusjärjestelmät ja lentokoneiden autonomiset laskujärjestelmät. Jotkut autonvalmistajat ovat esitellyt autonomisia ajojärjestelmiä, mutta tämä tekniikka ei ole vielä saavuttanut pisteitä, joissa sitä voidaan valmistaa massatuotantona.
Muita sovelluksia ovat:
Jokainen edellä kuvatuista tietokonenäön sovellusalueista liittyy useisiin tehtäviin; enemmän tai vähemmän tarkasti määritellyt mittaus- tai käsittelyongelmat voidaan ratkaista useilla eri menetelmillä. Alla on esimerkkejä tyypillisistä tietokonenäkötehtävistä.
Klassinen tietokonenäön, kuvankäsittelyn ja konenäön tehtävä on määrittää, sisältääkö videodata jotain ominaista esinettä, ominaisuutta tai toimintaa. Tämä tehtävä voidaan ratkaista luotettavasti ja helposti ihmisen toimesta, mutta sitä ei ole vielä ratkaistu tyydyttävästi tietokonenäössä yleisessä tapauksessa: satunnaiset esineet satunnaisissa tilanteissa.
Nykyiset menetelmät tämän ongelman ratkaisemiseksi ovat tehokkaita vain tietyille kohteille, kuten yksinkertaisille geometrisille esineille (esim. polyhedra), ihmiskasvoille, painetuille tai käsinkirjoitetuille hahmoille, autoille ja vain tietyissä olosuhteissa, yleensä tietyssä valaistuksessa, taustassa ja sijainnissa. kohde suhteessa kameraan.
Kirjallisuudessa on kuvattu erilaisia tunnistusongelmia:
Tunnustukseen perustuvia erikoistehtäviä on useita, mm.
Useita liikkeen arviointitehtäviä, joissa kuvasarjaa (videodataa) käsitellään kuvan tai 3D-kohtauksen kunkin pisteen nopeuden arvioimiseksi. Esimerkkejä tällaisista tehtävistä ovat:
Annetaan kaksi tai useampia kuvia kohtauksesta tai videodataa. Näytelmän restauroinnin tehtävänä on luoda uudelleen kolmiulotteinen malli näkymästä. Yksinkertaisimmassa tapauksessa malli voi olla joukko pisteitä kolmiulotteisessa avaruudessa. Kehittyneemmät menetelmät toistavat täydellisen 3D-mallin.
Kuvanpalautuksen tehtävänä on poistaa kohinaa (anturin kohinaa, liikeepäterävyyttä jne.). Yksinkertaisin tapa ratkaista tämä ongelma on erityyppiset suodattimet, kuten alipäästö- tai keskipäästösuodattimet. Monimutkaisemmissa menetelmissä käytetään esityksiä siitä, miltä kuvan tiettyjen osien pitäisi näyttää, ja tämän perusteella muutetaan niitä.
Korkeampi kohinanpoistotaso saavutetaan analysoimalla ensin videodata erilaisten rakenteiden, kuten viivojen tai reunojen, esiintymisen varalta ja sitten hallitsemalla suodatusprosessia näiden tietojen perusteella.
Tietokonenäköjärjestelmien toteutus riippuu suuresti niiden sovelluksesta, laitteistoalustasta ja suorituskykyvaatimuksista. Jotkut järjestelmät ovat itsenäisiä ja ratkaisevat erityisiä havaitsemis- ja mittausongelmia, kun taas toiset järjestelmät ovat suurempien järjestelmien alijärjestelmiä, jotka saattavat sisältää jo alijärjestelmiä mekaanisten manipulaattoreiden (robottien), tietokanta (samankaltaisten kuvien etsiminen), ihmisen ja koneen rajapintoja (tietokonepelit) ohjaamiseen. , jne. On kuitenkin toimintoja, jotka ovat yhteisiä monille tietokonenäköjärjestelmille.