58
Получение и фильтрация карт глубин Дмитрий Ватолин Video Group CS MSU Graphics & Media Lab

Получение и фильтрация карт глубин

  • Upload
    margo

  • View
    54

  • Download
    1

Embed Size (px)

DESCRIPTION

Получение и фильтрация карт глубин. Дмитрий Ватолин Video Group CS MSU Graphics & Media Lab. Современный 3 D- контент Карты глубин. Многокамерные системы – слишком дорогостоящий инструмент создания 3 D Альтернатива – создание 3 D- контента из 2 D - PowerPoint PPT Presentation

Citation preview

Page 1: Получение и фильтрация карт глубин

Получение и фильтрация карт

глубин

Дмитрий Ватолин

Video Group

CS MSU Graphics & Media Lab

Page 2: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Современный 3D-контентКарты глубин

Многокамерные системы – слишком дорогостоящий инструмент создания 3D

Альтернатива – создание 3D-контента из 2D

Основной шаг – вычисление пространственного представления сцены

Для этого строятся карты глубины кадров

2

Page 3: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Содержание

Способы получения карт глубины Карты глубин (задание) Фильтрация карт глубины

3

Page 4: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

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

Ручная разметка кадров

4Исходный рисунок - http://retouchpro.com

Page 5: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

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

Автоматические способы с использованием depth cues

5CS MSU Graphics & Media Lab (Video Group)

Page 6: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

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

Автоматические способы с использованием depth cues

6CS MSU Graphics & Media Lab (Video Group)

Page 7: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

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

Автоматические способы с использованием depth cues

7CS MSU Graphics & Media Lab (Video Group)

Page 8: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

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

Автоматические способы с использованием сенсоров глубины

8http://userpage.fu-berlin.de/~latotzky/wheelchair/?p=58

Page 9: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

Сенсоры глубины

9http://www.microsoft-careers.com/go/Kinect-for-Windows/308299/

Microsoft Kinect: Разрешение 640×480 Разрешение камеры глубины:

320×240 30 fps

Планируемое обновление (Kinect 2.0): Разрешение 1920×1080 Разрешение камеры глубины: 512×424 30 fps

Page 10: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Отсутствие информации о глубине для некоторых точек

Случайный шум Различие глубины для точек одного

уровня Нестабильность во времени Сильный шум на границах объектов

10

Карты глубинНедостатки сенсоров глубины (1)

Page 11: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Карта глубиныИнформация о глубине для

красных областей отсутствует

11

M. Camplani, L. Salgado, and G. de Imagenes, “Efficient spatio-temporal hole filling strategy for Kinect depth maps,” SPIE, 2012

Цветное изображение

Карты глубинНедостатки сенсоров глубины (2)

Page 12: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

Недостатки сенсоров глубины (3)

12

Улучшение качества карты глубины с сенсора:

Качественная обработка областей перекрытия

Фильтрация карты глубины во времени

Существующие методы: Cross-Bilateral Filtering Weighted Mode Filtering Graph-Based Filtering

Page 13: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Содержание

Способы получения карт глубины Карты глубин (задание) Фильтрация карт глубины

13

Page 14: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

4 модификации кадров

Исходный без изменений14

CS MSU Graphics & Media Lab (Video Group)

Page 15: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

4 модификации кадров

Сдвиг вправо на 4 пикселя15

CS MSU Graphics & Media Lab (Video Group)

Page 16: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

4 модификации кадров

Сдвиг вправо и вниз на 4 пикселя16

CS MSU Graphics & Media Lab (Video Group)

Page 17: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

4 модификации кадров

Сдвиг вниз на 4 пикселя17

CS MSU Graphics & Media Lab (Video Group)

Page 18: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

ME: Блоки 4х4

Запуск ME8х8для каждойиз модификацийкадров

Запись полученных векторовдля соответствующих блоков

18

Page 19: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Алгоритм

Левый верхний блок 4х4:

MEFunction8x8(cur_frame, prev_frame, temp_vectors);for (each vector in temp_vectors){

MEVectors[i*2*num_blocks_4x4_hor + 2*j] =temp_vectors[i*num_blocks_8x8_hor + j];

}

19

Page 20: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Алгоритм

Правый верхний блок 4х4:

4PixelShiftHor(cur_frame, cur_shifted);4PixelShiftHor(prev_frame, prev_shifted);MEFunction8x8(cur_shifted, prev_shifted, temp_vectors);for (each vector in temp_vectors){ MEVectors[i*2*num_blocks_4x4_hor + 2*j + 1] =

temp_vectors[i*num_blocks_8x8_hor + j];}

20

Page 21: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Алгоритм

Правый нижний блок 4х4:

4PixelShiftHorVert(cur_frame, cur_shifted);4PixelShiftHorVert(prev_frame, prev_shifted);MEFunction8x8(cur_shifted, prev_shifted, temp_vectors);for (each vector in temp_vectors){

MEVectors[(i+1)*2*num_blocks_4x4_hor + 2*j + 1] =temp_vectors[i*num_blocks_8x8_hor + j];

}21

Page 22: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Алгоритм

Левый нижний блок 4х4:

4PixelShiftVert(cur_frame, cur_shifted);4PixelShiftVert(prev_frame, prev_shifted);MEFunction8x8(cur_shifted, prev_shifted, temp_vectors);for (each vector in temp_vectors){

MEVectors[(i+1)*2*num_blocks_4x4_hor + 2*j] =temp_vectors[i*num_blocks_8x8_hor + j];

}22

Page 23: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Результат

Depth 4x4 blocks full search (0.04 fps)24

CS MSU Graphics & Media Lab (Video Group)

Page 24: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Блоки 4х4

Результат

Original frame25

CS MSU Graphics & Media Lab (Video Group)

Page 25: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

ME: Упрощение шаблона

Ограничение на движение камеры – только горизонтальное параномирование

Ограничиваем шаблон поиском по горизонтали

26

Page 26: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Упрощение шаблона

Результат

Depth 4x4 blocks simple template (1.55 fps)27

CS MSU Graphics & Media Lab (Video Group)

Page 27: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Упрощение шаблона

Результат

Original frame28

CS MSU Graphics & Media Lab (Video Group)

Page 28: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

ME: Кандидаты

Ограничение на движение камеры – только горизонтальное параномирование

Движение равномерное поступательное – использование соседних блоков в качестве кандидатов становится эффективней

29

Page 29: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Кандидаты

Результат

Depth 4x4 blocks candidates (2.71 fps)30

CS MSU Graphics & Media Lab (Video Group)

Page 30: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus ME: Кандидаты

Результат

Original frame31

CS MSU Graphics & Media Lab (Video Group)

Page 31: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

Содержание

Способы получения карт глубины Карты глубин (задание) Фильтрация карт глубины

32

Page 32: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Карты глубин

Фильтрация

Даже при ручной разметке кадров возникают неточности карты глубины: «Картонки» (отсутствие

рельефа и объема) Неправильные границы Несогласованность

глубины соседних кадров

33Burazerovic et al., “Automatic depth profiling of 2d cinema- and photographic images”, ICIP 2009

Page 33: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Введение в линейную фильтрацию

34

Применение линейного оператора сверткик изображению – замена пикселя взвешенным средним по окрестности

Веса определяютядро свертки –числовую матрицу

Page 34: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Введение в линейную фильтрацию

35

f – изображение M*N, g – ядро K*L Свертка f с помощью g – изображение (f *

g):

Page 35: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Введение в линейную фильтрацию

36

Поведение на границе:

Черный фон Зеркалирование Дублирование

Page 36: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Введение в линейную фильтрацию

37

Фильтр Гаусса: Веса в ядре рассчитываются

из нормального распределения N(0, σ2)

