VTS: поиск по видео как по дереву решений для точного ответа на вопросы

VTS: поиск по видео как по дереву решений для точного ответа на вопросы

Представьте, что вы смотрите часовой кулинарный ролик и кто-то спрашивает: «Что повар добавил в миску прямо перед тем, как поставить её в духовку?» Чтобы ответить, нужно найти крошечный фрагмент — буквально секунды из шестидесяти минут. Обычное равномерное сэмплирование кадров здесь бесполезно: возьмёте 256 кадров — пропустите момент, возьмёте 384 — превысите бюджет модели. Нужен не просмотр, а целенаправленный поиск.

Именно эту задачу — Grounded Long-Video Question Answering (Grounded LVQA) — решает новый фреймворк VideoTreeSearch (VTS) от исследователей, чья работа опубликована на arXiv (2607.16189). Вместо того чтобы заставлять модель угадывать таймстемпы, VTS превращает видео в адаптивное дерево семантических сегментов, по которому агент перемещается дискретными действиями: спускается глубже, откатывается назад, сдвигается в соседний узел или даёт ответ.

Почему существующие агенты теряются в длинных видео

Большинство агентных методов для длинных видео оснащают vision-language модель единственным инструментом — crop_video(start, end). Агент вызывает его снова и снова, сужая интервал. Проблема в том, что у этого инструмента нет обратной операции. Если агент ошибся с первого шага и нырнул в не ту часть ролика, он не может «расширить» поиск обратно. Получается асимметрия: только грубое-к-точному, никогда точное-к-грубому.

Вторая проблема — отсутствие иерархии. Агент должен локализовать момент по сырым пикселям, без каких-либо подсказок о том, где заканчивается одна смысловая сцена и начинается другая. Пространство поиска остаётся плоским. Как результат, существующие методы сходятся за 1–2 итерации и не восстанавливаются после ранней ошибки.

Как работает VTS: дерево, действия и самоисправление

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

Навигация по дереву происходит через четыре дискретных действия: zoom_in — спуститься в дочерний сегмент, zoom_out — подняться к родительскому, shift — перейти к соседнему сегменту того же уровня, и answer — зафиксировать ответ и интервал доказательства. Ключевое отличие от предшественников: zoom_out и shift превращают откат из неявной надежды в явный обучаемый примитив.

Обучение происходит в два этапа. Сначала — supervised fine-tuning на синтезированных траекториях, которые намеренно включают заходы в неправильные ветви с последующим восстановлением. Затем — reinforcement learning с наградами за точность локализации и правильность ответа. В результате модель учится не только находить нужные фрагменты, но и понимать, когда она ошиблась, и корректироваться.

Результаты: +12.5 mIoU на главном бенчмарке

На трёх бенчмарках Grounded LVQA — CG-Bench, Haystack-LVBench и Haystack-Ego4D — VTS значительно превосходит все предшествующие агентные методы. На CG-Bench достигнуты 16.8 mIoU и 36.4% точности ответов, что на +12.5 mIoU и +19.0 пунктов точности выше, чем у лучшего конкурента (LongVT). На Haystack-LVBench — 15.2 T-F1 (+7.1 над TimeSearch-R), на Haystack-Ego4D — 18.4 T-F1 (+7.4).

При этом VTS эффективнее, а не прожорливее конкурентов. На CG-Bench он обрабатывает в среднем 328 кадров на видео — меньше, чем Qwen3-VL-8B с его 384 равномерными кадрами и SiLVR с 450 кадрами. Лучшее качество при меньшем объёме данных.

Особенно показателен анализ самоисправлений. VTS совершает акт самокоррекции (через zoom_out или shift) в 60% траекторий на всех трёх бенчмарках. Для сравнения, непрерывный crop_video-базлайн, обученный на идентичных данных, самоисправляется лишь в 7–15% случаев. И в 42.7% самокорректирующих траекторий агент в итоге добирается до узла, содержащего правильный ответ — то есть восстановление работает не символически, а по делу.

Как строится адаптивное дерево

Процесс построения дерева заслуживает отдельного внимания, потому что именно адаптивность отличает VTS от наивного бинарного деления пополам. Из каждого сегмента равномерно сэмплируются до 64 кадров с частотой 1 кадр в секунду. Для каждого кадра вычисляется CLIP-эмбеддинг, затем косинусное расстояние между соседними кадрами: δ_i = 1 − cos(e_i, e_{i+1}). Границы между дочерними узлами ставятся там, где это расстояние превышает адаптивный порог τ = mean(δ) + k·std(δ).

Количество детей ограничено диапазоном от 3 до 8: если порог даёт слишком много разбиений, берутся только самые выраженные; если слишком мало — порог смягчается. Рекурсия останавливается, когда сегмент короче 64 секунд — такие узлы становятся листьями. Это разумный компромисс: для доказательства, которое обычно длится секунды, 64-секундный лист уже достаточно узкий кандидат.

Дерево строится лениво — только корень и дети посещаемых узлов материализуются. Это означает, что для часового видео с тысячью потенциальных сцен система не тратит память на построение полного дерева, а раскрывает только ту его часть, куда реально заходит агент.

Обучение на траекториях с ошибками

Особенно интересен этап обучения. Исследователи разработали пайплайн синтеза траекторий, который намеренно генерирует пути с заходами в неправильные ветви. Агент сначала спускается в ошибочный сегмент (имитируя раннюю ошибку), затем учится использовать zoom_out и shift для возврата и перехода к правильной ветви. Это ключевое отличие от обычных методов, где обучающие данные содержат только «идеальные» траектории без ошибок.

