Трехмерное сканирование развивается очень быстро, но пока на рынке нет достаточного количества простых в использовании, дешевых и адекватных все более сложным потребностям решений. Одно из таких решений предложено российской компанией Cappasity — ее сканирующий комплекс позволяет создать качественный трехмерный контент всего за пять-десять секунд.
А начиналось все с компьютерных игр — создатели Cappasity с 2005 года занимались их разработкой. На игровом рынке конкуренция куда выше, чем на рынке объемного сканирования, и в какой-то момент разработчики решили — для повышения привлекательности своего продукта — сделать персонажей максимально похожими на реальных людей. Казалось бы, чего проще: получить объемное изображение нескольких человек и превратить их в персонажей. Но выяснилось, что есть сложности. Технологию фотограмметрии, которая при помощи специальной компьютерной программы позволяет воссоздать трехмерное изображение по серии высококачественных фотографий с разных ракурсов, разработчики отвергли — дорого для небольшой компании. А ручные сканеры не давали настоящей текстуры для будущего человекообразного персонажа.
Тогда и было принято решение создать собственную технологию: использовались обычные трехмерные камеры, а вся новизна состояла в обработке изображений не слишком высокого качества, или, говоря профессиональным языком, в текстурировании низкополигонных моделей.
Новое дело оказалось интересным и перспективным, поэтому в скором времени, а именно в декабре 2013 года, появилась отдельная компания под названием Cappasity, которая сфокусировалась на решениях для объемного сканирования.
Преступное сканирование
Обычно для создания трехмерной модели используют либо упоминавшуюся выше технологию фотограмметрии, либо — съемку трехмерными камерами; в последнем случае помимо света камеры пользуются еще и инфракрасным датчиком, что позволяет точно определить рельеф сканируемого объекта. В Cappasity решили, что для повышения качества модели нужно объединить оба метода, то есть вести съемку и обычными камерами со всех сторон, и трехмерными. Отдельно разработчики ставили себе задачу сделать систему максимально гибкой, чтобы она не зависела от типа фотографического оборудования: на рынке то и дело появляются новинки со все большими возможностями, незачем гнаться за прогрессом, нужно принципиальное технологическое решение.
Другая важная задача состояла в том, что Cappasity должна была обеспечить трехмерную съемку модели в произвольном размере пространства; поэтому разработчикам не подходили решения, связанные с движением трехмерных камер. Вместо этого Cappasity должна была обеспечить подключение к системе неограниченного (это некоторое преувеличение) числа трехмерных и обычных камер, что и было сделано.
Продуктов получилось два: один называется Human 3D Scan — это стационарная система, она используется для моментальной съемки людей (задача, с которой, собственно, и начали разработчики), другой — Easy 3D Scan — позволяет снимать любые объекты, в том числе и людей, в ручном или даже полевом режиме, потому что для работы используются фотокамеры и трехмерные камеры, установленные на мобильные телефоны, и ноутбуки с программным обеспечением.
Перед тем как начать работу, любую систему Cappasity нужно калибровать. Это отнимает 30-40 минут, для калибровки используется обычная шахматная доска, трехмерные камеры калибруются попарно, чтобы их области "зрения" пересекались. А фотокамеры калибруются в привязке к трехмерным.
После калибровки система Cappasity уже знает позиции всех устройств, участвующих в съемке, и данные сводятся в единое изображение автоматически. Дальше можно снимать сколько угодно новых моделей, если расположение устройств не будет меняться.
Еще важный момент: Cappasity автоматически распознает фон и затем исключает его из модели. Для этого еще до появления модели система делает снимок сканируемого пространства и потом сравнивает его со снимком уже с участием модели.
Программное обеспечение Cappasity не накладывает ограничений на число работающих клиентов — например, чтобы сделать ростовую трехмерную модель человека, требуется 5-7 трехмерных камер, а для съемки только головы или предмета можно обойтись и тремя. Без фотокамер в принципе можно обойтись, но если нужна четкая детализация объекта, если на выходе необходима хорошая текстура, тогда фотокамеры — обязательный элемент системы.
Итак, трехмерные камеры (и фотокамеры, при необходимости) располагаются вокруг объекта. Каждая 3D-камера подключена к отдельному компьютеру, все они объединены в локальную сеть; фотокамеры могут подключаться к любому из компьютеров. Данные, которые они поставляют программе, — это облака точек, построенные на основе карт глубины, и карты цвета. Скорость захвата необходимых для построения модели данных Cappasity — 5-10 секунд, в зависимости от типа и числа камер в системе. Затем программное обеспечение проводит 3D-реконструкцию и проецирование текстуры.
Первым этапом является объединение отдельных облаков точек от разных камер в единое облако. Потом делают высокополигональную модель, а на нее проецируются снятые с внешних или внутренних камер цветные изображения, затем готовится текстура.
О деталях работы алгоритмов проецирования в Cappasity не говорят, но, по сути, система позволяет всем 3D-камерам снимать объект одинаково и извлекать из общего набора данных необходимое для автоматического построения модели. Чтобы защитить алгоритмы калибровки, реконструкции, построения полигональной сетки из точек и ее проецирования на поверхность с последующим блендингом и корректировкой освещения, создатели Cappasity уже подали заявку на американский патент.
На построение модели требуется 1-2 минуты.
Сейчас основатели Cappasity сконцентрированы на упомянутом выше продукте Cappasity Easy 3D Scan, который станет первым решением для развивающегося рынка ультрабуков с 3D-камерами компании Intel под названием RealSense. Основное преимущество — этот продукт может использовать уже вышедшие на американский рынок ультрабуки с 3D-камерами от Asus, Dell, HP, Lenovo.
Основные клиенты компании, считают в Cappasity, — интернет-магазины, которые с помощью этой технологии смогут предложить покупателям детальные изображения товаров. А еще — компании, которые занимаются 3D-печатью, производством контента (в том числе, разумеется, разработчики компьютерных игр), а также заказчики с индивидуальными запросами — вроде изготовителей протезов. Программное обеспечение Cappasity обещает раздавать бесплатно обычным пользователям и продавать по 50 долларов в месяц коммерческим подписчикам.
Компания имеет в виду наладить и выпуск сканирующих кабинок для торговых центров и зон развлечений — с произвольной сферой применения полученного контента.