Kai teorija pradeda užknisinėti...

Kai teorija pradeda užknisinėti, susimąstai žmogus - o kiek gi čia reiktų džiovinti savo smegenis? Mano sprendimas tokioje situacijoje praktiškai visada būna vienas - gana, einu praktikuotis. Taip ir šį kartą: nusitepliojau "kaspiniukais" a la taikinį nuotraukos rezoliucijai tikrinti, čiupau trikojį, fotoaparatą ir pagaminau seriją kadrų.
Pav. 1 Kairėje - pats "taikinys"; dešinėje - elementų matmenų legenda. Kaip visada - paspaudus didinasi.

Visam tam reikalui naudojau Canon EOS 40D su 24mm f/1.4 objektyvu. Pastačiau fotoaparatą 2m atstumu nuo taikinio, išjungiau autofokusavimą ir rankytėm, naudodamas LiveView, sufokusavau. Tada, nekeisdamas nei fokusavimo, nei maksimaliai atidarytos diafragmos, padariau kadrus iš 1.5m, 2.0m, 2.5m ir 3.0m atstumų. Išgnybau tik taikinio dalį iš kiekvienos foto, suvienodinau dydžius su ryškiausiu vaizdu iš 2.0m atstumo ir sumaitinau FFT algoritmui. Dydžius vienodinau tik dėl to, kad FFT rezultatai gautusi vienodos apimties. Kiek pasibandžiau su tais pačiais kadrais - vaizdo spaudimas arba tempimas nepakeičia gauto spektro struktūros iš esmės. Na gal triukšmų fonas šiek tiek mažėja, dėl ne tokių staigių intensyvumo pasikeitimų po visų dydžio keitimo interpoliacijų. Bet tai ne iš esmės mano tyrinėjimui.

Beje, jeigu iki šiol neteko girdėt apie FFT - tai pakankamai patogus matematinis instrumentas sužinoti, iš kokio dažnumo dedamųjų susideda analizuojamas signalas. Kaip jau rašiau: smulkesnės detalės kartojasi aukštesniu dažniu; stambesnės - žemesniu. FFT transformacija padeda suskaičiuoti, kokio lygio nagrinėjamame signale yra kiekviena dažnio dedamoji. Nesileidžiant į ilgas teorijas - kuo aukštesnis lygis, tuo geriau ta signalo dedamoji pastebima. Pritaikant mūsų atvejui - tuo ryškesnės tam tikro dydžio detalės:
Pav. 2 Kadrų iškarpos (1.5m, 2.0m, 2.5m, 3.0m) ir jas atitinkančios FFT diagramos. Paspaude gausite 1:1 vaizdelį
Kad ryškiausias vaizdelis yra kadre darytame iš 2.0m atstumo - kur buvo fokusuotas fotoaparatas - nestebina. Ir jo FFT diagrama rodo daugiausiai signalo dedamųjų. Dažnis FFT diagramoje matuojamas atstumu nuo diagramos centro - kuo toliau nuo jo, tuo aukštesnis dažnis arba smulkesnės detalės. Ir kuo šviesesni FFT taškai, tuo geriau išskyriamos tą dažnį atitinkančios detalės - paprasta, ar ne?

Kaip ir akivaizdžiai matyti, jog iš 2.5m darytas kadras yra ryškesnis už darytą iš 1.5m. Bet čia paprastumai netikėtai baigiasi. Kodėl iš 3.0m atstumo darytas kadras yra beveik tokios pat kokybės kaip kadras darytas iš 1.5m atstumo? Taip, tas iš 3.0m neturi to lengvo žiedelio aplink centrinį "spiečių", kaip tas iš 1.5m. Bet tai gali būti paaiškinama bent jau tuo, kad kadre darytame iš 3.0m atstumo visos detalės yra praktiškai du kart mažesnės - smulkiausių tiesiog pasidaro neįmanoma įžiūrėt, nes jos liejasi. Tačiau 3.0m yra du kart toliau nuo fokusavimo taško negu 1.5m - keistas rezultatas, ar ne?
Belieka atsiprašyti teorijos už jos numetimą į šoną ir prašyti paaiškinti - kas čia vyksta?

