Het origineel artikel is geplaatst op de website en gepubliceerd op 3DNews met toestemming van de auteur. We geven de volledige tekst van het artikel, met uitzondering van het enorme aantal links — die zijn handig voor degenen die serieus geïnteresseerd zijn in het onderwerp en het theoretische aspect van computatiefotografie dieper willen bestuderen, maar voor het brede publiek vonden we dit materiaal overbodig.
Tegenwoordig kan geen enkele smartphonepresentatie zonder het bespreken van de camera voorbijgaan. Elke maand horen we over weer een nieuwe doorbraak in mobiele camera's: Google leert Pixel om in het donker te fotograferen, Huawei zoomt als een verrekijker, Samsung voegt lidar toe, en Apple maakt de rondste hoeken ter wereld. Innovaties stromen tegenwoordig rijkelijk.
Iets wat spiegelreflexcamera's lijken stil te staan. Sony laat elk jaar iedereen kennismaken met nieuwe sensoren, terwijl fabrikanten lui de laatste versie alleen maar bijwerken en verder gewoon ontspannen toekijken. Ik heb een spiegelreflexcamera van $3000 op mijn bureau liggen, maar op reis neem ik mijn iPhone mee. Waarom?
Zoals een klasiek schrijver zei — ik ging het internet op met deze vraag. Daar wordt er gepraat over allerlei 'algoritmes' en 'neuraal netwerken', zonder te begrijpen hoe ze precies de fotografie beïnvloeden. Journalisten lezen luidkeels het aantal megapixels voor, bloggers maken gezamenlijk betaalde unboxings, en estheten zich over het 'gevoelige perceptie van de kleurenpalet van de sensor'. Alles gaat z'n gangetje.
Ik moest zitten, de helft van mijn leven besteden en zelf alles uitzoeken. In dit artikel vertel ik wat ik heb geleerd.
Wat is computatiefotografie?
Overal, inclusief Wikipedia, geven ze ongeveer deze definitie: computatiefotografie — elke techniek voor het vastleggen en verwerken van beelden, waarbij in plaats van optische transformaties digitale berekeningen worden gebruikt. Het is allemaal goed, behalve dat het niets verklaart. Autofocus valt er zelfs onder, maar plenoptische fotografie past er niet in, terwijl die ons al veel nuttigs heeft gebracht. De vaagheid van officiële definities lijkt te suggereren dat we geen idee hebben waar we het over hebben.
De pionier van computationele fotografie, professor aan Stanford Marc Levoy (hij is nu verantwoordelijk voor de camera van Google Pixel), biedt een andere definitie — een set van computer vision-methoden die de mogelijkheden van digitale fotografie verbeteren of uitbreiden, waarbij reguliere foto's worden geproduceerd die technisch gezien niet met deze camera op de traditionele manier gemaakt konden worden. In dit artikel houd ik me aan zijn definitie.
Dus, smartphones waren de schuldigen.
Smartphones hadden geen andere keuze dan een nieuwe vorm van fotografie te brengen — computationele fotografie.
Hun kleine, ruisende sensoren en piepkleine, lichtzwakke lenzen zouden volgens de wetten van de fysica alleen maar pijn en lijden moeten veroorzaken. En dat deden ze, tot de ontwikkelaars slim genoeg waren om hun sterke punten te gebruiken om de zwakke te overwinnen — snelle elektronische sluiters, krachtige processors en software.

De meeste grote onderzoeken naar computationele fotografie vonden plaats tussen 2005 en 2015, wat in de wetenschap als letterlijk gisteren wordt beschouwd. Momenteel ontwikkelen we in onze ogen en onze zakken een nieuwe tak van kennis en technologie die er nooit eerder is geweest.
Computationele fotografie is niet alleen selfies met neuro-bokeh. De recente foto van een zwart gat zou niet zijn ontstaan zonder computationele fotografiemethoden. Om zo'n foto met een normale telescoop te maken, zouden we deze zo groot als de aarde moeten maken. Echter, door de gegevens van acht radiotelescopen op verschillende plekken op onze planeet te combineren en een paar scripts in Python te schrijven, kregen we de eerste foto van een gebeurtenishorizon ter wereld. Ook voor selfies is het bruikbaar.

Begin: digitale verwerking
Stel je voor dat we terug in 2007 zijn. Onze moeder is anarchie en onze foto's zijn ruisige 0,6-Mp JPEG's, gemaakt op een skateboard. Rond die tijd kregen we de eerste onbedwingbare drang om presets erop te gooien om de armoede van mobiele sensoren te verbergen. Laten we onszelf daar geen ontzegging van doen.

Matan en Instagram
Met de opkomst van Instagram raakten iedereen geobsedeerd door filters. Als iemand die ooit X-Pro II, Lo-Fi en Valencia reverse-engineered heeft, uiteraard voor 'onderzoeksdoeleinden', herinner ik me nog dat ze uit drie componenten bestonden:
- Kleurinstellingen (Hue, Saturation, Lightness, Contrast, Levels, enzovoort) - eenvoudige digitale coëfficiënten, precies zoals in de presets die fotografen sinds de oudheid hebben gebruikt.
- Kleurmapkaarten (Tone Mapping) - vectorwaarden, waarvan elke zei: 'Rood met een tint van 128 moet veranderen in tint 240.'
- Overlay - een semi-transparante afbeelding met stof, korrel, vignettering, en alles wat kan worden geplaatst voor een niet alledaagse retro filmlook. Het was niet altijd aanwezig.
Moderne filters zijn niet ver van deze drie afgekomen, ze zijn alleen iets complexer geworden in de wiskunde. Met de opkomst van hardware-shaders en OpenCL op smartphones werden ze snel herschreven voor de GPU, en dat werd als ontzettend gaaf beschouwd. Voor 2012 natuurlijk. Tegenwoordig kan elke scholier zoiets op CSS maken, en het zal niets opleveren voor de afstudeeropdracht.
Maar de vooruitgang van filters is vandaag de dag niet gestopt. De jongens van Dehancer zijn bijvoorbeeld geweldig met niet-lineaire filters - in plaats van proletarische tone mapping gebruiken ze meer complexe niet-lineaire transformaties, wat, naar hun zeggen, veel meer mogelijkheden biedt.
Met niet-lineaire transformaties kunnen we veel bereiken, maar ze zijn ongelooflijk complex, en wij mensen zijn ongelooflijk beperkt. Zodra het in de wetenschap om niet-lineaire transformaties gaat, geven we de voorkeur aan numerieke methodes en proppen we overal neurale netwerken in, zodat zij meesterwerken voor ons kunnen creëren. Dat was hier ook het geval.
Automatisering en de droom van een ‘meesterwerk’-knop.
Toen iedereen gewend was aan de filters, begonnen we ze rechtstreeks in camera's te integreren. De geschiedenis verbergt wie de eerste producent was, maar alleen ter referentie, hoe lang geleden dat was - in iOS 5.0, dat al in 2011 uitkwam, was er al een openbare API voor Auto Enhancing Images. Alleen aan Jobs weten we hoe lang het heeft geduurd voordat het publiek het kon gebruiken.
Automatisering deed hetzelfde als iedereen van ons, die een foto opent in een editor - het trekt de schaduwen en lichten omhoog, voegt saturatie toe, verwijdert rode ogen en corrigeert de huidskleur. Gebruikers vermoedden niet eens dat de ‘dramatisch verbeterde camera’ in de nieuwe smartphone slechts het resultaat was van een paar nieuwe shaders. Het zou nog vijf jaar duren tot de uitkomst van Google Pixel en de hype rond computationele fotografie begon.

Vandaag zijn de gevechten om de knop 'meesterwerk' overgegaan naar het veld van machine learning. Nadat ze zich hadden uitgeleefd met tonal mapping, stortten iedereen zich op het trainen van CNN's en GAN's om de schuifregelaars te verplaatsen in plaats van de gebruiker. Met andere woorden, op basis van de invoerafbeelding bepalen welke optimale parameters de afbeelding dichter bij een subjectieve definitie van een 'goede foto' zouden brengen. Dit is geïmplementeerd in Pixelmator Pro en andere editors. Zoals je kunt raden, werkt het niet altijd even goed.
Stacking is 90% van het succes van mobiele camera's.
Echte computationele fotografie begon met stacking – het overlappen van meerdere foto's op elkaar. Voor een smartphone is het geen probleem om in een halve seconde een tiental foto's te maken. In hun camera's zijn er geen langzame mechanische onderdelen: het diafragma is vast, en in plaats van een bewegende sluiter is er een elektronische sluiter. De processor geeft eenvoudig aan de sensor door hoeveel microseconden ze de wilde fotonen moet opvangen, en leest tegelijkertijd het resultaat uit.
Technisch gezien kan een telefoon foto's maken met de snelheid van video, en video met de resolutie van foto's, maar alles hangt af van de snelheid van de bus en de processor. Daarom worden er altijd softwarelimieten ingesteld.
Stacking bestaat al lang bij ons. Zelfs onze grootouders gebruikten plugins voor Photoshop 7.0 om meerdere foto's samen te voegen tot een schokkende HDR of om een panorama van 18000 × 600 pixels te maken… en eigenlijk heeft niemand echt uitgevonden wat ze daarna met die foto's moeten doen. Het waren mooie tijden, jammer dat het wild was.
Vandaag zijn we volwassen geworden en noemen we dit 'epsilon-fotografie' – wanneer we, door een van de camera-instellingen (belichting, scherpstelling, positie) te variëren en de verkregen beelden samen te voegen, iets creëren dat niet met één opname gemaakt kon worden. Maar dit is een term voor theoretici; in de praktijk heeft een andere naam zich gevestigd – stacking. Vandaag de dag is 90% van alle innovaties in mobiele camera's feitelijk gebaseerd op stacking.

Een ding waar velen niet bij stil staan, maar dat belangrijk is voor het begrijpen van alle mobiele en computationele fotografie: de camera in een moderne smartphone begint foto's te maken zodra je de app opent. Wat logisch is, want ze moet op de een of andere manier het beeld naar het scherm overdragen. Echter, naast het scherm, slaat ze hoge-resolutie beelden op in haar eigen circulaire buffer, waar ze deze nog een paar seconden bewaart.
Wanneer je op de knop 'foto nemen' drukt, is de foto in feite al genomen; de camera haalt simpelweg de laatste foto uit het geheugen.
Vandaag de dag werkt elke mobiele camera zo. Althans, in alle vlaggenschepen, niet in goedkope modellen. Bufferen maakt het mogelijk om niet alleen de nulvertraging van de sluiter te realiseren, waar fotografen al zo lang van dromen, maar zelfs een negatieve vertraging - wanneer je op de knop drukt, kijkt de smartphone naar het verleden, haalt de 5-10 laatste foto's uit het geheugen en begint ze driftig te analyseren en samen te voegen. Je hoeft niet langer te wachten tot je telefoon genoeg foto's voor HDR of de nachtmodus heeft genomen - pak ze gewoon uit het geheugen, de gebruiker zal het niet eens merken.

Overigens is Live Photo op iPhones gerealiseerd met behulp van negatieve sluitertijdvertraging, en HTC had iets vergelijkbaars al in 2013 onder de vreemde naam Zoe.
Stapeltechniek voor belichting - HDR en het bestrijden van helderheidsverschillen

Of camera-sensoren het volledige bereik van helderheid kunnen vastleggen dat ons oog waarneemt, blijft een oud en veelbesproken onderwerp. Sommigen zeggen van niet, want het oog kan tot 25 f-stops zien, terwijl je zelfs uit de beste full-frame sensor maximaal 14 f-stops kunt halen. Anderen noemen de vergelijking ongeldig, want het oog krijgt hulp van de hersenen, die automatisch de pupil aanpassen en het beeld aanvullen met hun neurale netwerken, en de onmiddellijke dynamische bereik van het oog is in feite niet meer dan 10-14 f-stops. Laten we deze discussies aan de beste bankdenkers van het internet over.
Feit blijft feit: als je vrienden tegen een heldere lucht zonder HDR vastlegt met elke mobiele camera, krijg je ofwel een normale lucht met zwarte gezichten van vrienden, of goed belichte vrienden, maar een totaal verbrandde lucht.
De oplossing is al lang bedacht - het uitbreiden van het helderheidsbereik met behulp van HDR (High Dynamic Range). Je moet meerdere foto's nemen met verschillende belichtingen en deze samenvoegen. Eén moet 'normaal' zijn, de tweede iets lichter, de derde iets donkerder. We nemen de donkere gebieden uit de lichte foto en vullen de overbelichte delen met het donkere beeld - winst. Het enige wat resteert is de uitdaging van automatische bracketing - hoe ver moet de belichting van elke foto verschoven worden, zodat we het niet overdrijven, maar een tweedejaarsstudent aan een technische universiteit kan tegenwoordig de gemiddelde helderheid van het beeld goed bepalen.

Bij de laatste iPhones, Pixels en Galaxy's wordt de HDR-modus automatisch ingeschakeld wanneer een eenvoudig algoritme in de camera detecteert dat je iets contrastrijks filmt op een zonnige dag. Je kunt zelfs merken dat de telefoon de opnamebasis schakelt om verplaatste belichtingsframes op te slaan - de fps in de camera daalt, terwijl het beeld intenser wordt. Het moment van schakelen is goed zichtbaar op mijn iPhone X als ik buiten film. Kijk de volgende keer ook naar je smartphone.
Een nadeel van HDR met belichtingsbracketing is de onuitsprekelijke hulpeloosheid in slechte lichtomstandigheden. Zelfs bij het licht van een bureaulamp zijn de beelden zo donker dat de computer ze niet kan uitlijnen en samenvoegen. Om het probleem met licht op te lossen, toonde Google in 2013 een andere benadering van HDR in de destijds uitgebrachte Nexus-smartphone. Deze maakte gebruik van tijdgestapelde belichting.
Tijdgestapelde belichting - simulatie van lange sluitertijd en timelapse.

Tijdgestapelde belichting maakt het mogelijk om een lange sluitertijd te verkrijgen door een serie korte opnamen. De pioniers waren hobbyisten die sporen van sterren aan de nachtelijke hemel wilden vastleggen, maar het ongemakkelijk vonden om de sluiter meteen gedurende twee uur open te houden. Het was moeilijk om alle instellingen van tevoren goed te berekenen, en bij de geringste schudding werd het hele beeld verpest. Ze besloten de sluiter slechts een paar minuten open te houden, maar dat deden ze meerdere keren, waarna ze naar huis gingen en de vastgelegde frames samenvoegden in Photoshop.

Het resultaat is dat de camera feitelijk nooit met een lange sluitertijd heeft gefotografeerd, maar we kregen het effect van simulatie door meerdere opeenvolgende beelden samen te voegen. Voor smartphones zijn er al lang een hoop applicaties ontwikkeld die deze truc gebruiken, maar al deze zijn niet meer nodig sinds de functie bijna in alle standaardcamera's is toegevoegd. Tegenwoordig kan zelfs een iPhone eenvoudig een lange sluitertijd maken van Live Photo.

Laten we teruggaan naar Google met zijn nacht-HDR. Het bleek dat je met tijdgestapelde bracketing een behoorlijk goede HDR in het donker kunt realiseren. De technologie verscheen voor het eerst in de Nexus 5 en werd HDR+ genoemd. Andere Android-telefoons kregen het als een soort cadeau. De technologie is nog steeds zo populair dat ze er zelfs in de presentatie van de laatste Pixel mee pronken.
HDR+ werkt vrij eenvoudig: als de camera detecteert dat je in het donker fotografeert, laadt deze 8-15 recentste foto's in RAW uit de buffer om ze bovenop elkaar te leggen. Op deze manier verzamelt het algoritme meer informatie over de donkere delen van de afbeelding om ruis te minimaliseren — pixels waar de camera om de een of andere reden niet alle informatie kon vastleggen en hierdoor een fout maakt.
Het is alsof je niet weet hoe een capibara eruitziet en vijf mensen vraagt om het te beschrijven — hun verhalen zouden ongeveer hetzelfde zijn, maar iedereen zou een unieke eigenschap vermelden. Zo verzamel je meer informatie dan alleen door één persoon te vragen. Dit geldt ook voor pixels.
Het samenvoegen van beelden die vanuit één plek zijn genomen, geeft hetzelfde valse effect van een lange belichting zoals met de sterren hierboven. De belichting van tientallen foto's wordt samengevoegd; fouten in de ene worden geminimaliseerd in de andere. Stel je voor hoeveel keer je de afsluiter van een spiegelreflexcamera zou moeten indrukken om dit te bereiken.

Vervolgens moest het probleem van automatische kleurbalans worden opgelost — foto's die in het donker zijn genomen, zijn vaak overdreven geel of groen, terwijl we een levendigheid van daglicht willen. In de vroege versies van HDR+ werd dit opgelost door eenvoudig de instellingen aan te passen, zoals bij filters a la Instagram. Later werd er hulp ingeroepen van neural netwerken.
Zo ontstond Night Sight — de technologie voor 'nachtfotografie' in de Pixel 2 en 3. In de beschrijving staat letterlijk: 'Machine learning technieken bovenop HDR+, die Night Sight laten werken'. Dit is in wezen een automatisering van de kleurbalans. De machine is getraind op een dataset van foto's 'voor' en 'na', om van allerlei donkere, kromme foto's één mooi beeld te maken.

De dataset is trouwens openbaar gemaakt. Misschien nemen de jongens van Apple het over en leren ze hun glazen messen eindelijk om fatsoenlijk in het donker te fotograferen.
Daarnaast maakt Night Sight gebruik van de berekening van de bewegingsvector van objecten in het beeld, om onscherpte die onvermijdelijk ontstaat bij lange belichting te normaliseren. Zo kan de smartphone heldere delen van andere beelden pakken en 'plakken'.
Bewegingsstacking — panorama, superzoom en het bestrijden van ruis.

Panorama is a popular pastime for rural residents. It's not known if a sausage photo has ever intrigued anyone other than its creator, but it deserves mention — for many, this marked the beginning of stacking.

The first useful application of panoramas is capturing photos with a higher resolution than what the camera's sensor allows by stitching together multiple frames. Photographers have long used various software for what are called super-resolution images — where slightly shifted photographs complement each other between pixels. This way, you can achieve images of hundreds of gigapixels, which is quite useful if you need to print it on a billboard-size advertisement.

Another, more interesting approach is Pixel Shifting. Some mirrorless cameras like Sony and Olympus began supporting it back in 2014, but they still required manual stitching of the results. Typical innovations of larger cameras.
Smartphones have excelled in this domain for a humorous reason — when you take a photo, your hands shake. This seemingly minor issue became the foundation for native super-resolution implementation on smartphones.
To understand how this works, let's recall how any camera's sensor is structured. Each pixel (photodiode) can only measure the intensity of light — that is, the number of incoming photons. However, a pixel cannot measure its color (wavelength). To obtain an RGB image, additional measures had to be taken — covering the entire sensor with a grid of colored glass elements. The most popular implementation of this is the Bayer filter, which is used in most sensors today. It looks like the image below.

It turns out that each pixel on the sensor captures only the R, G, or B component, as the other photons are mercilessly reflected by the Bayer filter. The missing components are deduced by simply averaging the values of neighboring pixels.
Er zijn meer groene cellen in de Bayer-filter — dit is gedaan naar analogie met het menselijk oog. Dit betekent dat van de 50 miljoen pixels op de matrix, het groene kleur ontvangen zal worden door 25 miljoen, terwijl rood en blauw elk 12,5 miljoen zullen vangen. De rest zal gemiddeld worden — dit proces wordt debayerization of demosaicing genoemd, en het is een nogal grote, grappige oplossing waarop alles steunt.

Eigenlijk heeft elke matrix zijn eigen slimme gepatenteerde demosaicing-algoritme, maar in dit verhaal zullen we dat verwaarlozen.
Andere types matrixen (zoals Foveon) hebben voorlopig nog niet echt voet aan de grond gekregen. Hoewel sommige fabrikanten proberen om matrixen zonder Bayer-filter te gebruiken om scherpte en dynamisch bereik te verbeteren.
Wanneer er weinig licht is of de details van het object heel klein zijn, verliezen we veel informatie, omdat de Bayer-filter brutale fotonen met ongewenste golflengte afsnijdt. Daarom is het idee van Pixel Shifting ontstaan — het verschuiven van de matrix met 1 pixel omhoog, omlaag, naar rechts of naar links, om ze allemaal te vangen. De foto wordt daardoor niet vier keer groter, zoals je zou denken, de processor gebruikt deze gegevens om de waarde van elk pixel nauwkeuriger vast te leggen. Het neemt niet alleen gemiddelde waarden van de buren, zeg maar, maar van vier waarden van zichzelf.

