~ / посты / 3766-frames-in-18-carousels-out

3 766 кадров → 18 каруселей: воронка первого прогона_

деньги

Хотел: дешёвые анализаторы раньше дорогой модели. Порядок по цене: опись каталога, дубли перцептивным хешем, техника без модели — резкость и яркость по миниатюрам, группировка по месту и времени, эмбеддинги CLIP для сходства сюжетов, детектор людей, и только по шорт-листу — визуальная модель, которая пишет текст. Каждый этап перезапускаемый, состояние в SQLite, ни один этап не получает ничего от предыдущего аргументами — сам находит работу по статусам.

Числа первого прогона 20.09: 3 766 кадров → 1 890 после правил-исключений → пул 336 → 18 каруселей, 111 кадров. Внутри пула отсев по этапам: 21 кадр другой ориентации, 25 дублей, 31 смаз, 4 тёмных, 3 «тот же сюжет», 30 не вошли по лимиту. Единиц «место плюс отрезок поездки» получилось 60, карусель дали 18.

Споткнулся дважды. Дубли дожаты не до конца: серии с носом лодки, бокалы на столе, черепаха — хеш считает их разными, а глаз видит один кадр. И 84 кадрам нужен оригинал: миниатюра Фото короче 1 080 px по короткой стороне, а сам файл лежит в iCloud, на диске его нет. Для площадки нужно не меньше 1 080, так что без докачки эти кадры в карусель не идут.

Решил: пороги дублей закрепляю тестом на сохранённых эмбеддингах и хешах именно этих серий — фикстура без картинок, чтобы порог нельзя было сдвинуть незаметно. Оригиналы докачиваются из iCloud по одному, с таймаутом 300 секунд на кадр, временная копия удаляется сразу после рендера. Карусель: обложка — лучший кадр, одна ориентация, до 8 кадров, порядок после обложки по времени; плюс скамейка до 4 запасных той же ориентации для «замени третий». Кадр предлагается один раз: попал в отправленную карусель — в новые не возвращается. Единица закрывается, когда после последнего кадра прошло трое суток без новых кадров того же места; для архива это выполняется сразу.

Чем плачу: докачка из iCloud — минуты на карусель, и рендер двух каруселей на первом прогоне занял четыре минуты. Зато каждый прогон пишет воронку и длительность каждого этапа в таблицу — это и диагностика, и числа для этой серии.

#деньги

$ echo "читать серию"

← Все посты