3d сканер из смартфона. Выбор технологии сканирования. Не сканером единым живы

3d сканер из смартфона. Выбор технологии сканирования. Не сканером единым живы

13.05.2019

Друзья, небольшое вступление!
Перед прочтением новости, позвольте пригласить вас в крупнейшее сообщество владельцев 3D-принтеров. Да, да, оно уже существует, на страницах нашего проекта!

С появлением первых 2D-сканеров, в 90-х, многие люди получили возможность копировать свои документы, не выходя из дома, что было весьма комфортно. Они также позволили нам быстро оцифровывать различные документы и изображения в любой момент, дав нам возможность мгновенно создавать резервные копии документов на жестком диске своего компьютера, а впоследствии и в облачном пространстве.

И вот, спустя пару десятилетий, 3D-технология, в сущности, стала тем же, чем была 2D-технология в 90-е годы. Единственная разница между ними заключается в том, что ныне технологии развиваются в разы быстрее, нежели два десятка лет тому назад. И вот, слияние нескольких экспоненциально растущих технологий, делают нашу жизнь намного проще, а деятельность эффективнее. На сегодняшний день, вам придется потратить от пары сотен до пары тысяч долларов, чтобы приобрести 3D-сканер в магазине. Такие сканеры используются для оцифровки физических объектов и создания их копий посредствам 3D-принтера, если того пожелает пользователь. Недостаток практических применений, и весьма высокая цена, достаточно серьезно замедлили развитие рынка этих изделий.

Тем не менее, одна компания, все же пытается это изменить. Основанная в ноябре 2013-го года, компания Replica Labs, вела закулисную деятельность по разработке своего приложения под названием Rendor, которое превратит камеру любого смартфона в полноценный 3D-сканер.


«Мы демократизируем 3D-сканирование… без дополнительного оборудования… мы снизили цену на эту технологию до 0$ для всех владельцев смартфонов с доступом к интернету», сказал Исаак Робертс из компании Replica Labs.

В этом приложении будет пять основных шагов, чтобы начать сканирование:

  1. Скачать приложение Rendor, с сайта компании и распечатать сетку для сканирования (которую также можно скачать с их сайта).
  2. Поместить сканируемый объект на сетку.
  3. Открыть приложение Rendor, нажать кнопку «сканировать» и заснять объект на видео с как можно большего количества углов.
  4. После завершения сканирования, нажать кнопку «завершить», и отправить скан на облачный сервер приложения, для дальнейшей обработки.
  5. Получить готовую 3D-модель на свою электронную почту, в течение одной минуты.

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


«Rendor станет бесплатным мобильным приложением для смартфонов, поддерживающих операционные системы Android и iOS», сказал Робертс. «Мы надеемся, что мы сможем дать каждому несколько бесплатных сканирований, 3-5 в месяц, я думаю. Как только пользователь исчерпает лимит своих сканов, ему будет предложено два варианта действий, чтобы делать сканирования еще: поделится приложением с друзьями, или заплатить за дальнейшее использование. Пока что мы не совсем уверены в том, какую цену нам стоит запрашивать, но на данный момент, мы считаем, что она будет составлять 12$-25$ в год».

Оплата приложения, скорее всего, даст возможность к неограниченному количеству сканов. Роберст рассказал, что возможно, они введут два тарифных плана, один из которых будет позволять делать сканы с более высоким разрешением. Такой тарифный план будет стоить несколько больше, чем 12$-25$ в год.

Сама же технология, используемая для реализации работы приложения Rendor весьма сложна.


«Правительство вложило очень много средств в компанию Robotic Vision. И после того, как наши соучредители Винс и Брэндом, увидели работу ее продукции в их лабораториях, они поняли, что большинству их технологий найдется множество коммерческих применений, и по правде говоря, я солидарен с ними. Все, начиная от одежды и заканчивая зубными щетками, подлежит революции, и мы считаем, что технологии 3D-печати и 3D-сканирования, это то, что запустит новую волну индустриального переворота и совершит следующую индустриальную революцию».

