Китайская компания Tencent представила открытую модель машинного обучения Hunyuan3D, предназначенную для генерации 3D-моделей. В качестве входных данных можно использовать текстовые запросы или изображения.
Разработчики проекта рассказали, что популярные модели для генерации работают медленно и плохо понимают, что от них хотят. Это одна из причин, по которой их до сих пор не используют повсеместно в работе над реальными проектами. Команда Tencent попыталась решить эту проблему с помощью разделения генерации 3D-модели на несколько этапов.
На первом этапе разработчики используют диффузионную модель, которая генерирует несколько RGB-изображений объекта с разных сторон. Это нужно для того, что зафиксировать детали объекта и понимать, какой должна быть итоговая модель. Как сообщают авторы проекта, этот этап занимает всего четыре секунды, если запускать процесс на подходящем для этого железе.
Второй этап нужен для того, чтобы из нескольких сгенерированных изображений собрать один трёхмерный объект. Нейросеть, которая отвечает за это, учитывает искажения и шумы, которые появляются во время работы диффузионной модели. Отмечается, что в качестве запросов к нейросети можно использовать изображения или текстовые промпты. Запросы можно составлять на английском и китайском языках.
Hunyuan3D можно запустить локально, но для этого потребуется 40 ГБ видеопамяти. Некоторые пользователи отмечают, что нейросеть работает и с 20 ГБ VRAM на Nvidia RTX 3090.
Инференс для генерации на основе текстового запроса:
python3 main.py \
--text_prompt "a lovely rabbit" \
--save_folder ./outputs/test/ \
--max_faces_num 90000 \
--do_texture_mapping \
--do_render
Инференс для генерации на основе изображения:
python3 main.py \
--image_prompt "/path/to/your/image" \
--save_folder ./outputs/test/ \
--max_faces_num 90000 \
--do_texture_mapping \
--do_render