Назад к подготовке

Как агрегировать frame embeddings в segment vector

Архив дорожных сцен состоит из последовательностей кадров. Как из кадров получить вектор сегмента для поиска по тексту?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Сначала выбирается window: например, 5-20 секунд. Кадры кодируются image encoder-ом, затем pooling, attention или temporal model собирает один или несколько segment embeddings.

Полный разбор

Система сначала выбирает единицу индексации. Для road-scene search удобнее сегмент, а не одиночный кадр: кадр может не показать весь маневр, а слишком длинный клип размывает смысл. Практичный старт - sliding windows по 5-20 секунд с overlap.

Дальше image encoder считает embeddings для выбранных кадров. Самый простой вариант агрегирует их mean/max pooling. Более точный вариант использует temporal attention, transformer или lightweight sequence model, которая понимает порядок кадров и выделяет важный момент внутри сегмента. Иногда сегмент хранит несколько vectors, чтобы не потерять разные события внутри одного окна.

Рядом с segment vector нужно хранить metadata: время, route id, camera, weather, perception tags, map context, версии моделей и quality flags. Эти признаки помогают фильтровать, объяснять выдачу и обучать reranker.

Теория

Temporal aggregation переводит video retrieval в индексируемую задачу. Главный компромисс - между контекстом, шумом, стоимостью и размером индекса.