В рамках курса Стэнфордского университета CS231n состоялась лекция доктора Руохана Гао, посвященная современным подходам к компьютерному зрению в области анализа видео (Video Understanding). Исследователь подробно рассмотрел эволюцию технологий от обработки статичных 2D-изображений к анализу четырехмерных пространственно-временных данных, выделив ключевые архитектурные решения последних лет. В центре внимания оказались методы эффективного извлечения признаков движения, интеграция аудиосигналов и перспективы создания фундаментальных видеомоделей на базе больших языковых моделей.
🎙️ Введение и представление лектора 0:05
В начале занятия было объявлено о практике приглашения гостевых лекторов, ранее преподававших данный курс, для освещения тем, в которых они специализируются. Первым таким спикером в весеннем семестре 2025 года стал доктор Руохан Гао (Dr. Ruohan Gao), являющийся ассистент-профессором кафедры компьютерных наук в Мэрилендском университете в Колледж-Парке. В этом учебном заведении он возглавляет Лабораторию мультисенсорного машинного интеллекта (Multisensory Machine Intelligence Lab).
До перехода на текущую должность Гао работал инструктором курса CS231n с 2022 по 2023 год, параллельно проходя постдокторантуру под руководством известных ученых Фей-Фей Ли (Fei-Fei Li), Цзяцзюня Ву (Jiajun Wu) и Сильвио Саварезе (Silvio Savarese). По признанию самого исследователя, его ключевой научный интерес лежит в сфере мультимодального ИИ — изучении того, как объединение зрения, звука, тактильных ощущений и других сенсорных каналов позволяет машинам воспринимать мир аналогично человеку.
🎞️ От анализа изображений к распознаванию видео 1:05
Хотя зрение признается лектором наиболее важной модальностью для систем ИИ, традиционные задачи вроде классификации 2D-изображений, семантической, пообъектной (instance) и панорамной сегментации ограничивают модель статичным миром. Реальность динамична, что требует перехода к анализу видео, которое формально представляет собой классическое двухмерное изображение, дополненное временной осью. Таким образом, вместо привычной трехмерной матрицы (каналы, высота, ширина) исследователи сталкиваются с четырехмерным пространством вида $3 \times T \times H \times W$, где $T$ — временное измерение (temporal dimension), а $H$ и $W$ — пространственные параметры.
Типичной задачей в этой области выступает классификация видео (video classification), где на вход глубокой нейросети подается последовательность кадров, а на выходе формируется метка действия — например, бег, плавание или прыжки. Для обучения подобных моделей применяются уже знакомые функции потерь, такие как кросс-энтропия (cross-entropy loss). Главное концептуальное отличие от анализа картинок, по мнению Гао, заключается в характере распознаваемых паттернов: если в 2D-моделях фокус смещен на объекты и статичные сцены, то в видео первостепенную роль играет динамика активностей людей или животных.
💾 Проблема объема данных: вызовы хранения и обработки видео 5:12
Основная техническая сложность видеоанализа кроется в гигантских объемах данных. Обычное видео имеет частоту около 30 кадров в секунду, а фильмы обладают еще более высоким разрешением. Хранение несжатого видео стандартного разрешения требует около 1,5 ГБ на одну минуту контента. Переход к формату высокой четкости (Full HD, $1920 \times 1080$) увеличивает эту цифру до 10 ГБ за минуту. Прямая загрузка таких массивов в память графических процессоров (GPU) невозможна, учитывая необходимость одновременного хранения весов сети и активаций сверточных слоев.
Для решения этой проблемы на практике применяются стратегии сжатия данных по пространственной и временной осям. Например, для фрагмента длительностью 3,2 секунды выполняются следующие шаги:
- Частота кадров снижается до 5 кадров в секунду (5 fps), поскольку видео содержит избыточное количество дублирующей информации.
- Пространственное разрешение уменьшается до размера $112 \times 112$ пикселей.
Благодаря этим манипуляциям размер тестового клипа сокращается до 588 КБ.
Поскольку реальные видеоролики могут длиться часами, стандартной практикой стало обучение моделей на коротких фрагментах (clips). Процесс устроен следующим образом:
- В процессе обучения применяется метод скользящего окна (sliding window) для генерации множества коротких клипов с низкой частотой кадров.
- На этапе тестирования (инференса) модель запускается независимо на нескольких случайно выбранных фрагментах (например, на 10 клипах).
- Полученные предсказания усредняются, формируя итоговый вердикт для всего длинного видео.
🏎️ Базовые подходы: пофреймовые сети и позднее слияние (Late Fusion) 8:29
Самым простым и очевидным решением является отношение к видео как к набору независимых картинок. Пофреймовая сверточная нейросеть (per-frame CNN) пропускает выбранные кадры через стандартный 2D-классификатор, после чего результаты просто усредняются. Доктор Гао подчеркивает, что этот подход является крайне сильным бейзлайном (baseline), особенно для видео с минимальными изменениями фона и ракурса, где на каждом кадре совершается одно и то же действие. Разработчикам новых видеомоделей лектор настойчиво рекомендует всегда начинать тестирование именно с этого простого метода.
Ключевым вопросом при реализации пофреймовых сетей становится стратегия сэмплирования кадров, что представляет собой активную область научных исследований. Выделяют два основных подхода:
- Случайное или равномерное сэмплирование (random sampling) — например, извлечение одного кадра каждую минуту для часового фильма без привязки к содержанию.
- Умное адаптивное сэмплирование (smarter sampling) — когда выбор следующего кадра для анализа зависит от результатов классификации предыдущего фрагмента.
Развитием этой идеи является архитектура позднего слияния (Late Fusion). В ней кадры обрабатываются параллельно независимыми 2D-сверточными сетями для извлечения карт признаков размерности $D \times H' \times W'$. Полученные карты выравниваются в векторы и конкатенируются в один гигантский вектор признаков, который передается в полносвязную сеть (MLP) для получения финальных оценок классов.
Основным недостатком поздней конкатенации признано колоссальное увеличение количества параметров модели, пропорциональное длине видео $T$, что делает сеть вычислительно неэффективной.
Для борьбы с раздуванием параметров конкатенацию часто заменяют операцией временного пулинга (pooling) — средним (mean pooling) или максимальным (max pooling). Пулинг позволяет сохранить размерность вектора признаков равной $D$ независимо от количества кадров $T$, однако платой за это становится безвозвратная потеря важной динамической информации.
В качестве примера лектор приводит бегущего человека: ключевым маркером для модели служит движение его ног вверх и вниз. При независимой обработке кадров 2D-сетью низкоуровневая информация о движении теряется на верхних слоях, уступая место высокоуровневым семантическим абстракциям, из-за чего на этапе пулинга восстановить динамику перемещения стоп становится невозможно.
🔄 Раннее слияние (Early Fusion) и переход к 3D-сверткам 16:13
В противовес поздней интеграции признаков, метод раннего слияния (Early Fusion) пытается зафиксировать движение на самых первых этапах обработки. Входные данные преобразуются таким образом, что временная ось объединяется с каналами, формируя структуру размерности $3T \times H \times W$. Первый же слой 2D-свертки осуществляет проекцию из размерности $3T$ каналов в скрытое пространство $D$, моментально "схлопывая" всю временную информацию. Оставшаяся часть нейросети представляет собой стандартную 2D-архитектуру для изображений. Недостаток подхода кроется в его избыточной "амбициозности": попытка упаковать всю динамику в один слой лишает модель инвариантности к временному сдвигу.
Компромиссным решением, получившим название медленного слияния (slow fusion), стали трехмерные сверточные нейросети (3D CNN). Their базовая идея заключается в постепенном уменьшении как пространственных, так и временных измерений по мере прохождения данных через слои сети с использованием 3D-сверток и 3D-пулинга.
В отличие от 2D-фильтра, который имеет размерность, например, $5 \times 5 \times 3$ и скользит только по плоскости изображения, полностью покрывая глубину каналов, 3D-фильтр оперирует кубическими объемами. Ядро свертки скользит одновременно по трем направлениям: высоте, ширине и времени ($T \times H \times W$), сохраняя локальность в каждом из них.
Разницу между тремя подходами лектор иллюстрирует на игрушечном примере с входным тензором $3 \times 20 \times 64 \times 64$ (где 20 — кадры):
- При позднем слиянии временное измерение, равное 20, неизменно сохраняется на всех слоях 2D-сверток, увеличивая лишь пространственное поле восприятия (receptive field), и схлопывается только на финальном этапе глобального пулинга.
- При раннем слиянии временное измерение 20 уничтожается на первом же слое свертки, переводящем каналы $3 \times 20$ в 12 признаков.
- В 3D CNN размерность по времени и пространству уменьшается плавно от слоя к слою (например, через 3D-пулинг $4 \times 4 \times 4$), обеспечивая постепенное расширение пространственно-временного поля восприятия.
Главное преимущество 3D-сверток перед ранним слиянием на базе 2D — это наличие инвариантности к временному сдвигу. Если определенное движение (например, переход пикселей от синего цвета к оранжевому) происходит в начале клипа или в конце, 3D-фильтр за счет скольжения по оси времени способен распознать его с помощью одних и тех же весов. В случае раннего 2D-слияния для фиксации одного и того же движения в разные моменты времени модели пришлось бы настраивать абсолютно независимые фильтры, что крайне неэффективно с точки зрения емкости параметров.
📊 Датасеты и классические архитектуры: Sports 1M и C3D 32:01
Исторической вехой в обучении видеоклассификаторов стал масштабный датасет Sports 1 Million, представленный в 2014 году. Набор данных включает в себя около 1 миллиона видеороликов, размеченных по 487 крайне узкоспециализированным спортивным категориям (включая разделение на марафон и ультрамарафон). При тестировании моделей образца 2014 года на этом датасете были зафиксированы неожиданные результаты:
- Пофреймовая модель (single frame) показала точность 77,7% по метрике top-5 accuracy.
- Модель раннего слияния продемонстрировала результаты несколько хуже базовой пофреймовой сети.
- Метод позднего слияния оказался незначительно лучше пофреймового.
- 3D-сверточная нейросеть обеспечила прирост точности всего на 2–3% по сравнению с остальными подходами.
Дополнительной проблемой Sports 1M, как отмечает лектор, является способ его распространения. Из-за огромного веса видеофайлов датасет создавался и распространялся в виде списка URL-ссылок на YouTube. Со временем пользователи удаляют или модифицируют свои видео, в результате чего на текущий момент около половины ссылок из оригинального набора недоступны, что делает датасет нестабильным для воспроизведения исследований.
Одной из первых канонических архитектур в этой области стала сеть C3D (2014 год). По аналогии с известной сетью VGG для картинок, C3D использует однородную структуру из 3D-сверток с ядрами $3 \times 3 \times 3$ и 3D-пулингов размером $2 \times 2 \times 2$.
Поскольку обучение такой модели требовало колоссальных по тем временам вычислительных мощностей, проект был реализован корпорацией Facebook, которая выложила предобученные веса в открытый доступ. Для сотен исследовательских команд, не имевших мощных GPU-кластеров, C3D долгое время служил стандартным фиксированным экстрактором признаков (feature extractor), извлекающим векторы из клипов по 16 или 32 кадра.
Основной недостаток переноса VGG в 3D — вычислительная прожорливость, измеряемая в гигафлопсах (GFLOPS). По приводимым в лекции оценкам, вычислительная нагрузка распределяется следующим образом:
- Классический AlexNet требует 0,7 GFLOPS для одного прямого прохода.
- Сеть VGG-16 требует 13,6 GFLOPS.
- Архитектура C3D требует 39,5 GFLOPS, что почти в 3 раза (в 2,9) превышает показатели VGG-16 и делает ее крайне тяжелой для продакшена.
🌊 Двухпоточные сети (Two-Stream Networks) и оптический поток 40:45
Альтернативный взгляд на проблему предлагает явное разделение пространственной информации (внешнего вида объектов) и временной (непосредственно движения). Биологическим обоснованием этой идеи служит способность человека мгновенно распознавать сложные действия (например, процесс приседания) по движению нескольких светящихся точек на теле актера в полной темноте, когда информация о внешности полностью отсутствует.
Для математического выражения чистого движения в компьютерном зрении используется концепция оптического потока (optical flow). Этот метод вычисляет вектор смещения (скорость) каждого пикселя между двумя соседними кадрами, допуская, что яркость объекта при перемещении остается неизменной. Оптический поток рассчитывается в двух измерениях и визуализируется как два независимых поля:
- Горизонтальный поток ($dx$), фиксирующий движения влево и вправо.
- Вертикальный поток ($dy$), фиксирующий движения вверх и вниз.
На базе этой концепции в 2014 году была представлена знаменитая двухпоточная сеть (Two-Stream Network) для распознавания действий. Архитектура состоит из двух независимых ветвей:
- Пространственный поток (spatial stream) — обычная 2D-сеть, принимающая на вход один статичный кадр и оценивающая контекст сцены.
- Временной поток (temporal stream) — 2D-сеть, принимающая на вход пачку (stack) последовательных карт оптического потока ($dx$ и $dy$), очищенных от информации о текстурах и цвете.
В конце работы обеих ветвей их предсказания агрегируются для вынесения итогового решения. При тестировании на датасете UCF-101 (содержащем 101 категорию действий) выяснилось, что временной поток на базе оптического потока работает значительно лучше пространственного. Гао выдвигает гипотезу, что сеть, обучающаяся только на движении, гораздо меньше подвержена переобучению (overfitting), поскольку она игнорирует избыточную информацию о заднем плане и фокусируется исключительно на ключевой динамике.
⏳ Моделирование долговременных зависимостей: RNN и рекуррентные CNN 45:17
Все описанные выше методы ориентированы на фиксацию краткосрочных паттернов в рамках небольших клипов. Однако для полноценного понимания длинных видеороликов необходимо анализировать связи между событиями, удаленными друг от друга во времени. Естественным решением этой задачи стало использование рекуррентных нейросетей (RNN) и архитектур LSTM. В такой конфигурации сверточная сеть (2D или 3D) выступает в роли экстрактора локальных признаков, а рекуррентная сеть последовательно обрабатывает эти векторы, формируя финальное предсказание на последнем временном шаге по схеме "многие к одному" (many-to-one).
Интересный исторический факт: подобные идеи исследовались еще в 2011 году — за год до появления революционного AlexNet, ознаменовавшего бум глубокого обучения. Полноценно же этот подход закрепился в индустрии после публикаций 2015 года. По причине вычислительной сложности сквозное (end-to-end) обучение таких систем затруднено, поэтому на практике 3D-сети обычно замораживают, используя их как статические фабрики векторов, а обучают лишь рекурсивную надстройку.
Пытаясь объединить преимущества свертки и рекурсии в рамках единого слоя, ученые разработали рекуррентные сверточные нейросети (RCNN). Идея базируется на многослойных RNN, где скрытое состояние зависит от двух источников: предыдущего шага во времени текущего слоя и текущего шага нижнего слоя.
В RCNN стандартное для классических RNN умножение матриц полностью заменяется операциями 2D-свертки над трехмерными тензорами формата $C \times H \times W$. Математика обновления скрытого состояния выглядит следующим образом:
- К карте признаков с предыдущего временного шага применяется 2D-свертка.
- К карте признаков с предыдущего слоя текущего временного шага также применяется своя 2D-свертка.
- Результаты складываются и пропускаются через функцию активации гиперболического тангенса (
tanh), формируя новое скрытое состояние.
Данный подход масштабируется на любые рекуррентные ячейки, включая GRU и LSTM. Несмотря на теоретическую элегантность, по словам лектора, RCNN не получили массового распространения из-за фундаментального недостатка рекуррентных сетей: они обрабатывают данные строго последовательно, что делает их крайне медленными и невозможными для эффективного распараллеливания на современных видеокартах при обработке длинных видео.
🧠 Селф-аттеншн, трансформеры и инфляция сетей (I3D) 51:42
Прорыв в области параллельных вычислений пришел с адаптацией механизмов self-attention (самовынимания) для видеоданных. Главный плюс селф-аттеншна, как подчеркивается в лекции, — возможность рассчитывать оценки внимания для всех элементов видеоряда абсолютно параллельно. Архитектура, известная как Non-local Neural Network, переносит концепцию Queries, Keys, Values в 3D-пространство:
- Из базовой карты признаков $C \times T \times H \times W$ с помощью 3D-сверток размера $1 \times 1 \times 1$ генерируются тензоны запросов (Queries), ключей (Keys) и значений (Values).
- Путем векторного умножения и транспонирования вычисляется глобальная пространственно-временная карта внимания.
- Эта карта взвешивает тензор Values, после чего результат через финальную свертку $1 \times 1 \times 1$ возвращается к исходной размерности и складывается с входящим сигналом через остаточное соединение (residual connection).
Такие блоки (Non-local blocks) могут встраиваться в любые стандартные 3D-сети, резко повышая их способность улавливать дальние взаимосвязи в пространстве и времени.
Другой успешной концепцией стал метод "инфляции" сетей, реализованный в архитектуре I3D (Inflated 3D ConvNet). Вместо проектирования 3D-сетей с нуля авторы предложили взять успешную 2D-архитектуру (например, Inception) и раздуть ее фильтры размера $K_h \times K_w$ до трехмерных $K_t \times K_h \times K_w$. Более того, метод позволяет переносить предобученные на ImageNet веса 2D-сетей в 3D-модели. Для этого веса 2D-ядра просто копируются $K_t$ раз вдоль временной оси и делятся на величину $K_t$ для сохранения масштаба активаций. Инициализированная таким образом сеть I3D продемонстрировала превосходные результаты, обогнав классические двухпоточные системы.
Современные трансформерные архитектуры и методы вроде маскированных автокодировщиков (Masked Autoencoders, MAE) для видео позволили совершить качественный скачок. На бенчмарке Kinetics-400 точность моделей выросла со скромных 62,2% у первых пофреймовых сетей до рекордных 90% у современных видеоэнкодеров. Для интерпретации их работы исследователи используют метод градиентного восхождения (gradient ascent) для максимизации скора конкретного класса, что позволяет визуализировать, чему научилась сеть. Например, при анализе класса "тяжелая атлетика" оптимизированный поток визуализирует характерное дрожание штанги и последующее выталкивание веса над головой, доказывая, что сеть действительно считывает физику движения.
🎙️ Локализация действий и мультимодальный анализ: аудио и эгоцентрическое видео 1:01:16
Помимо глобальной классификации коротких клипов, перед компьютерным зрением стоят более комплексные задачи. Одной из них является временная локализация действий (Temporal Action Localization), которая по логике работы схожа с детектором объектов Faster R-CNN: модель должна найти точные временные границы начала и окончания конкретного действия в длинном потоке видео. Еще более сложный вариант — пространственно-временная детекция (Spatial Temporal Detection), где система обязана одновременно строить bounding box вокруг объекта в пространстве кадра и отслеживать его во времени.
Критически важным упущением классического компьютерного зрения, по мнению Гао, долгое время являлось игнорирование звуковой дорожки, ведь аудио несет в себе колоссальный объем информации об эмоциях и физических взаимодействиях. Включение аудиоканала позволило реализовать задачу визуально-направляемого разделения источников звука (Visually-guided audio source separation). Анализируя движения губ спикеров или колебания струн музыкальных инструментов, мультимодальная модель способна изолировать звуковую дорожку конкретного человека или инструмента из общего шумного микса.
Современные мультимодальные классификаторы переводят как патчи видеокадров, так и спектрограммы звука в единое трансформерное пространство признаков. Вопросом первостепенной важности остается вычислительная эффективность (Efficient Video Understanding). Ввиду невозможности обрабатывать терабайты видео покадрово, развиваются три инженерных направления:
- Создание ультраэффективных компактных 3D-сетей, таких как архитектура X3D.
- Внедрение умных сэмплеров (например, SD Sampler), которые предварительно просматривают видео и выбирают для детального анализа только самые информативные клипы.
- Обучение на основе политик (policy learning), где аудиодорожка используется как легковесный "превью-механизм", подсказывающий, в какие моменты времени стоит включить тяжелую визуальную нейросеть.
В качестве прогноза на будущее доктор Руохан Гао отмечает стремительное смещение фокуса исследований в сторону эгоцентрического видеопонимания (Egocentric Video Understanding), связанного с распространением умных очков, устройств виртуальной (VR) и дополненной (AR) реальности. Такие девайсы записывают мир "из глаз" пользователя и оснащаются массивами из нескольких микрофонов. Перспективными задачами здесь являются предсказание социальных взаимодействий (определение того, кто с кем говорит и кто кого слушает в толпе) для помощи пользователю очков в реальном времени.
Наконец, ключевым трендом на данный момент выступает интеграция видеоэнкодеров с большими языковыми моделями (LLM) для создания фундаментальных видеомоделей (Video Foundation Models). Видео токенизируется и проецируется напрямую в пространство эмбеддингов LLM, позволяя пользователю общаться с ИИ с помощью текстовых промптов, запрашивая подробное текстовое описание происходящих на видео событий.