После supervised fine-tuning на таких траекториях следует reinforcement learning с двойной наградой: за точность локализации (grounding reward) и за правильность ответа (answer accuracy reward). RL-этап критически важен — именно он учит модель не бояться ошибаться и корректироваться, а не просто повторять заведомо правильные пути.

Перенос на общее видео-QA

и абляции

VTS также тестируется на трёх бенчмарках общего видео-понимания — Video-MME, MLVU и LVBench — где не требуется локализация, только ответ. И здесь он опережает все агентные базлайны до +7.1 пунктов точности. Это говорит о том, что иерархический поиск — полезная индуктивная предпосылка даже когда точная локализация не требуется.

Абляционные эксперименты изолируют вклад каждого компонента. Замена дискретных действий дерева на непрерывный crop_video снижает mIoU на 1.3–4.2 пункта и точность на 9.8 пунктов. Удаление примитивов отката (zoom_out + shift) роняет точность на 1.4–5.4 пункта. Замена иерархического дерева на плоское (без уровней) снижает точность на 1.9–5.1 пункта. Каждый компонент вносит измеримый вклад.

Ограничения и что дальше

Авторы честно отмечают: VTS зависит от качества CLIP-эмбеддингов для построения дерева. Если визульные изменения в видео происходят слишком плавно (например, монотонная лекция с одной камеры), границы могут ставиться не там, где заканчивается смысловой сегмент, а там, где сработал шум. Для видео с быстрыми монтажными переходами (клипы, трейлеры) дерево, наоборот, может получиться слишком фрагментированным — хотя ограничение на 3–8 детей смягчает эту проблему.

Также стоит понимать, что 60% самокоррекций — это не гарантия. В 42.7% самокорректирующих траекторий агент доходит до правильного узла; в остальных 57.3% — либо снова ошибается, либо тратит шаги впустую. Это означает, что для особенно сложных вопросов (где доказательство размазано по нескольким фрагментам) VTS может потребовать больше итераций, чем позволяет бюджет.

Будущее направление — интеграция с мультимодальными LLM нового поколения. Сейчас VTS работает с Qwen3-VL-8B, но дерево-структура не привязана к конкретной модели. С появлением более мощных vision-language моделей выигрыш от правильной навигации может стать ещё заметнее — потому что «умная» модель, смотрящая на правильные кадры, даст непропорционально лучший результат.

Иерархический поиск — не новая идея, но новый уровень

Сама идея иерархического поиска в длинных документах существует давно — от RAG-систем, которые спускаются от абстрактов к полным текстам статей, до tree-of-thought reasoning, где модель перебирает варианты решений как ветви дерева. VTS переносит эту интуицию во временную область видео: вместо текстовых чанков — семантические сегменты, вместо retrieval — визуальная навигация. Общее — дискретность выбора, иерархия и возможность отката. Различие — в том, что видео нельзя «проиндексировать» заранее, и дерево строится на лету из визуальных сигналов, что делает задачу одновременно сложнее и интереснее.

Что это значит для индустрии

VTS — на базе относительно небольшой модели Qwen3-VL-8B — обходит методы на значительно более мощных архитектурах. Это показывает, что структура поиска может быть важнее, чем масштаб модели. Если вы строите систему анализа длинных видео — видеонаблюдение, медицинская хирургическая запись, судебные материалы — иерархический агентный подход с явным самоисправлением даёт больше, чем brute-force сэмплирование.

Код VTS открыт на GitHub (CeeZh/VTS), что делает его доступным для воспроизведения и развития.

В конечном счёте VTS — это не просто улучшение бенчмарков, а демонстрация принципа: когда задача требует навигации по огромному пространству состояний (часовое видео, длинный документ, сложная база знаний), структура поиска становится критичнее, чем масштаб модели. Меньшая модель, которая смотрит на правильные кадры, даёт лучший результат, чем большая модель, утонувшая в шуме. Это урок, который стоит применять не только к видео, но и ко всем задачам, где важнее не прочитать всё, а найти нужное.

Часто задаваемые вопросы

Чем VTS отличается от обычных методов сэмплирования кадров?

Обычные методы равномерно расставляют N кадров по всему видео и надеются, что нужные попадут. VTS строит дерево по смысловым границам сцен и целенаправленно спускается к нужному фрагменту. Вместо 384 случайных кадров — 328 осмысленно выбранных.

Почему самоисправление так важно для видео-поиска?

В часовом видео легко ошибиться с первого шага — начать искать в неправильной трети ролика. Без механизма отката агент застревает в неверной области. VTS в 60% случаев обнаруживает ошибку и откатывается к правильной ветви, что было невозможно с предыдущими методами.

Работает ли VTS для видео короче нескольких минут?

Авторы не тестировали VTS на коротких видео специально — фреймворк рассчитан на видео длительностью от нескольких минут до часа. Для коротких роликов (до 2–3 минут) прямое端到-end моделирование обычно достаточно эффективно. Дерево даёт преимущество, когда доказательство занимает секунды из часов.

Итог

VideoTreeSearch переосмысливает задачу поиска по длинному видео как итеративный иерархический поиск по дереву с явными механизмами отката. Результат — значительный прирост как в точности локализации (+12.5 mIoU), так и в качестве ответов (+7.4 T-F1), при меньшей вычислительной нагрузке. Главный урок: структура поиска часто важнее масштаба модели, и самоисправление — не роскошь, а необходимость для работы с часовыми видеопотоками.

← Все записи