Настройка по для работы лазерного 3d сканера. Технологии трехмерного сканирования

Самый первый вопрос будет к администрации, почему нет рубрики "3d-Сканирование"?

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

За основу был взят проектор ACER p1500 имеющий разрешение FullHD, насколько мне известно, то этот проектор используется в некоторых дорогущих сканерах (не будем упоминать названия), штатив для фото/видео аппаратуры, уголок 10*40, вэбка (о ней будет подробнее чуть ниже). Самый доступный софт для всего этого дела это конечно же DAVID, благо есть бесплатная версия с некоторым ограниченным функционалом.

К выбору камеры надо подходить осторожно, прежде всего надо обратить внимание на наличие автофокуса, его не должны быть, либо он должен быть отключаем, либо он должен настраиваться в ручном режиме, именно по последнему пункту я выбрал Defender G-lense hd 720, но, как уже позже выяснилось это был единственный плюс в ней, программная начинка и софт не выдержали даже первого испытания:

Конечно я был ошарашен таким сканом:) Пытаться настраивать что-то на этой вэбке вообще бессмысленно и я очень расстроился выкинутым на ветер 2000 рублей, потом вспомнил, что у меня где-то валялся Logitech c270 от совершенно бесполезной сборки сканера BQ, с ней дело пошло веселее и первый вменяемый скан собранный в кучу получился вот таким:

Результат уже значительно лучше, а все дело в софте, который идет с камерой, у Logitech присутствует достаточно настроек, одна экспозиция чего стоит, которая решает проблему с мерцанием. Но у нее был один минус, фокус был настроен на заводе от 40 см и до бесконечности, что явно мне не подходило. В инете нашел информацию, чтобы его можно сделать регулируемым, надо лишь разобрать и сорвать резьбу с клея, на который приклеена линза. Полный энтузиазма превратить камеру с регулировкой фокусного расстояния я ее стал разбирать, легко дошел до места, где линза была подклеена и стал ее пытаться сдернуть с приклеенного места...................сердце екнуло от того, что линза лопнула от такого нахальства и стала не пригодной для дальнейшего использования. Вот тут я взгрустнул по полной, потому как остался вообще без нормально работающей вэбки:cry: Пошел с горя пить чай. Вернувшись на рабочее место меня посетила просто гениальная мысль: а что если сделать франкештейна? Разобрал нафиг Defender, посадочные места оказались несколько разными, но меня это не остановило и я таки срастил чужеродные элементы. О, чудо, у меня появилась новая вэбка с нормальным софтом и регулируемым фокусом (кстати линзы у Defendera больше по размерам). Первый приемлемый результат не заставил себя долго ждать:

Был успешно сделан скан ящика с инструментами, справа наблюдается небольшая ряб, но это моя вина, не докрутил настройки. Но согласитесь, это уже приемлемый результат:)

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

Можете заметить, насколько не родной объектив не гармонирует с корпусом:)

А теперь вопросы знатокам, потому как пока я не могу найти логическое объяснение происходящему. Почему при сканировании объекта в 360 градусов в конце можно получить не совпадение сканов:

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

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

Вот что получатся с модернизированной вэбкой:

Надо еще конечно играться с настройками, так как они порой сильно влияют на результат.

Ради интереса зашел посмотреть, сколько стоит родная камера David, почти 700 баксов, даже не знаю, есть ли смысл покупать такую камеру, с нынешним курсом это совсем не бюджетно.

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

Первый прототип

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

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

Результат был интересный. Да, мы находили расстояние. Да, мы могли «нацелиться» на любую точку в полусфере над сканером. И радости нашей не было предела. Но когда мы провели оценку времени сканирования этой полусферы, то оно оказалось равным 48 часам. И дело не в камере. И даже не в Java. А в том, что установка была настолько хлипкой, что колебалась после каждого поворота в течение пяти секунд. Приходилось делать измерение, поворачиваться и ждать пять секунд, пока она не перестанет качаться. А вдобавок библиотека для камеры перед каждым снимком включала ее, а затем выключала. На это уходило 1-2 секунды. Но летняя школа заканчивалась, и переделывать было некогда: это была уже ночь перед сдачей проекта. Вернее утро. На следующий день мы представляли наш проект на конкурсе перед научным жюри и неожиданно выиграли. Наверное, именно из-за этой победы мы решили продолжить нашу работу над этим проектом.

