Фотограф собрал ИИ-конвейер для аналоговой плёнки вместо четырёх часов рутины

Четыре часа на тридцать шесть кадров — именно столько времени уходило у разработчика и фотографа по имени Шан на оцифровку всего одного ролика плёнки с аналоговой зеркалки Canon AE-1P. Сценарий знаком каждому, кто снимает на плёнку: забрать негативы из лаборатории, разрезать эмульсию на полоски, аккуратно заправить их в пластиковые рамки сканера Plustek, запустить VueScan, затем открыть сырые сканы в darktable, вручную инвертировать цвета и бесконечно вычищать пылинки штампом. Вместо медитации получалась изнурительная механическая рутина, убивающая всякое желание снимать дальше.
За одиннадцать дней и шестьдесят четыре коммита Шан собрал собственный программный конвейер, переложивший постобработку на локальные нейросети и алгоритмы. Результатом стал не просто закрытый скрипт для личного пользования, а целая виртуальная студия с интерактивным веб-архивом.
Треск шестерёнок и спасение сканера
Первая идея автора была радикальной: полностью убрать человека из цепочки и доверить физическое сканирование ИИ-агенту Claude через открытый драйвер SANE. Эксперимент едва не закончился гибелью дорогого оборудования. Из-за логической ошибки в коде агент перепутал направления осей сканера. В финале прохода система отправляла каретку обратно слепым циклом — ровно на 7010 шагов при разрешении 900 dpi, рассчитывая, что механизм двигался вперёд. Каретка тем временем уже стояла в концевом ограничителе, мотор продолжал с усилием проворачивать редуктор, пластик трещал, а шестерни стирались в порошок.

После этого инцидента автор отказался от попыток управлять оптической механикой сканера через нейросеть, вернулся к стабильному софту VueScan для самого процесса захвата и сосредоточил автоматизацию на этапе после сканирования.
Конвейер: от инверсии до семантических тегов
Когда пачка негативов попадает в компьютер, в дело вступает связка из Python и нейросетевых моделей:
- Честная цветопередача на NumPy. Обычная покадровая инверсия негатива часто ломает баланс: кадры с закатами или ярким небом выбиваются по плотности и уходят в ядовитые оттенки. Шан написал скрипт, который замеряет плотность цвета и баланс по всей длине пленки, ориентируясь на пустой лидерный кадр в начале катушки. Баланс белого и весовка выравниваются сразу для всей серии из 36 кадров.
- Ретушь без замыливания через LaMa. Борьбу с микроскопической пылью и царапинами взяла на себя inpainting-модель LaMa. Она находит дефекты на маске и дорисовывает под ними текстуру, анализируя соседние участки кадра, как умный инструмент восстановления в графических редакторах. Чтобы алгоритм случайно не стёр реальные детали вроде бликов на морской воде, Шан встроил систему проверки: спорные или зернистые зоны интерфейс обводит янтарными или зелёными кружками, отправляя их на быстрый ручной контроль. Тут же выведены базовые слайдеры экспозиции, контраста и цветовой температуры.
- Каталогизация за секунды. Готовый кадр забирает мультимодальная модель Qwen3-VL, развернутая локально через Ollama. За три секунды она считывает сцену и генерирует семантические поисковые теги, прикрепляя к файлу метаданные: модель камеры, оптику, дату и тип эмульсии — например, редкую плёнку вроде Revolog Rasp 200.

Войлочный стол и интерактивные катушки
Финальные изображения вместе с метаданными скрипт автоматически отгружает в облачное хранилище Cloudflare R2. Чтобы не превращать архив в скучную сетку интернет-галереи, автор собрал для сайта darkroom.shannadige.com трехмерное окружение на Three.js. Зритель попадает за виртуальный рабочий стол с текстурой мягкого войлока, на котором лежат фотореалистичные металлические баночки из-под плёнки с потертыми наклейками и следами использования. Клик по банке плавно вытягивает на свет виртуальную полоску негативов, позволяя рассмотреть снимки в деталях. На момент запуска в базу перенесли двадцать два ролика — триста четырнадцать кадров, снятых с 2020 года.
Нас в этой истории подкупает здоровый прагматизм. Вместо генерации картинок из пустоты автор использовал современные модели как невидимых ассистентов для физического, аналогового ремесла. Это хороший ориентир для любого арт-директора или фотографа: отдать алгоритмам пыль, рутинную калибровку и сортировку тегов, оставив себе оптику, свет и композицию кадра.

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



