149,84
Рейтинг
24 сентября 2015

Как мы разрабатывали систему 3D сканирования людей с использованием 3D камер Intel RealSense и технологии Intel Edison

Блог компании Intel
Cappasity уже два года занимается разработкой технологий по 3D сканированию. В этом году мы выпускаем программный продукт по сканированию для ультрабуков и планшетов с камерой Intel RealSense – Cappasity Easy 3D Scan, а в следующем году- аппаратно-программные решения для сканирования людей и объектов.

Благодаря тому, что я являюсь Intel Software Innovator и благодаря команде Intel, которая ведет данную программу, мы получили приглашение показать наш прототип по сканированию людей значительно раньше запланированного срока. Несмотря на то, что времени на подготовку было крайне мало, мы все же решили рискнуть. И в этом материале я расскажу, как создавалась наша демонстрация для Intel Developer Forum 2015, который прошел в Сан-Франциско в 18-20 августа.



В основе нашей демонстрации лежит разработанная ранее технология объединения камер глубины и RGB камер в единый сканирующий комплекс (U.S. Patent Pending). Общий принцип работы следующий: мы калибруем позиции, наклоны и оптические параметры камер и благодаря этому можем объединять данные для последующей реконструкции 3D модели. Чтобы производить 3D съемку объекта, мы можем располагать камеры вокруг объекта съемок, вращать систему камер вокруг объекта или же вращать объект перед системой камер.

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

Мы показали оба прототипа на IDF 2015, и прототип по сканированию человека успешно справился с задачей сканирования достаточно большого потока посетителей стенда в течение трех дней конференции.



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



Каждая камера была подключена к отдельному компьютеру Intel NUC, а все компьютеры объединены в локальную сеть.

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




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

image

Наше программное обеспечение имеет клиент-серверную архитектуру, но сервер может быть запущен практически на любом современном компьютере. То есть, мы условно называем компьютер, на котором происходят вычисления, сервером и зачастую в качестве сервера используем обычный ультрабук с графической системой Intel HD Graphics. Сервер отправляет компьютерам NUC команду на запись, загружает с них данные, анализирует и реконструирует 3D модель.

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

Итак, первым этапом является калибровка. Программное обеспечение Cappasity позволяет калибровать устройства попарно. В свое время у нас ушел год на R&D, и перед IDF 2015 нам очень пригодились старые наработки. За пару недель мы переработали калибровку и поддержали воксельные объемы, получаемые после Fusion. До этого калибровка работала в большей степени с облаками точек. Калибровку нужно выполнять всего один раз после установки камер, и она занимает не более 5 минут.

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

Камеры Intel RealSense long-range R200 лучше работают с черным цветом и сложными материалами, чем камеры Intel RealSense F200. Количество сбоев в трекинге было минимальным, что нас, разумеется, обрадовало. И главное, что камеры позволяют снимать на нужных нам дистанциях. Чтобы все реконструировалось быстро даже на HD Graphics 5500+, мы оптимизировали наш алгоритм Fusion для OpenCL. Шумы убирались посредством Fusion и дополнительной сегментацией данных после построения единого меша.

imageimage

Кроме того, мы доработали до IDF алгоритм текстурирования в высоком разрешении. Здесь у нас подход следующий: мы делаем снимки в полном разрешении цветной камеры и далее проецируем их на меш. Мы не используем воксельные цвета, так как это размывает качество текстуры. Метод проецирования крайне сложен в реализации, но это дает нам возможность в качестве источника цвета использовать не только встроенные камеры, но и внешние. Например, разрабатываемый нами сканирующий бокс использует DSRL камеры для получения текстур высокого разрешения, и это крайне важно для наших e-commerce клиентов.

Но и встроенные в RealSense RGB камеры дали отличные цвета. Вот пример модели после наложения текстур:

image

Cейчас мы работаем над новым алгоритмом, который позволил бы нам устранить сдвиги текстур и планируем закончить его до выхода нашего продукта Easy 3D Scan.

Как вы видите, за на первый взгляд несложной демонстрацией стоит множество сложного кода, благодаря которому мы можем конкурировать с системами сканирования, которые стоят порядка $100K+. Камеры Intel RealSense доступны по цене и способны изменить рынок B2B решений.

В чем преимущество разрабатываемой нами системы сканирования человека:
  • Доступное по цене решение и легкость настройки и использования – все работает по нажатию одной кнопки;
  • Компактность – сканирующий комплекс можно располагать в любых торговых залах, развлекательных центрах, медицинских центрах, казино и тп.;
  • Качество моделей подходит для 3D-печати, разработки контента для AR/VR приложений;
  • Точность получаемого меша позволяет снимать размер со сканируемого объекта.

Мы понимаем, что еще не открыли весь потенциал камер Intel RealSense, но уверены, что уже на CES 2016 мы сможем показать значительно усовершенствованные продукты все в наших руках!
Теги:IDF 2015RealSense3d сканирование3d печатьcappasityeasy 3d scan
Хабы: Блог компании Intel
+16
15,4k 45
Комментарии 25
Похожие публикации
Лучшие публикации за сутки
Информация
Дата основания

18 августа 1968

Местоположение

США

Численность

5 001–10 000 человек

Дата регистрации

9 августа 2008

Блог на Хабре