06
Nov
2017

Uptime´i arendajad ehitasid TehnoHackil pimedatele valgusfoori ära tundva mütsi

27.-29. oktoobril toimus Tallinnas Mectorys traditsioonilises formaadis hackathon, kus reedel kokku saanud tiimid pidid pühapäeva õhtuks valmis saama oma maailma muutva toote prototüübi. Uptime´ist läksid häkkima Tanel Hiob, Liisi Mõtshärg, Carl-Martin Ivask ja Siim Orasmäe, kes tegid pimedale tee ületamise abivahendi – fooris rohelist tuld ära tundva mütsi.

Kui hästituntud häkkimismaraton Garage48 on rohkem tarkvaraarendajatele, siis TehnoHack on pigem inseneridele suunatud ettevõtmine, kus proovitakse midagi käegakatsutavat valmis saada.

Miks mindi?

„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 tehti?

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 ju olla 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.

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.

Öised väljakutsed

Kõige raskem oli osalistel end hommikul kella kümneks Mektory majja tagasi lohistada, kui tööd oli tehtud eelmisel päeval hilise õhtuni. Mütsiga oli probleem, kuidas sinna töökindlalt Raspberry PI-d ja akut kinnitada. Lõpuks ei jäänudki muud üle, kui tuli 3D printeril alus välja printida ning see õmmelda-kruvida mütsi külge.

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 ja sellega veel liiklusse sukelduda praegu ei tasuks.

„Peame päris kindlalt rakendusse masinõppe lisama,“ kommenteerib 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 õhku, aga kõigil on huvi edasi proovida, kui hästi pildituvastus lõpuks tööle saab.

Ocugo 9000 tegijad jõudsid mõneks hetkeks ka Kanal 2 uudistesaates Reporter tele-ekraanile (30.-35. sekund).

Siis veel demovalgusfoori polnud ja tuli läbi ajada isejoonistatud fooriga.

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!“