Miten konenäkö edistää automaatiota tänä päivänä

Kirjoittaja Jody Muelaner

Konenäkö on kokoelma tekniikoita, joka antaa automatisoiduille laitteille (teollisuudessa tai muilla aloilla) korkean tason ymmärryksen niiden välittömästä ympäristöstä kuvien perusteella. Ilman konenäköohjelmistoa digitaaliset kuvat olisivat näille laitteille vain pelkkiä toisiinsa liittymättömien kuvapisteiden kokoelmia, joissa on erilaisia väriarvoja ja sävyjä. Konenäön ansiosta tietokoneet (jotka on yleensä liitetty koneen ohjaukseen) havaitsevat tällaisissa kuvissa reunoja ja muotoja, minkä ansiosta korkeamman tason käsittelyrutiinit kykenevät vuorostaan tunnistamaan ennalta määriteltyjä esineitä. Kuvat eivät välttämättä tässä yhteydessä rajoitu näkyvillä aallonpituuksilla kuvattuihin kuviin. Ne voivat sisältää myös infrapuna-, laser-, röntgen- ja ultraääniaallonpituuksilla kuvattuja kuvia.

Kuva konenäön käytöstä kehittyneemmissä robottisovelluksissaKuva 1: Konenäön käyttö kehittyneempiä robottisovelluksia varten on lisääntymässä. (Kuvan lähde: John6863373 |Dreamstime.com)

Eräs melko yleinen konenäkösovellus teollisuudessa on tietyn osan tunnistaminen astiasta, joka sisältää satunnaisessa järjestyksessä (sekaisin) olevia erilaisia osia. Konenäkö voi auttaa tässä poimintarobotteja poimimaan oikean osan automaattisesti. Tällaisten osien tunnistaminen kuvantamispalautteen avulla olisi tietenkin suhteellisen yksinkertaista, jos ne kaikki asetettaisiin tarjottimelle huolellisesti järjestykseen ja samansuuntaisesti. Robustit konenäköalgoritmit voivat kuitenkin tunnistaa esineitä, jotka ovat eri etäisyyksillä kamerasta (jolloin ne näyttävät kameran kennolle erikokoisilta) sekä eri asennoissa.

Edistyneimmät konenäköjärjestelmät ovat mahdollistaneet uusia ja kehittyviä ratkaisuja, jotka ovat paljon sofistikoituneempia kuin esineiden poiminta astiasta. Itseajavat autot ovat ehkäpä tunnetuin esimerkki tästä.

Kuva: konenäkö tarjoaa järjestelmille korkean tason ymmärryksen ympäristöstäänKuva 2: Konenäkö tarjoaa järjestelmille (teollisuudessa ja muilla aloilla) korkean tason ymmärryksen ympäristöstään kuvien perusteella. (Kuvan lähde: Wikimedia)

Konenäköön liittyviä teknologioita

Termi konenäkö on toisinaan varattu viittaamaan vakiintuneempiin ja tehokkaampiin matemaattisiin menetelmiin, joilla kuvista poimitaan tietoja. Sen sijaan termi tietokonenäkö kuvaa tyypillisesti nykyaikaisempia ja laskennallisesti vaativia järjestelmiä, mukaan lukien koneoppimista tai tekoälyä (AI) käyttävät ”black-box”-lähestymistavat. Konenäkö voi kuitenkin toimia myös kattoterminä, joka kattaa kaikki korkean tason menetelmät, joilla tietoja poimitaan kuvista. Tässä asiayhteydessä tietokonenäöllä tarkoitetaan sen taustalla olevia perusteorioita.

Teknologioita, joilla kuvista poimitaan korkean tason merkitystä, on runsaasti. Tutkimusyhteisössä tällaisia teknologioita pidetään usein konenäöstä erillisinä. Käytännössä ne kaikki ovat kuitenkin erilaisia tapoja toteuttaa konenäkö, ja monissa tapauksissa niissä on päällekkäisyyksiä.

