Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Image Inpainting

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

Задача заливки изображения — заполнить замаскированную область, например царапину, удалённый объект или отсутствующий фрагмент, содержимым, которое сливается с окружением. Каждому методу нужны два входных объекта — изображение и двоичная маска, отмечающая заменяемые пиксели; всё за пределами маски остаётся без изменений. Термин пришёл из реставрации произведений искусства, где специалисты ретушируют повреждённые картины. Марсело Бертальмио, Гильермо Сапиро, Висенте Касельес и Колома Бальестер перенесли его в цифровое компьютерное зрение на конференции SIGGRAPH 2000, представив метод продолжения линий одинаковой яркости от границы отверстия внутрь него. Пиксели под маской неизвестны, поэтому залитая область всегда представляет собой правдоподобную выдумку, а не восстановление того, что там было.

Классические, основанные на фрагментах и обучаемые методы#

Классические методы распространяют цвет и контуры внутрь от границы маски. OpenCV включает два таких метода в свой модуль ретуширования: быстрый метод распространения фронта Александру Телеа 2004 года (cv2.INPAINT_TELEA) и метод Навье — Стокса 2001 года, разработанный Бертальмио, Андреа Бертоцци и Сапиро (cv2.INPAINT_NS). Они хорошо справляются с пылью, царапинами и тонкими текстовыми наложениями, но на больших областях дают размытую мазню. Приведённый ниже фрагмент применяет метод Телеа к одинаковому числу отсутствующих пикселей в двух случаях: сначала к тонким царапинам, затем к одному квадратному участку:

import cv2
import numpy as np
from skimage import data

image = cv2.cvtColor(data.astronaut(), cv2.COLOR_RGB2BGR)  # 512x512 sample photo

# Two masks with about the same pixel count: thin scratches and one solid block
scratches = np.zeros(image.shape[:2], np.uint8)
for y in range(40, 512, 40):
    cv2.line(scratches, (0, y), (511, y + 30), 255, thickness=2)
block = np.zeros_like(scratches)
side = int(np.sqrt(np.count_nonzero(scratches)))
block[200 : 200 + side, 200 : 200 + side] = 255

for name, mask in [("scratches", scratches), ("block", block)]:
    restored = cv2.inpaint(image, mask, 3, cv2.INPAINT_TELEA)
    # Mean error inside the mask, where every pixel was reconstructed
    error = np.abs(restored.astype(int) - image.astype(int))[mask > 0].mean()
    print(f"{name}: {np.count_nonzero(mask)} masked pixels, mean error {error:.1f} gray levels")

Он выводит среднюю ошибку 9,1 уровня серого для 18 432 пикселей царапин и 36,5 — для блока размером 18 225 пикселей. У каждого пикселя царапины есть известные соседи в одном-двух пикселях от него, тогда как центр блока находится в 67 пикселях от ближайшего настоящего пикселя. Поэтому при одинаковой площади пропусков ошибка возрастает вчетверо.

Методы на основе фрагментов копируют текстуру из других областей изображения, а не сглаживают пропуск. Алгоритм заполнения на основе образцов, предложенный Антонио Криминиси, Патриком Пересом и Кентаро Тоямой в 2004 году, заполняет отверстие фрагмент за фрагментом, начиная с мест, куда входят чёткие контуры. Поиск ближайших фрагментов PatchMatch, созданный Коннелли Барнсом и коллегами в 2009 году, сделал этот подход достаточно быстрым для интерактивной работы; на нём основана функция Content-Aware Fill в Photoshop. Методы на основе фрагментов отлично подходят для травы, кирпичной кладки и неба, но не работают, если отсутствующее содержимое больше нигде на изображении не встречается.

Обученные модели восстанавливают содержимое на основе того, что они видели при обучении. Контекстные кодировщики (Context Encoders) Deepak Pathak и его коллег, представленные на CVPR 2016, обучали свёрточную нейронную сеть с состязательной функцией потерь, заимствованной у генеративно-состязательных сетей, чтобы заполнять центральную замаскированную область. LaMa от Samsung AI (WACV 2022) использует быстрые свёртки Фурье, чьё рецептивное поле охватывает всё изображение уже с первого слоя, и обучается на больших случайных масках, поэтому хорошо заполняет крупные пропуски и повторяющиеся структуры, например заборы и окна. Диффузионные модели заполняют пропуск, удаляя шум с учётом видимых пикселей и, при необходимости, текстового запроса: контрольные точки Stable Diffusion для ретуширования добавляют U-Net пять входных каналов для маски и латентного представления замаскированного изображения, а RePaint Андреаса Лугмайра и коллег (CVPR 2022) использует неизменённую диффузионную модель, на каждом шаге заменяя известную область зашумлённой копией оригинала. В 2023 году Generative Fill от Adobe добавила в Photoshop ретуширование по запросу на основе генерации изображений по тексту.