В настоящее время Render находится на стадии закрытого альфа-тестирования, и компания собирается запустить следующий этап теста 4-го июля. В ближайшую неделю, они панируют продемонстрировать работу своей разработки, чтобы вызвать к ней общественный интерес. В добавок, в конце этого месяца, они отправятся в Силиконовую Долину, для сотрудничества с бизнес-ускорителем PlugandPlay . Для начала, они планируют запустить приложение на Android, и немного позже сделать его доступным для владельцев iOS. Также планируется запустить проект на Kickstarter к середине августа нынешнего года. Все желающие протестировать функционал этого приложения, могут зарегистрироваться на их сайте и их стать бета-тестерами.

Вместе с 3D-принтерами и сканерами появляется все больше программ и приложений, позволяющих создавать трехмерные модели для послойной печати. Конечно, 3D-сканер будет идеальным решением, но профессиональное оборудование – дорогое удовольствие. Что же делать, если необходимая техника отсутствует, а получить объемную модель необходимо здесь и сейчас? Ответ – подтянуть знания по основам фотосъемки и взять в руки фотоаппарат или смартфон.

Растущий спрос на послойную печать за последние несколько лет привел к разработке простых и дешевых методов сканирования с помощью подручных средств. Идея оказалась проста: для построения 3D-моделей достаточно нащелкать несколько десятков фото объекта, обработать их с помощью специализированных программ и получить готовую к послойной печати модель.

Обычный фотоаппарат

Для съемки можно использовать цифровые зеркальные камеры. Они позволяют сделать качественные универсальные фото. Причем для сканирования не потребуется покупка профессиональных моделей аппаратов. Так, с задачей справится и Nikon D5000 с разрешением матрицы 12,3 Мп. Более новые модели предложат и более качественные фото с высоким разрешением, но тогда придется пожертвовать временем обработки снимка. Кроме того, большинство цифровых камер имеют опцию сохранения изображений в формате RAW без сжатия, такой режим понадобится для более детального сканирования выбранного объекта.

В принципе для сканирования модели подойдут даже «мыльницы» и камеры смартфонов. Многие из них дают возможность съемки в ручном режиме, так что, если человек разбирается в азах съемки, можно использовать и менее продвинутые устройства.

Условия съемки

Что же можно легко сканировать? Такой объект должен быть устойчивым, не слишком блестящим, не очень большим (вокруг него придется ходить и снимать фото со всех возможных ракурсов), не слишком маленьким, не содержащим слишком много мельчайших деталей.

Объект лучше всего поместить на возвышение, это может быть стул или коробка. Так будет удобнее делать снимки. Главное здесь – добиться хорошего освещения. Если фотосессия проводится на улице, лучше дождаться пасмурного дня. Если съемка осуществляется внутри помещения, необходимо задействовать как можно больше источников света. Сам свет должен быть рассеянным.

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


Базовые знания

Перед началом съемки необходимо ознакомиться с азами настройки камеры. В настоящее время в Интернете полно сайтов, где желающие могут самостоятельно подтянуть знания по основам работы фотографа. По большому счету, разобраться нужно с несколькими параметрами.

Светочувствительность (ISO), как следует из названия, определяет, насколько чувствительна камера к свету. Чем выше уровень светочувствительности, тем заметнее будут шумы (дефекты изображения); верна и обратная пропорциональность: чем ниже ISO, тем менее выражены шумы на фотографии. По словам специалистов, самые качественные изображения получаются тогда, когда съемка происходит на низких значениях ISO: 50, 100, 200. Верхний предел – ISO:400.

Следующий параметр – приоритет диафрагмы. Он представляет режим автоматического управления экспозицией фотоаппарата или видеокамеры, при котором автоматика бесступенчато выбирает выдержку затвора (время считывания кадра матрицей), в зависимости от установленной вручную диафрагмы. Для наиболее детального снимка выбор делается в сторону значения f11.

Наконец, последний основной параметр – скорость затвора или время, в течение которого затвор остается открытым и свет попадает на сенсор камеры. Если время выдержки невелико, можно «заморозить» движение.

Длинная выдержка позволяет получить «размазанное» движение (motion blur). Его часто применяют в рекламной фотографии автомобилей и мотоциклов, когда нужно передать ощущение скорости или движения автомобиля.

При выдержке более 1/60 камера чувствительна к сотрясению, и снимки могут получиться смазанными. Чтобы этого не произошло, при съемке с длинной выдержкой используется штатив.

