Rendering realistico: quali processi dell'occhio umano e del cervello devo considerare?


12

Il rendering fotorealistico ha l'obiettivo di rendere un'immagine come una vera fotocamera la catturerebbe. Sebbene questo sia già un obiettivo ambizioso, per alcuni scenari potresti voler portarlo oltre: rendere un'immagine come l' occhio umano la catturerebbe o anche come l' essere umano la percepirebbe. Potresti chiamarlo rendering visiorealistico o perceptiorealistico , ma se qualcuno potesse trovare un termine più incisivo (o dirmi che ce n'è già uno esistente) lo apprezzerei.

Ecco alcuni esempi per chiarire il mio punto. Quando scatti una foto con una fotocamera a un livello di illuminazione basso, hai una buona lente o ottieni un'immagine rumorosa. Per un osservatore umano, la visione scotopica entra in gioco e dà origine all'effetto Purkinje (i colori si spostano verso il blu). Questo effetto dipende dalle informazioni sulla luminanza dell'HDR, che si perdono quando visualizzo l'immagine su un display LDR. Inoltre, il cervello umano può utilizzare le informazioni di profondità per "filtrare" l'immagine percepita - informazioni che vengono perse in un rendering finale (non stereo).

Riunire un elenco esauriente è probabilmente un obiettivo inafferrabile. Potresti suggerire alcuni degli effetti dell'occhio e del cervello che dovrei prendere in considerazione?


ho sentito una volta che otteniamo lo stesso rumore delle telecamere perché il rumore è in realtà fisico e non solo elettrico. (cioè non ci sono così tanti fotoni dopo tutto). Ma il cervello lo cancella, usando l'antialias temporale. (cioè vediamo con un sacco di motion blur di notte).
v.oddou

Non ne ho idea. Se si esegue il rendering di un'immagine in condizioni di scarsa luminosità e si simula un effetto Purkinje, non sembrerà realistico in quanto l'occhio umano aggiungerà il proprio effetto, no?
Yves Daoust,

1
@YvesDaoust Dato che l'immagine viene mostrata su un monitor LDR in condizioni di illuminazione sconosciute, probabilmente no. In poche parole, l'immagine che vedi sullo schermo sarà più luminosa, quindi è più facile da percepire. Se stessimo usando un monitor HDR e potessimo riprodurre esattamente i valori di luminanza di una scena notturna (e avere una stanza altrimenti buia), hai ragione.
David Kuri,

1
Non c'è niente di sbagliato in ciò che stai cercando, ma temo che questo mi sembri un po 'troppo ampio in quanto ci sono così tanti effetti che dobbiamo considerare. Non potrei scriverlo in formato SE, perché sarebbe davvero sbagliato. Tuttavia, se modifichi il tuo ambito un po 'come "Puoi suggerire alcuni degli effetti che dovrei considerare" di quanto sarebbe più facile iniziare.
joojaa,

@joojaa Ho cambiato le domande come mi hai suggerito, grazie.
David Kuri,

Risposte:


5

potresti volerlo spingere oltre: rendere un'immagine come l'occhio umano la catturerebbe o anche come l'essere umano la percepirebbe.

Esistono due modi per interpretarlo. Farò entrambe le cose.


Interpretazione 1: Rendering di un'immagine che appare percettivamente realistica.

Alla fine della giornata, l'immagine deve ancora essere visualizzata da qualche parte. Ecco la chiave: vuoi rendere la tua immagine in modo tale che quando * visualizzi * quell'immagine su un particolare dispositivo di visualizzazione, produrrà la stessa sensazione che l'immagine radiometrica originale avrebbe prodotto.

Ecco come decomprimere quell'idea.

Nel mondo reale, gli spettri radiometrici (cioè le distribuzioni di luce reali) penetrano nell'occhio e stimolano circa 1 quattro recettori di luce. Le stimolazioni dei recettori producono le sensazioni di colore che associamo alle immagini.

Nel rendering, non abbiamo un controllo arbitrario sugli spettri che produciamo. Fortunatamente, poiché (di solito) abbiamo solo tre coni, ognuno dei quali produce solo un valore scalare, la visione dei colori può essere riprodotta usando esattamente tre primari. La linea di fondo è che puoi produrre qualsiasi sensazione di colore usando solo una combinazione lineare di tre lunghezze d'onda (fino a pochi colori che potrebbero essere negativi, nel qual caso devi usare solo primarie diverse).