De schudden van onze handen tijdens het fotograferen met de telefoon maakt dit proces een natuurlijke consequentie. In de laatste versies van de Google Pixel is deze functie geïmplementeerd en wordt altijd ingeschakeld wanneer je zoomt met je telefoon — het wordt Super Res Zoom genoemd (ja, ik hou ook van hun genadeloze naamgeving). De Chinezen hebben het ook gekopieerd in hun smartphones, hoewel het iets minder goed is uitgepakt.
Het overlappen van iets verschoven foto's maakt het mogelijk om meer informatie over de kleur van elke pixel te verzamelen, waardoor ruis kan worden verminderd, scherpte kan worden verhoogd en de resolutie kan worden opgekrikt zonder het fysieke aantal megapixels van de matrix te verhogen. Moderne Android-vlaggenschepen doen dit automatisch, terwijl hun gebruikers daar zelfs niet over nadenken.
Focus stacking — elke scherptediepte en refocus in postproductie.

De methode komt uit de macrofotografie, waar een kleine scherptediepte altijd een probleem was. Om het volledige object scherp te krijgen, moest men meerdere opnames maken met verschuivingen in de focus naar voren en naar achteren, om ze vervolgens samen te voegen tot één scherpe afbeelding. Deze methode werd ook vaak gebruikt door landschapsfotografen die zowel de voorgrond als de achtergrond scherp wilden krijgen.

Dit alles is ook naar smartphones verhuisd, zij het zonder veel ophef. In 2013 werd de Nokia Lumia 1020 uitgebracht met de 'Refocus App', en in 2014 de Samsung Galaxy S5 met de 'Selective Focus' modus. Ze werkten op dezelfde manier: door op de knop te drukken maakten ze snel drie foto’s — één met 'normale' focus, één met verschoven focus naar voren en één naar achteren. De software stelde de beelden uit en liet je een van hen kiezen, wat gepresenteerd werd als 'echte' focuscontrole in de postproductie.
Er was geen verdere verwerking nodig, want zelfs deze simpele hack was voldoende om nog een spijker in de doodskist van Lytro en soortgelijke camera’s met hun eerlijke refocus te slaan. Over hen gesproken (80 lvl overgangsmeester).
Rekenmatrices — lichtvelden en plenoptica
Zoals we hierboven hebben begrepen, zijn onze matrices een puinhoop op krukken. We zijn er gewoon aan gewend en proberen ermee te leven. Wat betreft hun constructie zijn ze sinds het begin der tijden weinig veranderd. We hebben alleen het productieproces verbeterd — we hebben de afstand tussen pixels verkleind, geruis en interferentie bestreden, en speciale pixels toegevoegd voor fase-autofocus. Maar zelfs als je de duurste spiegelreflexcamera pakt en probeert een rennende kat te fotograferen bij kamerlamplicht — de kat wint, om het vriendelijk te zeggen.

We zijn al lang bezig met het uitvinden van iets beters. Veel pogingen en onderzoeken in dit gebied zijn te vinden onder de zoekopdracht 'computational sensor' of 'non-bayer sensor', en zelfs het voorbeeld van Pixel Shifting hierboven kan worden beschouwd als een poging om matrizes te verbeteren door middel van berekeningen. Echter, de meest veelbelovende verhalen in de afgelopen twintig jaar komen uit de wereld van de zogenaamde plenoptische camera’s.
Om te voorkomen dat je in slaap valt van de verwachte moeilijke woorden, geef ik een inside scoop: de camera van de laatste Google Pixel is eigenlijk 'iets' plenoptisch. Slechts met twee pixels, maar zelfs dat stelt hem in staat om de echte optische diepte van de opname te berekenen zonder een tweede camera zoals bij anderen.
Plenoptica is een krachtig hulpmiddel dat nog niet zijn volle potentieel heeft bereikt. Ik zal een link geven naar een van mijn recente favoriete artikelen , waaruit ik een aantal voorbeelden heb gehaald.
Binnenkort heeft iedereen een plenoptische camera
Uitgevonden in 1994, gebouwd in Stanford in 2004. De eerste consumentencamera, Lytro, werd in 2012 uitgebracht. De VR-industrie experimenteert momenteel actief met vergelijkbare technologieën.
Het enige dat de plenoptische camera onderscheidt van een gewone camera, is een aanpassing - de sensor is bedekt met een netwerk van lenzen, waarbij elke lens meerdere echte pixels dekt. Zo werkt het:

