1. Восстановление
испорченного
видео
Кира Рагулина
Video Group
CS MSU Graphics & Media Lab
21.09.2010 1
2. Артефакты старого
видео
Выпадение областей Царапины и пятна
CS MSU Graphics & Media Lab (Video Group) 2
3. Содержание
Заполнение выпавших областей
Классификация алгоритмов
Exemplar-based image inpainting
Edge-driven restoration
Image inpainting with the Navier-Stokes
equations
Удаление царапин и пыли
CS MSU Graphics & Media Lab (Video Group) 3
4. Классификация алгоритмов
замещения областей
Восстановление пленки
(restoration of films)
Синтез текстур
(texture synthesis)
Алгоритм заполнения
(disocclusion algorithms)
CS MSU Graphics & Media Lab (Video Group) 4
5. Восстановление пленки
Основная идея
Копирование в отсутствующую область
правильных пикселей из соседних кадров.
Используется вычисление движения и
методы интерполяции для потерянных
данных.
Предназначен для восстановления
относительно небольших областей.
Не применим для изображений и фильмов, в
которых области выпадают на протяжении
нескольких кадров.
CS MSU Graphics & Media Lab (Video Group) 5
6. Синтез текстур
Основная идея
Прогнозируются некоторые характеристики
выпавшей области и она заполняется
текстурой с такими же характеристиками.
Параметры и текстуры сложно подобрать.
Методы активно взаимодействуют с
пользователем, либо критичны по времени.
Применяются для восстановления больших
областей.
CS MSU Graphics & Media Lab (Video Group) 6
7. Алгоритмы заполнения
Основная идея
Заполнение выпавшей области при
помощи склеивания изофот, выходящих
на границу.
Предполагается, что выпавшая область
имеет простую топологию.
Выбирается тип кривой для соединения
концов изофот, выходящих на границу.
CS MSU Graphics & Media Lab (Video Group) 7
8. Содержание
Заполнение выпавших областей
Классификация алгоритмов
Exemplar-based image inpainting
Edge-driven restoration
Image inpainting with the Navier-Stokes
equations
Удаление царапин и пыли
CS MSU Graphics & Media Lab (Video Group) 8
9. Обозначения
I
I - весь кадр
- неиспорченная часть кадра
- испорченная часть кадра
- граница испорченной области
Пусть пиксель p , тогда за Ψp обозначим
фрагмент кадра с центром в точке p
CS MSU Graphics & Media Lab (Video Group) 9
10. Обозначения
qp
C (q )
C( p ) коэффициент доверия
p
0, for q
Причем C (q )
1, for q
CS MSU Graphics & Media Lab (Video Group) 10
11. Обозначения
D( p) I p n p коэффициент данных
вектор нормали к
np поверхности границы
испорченной области
I I
I p ,
x y градиент яркости изображения
P( p) C( p) D( p) приоритет
CS MSU Graphics & Media Lab (Video Group) 11
12. Exemplar-based Image
Inpainting
1. Получаем область Ω
2. Вычисляем P(p) для p
3. Первой восстанавливается точка p*:
p* arg max P( p )
p
4. Рассмотрим величину:
( p t ) ( p)
2
C (t )
p p *
CS MSU Graphics & Media Lab (Video Group) 12
13. Exemplar-based Image
Inpainting
5. Найдем область Ψq*=Ψp*-t*:
t * arg min C(t )
t
6. Копируем значения из Ψq* в Ψp* для p p*
7. Для p p* : C(p)=C(p*)
8. Для p p* вычисляем D(p)
9. Повторяем процесс, пока все пиксели не будут
восстановлены
CS MSU Graphics & Media Lab (Video Group) 14
14. Достоинства алгоритма
Метод непараметрический
Подходит как для 2D, так и 3D областей
Обладает временной и пространственной
непрерывностью
Испорченные области могут иметь произвольную
форму
Время работы алгоритма зависит от площади
дефектов, а не от их количества
CS MSU Graphics & Media Lab (Video Group) 15
15. Недостатки алгоритма
Неавтоматическое выделение испорченной
области
Довольно большая вычислительная сложность
Не всегда хватает информации для
восстановления кадра
CS MSU Graphics & Media Lab (Video Group) 16
16. Примеры работы
алгоритма
2х мерное пространство
CS MSU Graphics & Media Lab (Video Group) 17
17. Примеры работы
алгоритма
3х мерное пространство
CS MSU Graphics & Media Lab (Video Group) 18
18. Содержание
Заполнение выпавших областей
Классификация алгоритмов
Exemplar-based image inpainting
Edge-driven restoration
Image inpainting with the Navier-Stokes
equations
Удаление царапин и пыли
CS MSU Graphics & Media Lab (Video Group) 19
19. Edge-driven Restoration
1. К изображению применяется гауссово размытие с
большим ядром, чтобы уменьшить влияние шума
на значение градиента.
2. На испорченные области накладывается
расширенная маска, причем это расширение
зависит от размера гауссовского ядра.
3. Из выходящих на границу расширенной области
изофот рассматриваются только те, на которых
достигается локальный максимум градиента.
CS MSU Graphics & Media Lab (Video Group) 20
20. Edge-driven Restoration
4. Каждая изофота характеризуется:
Углом наклона θi
Величиной градиента mi
Направлением градиента φi
Требуется разбить эти изофоты на пары так, чтобы
соединяющие их линии были параллельны
CS MSU Graphics & Media Lab (Video Group) 21
21. Edge-driven Restoration
5. Для этого для каждой двух изофот вычисляется
следующая величина :
- означает «усовершенствованную» разницу, она
равна 0, если результат принадлежит [0, 2π].
gray_range – масштаб изофот
CS MSU Graphics & Media Lab (Video Group) 22
23. Примеры
Испорченное Восстановленное Увеличенный
изображение изображение фрагмент
CS MSU Graphics & Media Lab (Video Group) 27
24. Примеры
Восстановленное Увеличенный
изображение фрагмент
CS MSU Graphics & Media Lab (Video Group) 28
25. Содержание
Заполнение выпавших областей
Классификация алгоритмов
Exemplar-based image inpainting
Edge-driven restoration
Image inpainting with the Navier-
Stokes equations
Удаление царапин и пыли
CS MSU Graphics & Media Lab (Video Group) 29
26. Суть алгоритма
Пользователь выделяет область, требующую
восстановления.
Итеративный алгоритм постепенно продолжает
внутрь выпавшей области изофоты, выходящих на
ее границу, сохраняя при этом их угол наклона и
избегая их пересечений.
Реализация этого алгоритма основана на
физической модели движения вязкой жидкости.
CS MSU Graphics & Media Lab (Video Group) 30
27. Обозначения
I
I - весь кадр
- неиспорченная часть кадра
- испорченная часть кадра
- граница испорченной области
I* - восстановленное изображение
I* = I in Ф
CS MSU Graphics & Media Lab (Video Group) 31
28. Обозначения
I I
I ,
y x направление изофот
I I xx I yy гладкость изображения
мал в областях с плавным переходом цветов
I и велика в областях с резкими цветовыми
переходами
CS MSU Graphics & Media Lab (Video Group) 32
29. Image inpainting with the
Navier-Stokes equations
Требуется распространять гладкость изображения в
направлении изофот, начиная с границы выпавшей
области.
Для восстановленного изображения I* справедливо
равенство:
CS MSU Graphics & Media Lab (Video Group) 33
30. Физическая модель
Рассмотрим движение вязкой жидкости в двумерном
варианте:
Пусть Ψ – функция потока, тогда
Уравнение Навье-Стокса описывает это движение:
v - ротор вектора скорости потока v
- коэффициент вязкости жидкости
CS MSU Graphics & Media Lab (Video Group) 34
31. Обоснование применимости
физической модели
Заметим, что при малой вязкости это уравнение
приобретает вид:
Это уравнение очень похоже на условие нахождения
восстановленного изображения, где аналогом
функции потока является интенсивность
изображение:
CS MSU Graphics & Media Lab (Video Group) 35
32. Применение физической
модели
Будем использовать закон движения вязкой
жидкости в качестве модели для восстановления
испорченного изображения.
Аналоги физических величин в задаче обработки
изображений:
CS MSU Graphics & Media Lab (Video Group) 36
33. Применение физической
модели
В терминах задачи обработки изображений
уравнение Навье-Стокса приобретает вид:
Здесь:
g(s) – анизотропная диффузия,
сохраняющая значения на краях
CS MSU Graphics & Media Lab (Video Group) 37
34. Анизотропная диффузия g(s)
Таким образом, g(s) – любая функция,
удовлетворяющая условиям:
• g(0) = 1
• lim g (s ) 0
s
• g(s) монотонно убывает
Пример такой функции: анизотропная диффузия
Перона-Малика:
K – предопределенная константа
CS MSU Graphics & Media Lab (Video Group) 38
35. Постановка задачи
t v (g ( ) )
I
I v
Кроме того, для решения этой системы нужны
граничные условия:
Нам известны значения I на границе и вне области
Ω. Поэтому в качестве граничного условия можно
взять значение I на границе Ω.
CS MSU Graphics & Media Lab (Video Group) 39
36. Результат
Эту систему можно решать разными способами.
Например, применяя для вычисления производных
центральную аппроксимацию, эта система уравнений
и граничные условия могут быть сведены к
линейным.
Таким образом, задача восстановления выпавшей
области свелась к решению системы линейных
уравнений.
CS MSU Graphics & Media Lab (Video Group) 40
37. Восстановление цветных
изображений
Цветные изображения рассматриваются
как последовательность трех
изображений.
Описанный метод восстановления
применяется к каждой из составляющих
цвета.
Чтобы избежать появления фиктивных
цветов используется цветовая, близкая к
LUV, модель с 1 яркостной и 2
цветовыми компонентами.
CS MSU Graphics & Media Lab (Video Group) 41
38. Примеры
Итерации восстановления изображения
CS MSU Graphics & Media Lab (Video Group) 42
39. Примеры
Испорченное Восстановленное
изображение изображение
CS MSU Graphics & Media Lab (Video Group) 43
40. Примеры
Испорченное Восстановленное
изображение изображение
CS MSU Graphics & Media Lab (Video Group) 44
41. Еще одно применение:
увеличение разрешения
Возьмем часть изображения маленького
разрешения и увеличим его в n раз с помощью
дублирования.
Применим к полученному изображению метод
восстановления, основанный на уравнении
Навье-Стокса.
Вычислять гладкость и направления изофот в
точках сетки (n*I, n*j) будем по исходному
изображению с маленьким разрешением.
CS MSU Graphics & Media Lab (Video Group) 45
42. Примеры
Исходное Фрагмент x9
изображение
CS MSU Graphics & Media Lab (Video Group) 46
43. Примеры
Бикубическая Метод
интерполяция Навье-Стокса
CS MSU Graphics & Media Lab (Video Group) 47
44. Содержание
Заполнение выпавших областей
Восстановление царапин и пыли
Обнаружение пятен
Удаление пятен
Удаление царапин
CS MSU Graphics & Media Lab (Video Group) 48
45. Обозначения
z = (x, y)T – пиксель
In(z) – интенсивность пикселя z в кадре n
pn,i(z) – 6 опорных пикселей для z
CS MSU Graphics & Media Lab (Video Group) 49
47. Разбиение на блоки
Разбиваем все отмеченные пиксели на
блоки:
если разница интенсивностей двух
пикселей меньше удвоенного значения
среднего отклонения интенсивностей из-за
шума, то они принадлежат одному блоку.
CS MSU Graphics & Media Lab (Video Group) 51
48. Учет шума
Посчитаем вероятность появления блока
размером в n пикселей:
средняя интенсивность блока
Если эта вероятность меньше некоторого порога,
то такие блоки исключаются.
CS MSU Graphics & Media Lab (Video Group) 52
49. Учет шума
1. Определяем множество блоков при низком
пороге.
2. Определяем множество блоков при
высоком пороге.
3. Оставляем только те блоки первого
множества, которые пересекаются с
блоками из второго множества.
CS MSU Graphics & Media Lab (Video Group) 53
50. Расширение блоков
1. Рассмотрим пиксели, окрестности которых
принадлежит некоторым блокам.
2. Посчитаем для них разность
интенсивностей с окрестностью.
3. Если она меньше удвоенного значения
среднего отклонения интенсивностей из-за
шума, то этот пиксель тоже отмечается.
CS MSU Graphics & Media Lab (Video Group) 54
51. Примеры
Маска Испорченное S-ROD
артефактов изображение detector
CS MSU Graphics & Media Lab (Video Group) 55
52. Содержание
Заполнение выпавших областей
Восстановление царапин и пыли
Обнаружение пятен
Удаление пятен
Удаление царапин
CS MSU Graphics & Media Lab (Video Group) 56
53. Параметры мягкой
морфологии
Структурный элемент: B B1 B2
B1 – центр
B2 - граница
k - показатель степени
Card (X) – количество элементов Х
CS MSU Graphics & Media Lab (Video Group) 57
54. Морфологические
операции
Сужение (soft erosion)
Здесь:
min(k) – k-ый наименьший элемент
k◊f(y) = {f(y), f(y), ….., f(y)} – повторение k раз
CS MSU Graphics & Media Lab (Video Group) 58
55. Морфологические
операции
Расширение (soft dilation)
(f [B1, B2 , k ])( x ) max( k ) {kf ( y ) | y (B1S ) x } ({f (z) | z (B2 ) x }
S
Здесь:
max(k) – k-ый наибольший элемент
Раскрытие (soft opening) – сужение + расширение
Закрытие (soft closing) – расширение + сужение
CS MSU Graphics & Media Lab (Video Group) 59
56. Параметры алгоритма
Размер и форма ядра B1
Размер и форма границы B2
Показатель степени k
Количество и типы элементарных
морфологических операций в
используемой последовательности
CS MSU Graphics & Media Lab (Video Group) 60
57. Параметры алгоритма
Ограничиваем максимальный размер
структурного элемента В
Размеры B1, B2 и k ограничены
Ограничиваем максимальную длину
последовательности из элементарных
операций
Кодируем эти параметры в хромосому
CS MSU Graphics & Media Lab (Video Group) 61
58. Создание тестов
1. Определяем маску артефакта (или определяем
параметры модели артефакта).
2. Находим известную область, похожую на область, в
которой присутствует артефакт.
3. Добавляем маску артефакта (или смоделированный
артефакт).
4. Теперь есть 2 изображения одной области: одна без
артефакта, другая с артефактом.
CS MSU Graphics & Media Lab (Video Group) 62
59. Создание тестов
Похожие известные области
Области с добавлением артефактов
CS MSU Graphics & Media Lab (Video Group) 63
60. Создание тестов
5. Создаем несколько пар таких областей (с
артефактом и без него).
6. Тренируем генетический алгоритм на созданных на
предыдущем шаге парах областей.
7. Извлекаем из полученной хромосомы параметры
алгоритма.
8. Восстанавливаем испорченную область с такими
параметрами.
CS MSU Graphics & Media Lab (Video Group) 64
61. Пример
Испорченное Восстановленное
изображение изображение
CS MSU Graphics & Media Lab (Video Group) 65
62. Содержание
Заполнение выпавших областей
Восстановление царапин и пыли
Обнаружение пятен
Удаление пятен
Удаление царапин
CS MSU Graphics & Media Lab (Video Group) 66
63. Восстановление низких
частот
Используется кубическая модель:
Коэффициенты для подбираются так, чтобы она
лучшим образом представляла известные пиксели в
блоке 10х5 вокруг царапины.
Далее эта модель используется для восстановления
низких частот испорченных пикселей.
CS MSU Graphics & Media Lab (Video Group) 67
64. Восстановление высоких
частот
Получаем высокие частоты изображения:
Используем модель ряда Фурье:
CS MSU Graphics & Media Lab (Video Group) 68
65. Восстановление высоких
частот
Для нахождения коэффициентов Фурье
используется итеративная схема.
Рассмотрим ее в одномерном случае:
CS MSU Graphics & Media Lab (Video Group) 69
66. Восстановление высоких
частот
Подбираем коэффициенты так, чтобы
минимизировать величину:
S1 ( x ) S0 ( x) (a0 sin0 x b0 cos0 x )
Подбираем коэффициенты a1,b1,1 так, чтобы
минимизировать величину:
S2(x) S1(x) (a1 sinω x b1 cos ω x)
1 1
И т.д.
CS MSU Graphics & Media Lab (Video Group) 70
67. Восстановление высоких
частот
Когда величина Sk станет меньше некоторого
порога, мы получаем все коэффициенты модели.
Находим высокие частоты в испорченных
пикселях по модели.
Находим восстановленное изображение,
складывая низкие частоты с высокими.
CS MSU Graphics & Media Lab (Video Group) 71
68. Примеры
Испорченное Восстановление Восстановление
изображение LF LF и HF
CS MSU Graphics & Media Lab (Video Group) 72
69. Реализованный метод
Итеративный алгоритм
Выбор пикселя испорченной области с
наибольшим количеством известных соседей
Нахождение пикселя из известной области с
максимально похожей окрестностью
Замещение выбранного пикселя найденным
CS MSU Graphics & Media Lab (Video Group) 73
70. Результаты
Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 74
71. Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 75
72. Результаты
Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 76
73. Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 77
74. Результаты
Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 78
75. Оригинал
Результаты
Испорченное
Восстановленное
CS MSU Graphics & Media Lab (Video Group) 79
76. Исходное Испорченное Восстановленное
изображение изображение изображение
CS MSU Graphics & Media Lab (Video Group) 80
77. Планы
Учет направления изофот
Интерполирование яркости
Ускорение
CS MSU Graphics & Media Lab (Video Group) 81
78. Литература
1. Sanjeev Kumar, Mainak Biswas, Serge Belongie and Truong Nguyen, Spatio-temporal texture
synthesis and image inpainting for video applications, ICIP 2005, Genova, Italy, pp. 85-88, vol. 2.
2. Andrei Rares, Marcel J.T. Reinders and Jan Biemond, An Algorithm for Spatial Restoration of
Image Sequences, Proceedings of the Eighth Annual Conference of the Advanced School for
Computing and Imaging, (ASCI) 2002
3. Wilson Au, Ryo Takei, Image Inpainting with the Navier-Stokes Equations, Final Report, APMA
930, 2001
4. M. Bertalmio, G. Sapiro, C. Ballester and V. Caselles, “Image inpainting,” Computer Graphics,
SIGGRAPH 2000, pp. 417-424, July 2000.
5. M. Bertalmio, A. L. Bertozzi, G. Sapiro, ”Navier-Stokes, Fluid Dynamics, and Image and Video
Inpainting”, Proceedings of the International Conference on Computer Vision and Pattern
Recognition , IEEE, Dec. 2001, Kauai, HI, volume I, pp. I-355-I362
6. P. van Roosmalen, J. Biemond, and R. Lagendijk, "Restoration and storage of film and video
archive material," NATO Summer School, 1998.
7. Gasteratos A and Andreadis I (1999): Soft Mathematical Morphology: Extensions, Algorithms and
Implementations, in Hawkes P W, ed., Advances in Imaging and Electron Physics, 110, Academic
Press, pp. 63-99
8. S Marshall, N R Harvey, „Restoration of archive film material using multi-dimensional soft
morphological filters'', Proceedings of the IEEE Workshop on Nonlinear Signal and Image
Processing, NSIP'99, Turkey, June 1999.
9. L. Joyeux, O. Buisson, B. Besserer, S. Boukir. “Detection and removal of line scratches in motion
picture films,” Proceedings of CVPR‟99, IEEE Int. Conf. on Computer Vision and Pattern
Recognition, Fort Collins, Colorado, USA, June 1999.
CS MSU Graphics & Media Lab (Video Group) 82