Pradžiai sąlyginai nesudėtingas pramodeliavimas mintyse: imam TŠŠ taikinio paviršiuje ir projektuojame jo skleidžiamus spindulius ant sensoriaus - gaunam dėmelę. Tą dėmelę vaizduojam atgalios į taikinį taikydami tą patį principą, kaip skaičiavom minimalios detalės dydį. Tik nedauginam iš dviejų. Jums smalsu kas po visų šių machinacijų gaunasi? Grafiškai tai atrodytų maždaug taip:
Pav. 3 TŠŠ spindulių projekciją atitinkančios objekto detalės dydis
Nors grafike yra pavaizduoti trys skirtingi fokusavimo scenarijai palyginimui, tačiau toliau nagrinėsiu tik vidurinyjį (žalios spalvos tiesės), atitinkantį fokusavimą ties 2.0m atžyma. Pasirodo detalės dydis kinta simetriškai į abi puses nuo fokusavimo taško. T.y. sufokusavus vaizdą į 2.0m atstumu esantį objektą, turėtų būti galima tikėtis, kad kadre 1.5m atstumu esantys daiktai bus matomi tokiu pat detalumu kaip ir iš 2.5m atstumo. Bet praktika rodo visai kitus dalykus. Kyla natūralus klausimas: kaip tai galima būtų paaiškinti? Žiūrim sekantį grafiką, kur suskaičiuotas TŠŠ ant sensoriaus formuojamos detalės dydis:
Pav. 4 TŠŠ spindulių projekcijos sensoriuje dydis
O čia matom, kad fokusui esant 2.0m atstumu, TŠŠ nuo objektų esančių 1.5m ir 3.0m atstumu formuos maždaug vienodas 12 sensoriaus celių  dėmes - štai jums ir atsakymas, kodėl šių kadrų detalumas atrodo labai panašus. Beje nuo 2.5m atstumu esančio objekto formuojamos maždaug 7 celių dydžio dėmelės, todėl jis ir atrodo detalesnis už analogišką iš 1.5m atstumo.

Yra dar keletas svarbių dalykų, kuriuos galima išskaityti šiuose grafikuose. Visų pirma - minimalus detalės dydis. Jeigu grįžti prie pirmojo grafiko (pav. 3), tai ties 2.0m atstumu gaunam, jog vieną pikselį atitinka ~0.45mm dydžio objekto detalė. Nepaisant to, nei vienos 0.5mm dydžio taikinio detalės padarytuose kadruose man įžiūrėt nepavyko. Bet vat trikampėliai iš kaspiniukų, į kuriuos galima būtų įtalpinti ~0.83mm skersmens apvalias dėmeles, tiksliai fokusuotame kadre neblogai išryškėjo - tai kaip ir arti prie mano anksčiau minėtos 2 celių didumo minimalios detalės principo.

Kitas dalykas susijęs su ryškumo gyliu - žiūrim į projekcijų sensoriuje grafikus (pav. 4). Konkrečiai paimame žalios spalvos kreivę ir matome, kad yra tam tikra zona, kur formuojamos TŠŠ dėmelės dydis yra mažesnis negu 2 celės, t.y. tarsi turėtume smulkesnį detalumą negu paminėta paragrafe aukščiau. Deja, bet taip nėra - ką manau puikiai demonstruoja konkretūs kadrai, - detaliau negu nupiešta dviem celėm gauti nepavyks, bet mes turime galimybę šioje zonoje stebėti vienodą kadro ryškumą, kuris realiai yra ribojamas tik fizikiniais sensoriaus parametrais. Šiuo konkrečiu atveju tai yra nuo maždaug 1.898m (near Depth of Field limit) iki 2113m (far Depth of Field limit) arba apytiksliai 215mm į gylį. Tai ir yra ryškumo gylį apibrėžianti zona.

Reikia pastebėti, kad ryškumo zonos dalis už fokusavimo taško yra šiek tiek ilgesnė negu prieš fokusavimo tašką. Beje, tai ypač gerai matosi su objektais esančiais už ryškumo gylio zonos ribų: esantys arčiau daug greičiau išsilieja, negu esantys toliau - dar kartą palyginkite kadrus iš pav. 2 padarytus 1.5m ir 2.5m atstumu. Todėl kai kuriais sudėtingais fokusavimo atvejais sprendimas fokusuoti kadrą šiek tiek arčiau negu yra fotografuojamas objektas potencialiai gali duoti daug geresnį rezultatą - objektas pateks į lėčiau progresuojančio išsiliejimo zoną, - negu nepataikytas fokusavimas šiek tiek už objekto.

Ir paskutinis pastebėjimas. Kas atsitiks, jeigu sufokusuot taip toli, jog pav. 3 esančios tiesės už fokusavimo taško kiltų vienodu kampu su minimalios detalės dydį apibrėžiančia tiese? Pvz. taip, kaip rodo žalia tiesė šiame grafike:
Pav. 5 Minimalios ir fokusuoto vaizdo detalių dydžių palyginimas
Šiame grafike nei žalia, nei mėlyna linijos tolstant į priekį nuo fokusavimo taško niekada nekirs minimalios detalės dydį apibrėžiančios violetinės linijos. Praktiškai tai reikš, kad sensoriaus paviršiuje formuojama detalė bus visada mažesnė už dvi celes. Arba kitaip tariant - visi objektai tolumoje bus idealiai sufokusuoti. Šis scenarijus dar vadinamas hiper-fokusu - tikiuosi apie jį girdėjot ir matėt įvairiausius kalkuliatorius, kurie paskaičiuoja ir suskaičiuoja, kur reiktų fokusuot. Gal net ir naudojot tuos paskaičiavimus praktiškai. O aš benarpliodamas teoriją ėmiau ir suabejojau jų tikslumu.
Bet čia jau tema kitam praktiniam eksperimentui ir kitam įrašui.