CodeFormer

Оцените CodeFormer для разрешённой реставрации: сравните fidelity, изменения лица, обратную вставку и лицензию.

Идентификация и доступ

Название модели
CodeFormer
Доступ
Публичный код и официальный checkpoint по S-Lab License 1.0.
Тип модели
Реставрация лица
Архитектура
Transformer с обученной дискретной кодовой книгой как априорным представлением
Для кого
Редакторы изображений и разработчики, способные проверить разрешённую некоммерческую копию портрета.
Входные данные
Разрешённое лицо или полное изображение с сохранением неизменного источника.
Результат
Восстановленный кадр лица и, в полном процессе, заново составленное изображение.
Стоимость
Измеряйте настройку, выбор, инференс, необязательные этапы, сохранение и ручную проверку.
Когда не использовать
Не использовать для идентификации, доказательной реконструкции или гарантии исходных деталей лица.

Источники и метод

Лицензия и права

Лицензия
S-Lab License 1.0
Тип лицензии
Исходный код доступен
Область действия лицензии
Определённое некоммерческое использование и распространение на условиях лицензии; коммерческим пользователям следует связаться с участниками.
Открытый исходный код
Нет

Доступность

Статус
Доступна
Область действия статуса
Доступен означает проверенный публичный код и официальный checkpoint, а не доступность сервиса или проверенную совместимость.

Ключевые аспекты

Видимое управление fidelity

Диапазон 0–1 и стандарт CLI 0,5 помогают контролируемому сравнению, но не задают лучший для всех вариант.

Разделяйте лицо и фото

Выбор, восстановленный кадр и обратная вставка требуют отдельных проверок.

Некоммерческие условия

S-Lab License 1.0 не является Apache 2.0 или общим коммерческим разрешением.

Сценарии использования и ограничения

Проверить частную семейную копию

Сравнить несколько записанных настроек на разрешённом источнике и сохранить важные черты.

Изучить официальный процесс

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

Плюсы

  • Документированный вес fidelity для контролируемых сравнений.
  • Кадры лица и полное изображение можно проверять отдельно.
  • Публичный код показывает fallback и необязательные этапы.

Ограничения

  • Правдоподобные детали могут менять признаки личности.
  • Лицензия ограничивает заявленное разрешение некоммерческими целями.
  • Ошибка лица может всё равно создать файл; ресурсы нужно измерять.

Темы

  • CodeFormer

О модели

На этой странице

CodeFormer восстанавливает повреждённые изображения лиц с помощью обученного визуального априорного представления и Transformer. Результат может выглядеть чётче, но созданные детали лица не доказывают, что они присутствовали в исходной сцене. Этот обзор относится к разрешённой некоммерческой копии для показа, где источник сохраняется, а изменения проверяются. Официальный проект использует S-Lab License 1.0; это не общее разрешение на коммерческое использование.

Это оценка по источникам, а не отчёт о тестировании изображений. Мы не запускали инференс, не измеряли время или память GPU и не отправляли материалы в размещённый сервис. Ниже предложен план проверки семейной фотографии с незаполненными результатами.

Определите, что должен сохранить портрет

Слепая реставрация лица является неоднозначной задачей реконструкции. CodeFormer применяет обученную дискретную кодовую книгу как визуальное априорное представление и Transformer для предсказания кодов. Поэтому правдоподобное лицо может содержать черты, которых повреждённый оригинал не подтверждает. Исследование CodeFormer.

Авторы статьи: Shangchen Zhou, Kelvin C. K. Chan, Chongyi Li и Chen Change Loy, связанные с S-Lab в Nanyang Technological University. Эта атрибуция обозначает источник исследования и не является рекомендацией для конкретного применения.

До редактирования отметьте поворот головы, форму рта, выражение, отличительные признаки и границу лица с волосами. Храните скан без изменений, а производным файлам давайте отдельные имена. Чёткое веко или появившийся зуб не устраняют неопределённость источника.

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

Не используйте этот процесс для установления личности неизвестного человека, восстановления доказательных деталей или подтверждения подлинности. Если каждая настройка меняет важную черту, отказ от всех результатов является допустимым решением.

Разделите кадр лица и обработку всей фотографии

С --has_aligned официальный скрипт считает вход выровненным лицом и меняет размер до 512 × 512. Без флага он обнаруживает и выравнивает лица, восстанавливает кадры и может вставить их обратно. Детектор по умолчанию называется retinaface_resnet50; --only_center_face меняет выбор. Официальная реализация инференса.

Сначала убедитесь, что выбрано нужное лицо. В групповой фотографии выбор только центрального лица может исключить важного человека. Изменение веса fidelity не исправит ошибку выбора.

Отдельно проверяйте кадр и обратную вставку. Хорошее изолированное лицо может выглядеть вклеенным, если резкость, цвет или граница волос отличаются от окружения. Улучшение фона и лица через Real-ESRGAN является отдельными необязательными этапами. Руководство репозитория.

