Изменения
Нет описания правки
[[Файл:inpainting_sample.jpg|thumb|400px|(a) {{---}} оригинальное изображение, (b) {{---}} изображение со стертыми частями, (с) {{---}} изображение, полученное в результате подрисовки]]
'''Подрисовка изображений Восстановление изображения '''(англ. inpainting) {{---}} это процесс замены дефектных поврежденных частей изображения на реалистичные фрагменты. '''Вписывание части изображения''' - это подзадача подрисовки. Процесс подрисовки обычно восстановления, которая опирается на имеющиеся неиспорченные пиксели в имеющуюся неиспорченную часть изображении для замены поврежденныхповрежденной.
Методы данной области применяются для редактирования изображений или для их восстановления, если их часть была утрачена или подвержена некоторым дефектам. С помощью современных моделей можно вырезать ненужные объекты или изменить их свойство внешний вид (например, поменять цвет глаз у человека).
[[Файл:denoising_sample.jpg|thumb|550px|Пример устранения наложенного текста на изобрежение. В данном случае текстом покрыто 18.77% площади.]]
В этом конспекте преимущественно речь пойдет про управляемую подрисовкууправляемое восстановление.
== Традиционные методы ==
Есть два основных простых метода восстановления данных:
# Быстрый пошаговый метод (англ. Fast marching method). Этот метод двигается от границ области, которую нужно закраситьзаполнить, к ее центру, постепенно закрашивая восстанавливая пиксели. Каждый новый пиксель вычисляется как взвешенная сумма известных соседних пикселей.# Метод Навье-Стокса (англ. Navier-Stokes method). Метод основывается на том, что грани границы объектов в на изображении должны быть непрерывными. Цвета Значения пикселей вычисляются из известных областей около гранейвокруг испорченное части. Метод основывается на дифференциальных уравнениях в частных производных.
== Глубокое обучение ==
# Локальный дискриминатор (англ. Local Discriminator). Ему подавалась на вход только сгенерированная часть изображения.
# Глобальный дискриминатор (англ. Global Discriminator). В данном случае на вход подавалось все изображение целиком.
Однако в современных моделях используется один дискриминатор, который принимает на вход не только восстановленное изображение, но и маску. Современные модели чаще всего принимают на вход маски произвольной формы (англ. free-form mask), при работе с которыми локальный дискриминатор показывает плохое качество. Именно поэтому концепция двух дискриминаторов стала не популярнойнепопулярной.
=== Виды сверток ===
[[Файл:DeepFillv2_model.jpeg|thumb|450px|Сеть DeepFillv2.]]
Главная идея данной этой модели {{---}} это использование стробированной свертки, которая позволила добиться хорошего качества вписывания при восстановлении изображения с разными формами испорченных областей. Также данная модель может можно использовать набросок рисунок пользователя в качестве входных данных.
----
[[Файл:sc-fegan_result.jpg|thumb|450px|Пример работы модели SC-FEGAN.]]
Дискриминатор данной сети принимает на вход несколько каналов изображения: выходное изображение генератора, маску и слой пользовательского ввода (эскизы и цвета).
# Использование сгенерированных границ для заполнения утраченной части изображения.
В обоих частях используется генеративно -состязательная сеть. Генераторы состоят из кодировщика, нескольких остаточных блоков с расширенной сверткой и декодировщика. Для дискриминатора используется PatchGAN<ref>[https://paperswithcode.com/method/patchgan PatchGan, PapersWithCode]</ref>.
Для генерации ребер сначала выделяются границы существующей части изображения с помощью Canny edge detector<ref>[https://en.wikipedia.org/wiki/Canny_edge_detector Canny edge detector, Wikipedia]</ref>. Потом полученная граница вместе с маской и черно-белым изображением дается генератору. В качестве целевой функции потерь для тренировки сети берется комбинация двух функций: adversarial loss и feature-matching loss. Также для стабилизация обучения генератора и дискриминатора используется спектральная нормализация.