Параметры фильтрации –размер ядра d,дисперсия σ2

Эмпирически – d ~ 6σ

Page 37: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Билатеральная фильтрация

38

Билатеральная – два параметра для расчета весов

Веса исходного фильтра Гаусса модифицируемс учетом цветовой разницы центрального пикселя и пикселя окрестности

Page 38: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Билатеральная фильтрация глубины

39

D(x, y) – глубина точки (x, y)

I(x, y) – цвет точки (x, y)

Ω – область ядра свертки

σs – параметр пространственного усреднения

σc – параметр цветового усреднения

Page 39: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Билатеральная фильтрация глубины

40

for (each pixel in image){ sum = koef = 0;

for (each neighbour_pixel in kernel window){ cur_koef = gaus_weight(cur_pixel.pos,

neighbour_pixel.pos,

sigma_spatial) * gaus_weight(cur_pixel.value,

neighbour_pixel.value,

sigma_color);sum += neighbour_pixel.value * cur_koef;koef += cur_koef;

}new_pixel.value = sum / koef;

}

Page 40: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Билатеральная фильтрация: результат

фильтрация карты глубины на основе исходного кадра41Burazerovic et al., “Automatic depth profiling of 2d

cinema- and photographic images”, ICIP 2009

Page 41: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Билатеральная фильтрация

42

Сглаживание глубиныровных по цвету областей

Подчеркивание разницына цветовых границах

Burazerovic et al., “Automatic depth profiling of 2d cinema- and photographic images”, ICIP 2009

Page 42: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

43CS MSU Graphics & Media Lab (Video Group)

Original

Page 43: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

44CS MSU Graphics & Media Lab (Video Group)

Filtered

Page 44: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

45CS MSU Graphics & Media Lab (Video Group)

Original

Page 45: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

46CS MSU Graphics & Media Lab (Video Group)

Filtered

Page 46: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

47CS MSU Graphics & Media Lab (Video Group)

Page 47: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

48CS MSU Graphics & Media Lab (Video Group)

Original

Page 48: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Пространственная

Результаты

49CS MSU Graphics & Media Lab (Video Group)

Filtered

Page 49: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Схема работы

50

Сглаживание изменения глубины во времени Нормализация,

устранение «мерцания»

Удаление «артефактов»

Page 50: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Spatio-Temporal Filtering

51

Пиксель определяется тремя координатами –(x, y, t) положение в пространстве и времени

Рассматриваем окрестность по всем трем координатам, с учетом компенсации движения

Page 51: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Spatio-Temporal Filtering

52

for (each pixel in cur_frame){ sum = koef = 0;

for (each neighbour_pixel in kernel window){ for (each neighbour_frame in temporal window)

{ cur_koef = gaus_weight(cur_pixel.pos, neighbour_pixel.pos, sigma_spatial)

* gaus_weight(cur_pixel.value, neighbour_pixel.value,

sigma_color) * gaus_weight(cur_frame.count,

neighbour_frame.count,

sigma_temporal); sum += neighbour_pixel.value * cur_koef; koef += cur_koef;}

}new_pixel.value = sum / koef;

}

Page 52: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Результаты

53CS MSU Graphics & Media Lab (Video Group)

Page 53: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Сравнение

54CS MSU Graphics & Media Lab (Video Group)

Page 54: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus Временная фильтрация

Сравнение

55CS MSU Graphics & Media Lab (Video Group)

Original

Page 55: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

56CS MSU Graphics & Media Lab (Video Group)

Spatial

Временная фильтрацияСравнение

Page 56: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

57CS MSU Graphics & Media Lab (Video Group)

Spatio-temporal

Временная фильтрацияСравнение

Page 57: Получение и фильтрация карт глубин

CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/

Only for Maxus

58CS MSU Graphics & Media Lab (Video Group)

Original

Временная фильтрацияСравнение

Page 58: Получение и фильтрация карт глубин

КОНЕЦ ЛЕКЦИИ 4.