Часто на камере в качестве значения выдержки бывает указан только знаменатель. Например, 125 означает скорость затвора 1/125 с. В значении выдержки знаменатель дроби должен, по меньшей мере, равняться фокусному расстоянию или быть больше него. Например, объективом 50 мм можно снимать с рук при выдержке не более 1/50 с, объективом 200 мм – не более 1/200 с.


Методика

Теперь, когда основные параметры выставлены, можно приступать непосредственно к съемке. Следует запомнить место, где делается первая фотография, можно даже его отметить. Здесь же будет и закончена фотосессия. Необходимо постараться, чтобы объект полностью заполнял кадр. В принципе, попавшие на снимок объекты на заднем плане не испортят процесса. Впоследствии они даже могут помочь программному обеспечению определить положение камеры.

Главное – качество 3D-модели будет напрямую зависеть от качества полученных снимков. Если на фото будет слишком много объектов на заднем плане, они попадут и в компьютерную модель.

Итак, съемку следует вести с разных ракурсов, перемещаясь вокруг объекта. Торопиться не следует, лучше сделать больше фото, чем потом столкнуться с их нехваткой и начинать процесс сначала. В зависимости от сложности объекта может потребоваться 40–100 снимков.

Программы для обработки

Далее получившиеся фото обрабатываются с помощью специального программного обеспечения. Оно бывает как платным, так и бесплатным в зависимости от функционала. К примеру, можно воспользоваться программой ReMake от компании Autodesk. Данное ПО позволяет конвертировать набор снимков в 3D-меши (полигональную сетку) высокого разрешения. Ячейки сетки можно редактировать, чинить, измерять, и оптимизировать. Так что, если при создании трехмерной модели на основе фото в ней появились огрехи, программа поможет устранить их до начала печати.

ReMake использует облачные вычисления, поэтому мощный компьютер для обработки фото конечному пользователю не потребуется. Единственное, нужно создать аккаунт на сайте Autodesk. Выполнив данный шаг, пользователь получит 5 Гб свободного места на 360.autodesk.com. ReMake использует этот ресурс для создания модели на основе снимков.

Убрать лишнее

Как показывает практика, при съемке в кадр попадают сторонние предметы, не относящиеся к нужному объекту. Программа позволяет избавиться от них до печати. Чаще всего получившаяся 3D-модель включает основу, на которой находился предмет при съемке. Чтобы очистить модель, нужно, запустив ReMake, выбрать инструмент lasso. Затем, удерживая левую кнопку мыши, выделяется ненужная область и нажимается delete на клавиатуре.

Иногда полностью убрать ненужные детали не получается. Инструмент lasso захватывает области на самом объекте. Во избежание этого с помощью правой клавиши мыши выбирается режим isolate selection (изоляция) и отмечается область, которую следует удалить с помощью инструмента lasso. Затем необходимо выйти из режима isolate selection, кликнув на соответствующую иконку. Модель почти готова для печати.

Программное обеспечение позволяет автоматически проверить модель на ошибки. Для этого нужно кликнуть по иконке 3D Print. Затем появится окно с предложением проанализировать объект на предмет ошибок. Пользователю остается только выбрать ответ Yes. Обработка данных займет от нескольких секунд до нескольких минут в зависимости от размера и сложности объекта.




В случае обнаружения ошибок на экране появится соответствующее окно, содержащее сообщение Unable to 3D print. Use analysis tools to fix the model (3D-печать невозможна. Используйте инструменты анализа для отладки). Далее нужно нажать кнопку Fix.

Появляется окно анализа, где выводятся данные о количестве «битых» ячеек. Также показывается их расположение на модели. Далее можно нажать кнопку Fix и отладить проблемные области одну за другой или же нажать кнопку Fix all holes, тогда программа преобразует все неправильные ячейки сразу. Различные инструменты программы позволяют вручную сгладить поверхность, удалить или добавить элементы. Для тех, у кого есть навык работы со снимками в Photoshop, редактирование модели в ReMake не должно вызвать трудностей.

Сканирование смартфоном


Создавать 3D-модели могут и приложения смартфонов, в частности Scann3D. Доступно оно для всех желающих в Google Play. Как и в случае с фотоаппаратом, пользователю предлагается сделать несколько десятков снимков с помощью смартфона, обойдя вокруг объекта, который нужно запечатлеть. В обучающем ролике фотографируется ствол дерева на улице. Программа обрабатывает изображения и выдает модель.

