Українська   English
ДонНТУ   Портал магистров

Содержание

Введение

Современное создание и распространение мультимедийного контента движется к представлению все более «реалистичных» сценариев. Переход от 2-х мерного (2D) к 3-х мерному (3D) представлению был главной движущей силой в этом направлении. За последнее время было предложено большое количество подходов для создания 3D изображений/видео, большинство из которых основано на создании карт глубины, значительно выросло количество мультимедийных данных, создаваемых и распространяемых по всему миру. Это потребовало активных исследований в области обработки изображений и видео, при этом постоянно разрабатывались приложения и решения для таких областей, как наблюдение и безопасность, здравоохранение, компьютерное зрение и многие другие. Появление цифровых камер произвело революцию в способе фотографирования. По сравнению со своими аналогами, такие цифровые камеры (в том числе присутствующие в мобильных устройствах) обеспечивают быструю и простую съемку, хранение и поиск изображений. Тем не менее, большинство популярных цифровых камер способны захватывать 2-мерную проекцию сцены, в то время как компоненты, соответствующие глубине, теряются (не записываются). Трехмерное изображение появилось как усовершенствование традиционной технологии 2D с дополнительной информацией о глубине. 3D-камеры начали появляться на рынке, но они слишком дороги. Для обычного пользователя с двумерной цифровой камерой трехмерные изображения могут создаваться путем извлечения информации о глубине из двумерных изображений с использованием различных методов, предложенных ранее. Среди этих методов наиболее популярным является создание карты глубины из стереопары изображений. Он находит множество применений в трехмерной визуализации, декодировании изображений в светлых полях и других областях.

1. Области применения карт глубины изображения

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

• Имитация эффекта равномерно плотных полупрозрачных сред в сцене - таких как туман, дым или большие объемы воды.

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

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

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

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

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

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

• В машинном и компьютерном зрении - обработка трехмерных изображений с помощью инструментов двумерных изображений.

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

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

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

• В зависимости от предполагаемого использования карты глубины, может быть полезно или необходимо кодировать карту на больших битовых глубинах. Например, карта глубины 8 бит может представлять только диапазон до 256 различных расстояний.

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

Рассмотрим некоторые из методов генерации карты глубины изображения:

• метод генерации карты глубины по классификации изображений;

• метод создания интерактивной карты глубины для последовательности изображений;

• 3) метод генерации карты глубины по стереопаре.

1.1 Метод генерации карты глубины по классификации изображений

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

  1. преобразование цвета Байера в приближенный RGB;
  2. цветовая сегментация;
  3. обнаружение областей на основе правил для поиска конкретных областей (например, неба, земли, гор и т. д.);
  4. классификация изображений для разграничения между внешними элементами с геометрическими элементами или без них и внутренними изображениями;
  5. приблизительная оценка карты глубины.

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

1.2 Метод создания интерактивной карты глубины

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

1.3 Метод генерации карты глубины по стереопаре

По сути, карта глубины - это 2D-изображение с серым кодом, которое дает восприятие глубины по интенсивности цветов. Более темные области на карте глубины создаются для обозначения того, что объект находится далеко, и этот более темный цвет постепенно уменьшается с увеличением глубины и становится белым для более близких объектов. Алгоритм для создания карты глубины начинается с задания стереопары изображений, то есть левого (L–) и правого (R–) изображений, соответствующих одной и той же сцене, путем сопоставления пикселей с пикселями. Алгоритм находит совпадающие пиксели, сравнивая RGB-компоненты пикселей в L- и R-изображениях. Если обнаруживается, что различие между сравниваемыми пикселями меньше предварительно определенного допуска (определяемого пользователем), то эти пиксели рассматриваются алгоритмом как «совпадающая пара» пикселей. Бинокулярное несоответствие затем вычисляется для согласованных пикселей, которые дополнительно используются для оценки информации о глубине.

2. Обзор генерации карты глубины по стереопаре

Карта глубины (depth map) — это изображение, на котором для каждого пикселя, вместо цвета, хранится его расстояние до камеры. Карта глубины может быть получена с помощью специальной камеры глубины (например, сенсор Kinect является своего рода такой камерой), а также может быть построена по стереопаре изображений.

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

