Keskustelua yliskaalaustekniikoista ja frame generaatiosta Nvidia Dlss, Amd Fsr, Intel Xess, Lossless Scaling

Kuulostaa aika paljon säteenseurantaa hyödyntävien pelien käyttämiltä denoisereilta. Myös ne toimivat screen space filtterin tavoin ja väistämättä haaskaavat alkuperäistä ehtaa säteenseurannalla saatua valaistusinformaatiota prosessoidessaan siitä loppukuvan. Syy miksi tähän valaistusinformaation uhraamiseen lähdetään on denoisereiden kohdalla sama kuin DLSS 5:nkin: estetiikan tavoittelu.

Denoiser on tyypillisesti pelissä väkisin käytössä, kun asetuksista isketään säteenseuranta efektiä kehiin.

Arvaan, ettet kuitenkaan niiden kehitystä tai edes päälle pakotusta juurikaan vastusta?
Kertoisitko ihan esimerkein että miten denoiseri haaskaa säteenseurannalla laskettua dataa? Keskiarvoahan se laskee niistä säteistä nvidialla vieläpä mallin pinnoille, eli ei haaskaa mitään. (Oikeasti toki ovat monimutkaisempia rakenteita)

Tavallaan voi sanoa että dlss6 voi sisältää mitä vaan, ja tavallaan ei.
Jep. Turhaa spekuloida siis. Siitä on hauskempi spekuloida että onko tällä nykytekniikalla mitään tulevaisuutta.
 
Kertoisitko ihan esimerkein että miten denoiseri haaskaa säteenseurannalla laskettua dataa?
Mun ymmärtääkseni se denoiseri, etenkin tekoälyllä tehty, lähinnä ennustaa/arvioi miltä kuvan pitäisi näyttää sen sädedatan perusteella. Ja tämä ennustaminen on aina enemmän tai häviöllistä/virheellistä. Tätä tarkoitin haaskaamisella.

Voi olla että se käyttääkin kaiken saadun datan mitään haaskaamatta ja sitten ilmaisuni oli huono.

Onko siis niin, että jos me käytettäisiin jotain tyypillistä videopelin denoiseria erittäin isolla budjetilla, vaikkapa 100 000 sädettä/pikseli rendattuun PT-kuvaan, ei kuvan laatu kärsisi siitä filtteristä lainkaan? Jos kärsii, mielestäni voidaan sanoa, että säteenseurannalla laskettua dataa haaskataan denoiserilla.

Oli miten oli, vähintäänkin denoiserin käyttäminen haaskaa GPU-aikaa, jolloin säteitä on varaa ampua vähemmän.
 
Mun ymmärtääkseni se denoiseri, etenkin tekoälyllä tehty, lähinnä ennustaa/arvioi miltä kuvan pitäisi näyttää sen sädedatan perusteella. Ja tämä ennustaminen on aina enemmän tai häviöllistä/virheellistä. Tätä tarkoitin haaskaamisella.
Tällöin kyseeessä ei ole denoiseri vaan img2img generatiivinen tekoäly. ML toteutukset eivät todellakaan kaikki toimi kuten esität.

Vaatii aika herkän testiasettelun tuloksineen jotta voisi väittää että se heittää hukkaan osan sädedatasta, jota ilman denoiseria näytettäisiin käyttäjälle.
Onko siis niin, että jos me käytettäisiin jotain tyypillistä videopelin denoiseria erittäin isolla budjetilla, vaikkapa 100 000 sädettä/pikseli rendattuun PT-kuvaan, ei kuvan laatu kärsisi siitä filtteristä lainkaan?
En tiedä. Riippuu denoiserista ja niitä on kymmeniä erilaisia eri peleissä.
Oli miten oli, vähintäänkin denoiserin käyttäminen haaskaa GPU-aikaa, jolloin säteitä on varaa ampua vähemmän.
Samoin kuin TAA (kuten dlss) haaskaa gpu aikaa ja saatais korkeampi resoluutio ilman. Kyllä niitä säteitä kannattaa aiemmilta ruuduilta käyttää hyödyksi kun uutta kuvaa lasketaan. Ruudulle jää mustia pikseleitä ja korostettua rakeisuutta jos mitään denoiseria ei käytettäisi.
 
