Процессор машинного зрения
Процессор машинного зрения (англ. vision processing unit, VPU) — это новая категория микропроцессоров; представляет собой специализированный тип ускорителя искусственного интеллекта, предназначенный для ускорения задач машинного зрения[1][2].
Обзор
Процессоры машинного зрения отличаются от графических процессоров (GPU), которые специализируются на кодировании и декодировании видео, своей адаптацией для запуска алгоритмов машинного зрения (например, свёрточных нейронных сетей — CNN, SIFT — преобразование признаков, инвариантных к масштабу, и других похожих алгоритмов).
Часто VPU имеют прямые интерфейсы для получения данных с камер, обходя внешние буферы, и уделяют большее внимание внутрисхемному обмену данными между множеством параллельных исполнительных модулей с использованием локальной памяти, по архитектуре близки к пространственным архитектурам или многопроцессорным цифровым сигнальным процессорам (DSP). Как и видеоусилители, VPU обычно используют низкоточную арифметику с фиксированной точкой для обработки изображений.
Сравнение с графическими процессорами
В отличие от графических процессоров, которые оснащены специализированным оборудованием для растрирования и текстурирования (для трёхмерной графики) и память которых оптимизирована под работу с растровыми изображениями во внешней памяти (чтение текстур, модификация кадровых буферов с случайным доступом), VPU оптимизируются под производительность на ватт, а GPU — под максимальную производительность.
Целевыми областями применения процессоров машинного зрения выступают робототехника, интернет вещей (IoT), новые классы цифровых камер для виртуальной и дополненной реальности, умные камеры, а также интеграция машинного зрения в смартфоны и другие мобильные устройства.
Примеры
- Movidius Myriad X — процессор машинного зрения третьего поколения в линейке Myriad VPU компании Intel[3].
- Movidius Myriad 2 — применяется в Google Project Tango, Google Clips и дронах компании DJI[4]
- Pixel Visual Core (PVC) — полностью программируемый процессор для обработки изображений, машинного зрения и искусственного интеллекта для мобильных устройств.
- Microsoft HoloLens — содержит специализированный ускоритель под названием «голографический процессор», который дополняет CPU и GPU системы и предназначен для анализа видеосигналов, ускоряя отслеживание окружающей среды и задачи компьютерного зрения для дополненной реальности[5].
- Eyeriss — архитектура пространственной обработки из Массачусетского технологического института для запуска свёрточных нейронных сетей[6].
- NeuFlow — архитектура, предложенная Янном Лекуном (на базе ПЛИС), использует архитектуру потоков данных для ускорения вычислений свёрток.
- Mobileye EyeQ — семейство процессоров фирмы Mobileye.
- Программируемый ускоритель обработки изображений (Programmable Vision Accelerator, PVA) — 7-поточная VLIW-архитектура визуального процессора, разработанная компанией Nvidia.
Родственная категория
Некоторые процессоры не позиционируются как VPU, но также предназначены для задач машинного зрения. Они образуют более широкую категорию ускорителей искусственного интеллекта (куда относятся и VPU); однако по состоянию на 2016 год однозначно устоявшегося термина для всего класса не существует:
- IBM TrueNorth — нейроморфный процессор, ориентированный на распознавание образов и интеллектуальные задачи обработки сенсорных данных, включая видео и аудио.
- Qualcomm Zeroth Neural processing unit — ещё один представитель развивающегося класса чипов для работы с сенсорами и искусственным интеллектом[7].
- Все процессоры серии Intel Meteor Lake содержат встроенный универсальный процессорный блок (Versatile Processor Unit, VPU) для ускорения задач инференции в компьютерном зрении и глубоком обучении[8].