Маски и удаление объектов#

Удаление объекта — это сегментация изображения, за которой следует ретуширование: маска выделяет объект, а ретуширование заполняет оставшееся отверстие. Если маски обводят объект слишком плотно, его краевые пиксели, тень и отражение остаются и выглядят как призрак, поэтому редакторы расширяют маску на несколько пикселей и захватывают тень. Сегментация экземпляров создаёт отдельную маску для каждого объекта, поэтому обычно именно её используют для удаления объектов. Модели с поддержкой запросов, например SAM 2 от Meta, превращают щелчок в маску объекта, даже если его нет ни в одном списке классов. Модели YOLO26 сегментации возвращают контур каждого объекта в виде многоугольника в result.masks.xy; cv2.drawContours с помощью cv2.FILLED растеризует многоугольник в маску для ретуширования — этот же шаг используется в руководстве по изоляции объектов сегментации, где объекты вырезают из изображения.

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

  • Расширение изображения: использует те же модели, чтобы продолжить изображение за исходными границами; маской служит новая область холста.
  • Сверхвысокое разрешение: добавляет детали по всему изображению и повышает его разрешение; маска не нужна.
  • Шумоподавление: удаляет шум, распределённый по всем пикселям, сохраняя сцену; маска также не нужна.
  • Интерполяция кадров: создаёт целые промежуточные кадры видео на основе кадров до и после них.

Применение и происхождение#

При реставрации фотографий с отсканированных отпечатков масками выделяют трещины, пыль и разрывы, а при реставрации плёнки так же обрабатывают царапины на каждом кадре архивных записей. Ретуширование и предметная съёмка помогают удалять случайные объекты, линии электропередачи и дефекты. В анализе спутниковых изображений заполнение пропусков — классическая задача ретуширования: корректор строк сканирования на Landsat 7 вышел из строя 31 мая 2003 года, оставив клиновидные полосы, которые покрывают около 22% каждой последующей сцены.

Качество обученных методов ретуширования оценивают на отложенных изображениях с синтетическими масками, используя расстояние Фреше — Инцепшн (FID) для оценки реалистичности: качественное заполнение может отличаться от исходных пикселей и при этом оставаться правильным. Та же реалистичность делает ретуширование инструментом для создания дипфейков и удаления водяных знаков. А в медицинских, научных и судебно-экспертных изображениях вымышленная структура может повлиять на диагноз или вердикт. Content Credentials фиксируют такие изменения в подписанных метаданных, и Adobe добавляет их к изображениям, отредактированным с помощью Generative Fill.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

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

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте
Компьютерное зрение в спорте
Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки
Компьютерное зрение для аэросъёмки
Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли
Компьютерное зрение в аэрокосмической отрасли
Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности
Компьютерное зрение в сфере безопасности
Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике
Компьютерное зрение в робототехнике
Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике
Компьютерное зрение в логистике
Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле
Компьютерное зрение в розничной торговле
Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении
Компьютерное зрение в здравоохранении
Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве
Компьютерное зрение в производстве
Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли
Компьютерное зрение в автомобильной отрасли
Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве
Компьютерное зрение в сельском хозяйстве
Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте
Компьютерное зрение в спорте
Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки
Компьютерное зрение для аэросъёмки
Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли
Компьютерное зрение в аэрокосмической отрасли
Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности
Компьютерное зрение в сфере безопасности
Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике
Компьютерное зрение в робототехнике
Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике
Компьютерное зрение в логистике
Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле
Компьютерное зрение в розничной торговле
Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении
Компьютерное зрение в здравоохранении
Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве
Компьютерное зрение в производстве
Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли
Компьютерное зрение в автомобильной отрасли
Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве
Компьютерное зрение в сельском хозяйстве
Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения