Logo
Overview

AI-ассистент для обработки каталогов: автоцветокоррекция и художественная постобработка

May 26, 2026
9 min read

AI-ассистент для обработки каталогов: автоцветокоррекция и художественная постобработка

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

В прошлый раз я уже рассказывал, как с помощью ИИ и ImageMagick автоматизировал базовую цветокоррекцию каталога из 5000+ изображений. Тот пост был про MVP — «как вообще к этому подступиться». Сейчас пора углубиться: как из разовой автоматизации сделать полноценного AI-ассистента, который умеет не только выравнивать баланс белого, но и применять художественную постобработку, держать очередь задач и встраиваться в чужие пайплайны.

Зачем вообще AI-ассистент, если есть пресеты Lightroom

Резонный вопрос. У Lightroom и Capture One отличные пресеты, у RAW-конвертеров — батч-режим, ImageMagick справляется с большинством линейных трансформаций без всякого ИИ. Так почему ассистент?

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

AI-ассистент решает другую задачу. Он не применяет одну и ту же трансформацию — он подбирает трансформацию под конкретный кадр, опираясь на эталонную выборку. Эталоны вы готовите вручную (10–20 штук, отредактированных так, как должно выглядеть всё остальное). Ассистент учится у эталонов и генерализует подход на оставшиеся 4980 изображений.

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

Это не серебряная пуля (ассистент не превратит размытое селфи в обложку Vogue), но для каталогов с условно стабильным предметом съёмки — вполне рабочая история.

Из чего состоит ассистент: архитектура пайплайна

Если бы это была одна функция «дай мне обработанные картинки» — статья кончилась бы на втором абзаце. Реальность сложнее: ассистент — это связка из нескольких слоёв, каждый делает свою маленькую часть.

100%
graph TD
  INBOX["Входной каталог<br/>5000+ изображений"]
  REF["Эталоны<br/>(10-20 пар до/после)"]
  PRE["Препроцессинг<br/>(ImageMagick: формат, EXIF)"]
  CLASS["Классификатор сцен<br/>(VLM-модель)"]
  QUEUE["Очередь задач<br/>(Redis / RabbitMQ)"]
  LUT["LUT-генератор<br/>(анализ дельт RGB)"]
  AI["AI-обработчик<br/>(художественная постобработка)"]
  QC["QC-агент<br/>(проверка результата)"]
  OUT[("Выходной каталог<br/>+ метаданные")]
  LOG[("Журнал решений<br/>и версии LUT")]

  INBOX --> PRE
  REF --> LUT
  REF --> CLASS
  PRE --> CLASS
  CLASS --> QUEUE
  QUEUE --> LUT
  LUT --> AI
  AI --> QC
  QC -->|"ok"| OUT
  QC -->|"повтор"| QUEUE
  AI --> LOG
  LUT --> LOG

  style INBOX fill:#4a90d9,stroke:#2c5f8a,color:#fff
  style REF fill:#50c878,stroke:#3a9a5c,color:#fff
  style PRE fill:#4a90d9,stroke:#2c5f8a,color:#fff
  style CLASS fill:#f0a500,stroke:#c88400,color:#fff
  style QUEUE fill:#7b68ee,stroke:#5a4db2,color:#fff
  style LUT fill:#f0a500,stroke:#c88400,color:#fff
  style AI fill:#f0a500,stroke:#c88400,color:#fff
  style QC fill:#50c878,stroke:#3a9a5c,color:#fff
  style OUT fill:#7b68ee,stroke:#5a4db2,color:#fff
  style LOG fill:#e0e0e0,stroke:#999,color:#222

На диаграмме видно главное: ассистент — это конвейер с явными границами ответственности. Препроцессинг приводит входные файлы к единому знаменателю (формат, ориентация, разрешение). Классификатор группирует кадры по типу сцены — потому что для предметки на белом фоне и для лайфстайла нужны разные LUT. Очередь развязывает скорость классификации и скорость обработки. LUT-генератор и AI-обработчик делают цвет и художку. QC-агент сверяет результат с эталоном и либо выпускает наружу, либо отправляет на повтор. Журнал решений — отдельная история, к которой мы ещё вернёмся.

Препроцессинг: грязная работа без ИИ

Первый слой — самый скучный и самый важный. Если на входе зоопарк из RAW, JPEG, HEIC, PNG в разной ориентации и разных цветовых пространствах — ассистент будет давать стабильно непредсказуемые результаты (потому что одна и та же операция в sRGB и в Display P3 даёт разные пиксели).

На этом этапе ImageMagick делает три вещи:

  • приводит всё к единому формату и цветовому пространству;
  • читает EXIF и поворачивает изображение по ориентации;
  • ресайзит до рабочего разрешения, если оригинал избыточен (часто это 2× от того, что реально нужно в каталоге).

ИИ здесь не нужен. Это детерминированный шаг с понятными правилами, и любая попытка «сделать его умнее» обычно заканчивается багами.

Классификатор сцен: VLM в роли сортировщика

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

Раньше для такого писали отдельные классификаторы на CNN. Сейчас проще взять multimodal-модель (VLM), скормить ей картинку и пару эталонов, и спросить «это какая категория из списка». Точности 95% обычно достаточно — пограничные случаи всё равно уйдут на ручной разбор через QC.

Тут уместно вспомнить про Model Context Protocol — если у вас уже есть MCP-инфраструктура, классификатор удобно подключать как отдельный tool с фиксированным контрактом «изображение на вход — категория и confidence на выход».

LUT-генератор и художественная постобработка

LUT (Look-Up Table) — это, по сути, таблица соответствий «исходный цвет → целевой цвет». Если у вас есть пара «до/после», LUT извлекается математически: смотрим на распределения каналов R, G, B на эталоне-исходнике и на эталоне-результате, строим функцию преобразования. Это первая, техническая часть постобработки.

Художественная часть — то, что не сводится к одной кривой. Лёгкое размытие фона, локальное усиление контраста на предмете, тёплый акцент на тенях. Здесь уже работает диффузионная или image-to-image модель: ей даётся вход + эталон стиля + промпт-описание желаемого результата. На выходе — кадр, в котором цвет уже выровнен LUT-ом, а художка наложена сверху.

Важный момент: художественная обработка должна быть обратимой и параметризованной. Ассистент не должен «улучшать» по своему вкусу — он должен применять ровно тот набор изменений, который вы согласовали на этапе эталонов. Любая попытка дать модели свободу обычно заканчивается тем, что половина каталога приобретает фирменный AI-овский глянец, который заказчик потом просит снять.

Сравнение подходов: пресет vs LUT vs AI-ассистент

Чтобы было нагляднее, что мы получаем — таблица. На вход 5000 изображений, разные локации, два фотографа.

ПараметрПресет LightroomСгенерированный LUTAI-ассистент
Стоимость подготовкиНизкая (1 пресет)Средняя (требует эталонов)Высокая (эталоны + инфраструктура)
Учёт типа сценыНетНетДа (через классификатор)
Художественная обработкаТолько параметрическаяНетДа
Стабильность результатаВысокаяОчень высокаяСредняя (зависит от модели)
Время на 5000 кадров30–60 минут10–20 минут4–8 часов
Цена ошибкиВсе 5000 испорчены одинаковоВсе 5000 испорчены одинаковоЧасть кадров уйдёт в QC

Парадокс: ассистент — самый медленный из вариантов и самый дорогой в подготовке. Но это единственный, который масштабируется на разнородный каталог без ручной доводки. Для однородной съёмки в студии за один день — берите пресет, не мучайте себя и инфраструктуру.

Очередь задач: почему она нужна почти сразу

Соблазн велик: написать скрипт for file in *.jpg, дёргать API в цикле и идти пить кофе. На 50 файлах это работает. На 5000 — нет.

Причин три:

  1. API-провайдеры падают и троттлят. Если на 3478-м файле сервис вернул 429 — у вас в скрипте либо retry-в-лоб (который добивает квоту), либо тихая потеря файла.
  2. Нужна параллельность с контролем. Хочется обрабатывать 8 файлов одновременно, но не 80 (иначе сервис уйдёт в защиту, а у вас закончится память).
  3. Нужен возобновляемый прогресс. Упал процесс на 4000-м файле — не хочется начинать с нуля.

Очередь решает всё это бесплатно. Берёте Redis или RabbitMQ, кладёте туда задачи, запускаете воркеров — и получаете честный пайплайн с retry, dead-letter и метриками. Эту же очередь, кстати, удобно подсадить под автопубликацию через cron, Claude Code и Docker, если ассистент — часть большего конвейера.

Журнал решений: то, без чего ассистент превращается в чёрный ящик

Через две недели работы заказчик пришлёт сообщение «вот эти 12 фото обработаны не так, верните как было». Если у вас нет журнала — у вас нет и ответа. Вы не знаете, какой LUT применился, какая модель отрабатывала художку, какой промпт использовался.

Журнал должен фиксировать минимум:

  • хеш входного файла и хеш выходного;
  • версию LUT-а и параметры (какие эталоны использовались);
  • модель и версию для художки + промпт;
  • результат QC-агента и его комментарий;
  • временные метки всех шагов.

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

QC-агент: проверка перед выпуском

Последний слой — автоматический контроль качества. Без него ассистент — это «загрузил, обработал, выгрузил, надеешься на лучшее».

QC-агент берёт пару «вход / выход» и эталон того же класса, считает несколько метрик: гистограммную близость, SSIM (structural similarity), перцептивную дистанцию через предобученную модель. Если значения в зелёной зоне — кадр уходит в выходной каталог. Если жёлтая — кадр всё равно выходит, но помечается флагом «глянуть глазами». Если красная — кадр улетает обратно в очередь с пометкой «попробовать другой LUT» или сразу в ручную доработку.

Стоит отметить: QC-агент не обязан быть AI-моделью. На большинстве каталогов хватает старых добрых метрик и пары порогов, которые вы калибруете на эталонной выборке. ИИ нужен там, где «правильно» — это субъективное чувство, а не цифра.

Когда AI-ассистент — это перебор

Чтобы честно: не каждому каталогу нужен такой пайплайн. Признаки, что вы перепроектировали:

  • Каталог меньше 500 изображений — пресет в Lightroom закроет вопрос за вечер.
  • Все съёмки в одинаковых условиях — LUT без ассистента справится.
  • Художественная постобработка не нужна — например, медицинские или техдок-фотографии, где любая «художка» = искажение.
  • У вас один-единственный каталог раз в год — окупаемость инфраструктуры будет отрицательной до конца времён.

Ассистент имеет смысл, когда обработка каталогов — это повторяющийся процесс с разнородными входами и художественными требованиями. Один e-commerce проект с обновлением ассортимента раз в месяц — да. Однократная обработка свадебного альбома — нет.

Куда это растёт дальше

Самое интересное начинается, когда ассистент становится частью большего контура. Появляются смежные сценарии: автоматическая генерация превью под маркетплейсы (каждый со своими требованиями к фону и пропорциям), подбор обложек под A/B-тесты, динамическая ресайз-фабрика для CDN. Архитектура с очередью и журналом расширяется на эти кейсы почти бесплатно — добавляется новый воркер, новый класс задач, и ассистент уже работает не только с цветом.

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

Заключение

Хороший AI-ассистент для обработки каталогов — это не «модель, которая делает красиво». Это конвейер с чёткими границами: препроцессинг, классификация, LUT, художка, QC, журнал. Каждый слой решает одну задачу и не лезет в чужую — и именно поэтому всё это вообще можно поддерживать в продакшене.

PS. Если на ревью архитектуры кто-то предложит «давайте всё это заменим одним промптом к мультимодальной модели» — улыбнитесь и откройте журнал решений. Через пару месяцев вы будете благодарны себе прошлому за то, что не заменили.