Family Photo Archive Семейный Фотоархив
AI-Powered Scanned Photo Processing Pipeline Конвейер обработки отсканированных фотографий с ИИ
Processing Pipeline Конвейер обработки
13 stages from raw scan to interactive web gallery 13 этапов от необработанного скана до интерактивной веб-галереи
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 сканов. Усредняет их для обнаружения цветового сдвига, виньетирования и пылинок, вносимых сканером.
Flat-Field Correction Коррекция плоского поля
Divides each scan by the scanner profile to remove hardware-introduced artifacts. Like calibrating a scientific instrument before each measurement. Делит каждый скан на профиль сканера для удаления аппаратных артефактов. Как калибровка научного прибора перед каждым измерением.
Auto-Crop Автоматическая обрезка
Detects photo boundaries using contour detection. Over-crops by 1% to remove printed borders and rounded corners from original prints. Определяет границы фотографии с помощью обнаружения контуров. Обрезает с запасом 1% для удаления печатных рамок и скруглённых углов.
How it works Как это работает
Grayscale -> GaussianBlur -> Threshold(235) -> MorphClose -> FindContours -> Filter(area > 5%) -> BoundingRect -> Over-crop 1%
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, выравнивание гистограмм, тёплый сдвиг и нейтральный баланс.
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 цветовых вариантов. Несколько моделей голосуют за наиболее естественную коррекцию. Выбирает лучшие параметры консенсусом.
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. Применяет параметры цветокоррекции, выбранные судьёй качества. Баланс белого с учётом объекта для сохранения тонов кожи.
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.
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. Применяется только при необходимости.
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 кластеризует одного человека через десятилетия. Назовите раз -- тег везде.
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 для поиска.
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. Транслитерирует и переводит. Связывает с лицевым изображением.
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 с масонской галереей, полнотекстовым поиском по тегам, фильтрами эпох, навигацией по группам лиц и интерактивным сравнением слоёв обработки.
Before / After Comparison Сравнение До / После
Drag the slider to compare processing layers Перетащите ползунок для сравнения этапов обработки
System Diagrams Диаграммы системы
Data flow and technology architecture Потоки данных и архитектура технологий
Multi-Model Committee Мультимодельный комитет
Multiple AI models analyze each photo independently, then vote on consensus tags Несколько ИИ-моделей анализируют каждую фотографию независимо, затем голосуют за консенсусные теги
Technology Stack Технологический стек
Four layers from application to hardware acceleration Четыре слоя от приложения до аппаратного ускорения
Python 3.12
OpenCV
GPT-4o
MiniCPM-V
GFPGAN
DDColor
InsightFace
Apple Vision
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