В качестве плюсов программы – интуитивно понятная работа приложения. Открыв его, пользователь видит три опции: создать новую модель, посмотреть существующие и продолжить. После того как был выбран вариант создать новую модель, запускается камера. Далее следует нащелкать снимков, неторопливо обойдя объект по кругу. Затем пользователь может просмотреть получившиеся фотографии и удалить ненужные или смазанные. Тапнув на галочку, владелец смартфона запускает процесс обработки снимков, по окончании которого и создается модель.

Трудности

На практике использование Scann3D сразу вызвало трудности. Первая попытка отсканировать сувенирного слона окончилась неудачей – модель вышла расплывчатой и напоминала слона отдаленно. Последующие сессии оказались чуть более удачными. Наконец, заменив объект съемки и приложив больше терпения, получить более-менее сносную модель все-таки удалось.

Для этого потребовался помощник, который стоял напротив камеры смартфона с листком белой бумаги. Это позволило отсечь фон. Всего было сделано 59 фотографий. Как выяснилось позже, нужно было еще штук пять для большей детализации морды фотографируемого игрушечного зверька.

На обработку изображений у не самого слабого смартфона (Samsung S6) ушло около 20 мин, иногда даже казалось, что аппарат завис. Тем не менее в конце концов модель была готова. Далее ее предлагалось экспортировать в различные форматы (obj, pcd, ply и stl) и распечатать на принтере. В общем, приложение оказалось неплохой альтернативой дорогим сканерам при условии, что большой точности конечного продукта не требуется.

  • Андрей Филатов

Разумеется, оплачивать платную подписку я не стал, поэтому из интересного в бесплатной версии – это возможность выбрать то, что сканируем: карту, документы, удостоверение или QR-код.

По сути этот тот же выбор формата, только более гибкий. Например, для паспорта предусмотрена сетка, имитирующая его разворот. Это же касается и банковской карты. Для QR-кода есть соответствующая схема.

Присутствует режим пакетного сканирования, а также настройка камеры: сетка, настройка камеры, выбор режима и прочее.

Сам процесс сканирования довольно прост – мы фотографируем, хотя мне показалось, что автофокусировка в данном случае работала шустрее. Какой-либо постобработки изображения нет, ведь она происходит в самом начале.

Оценка нагрузки на систему

Потребляет этот многофункциональный сканер на удивление мало – 87 Мбайт ОЗУ, 3.5% на процессоре. Аккумулятор проседает на 13% со средним энергопотреблением в 12 мВт. Неплохой показатель, согласитесь.

Приложение выборочно к версии Android, весит в системе 73 Мбайт, не содержит рекламы, но предполагает платную подписку.

Разрешений немного, и они все по делу. Вирусов старина Dr.Web не обнаружил.

А оно надо?

Как и говорилось ранее, платная версия необходима больше бизнес-среде, остальным хватит и бесплатной. В этом случае перед нами нечто среднее между Adobe Scan и Tiny Scanner. Особенно порадовали более подробные настройки, малая нагрузка на систему и предобработка скана.

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

Общая оценка: 5.0 по пятибалльной шкале.
Оценка функциональности: 5.0 по пятибалльной шкале.

Не сканером единым живы

Наконец-то у лидера прошлого обзора – Tiny Scanner – появился достойный конкурент в виде CamScanner. Это разностороннее приложение, которое позволяет делать со сканами все, что угодно, и обеспечивает своеобразный сейф для документов. Конечно, сработает он не во всех инстанциях, но поможет здорово, если вы забыли дома визитку или бланк заявления.

Сводное сравнение Adobe Scan, Tiny Scanner и CamScanner

Функциональность Adobe Scan Tiny Scanner CamScanner
Оценка автора 4.5 5.0 5.0
Интерфейс Русский, однооконный Русский, одноконный Русский, одно окно с сайдбаром слева
Возможность самостоятельной настройки Необходимый минимум Все необходимое Все необходимое
Общая эффективность Хорошо Отлично Отлично
Удобство управления Отлично Отлично Отлично
30% / 75 Мбайт 1.5% / 61 Мбайт 3.5% / 87 Мбайт
Размер после установки 65 Мбайт 70 Мбайт 73 Мбайт
Максимальный расход аккумулятора / энергопотребление 40% / 100 мВт 5% / 5 мВт 13% / 12 мВт
Использование GPS-модуля Нет Нет Нет
Трафик На облако Облако/ftp Фирменное облако
Необходимость в root Нет Нет Нет
Реклама Нет Нет Нет

О Tiny Scanner сказано уже достаточно, благо со временем он практически не изменился и не стал меркантильным. Перед нами по-прежнему отличный инструмент для всех категорий пользователей и смартфонов.

Сводное сравнение характеристик Adobe Scan, Tiny Scanner и CamScanner

Функциональность Adobe Scan Tiny Scanner CamScanner
Оценка автора 5.0 5.0 5.0
Адаптация к низкому разрешению камеры Плохо Отлично Отлично
Возможность выбрать формат листа Нет Да Да
Постобработка изображения Хорошо Отлично Отлично
Выправление разворота Да Нет Нет
Автопоиск документа Да Нет Нет
Работа с облаком Да Да Да
Страница в Google Play

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

Как показал опыт, для сканера такого типа ПО - это вторично и на него было потрачено меньше всего времени (на окончательный вариант. Не считая эксперименты и тупиковые варианты). Поэтому в статье особенностей ПО касаться не буду (Ссылка на исходные коды в конце статьи.)

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.

Для сканера в окончательной версии используется:

  1. Телефон Samsung S5
  2. Красный и зеленый лазеры с линзой для линии (90 градусов линия) на 30 мВт со стеклянной оптикой (не самые дешевые).
  3. Шаговые двигатели 35BYGHM302-06LA 0.3A, 0.9°
  4. Драйверы шаговых двигателей A4988
  5. Bluetooth модуль HC-05
  6. Плата STM32F103C8t
Драйверы A4988, выставлены на half step, что с редуктором 15->120 дает 400*2*8 шагов на PI.

Выбор технологии сканирования.

Были рассмотрены следующие различные варианты.

LED Проектор.

Вариант был рассмотрен и просчитан. Даже дорогие проекторы не обладают нужным разрешением для достижения необходимой точности. А про дешевые даже говорить смысла нет.

Механическая развертка лазерного луча в сочетании с дифракционной решеткой.

Идея была проверена и сочтена годной. Но не для DIY исполнения, по причинам:
  1. Нужен достаточно мощный лазер, что бы после дифракции, метки были достаточно яркими (расстояние до объектива смартфона 1..2 метра). А глаза жалко. Лазер-точка уже с 30мВт не полезен.
  2. Требования к точности механической развертки в 2-х плоскостях – слишком высокие для DIY исполнения.

Стандартная механическая развертка лазер-линии на неподвижный объект сканирования.

В конечном итоге был выбран вариант с двумя лазерами разного цвета

  1. Разные цвета лазеров позволяют независимо детектировать их на одном кадре.
  2. Расположение лазеров по разные стороны камеры позволяет за один проход получить два скана.
  3. Два скана за раз позволяет объективно оценить качество юстировки сканера (сканы должны сойтись и наложиться друг на друга).
Как оказалось, последний критерий самый важный. Качество скана целиком определяется точностью измерения геометрических размеров и углов сканера. А наличие двух сканов от двух лазеров позволяет сразу оценить качество сканирования:
Облака точек сошлись. Т.е. плоскости захваченные двумя лазерами сошлись на всей поверхности.

Неудачный вариант механической части на 28BYJ-48.


Хотя с самого начала предполагал, что это тупиковый вариант, не обеспечивающий необходимой точности, я все равно его проверил c различными ухищрениями:
  1. Ось мотора зафиксирована подшипником.
  2. Добавлен элемент трения и стопор для выборки люфта редуктора.
  3. Попытка определения «точной позиции» фототранзистором, по засветке лазером
Повторяемость возврата на то же место линии лазера оказалась низка – 2-3 мм на дистанции 1.5 метра. При работе редуктора, несмотря на кажущуюся плавность, заметны рывки в 1-3 мм на расстоянии 1.5 метра.

Т.е. 28BYJ-48 полностью не подходит для более или менее точного сканера крупных объектов.

Требования к развертке, исходя из моего опыта

Обязательным элементом развертки должен быть редуктор.

Не стоит заблуждаться насчет режима 1/x шагов. Опыты показали, что в режиме 1/16 на A4988 микро шаги не равномерные. И на 1/8 эта неравномерность заметна на глаз.

Самым оптимальным решением для редуктора оказалось использование ременной зубчатой передачи. Хотя она получилась довольно громоздкой, но простой в создании и точной.
Точность позиционирования (точнее повторяемость позиционирования начальной положения лазеров для сканирования) лазеров оказалась около 0.5 mm для 5 мм ширины лазерной линии на 4 метра расстояния. Т.е. на расстоянии сканирования (1.2-1.8 метра) это вообще затруднительно измерить.

Позиционирование – оптроны (китайский noname) на прорези в диске под лазерами.

Проблемы с передачей управляющих сигналов с телефона на модуль управления лазерами и шаговыми двигателями

Узким местом, с точки зрения скорости сканирования оказался управляющий канал. Поскольку это была DIY неторопливая разработка в собственное удовольствие, то были перепробованы все способы коммуникации со смартфоном.

Передача управляющих сигналов через Audio jack (phone Audio jack=> oscilloscope)

Самый тормозной способ для передачи данных в реальном времени. Да еще с плавающим временем. До 500 ms (!) от программной активации передачи аудио данных до фактического появления сигнала в Audio jack.

Эта экзотика была проверена, поскольку, по работе приходилось иметь дело с мобильными ридерами чиповых карт.

Фотодиоды на экране смартфона (кусочек экрана телефона=>фототранзисторы+ STM32F103)

Был ради интереса опробован даже такой экзотический способ, как фототранзисторы матрицей 2x2 в виде прищепки на экран.

Хотя этот способ выдачи информации с телефона оказался самым быстрым, но не настолько принципиально быстрее (10 ms vs 50ms) чем Bluetooth, что бы мирится с его недостатками (прищепка на экран).

IR канал (phone=>TSOP1736->STM32F103)

Практически проверен и способ передачи через IR канал. Даже некую реализацию протокола передачи данных пришлось сделать.

Но IR так же оказался не очень удобен (фотодатчик крепить на телефоне неудобно), и не слишком быстрее чем Bluetooth.

WiFi модуль (phone=>ESP8266-RS232->STM32F103)

Результаты проверки этого модуля оказались совершенно обескураживающими. Время выполнения запрос-ответ (эхо) оказалась непредсказуемо плавающим в диапазоне 20-300 ms (в среднем 150 ms). Почему и что – разбираться не стал. Наткнулся только на статью где рассказывалось о неудачной попытке использовать ESP8266 для обмена данными в режиме реального времени с жесткими требованиями по времени запроса/ответа.

Т.е. ESP8266 со «стандартной» прошивкой TCP -> RS232 не годится для подобных целей.

Выбранный вариант управляющего модуля и передачи сигналов

В конечном итоге, после всех экспериментов, был выбран Bluetooth (HC-05 модуль) канал. Дает стабильное (а это самое главное) время передачи данных запрос-ответ в 40ms.

Время довольно большое и сильно влияет на время сканирования (половина от всего времени).
Но лучшего варианта добиться не удалось.

В качестве управляющего модуля широко распространенная плата c SM32F103C8T.

Методы детектирования линии на кадре.

Самый простой способ выделить линии лазере на кадре – это использовать вычитание кадра с выключенным лазером и кадра с лазером.

В принципе, работает и поиск по кадру без вычитания. Но работает значительно хуже при дневном освещении. Хотя и этот режим был оставлен в ПО ради сравнительных тестов (фото режима ниже. Все остальные фотографии с режимом вычитания кадров).


Практическая ценность варианта без вычитания кадров оказалась низка.

Возможно и можно извлечь сигнал лазера из этой зашумленной информации. Однако возится не стал.

Вариант с вычитанием кадров работает хорошо.

Всякие эксперименты с попытками аппроксимации линии и обработкой всего кадра показали, что чем сложнее алгоритм, чем чаще он «ошибается» да еще и тормозит обработку «на лету». Самым быстрым (и простым) оказался алгоритм поиска лазера (лазерной точки) на горизонтальной линии:

  • Для каждой точки линии считается сумма квадратов уровня цвета лазера (RGB) в окне, указанного в конфигурации (13 px – экспериментально оптимальная величина для окна)
  • Точка лазера – середина окна с максимальным значением сумм уровней «цвета».
Время на обработку одного кадра поиском «зеленой» и «красной линии» - 3ms.

Облака точек для красного и зеленого лазера считаются отдельно. При правильной механической юстировке сводятся с точностью < 1 мм.

Точность и юстировка

Точность оказалась в пределах 1 мм на расстоянии 1.2 метров. По большей части обусловлена разрешением камеры телефона (1920x1080) и шириной луча лазера.

Очень важным для получения корректных сканов провести настройку статическую и динамическую. Точность/не точность настройки хорошо заметна при загрузке обоих облаков точек в MeshLab. В идеале облака точке должны сойтись, дополняя друг друга.

Статически параметры, выставляются максимально точно один раз:

  1. Тангенс угла поля зрения камеры.
  2. Длинна «плеч» лазеров (от центра объектива до оси вращения).
Ну и конечно же максимальная фокусировка линз лазеров на заданное расстояние сканирования и «вертикальность» линий лазера.

Динамический параметр фактического угла позиции лазеров относительно виртуальной плоскости кадра приходится подстраивать каждый раз заново при смешении телефона в креплении. Для этого сделан режим настройки в ПО. Сведением в центр экрана лазеров и подстройкой величины угла необходимо выставить расчетное расстояние максимально близко к истинному (измеренному) расстоянию для обоих лазеров.

3D-сканирование было создано для того, чтобы оцифровывать геометрию трехмерного мира, переводить окружающие нас объекты в компьютерные 3D-модели. Однако большинство решений, существующих на сегодняшний день сложны, дороги и громоздки. Поэтому, до последнего времени, создание 3D-моделей отдаленных от сканера объектов, находящихся на улице или, например, хранящихся в музее, было занятием достаточно проблемным.

Но недавно появилась отличная новость – лаборатория компьютерного видения и геометрии разработала приложение, которое превращает практически любой смартфон в 3D-сканер.

В отличие от обычного фотографирования, когда человек стоит на месте, пользователь приложения должен снять объект сканирования обойдя его по кругу. По окончанию съемки проводится обработка полученных данных, и на экране появляется трехмерная модель. Если продолжить съемку, модель будет автоматически дополнена снятыми кадрами и ракурсами, она станет более точной.

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


Марк Поллефейс (Marc Pollefeys), профессор Института Визуальных Вычислений, говорит по поводу преимуществ этой технологии:

Именно эта интерактивная возможность дополнять модель в процессе сканирования выгодно отличает данный метод по сравнению с обычной удаленной облачной обработкой.

Приложение имеет множество удобных настроек

Приложение позволяет прямо на экране смартфона посмотреть на 3D-модель с различных точек зрения и доработать наиболее важные (интересные) области. Практически каждый современный человек всегда имеет под рукой свой телефон, а значит, если установить на него это приложение-сканер, то можно будет получать 3D-модели буквально на ходу, без необходимости использования громоздкого стационарного 3D-сканера.

Программа может предложить пользователю большое количество настроек, таких как, например, съемка в условиях слабой освещенности в музее. Пользователь может быстро создать трехмерную модель музейного экспоната, и потом внимательно изучить его дома. Также, оцифрованную 3D-модель можно сразу же загрузить в облачный сервис для последующей обработки.


Благодаря встроенным датчикам телефона, процесс сканирования стал значительно проще, интуитивно понятнее и надежнее. После начала сканирования, система автоматически определяет нужные моменты для съемки, основываясь на движении пользователя.

Марк Поллефейс говорит:

Всего лишь пару лет назад программное обеспечение такого уровня могло бы работать лишь на мощных стационарных компьютерах. Однако сегодня мы уже смогли оптимизировать его для смартфона, и даже сделать более эффективным.

Повышенная интерактивность для пользователя

В отличие от наиболее распространенных сейчас решений для оцифровки 3D, основанных на создании обычных изображений, новое приложение позволяет определить абсолютный размер сканируемого объекта, а также – его высоту. Из-за высокой сложности вычислений расположения в пространстве сотен тысяч точек поверхности трехмерной модели, при ее визуализации к процессу расчетов привлекается графический сопроцессор смартфона – он позволяет приложению работать быстрее.


Также, эта технология может использоваться для трехмерной оцифровки человеческих лиц, добавляя третье измерение обычным плоским портретам. Имея столь удобный способ получения 3D-моделей, у пользователей появляется возможность копировать любые реальные объекты, создавая их 360° модели. Получившиеся 3D-модели могут быть использованы для различных визуализаций, приложений дополненной реальности или



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows