Как собрать систему для сканирования 3d.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Делаем 3D сканер с помощью веб-камеры

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

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

Учтите, что без соответствующего ПО вам не удастся создать цифровую модель объектов и предметов. Поэтому изначально позаботьтесь о наличии специальных программ. К примеру, базовыми считаются DАVID-lаserscаnner и TriAngles, но они нуждаются в применении вращающейся поверхности.

Начните с калибровочного угла. Для его создания напечатайте шаблон (он входит в комплект программы). Разместите его таким образом, чтобы он создал угол в 90 градусов. Важно, чтобы во время печати соблюдался правильный масштаб. Для этого воспользуйтесь калибровочной шкалой. Калибровку камеры делают в автоматическом или ручном режиме, это также предусматривается ПО.

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

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

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

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

Делаем 3d сканер из проектора и веб-камеры

Для этого понадобится:

  • проектор;
  • вебка;
  • программа DАVID-lаserscаnner;
  • штативы для вебки и проектора;
  • калибровочная панель (скрепите два небольших листа ДСП под углом 90 градусов и наклейте при помощи сухого клея бумажные листы с заранее распечатанными шаблонами);
  • поворотный столик (можно соорудить из старой тренажерной установки «грация» и нескольких штырей).

Чтобы отсканировать объект, располагаем его вертикально и делаем 7-8 сканов, вращая его по кругу. Объединяем полученные сканы. После этого меняем положение объекта и проделываем ту же процедуру. Объединяем сканы двух половинок предмета. Нажимая на кнопку «фузиционировать», получаем трехмерную модель объекта. Ее можно сохранить в любом выбранном формате, после чего обработать данные с помощью:

  • Dеlсаm LаstMaker;
  • Еasylast;
  • Lаst Dеsign & Еngineering;
  • Forma 2000;
  • Shoemaster QS.

Делаем трехмерный сканер из игровой приставки

Xbox One – это приставка, которая уже укомплектована Кинект второго поколения и может применяться как трехмерный сканер. Если у вас обычный игровой контролер, то можно сделать 3d сканер из kinect с помощью следующих программ:

  1. Kinеct Fusiоn. Создает сверхдетализированные модели, считывая данные с датчиков Kinect.
  2. Skanect. С ее помощью создаются 3D-изображения помещений со всеми предметами, которые в них находятся. Чтобы создать трехмерную модель окружающего пространства, необходимо просто вращать вокруг себя устройство. С целью детализации отдельных объектов необходимо повторно навести камеру на них.


Делаем 3d сканер из смартфона

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

  1. МоbileFusion. Он отслеживает положение предмета при помощи штатной камеры, после чего выполняет фотосъемку. Из череды снимков получается трехмерная модель. Работает на разных платформах и ОС.
  2. Помогает в создании трехмерных фотографий любых объектов, после чего отправляет их на 3D-принтер.
  3. Аutodesk 123D Саtch. С помощью данной программы создают и печатают на аддитивных устройствах трехмерные модели зданий, людей и других предметов, которые можно сфотографировать со всех углов и сторон.

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

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

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

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

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

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

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

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

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

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

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

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

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

Варианты программных решений

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

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

Цена: Бесплатно (или $9,99 в месяц за 123D Premium)
Технология: 3D-фотограмметрия

Поскольку 123D Catch — это часть облачной экосистемы Autodesk 123D , Catch замечательно подходит для работы на смартфоне или планшете. Это делает ее идеальным вариантом для цифрового захвата объектов в общественных местах, которые невозможно отсканировать в студии — музейные экспонаты, большие структуры и природные образования.

Разрешение: N/A
Плюсы: Не нужен 3D-сканер, можно захватывать объекты любых размеров, большинство опций программы бесплатны, простота в использовании
Минусы: Ограниченный функционал, качество зависит от освещения и количества исходных изображений; чтобы осуществить цифровой захват объекта, может понадобиться несколько минут, не очень хорошо работает на людях и животных

Технология: 3D-фотограмметрия

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

Разрешение: N/A
Плюсы: Может создавать 3D-модели высокого разрешения, разовая лицензия бесплатна, программа проста в обращении, имеет много настроек
Минусы: Программу требуется устанавливать на компьютер, нужна камера высокого разрешения

Варианты «Сделай Сам»

Если потратить на 3D-сканер несколько сотен долларов вам просто не по карману, есть и менее затратные варианты по принципу «сделай сам».

Xbox Kinect с ReconstructMe

Цена: Kinect (по-разному), ReconstructME (бесплатно)
Технология: RGB-камера, сенсор глубины (удаленности)

Это практически «сделай сам», поскольку в итоге речь идет о сборке недорогого 3D-сканера. Слава Microsoft, что она выпустила периферию с реально мощным сенсором глубины и RGB-камерой и оставила это дело вполне открытым для использования в сторонних приложениях! В данном случае комбинация Xbox Kinect и бесплатной программы вроде ReconstructMe — это все, что вам требуется для 3D-сканирования людей и предметов.

Разрешение: Когда как
Плюсы: Дешево, гибко, программа бесплатна
Минусы: Только для Windows, ограниченное разрешение, нестабильное качество

BQ Ciclop

Технология: Лазерная триангуляция

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

Разрешение: 0,5 мм
Плюсы: Открытый код, можно приобрести набор для сборки, легко модифицировать и улучшать
Минусы: Качество зависит от пользователя, нет службы по работе с клиентами и техподдержки, напечатанные 3D-детали могут оказаться не такими прочными, как изготовленные традиционным способом

Недорогие ручные 3D-сканеры

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

XYZprinting 3D Scanner

Технология: Структурированное освещение

3D-сканер от XYZprinting — одно из первых появившихся в продаже устройств, в котором работает новый алгоритм по захвату изображений Intel RealSense. Это также самый дешевый ручной пространственный сканер на рынке, который подходит для широкого круга задач.

Разрешение: 1,5 мм
Плюсы: Небольшая цена, технология Intel RealSense, малые размеры, портативность
Минусы: Совместим только с Windows, низкое разрешение

Cubify Sense

Технология: Структурированное освещение

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

Разрешение: 0,9 мм
Плюсы: Небольшая цена, техподдержка, проверенная технология
Минусы: Часть неработающей экосистемы Cubify, среднее качество сканирования, только под Windows

iSense 3D Scanner

Технология: Структурированное освещение

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

Разрешение: 0,9 мм
Плюсы:
Минусы: Часть неработающей экосистемы Cubify, среднее качество сканирования, требуется iPad

Structure Sensor

Технология: Структурированное освещение

Structure Sensor был одним из первых недорогих 3D-сканеров на рынке, это удачно стартовавший с Kickstarter проект. Такая же технология применена в 3D-сканере iSense компании 3D Systems, так что эти два устройства почти аналогичны. Structure Sensor полностью портативен и требуется ему только iPad.

Разрешение: 0,9 мм
Плюсы: Небольшая цена, портативность, питание от аккумулятора, работа с iPad
Минусы: Среднее качество сканирования, требуется iPad

Настольные 3D-сканеры

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

Zmorph 2.0

Технология: Лазерная триангуляция

3D-сканер Zmorph 2.0 — один из наиболее популярных на рынке настольных 3D-сканеров, для него также есть отличное программное обеспечение. Аппарат умеет не только захватывать тонкие детали и текстуру, он считывает также и цвета. Чтобы полностью сосканировать объект, требуется около пяти минут.

Разрешение: 0,43 мм
Плюсы: Хорошее качество за такую цену, захват цвета, портативность, экспорт в разные форматы
Минусы: Среднее качество сканирования, ограниченный размер сканирования, цвета могут быть изменены или переданы неточно

MakerBot Digitizer

Технология: Лазерная триангуляция

MakerBot Digitizer — это настольный 3D-сканер начального уровня, который умеет захватывать тонкие детали и текстуры, но не различает цветов. Сканер легко встраивается в экосистему MakerBot, и пользователи получают доступ к технической поддержке и сервисному плану MakerCare.

Разрешение: 0,5 мм
Плюсы: Часть экосистемы MakerBot, легкий
Минусы: Не понимает цветов, не захватывает отражающие или прозрачные объекты, дорог для такого качества сканирования, экспортирует только в STL

EinScan-S

Технология: Структурированное освещение

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

Разрешение: 0,17 мм
Плюсы: Высокое качество сканов, захват цвета, экспорт в разные форматы
Минусы: Работает только с очень маленькими объектами, не совместим с Apple OS

Топовые варианты

Это лучшие из существующих вариантов 3D-сканеров любых категорий, если речь не идет о промышленных устройствах за $10 000 — $30 000. Данные модели идеально подходят для широкого круга задач, включая сканирование людей, крупных и очень детализированных объектов. Тут работают лучшие из имеющихся технологий, эти сканеры демонстрируют самую высокую производительность. Впрочем, это устройства в первую очередь для коммерческого использования, они слишком мощные для домашних задач.

Fuel3D SCANIFY

Технология: Фотограмметрия

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

Разрешение: 0,35 мм
Плюсы:. Высокое качество сканирования, простота в использовании, реалистичная цветопередача, запуск по одному нажатию, высокая скорость работы, экспорт в разные форматы
Минусы: Проблемы при работе с темными, отражающими, прозрачными и монохромными объектами

NextEngine Ultra HD

Технология: Лазерная триангуляция

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

Разрешение: 0,1 мм
Плюсы: Лучший в своем классе, высокое качество сканов, захват цвета, экспорт в множество форматов, может быть установлен на штатив
Минусы: Дорогой, генерирует файлы больших размеров

RangeVision Smart

Технология: Структурированное освещение

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

Разрешение: 0,12 мм
Плюсы: Работает на аккумуляторе, высокое качество сканов, захват цвета, экспорт в разные форматы
Минусы: Генерирует файлы больших размеров, дорогие дополнительные устройства и аксессуары

DAVID SLS-3

Технология: Структурированное освещение

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

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

В прошлом году мы с другом были на летней школе. На ней необходимо было сделать проект. Прочитав две статьи про создание 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:

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

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