GeoTrace photo year
оценка года снимка по стилю
Это классификатор изображений от davidlnk3, который оценивает год фотографии по её фотографическому стилю. Модель используется в инструменте time_from_objects проекта GeoTrace и воспроизводит подход статьи «Blind Dates». Архитектура — логистическая регрессия на 50 классов (1950–1999) поверх замороженных эмбеддингов OpenCLIP.
💡 Ключевые особенности
- 🧊 Backbone
ViT-B-32-quickgelu/laion400m_e32не дообучается: используется сыройencode_imageбез L2-нормализации, 512-d. - 🎯 Голова —
LogisticRegression(random_state=0, max_iter=5000)из scikit-learn 1.9.1, по одному классу на год. - 📀 Веса головы опубликованы как массивы в safetensors:
weight50×512 иbias; для инференса не нужен scikit-learn. - 🩻 Обучение на De Boer Scene Detection: 31 892 train / 7 974 test, плюс 500 фото DEW; split взят у авторов статьи.
- ⚙ Модель читает стиль снимка — зерно, цветопередачу, процесс, кадрирование, — а не содержание сцены.
- 🛑 Классы ограничены 1950–1999: на фото вне диапазона модель всё равно вернёт год из него.
🧩 Пример
import numpy as np
from safetensors.numpy import load_file
t = load_file('model.safetensors')
logits = embedding @ t['weight'].T + t['bias']
year = int(t['classes'][logits.argmax()])
# embedding — сырой encode_image, 512-d
Подробнее
🏆 На тесте De Boer (7 974 изображения): accuracy 0.1366, MAE 6.71 года; без DEW — 6.65.🌍 На 400 отложенных DEW MAE 13.29 против 13.55 без добавки.
🛑 Вне диапазона 1950–1999 вывод модели недействителен как дата снимка.
⚙ Обучено 2026-11-10 на Python 3.12.15; не предназначено для идентификации людей.








Комментарии