3D сканер из смартфона за 9 шагов: три нейросети заменяют лидар и ручную разметку
Смартфон, три предобученные нейросети и девять шагов превращают любительское видео комнаты в точную 3D-модель с разметкой объектов, и для этого не нужно обучать ни одну нейросеть самостоятельно.
Раньше для семантического 3D-сканирования требовались лидары, геодезические маркеры и недели ручной разметки. Теперь предобученные модели компьютерного зрения делают это за вас: SAM находит объекты, CLIP подбирает им названия, DINOv2 отслеживает их между кадрами.
Разработчик описал и проверил на практике конвейер, который берёт «сырое» видео со смартфона и выдаёт размеченное облако точек с планом помещения. По этой модели автор спроектировал и собрал кухонную тумбу без единого ручного замера, и она, по его словам, «встала как влитая». Гайд опубликован как открытый проект с кодом и тестовым датасетом.
Что понадобится?
- Смартфон с камерой (подойдёт любой современный телефон)
- Python 3.11 и менеджер окружений Conda
- Библиотеки: NumPy, SciPy, Matplotlib, Open3D (для базовой работы без GPU), а для полного конвейера дополнительно PyTorch, TorchVision, Transformers
- Тестовый датасет: файл
room.ply(облако точек, около 2,2 миллиона точек; для отладки сжимается до 40 тысяч) - Три предобученные модели: SAM (сегментатор изображений), CLIP (классификатор с открытым словарём) и DINOv2 (энкодер для отслеживания объектов между кадрами)
- Время: несколько часов на настройку и эксперименты
Девять шагов от видео до чертежа
Конвейер разбит на этапы, каждый из которых готовит данные для следующего. Пропустить шаг нельзя.
-
Загрузка реконструированных данных. Из видео получаете облако точек (PLY-файл) и связи между пикселями кадров и трёхмерными координатами. Эта связь, ключевая для всего процесса: изображение «говорит» на одном языке, облако точек на другом, а проекционная матрица камеры их связывает.
-
Выравнивание по гравитации. Облако точек ориентируется относительно плоскости пола. Без этого шага модель не отличит пол от стены.
-
Распознавание типа помещения и масштабирование. Сцена приводится к реальным единицам (метрам) по высоте потолка. Именно здесь 3D сканер получает привязку к физическому миру.
-
Построение проекционной связи с тестом глубины. Учитывается окклюзия (загораживание одних объектов другими): если стул стоит за столом, система это понимает и не путает метки.
-
Поиск объектов через SAM и именование через CLIP. SAM (Segment Anything Model, модель сегментации «всего подряд» на изображении) находит контуры объектов на каждом кадре. CLIP (модель, которая сопоставляет картинку с текстовым описанием) подбирает название: «диван», «стул», «стена».
-
Отслеживание объектов между кадрами через DINOv2. DINOv2 (энкодер с самообучением, который «узнаёт» один и тот же предмет с разных ракурсов) следит, чтобы диван на кадре 1 и диван на кадре 47 получили одну и ту же метку.
-
Устранение мерцания меток голосованием. Когда один и тот же объект виден из десяти ракурсов, метки могут «мерцать» (менять класс от кадра к кадру). Голосование по множеству ракурсов выбирает наиболее частый ответ и фиксирует его.
-
Интерактивная корректировка человеком. Если система ошиблась, вы поправляете одну точку, а исправление автоматически разносится на все связанные.
-
Нарезка облака в план этажа. Размеченное облако точек режется горизонтальными плоскостями, и вы получаете чертёж помещения с размерами.
Настройка окружения выглядит так:
conda create -n spatial_ai python=3.11 -y
conda activate spatial_ai
pip install numpy scipy matplotlib open3d
# Для полного конвейера с нейросетями:
pip install torch torchvision transformers
Главный принцип: оркестровка вместо обучения
Ни на одном из девяти шагов вы не обучаете нейросеть. Все три модели (SAM, CLIP, DINOv2) используются «как есть», с готовыми весами. Автор прямо подчёркивает: «Сегодня главное мастерство это не обучение моделей, а их оркестровка».
Фокус в том, чтобы перенести знания предобученной модели из плоского мира кадров в трёхмерное облако точек. Камера снимает 2D-картинку, но каждый пиксель привязан к конкретной 3D-координате. Стоит зафиксировать эту связь, и любая модель, работающая с картинкой, начинает «понимать» пространство.
Автор снял на телефон обычное видео кухни, без штатива, без маркеров, просто прошёлся по комнате. Система реконструкции превратила видео в облако из 2,2 миллиона точек. После прогона через конвейер (SAM нашёл объекты, CLIP назвал их, DINOv2 связал между кадрами, голосование убрало мерцание) он получил план помещения с размерами в миллиметрах. По этому плану спроектировал тумбу, собрал её из дерева и поставил на место без единого ручного замера рулеткой.
- Пропуск выравнивания по гравитации. Без привязки к плоскости пола система путает горизонтальные и вертикальные поверхности, а масштабирование по высоте потолка даёт мусор.
- Работа с полным облаком при отладке. 2,2 миллиона точек на ноутбуке без GPU замедляют каждый эксперимент. Сожмите до 40 тысяч точек для отладки, как рекомендует автор.
- Ожидание идеального результата без корректировки. Шаг 8 (ручная правка) существует не просто так: автоматика ошибается, особенно на сложных текстурах и зеркальных поверхностях. Одна правка разносится на все связанные точки, так что это быстро.
- Съёмка без перекрытия ракурсов. Чем больше ракурсов видит один объект, тем надёжнее голосование на шаге 7. Если вы прошли мимо стула один раз, метка может «мерцать».
Что с этим делать прямо сейчас?
Авторам Дзена и контент-мейкерам. 3D сканер из телефона это готовый формат для обучающего контента: снимаете процесс, показываете результат, получаете визуально эффектный материал без дорогого оборудования.
Разработчикам и техническим специалистам. Конвейер из предобученных моделей (SAM, CLIP, DINOv2) можно адаптировать под задачи инвентаризации, проектирования интерьеров, оценки помещений. Код открытый, стек стандартный (Python, PyTorch, Open3D).
Предпринимателям в РФ и СНГ. Все три модели доступны без ограничений, это открытые веса от Meta (SAM, DINOv2) и OpenAI (CLIP). Для запуска нужен только компьютер с Python, никаких подписок и заграничных API. Если вы занимаетесь ремонтом, мебелью или недвижимостью, подход позволяет снимать замеры без выезда специалиста.
Я вижу в этом гайде не столько рецепт «как сколотить полку», сколько рабочий шаблон для любой задачи, где нужно связать 2D и 3D. SAM, CLIP и DINOv2 доступны бесплатно, весят умеренно, работают без GPU на этапе отладки.
Честная оговорка: точность «до миллиметра», которую описывает автор, сильно зависит от качества исходного видео и калибровки камеры смартфона. На дешёвых моделях с сильными искажениями оптики результат будет хуже. Для критичных проектов (встроенная мебель с зазором в 2 мм) я бы всё-таки перепроверил ключевые размеры рулеткой. Но как рабочий инструмент для эскизного проектирования и быстрой инвентаризации этот конвейер уже опережает ручной замер по скорости и удобству.
Три открытые нейросети, смартфон и пара часов на настройку дают вам инструмент, который ещё два года назад требовал лидара и команды специалистов. Код открыт, порог входа низкий, а практический результат, как показал автор на своей кухонной тумбе, вполне пригоден для реальной работы.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

США строят клуб сертификации, Китай раздаёт открытые модели: война за искусственный интеллект
Я вижу противоречие: H1 и архетип заявлены как how-to, но оригинал — аналитическая новость о геополитике ИИ, а не пошаговая инструкция. Формат how-to к этому…

ИИ-агенты: это бесплатно, если локально. OpenJarvis из Стэнфорда закрыл 88,7% задач без облака
Команда из Стэнфорда выпустила OpenJarvis, открытый фреймворк (open-source инструмент с публичным кодом) для развёртывания персональных ИИ-агентов на…

«К2 НейроТех» собрала инфраструктуру для нейросетей в один комплекс: замена DGX без 60 недель ожидания
Компания «К2 НейроТех» 16 июля представила «ПАК-ML», готовый программно-аппаратный комплекс, который берёт на себя всю инфраструктуру для нейросетей и…
Комментарии