Парную точку нужно искать на эпиполярной линии. Соответственно, для упрощения поиска, изображения выравнивают так, чтобы все эпиполярные линии были параллельны сторонам изображения (обычно горизонтальны). Более того, изображения выравнивают так, чтобы для точки с координатами (x0, y0) соответствующая ей эпиполярная линия задавалась уравнением x = x0, тогда для каждой точки соответствующую ей парную точку нужно искать в той-же строчке на изображении со второй камеры. Такой процесс выравнивания изображений называют ректификацией (rectification). Обычно ректификацию совершают путем ремеппинга изображения и ее совмещают с избавлением от дисторсий. Пример ректифицированных изображений приведен на рисунке 1.

Рисунок 1 – Пример ректифицированных картинок, и соответствующей им карты смещений

После того как изображения ректифицированы, выполняют поиск соответствующих пар точек. Самый простой способ проиллюстрирован на картинке 4 и состоит в следующем. Для каждого пикселя левой картинки с координатами (x0, y0) выполняется поиск пикселя на правой картинке. При этом предполагается, что пиксель на правой картинке должен иметь координаты (x0 — d, y0), где d — величина называемая несоответствие/смещение (disparity). Поиск соответствующего пикселя выполняется путем вычисления максимума функции отклика, в качестве которой может выступать, например, корреляция окрестностей пикселей. В результате получается карта смещений (disparity map), пример которой приведен на рис. 1.

Рисунок 2 – Вычисление карты глубины

Собственно, значения глубины обратно пропорциональны величине смещения пикселей. Если использовать обозначения с левой половины рисунка 4, то зависимость между disparity и глубиной можно выразить следующим способом:

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

3. Направления, цели и задачи дальнейших исследований

В качестве метода генерации карты глубины изображения будет использоваться метод генерации карты глубины по стереопаре. Этот метод наиболее популярен и имеет свои модификации. Не смотря на свою относительную простоту реализации, этот метод является наиболее оптимальным.

Целью и задачами дальнейших исследований является более детальный разбор функционирования метода генерации карты глубины по стереопаре и его оптимизация по быстродействию и качеству работы. На выходе должен получиться модифицированная система. Учитывая то, что одним из недостатков метода является относительно низкая скорость обработки изображений, будет выполнена параллельная реализация генерации карты глубины. Параллельной вычислительной системой для системы будет использован процессор видеокарты ПК, а программным стандартом для параллельного программирования будет выступать OpenACC.

Выводы

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

Список источников

  1. Depth map generation by image classification [Электронный ресурс] – Режим доступа: https://www.researchgate.net/
  2. Depth-Map Generation using Pixel Matching in Stereoscopic Pair of Images [Электронный ресурс] – Режим доступа: https://arxiv.org/
  3. Основы стереозрения [Электронный ресурс] – Режим доступа: https://habr.com/
  4. An overview of free viewpoint Depth-Image-Based Rendering (DIBR) [Электронный ресурс] – Режим доступа: http://www.apsipa.org/
  5. ВЫЧИСЛЕНИЕ КАРТЫ ГЛУБИНЫ СТЕРЕОИЗОБРАЖЕНИЯ НА ГРАФИЧЕСКОМ ПРОЦЕССОРЕ В РЕАЛЬНОМ ВРЕМЕНИ [Электронный ресурс] – Режим доступа: https://www.fundamental-research.ru/
  6. 3D stereoscopic image pairs by depth-map generation [Электронный ресурс] – Режим доступа: https://www.researchgate.net/
  7. Depth map – Википедия [Электронный ресурс] – Режим доступа: https://en.wikipedia.org/
  8. DeepStereoBrush: Interactive Depth Map Creation [Электронный ресурс] – Режим доступа: https://www.researchgate.net/
  9. Disparity and depth map generation Monoscopic video to 3D [Электронный ресурс] – Режим доступа: https://www.compression.ru/
  10. 3D Stereoscopic Photography [Электронный ресурс] – Режим доступа: http://3dstereophoto.blogspot.com/
  11. Innovative 3D Depth Map Generation From A Holoscopic 3D Image Based on Graph Cut Technique [Электронный ресурс] – Режим доступа: https://arxiv.org/
  12. Стереопара – Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/