Компрессия 3D-данных, полученных в результате 3D-сканирования

Ориентировочное сравнение объемов битового представления различных 3D-объектов. Общая схема алгоритма компрессии. Схема программной реализации алгоритма компрессии 3D-данных. Заполняющая пространство кривая для трехмерного случая с размерностью 8×8&#

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык русский
Дата добавления 07.12.2018
Размер файла 629,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Компрессия 3D-данных, полученных в результате 3D-сканирования

А.Ю. Аксенов, А.А. Зайцева

Санкт-Петербургский институт информатики и автоматизации РАН

тел. (812) 323-51-39, e-mail: cher@iias.spb.su

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

С появлением устройств, способных создавать цифровые копии реальных объектов (камер на основе ПЗС- и КМОП-матриц, цифровых томографов, 2D и 3D-сканеров) основным способом представления являлась запись свойств отдельных точек объекта, находящихся в узлах регулярной сетки (пикселов в случае 2D и вокселов для 3D).

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

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

В зависимости от способа получения 3D-данных, занимаемый ими объем битового представления будет различным (таблица 1).

Таблица 1

Ориентировочное сравнение объемов битового представления различных 3D-объектов

Вид объекта

Способ получения

Размер, байт

Барельеф

3D-сканирование

16 757 334

Подшипник

3D-сканирование

362 982 784

Анатомическая модель «мозг»

3D-сканирование

4 567 684

Декоративная фигурка

3D-сканирование

5 950 884

Барельеф2

3D-сканирование

10 866 084

Вертолет (модель)

синтезирован в 3D Studio Max

5 505 893

Стереопара в HD-качестве (фильм)

12 441 600

В таблице 1 представлены сравнительные объемы исходного (несжатого) битового представления различных 3D-объектов.

Для эффективного хранения 3D-объектов необходимы форматы представления этих объектов в сжатом виде, ориентированные на конкретный класс представления.

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

Исходные данные для экспериментов

Для проведения экспериментов использовалось полученное с помощью 3D-сканера Artec Spider облако точек (рисунок 1). Под облаком точек будем понимать набор вершин в трёхмерной системе координат, которые предназначены для представления внешней поверхности объекта.

Параметры сканирования: процесс сканирования производился в «реальном времени» с использованием программного обеспечения Artec Studio версии 9.2.3.15. Облако точек получено за один проход сканирования.

Рисунок 1. Исходное облако точек различных 3D-объектов

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

Традиционным представлением сканированных данных являются форматы: ply, STL, obj, xyz, WRML, трехмерное облако точек (asc) и другие. В них в текстовой или бинарной форме содержится матрица координат ненулевых точек .

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

Рисунок 2. Общая схема алгоритма компрессии

Основным этапом сжатия является преобразование трехмерной матрицы в линейную бинарную последовательность (в терминологии работы [1] этот этап является нормализацией, ориентированной на семантику данных). Особенностями матрицы являются компактные области точек пространства, соответствующие поверхностям сканируемого объекта, соответственно для этапа нормализации (преобразования ) (рисунок 2) целесообразно использовать алгоритм обхода точек, сохраняющий локальные особенности, например, алгоритм заполняющей пространство кривой (ЗПК). Способ построения ЗПК для применения в процедуре кодирования описан в [2].

Визуализация ЗПК для этого случая представлена на рисунке 3.

Рисунок 3. Заполняющая пространство кривая для трехмерного случая с размерностью 8Ч8Ч8

компрессия сканирование бит алгоритм

Групповое кодирование. После преобразования матрицы из 3D в 1D в сформированной битовой последовательности присутствуют длинные последовательности нулей, которые при использовании группового кодирования типа RLE позволяет достичь уменьшения битового объема.

Алгоритм RLE (Run-Length Encoding) осуществляет групповое кодирование длинных последовательностей нулей. При этом формируются пары вида <пропустить, число>, где «пропустить» является счетчиком пропускаемых нулей, а «число» -- значение, которое необходимо поставить в следующую ячейку. Так, вектор 42 3 0 0 0 -2 0 0 0 0 1 ... будет свернут в пары (0,42) (0,3) (3,-2) (4,1) ... .