Версия два

На самом деле лето закончилось, а учебный год начался. Желание работать пропало. Установку планировали закончить к следующему конкурсу, до которого был целый месяц. Месяц. А потом внезапно три дня. Но за месяц мы решили изменить установку. Собрать ее крепкой, установить на лазерную указку линзу, которая будет создавать лазерную линию. Это позволило бы сканировать сразу 720 точек (в сканере стояла HD камера). Вот только три дня внесли свои коррективы:

Собран второй сканер из визирных пластиковых линеек, клея, малярного скотча и держится только благодаря синей изоленте. Вместо линзы стоит пробирка. На эту пробирку светит зеленый лазер. Отразившийся луч создает на экране более-менее равномерную лазерную полоску. Дальномер закреплен лишь на одном моторе, который вращает его в горизонтальной плоскости. Плату управления заменили на STM32VLDiscovery. Просто STM32 я знаю лучше, да еще и Atmega сгорела, а программатор был давно утерян. Выглядит не очень, зато работает! Колебания уменьшились, а скорость соответственно увеличилась. Но не сильно. Тут был обнаружен очень интересный подвох - китайская лазерная указка включалась не сразу, а плавно увеличивала свою мощность в течение секунды. Таким образом, секунда на колебания, секунда на прогрев лазера, секунда на снимок, а их два. Вот и получаем 4 секунды. Но за одно измерение мы находим расстояние до 720 точек! Выглядел процесс сканирования приблизительно так:

А результат так:

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

А что собственно конкурс? А вот ничего! Мы закончили сканировать все подряд в 4 часа ночи, а в 9 утра на стенде обнаружили, что лазер сгорел. Как оказалось, пока мы несли его из гостиницы к стенду, в него попал дождь, и при включении он сгорел. А выглядит она в нерабочем состоянии так, что поверить в слова «оно работало 5 часов назад» сложно. Мы расстроились. Желание продолжать улетучилось с дымком из лазера. Но все же была собрана…

Третья версия

И собрана она была опять же к конкурсу. Причем к нему мы готовились долго и основательно. Больше недели. И вот результат:

Первое что бросается в глаза - это то, что теперь мы сканируем не область вокруг сканера, а объект, который вращается на платформе. А так же мы достали нужную линзу, собрали все нормально, переписали программу, а еще заменили отладочную плату на самодельную. И еще теперь мы делаем только один снимок на измерение. Лазер достаточно мощный, а линза достаточно хороша для того, чтобы однозначно находить лазер на фотографии. Благодаря этому мы не дожидаемся прогрева лазера - он всегда включен. А еще камеру теперь включаем только один раз. То есть время тратится по большей части на поворот платформы и обработку изображения. В программе добавили меню выбора точности. Время сканирования - от двух до десяти минут. В зависимости от выбранной точности. При максимальной точности получается, что платформа за шаг поворачивается на 0,5 градуса, а расстояние определяется с точностью 0,33 мм. Платформа приводится в движение шаговым мотором через редуктор. Собственно платформа - большой диск, а резиновый валик на валу мотора - маленький. Мотором и лазером управлял микроконтроллер STM32F050F4 через полевые транзисторы. В самом начале статьи как раз скан игрушки, полученный с помощью этого сканера. Так как сканер выдает облако точек в формате.obj, то после триангуляции мы можем напечатать отсканированный объект на 3D принтере, что и видно на той же фотографии. На экране мы можем видеть модель после триангуляции. Никакой ручной работы над моделью не проводилось.

На конкурсе мы победили. А он давал проход на международный конкурс Intel ISEF. А потому мы начали работать над следующим сканером.

Четвертая версия

