Slim video analyse algoritme kijkt 15x sneller dan jij en ik

AI kan specifieke objecten zoals diersoorten herkennen in video. Het kan ook kleine stukjes video uit één hele grote video halen. Dan kijk je alleen terug wat relevant is. Dit kan ecologen en onderzoekers veel tijd besparen. 

Prestaties van zulke video analyse filters vallen in de praktijk tegen, horen wij vaak. Video analyse tools zijn traag en doen veel te lang over hun taak. Zou dat niet anders kunnen? 

Wij deden praktijkonderzoek met als voorlopig resultaat: een algoritme dat één uur video filtert binnen 5 minuten. En we denken dat het nog (veel) sneller kan.

Video analyse filter met AI beeldherkenning

Aanleiding: sneller verwerken van natuurmonitoring

In natuurmonitoring wordt video steeds vaker toegepast, vooral dankzij de snelle ontwikkeling van hardware, energievoorzieningen en mobiele verbindingen. 

Maar de meeste videoregistraties worden geactiveerd met bewegingsdetectie. Dat levert veel vals positieven op. Wildcamera’s registreren wuivende bosjes of opwaaiende bladeren. Onderwatercamera’s registreren passerende takken en luchtbellen. 

Dit levert allemaal beeldmateriaal op, dat daarna door onderzoekers moet worden onderzocht. Het is de typische ‘ruis’ die dit soort werk vervelend maakt en echt efficiënte en grootschalige toepassing in de weg zit.

Antwoord: video-analyse filter met beeldherkenning

Wat als je videomateriaal kunt filteren op specifieke doelsoorten, en de fragmenten kunt bewaren die écht relevant zijn voor je onderzoek? 

Hier kan AI een rol spelen. Een beeldherkenningsmodel dat specifieke soortgroepen herkent, kan helpen vast te stellen of in een videoframe een soort wel of niet in beeld is.

Verschillende tools en platforms bieden de mogelijkheid om video te analyseren met een voorgekookt of zelf getraind model. De doelstelling van deze tools is om van een videobestand relevante fragmenten te genereren. De aandacht van de ecoloog of onderzoeker kan dan uitgaan naar de fragmenten. 

Probleem: slechte performance video-analyse tools

Nadeel: dit proces duurt meestal veel te lang. Het analyseren van één uur video kost dan evenveel tijd, of zelfs nog meer. 

Wat nu als je wekelijks de ‘oogst’ van je wildcamera’s of onderwatercamera’s wil analyseren? En niet van één, maar van laten we zeggen, een stuk of 10 camera’s tegelijk? 

Dat duurt natuurlijk veel te lang. Met als gevolg dat je, ondanks het mooie resultaat van AI, hiermee nog steeds geen winst in schaalbaarheid verkrijgt. 

Oplossing: ‘fast-forward’ video-analyse

Vanuit experimenten en praktijktests hebben we een simpel maar effectief algoritme uitgewerkt. We maken hierbij gebruik van het feit dat video weliswaar uit vele frames bestaat, maar dat die frames elkaar ook snel opvolgen en daardoor grotendeels identiek zijn.

Onder meer door frames te bufferen en steekproefsgewijs in verschillende stappen door een video te ‘spoelen’, lukt het om met een dynamisch, minimaal aantal modelanalyses de hele video te analyseren.

Het resultaat: één uur video analyse in 5 minuten

Het ‘fast-forward’ mechanisme, gecombineerd met een door ons geoptimaliseerd beeldherkenning model, zorgen ervoor dat we nu één uur video binnen 5 minuten kunnen analyseren. 

Anders gezegd: geef je dit algoritme 24 uur aan videomateriaal, dan heb je binnen 2 uur de relevante fragmentjes op je buro liggen, inclusief een datarapportage.

Niet gek: dat is bijna 15x zo snel als de originele videosnelheid.

De toekomst van video analyse

We denken dat het mechanisme nog sneller kan, daarom blijven we hier voorlopig aan werken. Ook willen we dit jaar de mogelijkheden onderzoeken om dit mechanisme dichter on-edge uit te voeren, dus direct op een camera of in andere (netwerk) hardware.

Voorbeeld: visherkenning op onderwater video

Hieronder zie je een voorbeeld van de resultaten van het algoritme, dat in dit geval is ingesteld voor het herkennen van vissen op onderwater video’s. De video van ruim drie minuten werd geanalyseerd in 14 seconden.

Onze hele video-analyse videocollectie kun je ook hier bekijken.

Input: onderwater video (3min)

Als input voorbeeld maakten we een video van 3 minuten met stromend water, dwarrelende takjes en blaadjes. Ergens in het midden passeert een visje. 

NB: deze open-source video hebben wij in een ‘loopje’ gemonteerd om tot een paar minuten video te komen, zodat we de verwerkingssnelheid goed kunnen meten.

Output: fragment (7s)

De output van het algoritme is één fragment: de 7 seconden waarin een visje passeert:

Het algoritme in actie

Hieronder zie je hoe de video van 3 minuten verwerkt werd. De totale operatie duurt 14 seconden.

Hoe werkt het?

Een logische vraag bij dit soort AI-oplossingen is: hoe pas ik dit nu zelf toe? 

Wij ‘verpakken’ algoritmes meestal in een generieke applicatie. Dat betekent dat je het in vrijwel iedere omgeving kunt uitvoeren. 

Toepasselijke scenario’s zijn:

  • Lokaal uitvoeren op je eigen laptop of computer: plaats videofiles (b.v. vanaf een sd-kaart) in een map en verwerk ze allemaal in één keer.
  • Automatische verwerking op een (ftp) server: verwerk nieuwe videofiles automatisch (handig als je camera’s naar FTP loggen).
  • Verwerking in een online webapplicatie: upload je videofile(s) en ontvang een mailtje als de resultaten klaar staan.
Neem voor vragen of meer informatie gerust contact met ons op.