tenzorНачать
Все статьи

Почему картинка портится после нескольких правок и что с этим делать

Знакомая история: вы сгенерировали картинку, попросили поменять фон, потом убрать лишний предмет, потом подправить цвет. К пятой правке результат выглядит грязновато. Появляется мелкая сеточка, края теряют чёткость, по однотонным участкам ползёт зерно.

Это не ваше воображение и не случайность. У эффекта есть название — цифровая рябь, и в свежей работе его впервые разобрали по частям и предложили лечить.

Цифровая рябь: как накапливаются артефакты при многократных правках картинки

Откуда берётся рябь

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

Одну такую погрешность глаз не замечает. Но следующая правка берёт за образец уже испорченный кадр и добавляет свои искажения поверх. Ошибки не гасятся, а копятся — как при многократном пересъёме фотографии с экрана.

Два разных дефекта, которые выглядят похоже

Авторы работы разделили рябь на две породы. Решётка — регулярный узор, похожий на сетку; он повторяется с фиксированным шагом и потому хорошо вычисляется. Зерно — хаотичная шершавость, намертво перемешанная с содержанием кадра. Лечить их одним фильтром нельзя: то, что убирает сетку, зерно не трогает, а то, что давит зерно, заодно размывает детали.

Два вида артефактов при правке картинки: решётка и зерно

Что предложили исследователи

Метод назвали Mi-Ripple. Работает он в три приёма, и главное в нём — сначала поставить диагноз, а уже потом лечить.

  1. Вырезать решётку. Регулярный узор проявляется как выраженный пик, если разложить картинку на частоты. Этот пик убирают точечно, не трогая остальное. В замерах авторов отклонение по всей картинке после такой операции держалось в пределах 0,08–0,44 единицы яркости, то есть содержание кадра почти не пострадало.
  2. Сгладить зерно с оглядкой на структуру. Там, где зерно переплетено с деталями, фильтр действует мягче, чтобы не съесть фактуру ткани или волосы.
  3. Перегенерировать с чистого образца. Если фильтрация стёрла бы настоящие детали, картинку рисуют заново — но образцом берут уже очищенную версию, а не замусоренную. В их примере это снизило количество мусора в результате на 45%.

Третий пункт и есть самый практичный вывод работы. Качество следующего шага определяется не столько силой модели, сколько чистотой того, что вы ей подсунули как основу.

Что это значит для вас прямо сейчас

Инструмента Mi-Ripple в обычных сервисах пока нет, это исследовательская работа. Но выводы из неё применимы без всякого инструмента.

  • Правьте от оригинала, а не от последней версии. Если нужно поменять три вещи, лучше вернуться к исходной картинке и попросить всё сразу, чем строить цепочку из трёх правок.
  • Соберите пожелания в один запрос. «Сделай фон светлее, убери стул слева и добавь тёплый свет» отработает чище, чем те же три просьбы подряд.
  • Перезаливайте исходник заново, если цепочка затянулась. Пятая правка поверх четвёртой почти всегда хуже первой правки поверх оригинала.
  • Для точечных операций берите точные инструменты. Обрезать, повернуть, сжать, поменять размер, убрать фон — всё это делается без перерисовки кадра, а значит, без ряби. В нашем чате такие операции выполняются именно так: картинка не генерируется заново.
  • Сложные правки отдавайте сильной модели. Дешёвая модель в цепочке правок сыплется быстрее.
Как править картинку, чтобы она не портилась

Простое правило

Чем длиннее цепочка правок, тем хуже результат. Короткая цепочка от чистого исходника почти всегда выигрывает у длинной от замученного.

Почему проблему заметили только сейчас

Пока картинки генерировали по одному запросу, накапливаться было нечему: один проход, один результат. Редактирование по образцу стало массовым недавно, вместе с ним и вылезла цифровая рябь. Так обычно и бывает: сначала появляется удобная возможность, потом выясняется её цена, и только потом кто-то берётся её измерять.

Работа как раз про измерение. Авторы не просто описали неприятный эффект, а привязали его к цифрам: сколько мусора убрано, насколько изменилась картинка, что именно испортилось. Дальше на этой основе можно строить инструменты.

Что такое цифровая рябь?+

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

Через сколько правок эффект становится заметен?+

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

Как этого избежать?+

Собирать пожелания в один запрос, править от оригинала, а не от последней версии, и заново загружать исходник, если цепочка затянулась.

Можно ли починить уже испорченную картинку?+

Частично. Регулярную сетку убрать реально, зернистость сложнее — она перемешана с содержанием кадра. Проще перегенерировать от чистого исходника.

Что дальше почитать

Попробуйте редактирование картинок

Кисть по нужной области, точные операции без перерисовки кадра и модели на выбор.

Открыть картинки