This media is not supported in your browser
VIEW IN TELEGRAM
Smooth Blends Between Shapes of Different Point Counts
(Assuming the shapes don't have topological holes! :o No donuts allowed!!!!! [morphing to sphere first])
* Colab
* Original source
(Assuming the shapes don't have topological holes! :o No donuts allowed!!!!! [morphing to sphere first])
* Colab
* Original source
This media is not supported in your browser
VIEW IN TELEGRAM
NeX: Real-time View Synthesis with Neural Basis Expansion
[VISTEC, (Thailand), CVPR 2021 (Oral) ]
* Project page
* Paper
[VISTEC, (Thailand), CVPR 2021 (Oral) ]
* Project page
* Paper
We present NeX, a new approach to novel view synthesis based on enhancements of multiplane image (MPI) that can reproduce NeXt-level view-dependent effects---in real time. Unlike traditional MPI that uses a set of simple RGBα planes, our technique models view-dependent effects by instead parameterizing each pixel as a linear combination of basis functions learned from a neural network. Moreover, we propose a hybrid implicit-explicit modeling strategy that improves upon fine detail and produces state-of-the-art results. Our method is evaluated on benchmark forward-facing datasets as well as our newly-introduced dataset designed to test the limit of view-dependent modeling with significantly more challenging effects such as rainbow reflections on a CD. Our method achieves the best overall scores across all major metrics on these datasets with more than 1000× faster rendering time.Forwarded from PHYGITAL+CREATIVE
This media is not supported in your browser
VIEW IN TELEGRAM
Нейронные сети и другие технологии машинного обучения помогают художникам быстрее создавать оригинальные работы, одна из таких сетей PolyGen - авторегрессионная модель трехмерных сеток.
Она генерирует 3D объекты определенных классов (из небезызвестного датасета ShapeNet), и пока это лучшее, что есть в этом направлении.
Почему лучшее? У проекта есть google-colab, в котором можно генерировать модели на датасете ShapeNet. Меняя параметры генератора, можно получить полигональные модели в формате obj, которые можно скачать и дальше с ними работать.
#ml #tool
Она генерирует 3D объекты определенных классов (из небезызвестного датасета ShapeNet), и пока это лучшее, что есть в этом направлении.
Почему лучшее? У проекта есть google-colab, в котором можно генерировать модели на датасете ShapeNet. Меняя параметры генератора, можно получить полигональные модели в формате obj, которые можно скачать и дальше с ними работать.
#ml #tool
This media is not supported in your browser
VIEW IN TELEGRAM
On the Effectiveness of Weight-Encoded Neural Implicit 3D Shapes
* Paper
* Thread here
tldr;
* Paper
* Thread here
tldr;
* Yes, literally train independently one network f(x,y,z)->R to output the SDF each shape.
* For the same floating-point storage budget, storing n weights of an neural network is more expressive than storing SDF values at n regular grid nodes
* As a stress test we overfit the same architecture to the whole #Thingi10K dataset. A messy 9 GBs of .obj & .stl files with different #vertices and mesh topologies becomes a 10,000-long list of 64KB vectors in just 16 hours on a single gpu.Holistic 3D Scene Understanding from a Single Image with Implicit Representation [Google, ETH Zurich, Microsoft 🤔]
- paper
(more images are in the comments)
- paper
(more images are in the comments)
We present a new pipeline for holistic 3D scene understanding from a single image, which could predict object shape, object pose, and scene layout. As it is a highly ill-posed problem, existing methods usually suffer from inaccurate estimation of both shapes and layout especially for the cluttered scene due to the heavy occlusion between objects. We propose to utilize the latest deep implicit representation to solve this challenge. We not only propose an image-based local structured implicit network to improve the object shape estimation, but also refine 3D object pose and scene layout via a novel implicit scene graph neural network that exploits the implicit local object features. A novel physical violation loss is also proposed to avoid incorrect context between objects.#implicit_geometry #single_image_reconstructionThis media is not supported in your browser
VIEW IN TELEGRAM
Ну и совсем рандом — симуляция ткани в блендере. Мне кажется это путь к созданию анимации медуз.
#b3d
#b3d
This media is not supported in your browser
VIEW IN TELEGRAM
Keystone Depth
A collection of 37,239 rectified historical stereo image pairs from the Keystone-Mast Collection captured between 1864 and 1966 with clean rectified stereo image pairs, disparity maps, and meta data.
- Project page
- Licensed under a Creative Commons Attribution 4.0 License.
- It is possible to make a parallax shader that shows this effect in VR galleries, looks cool.
A collection of 37,239 rectified historical stereo image pairs from the Keystone-Mast Collection captured between 1864 and 1966 with clean rectified stereo image pairs, disparity maps, and meta data.
- Project page
- Licensed under a Creative Commons Attribution 4.0 License.
- It is possible to make a parallax shader that shows this effect in VR galleries, looks cool.
Stereo cameras were invented in the 1850s and hundreds of thousands of antique stereographs are available today. We introduce KeystoneDepth, a collection of 37,239 antique stereographs of historical scenes captured between 1864 and 1966 with clean rectified stereo image pairs, disparity maps, and meta data.Media is too big
VIEW IN TELEGRAM
Growing 3D Artefacts and Functional Machines with Neural Cellular Automata
* paper
* thread
* paper
* thread
We show that neural cellular automata can learn to grow not only complex 3D artifacts with over 3,000 blocks but also functional Minecraft machines that can regenerate when cut in half.#generative #3D #nca
BlenderProc
A procedural Blender pipeline for photorealistic training image generation.
* github
* paper
* youtube
* docs
A procedural Blender pipeline for photorealistic training image generation.
* github
* paper
* youtube
* docs
Functionality
The following modules are already implemented and ready to use:
Loading: *.obj, *.ply, SunCG, Replica scenes, BOP datasets, etc.
Objects: Sample object poses, apply physics and collision checking.
Materials: Set or sample physically-based materials and textures
Lighting: Set or sample lights, automatic lighting of SunCG scenes.
Cameras: set, sample or load camera poses from file.
Rendering: RGB, stereo, depth, normal and segmentation images/sequences.
Writing: .hdf5 containers, COCO & BOP annotations.
Support for some datasets:
COCO annotations, SUNCG, Replica, BOP Challenge
#tools #blenderForwarded from CGIT_Vines (CGIT_Vines)
This media is not supported in your browser
VIEW IN TELEGRAM
Если были не в курсе, для блендера есть виртуальная камера, чтобы рендер пролеты были ещё реалистичнее.
Есть вот версия для Айфона
https://virtucamera.com/
А есть для Андроида, но от других создателей, чтобы вы могли насладиться всеми прелестями настройки.
https://youtu.be/BhfbhtBRuIk
Есть вот версия для Айфона
https://virtucamera.com/
А есть для Андроида, но от других создателей, чтобы вы могли насладиться всеми прелестями настройки.
https://youtu.be/BhfbhtBRuIk
FastNeRF: High-Fidelity Neural Rendering at 200FPS
[Microsoft]
* paper
[Microsoft]
* paper
Rendering NeRF images is very computationally demanding and recent improvements are still a long way from enabling interactive rates, even on high-end hardware. Motivated by scenarios on mobile and mixed reality devices, we propose FastNeRF, the first NeRF-based system capable of rendering high fidelity photorealistic images at 200Hz on a high-end consumer GPU. The core of our method is a graphics-inspired factorization that allows for (i) compactly caching a deep radiance map at each position in space, (ii) efficiently querying that map using ray directions to estimate the pixel values in the rendered image. Extensive experiments show that the proposed method is 3000 times faster than the original NeRF algorithm and at least an order of magnitude faster than existing work on accelerating NeRF, while maintaining visual quality and extensibility.
#nerfForwarded from CGIT_Vines (CGIT_Vines)
This media is not supported in your browser
VIEW IN TELEGRAM
О, а вот это идеальная сетка нейроколлажирования для заказчика. "А можете немного как у Рембрандта позу и глаза как у Моны Лизы" - идеальный инструмент для создания Франкенштейна.
Бумага, код и коллаб
Бумага, код и коллаб
This media is not supported in your browser
VIEW IN TELEGRAM
В блендер появились geometry nodes.
Вот отличный обзор по возможностям.
По сути теперь можно делать разные эффекты разбрасывая одни объекты по различным поверхностям и менять свойства этих разбрасываемых объектов в зависимости от свойств других объектов или просто рандомно. Свойства такие как размер, угол поворота, локация и другие. При этом сами поверхности можно скрывать, что позволяет моделировать облака точек нужной формы.
Есть уже много очень крутых туториалов с эффектами сделанными на geometry_nodes. А это моя небольшая демка, где я также использовала плагин FLAME для блендера с головами.
#blender
Вот отличный обзор по возможностям.
По сути теперь можно делать разные эффекты разбрасывая одни объекты по различным поверхностям и менять свойства этих разбрасываемых объектов в зависимости от свойств других объектов или просто рандомно. Свойства такие как размер, угол поворота, локация и другие. При этом сами поверхности можно скрывать, что позволяет моделировать облака точек нужной формы.
Есть уже много очень крутых туториалов с эффектами сделанными на geometry_nodes. А это моя небольшая демка, где я также использовала плагин FLAME для блендера с головами.
#blender
This media is not supported in your browser
VIEW IN TELEGRAM
#sdf #tools #implicit_geometry
Автор видео @ephtracy в твиттер делиться прогрессом по созданию собственного 3д редактора работающего с signed distance field.
В том же блендере возможно моделировать hard surface объекты с помощью metaballs, что даёт похожие возможности для редактирования: пример один, пример два, но там не настолько круто конечно.
Автор видео @ephtracy в твиттер делиться прогрессом по созданию собственного 3д редактора работающего с signed distance field.
В том же блендере возможно моделировать hard surface объекты с помощью metaballs, что даёт похожие возможности для редактирования: пример один, пример два, но там не настолько круто конечно.
IDR & NLR
В работе [1] предлагается подход под названием IDR — Implicit Differentiable Renderer. Нейронка обучается на наборе фотографий (с бинарными масками объекта) снятыми с разного ракурса с примерно известным положением камер. В результате получается отдельно sdf представление геометрии и отдельно обученный рендерер текстуры. Эта архитектура также позволяет переиспользовать рендерер для другой геометрии, таким образом перекрасить зайцев в лосей. Обе части представлены MLP нейронками. Обучение занимает 6.5-8 часов на одной V100 GPU для сета из 49-64 картинок. При этом уже обученная нейронка рендерит картинку размером 1200 x 1600 примерно 30с (для нового вью).
* гитхаб
* папер
* страница проекта
В работе [2] предлагается метод NLR (Neural Lumigraph Rendering). Здесь также обучается отдельно нейронка для sdf, отдельно для NeRF, замешивается всё это с SIREN. Проблема с риал-таймом в инференсе решается возможностью экспортнуть полученную геометрию в меш и сгенерить текстуру для конкретного ракурса.
Меш получается марширующими кубами. Текстуры оптимально пререндерятся с разных ракурсов, а затем для заданного ракурса создается их взвешенная сумма в риал-тайме.
Однако даже версия модели c неявным представлением геометрии и текстуры (NLR-ST) рендерит картинки заметно быстрее чем IDR (~ раза в 3) и имеет заметно более тонкую модель за счет использования SIREN (~ в 5 меньше параметров).
Обучается все на одной RTX 2080Ti за 150000 батчей (про время не написано, но один батч это 50000 просэмплированных лучей).
Также на странице проекта можно скачать датасет с людьми и другими сущностями.
* видос
* папер
* страница проекта
Детализация меша не очень, что в одном методе, что в другом, но с текстурой выглядит норм.
#implicit_geometry #nerf
В работе [1] предлагается подход под названием IDR — Implicit Differentiable Renderer. Нейронка обучается на наборе фотографий (с бинарными масками объекта) снятыми с разного ракурса с примерно известным положением камер. В результате получается отдельно sdf представление геометрии и отдельно обученный рендерер текстуры. Эта архитектура также позволяет переиспользовать рендерер для другой геометрии, таким образом перекрасить зайцев в лосей. Обе части представлены MLP нейронками. Обучение занимает 6.5-8 часов на одной V100 GPU для сета из 49-64 картинок. При этом уже обученная нейронка рендерит картинку размером 1200 x 1600 примерно 30с (для нового вью).
* гитхаб
* папер
* страница проекта
В работе [2] предлагается метод NLR (Neural Lumigraph Rendering). Здесь также обучается отдельно нейронка для sdf, отдельно для NeRF, замешивается всё это с SIREN. Проблема с риал-таймом в инференсе решается возможностью экспортнуть полученную геометрию в меш и сгенерить текстуру для конкретного ракурса.
Меш получается марширующими кубами. Текстуры оптимально пререндерятся с разных ракурсов, а затем для заданного ракурса создается их взвешенная сумма в риал-тайме.
Однако даже версия модели c неявным представлением геометрии и текстуры (NLR-ST) рендерит картинки заметно быстрее чем IDR (~ раза в 3) и имеет заметно более тонкую модель за счет использования SIREN (~ в 5 меньше параметров).
Обучается все на одной RTX 2080Ti за 150000 батчей (про время не написано, но один батч это 50000 просэмплированных лучей).
Также на странице проекта можно скачать датасет с людьми и другими сущностями.
* видос
* папер
* страница проекта
Детализация меша не очень, что в одном методе, что в другом, но с текстурой выглядит норм.
#implicit_geometry #nerf
GitHub
GitHub - lioryariv/idr
Contribute to lioryariv/idr development by creating an account on GitHub.
Cool blender addon for realistic human creation
https://youtu.be/b3at8PXN9sk
Link:
https://blendermarket.com/products/humgen3d
#b3d
https://youtu.be/b3at8PXN9sk
Link:
https://blendermarket.com/products/humgen3d
#b3d
YouTube
The Amazing New Human Generator for Blender!
Demonstrating the new Human Generator addon for Blender.
Get it here (Affiliated): https://blendermarket.com/products/humgen3d?ref=94
Check out my resources: https://curtisholt.online/store
Podcast Channel: https://www.youtube.com/channel/UCP_ALPdNtHqWC15VcOllBaw…
Get it here (Affiliated): https://blendermarket.com/products/humgen3d?ref=94
Check out my resources: https://curtisholt.online/store
Podcast Channel: https://www.youtube.com/channel/UCP_ALPdNtHqWC15VcOllBaw…
Forwarded from gonzo-обзоры ML статей
Perceiver: General Perception with Iterative Attention
Andrew Jaegle, Felix Gimeno, Andrew Brock, Andrew Zisserman, Oriol Vinyals, Joao Carreira
Статья: https://arxiv.org/abs/2103.03206
Код (неавторский): https://github.com/lucidrains/perceiver-pytorch
Работа, нацеленная на мультимодальность, чтобы одна универсальная архитектура на основе трансформера могла работать с данными разной природы.
Сейчас работа с различными модальностями часто основана на выборе подходящих задаче inductive biases, учитывающих знание о том, как соотносятся между собой элементы входа. Например, свёрточные сетки полагаются на локальность фич в изображениях и имеют подходящий для этого bias. С текстами хорошо работает трансформер. Ну и так далее. Смешивать разные модальности в одной модели в целом непросто.
Хочется заменить это на одну универсальную архитектуру, делающую по возможности меньше таких предположений о структуре входа. Ну то есть давайте заложим поменьше biases, сделаем универсальную архитектуру, и позволим ей выучить всё из данных. Если получится, не придётся затачиваться на отдельные модальности и можно будет использовать одну общую архитектуру для смешанных модальностей.
Собственно, Perceiver — это архитектура, основанная на трансформере и использующая асимметричный механизм внимания (кросс-внимание), могущий итеративно выхватывать из входа релевантные данные и агрегировать их внутри себя, и способный скейлиться на очень большие размеры входа (как раз чего не могут обычные трансформеры, хотя за последнее время появилось много эффективных их реализаций).
Как оно работает?
Основная идея подхода — завести маленький набор латентных переменных (latent array). Эти юниты будут через механизм внимания обращаться ко входу (потенциально большому) и таким образом окажутся боттлнеком, который должен отсеять важные части входа. И делать это perceiver может итеративно, потому что таких блоков в сети будет несколько. Каждый раз, соответственно, он может обращаться к разным частям входа, в зависимости от того, что он “узнал” на предыдущих шагах.
Авторы предлагают посмотреть на эту модель как на выполняющую кластеризацию входа end-to-end, где скрытые юниты являются центрами кластеров. Не знаю, мне сходу неочевидно, почему это так.
Поскольку временная/пространственная информация всё-таки важна, а модель на структуру входа напрямую не закладывается, авторы добавляют к каждому входному элементу позиционные энкодинги на основе Фурье (синусы и косинусы от логарифмического банка частот, а координата внутри измерения масштабируется в диапазон [-1,1]). Эмбеддинги не добавляются ко входу (как в оригинальном трансформере), а конкатенируются с ним.
Авторы считают, что эта история с позиционными эмбеддингами не дискредитирует их подход c уменьшением implicit biases. Типа, мы даём сети фичи, а как их использовать её дело, сама выучит и решит как лучше. К тому же их легче адаптировать к новым доменам, чем собирать новую архитектуру. Ну и вообще мультимодальные модели так легче собирать.
Внутри модели повторяются два основных блока: 1) кросс-внимание (cross-attention), где Q приходит из низкоразмерной латентной части, а K/V из входа (большого), и 2) обычное внимание (self-attention трансформера), трансформирующее эти latent’ы. Эти блоки могут повторяться много раз, и даже иметь расшаренные веса между этими повторениями. Тогда получается что-то типа развёрнутой по глубине RNN или универсального трансформера.
Стандартное внимание по-прежнему остаётся квадратичным, но оно здесь от низкоразмерного latent’а (<=1024), так что не так страшно. Можно заодно глубины добавить, чтобы модель посложнее была (на ImageNet сделали 48 таких блоков). У latent’ов есть обучаемые позиционные эмбеддинги. Сам этот latent array, так понимаю, выучивается, а не зависит от входа или какого-то рандома.
Andrew Jaegle, Felix Gimeno, Andrew Brock, Andrew Zisserman, Oriol Vinyals, Joao Carreira
Статья: https://arxiv.org/abs/2103.03206
Код (неавторский): https://github.com/lucidrains/perceiver-pytorch
Работа, нацеленная на мультимодальность, чтобы одна универсальная архитектура на основе трансформера могла работать с данными разной природы.
Сейчас работа с различными модальностями часто основана на выборе подходящих задаче inductive biases, учитывающих знание о том, как соотносятся между собой элементы входа. Например, свёрточные сетки полагаются на локальность фич в изображениях и имеют подходящий для этого bias. С текстами хорошо работает трансформер. Ну и так далее. Смешивать разные модальности в одной модели в целом непросто.
Хочется заменить это на одну универсальную архитектуру, делающую по возможности меньше таких предположений о структуре входа. Ну то есть давайте заложим поменьше biases, сделаем универсальную архитектуру, и позволим ей выучить всё из данных. Если получится, не придётся затачиваться на отдельные модальности и можно будет использовать одну общую архитектуру для смешанных модальностей.
Собственно, Perceiver — это архитектура, основанная на трансформере и использующая асимметричный механизм внимания (кросс-внимание), могущий итеративно выхватывать из входа релевантные данные и агрегировать их внутри себя, и способный скейлиться на очень большие размеры входа (как раз чего не могут обычные трансформеры, хотя за последнее время появилось много эффективных их реализаций).
Как оно работает?
Основная идея подхода — завести маленький набор латентных переменных (latent array). Эти юниты будут через механизм внимания обращаться ко входу (потенциально большому) и таким образом окажутся боттлнеком, который должен отсеять важные части входа. И делать это perceiver может итеративно, потому что таких блоков в сети будет несколько. Каждый раз, соответственно, он может обращаться к разным частям входа, в зависимости от того, что он “узнал” на предыдущих шагах.
Авторы предлагают посмотреть на эту модель как на выполняющую кластеризацию входа end-to-end, где скрытые юниты являются центрами кластеров. Не знаю, мне сходу неочевидно, почему это так.
Поскольку временная/пространственная информация всё-таки важна, а модель на структуру входа напрямую не закладывается, авторы добавляют к каждому входному элементу позиционные энкодинги на основе Фурье (синусы и косинусы от логарифмического банка частот, а координата внутри измерения масштабируется в диапазон [-1,1]). Эмбеддинги не добавляются ко входу (как в оригинальном трансформере), а конкатенируются с ним.
Авторы считают, что эта история с позиционными эмбеддингами не дискредитирует их подход c уменьшением implicit biases. Типа, мы даём сети фичи, а как их использовать её дело, сама выучит и решит как лучше. К тому же их легче адаптировать к новым доменам, чем собирать новую архитектуру. Ну и вообще мультимодальные модели так легче собирать.
Внутри модели повторяются два основных блока: 1) кросс-внимание (cross-attention), где Q приходит из низкоразмерной латентной части, а K/V из входа (большого), и 2) обычное внимание (self-attention трансформера), трансформирующее эти latent’ы. Эти блоки могут повторяться много раз, и даже иметь расшаренные веса между этими повторениями. Тогда получается что-то типа развёрнутой по глубине RNN или универсального трансформера.
Стандартное внимание по-прежнему остаётся квадратичным, но оно здесь от низкоразмерного latent’а (<=1024), так что не так страшно. Можно заодно глубины добавить, чтобы модель посложнее была (на ImageNet сделали 48 таких блоков). У latent’ов есть обучаемые позиционные эмбеддинги. Сам этот latent array, так понимаю, выучивается, а не зависит от входа или какого-то рандома.
GitHub
GitHub - lucidrains/perceiver-pytorch: Implementation of Perceiver, General Perception with Iterative Attention, in Pytorch
Implementation of Perceiver, General Perception with Iterative Attention, in Pytorch - lucidrains/perceiver-pytorch