Riippuu denoiserista ja niitä on kymmeniä erilaisia eri peleissä.
Ok eli sanot, että on denoisereita, jotka toimivat niin, etteivät täydellistä, äärettömän budjetin PT-kuvaa lainkaan muuttaisi. Jos noin, niin mulla oli väärä käsitys denoiserien toimintatavoista ja seison korjattuna.
 
Juu mutta tuo on sivuseikka ottaen huomioon että AMD voisi FSR 5 mallissaan tasan samoja inputteja hyödyntää kuin tuollainen denoiser etkä silti omien sanojesi mukaan toivo heidän sellaista kehittävän.
Unohdin edelliseen vastaukseen mainita, että AMD:llahan on siis ~vastaava Ray Regeneration -denoiseri kuin NVIDIAlla. Mutta ajatukset säteenseurannasta ei sillä tietenkään muutu.
 
Tuosta DLSS5 filtteristä puhuin etten toivo, ehkä ilmaisin itseni huonosti tai luin hätäiseen.
Mutta kuten jo totesin (ja huomasitkin) IMO säteenseurannalla voisi heittää vesilintua kunnes voidaan ampua tarpeeksi säteitä (sisältäen tarpeeksi korkean reson eikä mitään skaalainroskaa)
Itseasiassa mä luin hätäisesti.
AMD FSR 5:lla viittasin siis juurikin DLSS 5:ttä vastaavaan hommaan, kun sanoit ettet toivo AMD:n sellaista tuovan vaikka kuinka kehittyisi. Sanoit että denoiser toimii tyypillisesti g-bufferissa, sekoitin z-bufferiin ymmärtäen että tarkoitit että syvyyttä käytetään inputtina ja siitäpä sotkeutui asiat.
 
Ok eli sanot, että on denoisereita, jotka toimivat niin, etteivät täydellistä, äärettömän budjetin PT-kuvaa lainkaan muuttaisi. Jos noin, niin mulla oli väärä käsitys denoiserien toimintatavoista ja seison korjattuna.
Uskoisin että vaikka archicadin denoiseri on sellainen. Ei ole mitään teknistä estettä tuottaa säteiden määrän mukaan adaptoituvaa denoising algoa jonka luotto kuvan laatuun kasvaa säteiden määrän kasvaessa.

Ja se on kans aivan eri asia että denoiseri ei lainkaan muuttaisi kuvaa vs. että se heittää dataa pois. Se voi olla laskennallisesti yksinkertaisesti epäoptimaalinen ja tulla eri lopputulokseen. Pyöristää vaikka lukuja eri tavalla tms.
 
Viimeksi muokattu:
Uskoisin että vaikka archicadin denoiseri on sellainen. Ei ole mitään teknistä estettä tuottaa säteiden määrän mukaan adaptoituvaa denoising algoa jonka luotto kuvan laatuun kasvaa säteiden määrän kasvaessa.

Ja se on kans aivan eri asia että denoiseri ei lainkaan muuttaisi kuvaa vs. että se heittää dataa pois. Se voi olla laskennallisesti yksinkertaisesti epäoptimaalinen ja tulla eri lopputulokseen. Pyöristää vaikka lukuja eri tavalla tms.
Aivan paskan screen space denoiserin sisuksiin syötetään input-kuva sellaisenaan, pikseliäkään haaskaamatta. Se laskee yksityiskohtaisen PT-kuvan kaikkien pikseleiden värikeskiarvon ja ulostaa 1x1 möntin. Mun mielestäni on ihan ok sanoa, että aiemmassa rendausvaiheessa säteenseurannalla saatua valaistusinformaatiota on haaskattu, kun loppukuvaa varten myöhemmässä vaiheessa on käytetty tätä denoiseria.

Onko sanavalinnat huonoja vai ihan asiatasollakin jotain näkemyseroa?
 
