Articol nou: Fotografia Computațională

Originalul articolului a fost publicat pe site Vastrik.ro și publicat pe 3DNews cu permisiunea autorului. Oferim textul complet al articolului, cu excepția unui număr mare de linkuri — acestea vor fi utile celor care sunt cu adevărat interesați de subiect și doresc să studieze aspectele teoretice ale fotografiei computaționale mai în profunzime, dar pentru publicul larg, am considerat că acest material este excesiv.  

Astăzi, nicio prezentare de smartphone nu este completă fără a analiza camera sa. În fiecare lună auzim despre un nou succes al camerelor mobile: Google învață Pixel să fotografieze în întuneric, Huawei zoom-ează ca un binoclu, Samsung adaugă lidar, iar Apple creează cele mai rotunde colțuri din lume. Inovațiile curg abundent de pretutindeni.

În schimb, aparatele foto DSLR păreau că stau pe loc. Sony ne surprinde anual cu noi senzori, iar producătorii își actualizează cu lejeritate ultima cifră din versiune, continuând să fumeze relaxați în colț. Am o cameră DSLR pe birou costând $3000, dar în călătorii îmi iau iPhone-ul. De ce?

Așa cum spunea un clasic — am intrat pe internet cu această întrebare. Acolo discută despre „algoritmi” și „rețele neuronale”, fără a avea idee exactă despre cum afectează acestea fotografia. Jurnaliștii își anunță cu vociferări numărul de megapixeli, bloggerii strigă în cor despre unboxing-uri plătite, iar estetiștii se lasă purtați de „percepția senzo-estică a paletei de culori a senzorului”. Totul este ca de obicei.

A trebuit să mă așez, să-mi pierd jumătate din viață și să înțeleg totul pe cont propriu. În acest articol voi povesti ce am aflat.

⇡#Ce este fotografia computațională?

Acolo unde merg, inclusiv pe Wikipedia, oferă cam această definiție: fotografia computațională — orice tehnici de captare și procesare a imaginii, unde în loc de transformări optice se utilizează calcule digitale. Aproape totul este corect, cu excepția faptului că nu explică nimic. Se potrivește chiar și auto-focalizării, dar nu se include optica plenică, care ne-a adus deja multe lucruri utile. Ambiguitatea definițiilor oficiale sugerează că nu avem idee despre ce discutăm.

Pionier al fotografiei computaționale, profesorul de la Stanford Marc Levoy (același care acum se ocupă de camera Google Pixel) aduce o altă definiție — un set de metode de vizualizare computerizată care îmbunătățesc sau extind capabilitățile fotografiei digitale, având ca rezultat o fotografie obișnuită, care nu putea fi realizată tehnic cu acest aparat foto într-un mod tradițional. În articol, mă voi ține de această definiție.

Așadar, smartphone-urile au fost de vină.

Smartphone-urile nu aveau altă alegere decât să dea naștere unui nou tip de fotografie — fotografia computațională.

Modulele lor mici, zgomotoase și lentilele minusculi cu deschidere mică ar fi trebuit, conform legilor fizicii, să aducă doar durere și suferință. Și așa a fost, până când dezvoltatorii lor nu au găsit o modalitate ingenioasă de a folosi punctele lor forte pentru a depăși slăbiciunile — obturatoare electronice rapide, procesoare puternice și software.

Articol nou: Fotografia Computațională

Cele mai multe cercetări sonore în domeniul fotografiei computaționale au avut loc între anii 2005-2015, ceea ce în știință este considerat practic ieri. Chiar acum, sub ochii noștri și în buzunarele noastre, se dezvoltă un nou domeniu de cunoștințe și tehnologii care nu a existat înainte.

Fotografia computațională nu înseamnă doar selfie-uri cu bokeh neural. Recenta fotografie a unei găuri negre nu ar fi apărut fără metodele de fotografie computațională. Pentru a face o astfel de fotografie cu un telescop obișnuit, ar fi trebuit să fie de dimensiunea Pământului. Totuși, combinând datele de la opt radiotelescopuri din locuri diferite de pe glob și scriind câteva scripturi în Python, am obținut prima fotografie din lume a orizontului evenimentului. Este potrivită și pentru selfie-uri.

Articol nou: Fotografia Computațională

⇡#Început: procesarea digitală

Să ne imaginăm că ne-am întors în 2007. Mama noastră este anarhie, iar fotografiile noastre sunt zgomotoase jpeg-uri de 0,6 Mp, făcute pe un skateboard. Aproape atunci ne apare prima dorință irezistibilă de a aplica preseturi pe ele pentru a ascunde urâțenia matricelor mobile. Să nu ne refuzăm.

Articol nou: Fotografia Computațională

⇡#Matematica și Instagram

Odată cu lansarea Instagramului, toată lumea a devenit obsedată de filtre. Ca persoană care, la un moment dat, a efectuat reverse engineering pe X-Pro II, Lo-Fi și Valencia în scopuri, desigur, de cercetare (kek), îmi amintesc că acestea constau din trei componente:

  • Setările de culoare (nuanță, saturație, luminozitate, contrast, niveluri etc.) sunt coeficienți digitali simpli, exact la fel ca în orice presetări pe care fotograful le-a folosit din cele mai vechi timpuri.
  • Hărțile de mapping al nuanțelor (Tone Mapping) sunt vectori de valori, fiecare dintre acestea spune: „Culoarea roșie cu nuanța 128 trebuie transformată în nuanța 240”.
  • Overlay-ul este o imagine semi-transparentă cu praf, granulație, vinietă și tot ce poate fi suprapus pentru a obține un efect de film vechi care nu este în niciun caz banal. Nu a fost întotdeauna prezent.   

Filtrele moderne nu s-au îndepărtat mult de această triadă, ci au devenit doar puțin mai complexe din punct de vedere matematic. Odată cu apariția shader-elor hardware și OpenCL pe smartphone-uri, acestea au fost rapid adaptate pentru GPU, ceea ce era considerat extrem de tare. Pentru anul 2012, desigur. Astăzi, orice elev poate crea ceva similar folosind CSS, iar la absolvire nu va primi nici măcar un premiu.

Cu toate acestea, progresele în filtrare nu s-au oprit astăzi. De exemplu, cei de la Dehancer își concentrează atenția asupra filtrării non-liniare - în loc de mapping-ul tonurilor proletar, ei folosesc transformări non-liniare mai complexe, ceea ce, conform spuselor lor, deschide multe mai multe posibilități.

Transformările non-liniare pot genera o mulțime de lucruri, dar sunt incredibil de complexe, iar noi, ca oameni, suntem incredibil de proști. Atunci când știința ajunge la transformări non-liniare, preferăm să ne îndreptăm spre metode numerice și să încorporăm inteligența artificială, lăsând-o să scrie capodopere în locul nostru. Așa a fost și în acest caz.

⇡#Automatizarea și visurile despre un buton „capodoperă”

Când toată lumea s-a obișnuit cu filtrele, am început să le integrăm direct în camere. Istoria nu ne spun cine a fost primul producător, dar pentru a înțelege cât de mult timp a trecut - în iOS 5.0, care a fost lansat în 2011, existase deja un API public pentru Auto Enhancing Images. Numai lui Jobs îi este cunoscut cât de mult timp a fost folosit până la lansarea publică.

Automatizarea făcea același lucru ca fiecare dintre noi atunci când deschideam o fotografie în editor - scotea detaliile din lumină și umbre, adăuga saturație, elimina ochii roșii și corecta culoarea feței. Utilizatorii nici măcar nu bănuiau că „camera dramatic îmbunătățită” din noul smartphone era doar rezultatul a câteva shader-uri noi. Mai erau încă cinci ani până la lansarea Google Pixel și începutul hype-ului pentru fotografia computatională.

Articol nou: Fotografia Computațională

Astăzi, bătălia pentru butonul „capodoperă” a trecut pe terenul învățării automate. După ce și-au jucat cu ton-mapping-ul, toată lumea s-a aruncat să antreneze CNN-uri și GAN-uri pentru a ajusta setările în locul utilizatorului. Cu alte cuvinte, pe baza unei imagini de intrare, se stabilesc un set de parametri optimi care ar apropia respectiva imagine de o înțelegere subiectivă a „unei fotografii bune”. Aceasta a fost implementată în același Pixelmator Pro și în alte editore. Funcționează, cum se poate ghici, nu întotdeauna și nu foarte bine. 

⇡#Staking — 90% din succesul camerelor mobile

Fotografia computațională adevărată a început cu stacking-ul — suprapunerea mai multor fotografii una peste alta. Pentru un smartphone nu este o problemă să facă o duzină de cadre în jumătate de secundă. În camerele lor nu există părți mecanice lente: diafragma este fixă, iar în loc de un obturator mobil — un obturator electronic. Procesorul pur și simplu comandă senzorului câte microsecunde să înregistreze fotonii sălbatici, iar apoi citește rezultatul.

Tehnic, telefonul poate face fotografii cu viteza unui video, iar video cu rezoluția unei fotografii, dar totul depinde de viteza magistralei și a procesorului. De aceea, se impun întotdeauna limite software.

Stacking-ul a fost cu noi de multă vreme; chiar și bunicii foloseau plugin-uri pentru Photoshop 7.0 pentru a aduna mai multe fotografii într-un HDR strident sau pentru a lipi o panoramă de 18000 × 600 de pixeli… și, de fapt, nimeni nu a reușit să inventeze ce să facă cu ele mai departe. Au fost vremuri bogate, din păcate, sălbatice.

Acum am crescut și numim acest lucru „fotografia epsilon” — când, modificând unul dintre parametrii camerei (expunerea, focalizarea, poziția) și suprapunând cadrele obținute, obținem ceva ce nu ar fi putut fi captat într-un singur cadru. Dar acesta este un termen pentru teoreticieni; în practică, s-a impus o altă denumire — stacking. Astăzi, în fapt, 90% din toate inovațiile în camerele mobile se bazează pe acesta.

Articol nou: Fotografia Computațională

Un lucru la care mulți nu se gândesc, dar care este important pentru înțelegerea întregii fotografii mobile și computaționale: camera din smartphone-ul modern începe să facă fotografii imediat ce deschideți aplicația ei. Ceea ce este logic, deoarece trebuie să transmită cumva imaginea pe ecran. Totuși, pe lângă ecran, ea salvează cadre de înaltă rezoluție în propriul său buffer circular, unde le păstrează încă câteva secunde.

Când apăsați butonul „fă fotografie”, fotografia este deja realizată; camera pur și simplu preia ultima imagine din buffer.

Astăzi, orice cameră mobilă funcționează astfel. Cel puțin în toate modelele de top, nu provenind din gunoaie. Bufferizarea permite nu doar o întârziere zero a obturatorului, despre care fotografii au visat de mult, ci chiar o întârziere negativă — la apăsarea butonului, smartphone-ul se uită în trecut, extrage 5-10 ultimele fotografii din buffer și începe să le analizeze febril și să le asambleze. Nu mai trebuie să așteptați ca telefonul să facă fotografii pentru HDR sau modul nocturn — pur și simplu le luați din buffer, utilizatorul nici nu își va da seama.

Articol nou: Fotografia Computațională

Apropo, exact prin intermediul întârzierii negative a obturatorului s-a realizat Live Photo pe iPhone-uri, iar la HTC ceva similar exista încă din 2013 sub denumirea ciudată Zoe.

⇡#Stivuirea pe expunere — HDR și lupta cu variațiile de luminozitate

Articol nou: Fotografia Computațională

Dacă matricile camerelor foto sunt capabile să fotografieze toată gama de luminozitate accesibilă ochilor noștri este o temă veche de dispută. Unii spun că nu, deoarece ochiul poate vedea până la 25 de f-stopuri, în timp ce chiar și dintr-o matrice de top full-frame se pot extrage maximum 14. Alții consideră că comparația este incorectă, pentru că ochiul beneficiază de ajutorul sistemului nervos, ajustând automat pupila și completând imaginea cu rețelele sale neuronale, iar intervalul dinamic instantaneu al ochiului nu este de fapt mai mult de 10-14 f-stopuri. Să lăsăm aceste dispute câtorva gânditori de pe canapea de pe internet.

Faptul rămâne: filmând prietenii pe fundalul unui cer luminos fără HDR pe orice cameră mobilă, obțineți fie un cer normal cu fețele prietenilor negre, fie prieteni bine conturați, dar cu cerul ars de soare.

Soluția a fost găsită demult — extinderea intervalului de luminozitate prin HDR (High dynamic range). Trebuie să faceți mai multe cadre cu expuneri diferite și să le lipiți împreună. Unul să fie „normal”, al doilea un pic mai luminos, iar al treilea mai întunecat. Luăm locurile întunecate din cadrul luminos, iar zonele suprasaturate le completăm din cel întunecat — profit. Rămâne doar să rezolvăm problema bracketing-ului automat — cât de mult să mutăm expunerea fiecărui cadru pentru a nu exagera, dar cu determinarea mediei luminozității, acum se va descurca un student de anul doi de la o universitate tehnică.

Articol nou: Fotografia Computațională

Pe ultimele iPhone, Pixel și Galaxy, modul HDR se activează automat atunci când un algoritm simplu din cameră determină că fotografiezi ceva contrastant într-o zi însorită. Poți observa chiar cum telefonul comută în modul de înregistrare a buffer-ului pentru a salva cadrele deviate din punct de vedere al expunerii — fps-ul din cameră scade, iar imaginea devine mai bogată. Momentul comutării este bine vizibil pe iPhone-ul meu X, atunci când fotografiez afară. Îți sugerăm să observi și tu smartphone-ul tău următoarea dată.

Minusul HDR-ului cu bracketing pe expunere este lipsa sa zdrobitoare în condiții de iluminare slabă. Chiar și cu lumina unei lampi de cameră, cadrele ies atât de întunecate încât computerul nu poate să le alinieze și să le unească. Pentru a rezolva problema iluminării, în 2013, Google a prezentat o altă abordare a HDR-ului în smartphone-ul Nexus lansat atunci. A folosit stacking temporal.

⇡#Stacking temporal — simularea unei expuneri lungi și time-lapse.

Articol nou: Fotografia Computațională

Stacking temporal permite obținerea unei expuneri lungi printr-o serie de expuneri scurte. Primii care au experimentat au fost pasionații care filmau urme de stele pe cerul nopții, care găseau incomod să țină obturatorul deschis timp de două ore. Erau greu de calculat toate setările din timp iar cea mai mică mișcare distrugea întregul cadru. Ei au decis să țină obturatorul deschis doar câteva minute, dar de mai multe ori, iar apoi se întorceau acasă și combinau cadrele obținute în Photoshop.

Articol nou: Fotografia Computațională

Astfel, camera nu fotografia niciodată cu o expunere lungă, dar noi obțineam efectul imitației ei prin combinarea mai multor cadre trase consecutiv. Există deja o mulțime de aplicații pentru smartphone-uri care folosesc acest truc, dar toate acestea nu mai sunt necesare din moment ce funcția a fost adăugată în aproape toate camerele standard. Astăzi, chiar și un iPhone poate combina cu ușurință o expunere lungă din Live Photo.

Articol nou: Fotografia Computațională

Să ne întoarcem la Google cu HDR-ul său nocturn. S-a dovedit că, prin bracketingul pe timp, poți realiza un HDR decent în întuneric. Tehnologia a apărut pentru prima dată în Nexus 5 și a fost numită HDR+. Celelalte telefoane cu Android au primit-o ca un fel de cadou. Tehnologia este atât de populară încât este lăudată chiar și în prezentările celor mai recente Pixel.

HDR+ funcționează destul de simplu: identificând că fotografiile sunt realizate în întuneric, camera extrage din buffer 8-15 ultimele fotografii în RAW pentru a le suprapune. Astfel, algoritmul colectează mai multe informații despre zonele întunecate ale cadrului pentru a minimiza zgomotul — pixeli unde din anumite motive camera nu a putut aduna toate informațiile și a falimentat.

Este ca și cum nu ați ști cum arată o capibara și ați cere cinci oameni să o descrie — poveștile lor ar fi aproximativ aceleași, dar fiecare ar menționa un detaliu unic. Așa ați aduna mai multe informații decât pur și simplu întrebând pe cineva. La fel și cu pixelii.

Combinarea imaginilor realizate din același punct oferă același efect fals de expunere lungă, ca și în cazul stelelor de mai sus. Expunerea zecilor de cadre se adună, erorile dintr-unul sunt minimizate în celelalte. Imaginați-vă cât de des ar trebui să apăsați obturatorul DSLR-ului pentru a obține așa ceva.

Articol nou: Fotografia Computațională

Rămânea doar să rezolvăm problema corectării automate a culorilor — imaginile realizate în întuneric sunt de obicei complet galbene sau verzi, iar noi, evident, vrem intensitatea iluminării diurne. În versiunile timpurii ale HDR+ acest lucru era rezolvat prin ajustarea simplă a setărilor, similar filtrelor de tip Instagram. Apoi, au fost apelate rețele neuronale.

Astfel a apărut Night Sight — tehnologia de „fotografie nocturnă” în Pixel 2 și 3. În descriere se spune astfel: „Tehnici de învățare automată construite pe baza HDR+, care fac ca Night Sight să funcționeze”. În esență, aceasta este automatizarea etapei de corectare a culorii. Mașina a fost antrenată pe un set de date cu fotografii „înainte” și „după”, pentru a transforma orice set de fotografii întunecate într-una frumoasă.

Articol nou: Fotografia Computațională

Setul de date, de altfel, a fost publicat în acces deschis. Poate că băieții de la Apple îl vor lua și în sfârșit își vor învăța rachetele de sticlă să facă fotografii corecte în întuneric.

În plus, în Night Sight este utilizată calcularea vectorului de mișcare al obiectelor din cadru pentru a normaliza neclaritățile, care vor apărea întotdeauna la expuneri lungi. Astfel, smartphone-ul poate lua părțile clare din alte cadre și le poate lipi.

⇡#Stabilizarea pe mișcare — panoramă, super zoom și combaterea zgomotului

Articol nou: Fotografia Computațională

Panorama este o distracție populară pentru locuitorii din zonele rurale. Nu există până acum cazuri cunoscute în care o fotografie cu un cârnat să fi fost interesantă pentru altcineva decât autorul său, dar nu se poate să nu o menționăm — pentru mulți, aceasta a fost prima scânteie în steaking.

Articol nou: Fotografia Computațională

Primul mod util de a folosi panorama este obținerea unei fotografii cu o rezoluție mai mare decât permite matricea camerei prin lipirea mai multor cadre. Fotografiile folosesc de mult diferite programe pentru a crea așa-numitele fotografii cu superrezoluție — când fotografiile ușor decalate se completează între pixelii lor. Astfel, se poate obține o imagine de sute de gigapixeli, ceea ce este foarte util dacă trebuie să o imprimați pe un panou publicitar de dimensiunea unei case.

Articol nou: Fotografia Computațională

O altă abordare, deja mai interesantă, este Pixel Shifting. Unele camere fără oglindă, cum ar fi Sony și Olympus, au început să suporte această tehnologie încă din 2014, dar rezultatul trebuia totuși lipit manual. Este o inovație tipică a camerelor mari.

Însă smartphone-urile au excelat aici dintr-un motiv amuzant — atunci când faceți o fotografie, mâinile vă tremură. Această problemă, aparent banală, stă la baza implementării nativă a superrezoluției pe smartphone-uri.

Pentru a înțelege cum funcționează, trebuie să ne amintim cum este construită matricea oricărei camere foto. Fiecare pixel (fotodiod) poate să fixeze doar intensitatea luminii — adică numărul de fotoni care au intrat. Totuși, pixelul nu poate să măsoare culoarea sa (lungimea de undă). Pentru a obține o imagine RGB, a fost nevoie să folosim o grilă de sticlă colorată care acoperă întreaga matrice. Cea mai populară realizare a sa se numește filtrul Bayer și este folosită astăzi în majoritatea matricelor. Arată ca în imaginea de mai jos.

Articol nou: Fotografia Computațională

Astfel, fiecare pixel al matricei captează doar componenta R, G sau B, iar ceilalți fotoni sunt pur și simplu reflectați de filtrul Bayer. Componenta lipsă este estimată printr-o medie simplă a valorilor pixelilor vecini.

Celulele verzi din filtrul Bayer sunt mai multe – așa s-a făcut prin analogie cu ochiul uman. Astfel, din cele 50 de milioane de pixeli de pe matrice, culoarea verde va fi captată de 25 de milioane, iar roșu și albastru de câte 12,5 milioane. Restul va fi mediat – acest proces se numește debayerizare sau demosaicing, și este o soluție destul de neobișnuită pe care se bazează totul.

Articol nou: Fotografia Computațională

De fapt, fiecare matrice are propriul algoritm de demosaicing patentat, dar în cadrul acestei povești vom trece cu vederea acest aspect.

Alte tipuri de matrice (de tip Foveon) nu s-au impus deocamdată. Totuși, unele mărci încearcă să utilizeze matrice fără filtrul Bayer pentru a îmbunătăți claritatea și gama dinamică.

Când lumina este puțină sau detaliile obiectului sunt foarte mici, pierdem o mulțime de informații, deoarece filtrul Bayer taie fără milă fotonii cu lungimi de undă necorespunzătoare. De aceea s-a inventat Pixel Shifting – mutarea matricei cu 1 pixel în sus, în jos, în dreapta sau în stânga, pentru a le captura pe toate. Fotografia nu devine de 4 ori mai mare, așa cum s-ar putea crede, ci procesorul folosește aceste date pentru a înregistra mai exact valoarea fiecărui pixel. Ea este mediată nu după vecini, ca să zic așa, ci după cele patru valori ale sale.

Articol nou: Fotografia Computațională

Tremurul mâinilor noastre atunci când facem poze cu telefonul face ca acest proces să fie o consecință naturală. În cele mai recente versiuni Google Pixel, acest lucru este implementat și se activează mereu când folosești zoomul telefonului – se numește Super Res Zoom (da, îmi place și mie denumirea lor fără milă). Chinezii l-au copiat și ei în telefoanele lor, deși a ieșit un pic mai rău.

Suprapunerea unor fotografii ușor deplasate permite colectarea mai multor informații despre culoarea fiecărui pixel, astfel încât se reduce zgomotul, se crește claritatea și se mărește rezoluția fără a crește numărul fizic de megapixeli al matricei. Majoritatea flagship-urilor Android moderne fac acest lucru automat, fără ca utilizatorii lor să se gândească la asta.

⇡#Staking-ul pe focalizare – orice adâncime de câmp și refocalizare în postproducție

Articol nou: Fotografia Computațională

Metoda provine din macrofotografie, unde o adâncime mică a câmpului de focalizare a fost întotdeauna o problemă. Pentru a avea întregul obiect în focalizare, era necesar să se facă mai multe fotografii cu schimbarea focalizării înainte-înapoi, pentru a le lipi apoi într-o imagine clară. Această metodă a fost folosită frecvent și de amatorii fotografiei de peisaj, făcând clar atât planul din față, cât și pe cel din spate.