Non hai una scelta di primarie. Quasi tutti i dispositivi di visualizzazione a colori utilizzano lo standard sRGB, che fornisce tre elementi primari (che di solito non hanno una singola lunghezza d'onda). Va bene perché si scopre che è tutto sottratto e non devi preoccuparti.

Per chiarire il caos che è il rendering percettivamente accurato, ecco l'algoritmo:

  1. Rendi la tua immagine usando i calcoli radiometrici corretti. Traccia singole lunghezze d'onda di luce o secchi di lunghezze d'onda. Qualunque cosa. Alla fine, hai un'immagine che ha una rappresentazione dello spettro ricevuto in ogni punto.
  2. Ad ogni pixel, prendi lo spettro che hai reso e lo converti nello spazio colore CIE XYZ . Questo funziona per integrare il prodotto dello spettro con le funzioni standard dell'osservatore (vedi definizione CIE XYZ) .
  3. Questo produce tre valori scalari, che sono i colori CIE XYZ.
  4. Utilizzare una trasformazione a matrice per convertirla in RGB lineare, quindi da lì utilizzare una trasformazione lineare / di potenza per convertire RGB lineare in sRGB .
  5. Converti da virgola mobile a uint8 e salva, bloccando i valori fuori portata (il tuo monitor non può rappresentarli).
  6. Invia i pixel uint8 al framebuffer.
  7. Il display prende i colori sRGB, fa la trasformazione inversa per produrre tre primarie di intensità particolari. Ciascuno ridimensiona l'output di qualunque elemento dell'immagine di cui è responsabile. Gli elementi dell'immagine si illuminano, producendo uno spettro. Questo spettro sarà (si spera) un metamero per lo spettro originale che hai reso.
  8. Percepisci lo spettro come avresti percepito lo spettro renderizzato.

Interpretazione 2: tentativo di simulare i dati finali che l'occhio umano potrebbe ricevere a scopo di visualizzazione o compensazione per i display LDR.

Questo ha un significato meno utile, credo. In sostanza, stai cercando di produrre un'immagine che modifichi il modo in cui il cervello la percepisce per divertimento / profitto.

Ad esempio, quest'anno SIGGRAPH ha pubblicato un articolo in cui simulavano immagini residue e riduzione del colore per far apparire le immagini percettivamente diverse. Naturalmente, l'unica ragione per cui lo fanno è perché i display con cui stiamo lavorando sono tutti a bassa gamma dinamica (LDR). Il punto è simulare gli effetti che qualcuno potrebbe vedere se esposti a un display ad alta gamma dinamica (HDR) come dati immagine reali.

In pratica, questo non funziona molto bene. Per le immagini residue, ad esempio, vediamo immagini residue a causa di uno stimolo molto luminoso che esaurisce le cellule colorate. Se invece provi a stimolare l'effetto con una falsa immagine successiva, potrebbe sembrare un po 'simile - ma dal momento che è un meccanismo completamente diverso, non è molto convincente.

Questo tipo di grafica è in realtà sottoesplorata in letteratura se vuoi provarci. L'articolo citato è un esempio degli approcci più o meno all'avanguardia che abbiamo. Penso che l'attuale consenso, tuttavia, sia che non vale davvero la pena provare a simulare (almeno in questo momento), poiché nella migliore delle ipotesi avresti solo approssimato gli effetti della visione reale sostituendo quelli diversi, e che questo non è davvero opera.


1 asta + 3 * coni, il solito caso. Approssimativo perché gli esseri umani possono avere fino a zero recettori di luce funzionali fino a un massimo congestionato di sette (il più alto mai osservato è cinque).


Grazie per la tua risposta. Lo considero però incompleto. La tua affermazione dell'Interpretazione 1 "Tu percepisci lo spettro come avresti percepito lo spettro renderizzato" è probabilmente errata. Quando percepisci lo spettro reale, gli effetti entrano in gioco quando non utilizzi la conversione che hai descritto (ad es. Dovresti usare un osservatore scotopico standard in condizioni di scarsa illuminazione, come menzionato in Jameson, Hurvich: Visual Psychophysics). Quello che hai descritto è l'idea del rendering spettrale. L'interpretazione 2 è ciò di cui voglio saperne di più. Il documento sarà un buon inizio, grazie per quello.
David Kuri,

4

Quando si tratta di percezione, c'è anche il problema di ciò che siamo quasi ciechi (in termini di proprietà o artefatti) e di ciò a cui abbiamo applicato la percezione.

Ad esempio per quanto riguarda il suono, hai contrasto o frequenze che ti rendono meno o meno consapevole di altri contenuti (un vecchio documento SIGGRAPH ha illustrato come la trama può mascherare la risoluzione della mesh), oltre a tutti gli aspetti del tempo (google per "cambia la cecità"). Allo stesso modo, i dettagli di superficie, normali, BRDF potrebbero o meno essere visti a seconda dei valori e dei valori relativi.

Inoltre, poiché il nostro sistema percettivo tende ad adattarsi a livello locale e globale, per valori di bassa frequenza è importante disporre di massimi e minimi nei punti giusti, ma il loro valore esatto non verrà notato.

A volte la cognizione potrebbe essere lì per, come se permettessi molti errori nelle nuvole e negli alberi, ma sicuramente meno nei volti umani. (A volte potresti eseguire il downgrade a statistiche dei parametri per una determinata categoria.)

Ecco perché preferisco usare la parola "plausibile" piuttosto che "fotorealistica".

Al contrario, siamo ultra sensibili a artefatti come falsi pixel o pixel tremolanti, ultra sensibili a correlazioni come fronti di errore di solo 1 livello di grigio, schemi indesiderati come Moiré, aliasing o bad random, ecc.

A proposito, è uno dei motivi per cui le soluzioni basate sull'ottimizzazione che sommano tutto in una semplice energia possono essere una pessima idea dal punto di vista percettivo, poiché in tutte le situazioni paradossali questo può essere incline alla concentrazione di errori in linee o punti. Per lo stesso motivo, le prime persone nell'illuminazione globale erano davvero deluse dal fatto che le soluzioni esatte di energia fossero meno accettate delle ombre approssimative anti-alias (e quindi provenivano dal quad-albero basato su metodi adattativi basati su mesh).

Una panoramica (abbastanza generale) sulla percezione della grafica può essere trovata in questo corso SigAsia'11 su "Percezione in grafica, visualizzazione, ambienti virtuali e animazione"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.