Aivan paskan screen space denoiserin sisuksiin syötetään input-kuva sellaisenaan, pikseliäkään haaskaamatta. Se laskee yksityiskohtaisen PT-kuvan kaikkien pikseleiden värikeskiarvon ja ulostaa 1x1 möntin. Mun mielestäni on ihan ok sanoa, että aiemmassa rendausvaiheessa säteenseurannalla saatua valaistusinformaatiota on haaskattu, kun loppukuvaa varten myöhemmässä vaiheessa on käytetty tätä denoiseria.
No riippuu mitä se denoiseri edelleen tekee. Jos outputti muuttuisi yhdenkin säteen saaman väriarvon muuttuessa niin ei niitä teknisesti ottaen olla haaskattu vaan kaikki säteet osallistuivat lopullisen kuvan tuottamiseen.

Keskiarvoittaahan ne archicadinkin denoiserit. Jokaisen pikselin vaikka 100+ sädettä keskiarvotetaan ja ulos tulee 1x1 möntti per pikseli. Tai sit siel on painotettu keskiarvo. Vaikea sanoa.

Missä kohtaa menee haaskaamisen puolelle kun output resoluution yhtä pikseliä kohden lasketaankin yli yksi säde? Esimerkissäsi esim. 8miljoonaa sädettä (oletin 4k reson lähtökuvan) per yksi pikseli outputissa oli ilmeisesti liikaa ja verrattavissa haaskaamiseen?
 
Viimeksi muokattu:
No riippuu mitä se denoiseri edelleen tekee. Jos outputti muuttuisi yhdenkin säteen saaman väriarvon muuttuessa niin ei niitä teknisesti ottaen olla haaskattu vaan kaikki säteet osallistuivat lopullisen kuvan tuottamiseen.
Värikeskiarvo muuttuisi. Voidaan valaistusinformaation haaskaamisen sijaan puhua vaikka visuaalisen fideliteetin menettämisestä tms. denoisausvaiheessa, jos se auttaa, mutta yhäkään en tarkoita että input-datasta poistettaisiin mitään vaan sitä, että sitä käytetään epätäydellisesti.

Missä kohtaa menee haaskaamisen puolelle kun output resoluution yhtä pikseliä kohden lasketaankin yli yksi säde?
Siinä kohtaa kun siirrytään täydellisestä denoiserista epätäydelliseen. Noin matemaattisesti en tiedä onko täydellinen denoiseri edes validi konsepti, vai ovatko ne pikemminkin taideteoksia tms, mutta pointtina lähinnä että kompromisseja niillä tehdään aina.

Ja kompromisseja tehdään jossain määrin samaan tapaan myös kun käytetään DLSS 5:n kaltaista kuvanihanninta. Se muistaakseni oli alkuperäinen pointtini.
 
Siinä kohtaa kun siirrytään täydellisestä denoiserista epätäydelliseen.
Täh? Ehkä et nyt ymmärrä miten säteenjäljitys edes toimii, mutta on siis erittäin normaalia ampua ihan järjetön määrä säteitä per pikseli (kenties vähän eri sub pixel koordinaateilla) ja sitten keskiarvottaa ne. Jos vaikka on joku puoliheijastava pinta, niin sun on pakko laskea se heijastus yhtenä säteenä ja lasin läpi menevä osa toisena ja keskiarvottaa lopputulos. Sitten esim. ihoa mallinnettaessa säteitä pitää ampua ihan hemmetisti jotta saadaan ihon alainen valoa satunnaisesti hajottava kudoskerros laskettua järkevästi.

Mikäli ammutaan vain yksi säde per pikseli niin lopputulos on kaoottisen rakeinen kasa paskaa.

Quake rtx pelissä voit säätää moottorista denoisingin kokonaan pois päältä, ja rajoittaa säteiden määrän yhteen per pikseli. Kantsii käydä kattomassa miltä sekin sitten näyttää.

Se mitä esität on vähän vastaavaa kuin jos sanoisi että SSAA haaskaa laskettuja pikseleitä, ja kuinka kuva ilman mitään AA totuetusta olisi ”täydellinen”.
Ja kompromisseja tehdään jossain määrin samaan tapaan myös kun käytetään DLSS 5:n kaltaista kuvanihanninta. Se muistaakseni oli alkuperäinen pointtini.
Yritätkö todella jotain keskiarvofunktiota verrata generatiiviseen img2img tekoälyyn ja esittää että ne olisi yhtälailla epätäydellisiä tapoja esittää säteenjäljityksen lopputulosta ihmisille?