Articol nou: Fotografia Computațională

Toate acestea s-au transferat și pe telefoanele inteligente, deși fără un hype deosebit. În 2013, a fost lansat Nokia Lumia 1020 cu „Refocus App”, iar în 2014, Samsung Galaxy S5 cu modul „Selective Focus”. Funcționau după aceeași schemă: prin apăsarea unui buton, realizau rapid 3 fotografii - una cu focus „normal”, a doua cu focalizarea mutată înainte și a treia cu focalizarea mutată înapoi. Programul alinia cadrele și permitea selectarea unuia dintre ele, ceea ce era prezentat ca un „adevărat” control al focalizării în post-producție.

Nu a fost necesară nicio procesare suplimentară, deoarece chiar și acest simplu hack a fost suficient pentru a mai înfinge un cui în capacul Lytro și al analogilor săi cu refocusare reală. Apropo, să discutăm despre ei (masterii tranzițiilor de nivel 80).

⇡#Matricele computaționale - câmpuri de lumină și plenoptic

Așa cum am înțeles mai sus, matricele noastre sunt teribile pe suporturi de sprijin. Ne-am obișnuit cu ele și încercăm să trăim cu asta. La nivel structural, ele nu au suferit mari schimbări de-a lungul timpului. Am perfecționat doar procesul tehnologic - am micșorat distanța dintre pixeli, am combătut zgomotele de interferență, am adăugat pixeli speciali pentru a îmbunătăți autofocusul fazat. Dar, dacă iei chiar și cea mai scumpă cameră DSLR și încerci să fotografiei un motan alergând la iluminare de cameră, motanul, pe scurt, va câștiga.

Articol nou: Fotografia Computațională

De mult timp încercăm să inventăm ceva mai bun. Multe încercări și cercetări în acest domeniu pot fi găsite căutând „senzor computațional” sau „senzor non-Bayer”, iar chiar și exemplul cu Pixel Shifting de mai sus poate fi considerat o încercare de îmbunătățire a matricelor prin calcul. Totuși, cele mai promițătoare povești din ultimii douăzeci de ani vin din lumea așa-numitelor camere plenoptice.

Ca să nu adormiți de la anticiparea cuvintelor complicate, vă voi da o informație că ultima cameră Google Pixel este într-adevăr „puțin” plenoptic. Doar cu două pixeli, dar chiar și asta îi permite să calculeze adâncimea optică reală a cadrului fără a avea o a doua cameră, ca în cazul tuturor celorlalți.

Plenoptica este o armă puternică care încă nu a fost folosită. Voi face referire la unul dintre articolele mele recente preferate despre capacitățile camerelor plenoptice și viitorul nostru cu acestea, de unde am preluat exemplele.

⇡#

Camera plenoptică - va fi disponibilă pentru toată lumea

Gândită în 1994, asamblată la Stanford în 2004. Prima cameră destinată consumatorilor - Lytro, lansată în 2012. Industria VR experimentează acum activ cu tehnologii similare.

Diferența dintre o cameră obișnuită și una plenoptică constă într-o singură modificare - matricea este acoperită cu o plasă de lentile, fiecare dintre acestea acoperind câțiva pixeli reali. Asta e

Articol nou: Fotografia Computațională

- dacă se calculează corect distanța de la plasă la matrice și dimensiunea diafragmei, imaginea finală va conține clustere clare de pixeli - adevărate mini-versiuni ale imaginii originale.

Se pare că, dacă luăm din fiecare cluster, să zicem, un pixel central și lipim imaginea doar pe baza lor - nu va fi diferită de cea realizată cu o cameră obișnuită. Da, am pierdut puțin la rezoluție, dar pur și simplu cerem celor de la Sony să adauge încă câțiva megapixeli în noile matrice.

Articol nou: Fotografia Computațională

Distracția abia începe. Dacă luăm alt pixel din fiecare cluster și lipim din nou imaginea - va rezulta din nou o fotografie normală, dar parcă realizată cu o deplasare de un pixel. Astfel, având clustere de 10 × 10 pixeli, vom obține 100 de imagini cu subiectul din 'puțin' unghiuri diferite.

Articol nou: Fotografia Computațională

Cu cât dimensiunea clusterului este mai mare - cu atât mai multe imagini, dar cu o rezoluție mai mică. În lumea smartphone-urilor cu matrice de 41 de megapixeli, deși putem ignora puțin rezoluția, totul are o limită. Trebuie să menținem un echilibru.

Bine, am asamblat o cameră plenoptică, și ce ne oferă aceasta?

Refocalizare cinstită

Funcția despre care au vorbit toți jurnaliștii în articolele despre Lytro - abilitatea de a ajusta cu sinceritate focalizarea în post-producție. Prin 'cinstit' înțelegem că nu aplicăm diverse algoritme de reducere a neclarității, ci folosim exclusiv pixeli disponibili, alegând sau medindu-i din clustere în ordinea dorită.

O fotografie RAW de la o cameră plenoptic arată ciudat. Pentru a obține o JPEG clară, trebuie mai întâi să o asamblezi. Pentru aceasta, trebuie să alegi fiecare pixel JPEG dintr-unul dintre clusterele RAW. În funcție de cum îi alegem, rezultatul va varia.

De exemplu, cu cât clusterul este mai departe de locul în care cade ray-ul original, cu atât va fi mai neclar acest ray. Din cauza opticii. Pentru a obține o imagine dezalocată focului, trebuie doar să alegem pixelii la distanța dorită de original – fie mai aproape, fie mai departe.

Articol nou: Fotografia Computațională

 

A fost mai greu să ne mutăm focul spre noi – pur fizic, astfel de pixeli în clustere erau mai puțini. La început, dezvoltatorii nu voiau să ofere utilizatorului posibilitatea de a se concentra manual – camera lua deciziile programatic. Utilizatorilor nu le-a plăcut această viitor, așa că funcția a fost adăugată în versiunile ulterioare sub numele de „mod creativ”, dar refocusarea a fost făcută foarte limitată din acest motiv.

Harta de profunzime și 3D cu o singură cameră   

Una dintre cele mai simple operații în plenoptic este obținerea unei hărți de profunzime. Pentru aceasta, trebuie doar să asamblezi două cadre diferite și să calculezi cât de mult sunt mutate obiectele pe acestea. Cu cât mai multă deplasare, cu atât mai departe de cameră.

Recent, Google a cumpărat și a desființat Lytro, dar a folosit tehnologiile lor pentru VR și... pentru camera din Pixel. Începând cu Pixel 2, camera a devenit pentru prima dată „puțin” plenoptic, deși cu clustere de doar două pixeli. Aceasta a oferit Google oportunitatea de a nu instala o a doua cameră, precum toți ceilalți, ci de a calcula harta de profunzime exclusiv dintr-o singură fotografie.

Articol nou: Fotografia Computațională

Articol nou: Fotografia Computațională

Harta de profunzime este construită din două cadre, mutate cu un subpixel. Acest lucru este suficient pentru a calcula o hartă binară de profunzime și a separa planul frontal de cel din spate, estomping ultimul în moda actuală a bokeh-ului. Rezultatul unei astfel de separări este apoi netezit și „îmbunătățit” de rețele neuronale care sunt antrenate să îmbunătățească hărțile de profunzime (nu să estompeze, cum cred mulți).

Articol nou: Fotografia Computațională

Un alt aspect este că plenoptica a ajuns la smartphone-uri aproape fără costuri. Deja foloseam lentile pe aceste matrițe mici pentru a crește fluxul de lumină. În următoarele Pixel, Google plănuiește să meargă mai departe și să acopere patru fotodiodi cu o lentilă.

Sursa: 3dnews.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster