Подсчет повторов видео, не зависящий от класса (повторяющаяся сеть😵)

Нейронные сети доказали свою мощь и в этом десятилетии стали отраслевым компьютерным приложением. Трансферное обучение очень хорошо применяется в областях видения, что является шагом к обобщению. В ближайшее десятилетие планка для нейронных сетей определенно повысится, и более сложные когнитивные задачи должны быть готовы бросить вызов нейронным сетям. Эта статья - одна из таких, команда из Google AI и Deep mind пыталась решить проблему подсчета повторений в цикле (удары сердца, вращение планет). На следующем GIF-изображении задача более четко изображена.

Глядя на приведенные выше результаты, применения этого подхода кажутся бесконечными.

Архитектура RepNet:

Следующее изображение представляет собой подробную иллюстрацию архитектуры репнета.

Эта диаграмма очень подробная и не требует пояснений. Давайте разберемся с архитектурой

  1. Магистральный кодер
  2. Временное самоподобие
  3. Промежуточное внимание с несколькими головами
  4. Оценка периодичности

Магистральный кодер

Предположим, нам дано видео (V) в виде последовательности из N кадров. Каждый кадр видео передается в resnet-50 для извлечения функций двумерной свертки, и модель обрабатывает только 64 кадра видео одновременно (мы вернемся к этому). Входные кадры имеют размер [112 × 112 × 3], а выходные данные двумерной карты признаков имеют размер [7 × 7 × 1024], который может обрабатываться как 1024 пространственных объекта, каждый размером [7 × 7] для каждого из входных данных. кадры. Мы пропускаем эти сверточные функции через слой трехмерных сверток, чтобы добавить локальную временную информацию к покадровым функциям. Мы используем 512 фильтров размером [3 × 3 × 3] с активацией ReLU со скоростью расширения 3, где has the dilation rate - это количество кадров, которые мы рассматриваем одновременно для применения трехмерной свертки. Мы уменьшаем размерность извлеченных пространственно-временных характеристик с помощью глобального 2D Max-pooling по пространственным измерениям и для создания векторов внедрения, каждый длиной 512.

Временное самоподобие

Временное самоподобие (TSM) - простой, но мощный аспект этой архитектуры. Временное самоподобие - это матрица сходства между каждым кадром и каждым другим кадром. Мы используем отрицательное значение квадрата евклидова расстояния в качестве функции подобия, f (a, b) = - || a - b || ², за которым следует построчная операция softmax (не уверен, стоит ли знак минус перед L2 , все равно после softmax это не имеет значения).

Поскольку TSM имеет только один канал (64 * 64), он действует как информационное узкое место в центре нашей сети. TSM также делают модель интерпретируемой во времени, что позволяет лучше понять прогнозы, сделанные моделью. Ниже приведены классные визуализации TSM в 3 разных случаях.

Из приведенного выше значения диагонали TSM всегда высоки из-за сходства собственных кадров, тогда как недиагональные значения сильно отличаются от других случаев. Попробуем внимательно разобраться, что происходит в каждом конкретном случае.

случай i: матрица сходства выглядит согласованной, поскольку периодическое движение постоянно на протяжении всего кадра.

случай ii: в первой четверти матрицы расстояние между желтым и синим постоянно уменьшается по мере уменьшения периода шара и в конечном итоге становится желтым, поскольку мяч почти не отскакивает. сделав все рамки похожими.

случай iii: периодическому движению предшествовало и за ним не было движения (ожидание перемешивания бетона, перемешивание бетона, остановка перемешивания)

Промежуточное внимание с несколькими головами

Для прогнозирования периода и периодичности на основе таких разнообразных матриц самоподобия необходима сложная модель. Двухмерные сверточные фильтры размером 3 × 3, за которыми следует слой-преобразователь, который использует многоголовое внимание с обучаемыми позиционными встраиванием в виде переменной длины 64, которая изучается путем обучения. В трансформаторе мы используем 4 головки размером 512, каждая из которых имеет размер 128. Этот вид позволяет сети изучать корреляции более высокого порядка, такие как вклад кадра в периодичность и насколько быстро и медленно периодичность изменяется по кадрам из фактического TSM.

Оценка периодичности

Последняя и самая важная часть головоломки - это предсказание, мы фокусируемся на предсказании двух вещей:

(i) Подсчет повторов: определение количества повторов в видео. Это делается путем оценки длительности периода кадра и последующего преобразования их в количество повторений. Наша оценка длины периода выводит оценку длины периода кадра, где классы являются дискретными длинами периода L = {2, 3,…, 32} (почему в классах нет единицы?) [L≤ N / 2], где N - количество входных кадров. Мы используем цель классификации нескольких классов (кросс-энтропия softmax) для оптимизации нашей модели.

(ii) Обнаружение периодичности: определение того, является ли текущий кадр частью повторяющегося временного шаблона или нет. Мы подходим к этому как к проблеме покадровой двоичной классификации. Наглядное объяснение этих задач представлено на схеме ниже. Это должно помочь в отказе от подсчета повторений, если кадр не является частью периодического движения (первые и последние несколько кадров не являются частью периодического движения на следующей диаграмме) и использует двоичную кросс-энтропию для оптимизации.

Слой трансформатора дает размер [64 × 512 × 64]. Затем мы делаем глобальный средний пул для 512-мерного вектора, который затем передается в 2 различных полностью связанных линейных слоя, каждый из которых дает результат размером [64 × 1]

Вывод

Мы отбираем последовательные неперекрывающиеся окна из N кадров и передаем их в качестве входных данных в RepNet, которая выводит покадровую периодичность pi и длину периода li. Мы определяем количество кадров как pi / li, где pi {0,1}. Общее количество повторений вычисляется как сумма всех подсчетов на каждый кадр, где i = [1, N] Σpi / li (например, предположим, что все 64 кадра участвуют в периодическом движении, тогда pi = [1] * 64, а периодическая длина равна 2 во всех кадрах li = [2] * 64, тогда количество повторений складывается из ([1/2] * 64)), что равно 32, также для объяснения исключения класса 1 в метки периодичности, давайте возьмем приведенный выше пример с крайним случаем, предположим, что периодическая длина равна 1 во всех кадрах li = [1] * 64, тогда окончательное количество повторений в видео из 64 кадров равно 64😂, не имеет смысл правильно! по этой причине мы не хотим, чтобы один кадр считался повторением.

Оценка нескольких скоростей

Поскольку модель может прогнозировать только длину периода до 32, для покрытия гораздо более длительных периодов мы выбираем входное видео с разной частотой кадров. (т.е. мы воспроизводим видео со скоростью 1 ×, 2 ×, 3 × и 4 ×). Мы выбираем частоту кадров, которая имеет наивысший балл за прогнозируемый период. Ниже приводится пример такого.

Квазисинусоидальный график - это 1D PCA-проекция характеристик кодера с течением времени.

как насчет повторений с более длительным временным контекстом?. Многие повторяющиеся явления происходят в более длительном временном масштабе (порядка дней или лет). Несмотря на то, что модель была обучена на коротких видеороликах (~ 10 с), она все еще может работать с видеороликами с медленными периодическими событиями, автоматически выбирая более высокий шаг входного кадра (N). Например. продолжительность периода в сутки из видеозаписей Земли, снятых со спутников.

Одна модель, множество областей и приложений

Одна модель способна выполнять эти задачи на видео из многих различных областей (движение животных, физические эксперименты, манипулирование людьми объектами, упражнения людей, раскачивание ребенка) в не зависящей от класса манере.

Генерация синтетических данных

Авторы также использовали обучающий набор данных Kinetics без каких-либо меток, где они выбрали клип C случайной длины P кадров из V. Этот клип C повторяется K раз (где K ›1) для имитации видео с повторениями путем случайного объединения перевернутых клип перед повторением, чтобы имитировать действия, в которых движение выполняется в обратном направлении (например, прыгающие домкраты). Затем они предварительно ожидают и добавляют повторяющиеся кадры с другими неповторяющимися сегментами из V, которые находятся непосредственно перед и после C соответственно. В дополнение к этому они также выполнили увеличение движения камеры, которое является своего рода аффинным преобразованием кадров для более надежной генерации синтетических данных.

Заключение

Эта модель успешно обнаруживает периодичность и предсказывает подсчеты по разнообразному набору действующих лиц (объекты, люди, животные, земля) и датчиков (стандартная камера, ультразвук, лазерный микроскоп). Практическое применение этого исследования многогранно.

использованная литература







Первый автор этой статьи опубликовал блог со множеством примеров и визуализаций, я настоятельно рекомендую проверить следующий URL

Https://sites.google.com/view/repnet