Digitaalinen kuvankäsittely on digitaalisen signaalinkäsittelyn muoto, johon liittyy kuvanparannusta, restaurointia, koodausta ja pakkausta. Analogiseen kuvankäsittelyyn verrattuna sen etuja ovat minimoitu kohina ja vääristymät sekä se, että käytettävissä on paljon enemmän algoritmeja. Eräs varhainen kuvanparannuksen käyttökohde oli ensimmäisten lähietäisyydeltä kuunpinnasta otettujen kuvien korjaus. Tässä käytettiin fotogrammetrista kuvausta sekä kohinasuodattimia ja kameran suuntauksen aiheuttamien geometristen vääristymien korjauksia.

Kuvassa Texas Instrumentsin DLPC350-mikropiiriohjain (IC)Kuva 3: DLPC350-mikropiiriohjain (IC) tarjoaa tulon ja lähdön liipaisusignaalit näytettyjen kuvioiden synkronointiin kameran kanssa. Se toimii digitaalisten mikropeililaitteiden (DMD) kanssa, jotka on suunniteltu tarjoamaan 3D-konenäkö teollisuus-, lääkintä- ja turvallisuuslaitteille. Sovelluksiin kuuluu itse asiassa 3D-skannaus sekä metrologiajärjestelmiä. (Kuvan lähde: Texas Instruments)

Digitaalinen kuvanparannus lisää usein kontrastia ja mahdollisesti myös tekee geometrisia korjauksia katselukulman ja linssin aiheuttamien vääristymien korjaamiseksi. Kompressio tehdään yleensä approksimoimalla monimutkainen signaali yhdistelmäksi kosinifunktioita. Tämä menetelmä on tyypiltään Fourier-muunnos ja se tunnetaan nimellä diskreetti kosinimuunnos eli DCT. JPEG-tiedostomuoto on suosituin DCT-sovellus. Myös kuvien restauroinnissa voidaan käyttää Fourier-muunnoksia kohinan poistamiseksi ja kuvien terävöittämiseksi.

Fotogrammetria käyttää jonkin tyyppistä piirteiden tunnistusta mittojen saamiseksi kuvista. Nämä mitat voivat sisältää 3D-tietoja, kun samasta näkymästä on otettu useita kuvia eri kuvakulmista. Yksinkertaisimmat fotogrammetriajärjestelmät mittaavat kuvasta kahden pisteen välisen etäisyyden asteikon avulla. Tähän tarkoitukseen tarvitaan yleensä tunnetun referenssimitan lisääminen kuvaan.

Piirteiden tunnistuksen avulla tietokoneet voivat tunnistaa kuvassa olevia reunoja, kulmia tai pisteitä. Tämä on myös ensimmäinen vaatimus fotogrammetriaa samoin kuin esineiden ja liikkeen tunnistusta varten. Blob-tunnistus voi tunnistaa alueita, joiden reunat ovat liian pehmeitä reunan tai nurkan tunnistukseen.

Hahmontunnistusta käytetään tiettyjen esineiden tunnistamiseen. Yksinkertaisimmillaan tämä voisi tarkoittaa tietyn hyvin määritellyn mekaanisen osan tunnistamista kuljettimella.

3D-rekonstruktio määrittää esineiden 3D-muodon 2D-kuvista. Tämä voidaan saavuttaa fotogrammetrisilla menetelmillä, joissa yhteisten piirteiden korkeus (tunnistetaan eri havaintopisteistä otetuista kuvista) määritetään triangulaation avulla. 3D-rekonstruktio on myös mahdollista käyttämällä vain yhtä 2D-kuvaa. Tässä ohjelmisto tulkitsee (muun muassa) reunojen tai varjostusalueiden geometrisia suhteita.

Kuva: 3D-skannerit ottavat 2D-kuvia esineestäKuva 4: 3D-skannerit ottavat 2D-kuvia esineestä luodakseen siitä 3D-mallin. Joissakin tapauksissa digitaalisia malleja käytetään sitten 3D-tulostettujen kopioiden valmistamiseen. (Kuvan lähde: Shenzhen Creality 3D Technology Co.)

Ihminen voi mielessään helposti rekonstruoida kuution yksinkertaisesta viivapiirroksesta ja pallon varjostetusta ympyrästä. Varjostus ilmaisee pintojen kaltevuuden. Tällainen päättelyprosessi on kuitenkin monimutkaisempi kuin miltä se vaikuttaa, sillä varjostus on yksiulotteinen parametri, kun kaltevuus taas vaatii kaksi ulottuvuutta. Tämä voi johtaa monitulkintaisiin kuviin, mikä käy hyvin esille fyysisesti mahdottomia esineitä kuvaavassa taiteessa.

