Ohjelmointi

Mikä on tietokoneen visio? AI kuville ja videoille

Tietokonenäkö tunnistaa ja usein etsii esineitä digitaalisista kuvista ja videoista. Koska elävät organismit käsittelevät kuvia visuaalisen aivokuorensa kanssa, monet tutkijat ovat ottaneet nisäkkään visuaalisen aivokuoren arkkitehtuurin malliksi hermoverkoille, jotka on suunniteltu suorittamaan kuvan tunnistaminen. Biologinen tutkimus on peräisin 1950-luvulta.

Tietokonenäön edistyminen viimeisten 20 vuoden aikana on ollut aivan merkittävää. Vaikka jotkut tietokonenäköjärjestelmät eivät ole vielä täydellisiä, ne saavuttavat 99% tarkkuuden ja toiset toimivat kunnollisesti mobiililaitteilla.

Läpimurto hermoverkon näkökentässä oli Yann LeCunin vuoden 1998 LeNet-5, seitsemän tason konvoluutioinen hermoverkko 32x32 pikselin kuvissa digitoitujen käsinkirjoitettujen numeroiden tunnistamiseksi. Suuremman resoluution kuvien analysoimiseksi LeNet-5-verkko olisi laajennettava useampiin hermosoluihin ja useampaan kerrokseen.

Tämän päivän parhaat kuvaluokitusmallit voivat tunnistaa erilaiset luettelot objekteista HD-tarkkuudella ja väreillä. Puhtaiden syvän hermoverkkojen (DNN) lisäksi ihmiset käyttävät joskus hybridinäkömalleja, joissa syvä oppiminen yhdistetään klassisiin koneoppimisalgoritmeihin, jotka suorittavat tiettyjä alitehtäviä.

Muut näköongelmat peruskuvan luokittelun lisäksi on ratkaistu syvällisen oppimisen avulla, mukaan lukien kuvan luokittelu lokalisoinnilla, esineiden havaitseminen, esineiden segmentointi, kuvan tyylin siirto, kuvan väritys, kuvan rekonstruointi, kuvan superresoluutio ja kuvan synteesi.

Kuinka tietokonenäkö toimii?

Tietokonenäköalgoritmit tukeutuvat yleensä konvoluutio-hermoverkkoihin tai CNN: iin. CNN: t käyttävät tyypillisesti konvoluutio-, poolointi-, ReLU-, täysin kytkettyjä ja häviökerroksia visuaalisen aivokuoren simulointiin.

Konvoluutiokerros ottaa periaatteessa monien pienten päällekkäisten alueiden integraalit. Poolikerros suorittaa muodon epälineaarisen alinäytteenoton. ReLU-kerrokset käyttävät ei-kyllästävää aktivointitoimintoa f (x) = max (0, x).

Täysin yhdistetyssä kerroksessa neuroneilla on yhteydet kaikkiin edellisen kerroksen aktivointeihin. Häviökerros laskee kuinka verkkokoulutus rankaisee ennustettujen ja todellisten tunnisteiden välistä poikkeamaa käyttämällä luokitusta varten Softmax- tai cross-entropia -häviötä.

Tietokonenäköharjoitteluaineistot

On monia julkisia kuvajoukkoja, jotka ovat hyödyllisiä visio mallien kouluttamiseen. Yksinkertaisin ja yksi vanhimmista on MNIST, joka sisältää 70 000 käsinkirjoitettua numeroa 10 luokassa, 60K koulutukseen ja 10K testaukseen. MNIST on helppo mallinnettava tietojoukko, jopa käyttämällä kannettavaa tietokonetta, jossa ei ole kiihdytyslaitteistoa. CIFAR-10 ja Fashion-MNIST ovat samanlaisia ​​10-luokan aineistoja. SVHN (katunäkymän talonumero) on joukko 600 000 kuvaa todellisista talonumeroista, jotka on otettu Google Street View'sta.

COCO on laajempi aineisto objektien havaitsemiseen, segmentointiin ja tekstityksiin, ja siinä on 330 000 kuvaa 80 objektiluokassa. ImageNet sisältää noin 1,5 miljoonaa kuvaa rajoittavilla laatikoilla ja tarroilla, jotka kuvaavat noin 100 000 WordNetin lausetta. Open Images sisältää noin yhdeksän miljoonaa kuvien URL-osoitetta ja noin 5K-tarrat.

Kaikilla Googlella, Azurella ja AWS: llä on omat näkemismallinsa, jotka on koulutettu erittäin suuria kuvatietokantoja varten. Voit käyttää näitä sellaisenaan tai suorittaa siirto-oppimisen sovittamaan nämä mallit omiin kuvainneihin. Voit suorittaa siirto-oppimisen myös käyttämällä malleja, jotka perustuvat ImageNetiin ja Open Imagesiin. Siirto-oppimisen edut mallin rakentamiseen tyhjästä verrattuna ovat, että se on paljon nopeampi (tunteja eikä viikkoja) ja että se antaa sinulle tarkemman mallin. Tarvitset silti 1 000 kuvaa tarraa kohti parhaan tuloksen saavuttamiseksi, vaikka joskus pääsetkin vain 10 kuvasta etikettiä kohden.

Tietokonenäköohjelmat

Vaikka tietokonenäkö ei ole täydellinen, se on usein tarpeeksi hyvä ollakseen käytännöllinen. Hyvä esimerkki on visio itse ajavista autoista.

Waymo, entinen Googlen itseajoava autoprojekti, väittää suorittaneensa testejä seitsemän miljoonan mailin yleisillä teillä ja kyvyn liikkua turvallisesti päivittäisessä liikenteessä. Waymo-pakettiautoon liittyy ainakin yksi onnettomuus; ohjelmiston ei uskottu olevan vika poliisin mukaan.

Teslalla on kolme itse ajavien autojen mallia. Vuonna 2018 Tesla-maastoauto itseajoisessa tilassa sattui kuolemaan johtaneeseen onnettomuuteen. Onnettomuusraportin mukaan kuljettaja (joka tapettiin) sai kätensä irti ohjauspyörästä huolimatta monista konsolin varoituksista, eikä kuljettaja eikä ohjelmisto yrittäneet jarruttaa välttääkseen osumasta betoniseinään. Ohjelmisto on sittemmin päivitetty vaatimaan pikemminkin kuin ehdottamaan, että kuljettajan kädet ovat ohjauspyörällä.

Amazon Go -kaupat ovat kassattomia itsepalvelumyymälöitä, joissa kaupan tietokonenäköjärjestelmä havaitsee, kun ostajat noutavat tai palauttavat varastotuotteita. ostajat tunnistetaan ja veloitetaan Android- tai iPhone-sovelluksen kautta. Kun Amazon Go -ohjelmisto kaipaa tavaraa, asiakas voi pitää sen ilmaiseksi; kun ohjelmisto rekisteröi väärin otetun tuotteen, asiakas voi merkitä tuotteen ja saada hyvityksen kyseisestä maksusta.

Terveydenhuollossa on näkösovelluksia tiettyjen ominaisuuksien luokittelemiseksi patologialasille, rintakehän röntgensäteisiin ja muihin lääketieteellisiin kuvantamisjärjestelmiin. Muutamat näistä ovat osoittaneet arvoa ammattitaitoisiin ihmisiin verrattuna, jotkut riittävät viranomaisen hyväksyntään. Siellä on myös reaaliaikainen järjestelmä potilaan verenhukan arvioimiseksi leikkaus- tai synnytyshuoneessa.

On hyödyllisiä visiosovelluksia maataloudelle (maatalousrobotit, sadon ja maaperän seuranta sekä ennakoiva analytiikka), pankkitoiminnalle (petosten havaitseminen, asiakirjojen todennus ja etätalletukset) ja teollisuuden seurannalle (kaivojen kaivot, työmaan turvallisuus ja työt).

On myös tietokonenäön sovelluksia, jotka ovat kiistanalaisia ​​tai jopa vanhentuneita. Yksi on kasvojentunnistus, joka hallituksessa käytettynä voi olla yksityisyyden loukkaus ja jolla on usein harjoittelua, joka pyrkii tunnistamaan väärät kasvot väärin. Toinen on syväfake-sukupolvi, joka on enemmän kuin vähän kammottavaa käytettäessä pornografiaan tai huijausten ja muiden petollisten kuvien luomiseen.

Tietokonenäkökehykset ja -mallit

Suurimmalla osalla syvällisistä oppimiskehyksistä on merkittävä tuki tietokonenäkölle, mukaan lukien Python-pohjaiset kehykset TensorFlow (johtava valinta tuotantoon), PyTorch (johtava valinta akateemiselle tutkimukselle) ja MXNet (Amazonin valitsema kehys). OpenCV on erikoistunut tietokonenäkökirjasto, joka nojautuu kohti reaaliaikaisia ​​visiosovelluksia ja hyödyntää MMX- ja SSE-ohjeita, kun ne ovat käytettävissä; se tukee myös kiihdytystä CUDA: n, OpenCL: n, OpenGL: n ja Vulkanin avulla.

Amazon Rekognition on kuva- ja videoanalyysipalvelu, joka tunnistaa esineet, ihmiset, tekstin, kohtaukset ja toiminnot, mukaan lukien kasvojen analyysit ja mukautetut tarrat. Google Cloud Vision -sovellusliittymä on esivalmisteltu kuva-analyysipalvelu, joka tunnistaa objektit ja kasvot, lukee tulostettua ja käsinkirjoitettua tekstiä ja rakentaa metatietoja kuvaluetteloon. Google AutoML Visionin avulla voit kouluttaa mukautettuja kuvamalleja. Sekä Amazon Rekognition Custom Labels että Google AutoML Vision suorittavat siirto-oppimisen.

