Изменения

Перейти к: навигация, поиск

Вписывание части изображения

76 байт убрано, 14:27, 10 января 2021
Нет описания правки
[[Файл:inpainting_sample.jpg|thumb|400px|(a) {{---}} оригинальное изображение, (b) {{---}} изображение со стертыми частями, (с) {{---}} изображение, полученное в результате подрисовки]]
'''Подрисовка изображений Восстановление изображения '''(англ. inpainting) {{---}} это процесс замены дефектных поврежденных частей изображения на реалистичные фрагменты. '''Вписывание части изображения''' - это подзадача подрисовки. Процесс подрисовки обычно восстановления, которая опирается на имеющиеся неиспорченные пиксели в имеющуюся неиспорченную часть изображении для замены поврежденныхповрежденной.
Методы данной области применяются для редактирования изображений или для их восстановления, если их часть была утрачена или подвержена некоторым дефектам. С помощью современных моделей можно вырезать ненужные объекты или изменить их свойство внешний вид (например, поменять цвет глаз у человека).
[[Файл:denoising_sample.jpg|thumb|550px|Пример устранения наложенного текста на изобрежение. В данном случае текстом покрыто 18.77% площади.]]
Подрисовка обычно Восстановление изображения разделяется на две задачи:* '''Управляемая подрисовкаУправляемое восстановление изображения'''(англ. non-blind inpainting). В этой задаче вместе с изображением подается информация о том, какие пиксели нужно заменить.* '''Слепая подрисовкаСлепое восстановление изображения'''(англ. blind inpainting). В решениях данной проблемы модель сама определяет, где на изображении дефектные поврежденные пиксели. Модели слепой подрисовки слепого восстановления чаще всего занимаются устранением шумов (англ. denoising). В качестве шума, например, может быть наложенный текст. Пример работы модели удаления наложенного текста приведен на картинке справа.
В этом конспекте преимущественно речь пойдет про управляемую подрисовкууправляемое восстановление.
== Традиционные методы ==
Есть два основных простых метода восстановления данных:
# Быстрый пошаговый метод (англ. Fast marching method). Этот метод двигается от границ области, которую нужно закраситьзаполнить, к ее центру, постепенно закрашивая восстанавливая пиксели. Каждый новый пиксель вычисляется как взвешенная сумма известных соседних пикселей.# Метод Навье-Стокса (англ. Navier-Stokes method). Метод основывается на том, что грани границы объектов в на изображении должны быть непрерывными. Цвета Значения пикселей вычисляются из известных областей около гранейвокруг испорченное части. Метод основывается на дифференциальных уравнениях в частных производных.
== Глубокое обучение ==
# Локальный дискриминатор (англ. Local Discriminator). Ему подавалась на вход только сгенерированная часть изображения.
# Глобальный дискриминатор (англ. Global Discriminator). В данном случае на вход подавалось все изображение целиком.
Однако в современных моделях используется один дискриминатор, который принимает на вход не только восстановленное изображение, но и маску. Современные модели чаще всего принимают на вход маски произвольной формы (англ. free-form mask), при работе с которыми локальный дискриминатор показывает плохое качество. Именно поэтому концепция двух дискриминаторов стала не популярнойнепопулярной.
=== Виды сверток ===
[[Файл:DeepFillv2_model.jpeg|thumb|450px|Сеть DeepFillv2.]]
Главная идея данной этой модели {{---}} это использование стробированной свертки, которая позволила добиться хорошего качества вписывания при восстановлении изображения с разными формами испорченных областей. Также данная модель может можно использовать набросок рисунок пользователя в качестве входных данных.
Кроме того, в В данной модели предлагается использовать используется вариант генеративно -состязательной сети {{---}} SN-PatchGAN. Дискриминатор этой сети в каждой точке вычисляет кусочно-линейную функцию потерь, формируя таким образом <tex>h \times w \times c</tex> генеративно -состязательных сетей, каждая из которых сосредотачивается на различных частях и свойствах изображения. Генератор, состоящий из двух сетей (грубой и сети повышающей качество изображения) имеет слой адаптации. Обе сети , используют модель кодировщик-декодировщик вместо U-Net<ref>[https://arxiv.org/pdf/1505.04597.pdf U-Net: Convolutional Networks for Biomedical Image Segmentation, Olaf Ronneberger, Philipp Fischer, Thomas Brox]</ref>, в которой все слои классической свертки заменены на стробированные.
----
[[Файл:sc-fegan_result.jpg|thumb|450px|Пример работы модели SC-FEGAN.]]
Данная модель 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. Также для стабилизация обучения генератора и дискриминатора используется спектральная нормализация.
Анонимный участник

Навигация