Игорь Градов
Игорь Градов
6 мин
ai

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 (энкодер для отслеживания объектов между кадрами)
  • Время: несколько часов на настройку и эксперименты

Девять шагов от видео до чертежа

Конвейер разбит на этапы, каждый из которых готовит данные для следующего. Пропустить шаг нельзя.

  1. Загрузка реконструированных данных. Из видео получаете облако точек (PLY-файл) и связи между пикселями кадров и трёхмерными координатами. Эта связь, ключевая для всего процесса: изображение «говорит» на одном языке, облако точек на другом, а проекционная матрица камеры их связывает.

  2. Выравнивание по гравитации. Облако точек ориентируется относительно плоскости пола. Без этого шага модель не отличит пол от стены.

  3. Распознавание типа помещения и масштабирование. Сцена приводится к реальным единицам (метрам) по высоте потолка. Именно здесь 3D сканер получает привязку к физическому миру.

  4. Построение проекционной связи с тестом глубины. Учитывается окклюзия (загораживание одних объектов другими): если стул стоит за столом, система это понимает и не путает метки.

  5. Поиск объектов через SAM и именование через CLIP. SAM (Segment Anything Model, модель сегментации «всего подряд» на изображении) находит контуры объектов на каждом кадре. CLIP (модель, которая сопоставляет картинку с текстовым описанием) подбирает название: «диван», «стул», «стена».

  6. Отслеживание объектов между кадрами через DINOv2. DINOv2 (энкодер с самообучением, который «узнаёт» один и тот же предмет с разных ракурсов) следит, чтобы диван на кадре 1 и диван на кадре 47 получили одну и ту же метку.

  7. Устранение мерцания меток голосованием. Когда один и тот же объект виден из десяти ракурсов, метки могут «мерцать» (менять класс от кадра к кадру). Голосование по множеству ракурсов выбирает наиболее частый ответ и фиксирует его.

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

  9. Нарезка облака в план этажа. Размеченное облако точек режется горизонтальными плоскостями, и вы получаете чертёж помещения с размерами.

Настройка окружения выглядит так:

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. Если вы занимаетесь ремонтом, мебелью или недвижимостью, подход позволяет снимать замеры без выезда специалиста.

Мнение редакции dzen.guru

Я вижу в этом гайде не столько рецепт «как сколотить полку», сколько рабочий шаблон для любой задачи, где нужно связать 2D и 3D. SAM, CLIP и DINOv2 доступны бесплатно, весят умеренно, работают без GPU на этапе отладки.

Честная оговорка: точность «до миллиметра», которую описывает автор, сильно зависит от качества исходного видео и калибровки камеры смартфона. На дешёвых моделях с сильными искажениями оптики результат будет хуже. Для критичных проектов (встроенная мебель с зазором в 2 мм) я бы всё-таки перепроверил ключевые размеры рулеткой. Но как рабочий инструмент для эскизного проектирования и быстрой инвентаризации этот конвейер уже опережает ручной замер по скорости и удобству.

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

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

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

Комментарии

Читайте также

США строят клуб сертификации, Китай раздаёт открытые модели: война за искусственный интеллект
ai

США строят клуб сертификации, Китай раздаёт открытые модели: война за искусственный интеллект

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

7 мин
ИИ-агенты: это бесплатно, если локально. OpenJarvis из Стэнфорда закрыл 88,7% задач без облака
ai

ИИ-агенты: это бесплатно, если локально. OpenJarvis из Стэнфорда закрыл 88,7% задач без облака

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

5 мин
«К2 НейроТех» собрала инфраструктуру для нейросетей в один комплекс: замена DGX без 60 недель ожидания
ai

«К2 НейроТех» собрала инфраструктуру для нейросетей в один комплекс: замена DGX без 60 недель ожидания

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

5 мин