”Täydellisessä” maailmassa meillä olisi rajattoman tarkka näyttö ja siinä sitten vaikka miljardi sädettä piirrettynä. Näin meidän oma silmä saisi tehdä sen denoisingin. Oikeastaan tässä olisi varmaan se oikea lähtökohta jotta voidaan sanoa milloin denoiseri toimii ”täydellisesti”, eli jos ihminen ei erota sitä tälläisestä teoreettisesta esitystavasta.
 
Viimeksi muokattu:
Quake rtx pelissä voit säätää moottorista denoisingin kokonaan pois päältä, ja rajoittaa säteiden määrän yhteen per pikseli. Kantsii käydä kattomassa miltä sekin sitten näyttää.
Quake 2 RTX on oikein tuttu ja erittäin hyvä esimerkki, kiitos. Siinä pelissä kun laittaa settareista denoiserin pois päältä, niin screen space algoritmi nimeltään SVGF otetaan pois käytöstä. Mistähän syystä jätit tämän mainitsematta kun liittyy erittäin olennaisesti siihen mistä on kokoajan keskusteltu?

Mun ymmärtääkseni denoiserin käytöstä poistaminen ei tossa pelissä vaikuta ammuttujen säteiden määrään lainkaan vaan nimenomaan vain togglettaa tuota SVGF algoa. Voit havainnoida tätä siitä sisäänrakennetusta diagnostiikka indikaattorista, joka näyttää kuinka paljon mikäkin elementti render pipelinestä maksaa gpu timeä.

Muistaakseni voit myös yhä säätää low, medium ja high asetuksia säteiden määrille riippumatta siitä onko denoiser päällä vai pois, mistä syystä oletan ettei säteiden määrää muuteta riippumatta denoiser on/off asetuksesta. Yli vuoteen en ole yli vuoteen tohon peliin koskenut ja nämä asiat enimmäkseen ulkomuistista joten en ole tuosta varma.

Tuo SVGF algoritmi suttaa kuvaa voimakkaasti, kuva on terävämpi mutta toki rakeinen ilman sitä. Hyvä esimerkki epätäydellisestä reaaliaikaisesta screen space denoiserista.

Mä olen tässä kokoajan puhunut vain ja ainoastaan juuri SVGF:n kaltaisista screen space denoisereista, jotka toimii post-process vaiheessa, säteiden ampuisen jälkeen. Menee nyt saman toistoksi mutta: Ammut äärettömän määrän säteitä ja keskiarvotat ne ja saat täydellisen PT-kuvan Quake 2 RTX:ssä. Sitten lyöt ton SVGF:n tulille ja mun vahva olettamukseni on että suttaa kuvaa ikävästi -> menetetään visuaalista fideliteettiä (tai miten ikinä tämä nyt sitten pitääkään ilmaista).

Se mitä esität on vähän vastaavaa kuin jos sanoisi että SSAA haaskaa laskettuja pikseleitä, ja kuinka kuva ilman mitään AA totuetusta olisi ”täydellinen”.
En lainkaan esitä. Esitän, että SSAA:lla saatua kuvainformaatiota heitetään enemmän tai vähemmän hukkaan, jos sen jälkeen käytetään jotain post-process filtteriä joka tuhoaa niitä yksityiskohtia joita sillä SSAA:lla loihdittiin. Vaikka jotain motion blurria tms. Tai DLSS 5-kuvansööttääjää.
 
