Isejuhtivad autod on meedia fookuses, kuid näiteks pimedad jalakäijad (või ka need, kellel pilk kogu aeg mobiilis) vajavad liikluses abistavat juhtimist. Viimasel TehnoHackil, mis toimus Tallinnas Mectorys, tegid arendajad Uptime´ist - Tanel Hiob, Liisi Mõtshärg, Carl-Martin Ivask ja Siim Orasmäe - pimedale tee ületamise abivahendi Ocugo 9000 ehk fooris rohelist tuld ära tundva mütsi.
Foorituld tundev müts on ilmselt alles algus. Miks mitte lasta mütsil ette öelda ka liiklusmärke ja tetähistust? See kõik on praegu tehtav, sest neurovõrgud ja tehisintellekt pole enam suurfirmade kapis luku taga, vaid igale arendajale kättesaadav ja väljaõpetatav.
Foori tundev müts vajab näiteks õpetamist, et kaamerapildilt leida inimesekujulisi rohelisi elemente. Ja heita kõrvale kõik mitte-inimesekujulised või kaugemal asuvad või mitte-foorituled.
Miks mindi häkkimismaratonile?
Kui hästituntud häkkimismaraton Garage48 on rohkem tarkvaraarendajatele, siis TehnoHack on pigem inseneridele suunatud ettevõtmine, kus proovitakse midagi käegakatsutavat valmis saada.
„Kui niisama paar õhtut aastas midagi ägedat tahad ehitada ilma, et oleks peal surve investoritele hea mulje jätmiseks, siis TehnoHack on just õige koht,“ ütles Tanel Hiob, kes on ka varasematel aastatel samasse meeskonda kutsutud, kuid pole seni jõudnud.
Liisi Mõtshärg on TehnoHackil juba kaks aastat käinud. „Ühel aastal ehitasime joogi soojuse mõjul töötavat tassi, teisel aastal aga arendasime ühe veebipoe jaoks erilahendust,“ meenutab ta tehtud lahendusi. „Seekord tahtsin minna TehnoHackile, et üks nädalavahetus huvitavalt veeta ning midagi käegakatsutavat valmis ehitada.“
Carl-Martin Ivask pole varem TehnoHackil või mõnel muul hackathonil käinud, kuid on juba ülikooli algusest saati tahtnud mõnele sellisele üritusele minna. Nüüd siis õnnestuski. „Kunagi varem pole olnud olukorda, et samaaegselt leiduks sõpru, kes tahaks osalema minna ning oleks aega ja oleks ka üks vähemalt keskpärane idee,“ tõi ta välja hulga kokkusattumusi, miks ta just seekord sai lõpuks hackathonile.
Siim Orasmäe, kes küll praeguseks on Uptime´ist lahkunud, tõi TehnoHackil osalemise ühel lõunapausil teemaks ning nii otsustatigi, et tuleb minna. Ka tiimi võistlustöö idee autoriks on Siim.
Mida otsustati 48 tunni jooksul valmis teha?
Siim pakkus uitmõttena välja, et võiks teha mingi seadeldise, millega pimedad saaksid teed ületada. Peale järelemõtlemist selgus, et see võiks olla ju suhteliselt sõltumatu seade, näiteks kaamera, millega oleks võimalik fooritulesid tuvastada.
Seadme nimi Ocugo 9000 on samuti Siimu välja mõeldud.
Kuna selleks kõigeks oli vaja arvutit, mis pilti töötleb ja analüüsib, otsustati võtta väike ja lihtne Raspberry PI, millega tiimiliikmetel olid varasemad kogemused. Kuna raudvara tekkis juba päris palju, oli kõige mõistlikum see mütsi külge kinnitada.
Mida Ocugo 9000 täpsemalt teeb?
Ocugo 9000 annab seadme kandjale märku, kui lähedalasuvas fooris põleb roheline jalakäija tuli. Tehnilisemalt rääkides on Raspberry PI küljes kaamera ja arvutis jookseb programm, mis reaalajas pilti analüüsib, otsides sealt rohelist värvi ning foorimehikese kujuga siluette. Kui ta midagi suhteliselt kõrge tõenäosusega leiab, siis annabki sellest märku.
Tanel ja Carl-Martin programmeerisid tarkvara, Liisi ja Siim ehitasid demo jaoks valgusfoori ja mütsi. Reedel alustati täiesti nullist ning pühapäeva lõunaks oli olemas töötav prototüüp. Demo jaoks sai valmis ka töötav valgusfoor.
„Paraku ei suutnud me kogu müra nii lühikese ajaga pildilt ära kaotada,“ lisas Tanel, „hetkel on lahendus kalibreeritud meie mänguvalgusfoorile ja sellega päris liiklusesse minna on tungivalt ebasoovitatav. Ilmselt jääb üsna ruttu auto alla.“
Presentatsiooni ajal töötas müts aga väga hästi, kuna taustal polnud eriti rohelist müra. Mektory botaanikaaeda vaadates hakkas müts aga reageerima, sest ühe nädalavahetusega ei jõutud veel kontektsuaalset pildianalüüsi valmis teha. Ilmselt töötanuks ka linnatänaval, kui TAK-i bussid liiga rohelised ei oleks. Aga see kõik on tehniliselt kõrvaldatav masinõppe ja neurovõrkudes pildi analüüsimisega.
Milliseid tarkvaralisi tööriistu kasutati?
Rakenduse algversioon programmeeriti Windowsis: Visual Studios ja Pythonis. Raspberry PI peal tuli see tõsta Linuxisse ja edasi algas juba värvide kalibreerimine.
Enamus koodikirjutamise ajast kuluski värvitoonide ja siluettide kalibreerimisele, programmeerimine ise oli selle kõrval päris kerge. Edasine lahendus on juba väga täpselt treenitud närvivõrk valgusfooride tuvastamiseks, millega tiim seekord aga alustadagi ei jõudnud, kuna aega oli väga napilt.
Keda kood täpsemalt huvitab, see leiab selle Githubist.
Kui esimesel päeval veel testiti joonistatud pildiga valgusfoorist ja paari fotoga linnadžunglist, siis teisel päeval sai valmis demovalgusfoor, millega võis rakendust kalibreerima hakata, kuna seda oli efektse presentatsiooni jaoks vaja. Kolmandal päeval jalutas Liisi mütsiga majas ringi ja sai ka võimalikku pildimüra testida.
Mis saab edasi?
Selge see, et 48 tunniga ei jõua veel valmis viimseni lihvitud riist- ja tarkvaratoodet, mis töötab igas olukorras. Ocugo 9000 on oma esimeses arendus-etapis.
„Peame päris kindlalt rakendusse masinõppe lisama,“ kommenteeris asjade seisu Tanel, „see peab pildilt valgusfoore otsima ja ainult foori pealt rohelist kuju tuvastama. Hetkel leiab müts üllatavalt edukalt kõik TAK-i rohelised bussid üles, need on ju peaaegu sama värvi, kui linna valgusfoorid.“
Veel tuleb otsustada, kas tõsta masinõppe osa telefoni või pilve või jätta hoopis väikese Raspberry PI enda sisse. Lahtiseid küsimusi jäi, aga kõigil on huvi edasi proovida, kui hästi pildituvastus lõpuks tööle saab.TehnoHackil osalenud tiim usub, et kui seade lõpuks veatult fooridest rohelist tuld leidma hakkab, siis otsib keegi tegijad üles, et seda lahendust kerge vaevaga kuhugi kohaldada.
„Üldiselt oli huvi meie projekti vastu päris suur,“ tõdeb Tanel, „ja väikese auhinna võitsime ka. Seega väga edukas nädalavahetus!“