На данный момент это последняя версия сканера, которую мы собрали. Для сравнения на платформе стоит вторая версия. К разработке четвертого сканера мы постарались подойти со всей основательностью, с какой только могли. Установка была начерчена в САПРе, детали вырезаны лазером, все покрашено, ничего лишнего снаружи не торчит. Изменения: теперь платформа действительно является шестерней. Она вырезана из оргстекла и по краям у нее 652 зубчика. Это решает проблему, которая сильно портила сканы в предыдущем сканере: резиновый валик немного проскальзывал, из-за чего платформа часто поворачивалась не на 360 градусов. Сканы были либо с «вырезанным кусочком», либо с перекрытием. Здесь же мы всегда точно знали насколько повернута платформа. Мощность лазера сделали регулируемой программно. Благодаря этому можно было на ходу менять мощность лазера, избегая засветки ненужных частей при малой освещенности помещения. Для управления всей электронникой решили не разводить новую плату, а просто применить отладочную F401RE-Nucleo. На ней установлен ST-LinkV2.1, который работает отладчиком и USB->UART адаптером.

Точность получилась потрясающая: Угловое разрешение 0.14 градуса. По расстоянию 0,125 мм. Область сканирования представляет собой цилиндр высотой 20 см и диаметром 30 см. Цена всех деталей и резки лазером на момент его создания (май 2014) составляла менее 4000 рублей.

В процессе использования мы всего один раз ставили максимальную точность. Сканирование длилось 15-20 минут. Получили почти 2 миллиона точек. Ноутбук отказался рассчитывать модель из облака точек. Эксперимент больше не повторяли.

Заключение

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

Спасибо всем, кто дочитал до конца!

UPD:
Коллега нашел видео о работе сканера, которое мы снимали на ISEF:

Да, большая часть видео не интересная, но в конце моделька на ноутбуке.

А еще вот примеры отсканированных объектов. Но все они относятся к третьей версии сканера.
Dropbox
В файле model.obj хорошо видно, что получается при проскальзывании этого резинового валика на моторе - у собаки три глаза. Сканирование остановили, из-за чего получился вырез. Все файлы - это облака точек. Открывать можно при помощи MeshLab. Модели не обрабатывались руками. Полностью сырые данные. Сверху видно «белые пятна» - участки без точек. Их не видит камера. Так же белые пятна можно заметить и в других местах. Они появляются либо на слишком темных участках, либо при перекрытии поверхностей. Например в файле stn_10.obj рога козла перекрывают друг друга, из-за чего внутренняя поверхность рогов не отсканировалась.

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

Так вот, сделать 3D сканер вполне возможно, для этого понадобятся:

  • Веб-камера (от ее качества, и минимального количества помех будет зависеть качество модели);
  • Лазерный уровень (или любой другой линейный лазер, и чем тоньше луч, тем более четким будет съем данных);
  • Несколько не сложных приспособлений (крепления, калибровочный угол);
  • Компьютерная программа для обработки снимков.

У нас на форуме вы можете познакомиться с примером .

Без соответствующей программы вы не сможете создать цифровую модель. Для этого вы можете воспользоваться программами TriAngles или DAVID-laserscanner. Чтобы воспользоваться продуктом TriAngles, вам понадобиться основание способное равномерно вращаться. При этом существует дополнительное ограничение – форма объекта должна быть сферической или цилиндрической.

А вот David-laserscanner – платная программа, но имеется бесплатная тестовая версия, в которой можно работать неограниченное время, правда с сохранением результатов в очень плохом качестве.

Для начала нам понадобится подготовить калибровочный угол, для этого достаточно распечатать шаблон идущий с программой и разместить его в конструкции с углом ровно в 90°.

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

Затем мы проводим калибровку камеры. В программе имеются режимы автоматической и ручной настройки, в нормальных условиях вам понадобится только автоматический. Ручной же используется когда в помещении плохое освещение или используется некачественно выполненный калибровочный угол. Чтобы улучшить результат калибровки – может понадобиться стереть ластиком (программным инструментом) лишние темные области на изображении.

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

