Взгляд Anderson

Видеокодек, предназначенный для анализа ИИ

mm
Добавьте Unite.AI в избранные источники в Google

Хотя техно-триллер Круг (2017) больше комментирует этические последствия социальных сетей, чем практические аспекты внешней видеоаналитики, маловероятно, что крошечная камера ‘SeeChange’ в центре сюжета является тем, что действительно толкает фильм в категорию ‘научная фантастика’.

Устройство камеры/видеонаблюдения 'SeeChange' из техно-триллера 'Круг' (2017).

Устройство камеры/видеонаблюдения ‘SeeChange’ из техно-триллера ‘Круг’ (2017).

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

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

В случаях, когда такое устройство IoT/CV должно отправлять изображения на центральный сервер (часто через обычные сотовые сети), выборы трудны: либо устройство должно запустить какой-либо легкий нейронный сеть локально, чтобы отправить только оптимизированные сегменты релевантных данных для обработки на сервере; либо оно должно отправить ‘глухое’ видео для оценки подключенных облачных ресурсов.

Хотя активация через событийные умные датчики зрения (SVS) может сократить эту нагрузку, эта активация также стоит энергии.

Цепляясь за власть

Более того, даже с редкой активацией (т. е. овца время от времени забредает в поле зрения), устройство не имеет достаточной мощности, чтобы отправить гигабайты несжатого видео; также оно не имеет достаточно мощности, чтобы постоянно запускать популярные видеокодеки, такие как H.264/5, которые ожидают аппаратного обеспечения, которое либо подключено, либо не далеко от следующей зарядки.

Пipelines видеоаналитики для трех типичных задач компьютерного зрения. Архитектура видеокодирования должна быть обучена для задачи, а также для нейронной сети, которая будет получать данные. Источник: https://arxiv.org/pdf/2204.12534.pdf

Пipelines видеоаналитики для трех типичных задач компьютерного зрения. Архитектура видеокодирования должна быть обучена для задачи, а также для нейронной сети, которая будет получать данные. Источник: https://arxiv.org/pdf/2204.12534.pdf

Хотя широко распространенный кодек H.264 имеет более низкое энергопотребление, чем его преемник H.265, он имеет плохую эффективность сжатия. Его преемник, H.265, имеет лучшую эффективность сжатия, но более высокое энергопотребление. Хотя открытый кодек Google VP9 превосходит их обоих в каждой области, он требует более высоких локальных вычислительных ресурсов, что представляет дополнительные проблемы в дешевом датчике IoT.

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

Извлечение маскированных представлений крупного рогатого скота с датчика, который вряд ли будет подключен к сети. Тратит ли он свою ограниченную мощность на локальную семантическую сегментацию с легкой нейронной сетью; отправляя ограниченную информацию на сервер для дальнейших инструкций (вводя задержку); или отправляя 'глухие' данные (тратя энергию на пропускную способность)?

Извлечение маскированных представлений крупного рогатого скота с датчика, который вряд ли будет подключен к сети. Тратит ли он свою ограниченную мощность на локальную семантическую сегментацию с легкой нейронной сетью; отправляя ограниченную информацию на сервер для дальнейших инструкций (вводя задержку); или отправляя ‘глухие’ данные (тратя энергию на пропускную способность)? Источник: https://arxiv.org/pdf/1807.01972.pdf

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

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

AccMPEG

Новые исследования Университета Чикаго могут сделать шаг ближе к такому кодеку, в виде AccMPEG – новой архитектуры видеокодирования и потоковой передачи, которая работает с низкой задержкой, высокой точностью для серверных глубоких нейронных сетей (DNN) и имеет замечательно низкие локальные вычислительные требования.

Архитектура AccMPEG. Источник: https://arxiv.org/pdf/2204.12534.pdf

Архитектура AccMPEG. Источник: https://arxiv.org/pdf/2204.12534.pdf

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

В AccMPEG эта точность оценивается в пользовательском модуле под названием AccGrad, который измеряет способы, которыми качество кодирования макроблока, вероятно, будет иметь отношение к конечному использованию, например, серверной DNN, которая пытается посчитать людей, выполнить оценку скелета на движении человека или другие общие задачи компьютерного зрения.

Когда кадр видео поступает в систему, AccMPEG изначально обрабатывает его через дешевую модель селектора качества, озаглавленную AccModel. Любые области, которые вряд ли внесут вклад в полезные расчеты серверной DNN, по сути, являются балластом и должны быть помечены для кодирования с наименьшим возможным качеством, в отличие от релевантных областей, которые должны быть отправлены с лучшим качеством.

Этот процесс представляет три проблемы: можно ли выполнить этот процесс достаточно быстро, чтобы достичь приемлемой задержки без использования энергозатратных локальных вычислительных ресурсов? Можно ли установить оптимальную связь между частотой кадров и качеством? И можно ли быстро обучить модель для отдельной серверной DNN?

Логистика обучения

Идеально, компьютерный кодек зрения должен быть предварительно обучен на подключенных системах до точных требований конкретной нейронной сети. Модуль AccGrad, однако, может быть напрямую получен из DNN всего за две прямые пропагации, с экономией десяти раз стандартной накладных расходов.

AccMPEG обучает AccGrad всего за 15 эпох 3 пропагаций каждая через окончательную DNN и может потенциально быть переобучен ‘живым’ с помощью своего текущего состояния модели в качестве шаблона, по крайней мере для аналогичных задач CV.

AccModel использует предварительно обученный MobileNet-SSD извлекатель функций, распространенный в доступных устройстве края. При скорости 12 ГФЛОПС модель использует только треть подходов ResNet18. Кроме пакетной нормализации и активации, архитектура состоит только из сверточных слоев, и ее вычислительная нагрузка пропорциональна размеру кадра.

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

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

Частота кадров

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

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

Улучшение производительности

Исследователи протестировали систему на плате Jetson Nano стоимостью 60 долларов с одним 128-ядерным GPU Maxwell, и различных других дешевых эквивалентов. OpenVINO использовался для компенсации некоторых энергетических требований очень разреженных локальных DNN к CPU.

AccModel изначально был обучен офлайн на сервере с 8 GPU GeForce RTX 2080S. Хотя это является внушительным массивом вычислительной мощности для начального построения модели, легкое переобучение, которое система делает возможным, и способ, которым модель может быть скорректирована до определенных параметров толерантности в разных DNN, которые решают аналогичные задачи, означает, что AccMPEG может стать частью системы, которая требует минимального присутствия в дикой природе.

 

Опубликовано впервые 1 мая 2022 г.

Писатель о машинном обучении, специалист в области синтеза человеческого изображения. Бывший руководитель исследовательского контента в Metaphysic.ai, до его распада в DNEG's Brahma.ai.
Портфолио: martinanderson.ai
Контакт: [email protected]