AS-0.3200 Automaatio- ja systeemitekniikan projektityöt S11-04 Kompaktikamerat stereokamerajärjestelmässä Projektisuunnitelma Ari-Matti Reinsalo Anssi Niemi 28.1.2011
Projektityön tavoite Projektityössä on kaksi tavoitetta, jotka voidaan jakaa edelleen pienempiin osatavoitteisiin. Päätavoitteet ovat 1. Stereokameraparin kalibrointijärjestelmän suunnitteleminen ja toteuttaminen Matlabskriptinä. Tavoitteena on saada kamerapari kalibroitua siten, että niiden saamaan aikaan ottamasta kuvasta voidaan laskea kuvassa näkyvien kohteiden etäisyydet. 2. Kaukolaukaisinjärjestelmän suunnittelu ja toteutus. Molemmat kamerat saadaan laukaistua samaan aikaan helposti erillisellä kaukolaukaisimella. Tavoitteena on rakentaa nykyisen kaukolaukaisimen korvaava laukaisin, joka kytketään kameroihin USB-kaapelilla. Stereokamerajärjestelmä on esitetty kuvassa 1. Kameroina käytetään kahta Canon PowerShot A480 digikameraa, jotka on pultattu kiinni metallikiskoon. Kuvassa näkyy vanha kaukolaukaisin, joka on tarkoitus korvata projektissa uudella. Kuva 1. Stereokamerajärjestelmä. Stereokameraparin kalibrointi: Jotta kameraparin stereokuvaa olisi järkevä analysoida, täytyy kumpikin kamera kalibroida ensin yksinään. Tällöin päästään eroon kameran epäidealisuuksien (geometriset vääristymät, pikselien ei-neliöllisyys kennolla yms.) aiheuttamista virheistä, ja saatu kuva vastaa todellisuutta. 2
Yksittäinen kamera kalibroidaan käyttäen hyväksi Matlabin Camera Calibration Toolboxia. Kalibroinnin seurauksena saadaan parametrit, jotka kuvaavat kameran kameravakion, pääpisteen paikan, sekä optiikan virheiden suuruutta. Tässä työssä oletetaan, että molempien kameroiden epäideaalisuudet ovat samansuuruisia, jolloin yhden kameran kalibroinnin tuloksia voidaan käyttää molemmille kameroille. Myös stereokalibrointi voidaan suorittaa Matlabin Camera Calibration Toolbox:lla, jossa on helppokäyttöiset graafiset käyttöliittymät kalibroinnin tekoa varten. Työn projektiluonteisuuden ja maksimaalisen oppimisen vuoksi stereokalibrointi saatetaan kuitenkin koodata itse Matlab skriptinä. Tästä vaihtoehdosta keskustelemme vielä tarkemmin työn ohjaajan kanssa, kun kyseinen vaihe tulee ajankohtaiseksi. Projektityön rakenne 1. Suunnitteluvaihe Tässä vaiheessa perehdytään projektityön aihealueeseen ja laaditaan alustava suunnitelma työn tekemiseen. Arvioitu työmäärä: 10-15 h Deadline: 31.1.2011 2. Yhden kameran kalibrointi Yksittäinen kamera kalibroidaan ennen kuin stereokuvapari voidaan kalibroida. Kalibrointi suoritetaan Matlabin Camera Calibration Toolboxilla. Kalibrointia varten tuotetaan Matlabilla tietokoneen näytölle tunnetun kokoinen shakkiruudukko, josta otetaan kameralla kuvia eri suunnista. Tämän jälkeen Camera Calibration Toolboxilla määritetään kameran epäideaalisuuksia kuvaavat parametrit. Arvioitu työmäärä: 15-20 h Deadline: 15.2.2011 3. Stereokuvan kalibrointi Yksittäisten kameroiden kalibroinnin jälkeen suoritetaan stereokalibrointi, johon käytetään Matlabin valmista toolboxia tai kalibroinnin suorittava algoritmi koodataan itse. Kalibroinnin tuloksena saadaan kalibrointiparametrit eli sisäiset (intrinsic) ja 3
ulkoiset (extrinsic) parametrit. Kyseiset parametrit vaihtelevat runsaasti eri yhteyksissä, joten on tärkeää tehdä selväksi mitkä parametrit toolbox määrittää ja ovatko ne riittävät. Arvioitu työmäärä: 25-30 h (riippuen paljon koodataanko kalibroinnin suorittava skripti itse) Deadline: 20.3.2011 4. Kaukolaukaisimen rakentaminen Kaukolaukaisimen rakentaminen on projektityön viimeinen vaihe. Kameran firmware tunnistaa kaukolaukaisimella tuotetun jännitepulssin, ja laukaisee kameran tämän perusteella. Alustava suunnitelma on käyttää tätä samaa jännitepulssin tunnistavaa ohjelmaa, ja tehdä uusiksi vain kaukolaukaisimen kotelointi. Jos aikaa jää, niin suunnittelemme ja toteutamme kaukolaukaisun etäohjauksella tietokoneen kautta. Arvioitu työmäärä: 15-20 h Deadline 20.4.2011 5. Dokumentointi Dokumentointia tehdään sitä mukaan kun työ edistyy, ja työn edistymistä esitellään kolmessa eri tilaisuudessa: Suunnitelman esittely, väliraportointi ja loppuseminaari. Lopuksi työn kulusta ja tuloksista kirjoitetaan raportti. Arvioitu työmäärä: 20-25 h Deadline: 30.4.2011 Riskinhallinta Yhden kameran kalibrointi on melko suoraviivainen operaatio, koska Camera Calibration Toolbox hoitaa suurimman osan työstä. Toolbox tukee kuitenkin vain tiettyjä kuvaformaatteja, eikä ole varmaa saadaanko kameralta kuvia ulos näissä formaateissa. Jos kamerasta ei suoraan saa kuvia ulos oikeassa formaatissa, voidaan käyttää jotain sovellusohjelmaa, joka muuntaa kuvia formaatista toiseen. Tämän lisäksi kyseisen toolboxin käyttö ei ole tuttua, joten odottamattomia ongelmia voi tulla eteen. Stereokalibrointi on projektin riskialttein osuus. Tarvittava matematiikka on suhteellisen monimutkaista, ja ongelmia voi tulla siinä ettei tarkalleen ymmärretä mitä tehdään. Tämän takia 4
on tärkeää tutustua huolella aiheeseen ja ymmärtää käytettävät kaavat. Lisäksi, jos päädymme koodaamaan kalibrointialgoritmin itse, voi ohjelmointi osoittautua hankalaksi ja aikaavieväksi. Kaukolaukaisin on elektroniikaltaan erittäin yksinkertainen, joten ongelmia elektroniikan toteuttamisen suhteen tuskin tulee. Ongelmia voi tulla tarvittavien osien, kuten kotelon, paristonpitimien ja painonappien saatavuuden suhteen. Näiden saatavuus on syytä selvittää hyvissä ajoin, ettei aikaa kulu osia odotellessa. 5