kunstig intelligens

FPGA og kunstig intelligens gjør dansk overvåkning «personvern-vennlig»

Lavt strømforbruk og optimert ytelse gjør FPGA-chips til et opplagt valg for danske Grazper, som utvikler overvåkningsløsninger med personvern som en integrert del av konstruksjonen.

For å få et overblikk over sykkeltrafikken har Københavns Kommune satt opp syklistskannere, blant annet på Nørre Farimagsgade. Kameraene lagrer ikke bilder av syklistene, men analyserer bildet og sender data videre om det antallet syklister som har blitt registrert.
For å få et overblikk over sykkeltrafikken har Københavns Kommune satt opp syklistskannere, blant annet på Nørre Farimagsgade. Kameraene lagrer ikke bilder av syklistene, men analyserer bildet og sender data videre om det antallet syklister som har blitt registrert.

Hvordan overvåker man biler, syklister og fotgjengere for å få trafikken til å flyte så problemfritt som mulig? Eller hvordan kan vi analysere atferden til kundene i et supermarked mens de triller rundt med handlevognene?

Det nærliggende svaret er å sette opp kameraer som strømmer video videre til manuell eller automatisk analyse på et eksternt sted. Men her dukker det plutselig opp to problemer i horisonten – et teknisk, som handler om sikring av tilstrekkelig båndbredde, og ikke minst et etisk: å sikre privatlivets fred.

Begge disse tingene har den danske it-bedriften Grazper Technologies satt seg fore å løse med en FPGA-basert overvåkningsløsning, der analysedelen foregår inne i kameraet – edge analytics, som det kalles med et av bransjens mange nye betegnelser.

Tanken er å kombinere en robust og effektiv innebygd (embedded) maskinvare-løsning i selve kameraet med deep learning-algoritmer fra AI-verdenen for å oppnå «privacy by design», hvor videoen blir slettet rett etter analysen.

– Det finnes mange gode grunner til å foreta analyse-delen inne i selve kameraet, og én av dem er GDPR (EUs nye personvernforskrifter, red.). Vi lager innebygde løsninger for videoanalyse hvor vi kan finne ut av hva som foregår på videoen, uten å sende folks ansikter videre. I stedet sender vi for eksempel bare videre informasjon om hvor mange sykler som har kjørt forbi kameraet, forklarer Thomas Jakobsen, som er medstifter og administrerende direktør i Grazper Technologies.

På maskinvarefronten er det en såkalt FPGA som er stjernen i Grazpers løsning; noe som Thomas Jakobsen nylig fortalte mer om på konferansen High Tech Summit 2018.

Et avansert kretskort-byggesett

For de uinnvidde er en FPGA (Field Programmable Gate Array) en spesiell type mikrobrikke som, i motsetning til mer klassiske CPU-er og GPU-er, gjør det mulig for programmereren å konfigurere brikkens virkemåte helt ned på logikknivå. Dette er en slags veldig avansert kretskort-byggesett, hvor programmereren går inn i rollen som elektronikkingeniør som selv kan konstruere sine egne kretsløp. Prosessen skjer konkret i det maskinvare-beskrivende programmeringsspråket VHDL.

Grazper kunne i prinsippet alltids ha løst problemet med en GPU fra for eksempel NVIDIA. Men FPGA-ens grunnleggende oppbygning og virkemåte har gjort det mulig for Grazpers programmerere å løse problemet på en måte som er langt bedre optimert. I praksis kan Grazper for tiden omtrent halvere strømforbruket ved å bruke en FPGA i stedet for en mobil GPU.

Artikkelen fortsetter under.

Illustrasjon: MI Grafik

– Innenfor dette området konkurrerer man på et mer overordnet plan mellom FPGA-er og GPU-er. På treningsdelen (av de nevrale nettverkene, red.) har GPU-ene en stor fordel, men så snart dette skal ned i en robot eller et kamera og ta så liten plass som mulig, har FPGA-ene en fordel, siden du kan bygge opp de elektroniske kretsløpene helt ned på logikknivå, sier Thomas Jakobsen.

En viktig forskjell på de to brikke­typene er at GPU-ene grunnleggende er konstruert for å flytte rundt på data i 32-bit floating point-formatet. Men for det praktiske problemet som Grazper skal løse – gjenkjenning av for eksempel ansikter eller sykler i videobildene – er det slett ikke nødvendig å ha så stor båndbredde til rådighet. Litt forenklet sagt blir det for mye plass til overs i den kassa som dataene oppbevares i.

Når Grazpers løsning skal kjenne igjen bestemte trekk i et bilde, er det de velkjente nevrale nettverkene fra den kunstige intelligensens verden som kommer på banen. Metoden har vært benyttet siden i hvert fall 1980-tallet, men de siste årene har de økende datamengdene og en oppgradering av ytelsen til maskinvaren, gjort det mulig å jobbe med nevrale nettverk som er «dypere» enn tidligere.

– Vi bruker deep learning som en skikkelig god «hammer» til å løse disse problemene, sier Thomas Jakobsen.

Konkret har det lyktes Grazpers programmerere å representere vektene i det nevrale nettverket med 1 bit:

– Beregningene i nevronene er jo i virkeligheten bare et prikkprodukt matematisk sett, hvor man ganger en masse verdier med hverandre. Det fungerer fint med 32-bit floating point på en GPU, men det tar opp masse plass på silisium. Vi så på hvor langt vi kunne gå ned i båndbredde uten å miste presisjonen, og endte med 1 bit for vektene. Det innebærer at båndbredden til det minnet som skal strømme inn vektene går ned til en 32-del sammenlignet med en GPU, forklarer Thomas Jakobsen.

Bedre presisjon med færre bits

Resultatet er ifølge direktøren at deep learning-algoritmen nå kan avvikles på en veldig kompakt FPGA. Men den harde optimeringen har også den fordelen at algoritmen har blitt bedre til å kjenne igjen for eksempel sykler generelt i stedet for akkurat de syklene som finnes på bildene.

– Vi ble overraskede over at det nevrale nettverket beholdt sin evne til å generalisere, og faktisk ble bedre til det når vi reduserte antallet bits, sier Thomas Jakobsen.

Grazper-direktøren understreker, at bedriften ikke er gift med FPGA-er. Men for tiden ser han at de har en fordel til oppgaver der det strømmes store mengder data inn og ut av en enhet som for eksempel under trafikkovervåkning. Dessuten er det en fordel at FPGA-ene kan fås i robuste versjoner som blant annet overholder bilindustriens strenge krav til toleranse av temperatur, vibrasjoner og andre fysiske påvirkninger.

Før man kaster seg ut i et FPGA-prosjekt, bør man også være klar over at læringskurven er brattere enn med tradisjonelle prosessorer og mikrokontrollere.

– Det krever dyktige folk hvis man virkelig skal kunne håndtere disse FPGA-ene og gjøre koden helt strømlinjeformet. Det tar lenger tid å utvikle den, sier Thomas Jakobsen.

Thomas Jakobsen ga nylig et foredrag om embedding of high performance computing i FPGA-er på konferansen High Tech Summit på Danmarks Tekniske Universitet.

Artikkelen har tidligere vært publisert på Ingeniøren (ing.dk). Ingeniøren tilhører Teknologiens Mediehus.

Powered by Labrador CMS