Als je de afstand van het netwerk naar de sensor en de grootte van het diafragma correct berekent, zullen de resulterende beelden heldere clusters van pixels weergeven - mini-versies van de originele afbeelding.
Het blijkt dat als je uit elk cluster bijvoorbeeld één centrale pixel neemt en de afbeelding alleen met die pixels samenvoegt, deze niet anders zal zijn dan gemaakt met een normale camera. Ja, we verliezen een beetje resolutie, maar laten we Sony gewoon vragen om wat extra megapixels toe te voegen in de nieuwe sensoren.

De lol begint pas echt. Als je een andere pixel uit elk cluster neemt en de afbeelding opnieuw samenvoegt, krijg je weer een normale foto, maar deze lijkt alsof hij met een verschuiving van één pixel is gemaakt. Op deze manier, met clusters van 10 × 10 pixels, krijgen we 100 afbeeldingen van het onderwerp vanuit "iets" verschillende hoeken.

Hoe groter de cluster, hoe meer beelden, maar ook hoe lager de resolutie. In een wereld van smartphones met 41-megapixel sensoren kunnen we ook iets onder de resolutie wegkomen, maar er is altijd een grens. We moeten een balans vinden.
Oké, we hebben een plenoptische camera gebouwd, wat levert dat ons op?
Eerlijke refocus
De functie waarover alle journalisten in artikelen over Lytro fantaseerden - de mogelijkheid om de focus eerlijk aan te passen in de postproductie. Met eerlijk bedoelen we dat we geen verschillende deblurring-algoritmes toepassen, maar uitsluitend de beschikbare pixels gebruiken, door ofwel de juiste te selecteren of ze uit de clusters in de gewenste volgorde te middelen.
Een RAW-foto van een plenoptische camera ziet er vreemd uit. Om er een gebruikelijke scherpe JPEG van te maken, moet je deze eerst samenstellen. Hiervoor moet je elke pixel van de JPEG selecteren uit een van de RAW-clusters. Afhankelijk van hoe we ze selecteren, zal het resultaat veranderen.
Bijvoorbeeld, hoe verder een cluster van de plek van de originele stralingsval ligt, hoe meer deze straling onscherp wordt. Dat komt door de optiek. Om een afgelegde afbeelding te krijgen, hoeven we alleen de pixels te selecteren op de gewenste afstand van de originele — of dichterbij of verder weg.

Het focussen naar zichzelf toe was moeilijker — puur fysisch waren er minder van zulke pixels in de clusters. In eerste instantie wilden de ontwikkelaars de gebruiker niet de mogelijkheid geven om handmatig te focussen — de camera besloot dit zelf via software. Gebruikers vonden zo'n toekomst niet leuk, daarom is de functie toegevoegd in latere firmware met de naam 'creatieve modus', maar werd de refocus daarin sterk beperkt om die reden.
Dieptekaart en 3D met één camera
Een van de eenvoudigste bewerkingen in plenoptica is het verkrijgen van een dieptekaart. Hiervoor moet je gewoon twee verschillende beelden samenstellen en berekenen hoe ver de objecten op deze beelden zijn verschoven. Meer verschuiving betekent verder van de camera.
Recentelijk heeft Google Lytro gekocht en gesloten, maar hun technologieën gebruikt voor zijn VR en... voor de camera in de Pixel. Vanaf de Pixel 2 werd de camera voor het eerst 'een beetje' plenoptisch, hoewel met clusters van slechts twee pixel. Dit gaf Google de kans om geen tweede camera te plaatsen, zoals alle andere leveranciers, maar de dieptekaart uitsluitend uit één foto te berekenen.


De dieptekaart wordt opgebouwd uit twee beelden die een subpixel ver zijn verschoven. Dit is voldoende om een binaire dieptekaart te berekenen en het voorplan van de achtergrond te scheiden en laatstgenoemde te vervagen in de trendy bokeh. Het resultaat van deze laagvorming wordt verder gladgestreken en 'verbeterd' door neurale netwerken, die zijn getraind om dieptekaarten te verbeteren (en niet om te vervagen, zoals velen denken).

Het leuke is dat plenoptica in smartphones ons bijna gratis is aangeboden. We plaatsten al lenzen op deze kleine sensoren om de lichtstroom op zijn minst te vergroten. In de volgende Pixel-plannen wil Google verder gaan en een lens over vier fotodiodes plaatsen.
Bron: 3dnews.ru