Kuva: tietokone on päätellyt työkappaleen 2D-kuvasta sen 3D-muodonKuva 5: Työkappaleen 3D-muodon päättely 2D-kuvasta on erittäin haastavaa tietokoneelle.

Konenäkötehtävien järjestys

Monet konenäköjärjestelmät yhdistävät yllä mainitut tekniikat asteittain aloittamalla alhaisen tason toiminnoista ja etenemällä sitten askel askeleelta korkeamman tason toimintoihin. Alimmalla tasolla kaikkia kuvan pikseleitä pidetään korkean kaistanleveyden tietona. Tämän jälkeen kukin sarjan toiminto tunnistaa kuvasta piirteitä ja esittää mielenkiinnon kohteita käyttäen suhteellisen pieniä määriä dataa.

Matalan tason kuvanparannus- ja restaurointitoiminnot suoritetaan ensin, minkä jälkeen on vuorossa piirteiden tunnistus. Jos käytössä on useita kamerakennoja, matalan tason toimintoja voidaan siksi suorittaa hajautetuilla prosesseilla, jotka on varattu yksittäisille kamerakennoille. Kun yksittäisten kuvien piirteet on havaittu, voidaan suorittaa korkeamman tason fotogrammetriamittauksia sekä esineiden tunnistamista tai muita tehtäviä, jotka perustuvat useista kuvista ja kamerakennoista yhdistettyihin tietoihin.

Suorat laskennat ja oppimisalgoritmit

Konenäön kontekstissa suora laskenta on joukko matemaattisia funktioita, jotka ihminen on manuaalisesti ohjelmoinut. Nämä hyväksyvät kuvapistearvojen kaltaisia syötteitä ja tuottavat esineen reunojen koordinaattien kaltaisia tuloksia. Sen sijaan oppimisalgoritmit eivät ole suoraan ihmisten kirjoittamia, vaan ne koulutetaan esimerkkitietojoukoilla yhdistäen syötteet haluttuihin tuloksiin. Siksi ne toimivat ”mustina laatikoina”. Suurimmassa osassa tällaista koneoppimista käytetään nyt keinotekoisiin neuroverkkoihin perustuvaa syväoppimista laskelmien tekemiseen.

Kuva: Banner Engineering ‑yrityksen iVu-sarjan kuvantamisantureitaKuva 6: iVu-sarjan kuvantamisanturit kykenevät tunnistamaan työkappaleet tyypin, koon, sijainnin, asennon ja värityksen mukaan. Konenäkökomponenttien määrityksiä voidaan muuttaa ja niitä voidaan valvoa integroidulla näytöllä, etäkäyttöliittymällä tai PC-tietokoneella. Kamera, ohjain, linssi ja valonlähde sisältyvät anturiin. (Kuvan lähde: Banner Engineering Corp.)

Yksinkertainen koneoppiminen teollisuussovelluksissa on usein luotettavampaa ja vähemmän laskentaa vaativaa, jos se perustuu suoraan laskentaan. Sille, mitä suoralla laskennalla voidaan saavuttaa, on tietenkin rajansa. Se ei esimerkiksi voisi milloinkaan saavuttaa sellaista edistynyttä hahmontunnistusta, jota vaaditaan yksilöiden tunnistamiseen kasvojen perusteella, varsinkaan ruuhkaisesta julkisesta tilasta kuvatusta videokuvasta. Koneoppiminen puolestaan hoitaa tällaiset käyttökohteet näppärästi. Ei siis ihme, että koneoppimista käytetään yhä enemmän alemman tason konenäkötoiminnoissa, mukaan lukien kuvanparannus, restaurointi ja piirteiden tunnistus.

Opetusmenetelmien (ei algoritmien) parantaminen