Viimeksi muokattu:
Mun ymmärtääkseni denoiserin käytöstä poistaminen ei tossa pelissä vaikuta ammuttujen säteiden määrään lainkaan
Jep, kuten kirjoitin niin molemmat voit pelistä säätää ja katsoa lopputulosta, kun denoisingia ei tapahdu ja säteitä ammutaan tasan yksi per pikseli. Säteiden määrän nostaminen yli yhteen keskiarvottaa niitä, ja tämä on ilmeisesti huono idea?
Menee nyt saman toistoksi mutta: Ammut äärettömän määrän säteitä ja keskiarvotat ne ja saat täydellisen PT-kuvan Quake 2 RTX:ssä. Sitten lyöt ton SVGF:n tulille ja mun vahva olettamukseni on että suttaa kuvaa ikävästi -> menetetään visuaalista fideliteettiä (tai miten ikinä tämä nyt sitten pitääkään ilmaista).
Eikö se todella muutu terävämmäksi säteiden määrää nostamalla, vaan algoritmi suttaa tästä tietämättä kuvan aina samanlaiseksi, heittäen hukkaan suuren osan lasketuista säteistä? Jos näin niin silloin algoritmia olisi syytä kehittää.
En lainkaan esitä. Esitän, että SSAA:lla saatua kuvainformaatiota heitetään enemmän tai vähemmän hukkaan, jos sen jälkeen käytetään jotain post-process filtteriä joka tuhoaa niitä yksityiskohtia joita sillä SSAA:lla loihdittiin. Vaikka jotain motion blurria tms. Tai DLSS 5-kuvansööttääjää.
Eli SSAA keskiarvottamassa laskettuja pikseleitä on ok, mutta jos sen nimi olisi ”denoiser”, niin silloin se olisi huono juttu? Keskiarvottava denoiseri se SSAA:kin teknisesti ottaen on.
 
Viimeksi muokattu:
Säteiden määrän nostaminen yli yhteen keskiarvottaa niitä, ja tämä on ilmeisesti huono idea?
Ei ole enkä ole tuommoista millään tavalla yrittänyt viestittää. Ehkä olen väärässä mutta ei tota denoisaamiseksi kutsuta kun ammutaan useita säteitä pikseliä kohden ja sitten sitä pikseliä kohden se tulokset keskiarvotetaan. Samplaamiseksi tota mun ymmärtääkseni kutsutaan.

Eli SSAA keskiarvottamassa laskettuja pikseleitä on ok, mutta jos sen nimi olisi ”denoiser”, niin silloin se olisi huono juttu?

En pysy kärryillä, mä en ole missään vaiheessa yrittänyt mitään tollaista sanoa SSAA:sta tai siitä että ammutaan helvetisti säteitä, eli kerätään sampleja.

Meniköhän tässä asiat sekaisin kun yritin kuvailla surkeaa post-process denoiseria, joka ottaa kuvan kaikki pikselit (siis sen jälkeen kun säteet tai ssaa on samplattu ja keskiarvotettu) ja laskee niistä värikeskiarvon ja näyttää sen ruudulle.
Loppu kuva on 3840x2160 pikseliä joista kaikki on tasan saman värisiä, 1x1 möntiksi nimitin, mistä ehkä lähti joku väärinymmärrysten ketju liikkelle tai jotain. Muuten en oikein tiedä mistä olet saanut päähäsi että samplejen keskiarvoistamista olen pitänyt denoisaamisena.
 
Ei ole enkä ole tuommoista millään tavalla yrittänyt viestittää. Ehkä olen väärässä mutta ei tota denoisaamiseksi kutsuta kun ammutaan useita säteitä pikseliä kohden ja sitten sitä pikseliä kohden se tulokset keskiarvotetaan. Samplaamiseksi tota mun ymmärtääkseni kutsutaan.
Se keskiarvottaa ne jollain alalla. Denoiseri se siis on. Jos sampleja on liian vähän per pikseli niin sit keskiarvotetaan yli pikselin alallla.

Aiemmassa esimerkissäsi myös keskiarvotettiin kauhea määrä säteitä 1x1 möntiksi ja pidit sitä huonona. Nyt sitten se onkin hyvä juttu ja vain samplausta. En ymmärrä.
Meniköhän tässä asiat sekaisin kun yritin kuvailla surkeaa post-process denoiseria, joka ottaa kuvan kaikki pikselit (siis sen jälkeen kun säteet tai ssaa on samplattu ja keskiarvotettu) ja laskee niistä värikeskiarvon ja näyttää sen ruudulle.
Loppu kuva on 3840x2160 pikseliä joista kaikki on tasan saman värisiä, 1x1 möntiksi nimitin, mistä ehkä lähti joku väärinymmärrysten ketju liikkelle tai jotain. Muuten en oikein tiedä mistä olet saanut päähäsi että samplejen keskiarvoistamista olen pitänyt denoisaamisena.
Samplejen keskiarvoistamistahan se denoisaus lähtökohtaisesti on. Se vaan tehdään usein eri alalle kuin 1x1 px, jos säteitä ammutaan liian vähän haluttuun kohinan määrään nähden. Säteiden määrää kasvattamalla denoiseri voi toimia aina vaan pienemmällä alalla jos haluttu kohinataso pidetään vakiona. Parhaat denoiserit keräävät sampleja framesta toiseen piirtäen ne mallien tekstuureille ja dynaamisesti adaptoituvat paikallisen sampletiheyden mukaisesti.

Aiemmin keskustelimme teoreettisista ja täydellisistä denoisereista, nyt maalitolppa onkin sitten joku surkein keksimäsi toteutus (joka muuten ei heitä dataa pois sekään)?
 
Aiemmin keskustelimme teoreettisista ja täydellisistä denoisereista, nyt maalitolppa onkin sitten joku surkein keksimäsi toteutus (joka muuten ei heitä dataa pois sekään)?
Surkeinta keksimääni toteutusta en tuonut maalitolpaksi vaan havainnollistamaan äärimmäisellä, yksinkertaisella tavalla säteen seurannalla saadun visuaalisen fideliteetin menettämistä (valaistusinformaation haaskaamista).

Vaikke ne tosimaailman denoiserit on parempia kuin tuo läppä, on ne epätäydellisiä myöskin, mutta tapa jolla ne haaskaa visuaalista fideliteettiä on huomattavan haastavampi minulle kuvailla.

Q2 RTX puhuttaessa tein ihan selväksi, että olen puhunut nimenomaan noista SVGF:n tyyppisistä denoisereista en sampling vaiheen keskiarvottamisesta. Sulla on tässä vaiheessa kaikki eväät ymmärtää mitä mä tarkoitan jos vain haluat. Voit myös jankuttaa samplejen keräämisestä ja niiden keskiarvottamisesta, jos haluat, en osallistu siihen enempää.
 
Surkeinta keksimääni toteutusta en tuonut maalitolpaksi vaan havainnollistamaan äärimmäisellä, yksinkertaisella tavalla säteen seurannalla saadun visuaalisen fideliteetin menettämistä (valaistusinformaation haaskaamista).

Vaikke ne tosimaailman denoiserit on parempia kuin tuo läppä, on ne epätäydellisiä myöskin, mutta tapa jolla ne haaskaa visuaalista fideliteettiä on huomattavan haastavampi minulle kuvailla.
Se on sinänsä ihan hyvä keskustelu että onko vaikka valokuvia käsiteltäessä kaikki kohinanpoisto sama asia kuin visuaalisen fideliteetin vähentäminen. Tai vaikkapa mielenkiintoisempana esimerkkinä bayer suodattimen epätäydellinen käänteisfunktio. Onko digikameralla otetun kuvan fideliteetti korkeampi ennen debayerointia, ja haaskaako debayerointi kuvainformaatiota?
Q2 RTX puhuttaessa tein ihan selväksi, että olen puhunut nimenomaan noista SVGF:n tyyppisistä denoisereista en sampling vaiheen keskiarvottamisesta.
Okei. Hyvä denoiseri toimii hieman eri tavalla ja on tietoinen kaikkien laskettujen säteiden tarkoista sijainneista ja toteuttaa myös sen vaiheen mitä kutsut samplaukseksi. Samplet usein ammutaan alipikselitarkkuudella ja tämä informaatio on pakko säilyttää parasta mahdollista lopputulosta varten. jo vaikka dlss2 osasi tuon infon huomioida. Saako moista enää kutsua screen space denoiseriksi lienee lähinnä semanttinen vääntö. Eli onko se 2d point cloud screenspacea jos sitä ei ennen denoiseria samplata pikseleiksi. Mielestäni on sillä point cloud on kuitenkin screenspace koordinaateissa. Entä jos käytössä on myös sädekohtainen hit depth, onko kyse enää screen spacesta? Tai z-buffer?

Edit: mainitsemasi svgf käyttää syvyystietoja, normaaleja, liikevektoreita jne.
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
303 415
Viestejä
5 165 699
Jäsenet
82 338
Uusin jäsen
Rommelinos

Hinta.fi

Back
Ylös Bottom