Symmetria


Channel's geo and language: not specified, not specified
Category: not specified


geometry, light, computation

Related channels

Channel's geo and language
not specified, not specified
Category
not specified
Statistics
Posts filter


From microfacets to participating media: A unified theory of light transport with stochastic geometry
—
Dario Seyb, Eugene d'Eon, Benedikt Bitterli, Wojciech Jarosz

Stochastic geometry models have enjoyed immense success in graphics for modeling interactions of light with complex phenomena such as participating media, rough surfaces, fibers, and more. Although each of these models operates on the same principle of replacing intricate geometry by a random process and deriving the average light transport across all instances thereof, they are each tailored to one specific application and are fundamentally distinct. Each type of stochastic geometry present in the scene is firmly encapsulated in its own appearance model, with its own statistics and light transport average, and no cross-talk between different models or deterministic and stochastic geometry is possible. In this paper, we derive a theory of light transport on stochastic implicit surfaces, a geometry model capable of expressing deterministic geometry, microfacet surfaces, participating media, and an exciting new continuum in between containing aggregate appearance, non-classical media, and more. Our model naturally supports spatial correlations, missing from most existing stochastic models. Our theory paves the way for tractable rendering of scenes in which all geometry is described by the same stochastic model, while leaving ample future work for developing efficient sampling and rendering algorithms.

https://cs.dartmouth.edu/~wjarosz/publications/seyb24from.html
https://mastodon.gamedev.place/@das/112640579718768807


Machine Learning on the GPU - Case Study: Open Image Denoise
—
Chris Wallis

The way I’ve targetted this post is it’s just enough knowledge to make machine learning feel a less like black magic for rendering engineers and begin to develop a vague understanding of of what is actually going on when we talk about tech like DLSS, Open Image Denoise, XeSS, etc. To go about this, I will narrow in on a single case study: Open Image Denoise. I am far from an expert, and in fact I’d consider myself a beginner when it comes to Machine Learning. Almost all of my knowledge stems from some recent work I did to port Open Image Denoise to DirectML in my hobby path tracer.

https://wallisc.github.io//rendering/2024/06/06/Intro-to-GPU-ML-Denoising.html


Forward from: Хроники ботки
список судьбоносных работ по нейронкам от Ильи Суцкевера


Real-Time Path Guiding Using Bounding Voxel Sampling
—
Haolin Lu, Wesley Chang, Trevor Hedstrom, Tzu-Mao Li

We propose a real-time path guiding method, Voxel Path Guiding (VXPG), that significantly improves fitting efficiency under limited sampling budget. Our key idea is to use a spatial irradiance voxel data structure across all shading points to guide the location of path vertices. For each frame, we first populate the voxel data structure with irradiance and geometry information. To sample from the data structure for a shading point, we need to select a voxel with high contribution to that point. To importance sample the voxels while taking visibility into consideration, we adapt techniques from offline many-lights rendering by clustering pairs of shading points and voxels. Finally, we unbiasedly sample within the selected voxel while taking the geometry inside into consideration.

Our experiments show that VXPG achieves significantly lower perceptual error compared to other real-time path guiding and virtual point light methods under equal-time comparison. Furthermore, our method does not rely on temporal information, but can be used together with other temporal reuse sampling techniques such as ReSTIR to further improve sampling efficiency.


https://suikasibyl.github.io/vxpg


Shapes and Geometries: Analysis, Differential Calculus, and Optimization
—
M. C. Delfour, J.-P. Zolésio

This book provides a self-contained presentation of the mathematical foundations, constructions, and tools necessary for studying problems where the modeling, optimization, or control variable is no longer a set of parameters or functions but the shape or the structure of a geometric object. Shapes and Geometries: Analysis, Differential Calculus, and Optimization presents the extensive, recently developed theoretical foundation to shape optimization in a form that can be used by the engineering community. It also clearly explains the state-of-the-art developments in a mathematical language that will attract mathematicians to open questions in this important field.

https://people.math.ethz.ch/~hiptmair/Seminars/SHAPECALC/Papers/DEZ11.pdf


Filtering After Shading with Stochastic Texture Filtering
—
Matt Pharr, Bart Wronski, Marco Salvi, Marcos Fajardo

2D texture maps and 3D voxel arrays are widely used to add rich detail to the surfaces and volumes of rendered scenes, and filtered texture lookups are integral to producing high-quality imagery. We show that applying the texture filter after evaluating shading generally gives more accurate imagery than filtering textures before BSDF evaluation, as is current practice. These benefits are not merely theoretical, but are apparent in common cases. We demonstrate that practical and efficient filtering after shading is possible through the use of stochastic sampling of texture filters.

