Photo Archive Фотоархив
232 photos processed 232 фотографии обработаны

Family Photo Archive Семейный Фотоархив

AI-Powered Scanned Photo Processing Pipeline Конвейер обработки отсканированных фотографий с ИИ

232
PhotosФотографий
600
DPI
13
StepsЭтапов
6
AI ModelsИИ-моделей
Architecture Архитектура

Processing Pipeline Конвейер обработки

13 stages from raw scan to interactive web gallery 13 этапов от необработанного скана до интерактивной веб-галереи

Blue = image processing, Purple = AI/ML, Green = output Синий = обработка, Фиолетовый = ИИ/МО, Зелёный = вывод
1

Scanner Profile Analysis Анализ профиля сканера

Extracts white border regions from all 232 scans. Averages them to detect consistent color cast, vignetting, and dust spots introduced by the scanner hardware. Извлекает белые области границ из всех 232 сканов. Усредняет их для обнаружения цветового сдвига, виньетирования и пылинок, вносимых сканером.

OpenCVNumPy
2

Flat-Field Correction Коррекция плоского поля

Divides each scan by the scanner profile to remove hardware-introduced artifacts. Like calibrating a scientific instrument before each measurement. Делит каждый скан на профиль сканера для удаления аппаратных артефактов. Как калибровка научного прибора перед каждым измерением.

OpenCV
3

Auto-Crop Автоматическая обрезка

Detects photo boundaries using contour detection. Over-crops by 1% to remove printed borders and rounded corners from original prints. Определяет границы фотографии с помощью обнаружения контуров. Обрезает с запасом 1% для удаления печатных рамок и скруглённых углов.

OpenCVContour Detection

How it works Как это работает

Grayscale -> GaussianBlur -> Threshold(235) -> MorphClose
-> FindContours -> Filter(area > 5%) -> BoundingRect -> Over-crop 1%
4

Generate Color Variants Генерация цветовых вариантов

Generates 5 color correction variants using different strategies: subject-aware white balance, CLAHE, histogram equalization, warm shift, and neutral balance. Генерирует 5 вариантов цветокоррекции с разными стратегиями: баланс белого по объекту, CLAHE, выравнивание гистограмм, тёплый сдвиг и нейтральный баланс.

OpenCVCLAHELAB Color Space
5

Quality Judge Судья качества

AI committee evaluates all 5 color variants. Multiple models vote on which correction looks most natural. Picks the winning parameters by consensus. ИИ-комитет оценивает все 5 цветовых вариантов. Несколько моделей голосуют за наиболее естественную коррекцию. Выбирает лучшие параметры консенсусом.

GPT-4oGeminiClaudeQwen-VL
6

Apply Best Color Correction Применить лучшую цветокоррекцию

Applies the winning color correction parameters chosen by the Quality Judge. Subject-aware white balance weighted toward the main subject to preserve skin tones. Применяет параметры цветокоррекции, выбранные судьёй качества. Баланс белого с учётом объекта для сохранения тонов кожи.

OpenCV SaliencyCLAHE
7

AI Restoration ИИ-реставрация

GFPGAN and CodeFormer restore damaged faces. Real-ESRGAN removes scanner noise. All running locally on Apple Silicon with MPS Metal acceleration. GFPGAN и CodeFormer восстанавливают повреждённые лица. Real-ESRGAN удаляет шум сканера. Всё работает локально на Apple Silicon с ускорением MPS Metal.

GFPGANCodeFormerReal-ESRGANMPS
8

Auto-Colorization Автоматическая колоризация

Automatically detects B&W and sepia photos via saturation analysis. Colorizes using DDColor with Apple Metal acceleration. Only applies when needed. Автоматически определяет ч/б и сепия-фотографии через анализ насыщенности. Колоризация DDColor с ускорением Apple Metal. Применяется только при необходимости.

DDColorApple Metal
9

Face Clustering Кластеризация лиц

Detects faces with InsightFace, extracts 512-dimensional embeddings. DBSCAN clusters the same person across decades. Name once, auto-tag everywhere. Обнаруживает лица с InsightFace, извлекает 512-мерные эмбеддинги. DBSCAN кластеризует одного человека через десятилетия. Назовите раз -- тег везде.

InsightFaceONNX RuntimeDBSCAN
10

AI Photo Tagging ИИ-тегирование фотографий

Four AI models analyze each photo: description, era estimation, mood, setting, objects, people count. Committee consensus produces structured JSON for search. Четыре ИИ-модели анализируют каждую фотографию: описание, эпоха, настроение, обстановка, объекты, люди. Консенсус комитета формирует JSON для поиска.

GPT-4oGeminiClaudeQwen-VL
11

Back-Side OCR Распознавание текста на обороте

Reads Russian/Cyrillic handwriting on photo backs using Apple Vision framework. Transliterates and translates. Pairs with front image in metadata. Читает русский/кириллический почерк на обороте фотографий с помощью Apple Vision. Транслитерирует и переводит. Связывает с лицевым изображением.

Apple VisionCyrillic OCRNeural Engine
12

Web Photo Browser Веб-просмотрщик фотографий

Static HTML with masonry gallery, full-text tag search, era filters, face group navigation, and interactive comparison slider between all processing layers. Статический HTML с масонской галереей, полнотекстовым поиском по тегам, фильтрами эпох, навигацией по группам лиц и интерактивным сравнением слоёв обработки.

HTML5CSS GridLunr.jsclip-path
Demo Демо

Before / After Comparison Сравнение До / После

Drag the slider to compare processing layers Перетащите ползунок для сравнения этапов обработки

Faded Original Выцветший оригинал
AI Restored ИИ-восстановлено
BeforeДо AfterПосле
Visual Reference Визуальные материалы

System Diagrams Диаграммы системы

Data flow and technology architecture Потоки данных и архитектура технологий

Data Flow Diagram Диаграмма потоков данных
Input sources, processing pipeline, output directories, and metadata JSON structure Источники входных данных, конвейер обработки, выходные директории и структура JSON-метаданных
Technology Stack Diagram Диаграмма технологического стека
Four layers: Application, AI/ML, Processing, and Hardware Acceleration Четыре слоя: Приложение, ИИ/МО, Обработка и Аппаратное ускорение
AI Architecture ИИ-архитектура

Multi-Model Committee Мультимодельный комитет

Multiple AI models analyze each photo independently, then vote on consensus tags Несколько ИИ-моделей анализируют каждую фотографию независимо, затем голосуют за консенсусные теги

Multi-Model Committee Voting Diagram Диаграмма комитетного голосования моделей
GPT-4o, Gemini, Claude, and Qwen-VL each analyze the photo. Results merge via confidence-weighted consensus. GPT-4o, Gemini, Claude и Qwen-VL анализируют фото. Результаты объединяются взвешенным консенсусом.
Infrastructure Инфраструктура

Technology Stack Технологический стек

Four layers from application to hardware acceleration Четыре слоя от приложения до аппаратного ускорения

Python 3.12

RuntimeСреда выполнения
uv package manager

OpenCV

Image ProcessingОбработка изображений
Crop, color correct, scanner profile

GPT-4o

AI TaggingИИ-тегирование
~$0.05 for 232 photos

MiniCPM-V

Local VisionЛокальное зрение
Ollama, 5.5GB, free

GFPGAN

Face RestorationРеставрация лиц
MPS acceleration

DDColor

ColorizationКолоризация
Apple Metal GPU

InsightFace

Face ClusteringКластеризация лиц
512-d embeddings, ONNX

Apple Vision

OCRРаспознавание текста
Native Cyrillic, Neural Engine
Get Started Начало работы

Quick Start Быстрый старт

# Install dependencies / Установка зависимостей
uv sync

# Process one photo / Обработка одной фотографии
uv run python main.py single photos/Scanned-image03-15-2026-094410-1.jpg --debug

# Process all photos / Обработка всех фотографий
uv run python main.py batch photos/

# Build web viewer / Создание веб-просмотрщика
uv run python main.py build-web
open output/web/index.html