Требуется отключить в настройках камеры любые режимы автокорректировки, а в настройках программы выбрать цвет вашего лазера. Затем нажимаем кнопку «Старт», включаем лазер и плавно, кистевым движением, водим его лучом по объекту, при этом желательно сохранять одинаковое положение руки. Это относится к одному циклу сканирования. Для съема состояния с точек куда не доставал лазер нужно менять его положение – располагать выше или ниже линии камеры. Луч лазера обязательно должен падать на сам предмет и на фоновые поверхности как слева так и справа от него.

На экране, в окне с результатами сканирования вы сможете наблюдать текущие состояние процесса.

Добившись достаточного заполнения вы сможете посмотреть на результат в трехмерном виде, для чего нужно нажать кнопку «Показать 3D»

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

Для использования этого режима в настройках программы нужно выбирать режим «Тонкая линия тени». В этом случае линия должна быть действительно прямой и резкой, а источник света нужен с параллельным светом или точечный.

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

А теперь , нам нужно повернуть предмет для сканирования с других сторон, а полученный ранее файл передать для склеивания и формирования замкнутой фигуры.

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

Обратите внимание – выравнивание происходит с произвольным алгоритмом, поэтому, если у вас не получилось правильно объединить сканы с первого раза – обязательно попробуйте еще, вполне может все получиться со следующей попытки. Если же это не помогает, то вы можете воспользоваться режимом «Ручного выравнивания», при котором необходимо указать не менее трех совпадающих пар точек на поверхностях сканов.

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

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

Первые 3D-принтеры, которые стоят дешевле игрового компьютера, стали обязательным атрибутом почти любого хакспейса или фаблаба (лабораторий технического творчества и электронного искусства). Теперь к ним присоединились 3D-сканеры. Студент МФТИ и сотрудник Политехнического музея Даниил Веловатый сам собрал трехмерный сканер из лазера, веб-камеры и подручных материалов. В рамках спецпроекта «Физтех. Читалка» он рассказал T&P о будущем сканирования реальности.

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

Лидар (от английского Light Detection and Ranging) - дорогое, но очень точное устройство. Оно позволяет с точностью до миллиметров строить 3D-модели объектов, размер которых можно сравнить с размерами здания. Из расшифровки аббревиатуры LIDAR следует, что им является любой дальномер, измеряющий расстояние при помощи света. Под это описание попадает невероятное количество устройств. Но чаще всего лидарами называют аппараты вроде этого:

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

Технологии для землян

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

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

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

В нашей лаборатории мы решили создать дешевый 3D-сканер, имеющий точность, сравнимую с точностью 3D-печати. Это был наш первый серьезный проект, поэтому мы допускали ошибки, многого не понимали и еще больше узнавали в процессе. Сначала мы построили простой лазерный дальномер из лазерной указки и веб-камеры. Чтобы понять, как 2D-камера позволяет измерять расстояние, придется подключить воображение. Представьте себе натянутую в воздухе нить, по которой ползет паук. Если мы стоим вплотную к веревке, то видим, как паук ползет строго на нас (не очень приятное зрелище). А если теперь мы посветим на всю эту конструкцию лампой сбоку, на полу мы увидим тень. Так как свет поступает сбоку, проекция паука будет двигаться по проекции нити. Измеряя расстояние от начала тени нити до тени паука, мы можем вычислить, сколько паук прополз, умножив на некоторый коэффициент, ведь мы создаем сжимающее отображение.

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

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

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

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

Не пропустите следующую лекцию:

Если вы хотите сделать 3Д-сканер своими руками, первым делом найдите веб-камеру. Если она у вас есть, стоимость всего проекта обойдется в 40-50 долларов. В последние годы настольное 3D-сканирование сделало большие скачки, но оно все еще имеет большие ограничения. Аппаратное обеспечение техники строится на основе определенного объема и разрешения сканирования. Вы можете получить неплохие результаты, только если ваш объект соответствует требованиям и разрешению съемки.

Принцип работы съемки в объемном режиме

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

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

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

Без 3D-сканера вы сможете сделать трехмерное изображение лишь больших объектов. Маленькие предметы отсканировать не получится. Чтобы подробнее это понять, разберем понятие фотограмметрии.

Что такое фотограмметрия и как она влияет на отображение предметов?

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

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