Syväoppimisteknologian kypsyminen on tehnyt selväksi, että parannusta eivät tarvitse oppimisalgoritmit vaan se, miten niitä koulutetaan. Erästä tällaista paranneltua koulutusrutiinia kutsutaan datakeskeiseksi tietokonenäöksi (data-centric computer vision). Siinä syväoppimisjärjestelmä ottaa vastaan erittäin suuria koulutusjoukkoja, jotka koostuvat tuhansista, miljoonista tai jopa miljardeista kuvista, ja tallentaa sitten tuloksena saatavat tiedot, jotka sen algoritmit poimivat kustakin kuvasta. Algoritmit oppivat tehokkaasti harjoittelemalla valmisteltujen esimerkkien avulla ja tarkistamalla sitten ”vastauskirjasta”, saivatko ne vastaukseksi oikeat arvot.

Vanha tarina digitaalisen hahmontunnistuksen alkuajoilta toimii varoittavana esimerkkinä. Yhdysvaltain armeijan tarkoituksena oli käyttää konenäköä maalien havaitsemiseen, ja asevalmistajan esittelyissä Yhdysvalloissa ja Venäjällä valmistetut panssarivaunut tunnistettiin luotettavasti. Kaikki erilaiset panssarivaunut erotettiin oikein toimittajan ilmakuvista yksi toisensa jälkeen. Mutta kun järjestelmää testattiin uudelleen käyttäen Pentagonin omaa kuvakirjastoa, se antoi jatkuvasti vääriä vastauksia. Ongelmana oli, että asevalmistajan kuvissa yhdysvaltalaiset panssarivaunut olivat aavikoilla ja venäläiset panssarivaunut vihreillä pelloilla. Sen sijaan, että järjestelmä olisi tunnistanut erilaisia panssarivaunuja, se tunnisti eriväriset taustat. Mikä on tarinan opetus? Oppimisalgoritmeille pitää esittää huolellisesti valikoitua koulutusdataa, jotta niistä olisi hyötyä.

Lopuksi: visio robotin työsolun turvallisuudesta

Konenäkö ei ole enää erikoisala. Sen käyttöönotto on kasvamassa nopeimmin teollisuussovelluksissa. Niissä merkittävin edistysaskel on se, miten konenäkö täydentää nyt teollisuuslaitosten turvajärjestelmiä, jotka antavat hälytyksen tai kuulutuksen henkilöstön saapuessa työalueelle ilman kypärää, maskia tai muuta vaadittua suojavarustusta. Konenäkö voi myös täydentää järjestelmiä, jotka ilmoittavat, kun trukkien kaltaiset liikkuvat koneet tulevat liian lähelle ihmisiä.

Nämä ja vastaavat konenäköjärjestelmät voivat toisinaan korvata teollisuuden robotteja ympäröivät turva-aidat, mikä tehostaa toimintaa. Ne voivat myös korvata tai parantaa valokennoihin perustuvia turvajärjestelmiä, jotka vain pysäyttävät koneen, jos tehtaan työntekijä saapuu työsoluun. Kun konenäkö tarkkailee työsolua ympäröivää aluetta, tällaisissa soluissa toimivat robotit voivat hidastaa toimintaansa asteittain ihmisten lähestyessä.

Teollisuustilojen kehittyessä mukautumaan yhteistyötä tekeviin robotteihin ja muihin työsolulaitteisiin, joiden lähellä on turvallista liikkua (jopa laitteiden ollessa toiminnassa), näistä ja muista konenäköön perustuvista järjestelmistä tulee paljon yleisempi osa teollisuuden prosesseja.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Tietoja kirjoittajasta

Image of Dr. Jody Muelaner

Jody Muelaner

Tohtori Jody Muelaner on insinööri, joka on suunnitellut sahalaitoksia ja lääkinnällisiä laitteita, käsitellyt epävarmuustekijöitä ilmailu- ja avaruusalan valmistusjärjestelmissä sekä luonut innovatiivisia laserlaitteita. Hän on julkaissut lukuisissa vertaisarvioiduissa lehdissä ja hallituksen tiivistelmissä ... sekä kirjoittanut teknisiä raportteja Rolls-Roycelle, SAE Internationalille ja Airbusille. Hän johtaa tällä hetkellä sähköpyörän kehitysprojektia, katso lisätietoja projektista osoitteesta betterbicycles.org. Muelaner käsittelee myös hiilidioksidipäästöjen vähentämiseen liittyvissä teknologioissa tapahtuvaa kehitystä.