Framestacking: hoe kunstmatige intelligentie leert zien dat iets beweegt
Stel je voor dat je één foto krijgt van een tennisbal, ergens midden in de lucht. Beweegt die bal naar links of naar rechts? Valt hij, of stijgt hij nog? Op basis van één foto kun je dat onmogelijk zeggen. Laat je iemand echter drie of vier foto's zien die vlak na elkaar zijn genomen, dan zie je in één oogopslag de richting en de snelheid van de bal. Precies dat probleem speelt bij kunstmatige intelligentie die met camerabeelden of schermbeelden moet werken: een los plaatje vertelt niets over beweging.
Framestacking (letterlijk: het stapelen van beeldframes) is een simpele maar invloedrijke truc uit de kunstmatige intelligentie om dat op te lossen. In plaats van een neuraal netwerk één enkel beeld te voeren, geef je het een setje van de laatste paar beelden tegelijk, als één gecombineerde invoer. Zo 'ziet' het systeem direct dat iets beweegt, zonder dat je een ingewikkeld geheugen hoeft te bouwen. De techniek werd tien jaar geleden beroemd doordat onderzoekers er computers mee leerden om klassieke videogames te spelen, en wordt vandaag de dag nog steeds standaard toegepast in onderzoek naar zelflerende robots, game-AI en zelfrijdende voertuigen.
Wat is het precies?
Een neuraal netwerk dat naar beelden kijkt (een zogeheten convolutioneel netwerk, of CNN) verwerkt een afbeelding als een raster van pixels, verdeeld over een paar 'kanalen'. Een gewone kleurenfoto heeft bijvoorbeeld drie kanalen: rood, groen en blauw, die samen de kleur van elke pixel bepalen.
Framestacking maakt handig gebruik van diezelfde kanaalstructuur. In plaats van drie kleurkanalen stop je er, bijvoorbeeld, vier opeenvolgende momentopnamen in als aparte lagen. Het netwerk krijgt dus niet één plaatje te zien, maar een klein 'stapeltje' van de laatste vier beelden, meestal omgezet naar zwart-wit om rekenwerk te besparen.
In de praktijk verloopt dat ongeveer zo: het systeem legt een ruw camera- of schermbeeld vast, maakt dat zwart-wit, verkleint het naar een lage resolutie (in het bekendste voorbeeld hieronder: 84 bij 84 pixels), en bewaart steeds de laatste vier bewerkte beelden in een klein buffergeheugen. Die vier beelden worden op elkaar gestapeld tot één invoerblok en dat blok gaat als geheel het netwerk in. De eerste lagen van het netwerk pikken op waar randen en vormen tussen de vier beelden verschoven zijn, wat feitelijk een bewegingssignaal is. Latere lagen combineren die informatie tot een beslissing, bijvoorbeeld: 'stuur naar links'.
Belangrijk om te begrijpen: framestacking is geen geheugen in de eigenlijke zin. Het systeem 'onthoudt' letterlijk niets buiten het vaste setje beelden dat je meegeeft. Dat is anders dan zogeheten recurrente netwerken (met namen als LSTM of GRU), die interne informatie over langere tijd kunnen vasthouden. Framestacking is veel goedkoper en eenvoudiger, maar beperkt tot een kort tijdvenster: bij vier gestapelde frames gaat het al snel om hooguit een fractie van een seconde aan context. Hoeveel frames je stapelt is een ontwerpkeuze: meer frames geven meer temporele context, maar maken de invoer ook groter en rekenintensiever.
Wat wil men ermee bereiken?
De achterliggende ambitie is simpel: een AI-systeem een gevoel voor tijd en beweging geven, zonder daar dure architecturen voor te hoeven bouwen. Veel leeralgoritmen (met name in het zogeheten reinforcement learning, waarbij een systeem leert door te experimenteren en beloningen te krijgen) gaan ervan uit dat één 'toestand' alle informatie bevat die nodig is om de beste volgende actie te kiezen. Een los videobeeld voldoet daar niet aan: het mist snelheid en richting.
Onderzoekers zochten een oplossing die ook werkte op relatief bescheiden hardware, zoals de rekenkracht die begin jaren 2010 beschikbaar was, of zoals je die tegenwoordig in een klein robotje of een drone hebt. Framestacking is daarvoor aantrekkelijk: het kost weinig extra rekenwerk vergeleken met complexere technieken, en is eenvoudig te implementeren.
De belofte is dus niet zozeer 'een doorbraaktechnologie', maar een praktisch bouwsteentje dat AI-systemen die met beeld werken, dichter bij realtime, beweging-bewuste besluitvorming brengt. Denk aan een robotarm die moet inschatten hoe snel een object nadert, een spelend AI-personage dat een bal moet onderscheppen, of een voertuig dat moet zien of een voetganger richting de weg beweegt of ervan weg.
Voorbeelden uit de praktijk
Framestacking is vooral een 'achter de schermen'-techniek: hij haalt zelden zelf de krantenkoppen, maar zit verstopt in veel bekend AI-onderzoek.
- DeepMind's Deep Q-Network (DQN), 2013-2015. In het invloedrijke paper Playing Atari with Deep Reinforcement Learning (Mnih e.a., 2013) en de uitgebreide Nature-publicatie Human-level control through deep reinforcement learning (2015) leerde DeepMind een computer klassieke Atari 2600-spellen spelen, zoals Breakout en Pong, puur op basis van schermbeelden. De vier laatst gestapelde frames waren essentieel om de bal in die spellen te kunnen volgen.
- Rainbow DQN, DeepMind, 2017. Deze opvolger combineerde zes losse verbeteringen op het oorspronkelijke DQN-algoritme, maar behield dezelfde framestacking-voorbewerking van de visuele invoer als standaardbasis.
- OpenAI Gym (2016) en de opvolger Gymnasium (Farama Foundation, sinds circa 2021). Deze veelgebruikte onderzoeksomgevingen voor reinforcement learning leveren kant-en-klare hulpmiddelen ('wrappers') die automatisch frames stapelen. Daardoor gebruiken duizenden onderzoekspublicaties wereldwijd deze techniek nog altijd als vanzelfsprekend startpunt.
- Stable-Baselines3, een populaire open-source softwarebibliotheek voor reinforcement learning, past dezelfde vier-frames-stapeling standaard toe bij het trainen van modellen op Atari-achtige taken.
- Robotica-onderzoek naar visuele besturing. In diverse academische studies naar robotarmen en lopende robots die op basis van camerabeelden leren grijpen of bewegen, wordt een korte geschiedenis van recente camerabeelden gebruikt als invoer, in plaats van zwaardere geheugenmodellen, juist om het rekenwerk beperkt te houden op ingebouwde hardware.
Hoe ver is de techniek?
Framestacking is geen nieuwe of futuristische technologie: het idee is meer dan tien jaar oud en inmiddels een volwassen, bijna vanzelfsprekend onderdeel van de gereedschapskist in AI-onderzoek. Er wordt niet actief 'aan gewerkt' in de zin van doorbraken; het is eerder een beproefde, goedkope bouwsteen die nog steeds relevant is vanwege de lage rekenkosten.
Tegelijk kent de aanpak duidelijke grenzen. Het geheugen reikt niet verder dan het aantal gestapelde frames, waardoor gebeurtenissen van langer geleden simpelweg niet 'zichtbaar' zijn voor het systeem. De methode werkt het best bij een regelmatige, voorspelbare beeldfrequentie en is minder geschikt voor zeer trage of zeer snelle bewegingen die buiten het gekozen tijdvenster vallen. Bovendien is de invoer redundant: dezelfde achtergrond staat meerdere keren in de stapel, wat rekenkracht en geheugen kost zonder veel extra informatie te leveren.
Voor toepassingen die een langer 'geheugen' nodig hebben, zoals minutenlange planning, grijpen onderzoekers daarom vaker naar aanvullende of alternatieve technieken: recurrente netwerken, 3D-convoluties of transformer-architecturen die speciaal voor video zijn ontworpen, en expliciete bewegingsschatting (optical flow). Framestacking wordt in de praktijk dan ook steeds vaker gecombineerd met, of aangevuld door, zulke krachtigere maar duurdere methodes, in plaats van dat het wordt vervangen.
Wie werken eraan?
Omdat het om een fundamentele, breed gedeelde techniek gaat, is er geen enkel bedrijf dat 'framestacking' als eigen product claimt. Wel zijn er duidelijke pioniers en dragers van de techniek.
DeepMind (onderdeel van Alphabet/Google, gevestigd in het Verenigd Koninkrijk) maakte de aanpak wereldberoemd met het DQN-onderzoek en bouwde er in latere jaren op voort. OpenAI (Verenigde Staten) droeg bij aan de brede verspreiding van de techniek via de veelgebruikte Gym-softwareomgeving. De Farama Foundation, een non-profitorganisatie, onderhoudt tegenwoordig de opvolger daarvan, Gymnasium, als open-sourceproject voor de hele onderzoeksgemeenschap.
Daarnaast wordt de techniek toegepast door talloze universiteiten en onderzoeksgroepen wereldwijd die zich bezighouden met reinforcement learning en robotica, van de Verenigde Staten en het Verenigd Koninkrijk tot China en continentaal Europa. Framestacking wordt inmiddels standaard onderwezen in inleidende cursussen over reinforcement learning, wat laat zien hoe gangbaar het is geworden binnen zowel academisch als industrieel AI-onderzoek.