ИИ-модуль для восстановления размытых лиц на фото
Проверили гипотезу, обучили ИИ-модель и создали рабочий прототип, готовый к интеграции.Клиент
Стартап из Германии. Развивал облачную платформу для обработки изображений. Пользователи – фотостудии, контент-агентства и компании, которым важно быстро улучшать визуальные материалы без участия дизайнеров и ручной постобработки.
У сервиса уже были инструменты для цветокоррекции, повышения резкости и шумоподавления, но они не справлялись с главным: с задачей по восстановлению лиц. На размытых портретах фильтры усиливали контраст, но лица теряли индивидуальные черты. На тот момент ни один из конкурентов также не предлагал действительно качественного решения: даже в сервисах с элементами машинного обучения результат часто выглядел искусственно.
Клиент увидел в этом конкурентное окно для своего продукта: функция реалистичного восстановления лиц стала бы весомым преимуществом платформы на рынке и позволила бы вывести ее на уровень премиум-сегмента.
Вызовы
В конце 2021 года владелец бизнеса обратился к нам с вопросом: можно ли реализовать такую функцию технически. Он увидел рыночный шанс, а мы – технологический путь к его реализации.
На тот момент технологии восстановления структуры лица (а не просто повышения резкости, как в массовых сервисах) только начинали выходить за пределы исследовательских лабораторий. Например, алгоритм GFPGAN появился в открытом доступе всего за несколько месяцев до обращения.
И мы предложили его протестировать. Вместе с клиентом сформулировали гипотезу: нейросеть, обученная на специализированных данных, сможет достраивать лицо на уровне структуры – то есть восстанавливать исходные черты, а не генерировать новое изображение.
Для подтверждения гипотезы мы предложили начать с Proof of Concept: создать рабочую модель, которую можно протестировать на реальных пользовательских данных.

Качество исходных данных
Пожалуй, основная сложность. Пользователи загружали снимки с разным уровнем освещения и фокусировки; иногда лицо занимало всего 5-10 % кадра. При этом требовалось обеспечить время отклика менее секунды и делать это без потери точности.

Избежать эффекта искусственности
Сделать лицо четким довольно легко, а вот «оживить» его – задача заметно сложнее. Большинство готовых моделей выдавали слишком идеальные изображения. Такой результат выглядел технически точным, однако терял живость и вызывал ощущение чужеродности: будто на фото не человеческое лицо, а маска.
Нам предстояло найти баланс, при котором нейросеть усиливает качество, но не теряет естественность – так, чтобы результат выглядел как настоящее фото, а не цифровая копия.
Процесс разработки
Как выглядел рабочий прототип
Прототип был реализован в виде REST API. Это позволило нам протестировать модель в условиях, близких к реальной интеграции. После обработки изображение сохраняло исходный контекст, возвращая при этом четкость и узнаваемые черты лица.
Определение
Поиск лиц на изображении и выделение зон, требующих восстановления.
Предобработка
Очистка области от шумов и артефактов, подготовка данных для реконструкции.
Восстановление
Генерация утраченных деталей и текстур с помощью нейросети.
Постобработка
Коррекция цвета, контраста и освещения для естественного восприятия.
Как мы обучали саму модель:
Технологический стек
1. Предобработка. С помощью OpenCV мы автоматически выделяли лица, выравнивали масштаб и исключали кадры с некорректным ракурсом или частичным перекрытием.
2️. Дообучение. Для проверки гипотезы мы выбрали архитектуру GFPGAN – одну из первых открытых моделей, способных восстанавливать лицо не просто по пикселям, а по структуре. GFPGAN основана на генеративно-состязательные сети (GAN) и обеспечивает более точное восстановление, чем классические модели. В то время ее использовали в основном энтузиасты и исследователи, но мы решили протестировать модель в прикладных бизнес-условиях.
3️. Тонкая настройка. Добавили постобработку, корректирующую освещение и баланс цвета, чтобы восстановленные лица выглядели естественно и гармонично.
Аугментация данных
Чтобы система уверенно работала с реальными пользовательскими снимками – неидеальными, размытыми, снятыми на бегу, – мы с самого начала обучали ее на максимально разнородных данных. Например, намеренно дополнили датасет искусственно созданными искажениями (это и есть аугментация данных): размывали, обрезали и сжимали кадры, имитируя типичные ошибки камер. Это помогло модели научиться уверенно восстанавливать лица даже на сложных снимках.
Технологии
Бэкенд
Python
Модель
GFPGAN
Библиотека
OpenCV
Библиотека
PyTorch
Результат
Proof of Concept выполнил свою задачу: доказал, что технология работает и имеет коммерческий потенциал. Мы взяли на себя весь цикл – от отбора архитектуры и подготовки данных до построения API, готового к интеграции в облачный сервис.
На этапе пилота модель уверенно восстанавливала лица даже при сильном размытии. Среднее время обработки одного изображения составило около 0,8 секунды, а визуальные тесты показали устойчивое улучшение восприятия деталей. В кейсе мы используем визуальные прототипы, чтобы показать работу модели и сохранить приватность реальных изображений.
Несмотря на сильные результаты, клиент решил не выводить модель в продакшен сразу после пилота. Технология потребовала бы серьезных вычислительных ресурсов и отдельного цикла оптимизации под массовую нагрузку. Клиент сосредоточился на функциях, которые приносили более быстрый пользовательский эффект, а модуль восстановления лиц оставил на исследовательском этапе – как направление, к которому он планирует вернуться на следующем шаге развития продукта.
изображений использовано при обучении и тестировании модели.
среднее время отклика API.
визуальная оценка реалистичности по тестовым сериям.
Что происходит дальше:
Мы получаем запрос, обрабатываем его в течение 24 часов и связываемся по указанным вами e‑mail или телефону для уточнения деталей.
Подключаем аналитиков и разработчиков. Совместно они составляют проектное предложение с указанием объемов работ, сроков, стоимости и размера команды.
Договариваемся с вами о следующей встрече, чтобы согласовать предложение.
Когда все детали улажены, мы подписываем договор и сразу же приступаем к работе.