ELEC-C1310 Automaatio- ja systeemitekniikan laboratoriotyöt Konenäkö robotin ohjauksessa 12.1.2016 Heikki Hyyti Työn assistentti
1 KONENÄKÖJÄRJESTELMIEN SOVELLUSALUEITA...2 2 ROBOTIN OHJAUS...3 3 KONENÄKÖJÄRJESTELMIEN RAKENNE...4 3.1 KUVAN MUODOSTUS...4 3.1.1 Kamerat...4 3.1.2 Optiikka...8 3.2 VALAISTUS...11 3.2.1 Eri valaistusmenetelmiä...11 3.3 KUVANKAAPPAUS...12 3.4 KUVANKÄSITTELY...14 3.5 KEHITTYNEEMPIÄ KONENÄKÖALGORITMEJA...16 3.5.1 SIFT...16 3.5.2 SURF...17 3.6 PÄÄTÖKSENTEKO- JA OHJAUSJÄRJESTELMÄ...17 3.7 SULAUTETUT JÄRJESTELMÄT...17 4 LABORATORIOTYÖ...18 4.1 LAITTEISTO...18 4.1.1 Kamera...18 4.1.2 Kuvankäsittelyohjelma...18 4.1.3 Robotti...18 4.1.4 Ohjausjärjestelmä...19 4.2 KÄYTTÖOHJE...20 4.3 LABORATORIOTYÖ...20 4.3.1 Esiselvitystehtävä...20 4.3.2 Laboratorioharjoitus...20 SANASTOA...21 1
Konenäkö robotin ohjauksessa Jokaisella on varmasti jonkinlainen käsitys konenäöstä tai robottinäöstä. Konenäköjärjestelmiin liittyvät matemaattiset algoritmit ja mallit on tunnettu jo pitkään. Yleensä konenäössä käytettävät algoritmit vaativat paljon laskentaa johtuen kuvassa olevan informaation suuresta määrästä. Konenäköjärjestelmien yleistyminen teollisuudessa alkoi tietotekniikan kehittyessä ja tietokoneiden laskentatehon kasvaessa. Konenäössä tarvittavien tekniikoiden kehittyminen sekä laskentatehon lisääntyminen merkitsevät entistä luotettavampia järjestelmiä, ohjelmistojen parempia ominaisuuksia ja alhaisempia hankintakustannuksia. 1 Konenäköjärjestelmien sovellusalueita Konenäköjärjestelmiä käytetään nykyisin laajasti teollisuuden eri aloilla. Yleisesti konenäköjärjestelmien sovellusalueet löytyvät erilaisten prosessien automatisoinnista. Tällöin konenäköä käytetään ihmisoperaattorin tilalla prosessin vaikeissa, aikaa vievissä, yksitoikkoisissa, vaarallisissa tai suoranaisesti mahdottomissa vaiheissa. Konenäköjärjestelmien eräs laajimmista sovellusalueista on erilaiset lajittelu- ja laadunvalvontatehtävät. Postin materiaalivirtoja hallitaan konenäöllä tutkimalla erilaisten lähetysten pakkausmerkintöjä, joiden perusteella lähetykset ohjataan oikeaan paikkaan. Pakkausprosesseissa pullojen täyttöastetta voidaan tarkkailla konenäköjärjestelmällä. Kierrätettäviä materiaaleja kuten lasia voidaan lajitella oikean värin mukaan tai tunnistaa onko pulloihin jäänyt roskia jotka edellyttävät pesemistä. Paperin valmistuksessa paperikoneen paperirainan laatua voidaan tutkia etsimällä rainasta reikiä konenäön avulla. Tuotteen koordinaatit voidaan määrittää konenäön avulla. Tätä informaatiota käytetään esimerkiksi toimilaitteiden ohjaukseen kappaleen poimimiseksi pakkaamista varten. Kappaleen koordinaatteja ja dimensioita käytetään myös kokoonpanotehtävissä, jossa uusia komponentteja liitetään kappaleeseen näiden tietojen mukaan. Sahoilla tukkien sahaustapaa optimoidaan konenäön avulla. Konenäköä voidaan käyttää myös liikkuvan laitteen, kuten lastausrobotin ohjaamiseen. Tällöin ympäristöstä etsitään konenäön avulla tunnettuja piirteitä, "majakoita" tai seurataan jotain jatkuvaa muotoa kuten määrätyn väristä viivaa. Tällaisessa sovelluksessa konenäön avulla saatava informaatio fuusioidaan yleensä muuhun sensoridataan tarkan ohjauksen mahdollistamiseksi. Prosessiteollisuudessa tuotteen laatua ja valmistumista selvitetään sen ulkoisten näkyvien ominaisuuksien perusteella tai mikroskooppisia kuvia käyttäen. Esimerkiksi kuparin rikastuksessa nesteen pinnalle muodostuvien kuplien kokoa käytetään yhtenä mittarina. Sokerin valmistuksessa sokerin kidekoosta voidaan päätellä haihtuuko ylimääräinen neste oikealla nopeudella. Konenäköjärjestelmiä käytetään nykyisin myös paljon automaattisissa laitteissa, kuten seteli-, polttoaine-, tai pullopalautusautomaateissa. Lisäksi erilaiset valvontajärjestelmät ovat kehittymässä enemmän ja enemmän automaattisiksi. 2
2 Robotin ohjaus Robottien ohjaamisella tarkoitetaan tässä erilaisten teollisuusrobottien ohjausta. Perinteinen tapa ohjata robotteja on opettaa niille joukko toimintapisteitä. Näissä pisteissä suoritetaan erilaisia operaatioita, kuten poimitaan kappaleita tai asetetaan niitä paikalleen. Online-ohjelmoinnissa toimintapisteet opetetaan ohjaamalla robotti manuaalisesti haluttuun paikkaan ja tallentamalla pisteen koordinaatit robotin muistiin. Robotin työkiertoa ohjaava ohjelma voi sitten käyttää näitä pisteitä. Esimerkiksi piirilevyn komponenttien kokoonpanossa robotille on voitu opettaa joukko pisteitä, joihin jokaiseen tuodaan erilaisia piirilevylle asetettavia komponentteja. Jos toimintapisteiden määrä on suuri, voidaan robotin työskentelyä simuloida kolmiulotteisten CAD -mallien avulla. Tällöin työkohteen malliin määritetään robotille opetettavat toimintapisteet ja robotin liikeradat pisteiden välillä. Simuloinnin tuloksena saadaan valmiit toimintapisteet, jotka voidaan liittää suoraan robotin ohjelmaan. Esimerkiksi monimutkaisten pintojen työstämisessä simulointia käytetään paljon. Tätä ohjelmointimenettelyä sanotaan offline-ohjelmoinniksi, koska robotin toimintaa ei tarvitse keskeyttää ohjelmaa muutettaessa. Aikaisemmissa tapauksissa robotti käsittelee siis kappaleita, joiden paikka ja orientaatio pysyvät vakiona. Jos kappaleiden paikka tai orientaatio vaihtelee, ei ennalta muistiin opetettuja pisteitä voida käyttää. Kappale on paikannettava robotin koordinaatistoon ja sen orientaatio on selvitettävä. Tämä voidaan tehdä esimerkiksi käyttäen konenäkösovelluksia. Tässä laboratoriotyössä tehdään konenäköjärjestelmää apuna käyttävä palikoiden paikan ja asennon selvittämiseen sopiva algoritmi, jota voidaan käyttää robotin apuna. 3
3 Konenäköjärjestelmien rakenne Konenäköjärjestelmä voidaan jakaa neljään eri osaan: kuvan muodostukseen, kuvankaappaukseen, kuvankäsittelyyn ja ohjausjärjestelmään. Kuvassa on viidentenä osana esitetty automaatiojärjestelmän muita laitteita ja antureita, jotka liittyvät konenäköjärjestelmään, mutta eivät ole varsinaisesti osa sitä. Kuvan muodostus Kamerat, linssit, valaistus Kuvankaappaus Muuntaa ja tallentaa kuvan digitaaliseen muotoon Kuvankäsittety Ohjelmisto jolla käsitellään tallennettu kuva ja etsitään halutut piirteet ja ominaisuudet kuvasta ohjaukset data Ohjausjärjestelmä Ohjelmisto jolla analysoidaan kuvasta löydetyt piirteet ja ohjataan koko järjestelmää Muut järjestelmään liittyvät laitteet (anturit, toimilaitteet) Kuva 1 Konenäköjärjestelmän osat 3.1 Kuvan muodostus Kuvan muodostuksessa käytetään linssejä, kameraa ja valoherkkää ilmaisinta (image sensor), jonka kaksiulotteiselle pinnalle kolmiulotteisesta kuvauskohteesta heijastuvat tai syntyvät valonsäteet projisoidaan. Valonsäteet kulkevat linssien läpi kuvasensorille. Kuvaushetken valaistus vaikuttaa huomattavasti kuvanmuodostukseen. 3.1.1 Kamerat Useimmat myytävät videokamerat on kehitetty ihmissilmän ehdoilla, jolloin miellyttävä kuva on tärkeä ominaisuus. Ihminen myös näkee vain rajallisen määrän kuvia sekunnissa ja vain tietyillä aallonpituuksilla, joten hyvältä näyttävä kuva ei välttämättä anna parasta mahdollista tietoa kuvattavasta kohteesta konenäkösovelluksen kannalta. Yleisimmät kamerat eivät yleensä sovi sellaisiin konenäkösovelluksiin, jossa kuvaa käytetään tarkkoihin mittauksiin tai kuvattava kohde liikkuu nopeasti. Kameran omaisuuksiin kuuluvat esimerkiksi sen kuvasensorin tyyppi ja koko sekä sen tuottaman videosignaalin tyyppi. 4
Kuva 2 Yksinkertaistettu kuva digitaalisen/analogisen kameran rakenteesta Analoginen kamera (kameran historiaa, lähteenä wikipedia.fi) Kuvasensori Ensimmäisen täysin elektronisen videokameran kehitti ja konstruktoi venäläissyntyinen sähköinsinööri ja keksijä Vladimir Zworykin vuonna 1923. Hänen suunnittelemansa videokamera oli samalla perusta nykyisen elektronisen televisiotekniikan toiminnalle. Zworykinin videokamerassa käytettiin melko erikoisenmuotoista, lasista katodisädeputkea, jonka sisään asennettu valoherkkä kuvaelementti muutti sen pinnalle heijastuneen kuvan elektroniseksi signaaliksi. Samalla Zworykin keksi hajottaa optisen kuvan osiin eli vaakasuuntaisiin kuvajuoviin, jolloin kokonainen kuva voitiin siirtää vain yhtä sähköistä johdintietä vastaanottimeen Zworykinin videokamerassa käytetyn katodisädeputken toiminta on hyvin samanlainen kuin itse TV-vastaanottimen kuvaputki. Putken elektronitykillä synnytetyllä ohuella elektronisuihkulla "piirretään" vaakajuovia valoherkkään elementtiin, joka yhdessä säteen ja siihen kohdistuvan valon kanssa tuottaa säteen kohdalla valonvoimakkuudesta riippuvaisen sähköjännitteen. Elektronisäteen liikettä ohjataan putken ulkopuolella olevilla keloilla, jonka magneettisuus muuttaa säteen kulkusuuntaa. 1980-luvulla kaikissa videokameroissa alkoivat yleistyä puolijohdetekniikalla valmistetut CCD-kennot, joilla vanhanmalliset katodisädeputket voitiin korvata pois käytöstä. Kameraputkiin verrattuna CCD-kennot reagoivat nopeasti liikkeisiin jättämättä kuvaan häntiä. Lisäksi ne ovat käyttövalmiita välittömästi ilman kameraputkien vaatimaa hehkutusaikaa, tarvitsevat toimiakseen huomattavasti vähemmän sähkövirtaa ja pienempää jännitettä sekä pystyvät kuvaamaan huonommassakin valaistuksessa. Melkein kaikissa vanhemmissa videokameroissa käytetään kuvasensorina CCD - kennoja (charge coupled device). Ne ovat suosittuja laajan valoalueen sekä pienen kokonsa ansiosta. CCD -kenno on yksinkertainen laite, jossa jokainen pikseli (kennon fotodiodi) vain reagoi valoon ja tallettaa valon siihen aiheuttaman varauksen. Tämä varaus siirretään piirillä eteenpäin käsittelyä ja lukemista varten, ja mm. AD -muunnos tehdään erillisellä piirillä. Kennon valoherkät fotodiodit 5
eivät näe värejä, vaan ne muodostavat kohteesta säteilyn voimakkuuden pohjalta harmaasävykuvan. Useimmiten kameroiden värit syntyvät valoherkkien diodien päällä olevista värisuotimista sekä algoritmista, joka yhdistää vierekkäisten eriväristen suotimien läpi tullutta signaalia luoden värikuvan. Värisuotimet ovat yleensä punainen, vihreä ja sininen. Joissakin kalliimmissa kameroissa on jokaiselle värille oma kennonsa. Tällöin valo jaetaan kolmeen osaan eri värikennojen välille samalla eri aallonpituuksia suodattaen. Uudempaa teknologiaa edustavat CMOS -kennoihin (complementary metal - oxide semiconductor) perustuvat kamerat. Ne tulivat markkinoille vuonna 1998 CCD -kennojen vaihtoehdoksi, ja CMOS -kennojen käyttö on sen jälkeen pikkuhiljaa lisääntynyt ja syönyt markkinoita CCD -kennoilta sekä markkinoiden ala- että yläpäästä (kännykkäkamerat sekä digitaaliset järjestelmäkamerat). CMOS -kennossa jokaisessa pikselissä tehdään muunnos varauksesta jännitteeksi sekä signaalin vahvistus, jolloin varausta ei tarvitse siirtää kennopiirillä, josta johtuen CMOS -kennoilla päästään yleensä pienempään virrankulutukseen kuin CCD -kennoilla. Lisäksi mm. AD -muunnos tehdään yleensä itse kennopiirillä, jolloin CMOS -kennon kanssa tarvitaan kameraan vähemmän muita piirejä. Matriisi/viivakamera Matriisikamerassa CCD/CMOS -kennon kuvaelementtejä (pixel) on m x n kappaletta matriisissa. Kennoja on erikokoisia, mitä enemmän elementtejä sitä hitaampaa on kuvan käsitteleminen. Suuremmilla kennoilla päästään parempaan tarkkuuteen (resoluutio), sillä kuvaelementtien lisääntyessä voidaan toistaa pienempiä yksityiskohtia. Suuren tietomäärän siirtäminen kuitenkin vie enemmän aikaa ja kuvien määrä sekunnissa (fps) jää pienemmäksi. Viivakameroissa on kuvaelementtejä jonossa (1 x m vektori), toisin kuin matriisikameroissa. Viivakameroiden tarkkuus on parempi ja kuvankäsittely nopeampaa, sillä pikseleitä käsitellään kerralla vähemmän kuin matriisikameroissa. Viivakameroita käytetäänkin liikkuvien kohteiden kuvaamiseen kuten radan seurantaan. Viivakamerat ovat kalliimpia hinnaltaan ja vaativat voimakkaamman valaistuksen. Voimakkaampi valaistus tarvitaan kompensoimaan lyhyempi valotusaika, kun ainoata kuvariviä käytetään tuhansia kertoja sekunnissa. Analoginen/digitaalinen videosignaali Videosignaali voi olla joko analogista tai digitaalista. Digitaalisuus on datan syöttämisessä, käsittelyssä, siirrossa, tallennuksessa ja esittämisessä käytettävä menetelmä, jossa data esitetään täsmällisinä arvoina, joita on rajallinen määrä. Tavallisin digitaalinen järjestelmä on binäärijärjestelmä, jossa käytetään vain kahta arvoa, 0 ja 1. Näille sovituille tiloille on määritetty jokin analoginen vastine, esimerkiksi jännitetasot <1V ja >4V, jolloin järjestelmä tulkitsee jännitteen arvon digitaaliseksi signaaliksi 0 analogisen jännitearvon ollessa kynnysarvoa pienempi. Samoin tehdään tilalle 1. Piirit suunnitellaan yleensä pitämään entinen tilansa niin kauan kunnes toinen raja-aita ylitetään tai alaraja vastaavasti alitetaan. Tämän hystereesi-ilmiön avulla vältytään kohinan aiheuttamilta häiriöiltä. Kun jännite siirtyy hiljalleen 0V:ta 5V suuruiseksi, tila vaihtuu vasta 4V rajan ylityttyään, ja voi vaihtua takaisin tilaksi 0 vasta kun alitetaan 1V raja. Tällöin tilan muutoksen hetkellä tullut kohinasig- 6
naali ei pääse helpolla muuttamaan tilaa hetkellisesti 0:ksi ja taas takaisin tilaksi 1. Analoginen signaali sitä vastoin voi saada mitä tahansa jännitearvoja sallitulta alueelta. Tästä johtuen analogiseen signaaliin summautuu helpommin kohinaa ja muita häiriöitä. Tietoa käsittelevissä laitteissa on yleensä sekä digitaalisia että analogisia osia. Esimerkiksi digitaalikameran A/D muunnin muuttaa valon analogisen signaalin digitaaliseksi signaaliksi ja tallettaa sen muistiinsa. Tavallisesti tämä digitaalinen tieto muunnetaan D/A muuntimessa etsimen tai näytön analogiseksi kuvasignaaliksi. Käyttäjälle näkyvä kuva on siten analoginen, mutta kuvan tallennusmuoto digitaalinen. Digitaalisissa kameroissa käytetään monia erilaisia standardeja. Teollisuuden digitaaliset videokamerat käyttävät nykyisin useimmiten FireWire- (IEEE 1394) tai uusimmissa GigE Vision standardia. FireWiressä laitteet kytketään nopeaan sarjaväylään, jossa kuvadataa siirretään 800 tai 400 Mbit sekuntinopeudella. Samaan FireWire-porttiin voi liittää 63 laitetta samaan aikaan. GigE Vision standardissa kuvadata ja kameran komennot siirretään Gigabit Ethernet verkossa UDP-paketteina. Nyt uutena väylänä konenäkökameroihin on tulossa USB3 väylä. Televisiolähetyksiin käytetyt analogiset videosignaalit on täysin standardoitu, eli samaa standardia tukevat kamerat lähettävät kuvadatan yhdenmukaisesti. Yleisimmät analogisen videosignaalin standardit (ks. sanasto) PAL NTSC SECAM Analogisia televisiokameroita käytetään nykyisin vähemmän digitaalisten laitteiden tultua yleisemmiksi. Kameran kehityksen historia on kuitenkin hyvä tuntea, koska jokainen digitaalinen kamera joutuu tuottamaan kuvan mittaamastaan valosta analogisesti sittemmin muuntaen signaalin digitaaliseksi. Analogisten videosignaalien ominaisuuksia Synkroninen ja asynkroninen päivitys (synchronous/asynchronous scan) Yleisten standardien (PAL, NTSC, SECAM) mukaiset kamerat lähettävät videosignaalia synkronisesti vakiotaajuudella. Asynkronisessa päivityksessä kameralle lähetetään ulkoinen liipaisusignaali, jonka avulla uutta kuvaa voidaan pyytää haluttaessa. Tämä on hyödyllinen ominaisuus nopeissa konenäkösovelluksissa. Lomitettu skannaus (interlaced scan, RS-170) Normaalit videokamerat on kehitetty alunperin televiolähetyksiä varten (standardi RS-170), jossa kuvan päivitystä ruudulle on pyritty pehmentämään päivittämällä kerralla joka toinen rivi kuva -alueesta. Lomitettu skannaus voi olla ongelma konenäkösovelluksissa. Kun viereiset rivit päivitetään eri ajanhetkinä, liikkuvat kohteet ovat eri kohdissa parillisilla ja parittomilla riveillä. 7
Peräkkäinen skannaus (sequential sqan) Peräkkäistä skannausta tukevat kamerat lukevat kuvasensorin kaikki rivit kerralla. Nämä kamerat ovat parempia konenäkösovelluksiin kuin kamerat, jotka tukevat vain lomitettua skannausta. Kameroissa on usein lisätoimintona mahdollisuus käyttää myös lomitettua skannausta (joka usein pitää ymmärtää kytkeä pois päältä ongelmien välttämiseksi). 3.1.2 Optiikka Kameran kennolle muodostuva kuva riippuu optiikasta, joka sen sinne projisoi. Optiikan ja linssien valintaan on kiinnitettävä huomiota varsinkin, jos halutaan erottaa tarkkoja yksityiskohtia kuvasta. Kuvassa 3 on esitetty yksinkertaistettu kuva kameran optiikan toiminnasta. Siinä linssi projisoi kuvan kohteesta kennolle. Kuvassa 4 on esitetty esimerkki todellisesta linssijärjestelmästä, jossa yhden linssin sijaan käytetään usean erilaisen linssin kombinaatiota. Kuvassa siniset linssit ovat eri taitekertoimella taittavaa materiaalia, jolla pyritään korjaamaan erivärisen valon erilaista taittumista. Aukkoa säätävä iiris on sijoitettu linssijärjestelmän keskelle. Kuva 3 Yksinkertaistettu kuva kameran optiikasta. Kuva 4 Esimerkkipiirros todellisesta linssijärjestelmästä järjestelmäkameralle (Sigma 150mm F2.8 EX DG HSM APO MACRO). (Lähde: http://www.photoreview.com.au/reviews/lenses/fx/sigma-150mm-f2.8-ex-dg-os-hsm-apo-macro-lens) 8
Linssin fysikaalisista rajoitteista ja valmistuksesta johtuvat linssivirheet vaikeuttavat kuvankäsittelyllä tehtäviä mittaus- ja paikannusoperaatioita, tosin nykyisin suurin osa näiden virheiden vaikutusta voidaan kompensoida laskennallisesti. Kuvassa 4 on esitetty radiaalisen ja tangentiaalisen vääristymän aiheuttamat muutokset kuvassa. Radiaalisessa vääristymässä, eli tynnyri- tai tyynyvääristymässä (kuva 4a), kuva venyy reunoilta optiseen keskipisteeseen nähden. Tangentiaalisessa vääristymässä kuvan reunapisteet siirtyvät keskipisteeseen nähden.. Kuvassa 4b tangentiaalinen vääristymä on tapahtunut keskipisteestä vasemmalle (jolloin, jos keskipisteet piirretään päällekkäin, kuva näyttää venyneen ulkokehältä oikealle). Kameran kalibrointi on menettely, jossa nämä vääristymät pyritään tunnistamaan, jotta ne voidaan laskennallisesti pyrkiä korjaamaan myöhemmissä kuvankäsittelyvaiheissa. Kuva 5 Linssivirheiden vaikutus kuvaan a) radiaalinen vääristymä b) tangentiaalinen vääristymä. Yhtenäinen viiva: ei virhettä. Katkoviiva: positiivinen virhe. Pisteviiva: (radiaalinen ) negatiivinen virhe. Alla on listattu lyhyesti muutamia seikkoja, joihin linssin (optiikan) valinnassa on syytä kiinnittää huomiota. Polttoväli (focal length) Optisen systeemin polttoväli on mitta sille, miten paljon se kokoaa tai hajottaa valoa. Systeemin optinen taittokyky on sitä suurempi mitä pienempi on sen polttoväli. Koveran linssin polttoväli on negatiivinen ja kuperan positiivinen. Laajakuvakulmaisissa linsseissä polttoväli on pieni, kun taas esim. kaukoputkessa polttoväli on suuri. Valotusaukko (yleisesti aukko) Valotusaukko (yleisesti aukko) on objektiiveissa himmentimen säätelemän reiän koko. Aukko kuvastaa objektiivin valonkeräyskykyä. Aukon koko ilmoitetaan suhteessa objektiivin polttoväliin f, esim. f/1.4, (ks. Aukkosuhde). Aukkosuhde (f-luku, focal ratio) Optisen järjestelmän aukkosuhde κ saadaan kaavalla 9
f κ =, D jossa f on polttoväli ja D valon sisääntuloaukon halkaisija. Käytännössä tämä tarkoittaa sitä, että mitä suurempi aukko (pienempi f -luku) optiikalla on, sitä enemmän valoa kameran kennolle pääsee, jolloin toiminta huonossa valaistuksessa tai lyhyillä suljinajoilla on mahdollista. Aukkosuhde ilmoitetaan tavallisesti merkinnällä f/x, jota on tapana kohdella yksittäisenä merkkinä ("f-luku"). Muita vakiintuneita merkintätapoja ovat 1/x ja fx. Aukkosuhde f/16 voidaan siis merkitä myös esimerkiksi 1/16, f16 tai "aukko 16". Linssin tarkennus Todellisuudessa objektiivi ei pysty kuvaamaan täysin tarkasti kuin yhdeltä etäisyydeltä, niin sanotulta tarkennusetäisyydeltä. Kuva syntyy tämän etäisyyden etu- ja takapuoleltakin, mutta yksityiskohdat pehmenevät riippuen käytetystä aukosta. Objektiivin tarkennusetäisyyttä voidaan säätää muuttamalla sen etäisyyttä kuvatasosta (kennosta) tai muuttamalla polttoväliä. Parhaan tarkennuksen ympärille tulevaa syvyyssuuntaista tarkasti tarkentunutta aluetta sanotaan syväterävyysalueeksi. Syväterävyysalue on sitä lyhempi mitä suurempaa aukkoarvoa käytetään. Vastaavasti pientä aukkoarvoa käytettäessä syväterävyysalue voi ulottua kuvan etualalta äärettömään. Aukon arvon lisäksi syväterävyysalueeseen vaikuttaa kuitenkin myös objektiivin todellinen polttoväli ja toisaalta kohteen etäisyys kamerasta: mitä lähempänä olevaa kohdetta kuvataan, sitä lyhyemmäksi syväterävyysalue muodostuu. Erityisen merkittävää tämä on makrokuvauksessa: kuvattaessa vain muutaman senttimetrin päässä olevaa kohdetta suurella aukkoarvolla syväterävyysalue saattaa rajoittua muutamaan millimetriin tarkennusetäisyyden ympärille. Zoom/ vakiosuurennuslinssit Erikoislinssit Zoomattavaa linssisarjaa on joustavampi käyttää kuin vakiosuurennukseen hiottuja linssejä. Zoom -optiikassa esiintyy kuitenkin enemmän virhettä kuin vakiolinsseissä, jonka lisäksi virheet saattavat vaihdella riippuen zoomin asennosta. Myös linssin f-luku yleensä muuttuu zoomia käytettäessä. Linssivirheitä voidaan vähentää erilaisilla valmistusmenetelmillä. Tämä tuo tietysti lisää kustannuksia hankintavaiheessa, mutta tällöin optiikan kalibrointi ja virheiden minimointi ei vaadi yhtä paljon työtä. Kalliimmissa objektiiveissa linssien aiheuttamia värivirheitä, taittovirheitä ja muita vääristymiä on korjattu erilaisten kuperien ja koverien eri materiaaleista valmistettujen linssien ja pinnoitteiden yhdistelmillä. Monimutkaisimmissa linssijärjestelmissä erilaisia linssejä voi olla jopa kymmeniä. Kalansilmäobjektiiveiksi (fisheye) kutsutaan laajakulmaobjektiiveja, joissa tynnyrivääristymää ei yritetäkään vähentää tai poistaa, vaan sen annetaan tarkoituk- 10
sella olla hyvin suuri, jolloin linssistä voidaan tehdä laajakulmaisempi kuin vääristymäkorjatulla linssillä. Eräs erityislaatuinen objektiivityyppi saadaan, kun himmentimen aukko asetetaankin linssin ja kuvatason väliseen polttopisteeseen. Näin saadulla telesentrisella objektiivilla on mielenkiintoinen ominaisuus: Kuvatasoon tulevat vain säteet, jotka ovat likimain yhdensuuntaisia optisen akselin kanssa. Tästä seuraa se, että suurennos ei riipu etäisyydestä, ja että kameran kuva-ala on yhtä suuri kuin objektiivin linssi. Telesentristä linssiä voidaan käyttää esimerkiksi tarkkaan kohteen mittaamiseen tai perspektiivivirheiden minimoimiseen. Isojen kohteiden kuvaaminen ei kuitenkaan onnistu helpolla, koska kuvattava kohde voi olla vain linssin kokoinen. Kuvassa 5 on esitetty telesentrisen optiikan perusperiaate. Kohde Polttopiste f Optinen akseli Linssi ja projektiokeskipiste Kuva Kuva 6 Telesentrinen optiikka, jossa aukko linssin ja kuvatason välissä. 3.2 Valaistus Valaistuksella on tärkeä merkitys kuvan muodostuksessa. Kohteeseen vaikuttava valaistus pidetään yleensä muuttumattomana, sillä tämä helpottaa kuvankäsittelyä huomattavasti. Erilaisia valaistustekniikoita sovelletaan riippuen sovelluskohteesta. Hyvin toteutettu valaistus valaisee kohteen siten, että kuva on mahdollisimman yksinkertainen, mutta silti riittävä informaatio sisällöltään tehtävän suorituksen kannalta. Monissa sovelluksissa kohdetta on hyvä valaista tasaisella epäsuoralla (diffuusilla) valolla, jolloin vältetään heijastukset ja varjot kuvassa. 3.2.1 Eri valaistusmenetelmiä Suora valo (Directional Light) Suunnatut valovoimaiset lamput tuottavat kirkkaan valon ja terävät varjot. Ne eivät tuota tasaista valaistusta kohdepinnalle. Kohteen etupuolen piirteet ja muodot tulevat näkyviin valoina ja varjoina. Menetelmällä voidaan korostaa tietyn suuntaisia uria ja koloja valon tulosuuntaa muuttamalla. Joillakin materiaaleilla esimerkiksi metalleilla tai lasilla menetelmä aiheuttaa kirkkaita heijastuksia valonlähteestä. Koaksiaalinen valaistus (Coaxial Light) Koaksiaalinen valaistus toteutetaan erityisellä objektiivilla, jossa on säteenjakaja eli puoliläpäisevä peili. Puoliläpäisevän peilin toiselta puolelta valaistaan valolla jolloin valo kulkee säteenjakajan kautta linssin läpi kohteeseen ja heijastuu sieltä samaa reittiä takaisin säteenjakajaan, jonka läpi se kulkee nyt kameran kennolle. 11
Säteenjakajan avulla tuotetaan yhdensuuntainen valo optisen akselin suuntaisesti. Tällöin ei synny ollenkaan varjoja. Rengasvalo linssin ympärillä yrittää toteuttaa saman, mutta on ns. huono approksimaatio. Menetelmä soveltuu esim. korkeiden kohteiden ja reikien kuvaamiseen. Epäsuora valo (Diffuse Light) Epäsuora valo heijastetaan yleensä toisen pinnan kautta kohdepinnalle. Tämä tuottaa tasaisen valon koko pinnalle ja vähentää varjoja. On myös olemassa ns. Cloudy day -valaisin, jolla kohde ympäröidään niin, että joka suuntaan tulee diffuusisti yhtä suuri valaistus. Taustavalo (Back Lighting) Taustavalo heijastetaan siten kameraa kohti, siten että valaistava kappale on kameran ja valolähteen välissä. Tällä tavalla saadaan kappaleen ulkoreunat hyvin esille esim. mittausta varten. Sivuvalo (Side Lighting) Sivuvalaistuksessa kohdetta valaistaan suunnatulla valolla hyvin pienestä kulmasta. Tällöin valo heijastuu ja siroaa kameraan vain pinnan epätasaisuuksista. Tämän avulla voidaan kuvata (ja lukea) esim. kaiverrettuja (tai koho-) tekstejä. Rakenteellinen valaistus (Structural Light) Rakenteellisessa valaistuksessa tehdään esim. laserilla tunnettuja kuvioita kappaleen pintaan, jolloin kuvion perusteella voidaan mitata kohteen muotoja. Rakenteellista valaistusta käytetään mm. kolmiulotteisissa mittauksissa. Esimerkiksi Microsoftin Kinect toimii rakenteellisen valaistuksen avulla käyttäen infrapunaprojektoria ja infrapunakameraa värikameran lisäksi. Salamavalo, Stroboskooppi (Strobe light) Välkkyvät strobovalot ovat tarpeen paitsi tanssilattialla, myös muissa tilanteissa jolloin kuvattava kohde liikkuu nopeasti. Valaisemalla kohde pienen ajanhetken ajaksi (sekunnin murto-osa) voidaan kohteen liike pysäyttää ja estää muuten sumeaksi muodostuva kuva (blurring). 3.3 Kuvankaappaus Kuvankaappauslaite voi olla joko erillinen laite tai tietokoneeseen integroitu elektroninen kortti, jota tarvitaan, jotta kuva voidaan tuoda järjestelmän käsiteltäväksi. Useimmat erillisistä kuvankaappauskorteista (frame grabber board) liitetään PC:n PCI tai PCI-E - väylään nopean tiedonsiirron mahdollistamiseksi muistiin ja näytölle. Useimmiten erityisille kuvankaappauskorteille tulee käyttöä kun halutaan kytkeä useampi nopeaa väylää käyttävä kamera kiinni samaan tietokoneeseen. Analogista videosignaalia käsiteltäessä kuva on ensin muunnettava digitaaliseen muotoon. Tämän jälkeen digitaalinen kuva voidaan siirtää muistiin käsiteltäväksi tai näytölle. Signaalin muunnoksien vuoksi muistiin kaapattu kuva ei vastaa täysin kameran kuvasensorin pikseleitä. Kuvassa 6 on havainnollistettu analogisen siirtotien toimintaa. 12
Analogisen videosignaalin siirtotapoja ovat mm. RGB Composite video S-VHS kameran pikselit analoginen videosignaali pikselit muistissa kuvasensori (ccd -kenno) siirtotie muistiin kaapattu kuva Kuva 7 Digitaalisen kameran analogisen videosignaalin kaappaus takaisin digitaaliseen muotoon muistiin Digitaalista videosignaalia ei luonnollisesti tarvitse muuntaa analogiseen muotoon, mutta riippuen signaalin välittämiseen käytetyn siirtotien standardista erillinen kortti voi kuitenkin olla tarpeen. Kuvassa 7 on havainnollistettu digitaalisen videosignaalin analogisen siirtotien ideaa. Digitaalisen videosignaalin siirtotapoja ovat mm. IEEE 1394 (Firewire) GigE Vision (Gigabit Ethernet) Universal Serial Bus (USB2 / USB3) kameran pikselit digitaalinen videosignaali pikselit muistissa kuvasensori (ccd -kenno) siirtotie muistiin kaapattu kuva Kuva 8 Digitaalisen videosignaalin kaappaus muistiin Digitaalinen signaali soveltuu paremmin konenäkösovelluksiin, sillä sen tuottamat pikselit vastaavat täysin kuvasensorin pikseleitä. Digitaalisen videosignaalin potentiaalisia hyötyjä ovat pienemmät häiriöt (noise), kuvan suurempi päivitystaajuus (frame rate) sekä parempi resoluutio. 13
Erillisten kuvankaappauskorttien ominaisuuksia ovat mm. Mahdollisuus usealle kameralle Useimmat kortit tukevat 2, 4 tai useamman kameran yhtäaikaista liittämistä samaan korttiin. Jotkin kehittyneet kortit tukevat usean kameran kuvan samanaikaista kaappaamista. Liipaisu (trigger) ja stroboskooppi ominaisuudet Useimmat kortit tukevat ulkoista liipaisua kuvankaappauksen ajoittamiseksi. Jotkin kortit tukevat myös ohjattavaa ja synkronoitavaa stroboskooppia. Binääri I/O / Sarjaliitäntä Joissain kuvankaappauskorteissa on lisäksi I/O linjoja anturien, toimilaitteiden tai ohjausyksiköiden (esim. ohjelmoitavat logiikat) liittämiseksi konenäköjärjestelmään. Kuvadatan pakkaus Jotkin erilliset kuvankaappauskortit osaavat usein pakata videon M-JPEG- tai MPEG2-muotoon. Suurta määrää kuvadataa kerättäessä videokuvan pakkaaminen erillisellä kortilla vähentää huomattavasti tarvittavaa suoritintehoa ja tarvittavaa tallennustilaa. 3.4 Kuvankäsittely Muistiin kaapatun kuvan käsittely voi tapahtua joko täysin tietokoneen muistissa tai osittain myös kaappauskortin omassa muistissa. Joissain kehittyneissä korteissa on oma prosessorinsa, jolla voi tehdä nopeasti yleisimpiä kuvankäsittelyoperaatioita kuten suodatusta, rajausta tai koon muutoksia. Kuvankäsittely tapahtuu kuitenkin yleensä pääasiallisesti ohjelmallisesti. Kuvankäsittelyllä kuvasta etsitään järjestelmän toiminnan kannalta oleellista informaatiota. Tämä vaihe voidaan jakaa karkeasti kolmeen eri osavaiheeseen. Kuvan esikäsittely Kuvan laatua voidaan parantaa suodattamalla siitä häiriötaajuuksia pois. Kuvaa voidaan kääntää tai siitä voidaan erottaa pienempiä osa -alueita raskaampaa laskentaa vaativien analyysimenetelmien nopeuttamiseksi. 14
Kuvat 8a ja 8b Yksinkertainen esimerkki häiriön suodatuksesta: Vasemmanpuoleisesta kuvasta on suodatettu sinimuotoinen häiriö pois Fourier -muunnoksen avulla. Kuvan kynnystys ja segmentointi Kuvassa esiintyvää informaatiota muokataan analysointiin käytettävien algoritmien helpommin käsiteltäväksi. Kuvan ominaisuuksia ja piirteitä, kuten kappaleiden reunoja, voidaan keinotekoisesti korostaa erilaisilla suodinoperaatioilla niiden tunnistamisen helpottamiseksi. Kuva voidaan kynnystää, jolloin sen histogrammin perusteella koko kuva muutetaan binääriseksi jollakin kynnysarvolla. Nämä erilleen jääneet kynnystetyt binääriset alueet voidaan segmentoida erillisiksi loogisiksi alueiksi, joita voidaan käsitellä erikseen. Kuva 9a ja 9b Yksinkertainen esimerkki kuvan kynnystämisestä: Vasemman kuvan pikselien arvot on kynnystetty siten, että kynnysarvoa korkeamman intensiteettiarvon omaavat pikselit on muutettu valkoiseksi. Oikeanpuoleista binääristä tuloskuvaa on huomattavasti helpompi käsitellä, sillä kaikilla pikseleillä on vain kaksi arvoa, musta tai valkoinen Kuvan tunnistus ja tulkinta Tunnistuksessa (pattern matching) aikaisempien operaatioiden jälkeen saatua kuvaa sovitetaan referenssikuvaan/kuviin. Kuva tunnistetaan jos se riittävän samankaltainen referenssikuvan kanssa määrättyjen toleranssikriteerien mukaan. 15
Kuvan tulkinnassa (analysis) saatua kuvaa tutkitaan ja siitä erotetaan haluttuja piirteitä kuten eri kuva-alueiden muotoja, mittoja, orientaatiota tai kokoa. Näiden piirteiden perusteella päätellään mitä todellista informaatiota kuvaan sisältyy. Kuva 10 Yksinkertainen esimerkki kuvassa olevan informaation tulkinnasta/ analyysistä. Kolikot on lajiteltu niiden koon mukaan. Lisätietoa: Hyvä kirja kuvankäsittelystä: Gonzales & Woods: Digital Image Processing,3rd edition, Addison-Wesley 1992 Matlab: Image Processing Toolbox Valmiita algorimeja ja ohjelmia konenäölle: OpenCV (Open Source Computer Vision) http://opencv.willowgarage.com/wiki/ Image Processing On Line http://www.ipol.im/ 3.5 Kehittyneempiä konenäköalgoritmeja 3.5.1 SIFT SIFT (Scale-invariant feature transform) on konenäköalgoritmi, joka tunnistaa ja lajittelee paikallisia piirteitä kuvista. Kanadalainen David Lowe julkaisi algoritmin vuonna 1999. Menetelmä on patentoitu Yhdysvalloissa. Siinä jokaisesta tunnistettavasta kohteesta etsitään piirteiden joukko. Tätä harjoituskuvasta löydettyä piirrejoukkoa etsitään sitten toisista kuvista. Jotta piirteiden tunnistus onnistuisi luotettavasti, on tärkeätä että harjoituskuvasta haetut piirteet on löydettävissä vaikka kohde nähtäisiin eri asennossa, koossa tai valaistuksessa. Sellaiset piirteet yleensä sijaitsevat kuvan korkean kontrastin alueilla, kuten vaikkapa kappaleiden reunoilla. 16
Toinen tärkeä ominaisuus näillä piirteillä on se, että niiden keskinäinen paikka ei saisi vaihtua kuvien välillä. Esimerkiksi jos oven neljää kulmaa käytetään piirteinä, ne toimivat vaikka ovi välillä avattaisiin. Jos kuitenkin piirteet olisi otettu ovesta, osa piirteistä katoaisi näkyvistä ovea avattaessa. Käytännössä SIFT käyttää paljon suurempaa määrää piirteitä kuvista, jolloin virheellisten tulkintojen mahdollisuus pienenee. Lowen metodi osaa robustisti tunnistaa kohteita, jotka ovat sotkuisia tai joita ei näy kokonaan, koska SIFT-menetelmän piirre-erotusalgoritminsa on riippumaton skaalasta, asennosta, vääristymistä ja osittain riippumaton valaistuksen muutoksista. Algoritmista hyvä kuvaus löytyy wikipediasta ja Jason Clemonsin oppimateriaaleista: http://en.wikipedia.org/wiki/scale-invariant_feature_transform http://www.eecs.umich.edu/~silvio/teaching/eecs598/lectures/lecture10_1.pdf 3.5.2 SURF Speeded UP Robust Features eli SURF on hyvin tehokkaasti toimiva asentoriippumaton piirrepisteiden etsintä- ja vertailualgoritmi. Se on kehitetty SIFT:n pohjalta ja se on tähän mennessä yleisesti käytetyistä algoritmeista tehokkain ja tarkin piirteidenhakualgoritmi. SURF käyttää monia erialisia optimointimenetelmiä laskennan nopeuttamiseen. Esimerkiksi siinä käytetään integraalikuvia kuvien konvolointiin vähentääkseen laskenta-aikaa ja nopeaa Hessian matriisiin perustuvaa mittaria piirteiden tunnistukselle. Lisäksi siinä on käytetty rajoitetusti vain 64 ulottuvuutta piirteiden tallentamiseen, kun SIFT käyttää ulottuvuuksia paljon enemmän. Tärkeimmät ulottuvuudet löydetään pääkomponenttianalyysin avulla. Näillä kaikilla optimoinneilla algoritmi on saatu niin nopeaksi, että sitä voi käyttää nykykoneilla jo reaaliajassa. SURF-algoritmi on implementoitu OpenCV-kirjastoon. Lisätietoa algoritmista alkuperäisestä artikkelista ja lähdekoodit nettisivulta: ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf http://www.vision.ee.ethz.ch/~surf/ 3.6 Päätöksenteko- ja ohjausjärjestelmä Konenäköjärjestelmään kuuluu olennaisena osana ylemmän tason päätöksenteko- tai ohjausjärjestelmä. Tässä vaiheessa kuvankäsittelyllä saadun informaation perusteella tehdään ohjaus- tai korjaustoimenpiteitä konenäköjärjestelmän muihin osa-alueisiin esimerkiksi korjataan kuvan muodostuksen tai kuvankäsittelyn parametreja. Mikäli kuvasta saadun informaation laatu ja määrä on riittävä päätöksentekoon, niin silloin välitetään tietoa ja ohjauksia muualle automaatiojärjestelmään. 3.7 Sulautetut järjestelmät Viime vuosien tietotekninen kehitys on tehnyt mahdolliseksi monimutkaisten järjestelmien sulauttamisen yhteen laitekokonaisuuteen myös konenäköjärjestelmien tapauksessa. Tällaiset sulautetut laitekokonaisuudet ovat yleensä huomattavasti nopeampia ottaa käyttöön ja konfiguroida uudestaan kuin erikseen räätälöidyt konenäköjärjestelmät. Näitä järjestelmiä ovat esimerkiksi älykkäät kamerat, joissa on valmiita liikkeen seurantaan ja kohteen tunnistukseen sopivia algoritmeja. 17
Lisätietoa ja materiaalia konenäöstä: Carnagie Mellon yliopiston kattava kokoelma konenäöstä The Computer Vision Homepage at Carnagie Mellon University http://www.cs.cmu.edu/afs/cs/project/cil/ftp/html/vision.html CVonline: The Evolving, Distributed, Non-Proprietary, On-Line Compendium of Computer Vision: http://homepages.inf.ed.ac.uk/rbf/cvonline/ 4 Laboratoriotyö 4.1 Laitteisto 4.1.1 Kamera Järjestelmässä on kamerana Microsoft Lifecam Studio USB webkamera. Siltä kuva siirretään USB-väylän kautta tietokoneelle OpenCV -konenäkökirjaston avulla tehdyllä ajurilla. Kamera ei ole oikea konenäkökamera, vaan halpa web-kamera. Sen tarkkuus ja nopeus riittää kuitenkin paikallaan olevan kohteen kuvaamiseen ja tunnistamiseen hyvin. 4.1.2 Kuvankäsittelyohjelma Kuvan käsittelyyn käytetään Matlab-ohjelmistoa, jolla erilaisten konenäköalgoritmien suunnittelu ja toteuttaminen on suhteellisen helppoa. Tehtävää varten Matlabiin on laadittu rajapinta OpenCV konenäkökirjaston avulla tehdylle ajurille, jolla kuvan saa kysyttyä kameralta. 4.1.3 Robotti Robotti (Mitsubishi Movemaster) koostuu viiden vapausasteen robottikäsivarresta, ohjausyksiköstä (drive unit), opetuslaatikosta (teaching box) ja sarjaväyläliitännästä. 18
Kuva 10 Robotti, ohjausyksikkö, opetuslaatikko ja PC Robottia ohjatataan sarjaväyläliitännän kautta tietokoneella tai opetuslaatikolla. Sarjaväylän ylitse robottia ohjataan lähettämällä sille käskyjä. Opetuslaatikon avulla ei voida käyttää robotin kaikkia käskyjä ja se onkin tarkoitettu lähinnä toiminta- tai liikeradan pisteiden opettamiseen. Tässä laboratoriotyössä robottia ohjataan Matlabin avulla sarjaliitännän kautta, joten opetuslaatikkoa ei tarvita. 4.1.4 Ohjausjärjestelmä Ohjausjärjestelmänä toimii myös Matlab. Siihen on tehty valmis rajapinta, jonka avulla robotin komentaminen tapahtuu. Rajapinnalle annetaan nostettavan kohteen keskipisteen xy-koordinaatit robotin koordinaatistossa sekä haluttu toimielimen kulma. Jotta robotti voi noutaa kameran edessä olevat kappaleet, on niiden paikka saatava selville. Kuvankäsittelyllä saadaan selville kappaleiden paikka kuvassa (pikseleinä). Kamera on kalibroitava ja paikannettava, jotta kuvankäsittelyllä saadut pikseleiden arvot voidaan muuntaa todellisiksi mitoiksi (millimetreiksi). Kuvan kalibrointi tehdään Matlabilla kuvasta klikattavien kulmapisteiden avulla. Matlab-skripti kysyy kulmapisteiden paikat ja ne tulee sitten painaa järjestyksessä 1-4. Tämän tiedon perusteella ohjelmassa lasketaan kameran ja pöytätason välinen perspektiiviprojektio. 19
4.2 Käyttöohje Ennen käyttöä varmista, että: 1. Robotin ja tietokoneen välinen sarjakaapeli on paikallaan 2. Robotin opetuslaatikko on OFF -asennossa 3. Robotin toiminta-alueella ei ole esineitä tai ihmisiä 4. Robottiin on kytketty virtajohto 5. Kameran USB-johto on siististi tietokoneessa eikä jää robotin väliin. 6. Voit käynnistää robotin 4.3 Laboratoriotyö 4.3.1 Esiselvitystehtävä Esiselvitystehtävässä luodaan oma algoritmi, jolla tunnistetaan valkoisen paperin päältä erivärisiä palikoita. Algoritmi luodaan valmiiseen Matlab-skriptin runkoon, jossa on valmiiksi metodit kuvan lataamiseen ja kuvan suoristamiseen annettujen kalibraatiopisteiden mukaan. Algoritmin saa suunnitella vapaasti, mutta alkuun ainakin pääsee käyttäen intensiteettiperustaista tunnistusta. Värilliset palikat on kuitenkin suhteellisen helppo esimerkiksi kynnystää valkoiselta paperilta. Algoritmeja voi halutessaan tehdä useammankin. Niitä pääsee laboratoriotyön aikana kaikkia kokeilemaan oikealla kamerakuvalla sekä robottikäsivarrella. Skriptin lopussa on vielä kutsuttu metodia, jolla robotti ottaa palikan, ja siirtää sen pinoon. Kuvien lataus ja robotin käytöstä on annettu yksinkertaistetut versiot, joilla algoritmia voi kokeilla kotona tai koulun koneella. Tarvittavat tiedostot löydät noppasivulta. 4.3.2 Laboratorioharjoitus Laboratoriotyön aikana tehdään seuraavat tehtävät Kamera asetetaan itselle mieluiseen paikkaan Kameran kalibrointi suoritetaan Matlab-skriptillä ja kuvasta kulmapisteet klikkaamalla. Käydään läpi esiselvitystehtävänä tehty algoritmi pääkohdittain. Testataan oman esiselvitystehtävänä tehdyn palikantunnistusalgoritmin toiminta ja pohditaan sen hyviä ja huonoja puolia. Kehitetään omaa algoritmia niin, että se selviytyy annetusta tehtävästä. Tutustutaan saman Matlab-ympäristön kautta monimutkaisempiin palikan tunnistusja vertailualgoritmeihin 20
Sanastoa CAD Composite video EIA-644 IEEE 1394 (Firewire) NTSC Computer Aided Desing. Suunnittelutyö, jossa erilaisia piirto-ohjelmia hyväksikäyttäen piirretään valmistettavien kappaleiden kuvia kaksi- tai kolmiulotteisena. A single video signal which combines the luminance, chominance and synchronization information using the PAL, NTSC or SECAM standadrs. An electrical specification for the transmission of digital data. EIA-644 and RS422 are balanced data transmission standards that require two wires per signal. The state of the signal at the receiver is determined by the potential difference between the two wires and not by the difference between the signal on a single wire and ground. Since each wire in the pair is subjected to roughly the same transmission environment, electrical noise adds equally to both wires. This common mode noise is subtracted at the receiver. This makes both of these standards particularly useful in noisy environments. EIA-644 operates at lower voltage differences than RS422, providing higher transmission bandwidths. EIA-644 transmitters and receivers also introduce less line-to-line skew, meaning that signal integrity is better preserved even when the transmitter is RS422 and the receiver is EIA-644. EIA-644 is also commonly known as LVDS (Low Voltage Differential Signaling), sometimes as RS644. A 1995 Macintosh/IBM PC serial bus interface standard offering highspeed communications and isochronous real-time data services. 1394 can transfer data between a computer and its peripherals at 100, 200, or 400 Mbps, with a planed increase to 2 Gbps. Cable length is limited to 4.5 m but up to 16 cables can be daisy-chained yielding a total length of 72 m. It can daisy-chain together up to 63 peripherals in a tree-like structure (as opposed to SCSI's linear structure). It allows peer-to-peer device communication, such as communication between a scanner and a printer, to take place without using system memory or the CPU. It is designed to support plug-and-play and hot swapping. Its 6-wire cable is not only more convenient than the SCSI cables but can supply up to 60 watts of power, allowing low-consumption devices to operate without a separate power cord. National Television Standards Committee: the industry group that formulated the standards for American television. An NTSC signal is a composite video signal used by televisions and VCRs in North America 21
and some other parts of the world. The NTSC system uses 525 lines per frame, a field frequency of 60 Hz, a 30-frame per second update rate. PAL Phase Alternating Line: video format - used in most of Western Europe, Australia and China as well as in various African, South American and Middle Eastern countries - with a 4:3 image format, 625 lines per frame, a field frequency of 50Hz and 4 MHz video bandwidth with a total 8 MHz of video channel width. PAL has a 25-frame per second update rate. RS-170 The encoding standard for 60-Hz black-and-white television signals; it is used as the standard for most monochrome and color video equipment. See also NTSC, PAL, SECAM. This standard was developed for braodcast television to provide a smoother picture at relatively low (30/25 Hz) frame rate. Beginning at the top of the frame, the camnera reads all the odd-numbered lines (1,3,5 ) during the first half-frame time. It then starts at the top again and reads all the even-numbered lines (0,2,4 ) during the second half-frame time. By changing only half the picture lines at a time, the picture has less flicker. RS422 RGB (Red, Green, Blue) SVHS, S-VHS SECAM An electrical standard for the transmission of digital data. See definition for EIA-644. The abbreviation for the red, green and blue signals, the primary colors of light (and television). Each color signal is transmitted in a cable of it's own. S-VHS. The Super-VHS high-band video recording format is a consumer, desktop video and industrial production format which utilizes a component Y/C signal format. It offers better picture resolution, better signal-to-noise performance and elimination of cross-color and dot crawl interference. Sequentiel Coleur A Memoire: European video standard, used in France and Eastern Europe, with image format 4:3, 819 lines per frame, 50 Hz and 6 MHz video bandwidth with a total 8 MHz of video channel width. Like the similar PAL standard, it has a 25-frame per second update rate. 22