Traineeprosjekt med Microsoft Azure og Hololens

Det har skjedd en hel del siden Helga Woll Lunder ga en oppdatering fra Division Trainee-prosjektet hos Visma. Det var ikke uten grunn at hele gjengen pustet lettet ut da vi endelig stoppet utviklingen og sa oss fornøyde med resultatet. På det tidspunktet var det kun to uker til vi skulle møte opp i Madrid foran 1000 Visma-ansatte for å presentere arbeidet.

Som ethvert prosjekt hvor man tar i bruk ny teknologi, så ligger det utfordringer og lurer rundt hver sving. Som utvikler blir man ofte bortskjemt av Google. Alle problemer har en løsning som lett kan finnes med en nettleser og noen få tastetrykk. Men hva gjør du når det eneste resultatet du finner er en diskusjon på et obskurt nettsted hvor tre andre sitter med samme problem som deg, og ingen har et svar? Vel, du sluntrer bort til kaffemaskinen, finner frem en kopp, og gjør deg klar for et dypdykk inn i ukjente farvann (også kjent som kildekode).

Det har preget prosjektet at vi sitter og jobber med ny teknologi, som er under stadig utvikling, og brukes av et fåtall av mennesker. Som oftest finnes det få, dårlige eller ingen eksempler, og dokumentasjon som er mer enn én måned gammel kan nærmest stemples som “utdatert”. Det skal mye ros ut til hele gjengen, som konstant har vært fremoverlent og tatt enhver utfordring på strak arm. Sammen har vi fått dette til å fungere, og mestret en del av en ny verden innenfor Augmented Reality.

Da vi møttes i Madrid var det med et smil om munnen. Det eneste som gjenstod var å presentere resultatet. Men få kan si seg helt komfortable med å stå foran folk og snakke. Når man da i tillegg er nyutdannet, ferskt ansatt i et selskap og skal stå foran 1000 stykk?

Vel …

Nervøs mann svetter

Simo Partinen, som var en del av teamet fra Finland og en av de på scenen, hadde pulsklokka på. Han kunne vise at blodpumpa gikk med god margin over hvilepuls mens han stod der oppe. Selv her imponerer gjengen igjen, og fremføringen gikk på skinner. Vi har levert et arbeid og et resultat som jeg trygt kan si meg stolt av å ha vært en del av. Det har vært en utrolig kul opplevelse å få jobbe med denne gjengen på såpass ny teknologi.

Så, hva har vi egentlig gjort? Hva er det som ligger bak resultatet og lurer i koden som ingen kan se? La oss ta et lite teknisk dykk, gå over alle bitene og se hvordan alt er skrudd sammen.

1: Hololensen

Det er dette headsettet fra Microsoft som er kjernen i prosjektet. Det tar seg av å skanne område rundt deg, ta bilder og vise hologrammer med resultatet. Rent teknisk bruker vi headsettets kamera til å ta et bilde. Hololensen sender så bilde til Microsoft sitt Facial Recognition API. Resultatet vi får tilbake forteller oss hvorvidt det er oppdaget noen ansikter i synsfeltet til personen som har på seg Hololensen, og om det isåfall er en person som vi vet hvem er.

API’et sender også tilbake et ID-nummer, samt et navn hvis personen er kjent. Men, vi ønsker gjerne å kunne vise mer informasjon. Så vi sender ID-nummeret ned til en egen database, og henter opp relevant informasjon vi har lagret om personen. Når alt dette er hentet, og lagret lokalt på headsettet, genereres det et hologram hvor vi plasserer informasjonen slik at brukeren kan se, og redigere resultatet.

Hologrammet, og det man ser i Hololensen, er utviklet i Unity, og bygges derfra over til et Visual Studio prosjekt. Her brukte vi C# til å programmere funksjonaliteten, og installerte så programmet på Hololensen hvor det kjøres helt frittstående.

2: Microsoft Face API

Dette er et API fra Microsoft som kombinerer en egen database og maskinlæring for å kjenne igjen ansikter og personer. Man lager seg en gruppering med personer man ønsker å kunne gjenkjenne og legger inn navn og noen bilder av hver enkelt. API’et trener så opp en gjenkjenner slik at det senere kan kjenne igjen personen på et nytt bilde. Vi har satt opp et skript som tar seg av hele denne prosessen, og bruker vår database som mal, slik at de som ligger i Microsoft sitt API alltid tilsvarer det vi har lagret “lokalt” (i vår Azure database). Dermed har vi full styring, uten at vi trenger å bruke dette API’ets egne kontrollmetoder. Sletter vi noe i vår database, fjernes det fra Microsoft sitt Face API, og visa versa.

3: Azure Database

Det er satt opp en database i Azure, og et tilhørende API slik at Hololensen skal kunne snakke med denne. Det gjør at vi selv kan velge hvilken informasjon vi vil ha, eller vise på Hololensen etter at Microsoft sitt Face API har returnert et ID-nummer. Databasen holder oversikt over hvilke personer vi vet hvem er, og hvilke personer som enda ikke er identifisert.

Så der har du det. Mye er ganske kjent teknologi, og de største utfordringene har vært de som er direkte relatert til Hololensen.

Er du snart ferdig med utdannelsen og klar for nye utfordringer som konsulent? Sjekk ut traineeprogrammet i Visma Consulting da vel!

Se mer om traineeprogrammet Nytt Krutt

John Ketil Willoch jobber som utvikler i Visma Consulting. Han er utdannet som robotikkingeniør ved Universitetet i Oslo. John er fremoverlent og har spesielt stor interesse for ny teknologi og maskinlæring/AI.
Connect with John Ketil: