Компрессия 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