Väljer ut fixpunkter
Teknikchefen Simon Mika förklarar matematiken i systemet:

– Man börjar med att välja ett antal tydliga fixpunkter i en bild, så kallade tie points, som lätt bör kunna upptäckas i nästa bild också. Man deriverar bilden så att man bara får kantinformationen kvar, ungefär som med find edges-filtret i Photoshop, och letar efter hörn eller spetsar, till exempel sadelpunkter, men inte exempelvis en vertikal linje. Man behöver koordinater i både x- och y-led.


Simon Mika, Imint

Processen fortsätter med att man letar upp samma tie points i nästa bild och försöker matcha. En viss minsta mängd tie points måste återfinnas i nästkommande bild, annars kan man inte stabilisera. Det är här Imints ”hemliga sås” kommer in, att kunna hitta rätt tie points, tillräckligt fort.

Det är några kritiska avgöranden som måste göras – är det en panorering som sker, eller en in- eller utzooming? Och vilka tie points måste slängas för att de troligtvis är ett rörligt objekt?

Avancerad matte
De matematiska metoderna bakom hur man därefter finner den globala rörelsen, den kritiska transformationen, styrs av ett antal matrismultiplikationer som fick undertecknad att önska att han hört upp bättre på matematiklektionerna.

– Resultatet är ett svar i form av en matris som berättar hur många pixel en punkt har rört sig från en bild till nästa, och vart, och en annan matris som berättar hur mycket bilden vridit sig, skalats om, etcetera. Avsikten är att alltid följa bakgrunden, för att kunna hålla den still vid bildstabilisering, eller för att skilja ut rörliga objekt, säger Simon Mika.

Har alla tie points rört sig åt samma håll, handlar det om en enkel linjär rörelse. Har de rört sig isär är det en inzoomning, har en av dem rört sig mer än de andra är det en perspektivförskjutning. Normalt förkommer alla rörelsetyper samtidigt om kameran är monterad på något som rör sig.

– När man känner mappningen mellan bilderna kan man ta bort det som är lika i båda och fortsätta med att titta på den eller de tie points som inte rört sig enligt den globala rörelsen, om sådana finns. Om tillämpningen går ut på följning är det de föremålen man lämpligen kan inrikta sig på att följa, säger Simon Mika.

Så här används Imints produkter för spaning. För det mesta flyger man uav:n med en joystick och när man hittat något intressant låser man planet på det objektet, varefter planet flyger i cirkel runt det automatiskt. Alternativt kan planet flyga en förprogrammerad rutt och spana av förutbestämda mål. Laserpekaren kan dels användas för avståndsmätning, dels för att peka ut mål för andra stridskrafter. Föremål kan pekas ut med koordinater ned på enskilda pixlar i bilden.

Ihvert kan kompensera för förflyttningar i många led, medan en vanlig skakstabiliserad kamera bara klarar x- och y-led. En spaningskamera flyttar sig i flera olika led och vrider sig i luften, samtidigt som perspektivet kan ändras. Men Ihvert vränger tillbaka bild för bild på 40 millisekunder. Effekten är förvånande, men svår att illustrera i stillbild.

Gummisnoddsprincipen
Panorering är en slags rörelse i sidled. När ska algoritmen släppa efter och medge panorering? Själva idén med stabilisering är ju att eliminera rörelser i olika led.

Imint använder sig av gummisnoddsprincipen. Man har ett område i mitten där rörelse i indata aldrig resulterar i rörelse i resultatet, men om rörelserna blir väldigt stora börjar bilden panorera. Ju större rörelserna är, alltså ju närmare kanten av bildytan nästa bild hamnar, desto större rörelse i sidled tillåts i resultatet.

Graden av rörelse (amplitud) och hur snabba rörelser (frekvens) som ska resultera i en förflyttning kan man ställa in för varje tillämpning.

Ska ignorera joysticken
– Nästa problem är att se till att algoritmen inte motverkar operatörens joystick-rörelser, eftersom det faktiskt är önskade rörelser. Huvudsaken är att övergången görs mjukt, säger Simon Mika.

Det här kan tyckas vara väldigt processorkrävande, särskilt om det ska ske i realtid, men det är det inte. Imint har infört ett antal optimeringar, som att bara betrakta mindre delar av bilden i lägre upplösning till att börja med och söka vidare i allt högre upplösning inom ett begränsat område. Avsikten är att programmet i slutänden ska kunna exekvera tillsammans med annan styrprogramvara på en bärbar dator av inte allt för modernt snitt. Som referens använder man den typ av bärbar Toughbook som Försvaret använder sig av.
Det mesta som Imints Vidhance kan göra, kan vem som helst göra i Photoshop, men Imint gör det i strömmande video i hd-kvalitet och med bara 40 millisekunders fördröjning.

I samtliga fall gäller naturligtvis att bilden aldrig kan bli bättre än vad kameran presterar. Imint kan inte göra magi. Finns det inga användbara gråtoner nere i det svarta, kan man inte trolla fram några. Så en högklassig, lågbrusig kamera är ett bra första steg mot förbättrade bilder.