Microsoft Computer Vision -sovellusliittymä pystyy tunnistamaan objektit 10000 luettelosta, joissa on tarroja 25 kielellä. Se palauttaa myös tunnistettujen objektien rajoittavat ruudut. Azure Face -sovellusliittymä tekee kasvojentunnistuksen, joka havaitsee kasvot ja attribuutit kuvassa, henkilötiedot, jotka sopivat jopa miljoonan ihmisen yksityisen tietovarastosi yksilöön, ja havaitun tunteiden tunnistamisen. Face API voi toimia pilvessä tai reunalla säiliöissä.

IBM Watson Visual Recognition -ohjelma voi luokitella kuvat ennalta koulutetusta mallista, antaa sinun kouluttaa mukautettuja kuvamalleja siirto-oppimisen avulla, suorittaa kohteen havaitseminen objektilaskennalla ja kouluttaa visuaalista tarkastusta varten. Watsonin visuaalinen tunnistus voi toimia pilvessä tai iOS-laitteissa, joissa on Core ML.

Tietojen analysointipaketti Matlab voi suorittaa kuvan tunnistamisen koneoppimisen ja syvällisen oppimisen avulla. Siinä on valinnainen Computer Vision Toolbox ja se voidaan integroida OpenCV: n kanssa.

Tietokonenäkömallit ovat edenneet pitkälle LeNet-5: n jälkeen, ja ne ovat enimmäkseen CNN: itä. Esimerkkejä ovat AlexNet (2012), VGG16 / OxfordNet (2014), GoogLeNet / InceptionV1 (2014), Resnet50 (2015), InceptionV3 (2016) ja MobileNet (2017-2018). MobileNet-näköhermoverkkojen perhe on suunniteltu mobiililaitteita ajatellen.

[Myös: Kaggle: Missä datatutkijat oppivat ja kilpailevat]

Apple Vision -kehys suorittaa kasvojen ja kasvojen maamerkkien tunnistamisen, tekstin tunnistamisen, viivakoodien tunnistamisen, kuvien rekisteröinnin ja yleisten ominaisuuksien seurannan. Vision sallii myös mukautettujen Core ML -mallien käytön tehtäviin, kuten luokitteluun tai kohteiden havaitsemiseen. Se toimii iOS: llä ja macOS: lla. Google ML Kit SDK: lla on samanlaiset ominaisuudet, ja se toimii Android- ja iOS-laitteilla. ML Kit tukee lisäksi luonnollisen kielen sovellusliittymiä.

Kuten olemme nähneet, tietokonenäköjärjestelmistä on tullut tarpeeksi hyviä ollakseen hyödyllisiä ja joissakin tapauksissa tarkempia kuin ihmisen näkemys. Siirto-oppimisen avulla näkömallien räätälöinnistä on tullut käytännöllistä pelkästään kuolevaisille: tietokonenäkö ei ole enää tohtoritason tutkijoiden yksinomainen alue.

Lue lisää koneoppimisesta ja syvällisestä oppimisesta:

  • Syvä oppiminen vs. koneoppiminen: Ymmärrä erot
  • Mitä koneoppiminen on? Tiedoista johdettu älykkyys
  • Mitä syvä oppiminen on? Algoritmit, jotka jäljittelevät ihmisen aivoja
  • Koneoppimisalgoritmit selitetty
  • Mikä on luonnollinen kielenkäsittely? AI puhetta ja tekstiä varten
  • Automaattinen koneoppiminen tai AutoML selitetty
  • Ohjattu oppiminen selitetty
  • Puoliohjattu oppiminen selitetty
  • Valvomaton oppiminen on selitetty
  • Vahvistusoppiminen selitetty
  • Kaggle: Missä datatutkijat oppivat ja kilpailevat
  • Mikä on CUDA? Rinnakkaisprosessointi näytönohjaimille

Lue koneoppiminen ja syvälliset oppimisarvostelut:

  • Kuinka valita pilvikoneoppimisalusta
  • Deeplearning4j: Syvä oppiminen ja ETL JVM: lle
  • Katsaus: Amazon SageMaker pelaa kiinniottoa
  • TensorFlow 2 -katsaus: Helpompi koneoppiminen
  • Katsaus: Google Cloud AutoML on todella automatisoitu koneoppiminen
  • Katsaus: MXNet-syvä oppiminen loistaa Gluonilla
  • PyTorch-katsaus: Nopeasti rakennettu syvä oppimisjärjestelmä
  • Katsaus: Keras purjehtii syvällisen oppimisen kautta
$config[zx-auto] not found$config[zx-overlay] not found