Превращаем фото в 3D модель? Обзор SAM 3D Objects от Meta
Представьте, что вы можете взять любую фотографию и просто "вытащить" из нее понравившийся объект в виде полноценной трехмерной модели. Звучит как магия из будущего? А вот и нет. Команда Meta Superintelligence Labs представила SAM 3D Objects — проект, который делает эту магию реальностью. Давайте разберемся, что это за зверь, как он работает и чем может быть полезен нам, разработчикам.
Что такое SAM 3D Objects?
Если коротко, SAM 3D Objects — это фундаментальная модель, обученная реконструировать 3D-модели объектов по одному-единственному изображению. И речь не просто о создании грубой формы. Модель восстанавливает геометрию, текстуру и даже положение объекта в пространстве.

Главная фишка проекта — его "всеядность" и устойчивость к реальным условиям. В отличие от многих других решений, которым нужны студийные фотографии с идеальным освещением и чистым фоном, SAM 3D Objects не боится бытового беспорядка. Заслоненные другими предметами объекты, необычные ракурсы, заваленный горизонт — модель спроектирована так, чтобы справляться с подобным хаосом.
Как это работает под капотом?
Разработчики не раскрывают всех секретов, но общая архитектура понятна. Модель использует прогрессивное обучение и, что самое интересное, "движок данных с человеческой обратной связью".

Говоря простым языком, это означает, что модель не просто обучалась на гигантском датасете, но и постоянно дообучается с учетом оценок от людей. Такой подход позволяет ей лучше понимать сложные и неоднозначные сцены, которые часто встречаются на обычных фотографиях. В результате, по тестам с участием людей, модели от SAM 3D Objects предпочитают чаще, чем результаты предыдущих state-of-the-art решений.
Ключевые возможности, которые цепляют
Давайте пройдемся по самым интересным фичам, которые выделяют этот проект.
1. Реконструкция из реального мира
Забудьте про стерильные условия. SAM 3D Objects отлично справляется с обычными, "живыми" фотографиями. Взгляните на пример с детской комнатой. Модель способна распознать и воссоздать в 3D множество объектов, даже если они частично перекрыты или находятся в тени.
Это открывает огромные возможности для создания контента на основе пользовательских фотографий.
2. Работа с единичными и множественными объектами
Вы можете как "вырезать" один конкретный объект, передав модели маску, так и обработать все изображение целиком, получив на выходе набор 3D-моделей. Это делает инструмент гибким: нужен один ассет для игры — пожалуйста; хотите воссоздать всю сцену в AR — тоже не проблема.
3. Простота использования
Несмотря на сложность технологии, начать работать с SAM 3D Objects на удивление просто. Команда Meta выложила не только код и веса модели, но и готовые Jupyter-ноутбуки с примерами.
Вот как выглядит базовый пайплайн для реконструкции одного объекта:
import sys
# импортируем код для инференса
sys.path.append("notebook")
from inference import Inference, load_image, load_single_mask
# загружаем модель
tag = "hf"
config_path = f"checkpoints/{tag}/pipeline.yaml"
inference = Inference(config_path, compile=False)
# загружаем изображение и маску объекта
image = load_image("notebook/images/shutterstock_stylish_kidsroom_1640806567/image.png")
mask = load_single_mask("notebook/images/shutterstock_stylish_kidsroom_1640806567", index=14)
# запускаем модель
output = inference(image, mask, seed=42)
# экспортируем результат в .ply (Gaussian splat)
output["gs"].save_ply(f"splat.ply")
Всего несколько строк, и у вас есть готовый 3D-файл. Это сильно снижает порог входа для экспериментов.
4. Экосистема SAM 3D
Интересно, что sam-3d-objects — это лишь одна часть большого проекта. Есть еще и sam-3d-body, заточенный на реконструкцию 3D-моделей людей. Разработчики даже предоставляют пример, как объединить результаты обеих моделей в одной сцене. Это намекает на амбициозную цель — создание полноценных цифровых двойников реального мира.
Где это может пригодиться?
Практических применений у такой технологии масса:
- Геймдев и 3D-графика: Быстрое создание и прототипирование 3D-ассетов. Сфотографировал стул — и через минуту он уже в твоем игровом движке.
- Дополненная реальность (AR): "Примерка" мебели из интернет-магазина в своей квартире станет в разы проще, если можно будет быстро создавать 3D-модели товаров по обычным фото.
- E-commerce: Создание интерактивных 3D-просмотров товаров, что может значительно улучшить пользовательский опыт.
- Робототехника и CV: Обучение роботов взаимодействию с объектами в реальном мире, где способность понимать трехмерную структуру сцены критически важна.
SAM 3D Objects — это не просто очередной исследовательский проект. Это мощный и, что важно, доступный инструмент, который делает технологию 3D-реконструкции из изображений значительно ближе к массовому разработчику. Да, это еще не волшебная кнопка "сделать красиво", и для продакшена модели могут требовать доработки. Но как инструмент для быстрого прототипирования, создания контента или как основа для собственных исследований — это настоящий клад.
Если вы работаете с 3D, компьютерным зрением или просто любите экспериментировать с новыми технологиями, очень рекомендую заглянуть в репозиторий проекта и попробовать онлайн-демо. Возможно, будущее, где каждый может стать 3D-моделлером с помощью камеры смартфона, уже наступило.