Фотограмметрия существует уже некоторое время, но только когда Autodesk включился в свою бета-программу Memento, все стало работать стабильно. Memento был переименован в ReMake, когда он покинул бета-фазу. Звучит как волшебство, верно? Ну, это не волшебство, это реальность. Теперь любой желающий может заняться трехмерным сканированием, не тратя сотни на сканер. Даже доступные 3D-сканеры с открытым исходным кодом требуют довольно много знаний, чтобы заставить их работать должным образом. С помощью фотограмметрии любой может получить то, чего он хочет.

Поворотный круг - второй этап создания сканера

Все, что вам нужно для создания 3Д-сканера своими руками, - это ваш смартфон, прилагаемые наушники и проигрыватель. Вот как это работает: вы поворачиваете рукоятку, и за каждый полный оборот поворотного стола камера телефона срабатывает от громкости наушников 50 раз.

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

Что ж, учитывая, что Apple удалила разъем для наушников для iPhone 7 и выше, будет использоваться обновленная версия создания сканера. В основе лежит принцип работы по триггеру для камеры Bluetooth. Это заменит необходимость в разъеме для наушников.

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

С набором кнопок позволяет пользователю управлять Arduino. Используя кнопки, пользователь может выбрать количество снимков, которые будут сделаны за оборот. Изготовленный своими руками 3Д-сканер высокого качества может работать в автоматическом режиме, где он делает снимок, продвигает шаговый двигатель и повторяет его, пока не завершит полный оборот.

Существует также ручной режим, при котором каждое нажатие кнопки делает снимок, перемещает шаговый регулятор и ждет. Это полезно для сканирования деталей. 3Д-сканер фокусируется на рамке, обрамляющей изображение.

Дополнительное программное обеспечение

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

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

Есть два решения:

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

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

  • "Ардуино". У него есть контакты, которые не закрыты ЖК-экраном, что облегчает подключение.
  • SainSmart 1602 LCD Shield, который имеет дисплей и несколько кнопок для управления сканером.
  • Драйвер шагового двигателя (Easy Driver).

Шаговый двигатель NEMA 17 будет поворачивать объект сканирования. С большим шаговым двигателем (с соответствующим драйвером и источником питания) этот изготовленный своими руками 3Д-сканер высокого качества мог бы увеличить масштаб сканирования. ИК-светодиод 950 nm запускает камеру. На этом принципе основаны некоторые популярные модели ручных 3Д-сканеров. Своими руками можно повторить процесс строения. Мы предлагаем несколько вариантов на выбор.

Spinscan от Тони Бьюзера: основа всех сканеров

В 2011 году гений 3D-печати, Тони Бьюзер, выпустил Spinscan. Это самодельный 3Д-сканер с открытым исходным кодом на основе лазера и цифровой камеры. Позже MakerBot использовал идеи из Spinscan для создания сканера Digitizer с закрытым исходным кодом.

FabScan

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

VirtuCube

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

Уже выпущены два новых интересных лазерных сканера с открытым исходным кодом: The BQ Cyclop и Murobo Atlas.

BQ - лазерная система сканирования

Испанская компания по производству бытовой электроники BQ анонсировала 3D-сканер Cyclop на выставке CES. Cyclop использует два лазерных линейных уровня, стандартную веб-камеру USB и пользовательский контроллер Arduino от BQ. BQ написал свое собственное приложение для сканирования под названием Horus. В то время как в сообщениях говорится, что Cyclop еще не доступен, BQ заявляет, что это будет позже в этом году.

"Атлас" - разработанный проект, требующий доработок

3Д-сканер с описанием принципов работы от Murobo в настоящее время ищет средства на Kickstarter. Как и Spinscan, Digitizer и Cyclop, Atlas использует лазерные линейные модули и веб-камеру для сканирования объекта на вращающейся платформе. Атлас заменяет Arduino Raspberry Pi, чтобы объединить управление и захват в устройство. Как и Cyclop, создатель Atlas обещает, что это будет проект с открытым исходным кодом. Наборы за 129 долларов распроданы, но некоторые остались по цене 149 и 209 долларов.