Stochastic texture filtering offers additional benefits, including efficient implementation of high-quality texture filters and efficient filtering of textures stored in compressed and sparse data structures, including neural representations. We demonstrate applications in both real-time and offline rendering and show that the additional error from stochastic filtering is minimal. We find that this error is handled well by either spatiotemporal denoising or moderate pixel sampling rates.


https://research.nvidia.com/labs/rtr/publication/pharr2024stochtex/

https://youtu.be/e3391_C6aXE


Beyond White Noise for Real-Time Rendering
—
demofox

For folks that know me as "the blue noise guy", I've put together a 50 minute video that talks about many of the things I've learned in my ~decade long dive into noise and related topics - up to and including our latest paper published days ago at I3D.
I hope you enjoy it!


https://www.youtube.com/watch?v=tethAU66xaA


Area ReSTIR: Resampling for Real-Time Defocus and Antialiasing
—
Song Zhang Daqi Lin Markus Kettunen Cem Yuksel Chris Wyman

Recent advancements in spatiotemporal reservoir resampling (ReSTIR) leverage sample reuse from neighbors to efficiently evaluate the path integral. Like rasterization, ReSTIR methods implicitly assume a pinhole camera and evaluate the light arriving at a pixel through a single predetermined subpixel location at a time (e.g., the pixel center). This prevents efficient path reuse in and near pixels with high-frequency details.

We introduce Area ReSTIR, extending ReSTIR reservoirs to also integrate each pixel's 4D ray space, including 2D areas on the film and lens. We design novel subpixel-tracking temporal reuse and shift mappings that maximize resampling quality in such regions. This robustifies ReSTIR against high-frequency content, letting us importance sample subpixel and lens coordinates and efficiently render antialiasing and depth of field.

https://graphics.cs.utah.edu/research/projects/area-restir/


Forward from: Pixels Science
N-BVH: Neural ray queries with bounding volume hierarchies-Код-Сравнения

Наши соседи из Саарбрюкена сделали прикольный ресёрч по нейронному сжатию геометрии. По сути, они предлагают реймаршить shallow MLPs c multi-layer grid encodings (InstantNGP), как NERF-ы, на выходе давая visibility и в придачу intersection point + albedo + normal, в случаи если visibility != 1.0

Но т.к. реймаршинг - это дорого, Филипп с Александром обучают BVH поверх множества нейронных node-ов, чтобы скипать пустое пространство.

Таким образом они соединили классическую acceleration data structure, которую современные GPU умеют быстро травёрсить, с новомодными нейронками. которые также современные ГПУ могут ускоренно исполнять 😊

добились сжатия по памяти в десятки раз!

конечно же, из-за того что всё это реализовано "софтверно", итоговые тайминги не очень привлекательны, но мы понимаем что всё это может быть аппаратно ускорено. в теории. вопрос только: cтоит ли туда копать? 🤔🤔🤔


ZH3: Quadratic Zonal Harmonics
—
THOMAS ROUGHTON, PETER-PIKE SLOAN, ARI SILVENNOINEN, MICHAL IWANICKI, PETER SHIRLEY,

Spherical Harmonics (SH) have been used widely to represent lighting in games and film. While the quadratic (SH3) and higher order spherical harmonics represent irradiance well, they are expensive to store and evaluate, requiring 27 coefficients per sample. Linear SH (SH2), requiring only 12 coefficients, are sometimes used, but they do not represent irradiance signals accurately and can have challenges with negative reconstruction.

We introduce a new representation (ZH3) that augments linear SH with just the zonal coefficient of quadratic SH, yielding significant visual improvement with just 15 coefficients, and discuss how solving for a luminance zonal axis can significantly improve reconstruction accuracy and reduce color artifacts.

We also discuss how, rather than storing the ZH3 coefficients explicitly, we can hallucinate them from the linear SH, improving reconstruction accuracy over linear SH at minimal extra cost.

https://torust.me/ZH3.pdf


Forward from: эйай ньюз
Прикольный юзкейс видеомоделек. Оказывается, сгенерированные видео можно использовать для определения физических свойств объекта.

Ситуация такая:

У нас есть Gaussian Splatting какого-то нетвердого предмета. Мы хотим его потрогать (в VR, например), а для реализма добавить его, скажем так, колыхание. Значит, нужно как-то определить физические свойства этого предмета и включить его в физический движок.

Но вот незадача. Неизвестно сплаты чего у нас есть, и как они вели бы себя, будь они физическим объектом т.е. нужна его упругость, масса и пр. В случае классической 3D модельки, физические свойства предмета указываются вручную, а мы хотим все автоматизировать.

А парни из PhysDreamer нашли способ определить физические свойства и реалистично анимировать такие облака гауссиан.

Внимание... они анимируют по сути скриншот этого нечто (в данном случае цветка) с какого-то из ракурсов в SD Video, а затем, используя данные о том, как двигался этот цветочек в сгенерированном референс видео, определяют упругость материала в каждой его части (стебель, бутон, горшок) в виде градиента упругости (в статье это называют "material field"), см. картинки. Таким образом определяется на сколько должна колыхаться каждая гаусианка. Это позволяет ну очень реалистично анимировать случайное колебание целого объекта под внешним  воздействием.

Гауссовские сплаты легко натеренить. Но минус их в том, что как работать с ними не понятно (с нерфами, например, тоже нелегко работать, а тут вообще облака полупрозрачных точек). И вот потихоньку учимся. Мб скоро и 3D-моделирование канет в лету, как и рисование, потому что все можно сгенерить. 🙂

Еще раз. Качающийся цветок на видео — это анимация, а не реальная видеозапись.

Пейпер
Гитхаб

@ai_newz


Forward from: эйай ньюз
Diffusion Models for Video Generation

Вышел новый пост #ликбез в моем любимом блоге. У Lilian Weng (OpenAI) всегда получаются очень подробные разборы тем. На этот раз она написала про существующие подходы для генерации видео с помощью диффузии. Контент для продвинутых юдокас.

Другие крутые посты из блога Lilian:
- Про диффузию
- Про оптимизацию трансформеров
- Про другие генеративные модели

@ai_newz




Algorithms for Modern Hardware
—
This is an upcoming high performance computing book titled “Algorithms for Modern Hardware” by Sergey Slotin.

Its intended audience is everyone from performance engineers and practical algorithm researchers to undergraduate computer science students who have just finished an advanced algorithms course and want to learn more practical ways to speed up a program than by going from O(nlog⁡n)O(nlogn) to O(nlog⁡log⁡n)O(nloglogn).

All book materials are hosted on GitHub, with code in a separate repository. This isn’t a collaborative project, but any contributions and feedback are very much welcome.

https://en.algorithmica.org/hpc/


Forward from: Experimental chill
LLAMA

Когда вы занимаетесь перформансом, одно из полезных упражнений для проделывания в голове -- анализ скорости света. В простом варианте надо задать себе вопрос "А какой реально лимит сделать то, что делаем мы в библиотеке/программе?".

Очевидный ответ, понятное дело, ноль, лимита нет. Но если подумать, всегда есть некоторые ограничения. Приведём примеры:

Компрессия -- лимит: memcpy. Скопировать данные уж точно надо будет

Хеширование -- проход по массиву, уж точно надо будет все данные прогрузить и сделать хотя бы одну инструкцию с ними

Аллокатор -- хмм, уже не очень понятно

Анализы скорости света выходят всё чаще и чаще, например, теоретические лимиты в математике/алгоритмах и так далее. Они часто оказываются неприменимы, но они действительно могут помочь понять, куда смотреть, находить какие-то эвристики для того, чтобы приблизиться к этому лимиту.

Тут вышла статья с технологией LLAMA (нет, не моделькой от фейсбука и название поста специально привлекает ваше внимание, потому что хайповые вещи я обсуждаю очень редко). А именно Learned Lifetime-Aware Memory Allocator.

https://dl.acm.org/doi/pdf/10.1145/3654642#page=89

Одна из проблем при аллокациях памяти -- локальность, некоторые объекты живут долго, некоторые очень мало, это создает очень большие проблемы с упаковкой памяти и фрагментацией.

Статья рассказывает, что если брать полный стектрейс аллокации и запоминать сколько объект поживёт, то с помощью LLM можно предсказывать сколько объект будет жить, и получить намного лучшую упаковку на реальных программах. К сожалению, запуск даже простых LLM и стектрейсов занимает микросекунды, когда TCMalloc возвращает память почти всегда за наносекунды.

Почему стектрейсы?

Потому что адреса вызовов могут меняться от запуска к запуску из-за рандомизации адресов бинаря. И потому что если вы вызываете аллокацию вектора, которую вызываете из ещё какого-то фреймворка, то становится уже очень сложно понять, какие адреса важны -- на самом деле важны все входы и поэтому полный стектрейс важен.

Что делать с перфом?

Ничего, это будет медленнее, но авторы обмазались кешами и всяким таким, потеряв немного качества и переобучаясь, если качество со временем падает заметно.

Из интересного, да, перформанс аллокатора замедлился раза в 3-4, но перформанс всей программы замедлился всего на 12%. Если посчитать, сколько занимает аллокатор, то в целом получается, что решения аллокатора ускоряют всё остальное. Поэтому не надо бояться проводить немного больше в аллокаторе -- его решения влияют на последующие результаты.

Что в итоге?

В статье очень красивые графики, которые показывают как фрагментация уменьшилась, но выводов особо нет. Это достаточно красивый метод как предсказывать и показывать, а где, собственно, лимит и что любые движения в том, чтобы попытаться такой подход заиспользовать.

В целом авторам удалось заметить некоторые эвристики, которые пошли в прод. Без деталей, но если надо, я найду для следующих постов, там долгая история:

We applied insights from this work to Temeraire, in order to make better decisions about when to break up huge pages in this allocator, which led to an estimated 1% throughput improvement across Google’s fleet

В общем, в этом достаточно интересный урок -- не бойтесь делать анализы скоростей света, когда можно потратить больше времени, чтобы найти лучше конфигурацию. Такие эксперименты дают больше понимания, что в идеальной ситуации должно работать.




3D Gaussian Splatting as Markov Chain Monte Carlo
—
Shakiba Kheradmand, Daniel Rebain, Gopal Sharma, et al

While 3D Gaussian Splatting has recently become popular for neural rendering, current methods rely on carefully engineered cloning and splitting strategies for placing Gaussians, which does not always generalize and may lead to poor-quality renderings. In addition, for real-world scenes, they rely on a good initial point cloud to perform well. In this work, we rethink 3D Gaussians as random samples drawn from an underlying probability distribution describing the physical representation of the scene -- in other words, Markov Chain Monte Carlo (MCMC) samples. Under this view, we show that the 3D Gaussian updates are strikingly similar to a Stochastic Langevin Gradient Descent (SGLD) update. As with MCMC, samples are nothing but past visit locations, adding new Gaussians under our framework can simply be realized without heuristics as placing Gaussians at existing Gaussian locations. To encourage using fewer Gaussians for efficiency, we introduce an L1-regularizer on the Gaussians. On various standard evaluation scenes, we show that our method provides improved rendering quality, easy control over the number of Gaussians, and robustness to initialization.

https://arxiv.org/abs/2404.09591




Randomized Numerical Linear Algebra: Foundations & Algorithms
—
Per-Gunnar Martinsson, Joel Tropp

This survey describes probabilistic algorithms for linear algebra computations, such as factorizing matrices and solving linear systems. It focuses on techniques that have a proven track record for real-world problem instances. The paper treats both the theoretical foundations of the subject and the practical computational issues.
Topics covered include norm estimation; matrix approximation by sampling; structured and unstructured random embeddings; linear regression problems; low-rank approximation; subspace iteration and Krylov methods; error estimation and adaptivity; interpolatory and CUR factorizations; Nyström approximation of positive-semidefinite matrices; single view ("streaming") algorithms; full rank-revealing factorizations; solvers for linear systems; and approximation of kernel matrices that arise in machine learning and in scientific computing.


https://arxiv.org/abs/2002.01387
https://arxiv.org/pdf/2002.01387


Forward from: Агенты ИИ | AGI_and_RL
Как же хочется "анатомически детализированную биомеханическую модель всего тела плодовой мухи Drosophila melanogaster в физическом движке MuJoCo". Держите.

13 ученых (в том числе парочка из ❤️DeepMind❤️) объединились, чтобы собрать "Дрозофила фруктовая"🪰 в Blender, смоделить физику в mujoco, сунуть туда свою модель, подключить нейронки с рлем и заставить реалистично ходить и летать.

Страшно реалистичная Drosophila melanogaster живет тут:

Whole-body simulation of realistic fruit fly locomotion with
deep reinforcement learning

https://www.biorxiv.org/content/10.1101/2024.03.11.584515v1

https://github.com/TuragaLab/flybody

20 last posts shown.

69

subscribers
Channel statistics