Вторичное сжатие. В качестве заключительного этапа вторичного сжатия может быть использован один из методов энтропийного сжатия, например, арифметическое сжатие [3] или сжатие Хаффмана [4]. Эти алгоритмы компрессии позволяют уменьшать среднюю длину кодового слова для символов алфавита.

Результаты. В таблице 2 приведены результаты применения предлагаемого метода для различных сложных пространственных форм, полученных в результате сканирования. При компрессии все пространство разбивалось на трехмерные ячейки размером 256Ч256Ч256, каждая из которых сжималась независимо от других, а результаты сжатия объединялись в единый выходной поток. В таблице приводятся результаты компрессии ячейки 256Ч256Ч256 для разных объектов. Приводится сравнение некомпрессированного битового объема облака точек, заданного в виде координат (RAW-файл), объема RAW-файла, сжатого алгоритмом Deflate, а также результаты применения предложенного алгоритма компрессии с использованием обхода пространства по ЗПК и стандартного построчного преобразования .

Таблица 2

Результаты применения метода

Объект

Коли-чество точек в облаке

Размер элемента 3D-куба

Размер файла с облаком до сжатия, байт

Размер после сжатия методом Deflate, байт

Размер после сжатия предло-женным методом, байт

Horse (барельеф)

21312

256

127872

44152

10891

Подшипник

11198

256

67188

21991

5519

Анатомическая модель «мозг»

2500

256

15048

5325

3495

Декоративная фигурка

2073

256

12438

4308

3164

Барельеф

10062

256

60372

20014

5732

Для экспериментальной проверки предлагаемый метод реализован программно в виде кроссплатформенного приложения на языке Java, представляющего собой кодер/декодер компрессированного потока 3D-данных (рисунок 4). В режиме кодера исходный формат представления (облако точек или набор полигонов) при помощи конвертера преобразуется во внутреннее представление матрицы в виде массива координат точек. Отдельный программный формирователь ЗПК задает порядок обхода матрицы для последующего группового кодирования и вторичного сжатия. При необходимости выходной поток может быть сохранен в одном из стандартных контейнеров (XML, RIFF и т.д.) или стать основой сетевого протокола. Впоследствии кодер/декодер может быть выполнен в виде модуля (plugin) для программных продуктов, работающих с данными в 3D-формате для непосредственной работы с этим форматом. Декодер работает в противоположном направлении и использует тот же программный формирователь ЗПК.

Рисунок 4. Схема программной реализации алгоритма компрессии 3D-данных

Заключение

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

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

Литература

1. Кулешов С.В. Критерий оценки энергетической эффективности компрессии видеопотока. // Информационно-измерительные и управляющие системы. №11, т.8, 2010. С. 16-18

2. Александров В.В., Поляков А.О., Лачинов В.М. Рекурсивная алгоритмизация кривой, заполняющей многомерный интервал // Техническая кибернетика. № 1. 1978.

3. Huffman, D.A. A method for the construction of minimum redundancy codes. // In Proceedings IRE, vol. 40, 1962, pp. 1098-1101.

4. Witten I., Neal R.M., Cleary G. Arithmetic coding for data compression // Comm. ACM. - 1987, V.30 - No 6. pp. 520-540

Размещено на Allbest.ru

...

Подобные документы

  • Вейвлетная компрессия в современных алгоритмах компрессии изображений. Алгоритм фрактального сжатия изображения. Применение алгоритма SPIHT для оптимальной прогрессирующей передачи изображений и их сжатия. Основные черты алгоритма и структура его данных.

    реферат [78,4 K], добавлен 28.03.2011

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

    курсовая работа [363,3 K], добавлен 10.05.2015

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

    контрольная работа [275,4 K], добавлен 08.01.2014

  • Функциональная спецификация и структурная схема электронных автомобильных часов-термометра-вольтметра. Разработка алгоритма работы и принципиальной электрической схемы. Получение прошивки программы для памяти микроконтроллера в результате ассеблирования.

    курсовая работа [2,0 M], добавлен 26.12.2009

  • Структурная схема системы передачи данных. Принципиальная схема кодера и декодера Хэмминга 7,4 и Манчестер-2, осциллограммы работы данных устройств. Преобразование последовательного кода в параллельный. Функциональная схема системы передачи данных.

    курсовая работа [710,0 K], добавлен 19.03.2012

  • Реализация КИХ и БИХ фильтра на процессоре TMS320C50. Блок-схема алгоритма программы, командные файлы компоновки и программного имитатора. Расчет максимально возможной частоты дискретизации. Расчет и результаты фильтра с помощью пакета Filter Design.

    курсовая работа [1,3 M], добавлен 26.05.2014

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

    презентация [876,4 K], добавлен 16.03.2014

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

    курсовая работа [1,2 M], добавлен 14.07.2012

  • Семейство однокристальных микроконтроллеров HCS12. Внутренняя или неявная адресация INH. Команды загрузки и пересылки данных, битовых операций, вызова подпрограмм и перехода в режимы пониженного энергопотребления. Основная блок-схема алгоритма, листинг.

    курсовая работа [453,4 K], добавлен 04.06.2014

  • Модель частичного описания дискретного канала, модель Пуртова Л.П. Структурная схема системы с РОСнп и блокировкой и структурная схема алгоритма работы системы. Построение схемы кодера для выбранного образующего полинома и пояснение его работы.

    курсовая работа [1,5 M], добавлен 19.10.2010

  • Электрическая принципиальная схема устройства автоматической тренировки аккумулятора. Выбор элементной базы. Разработка схемы электрической принципиальной. Размещение компонентов на печатной плате. Разработка алгоритма программы микроконтроллера.

    дипломная работа [670,2 K], добавлен 20.10.2013

  • Общие и тактико-технические требования к конструкции бортовой аппаратуры. Блок ввода данных для энергонезависимого хранения и выдачи в бортовую ЭВМ данных полетного задания, а также приема данных регистрации. Структурная схема и разработка конструкции.

    дипломная работа [207,2 K], добавлен 16.04.2012

  • Структурная схема цифрового фильтра. Расчет устойчивости, построение графиков. Виды свертки дискретных сигналов. Определение выходного сигнала в частотной области с помощью алгоритма "бабочка". Схема шумовой модели фильтра, мощность собственных шумов.

    курсовая работа [641,3 K], добавлен 15.10.2013

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

    дипломная работа [3,2 M], добавлен 29.11.2015

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

    курсовая работа [789,4 K], добавлен 25.11.2010

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

    курсовая работа [3,6 M], добавлен 23.05.2012

  • Описание Автоматического Определителя Номера (АОНа). Характеристики микроконтроллера Z86E0812PSC, ЖК индикатора PANAPHONE. Ассемблирование и разработка алгоритма работы устройства. Управление АОН и описание функциональных узлов МПС, принципиальная схема.

    курсовая работа [913,0 K], добавлен 26.12.2009

  • Сущность и значение радиосвязи, ее применение. Проблемы организaции трaнкинговых систем. Конвенционaльные рaдиосистемы: непaрaметрическое кодирование речи. Специфика общего алгоритма скремблирования. Пример простых алгоритмов скремблирования данных.

    курсовая работа [509,5 K], добавлен 25.06.2011

  • Изобретение и развитие микропроцессоров. Микроконтроллеры различных типов. Принципиальная схема микропроцессорной системы. Выбор датчиков Расчет основных элементов МПС. Составление алгоритма работы схемы, программы для нее. Сборка МПС в программе Proteus.

    курсовая работа [387,3 K], добавлен 25.04.2016

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

    дипломная работа [1,3 M], добавлен 22.08.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.