Проверяйте восстановленный кадр в рабочем масштабе и внутри полной фотографии при конечном размере показа. Начинайте без необязательных этапов Real-ESRGAN, чтобы связать изменение с конкретной операцией. Примеры выровненного лица и полной фотографии имеют разные цели и не являются взаимозаменяемыми условиями проверки.

Сравните настройки fidelity на одном источнике

Документированный вес лежит в диапазоне от 0 до 1, а значение CLI по умолчанию равно 0,5. По описанию репозитория меньшие значения тяготеют к визуальному качеству, большие к fidelity. Это не универсальный рейтинг. Зафиксируйте вход, выбор лица и остальные этапы, меняя только один вес.

Сравнивайте глаза, рот, выражение и отличительные признаки с источником, а не только резкость. Вес 1 не обещает неизменную копию, поскольку обученная реставрация остаётся активной. Архитектура CodeFormer.

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

Проверьте лицензию и реальный доступ

Официальная S-Lab License 1.0 разрешает определённое некоммерческое использование и распространение при соблюдении условий. Для коммерческого использования она направляет к участникам проекта. Поэтому CodeFormer нельзя описывать как Apache 2.0 или как общее коммерческое разрешение. Официальная S-Lab License.

При разрешённом распространении необходимо сохранять предусмотренные лицензией уведомления об авторских правах и условиях использования. Имена участников нельзя использовать для продвижения или одобрения производного продукта без предварительного письменного согласия. Для конкретного применения читайте полный текст лицензии; это резюме не является юридическим разрешением.

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

Официальный загрузчик ссылается на v0.1.0/codeformer.pth; мы не скачивали и не проверяли этот бинарный файл. Для фактической проверки зафиксируйте закреплённую ревизию репозитория b33cc7d639d6545bfcccc7e0bc6ae51f24e79c2b, официальный источник checkpoint и локально рассчитанную контрольную сумму. Не заменяйте нужный файл одноимённой копией из зеркала без явной записи. Условия, конфиденциальность, цена и доступность сервиса проверяются отдельно. Официальный загрузчик checkpoint.

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

Подготовьте ограниченную проверку семейной фотографии

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

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

Подготовьте изолированное окружение по инструкции закреплённой ревизии. Запишите реально установленные версии, выбранное устройство, полные журналы и точные входные и выходные пути. До запуска убедитесь, что нужный checkpoint и все обязательные зависимости доступны. Исправьте ошибки настройки до сравнения изображений.

Следующие команды не выполнялись. Необязательные улучшения фона и лица Real-ESRGAN выключены, но отдельный масштаб результата по умолчанию --upscale 2 сохраняется.

Пути inputs/family-photo.png и results/... приведены только как примеры. Замените их собственной разрешённой копией входного файла и отдельными каталогами вывода, чтобы не перезаписать источник.

python inference_codeformer.py -i inputs/family-photo.png -o results/family-w0 -w 0
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w05 -w 0.5
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w1 -w 1

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

Используйте лист приёмки для конкретного лица

ЭтапРешениеСохраняемое доказательство
ИсточникКакие признаки видимы или неопределённы?Неизменный скан с пометками.
ВыборПравильное ли лицо выровнено?Обнаруженный кадр и положение в фото.
ИзменениеИзменилось ли выражение или узнаваемая черта?Сопоставимые кадры, настройки и решение.
ВставкаЕстественно ли лицо при целевом размере?Полное изображение с проверенными границами.
ПередачаОтличается ли производная копия от архива?Раздельные файлы и примечание о реставрации.

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

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

Найдите первый неверный промежуточный результат

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

НаблюдениеПервая проверкаКонтролируемое действие
Человек отсутствуетФлаги выбора и найденные лицаИсправить выбор до изменения веса.
Лицо не изменилосьЖурнал и пара кадровУстранить ошибку и повторить тот же случай.
Выражение изменилосьВидимые признаки в одном масштабеСравнивать одну настройку или отклонить все.
Лицо выглядит вклееннымГраницы и необязательные этапыПроверить вставку до улучшения.
Не хватает ресурсовРазмер, число лиц, устройство и опцииДокументированно уменьшить опыт и измерить.

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

Измерьте ресурсы всей работы

Вспомогательный код может выбрать MPS, CUDA или CPU по своим проверкам. Наличие этих путей не доказывает работу на вашем компьютере. Здесь не установлены минимальная VRAM, универсальное время или гарантированная производительность. Официальный выбор устройства.

Отделяйте загрузку и запуск от повторных инференсов. Записывайте размеры, число лиц, детектор, вес, необязательные этапы, оборудование, сохранение и ручную проверку. Путь обработки видео накапливает входные, затем выходные кадры в памяти; его нельзя называть доказанным ограниченным потоком.

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

Выберите следующий шаг по доказательствам

Если разрешённая копия приемлема при допустимой коррекции, храните источник, настройки и производный файл вместе. Иначе выберите лучший скан, ручную ретушь или ограниченную коррекцию без выдумывания деталей. Этот обзор не определяет победителя между CodeFormer и GFPGAN и не воспроизводит benchmark.

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

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