Fast Convolutional Neural Networks for Real-Time Path Tracing Denoising
Lotvonen, Atro (2021)
Lotvonen, Atro
2021
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-06-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202106015630
https://urn.fi/URN:NBN:fi:tuni-202106015630
Tiivistelmä
Path tracing is a method to generate photorealistic images with physically based effects such as reflections, shadows, refractions and global illumination. Path tracing in real-time requires large amount of computational power and it is often more sensible to use efficient post-processing methods to improve the quality of the output than using the computational power to increase the number of samples and thus decreasing the error this way. However, the ease of parallelizing path tracing offers a good way to improve the results for real-time when the high amount of computational power is attainable for example in a server cluster.
The advancements in machine learning for image-based problems and the evolving inference hardware for neural networks enables the reconstruction of multiple samples per pixel path tracing in real-time using machine learning based methods. However, most of the previous machine learning based methods do not consider real-time inference and this becomes even more prevalent with real-time path tracing where the path tracing takes most of the computational time from a single frame.
In this thesis, the performance of fast convolutional neural networks is tested for denoising path traced images with multiple samples per pixel. The fast convolutional neural networks can achieve better error metrics than state-of-the-art analytical bilateral based filters in most cases. Moreover, for real-time performance the fast convolutional neural networks may be processed with almost similar requirements for computational power as the analytical filters. Also, the fast convolutional neural networks can achieve better quality in almost all cases with 8 samples per pixel inputs compared to just path tracing with 64 samples per pixel with 8x times required computational power or level of parallelization. Polunjäljitys on menetelmä fotorealististen kuvien luomiseksi fysikaalisesti perustuvien efektien, kuten heijastuksien, varjojen, taittumisen ja globaaliin valaistuksen avulla. Polunjäljitys reaaliajassa vaatii paljon laskentatehoa ja on usein järkevämpää käyttää tehokkaita jälkikäsittelymenetelmiä kuvan laadun parantamiseksi kuin laskentatehon käyttäminen näytteiden määrän lisäämiseen ja virheen vähentämiseen näin. Polunseurannan rinnakkaistamisen helppous on kuitenkin hyvä tapa parantaa tuloksia reaaliajassa, kun suuri laskentateho on saavutettavissa esimerkiksi palvelinklusterissa.
Kuvapohjaisten ongelmiin liittyvän koneoppimisen ja neuroverkkoja varten tarkoitettujen laskentayksiköiden kehitys mahdollistavat usean näytteen pikseliä kohti polunjäljityksen rekonstruoinnin reaaliajassa koneoppimiseen perustuvien menetelmien avulla. Suurin osa aikaisemmista koneoppimiseen perustuvista menetelmistä ei kuitenkaan ota huomioon reaaliaikaista laskentaa, joka on entistä vallitsevampaa reaaliaikaisessa polunjäljityksessä, jossa polunjäljitys vie suurimman osan laskennallisesta ajasta yhdestä kuvasta.
Tässä opinnäytetyössä testataan nopeiden konvoluutioneuroverkkojen suorituskykyä polunjäljitetyissä kuvissa olevan kohinan poistamiseksi, kun on käytössä useita näytteitä pikseliä kohti. Nopeat konvoluutioneuroverkot pystyvät useimmissa tapauksissa saavuttamaan paremmat arvot virhemittareissa kuin viimeisimmät analyyttiset bilateraaliset suodattimet. Lisäksi reaaliaikaisen suorituskyvyn saavuttamiseksi nopeita konvoluutioneuroverkkoja voidaan käyttää lähes samanlaisilla vaatimuksilla laskentateholle kuin analyyttisiä suodattimia. Nopeat konvoluutioneuroverkot pystyvät myös saavuttamaan paremman laadun melkein kaikissa tapauksissa 8 näytteellä pikseliä kohden verrattuna vain polunjäljityksen tulokseen 64 näytteellä pikseliä kohden, mikä vaatii 8-kertaisesti laskentatehoa.
The advancements in machine learning for image-based problems and the evolving inference hardware for neural networks enables the reconstruction of multiple samples per pixel path tracing in real-time using machine learning based methods. However, most of the previous machine learning based methods do not consider real-time inference and this becomes even more prevalent with real-time path tracing where the path tracing takes most of the computational time from a single frame.
In this thesis, the performance of fast convolutional neural networks is tested for denoising path traced images with multiple samples per pixel. The fast convolutional neural networks can achieve better error metrics than state-of-the-art analytical bilateral based filters in most cases. Moreover, for real-time performance the fast convolutional neural networks may be processed with almost similar requirements for computational power as the analytical filters. Also, the fast convolutional neural networks can achieve better quality in almost all cases with 8 samples per pixel inputs compared to just path tracing with 64 samples per pixel with 8x times required computational power or level of parallelization.
Kuvapohjaisten ongelmiin liittyvän koneoppimisen ja neuroverkkoja varten tarkoitettujen laskentayksiköiden kehitys mahdollistavat usean näytteen pikseliä kohti polunjäljityksen rekonstruoinnin reaaliajassa koneoppimiseen perustuvien menetelmien avulla. Suurin osa aikaisemmista koneoppimiseen perustuvista menetelmistä ei kuitenkaan ota huomioon reaaliaikaista laskentaa, joka on entistä vallitsevampaa reaaliaikaisessa polunjäljityksessä, jossa polunjäljitys vie suurimman osan laskennallisesta ajasta yhdestä kuvasta.
Tässä opinnäytetyössä testataan nopeiden konvoluutioneuroverkkojen suorituskykyä polunjäljitetyissä kuvissa olevan kohinan poistamiseksi, kun on käytössä useita näytteitä pikseliä kohti. Nopeat konvoluutioneuroverkot pystyvät useimmissa tapauksissa saavuttamaan paremmat arvot virhemittareissa kuin viimeisimmät analyyttiset bilateraaliset suodattimet. Lisäksi reaaliaikaisen suorituskyvyn saavuttamiseksi nopeita konvoluutioneuroverkkoja voidaan käyttää lähes samanlaisilla vaatimuksilla laskentateholle kuin analyyttisiä suodattimia. Nopeat konvoluutioneuroverkot pystyvät myös saavuttamaan paremman laadun melkein kaikissa tapauksissa 8 näytteellä pikseliä kohden verrattuna vain polunjäljityksen tulokseen 64 näytteellä pikseliä kohden, mikä vaatii 8-kertaisesti laskentatehoa.