В 2019 году компания стремится выпустить созданный из смартфона 3Д-сканер, который будет не только отображать фоновую видимость, но и конструировать фокус при захвате изображения. В Америке DIY-новинки поражают. Если вы не знаете, как сделать 3Д-сканер, используйте незавершенную версию "Атласа". Там достаточно понятный функционал, а разработчикам нужно лишь прошить устройство и обеспечить работу тех функций, которые хочется видеть в результате.

CowTech Ciclop: новая модель многофункционального устройства

Цена достигает 160 долларов (в зависимости от того, печатаете ли вы 3D-детали или нет). Компания основана в США. Разрешение готовых изображений достигает 0,5 мм. Максимальный объем сканирования: 200 × 200 × 205 мм. BQ лег в основу комплекта DIY 3Д-сканера для 3Д-принтера. Своими руками можно доработать версию модели до создания изображений в четырехмерном пространстве.

CowTech Engineering использовала фонды, возглавляемые BQ, придавая уникальное значение обновленной модели. Появились возможности:

  • обзора окружающей среды,
  • захвата фона,
  • отображения линз в перевернутом стиле.

Верный движению open source, Cowtech начал кампанию Kickstarter, чтобы собрать деньги для запуска в производство версии оригинала - Ciclop CowTech. Команда поставила высокую цель - собрать 10 000 долларов, но была встречена с удивлением и восторгом, когда сообщество смогло собрать 183 000 долларов. Комплект 3Д-сканера из фотоаппарата и телефона CowTech Ciclop DIY появился на свет.

Так в чем же разница между версией CowTech и BQ DIY?

CowTech Ciclop по-прежнему использует программное обеспечение Horus 3D, так как это фантастический магазин для 3D-сканирования объектов. Различия, однако, заключаются в несколько ином дизайне, на разработку которого команда потратила нескольких дней, чтобы детали могли быть напечатаны в 3D на любом 3D-принтере FDM.

Эти же заготовки можно использовать для разработки устройств своими руками. 3Д-сканеры и принтеры этой компании имеют только небольшой объем сборки, поэтому компания CowTech разработала детали, которые можно распечатать на любом принтере с объемом сборки 115 × 110 × 65 мм, который есть почти во всех 3D-принтерах.

Ciclop от CowTech:

  • Здесь есть регулируемые держатели лазера.
  • В CowTech DIY используется лазерная резка акрила.
  • Модели используют резьбовые стержни.
  • Лазерная резка акрила отсутствует.

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

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

  1. Мобильный телефон оснащен технологией DIY 3D-сканера: фотограмметрия - присутствует технологическая особенность.
  2. Цена: бесплатная печать самостоятельно (хотя материалы будут стоить около 30 долларов США).
  3. Этот 3Д-сканер своими руками будет создать довольно просто. Дейв Кларк, британский производитель, еще до начала старта продаж позаботился о том, чтобы модели могли разбираться. Запчасти пойдут на создание других сканеров.

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

Своими руками 3Д-сканер получится сделать из подручных средств. Нужно только довериться создателям DIY 3D. Простое устройство мгновенно превращает ваш iPhone или Android в 3D-сканер, подключив его к этому проигрывателю. Затем, используя наушники и камеру телефона, делает более 50 фотографий объекта, который будет сканироваться при вращении поворотного стола.

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

В целом это фантастический креативный проект и отличный DIY 3D-сканер для людей с ограниченным бюджетом.

Microsoft Kinect 3D сканер

Его стоимость еще ниже - всего 99 долларов (однако больше не продается, хотя Kinect V2 все еще доступен с Xbox One). Лозунг компании: "Сделай своими руками 3Д-сканер из "Кинекта" и удиви друзей.

Хотя Microsoft отреагировала на спрос, создав собственное приложение 3D Scan для сканера Kinect, существует ряд сторонних опций, которые могут быть предпочтительнее. К ним относятся:

  • Skanect, сделанный Occupital, который также продает датчик структуры.
  • ReconstructMe. Он предоставляет набор инструментов, которые позволяют выполнять 3D-сканирование менее чем за 100 долларов.

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

Перед тем, как создавать сканер

Существует множество камер, которые вы можете использовать. Конечно, чтобы знать, как сделать 3Д-сканер из телефона собственноручно, нужно посчитать, что для этого понадобится. Если вы планируете использовать Pi Scan для управления камерами, то вам следует использовать Canon PowerShot ELPH 160. Но если используете какую-то другую настройку, то вот несколько общих рекомендаций по выбору камер:

  1. Сколько мегапикселей вам нужно? Измерьте предметы, которые вы собираетесь сканировать. Стремитесь к наибольшему среднему размеру (не выбирайте самые большие выбросы). Например, большинство учебников размером 22,86 × 27,94 см. Теперь умножьте этот размер на PPI (пикселей на сантиметр), который вы намереваетесь захватить. 300 - это безопасный минимум, хотя вы не ошибетесь, если захватите больше. Итак, в нашем примере - 9 × 300 = 2700. 11 × 300 = 3300. Нам нужно изображение размером не менее 2700 × 3300 = 8 910 000 пикселей, или около 9 мегапикселей.
  2. Какой контроль вам нужен? Если вы просто сканируете одну книгу или сканируете предмет только для его информационного содержания (в отличие от попыток запечатлеть фактический внешний вид), вам не нужны очень хорошие снимки. Если освещение или настройки камеры меняются от снимка к снимку, вы все равно получите качественный результат.
  3. Скорость затвора - баланс белого апертура ISO.
  4. Вспышка вкл/выкл. Любая пользовательская обработка изображений (повышение резкости, улучшение цвета и т. д.).
  5. Фокус (в идеале возможность блокировки фокуса).
  6. Компенсация воздействия.
  7. Увеличение изображения - большинство зеркальных фотоаппаратов допускают весь этот вид контроля; для компактных камер только камеры Canon Powershot, поддерживающие CHDK. Они позволяют контролировать все эти параметры.

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

  • Первая трудность, с которой сталкиваются при создании трехмерного лазерного сканера, - нахождение вращающейся платформы. При этом ею нужно управлять лишь с помощью MatLab. Вместо того чтобы тратить много денег или времени, можно купить шаговый двигатель 28BYJ-48-5V с платой модуля тестирования привода ULN2003.
  • Дальше приклейте платформу к валу шагового двигателя и поместите его в паз внутри держателя. Платформа должна быть на одном уровне с "мрамором", но имейте в виду, что чем дешевле он, тем более несовместимы диаметры, которые могут сделать вещи не ровными.
  • Если у вас есть метод получения точного вращения, которым можно управлять в Mat Lab, настройте камеру на любом расстоянии и высоте, а также лазерную линию слева или справа от камеры и от поворотного стола. Угол наклона лазера должен быть оптимальным, чтобы покрыть большую часть поворотного стола, но ничто не должно быть точным, мы будем обрабатывать разницу в масштабе модели в коде.
  • Самая важная часть для правильной работы - это калибровка камеры. Используя набор инструментов для компьютерного зрения MatLab, можно получить точное фокусное расстояние и оптический центр камеры с точностью до 0,14 пикселя.

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

Большинство дешевых компактных камер не имеют программного интерфейса. Они могут управляться только ручным или механическим запуском. Но команда добровольцев разработала программное обеспечение, которое позволяет дистанционно управлять компактными камерами Canon и настраивать их. Это программное обеспечение называется CHDK.

  • CHDK загружается на SD-карту, которая затем вставляется в камеру.
  • Когда камера запускается, CHDK запускается автоматически.
  • Поскольку CHDK никогда не вносит постоянных изменений в камеру, вы всегда можете просто извлечь специальную карту CHDK SD для нормальной работы камеры.

CHDK является важной предпосылкой для программных контроллеров, перечисленных ниже. Контроллеры работают на ПК или Raspberry Pi и взаимодействуют с программным обеспечением CHDK, работающим на камерах, через USB. При использовании других видов дешевых камер единственным вариантом управления является какой-либо механический или ручной запуск через программы-установщики, как показано выше.