3d printer своими руками из сканера. Делаем трехмерный сканер из двух веб-камер

11.04.2019

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

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

Сначала мы решили собрать лазерный дальномер. Сделан он был по мотивам статьи на радиолюбительском форуме. Просто лазерная указка и камера. Для обработки изображений была написана программа на 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:

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

А еще вот примеры отсканированных объектов. Но все они относятся к третьей версии сканера.

И очень меня эта тема заинтересовала, хотя быстро пришло понимание того, что ни о каких 30$ для качественного сканирования не может быть и речи.

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

Мне точность требовалась, так как основное, что мне хотелось сканировать это были миниатюры из настольной игры Warhammer (дабы потом их изменять, как хочется и печатать:)). В высота этих «солдатиков» всего 3 см, однако это не мешает им быть очень детализированными.


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

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

Но начнем по порядку. Что понадобится для того, чтобы опробовать 3д сканирование в домашних условиях:
1 – проектор.
2 – веб камера.

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

Теперь по порядку и подробно.

ПРОЕКТОР.

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

И если со вторым недостатком еще можно бороться путем создания специального поворотного механизма (хотя это уже получается не такая уж и простая задача, во всяком случае, за 5 минут на коленке такое не сделать), то избавление от первого недостатка дороже.

Когда я все это осознал, то решил попробовать сканирование с помощью проектора, для чего взял на время какую-то простую модель у знакомого.

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

Подойдет проектор с мощной лампой, свет которой нужно направить сквозь узкую щель на сканируемый объект

Возможно, в ранних версиях программы это был единственный вариант, но в версии 3 с которой я экспериментировал, проектор использовался намного лучше, т.к. там есть возможность называемая Structured Light Scanning (SLS). В отличие от лазерного сканирования, проектор сразу проецирует на объект сетки из вертикальных и горизонтальных линий различной толщины, что на порядок уменьшает время сканирования и позволяет в автоматическом режиме снимать цветную текстуру объекта. Ну и при хорошей фокусировке, линия в 1 пиксель шириной намного тоньше, чем возможно получить от недорогой лазерной указки.

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

Критерии для выбора проектора были простые – разрешение больше, цена и размеры меньше:)
Выбор остановился на IconBit Tbright x100 - ультракомпактный DLP LED проектор, разрешение 1080 – на тот момент мне казалось, что лучше и не придумаешь, но как выяснилось позже – я ошибался, хотя занимаясь с ним, я получил много интересного опыта.


Первая проблема, которая возникает при сканировании маленького объекта с помощью проектора, заключается в том, что для лучшего результата, размер проецируемой сетки должен примерно соответствовать размеру сканируемого объекта. Данный проектор позволял получить наименьшую диагональ экрана при самом близком фокусе - примерно в 22 см. Согласитесь, что на таком фоне миниатюра в 3 см высотой далека от понятия «примерно равные размеры». Ответ нашелся на официальном форуме – люди в таких случаях устанавливают на проектор фотоаппаратные линзы для макросъемки. Учитывая небольшие размеры объектива проектора, я остановил свой выбор на линзах marumi с диаметром резьбы 34 мм.

Используя два таких комплекта, удалось получить экран проектора с диагональю всего около 3 см. Чего оказалось вполне достаточно, чтоб сделать свой первый микроскан –

Это единичный скан, поэтому и есть «дырки» на модели, рваные края и т.д. Поворачивая монету и сканируя с разных ракурсов, можно получить несколько таких сканов, которые впоследствии объединяются в один объект (сама программа сканирования позволяет правильно совмещать разные сканы, сшивать их и сохранять как единый объект). В процессе сшивания заодно уточняется форма объекта. Но сохранять результаты такого сшивания – возможно только после покупки лицензии.

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

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

Для этих целей была взята стойка от сгоревшего ЖК монитора, и оргстекло от него же, вырезана и склеена вот такая конструкция, как она выглядела в первом варианте


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

Недавно фирма выпустила усовершенствованный набор для сканирования, вот там уже стойка намного серьезней и интересней смотрится –

Как по мне, при стоимости лицензии на программу около 500$ (это они еще цену подняли недавно), отдавать за такой набор более 2000 евро – не совсем оправданно, собрать самому что-то подобное не сложно и значительно дешевле.

Вернемся к проектору. Как оказалось, у этого проектора был один существенный недостаток для использования в сканере, а именно его родное разрешение (854*480). И все бы ничего, если бы он и на выходе выдавал то же самое, но увы – картинка преобразовывалась к стандартным разрешениям (типа 1024*768), и в результате линия шириной в один пиксель была в разных частях экрана где-то ярче, где-то тусклее, где-то уже а где-то шире… Все это негативно сказывалось на качестве сканирования, выражаясь в виде ряби и полосок на получаемой модели.
К тому времени я уже задумывался о покупке проектора для стереолитографического 3Д принтера (http://geektimes.ru/post/245590/). Рассмотрев несколько вариантов, я остановился на модели Acer P1500, т.к. ей не нужны никакие доработки для использования в принтере (этот проектор без всяких линз способен дать сфокусированное изображение на экране примерно 4*7 см). А значит, и для сканера он подойдет как нельзя лучше. При этом разрешение в 1920*1080 у него реальное. Так оно и вышло, этим проектором пользуюсь до сих пор и полностью доволен результатами.

КАМЕРА.

Критерии при выбора камеры у меня были те же, что и при выборе проектора. Пройдясь по магазинам, остановился на Logitech C615. Скан монеты был сделан именно с неё, без всяких модификаций. Но когда я попытался отсканировать фигурку, то столкнулся с трудностью, которая называется «глубина резкости». Когда объект настолько мал, то фактически у нас получается макросъемка, а резкость при такой съемке достигается только на небольшом отрезке, буквально всего пара миллиметров (именно поэтому монета хорошо отсканировалась – рельеф вполне укладывался в область резкости). Было решено переделать камеру под другой объектив. На Ebay было заказано несколько разных объективов для пробы, а также был вырезан новый корпус под плату камеры. План был такой

Финальный результат немного отличался


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

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

Таким образом, у меня вот такая коллекция объективов образовалась.

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

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

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

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

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

Допустим, какая-то часть модели на одном из сканов вышла идеально. Но это не значит что на всех сканах, в которые эта часть попала, она выглядит также идеально, а при сшивании сканов с разных ракурсов результат будет усреднен, что не может радовать. Программа позволяет немного редактировать полученные сканы (можно вырезать ненужную часть). Если мы вращаем модель на 20 градусов, значит, после полного оборота у нас будет 18 сканов, нужная нам часть вполне может присутствовать на половине из них, следовательно, чтобы оставить наилучший результат надо будет удалить этот кусок из 8ми сканов… А таких кусков при сложной модели может быть много, в результате от каждого скана будет отрезаться чуть ли не половина, что очень трудоемко и требует много времени.

Вместо этого лучше после первого скана сразу сканировать прилегающие области, и проверять результат. Как только какой-то кусок готов – переходим к сканированию следующего, и так, пока вся модель не будет в идеальном виде. Такой подход дает лучший результат за меньшее время.

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

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



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

Внутренности

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

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

Процесс сканирования у меня сейчас выглядит таким образом:
- Фокусировка проектора и камеры

Свет проектора слишком ярок и на фото не видна проецируемая сетка, но вот вид из камеры в программе

Калибровка сканера

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

Вид в программе

Рекомендуется, чтобы совокупный угол между лучом проектора и камеры был около 20 градусов. Поэтому такая стойка и используется - при сканировании больших объектов (например, человека) камеру надо гораздо дальше от проектора отставить, здесь же они у меня вплотную стоят. Расположение камеры относительно проектора может быть только вертикальным, или только горизонтальным - в зависимости от геометрии объекта. В данном случае расположение диагональное (13 градусов по вертикали и 36 по горизонтали).

Результаты сканирования с разных ракурсов. Это уже подчищенные сканы, т.е. удалены все неудачные и ненужные (подставка фигуры, попавшее в кадр крепление) части.

Совмещение сканов для последующего объединения в один объект

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

Ну и после объединения сканов с разных ракурсов получаем такие модели

Миниатюра Боромира из властелина колец.

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

Оригиналы моделей

В галерее работ пользователей на сайте разработчика (http://www.david-3d.com/en/news&community/usergallery) можно найти еще много интересных сканов, даже отпечатки пальцев люди сканируют. И встречаются даже сканы таких же миниатюр из вархаммера

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

1 - Полученные сканы, при хорошем качестве сканирования (а мы ведь хотим получить наилучшее качество) имеют очень много полигонов. Нет, даже ОЧЕНЬ много. Скан Боромира после слияния содержал более 8 миллионов полигонов - не каждый слайсер сможет работать с таким объектом.
2 - Любые объекты несут на себе следы сборки и изготовления. И если в реальности для исправления этого применяют надфили и наждачку (а иногда все-равно есть недоступные места, где невозможно применить инструменты), то работая с цифровой копией объекта, мы можем изменить его как угодно - убрать дефекты, улучшить детализацию и т.д.
3 - Как я говорил в начале статьи, когда я задумался о сканере, я хотел не копии объектов печатать, а изменять их как мне будет угодно. Я не скульптор, у меня нет инструментов, материалов и навыков, чтобы вылепить такую мелкую модель. Но умея работать в 3Д, мне намного проще, отсканировав подобного Боромира, сделать из него какого-нибудь Принца датского.


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

Теги: Добавить метки

Доброго дня, мозгочины ! Самоделка о которой пойдет речь в этой статье, это лазерный 3D-сканер с открытым кодом под названием «FabScan», разработанный, кстати, как диссертация бакалавра.

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

Итак, поехали!

Шаг 1: Нам понадобится

Что рекомендует «FabScan»:
— Arduino Uno
— драйвер A4988 для шагового двигателя
— щилд для 3D-сканера «FabScan»
— 5мВт лазерный модуль
— биполярный шаговый двигатель NEMA 17 (200 шагов)
— блок питания 12В, 1А
— веб-камера Logitech C270
— материал для корпуса (4 листа МДФ 60х30х0.5см, более подробно здесь)

То, что использовал я:
— Arduino Uno
— шаговый двигатель NEMA 17 (200 шагов)
— драйвер L298N для шагового двигателя
— 5мВт лазерный модуль (красный луч)
— блок питания 12В, 2А
— веб-камера Logiteck C270

Шаг 2: Создание корпуса

Из МДФ вырезаем детали корпуса, я для этих целей использовал дремель, и собираем его. Процедура эта не простая, так как для верного сканирования мозгокамера , двигатель и лазерный модуль должны правильно располагаться.

Шаг 3: Подключение электроники

Это довольно просто: монтируем шилд FabScan на Arduino, а уже на шилд устанавливаем драйвер в первый разъем для двигателя. К выходным контактам подключаем шаговый двигатель, а лазерный модуль к аналоговому контакту A4, и, наконец, подсоединяем питание и USB-кабель. Более подробно об этом .

Если же вы используете компоненты из моего списка, то необходимо подключить драйвер L298 к контактам 10, 11, 9, 8 на Arduino (по желанию их можно поменять), а лазерный модуль также на контакт A4. Затем подключить питание и USB-кабель.

Шаг 4: Код

Перед вами код для поделки от команды-разработчика, и который можно загрузить на Arduino прямо из браузера с помощью плагина Codebender. Для этого необходимо установить этот плагин и нажать кнопку «Run on Arduino», тем самым запустив «заливку» прямо из окна с кодом.

Примечание: Если вы используете опцию «Try Ubuntu», то перед выключением компьютера обязательно убедитесь, что ваши файлы сохранены!

Ориентируясь на вышепредставленные фото выполните следующие действия:

— выберите последовательный порт (SerialPort)
— задайте камеру
— далее «File» — «Control Panel»
— запустите обнаружение лазера (detect laser), при этом не помещая еще ничего в принтер, и выберите «включить(enable)»
— нажмите «получить кадр (Fetch Frame)» и убедитесь, что синяя горизонтальная линия касается верха поворотного стола, а желтая горизонтальная линия касается низа поворотного стола. Желтая вертикальная линия должна проходить через центр круглого поворотного стола. Не выровненная камера будет давать искаженные сканы!

После настройки закрываем окно панели управления, помещаем в сканер объект и нажимаем кнопку «начать сканирование (start scan)».

Совет: Можно изменить файл конфигурации от команды-разработчика configuration.xml следуя представленным .

Сохранение полученного 3D-изображения:

Когда мозгосканирование завершено полученный 3D-образ можно сохранить в формате 3D pointcloud .pcd или.ply файлов. Можно сохранить и в формате 3D stl файла, но он работает не на всех платформах. Открыть файл с отсканированным объектом можно выбрав «File» — «OpenPointCloud».

— убедитесь, что файл со сканом имеет расширение.ply
— открываем файл в MeshLab и вычисляем нормали (Filters/Point Set/Compute normals for point sets)
— воссоздаем поверхности используя реконструкцию Пуассон (Filters/Point Set/Surface Reconstruction: Poisson).
На этом все! И всем мозгоудачи !

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

3D-сканеры можно разделить на два типа: Контактные и, соответственно, бесконтактные.

Контактные сканеры

К первому типу сканеров относятся CMM (coordinate measuring machine - координатно-измерительные машины).Эти устройства напоминают промышленные ЧПУ станки, на массивном основании, но вместо шпинделя крепится измерительная головка с рубиновым шариком на конце. Сканирование, или контроль геометрических размеров производится контактным способом. Щуп медленно подходит к измеряемому объекту, регистрируя малейшее касание.

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

Пример таких сканеров: Faro Arm Edge 9 - компактный и точный промышленный сканер идеально подходящий для контроля пресс форм, или штампов.И ROMER Absolute Arm SE 7 - 7-ми осевая измерительная рука, крайне удобная в работе, оборудованная магнитным основанием, которые позволяют надежно закрепить сканер на любой ровной металлической поверхности.Данные сканеры широко применяются на высокоточных производствах для контроля геометрических размеров выпускаемой продукции. Так же при помощи данных устройств можно произвести “полное” сканирование и получить облако точек.
Но данная технология не идеальна, и имеет ряд ограничений, таких как:

  • Низкая скорость сканирования
  • Невозможно (чаще всего) сканировать поднутрения и малые отверстия
  • Установки стационарны и массивны. Поэтому применение их в 3D съемке ландшафта и архитектурных объектов невозможно
Хотя и существуют портативные решения, такие как Creaform HandyProbe , который позволяет сканировать достаточно габаритные конструкции, но все же для съемки ландшафта они мало применимы. Зато идеально подходят для реверс-инженеринга и контроля качества.

Бесконтактные активные сканеры

Бесконтактные сканеры делятся на несколько типов по способу сканирования. Условно их можно разделить на лазерные и оптические.

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

  • BQ Ciclop - 23 890 руб., Точность: 0.5-5мм от размеров детали, Область сканирования: 205 мм. Имеется вращающаяся платформа.
  • David Laserscanner - 59 000 руб., Точность: 0.5% от размеров детали, Область сканирования: 10-600 мм.
  • Digitizer (MakerBot) - 93 100 руб., Точность: 2мм, Область сканирования: 205 мм. Имеется вращающаяся платформа.
По сравнению с промышленными сканерами, стоимость данных устройств более демократична, и доступна большому кругу энтузиастов. Не зря такие сканеры стали настолько популярны. Эти сканеры идеально подходят для сканирования не больших объектов, например художественных фигурок или детских игрушек, для последующей печати на 3D принтере или получения 3D модели для использования в анимации или компьютерных играх.

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

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

Так же стоит отметить точность и скорость сканирования. У сканера FARO Focus 3D , стоимостью 65 500 $, заявленная точность составляет +-2мм на расстоянии до 25 метров. Скорость сканирования - 976 000 точек/секСканеры Leica HDS8800 и Leica ScanStation P20 имеют точность от2 до 20мм на расстоянии 100 и 1000м. Скорость сканирования же составляет до 1 млн точек/сек.Эти сканирующие устройства идеально подходят для съемок местности и больших объектов и не предназначены для сканирования мелких деталей.

Области применения: Ландшафтный дизайн, Геодезические измерения, Построение карт местности, Сканирование памятников культуры.

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

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

Данный метод сканирования популярен, и дает прекрасные результат, поэтому на рынке представлено достаточно много таких сканеров, вот некоторые из них:

  • RangeVision Smart - 175 000 руб. Область сканирования от 150х112х112 мм, до 500х375х375 мм, Точность: 0,2 мм - 0,1 мм.
  • David SLS-3 - 299 000 руб. Область сканирования от 10 до 600 мм, Точность - 0.05%
  • Volume Technologies VT Mini - 340 000 руб. Область сканирования - от 50 до 500 мм, Точность - 0.1%
  • RangeVision Standard Plus - 585 000 руб. Область сканирования от 66*50*50 мм до 850*530*530 мм, Точность: 0,015 - 0,16 мм
  • RangeVision Advanced - 710 000 руб. Область сканирования 66*50*50 мм до 850*530*530 мм, Точность: 0,03 мм - 0,16 мм. Разрешение камер: 2Мп
  • RangeVision Premium - 1 220 000 руб. Область сканирования от 66*50*50 мм до 850*530*530 мм. Точность: 0,015 мм - 0,16 мм. Разрешение камер: 5мп
Так же стоит отметить возможность использования совместно со сканерами дополнительные аксессуары, например клеящиеся маркеры, специальные матирующие спреи а так же моторизированные поворотные столы . Все это упрощает сканирование.

Области применения:

Ручные сканеры

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

Области применения: Реверс-инжиниринг, Образование, Хобби, Компьютерные игры, Протезирование, Сканирование людей, Архитектура, Музейное дело

Контроль измерений

Одним из наиболее востребованных направлений применения 3D сканеров является контроли измерений. В этом направлении используются высокоточные сканеры, оборудованные очень точными камерами, проекторами и имеющими специализированное ПО для анализа отсканированных изделий и сравнения их с CAD моделями. Например:

  • AICON stereoSCAN 3D – Точность сканирования - 0,025 мм, область сканирования – 400х400 мм.
  • GOM ATOS Compact Scan 2M – Точность сканирования - 0,021 - 0,615 мм, область сканирования: 35 x 30 - 1000 x 750 мм².
  • Gom ATOS Core 200 – Точность сканирования - 0,03 мм, область сканирования: 200 x 150 мм.
Области применения: Высокоточный Реверс-инжиниринг, Контроль геометрии

Бесконтактные пассивные сканеры И последний метод сканирования, о котором мы расскажем - бесконтактные пассивные способы сканирования. Они существуют трех видов: Стереоскопический, Фотометрический и метод силуэта.

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

Области применения: Не детализированный реверс-инжиниринг

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

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

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

Если у вас появились дополнения или вопросы - мы с радостью их обсудим! Пишите в комментарии или на почту [email protected]

Хотите больше интересных новостей из мира 3D-технологий?

Внимание! Соблюдайте меры безопасности при работе с лазерным излучением. Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

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

Мы приобрели для эксперимента лазерный модуль с длиной волны 650 нм (красного цвета) мощностью 5 мВт. Более мощные лазеры стоят заметно дороже, и при этом они куда опаснее. Лучше, конечно, купить модуль с автономным питанием, так как он гораздо удобнее. В противном случае надо обязательно узнать параметры питания и озаботиться созданием небольшой «обвески» с батареями или аккумуляторами и выключателем. На всякий случай напомним, что красный провод — это +, а чёрный -. Соблюдайте полярность подключения и параметры питания, а иначе лазер может выйти из строя. Обязательно ознакомьтесь с нижеследующим предупреждением!

Внимание!!! Лазерное излучение очень опасно! Никогда не направляйте лазерный луч в глаза людям (в том числе себе) и животным — это может нанести непоправимый вред зрению (например, вызвать ожог сетчатки глаза)! Запрещается смотреть на лазерный луч через любые оптические приборы! Не направляйте лазерный луч на любые транспортные средства (в том числе самолёты)! Никогда не давайте лазер детям или неадекватным людям, а также позаботьтесь о том, чтобы они не смогли получить доступ к лазеру! Не используйте лазерные модули мощностью более 5 мВт, так как в этом случае опасность может представлять даже отражённый луч! В любом случае настоятельно рекомендуется приобрести для работы специальные защитные очки, рассчитанные на ту длину волны, которую излучает лазерный модуль! Не держите лазерный модуль на уровне головы! Всегда соблюдайте меры безопасности! Если вам непонятен смысл вышесказанного, не используйте лазер! Редакция 3DNews и автор не несут никакой ответственности за любые возможные последствия, в том числе за травмы, причиненные лазерным излучением!

Ещё раз прочитайте предыдущий абзац и запомните вышесказанное. Неплохо бы ознакомиться с популярным FAQ по лазерной безопасности. Кстати, отличной заменой модулю может стать лазерный уровень. Стоит он тоже в районе 1 000 рублей. При этом он заведомо менее опасен из-за небольшой мощности излучения, да и не придётся заморачиваться с организацией питания и выключателя: вставил батарейку — и работай.

Дальше по списку идёт веб-камера. Необходимо, чтобы она поддерживала WDM или DirectShow (кажется, все современные модели имеют подходящие драйверы) и выдавала хотя бы 30 FPS при разрешении 640x480. Можно взять камеру похуже, но и результат будет соответствующий. Чем выше поддерживаемое разрешение и частота кадров, тем лучше, но и нагрузка на ПК в этом случае будет заметнее. Разработчики используемого нами софта, к которому мы сейчас перейдём, рекомендуют отдать предпочтение Logitech Pro 9000. Мы же воспользовались веб-камерой Logitech HDPro Webcam 910. Идеальный вариант — использование хорошей чёрно-белой камеры с CCD-матрицей.

Наконец, о самом главном — о программе, которая будет заниматься переводом плоского изображения с веб-камеры в трёхмерную модель. Это давно известная утилита DAVID-Laserscanner , которая уже попадала в новостные заметки нашего ресурса. Совсем недавно вышел «мажорный», третий по счёту релиз. Для корректной работы на ПК должен быть установлен Microsoft .NET Framework версии 2.0 или старше. Сразу надо оговориться, что полноценная версия программы стоит 329 евро. Демоверсия практически полноценна, но не позволяет сохранять готовую 3D-модель. Кажется, нашим читателям не надо объяснять, где приобрести правильную версию. Если же вы кристально чисты душой и у вас есть свободные 400 евро, то купите готовый фирменный комплект из веб-камеры с подставкой, ПО, калибровочных панелей с креплениями и красным лазером с питанием. Если нет, то начать надо с изготовления калибровочного угла.

В принципе, процесс настройки и работы с утилитой хорошо расписан в wiki проекта. Так что мы лишь вкратце опишем основные этапы работы. Скачайте и установите DAVID-Laserscanner. В папке с программой в каталоге Printout вы найдёте файлы с шаблонами калибровочных поверхностей под форматы A3 и A4. Надо выбрать подходящий формат исходя из размеров сканируемого объекта. Примерно прикинуть можно, опираясь на то, что высота сканируемого объекта должна быть в 1,5-2 раза меньше высоты калибровочного угла. Распечатайте шаблоны, разрежьте или согните их по линиям сгиба и закрепите на двух плоских поверхностях — листах фанеры или картона, на стенах в углу комнаты, внутри коробки и так далее. В общем, включите фантазию.

Главное условие — угол между двумя плоскостями должен составлять 90 градусов и не меняться. Также надо следить за тем, чтобы распечатанные листы оставались гладкими и ровными, а на их поверхности не было ничего глянцевого. Разработчики, в частности, рекомендуют крепить распечатанные листы с помощью пластыря. Также важно не перепутать ориентацию листов. На распечатке надо измерить и запомнить длину (в мм) линии, подписанной Scale. В качестве примера мы будем сканировать небольшую фигурку совы. В этом случае подошёл шаблон формата А4, который был прикреплён к куску картонной папки с помощью степлера.

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

Как только камера и угол будут установлены, можно приступать к калибровке. Запустите DAVID-Laserscanner, выберите в качестве источника видеосигнала вашу веб-камеру, а также установите режим её работы (разрешение и частоту кадров). Теперь перейдите к разделу Camera Calibration. Введите заранее измеренную ширину Scale и нажмите Calibrate. Если программа сразу выдала, что калибровка прошла успешно, то это очень здорово. В противном случае придётся играться с настройками камеры. Отключите различные «улучшалки» изображения, уберите автоматическую подстройку яркости и контраста, а также следящий автофокус. Если есть ручная фокусировка, то сделайте изображение круглых меток более чётким. Также придётся подобрать расстояние от угла до объектива и наклон камеры. Процесс калибровки может надолго затянуться, но, как только он завершится, сразу же аккуратно закрепите камеру и калибровочный угол и больше не трогайте их.

Перед каждым новым сканированием процесс калибровки придётся повторять. Теперь можно поместить сканируемый объект в угол (можно на подставку) и перейти в раздел 3D Laser Scanning. Объект должен находиться в центре изображения с камеры, а слева и справа обязательно должны быть видны части калибровочного угла. Чтобы убедиться в этом, включите лазер и наведите его на образец — на изображении должна быть видна линия как слева и справа, так и на самом объекте. Обратите внимание, что просканировать полупрозрачный или прозрачный образец не получится — его надо покрыть чем-нибудь вроде талька или матовой краской. Вообще, матовые объекты гораздо лучше подходят для сканирования.

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

Переключите режим отображения на карту глубины (Camera Shows -> Depth Map). Аккуратно переместите лазерный луч в поле зрения веб-камеры. Луч должен быть по возможности горизонтальным, как можно более тонким, а сам модуль надо держать выше камеры. Поводите лучом вверх-вниз вдоль сканируемого объекта — и вы увидите, как программа с небольшой задержкой отрисовывает на экране его контуры в пространстве. Нельзя водить лучом слишком быстро, но и от слишком медленного перемещения толку не будет. Старайтесь «закрасить» образец как можно более плотной сеткой линий. Также надо добиться того, чтобы не было «грязи» — лишних линий вокруг объекта. Лучше всего держать лазерный модуль в руке и при этом двигать его только кистью. В конце надо будет аккуратно вывести линию луча за пределы калибровочного угла.

Скорее всего, вам удастся добиться чистого сканирования далеко не с первого раза. Поэкспериментируйте с настройками камеры и самого сканирования, положением камеры и лазера, освещением, фильтрацией (Result filtering, но эти значения лучше не менять) и так далее. В общем, надо как следует набить руку. Зато потом всё будет гораздо проще. Как только вы освоитесь и подберёте оптимальные значения для всех параметров, приступайте к финальному сканированию. Нажмите Stop и Erase, а затем снова Start и сделайте первый скан объекта. Как только он покажется вам достаточно качественным, нажимайте Stop, а затем Add to list. На всякий случай сохраните отдельно копию скана, нажав Save As.

Снова нажмите Stop и Erase. Поверните объект вокруг вертикальной оси так, чтобы он хоть немного пересекался с предыдущим положением. Повторяйте таким образом процедуру сканирования до тех пор, пока объект не повернётся на 360 градусов. Не забывайте сохранять копии сканов и добавлять их в список. В принципе, совсем не обязательно поворачивать образец вокруг одной из осей (иногда это просто невозможно), просто так будет удобнее. Ваша задача — получить трёхмерные сканы объекта со всех сторон, чтобы слить их воедино и экспортировать.

Процесс текстурирования оставим для самостоятельного изучения и перейдём к сшиванию, за которое отвечает модуль Shape Fusion. Можно сделать это и вручную почти в любом трёхмерном редакторе. DAVID-Laserscanner сохраняет сканы в открытом формате Alias Wavefront (*.obj), но в демоверсии специально занижает качество. У вас уже должен быть готовый список с отсканированными элементами. Нам надо выровнять их между собой. Выбираем тип выравнивания в списке. Если вы «крутили» объект вокруг одной оси, то выберите её. Ну а если ещё и поворачивали на строго определённый угол, укажите и его. Затем нажмите Align Scans и выберите в списке два соседних скана. Программа ненадолго «задумается» и постарается выровнять их между собой в паре-тройке вариантов. Выберите наиболее точный кнопками с закруглёнными стрелочками в верхней части окна.

Повторяйте процедуру выравнивания попарно между элементами списка — 1-2, 2-3, 3-4 и так далее. В результате вы получите грубую трёхмерную модель. Не исключено, что некоторые сканы никак не будут выравниваться — их можно выкинуть или начать совмещение с конца списка, постепенно подбираясь к проблемному месту. Можно попробовать выбрать для них другой тип выравнивания. Не обращайте внимания на «грязь» вокруг объекта и недостатки на его поверхности — программа их в итоге сгладит. В общем-то, чем больше сканов, тем качественнее может получиться модель. Но тогда возрастает и вероятность случайной ошибки. Здесь, как и c самим сканированием, приходится идти трудным путём проб и ошибок.

Как только вы посчитаете, что добились нужной степени совмещения сканов, нажимайте кнопку Fuse и ждите, пока программа подготовит трёхмерную модель. Как и выравнивание, этот процесс довольно ресурсоёмкий. Очень скоро вы сможете насладиться (или, наоборот, разочароваться) результатом своих действий. Кстати говоря, у DAVID-Laserscanner есть альтернативный режим работы, где используется проектор . Если он у вас есть, то можете поэкспериментировать именно с ним, а не с лазером.

Готовую модель можно экспортировать в тот же obj-формат и открыть в 3D-редакторе для окончательной доводки до ума и подготовки к печати. Естественно, точную копию сканируемого объекта получить не удастся. Во-первых, DAVID-Laserscanner особенно трудно даются различные хитрые выемки или полости. Во-вторых, для воспроизведения очень мелких узоров на поверхности (например, частой насечки) требуется высокое разрешение камеры и как можно более тонкая линия лазера. В-третьих, при сканировании в любом случае получаются пропуски, которые программа пытается заполнить, основываясь на положении близлежащих точек. В общем, идеал, как всегда, недостижим.

Готовая, максимально сглаженная модель

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