Sinds foto en video digitaal zijn, kun je beelden eindeloos nabewerken. Er komen steeds betere algoritmes om het maximale uit deze data te halen. Een zelflerend neuraal netwerk kan nu pixels uit een bijna zwarte foto omzetten in een plaatje dat bij daglicht gemaakt lijkt. Mogelijk lukt dit binnenkort zelfs simultaan in video-opnames.
In het digitale tijdperk bestaan originele of onbewerkte foto’s eigenlijk niet meer. Goedkope camera’s produceren alleen maar JPEG’s: foto’s waarin het beeld al gecomprimeerd is voor het op de geheugenkaart terechtkomt. De subtielste details – voor een deel ruis, trouwens – zijn daarbij al verloren gegaan. De camera’s van mobiele telefoons laten ongevraagd allerlei software op foto’s los. Daarmee laten ze bijvoorbeeld gezichten er gladder en aantrekkelijker uitzien.
Opslaan in RAW
Alleen bij duurdere camera’s kun je instellen dat foto’s ook in het zogenaamde RAW-formaat opgeslagen worden. Een RAW-bestand bevat in principe nog wel alle informatie die de optische camerachip opnam bij het maken van een foto, al zijn ook deze data enigszins voorbewerkt. Serieuze fotografen bewaren hun foto’s ook in RAW, zodat ze alle opties voor nabewerking open houden.
Zelfs jaren oude foto’s kunnen dan nog opgeknapt worden als er nieuwe mogelijkheden voor nabewerking komen. Zo bestaat er sinds enige tijd software die landschapsfoto’s verbazend realistisch kan ontdoen van mist en nevel.
Chen Chen van de universiteit van Illinois en drie onderzoekers van Intel hebben nu een nabewerkings-procedure gemaakt voor RAW-bestanden. Die kan de hoeveelheid licht in een foto achteraf met een factor honderd of meer virtueel opkrikken. Dat gebeurt op een intelligentere manier dan in bestaande fotobewerkingsprogrammma’s. Die hebben een schuifknop voor ‘helderheid’, maar daarmee verhelder je in wezen de ruis in onderbelichte opnames net zo veel als het beeld zelf. Er bestaan weliswaar ook methodes om ruis te onderdrukken, maar die zijn niet intelligent in de zin dat ze enig idee hebben wat de inhoud van de foto is.
Neuraal netwerk
Chens ‘nachtzicht’-software, daarentegen, gebruikt een neuraal netwerk. De architectuur ervan is geïnspireerd door de visuele cortex, het deel van onze hersenen dat beelden verwerkt. Zo’n netwerk leert om beelden te herkennen in zeer donkere foto’s. Het doet dat door paren foto’s van een tafereel te bekijken, waarvan er één optimaal belicht is, en de andere sterk onderbelicht. Na training met vijfduizend van die paren, met een grote diversiteit aan taferelen (gezichten, landschappen, interieurs, etc.), bleek het netwerk van Chen en collega’s goed in staat om ook uit nieuwe, bijna zwarte foto’s het correcte beeld naar boven te halen.
Dit is een eerste test, maar volgens Chen is er nog meer winst te behalen: “Als het netwerk wordt getraind op specifieke objecten (bijvoorbeeld alleen gezichten, of alleen huizen, aj), wordt de taak makkelijker en ik denk dat het resultaat dan beter wordt dan met algemene beelden,” mailt hij desgevraagd. Je kunt je dus voorstellen, dat een fotograaf meerdere varianten van het systeem gebruikt voor specifieke taken.
Een neuraal netwerk – dat overigens bijna altijd op een gewone computer gesimuleerd wordt – bestaat uit een input-laag, een output-laag, en meerdere lagen daartussen. De input-laag krijgt in dit geval de ruwe data van de foto binnen, de output-laag geeft het uiteindelijke beeld weer. De lagen daartussen verwerken die data.
Instelbare gewichten
Elke laag bestaat uit een groot aantal ‘neuronen’, en elk neuron is verbonden met neuronen in de laag daarboven en daaronder. Elk neuron werkt als een schakelpunt dat afhankelijk van de input van neuronen in de bovenlaag, al of niet een signaal doorgeeft aan neuronen in de onderlaag. Elke verbinding heeft een instelbaar ‘gewicht’, dat bepaalt hoe sterk die het onderliggende neuron beïnvloedt. In de trainingsfase, door het vergelijken van de fotoparen, worden de gewichten van de vele duizenden verbindingen tussen de neuronen optimaal ingesteld op de taak die het neurale netwerk moet vervullen. Dit komt globaal overeen met hoe de hersenen werken. Ook die bestaan uit netwerken van neuronen, met vele onderlinge verbindingen, waarvan de sterkte kan veranderen onder invloed van ervaringen en leerprocessen.
Er zijn talloze mogelijkheden om een neuraal netwerk op te bouwen en te bedraden met verbindingen. Maar: hoe meer neuronen, verbindingen en lagen, hoe trager het netwerk wordt. Het verwerken van een foto van 6000 × 4000 pixels in minder dan een seconde legt daarom flinke beperkingen op aan de netwerkarchitectuur. De onderzoekers kozen na het uitproberen van diverse opties voor een zogeheten U-net dat oorspronkelijk is ontwikkeld om medische beelden van scans of microscopen te interpreteren. Deze netwerk-architectuur vertoont overeenkomst met hoe de ‘bedrading’ van het netvlies in het oog georganiseerd is. Een U-net vergt weinig geheugenruimte in de computer en heeft relatief weinig trainingsfoto’s nodig om een taak te leren.
Uit de losse pols
Deze methode van nabewerking kan in principe als software op een gewone PC draaien. Waar je nu, bijvoorbeeld bij maanlicht, een sluitertijd van een seconde of meer (en dus een statief) nodig hebt, zou je daarmee uit de losse pols actiefoto’s met sluitertijd 1/100 kunnen schieten zonder motion blur (onscherpte doordat je onderwerp beweegt).
Een nabewerkingstijd van een seconde is voor foto’s geen probleem, maar de ambitie van de onderzoekers gaat verder. Chen: “Met wat optimalisatie van het netwerk, kan het ook geïmplementeerd worden in de camera zelf. Ik weet niet zeker of dit in de hardware van bestaande camera’s past, maar hier wordt al aan gewerkt.”
Zelfs video, met dertig beeldjes per seconde, kan door deze ontwikkelingen straks spectaculair verbeteren. Daarvoor moet dan wel de software in de camera zelf zijn ingebouwd en moet de verwerkingstijd worden teruggebracht tot zo’n 1/50 seconde. Dan ziet je camera ook ‘s nachts echt meer dan jij zelf.