мама:Найди то фото, где мы на море и у меня та панама.
я:А год примерно?
мама:Ну-у… где-то две тысячи десятый. Может, одиннадцатый.
я:(открывает архив из 80 000 файлов)
Вечер поиска по папкам «Новая папка (3)» и «с телефона перекинуть РАЗОБРАТЬ» — и стало ясно: архив хранит память, но не умеет её отдавать. Kaddroo родился в тот вечер — как инструмент, который находит «то самое фото» за секунды, не забирая архив в облако и не трогая файлы.
записка первая · до
Как выглядел архив
Никакого криминала — обычная жизнь цифрового семьи-архива: копии копий, съёмные диски, «разберу потом». Проблема не в хранении, а в том, что у архива нет предметного указателя: искать можно только по датам и папкам, а память людей работает иначе — по содержанию, людям и местам.
D:\фото\
├── Новая папка
│ ├── Новая папка (2)
│ │ └── IMG_20100718_1642.jpg ← вот оно
│ └── Новая папка (3)
├── с телефона перекинуть РАЗОБРАТЬ
├── с телефона перекинуть РАЗОБРАТЬ (2)
├── старый ноут 2013
└── копия_для_мамы_финал_2
после прогона Kaddroo: та же структура папок, но сверху — индекс понимания: #море #панама? нет — #мама · 2010 · Сочи · найдено за 1,2 с
записка вторая · идея
Папки не трогаем. Надстраиваем
Первый порыв «навести порядок» был отвергнут сознательно: перекладывание 80 000 файлов — это месяц работы и гарантированные потери. Вместо этого каталог оставляет архив как есть и строит рядом индекс, который понимает содержание кадров: что на фото, кто на фото, где и когда. Файлы по-прежнему лежат в своих «Новых папках» — но теперь к ним есть предметный указатель.
море · закат · мама — вот оно!
город · Прага
кот · домашний · каждый второй кадр
записка третья · как думает
Три модели, ноль облака
Каталог «понимает» фото тремя независимыми способами, и все три считают локально — на том же железе, где лежит архив.
CLIP — видит содержание
Модель, обученная сопоставлять картинки и текст, ставит кадрам теги: #море, #закат, #дача, #город. Запрос «мама море 2010» — это текст, и CLIP умеет искать им по содержанию кадров напрямую.
ArcFace — узнаёт людей
YuNet+SFace находят лица, ArcFace собирает их в кластеры: «Мама · 4 208 фото». Непонятные кластеры не догадываются сами — каталог спрашивает: «может, это Кира?» — и запоминает ответ.
pHash — находит дубликаты
Перцептивный хэш ловит копии и почти-копии: серия из десяти одинаковых кадров сжимается до одного лучшего. В моём архиве нашлось 1 246 дубликатов.
то самое фото нашлось за секунду — по людям, содержанию, месту и году сразу
записка последняя · итог
Чем это уникально
Облачные сервисы решают ту же задачу, забрав весь архив к себе — и оставив вас с вопросом «а что с ним там». Kaddroo работает наоборот: всё локально, файлы неприкосновенны, а метаданные записываются в сами файлы (XMP) с предпросмотром — даже если удалить каталог, теги останутся в фотографиях. Архив не запирается в базе: он остаётся вашим. Первый полный прогон занял полтора часа на 80 000 файлов — и архив перестал быть кучей.