Что такое фреймовое видение?
Кадровое зрение захватывает сцену в виде полных изображений через равные промежутки времени, например 30, 60 или 120 кадров в секунду. Каждый кадр содержит плотную пространственную информацию, что делает обычные камеры идеальными для распознавания объектов, анализа цвета, проверки, картографии и большой экосистемы программного обеспечения, построенной на основе тензоров изображений.
Компромисс заключается в том, что каждый кадр перемещает по конвейеру полное изображение независимо от того, изменилась сцена или нет. Для быстрого цикла принятия решения время экспозиции, период кадра, считывание показаний датчика, транспортировка, преобразование изображения и вывод - все это способствует сквозной задержке. Высокая частота кадров уменьшает интервал выборки, но обычно увеличивает пропускную способность, трафик памяти, мощность и тепловую нагрузку.
Что такое событийное видение?
В зрении на основе событий используется датчик изображения на основе событий, пиксели которого асинхронно реагируют на изменения яркости. Вместо того, чтобы выдавать прямоугольное изображение с фиксированной частотой, датчик создает поток, содержащий координаты пикселей, полярность и точные временные метки. Таким образом, статические регионы генерируют мало данных или вообще не генерируют никаких данных, в то время как движущиеся края могут создавать события с очень высоким временным разрешением.
Это представление полезно, когда время движения имеет большее значение, чем многократное получение полного изображения. Он может поддерживать отслеживание с малой задержкой, высокоскоростную робототехнику и сложные переходы освещения, но поток событий не является обычной фотографией. Алгоритмы, инструменты визуализации, записи и проверки должны быть разработаны на основе модели данных.
Как датчик изображения на основе событий меняет путь данных
Полезная справочная система отображает весь путь от сбора данных с датчиков, фильтрации и обработки до выходных данных приложения. Инструментируйте эти границы, чтобы требования по задержке и скорости передачи данных можно было оценивать на всех этапах.
Ключевое архитектурное различие заключается не просто в «более быстрой камере и более медленной камере». Традиционный конвейер машинного зрения часто начинается с полного буфера изображения. Конвейер, основанный на событиях, может начать обработку отдельных событий или небольших окон событий сразу по их прибытии. Это позволяет выполнять фильтрацию, выравнивание временных меток, логику интересующей области и функции движения рядом с датчиком, не дожидаясь полного кадра.
Однако данные о событиях могут стать плотными в сценах с высокой текстурой или при вибрации и мерцании. Поэтому при проектировании системы следует измерять частоту событий в наихудшем случае, использование интерфейса и пропускную способность памяти, а не предполагать, что обнаружение событий всегда означает низкую пропускную способность.
Видение, основанное на событиях, и видение, основанное на фреймах
| Размерность | Рамочное видение | Видение, основанное на событиях |
|---|---|---|
| Выход датчика | Плотные изображения с фиксированными интервалами | Асинхронные события изменения яркости |
| Информация о времени | Ограничено экспозицией и частотой кадров. | Точные временные метки, связанные с отдельными событиями |
| Статические данные сцены | Полные кадры продолжают поступать | Небольшая активность из неизмененных регионов |
| Пространственный/цветовой контекст | Сильный; абсолютная интенсивность изображения и зрелая цветопередача | Косвенный; поток событий описывает изменения, а не обычное изображение |
| Высокоскоростное движение | Требуется адекватная экспозиция и частота кадров. | Хорошо подходит для быстрых временных изменений |
| Программная экосистема | Очень зрелое резюме и инструменты глубокого обучения. | Более специализированные алгоритмы, представления и наборы данных |
| Лучше всего подходит | Общее изображение, распознавание, текстура и удобочитаемые изображения | Быстрая динамика, временные характеристики и восприятие движения с малой задержкой |
Задержка: измерение от датчика до принятия решения, а не одного компонента
Камеры событий часто выбираются для восприятия с низкой задержкой, но разрешение метки времени датчика не совпадает с задержкой приложения. Полезной инженерной метрикой является время от реального изменения до появления решения в интерфейсе системы. Этот путь включает в себя реакцию датчика, транспортировку, буферизацию, предварительную обработку, вывод или отслеживание, программное планирование и выходную связь.
То же правило применимо и к рамочной камере. Хорошо спроектированный конвейер с высокой частотой кадров и прямыми путями памяти может превзойти плохо интегрированный конвейер событий. Поэтому архитектура должна оцениваться с помощью репрезентативного движения, освещения и алгоритмов.
Программное обеспечение для машинного зрения на основе событий и рекомендации по SDK
Стек программного обеспечения для машинного зрения на основе событий обычно требует настройки устройства, декодирования событий, обработки временных меток, фильтрации, визуализации, записи и воспроизведения. Полезное видение на основе событий SDK должно также упростить синхронизацию внешних триггеров и других датчиков, проверять частоту событий и воспроизводить захваченную последовательность во время разработки алгоритма.
Для производственных систем программное обеспечение должно выходить за рамки настольного компьютера SDK. Команды должны определить, как события перемещаются в ресурсы FPGA, MCU, MPU или NPU; как хранится калибровка; как синхронизируется время; и как можно воспроизвести полевые журналы. Если алгоритм преобразует события в накопленные кадры, окно накопления становится явным компромиссом между задержкой и информацией.
Где полезно видение событий
Типичные приложения видения на основе событий включают высокоскоростное отслеживание целей, роботизированные манипуляции, оптический поток, анализ вибрации или движения, быстрый промышленный контроль и автономное восприятие в сценах с большими изменениями яркости. Самыми сильными вариантами использования обычно являются те, где тонкая временная структура напрямую улучшает решение, а не просто заменяет традиционную камеру.
Событийное видение оборонных и автономных платформ
В оборонных, охранных и автономных системах распознавание событий может быть актуально для сигналов быстрого движения, экспериментов по отслеживанию, оптических полезных нагрузок с малой задержкой и исследований по слиянию датчиков. Система по-прежнему должна удовлетворять требованиям платформы, таким как синхронизация, детерминированные интерфейсы, дизайн среды, запись, кибербезопасность и проверка. Обнаружение событий — это один из компонентов цепочки миссии, а не полное решение для восприятия само по себе.
Когда гибридная архитектура камеры лучше
Многие практические системы выигрывают от комбинирования модальностей. Фреймы могут обеспечивать семантический контекст и удобочитаемые образы, в то время как события привносят временные детали. Тепловые, инерционные датчики или датчики дальности могут повысить надежность. Fusion особенно полезен, когда приложению требуется одновременно вопрос «что это?» и «когда именно и как оно переместилось?»
Для гибридных систем общее время имеет важное значение. Аппаратные триггеры, домены временных меток и калибровку следует учитывать до завершения разработки алгоритмов.
Практическая эталонная архитектура видения на основе событий
Эталонная система может размещать детерминированную фильтрацию и работу с метками времени в FPGA, вывод искусственного интеллекта в NPU или ускорителе, сервисы приложений в MPU, а надзор в MCU или ядре реального времени. Выбор правильного раздела зависит от частоты событий, архитектуры модели, пропускной способности памяти и внешних интерфейсов. Наш FPGA против NPU против MPU Руководство по Edge AI объясняет это разделение более подробно.
Контрольный список выбора
- Определите максимально допустимую задержку принятия решения датчиком.
- Измерьте ожидаемую скорость движения, дальность освещения и активность сцены в наихудшем случае.
- Решите, требуется ли абсолютная интенсивность изображения, цветность или удобочитаемое видео.
- Оцените пропускную способность и объем памяти как для типичных, так и для наихудших сцен.
- Подтвердите зрелость алгоритма, набора данных и видения на основе событий SDK.
- Планируйте синхронизацию с кадровыми, тепловыми, инерционными или внешними источниками запуска.
- Проведите тестирование всего конвейера перед остановкой вычислений, базовой платы и теплового проектирования.
Выберите наблюдение, необходимое приложению
| Вопрос по применению | Подход: оценивать в первую очередь | Что протестировать |
|---|---|---|
| Правильно ли напечатана этикетка или цвет? | Кадровая визуализация | Разрешение, освещение, экспозиция и точность проверки |
| Когда быстро движущаяся грань пересекла регион? | Обнаружение на основе событий | Качество синхронизации, активность сцены, ложные события и полная задержка вывода |
| Какой объект присутствует и как именно он движется? | Гибридный фрейм и конвейер событий | Калибровка, совместное время, представление и преимущества объединения |
| Будет ли система работать при изменении света или вибрации? | Оба кандидата находятся в одинаковых репрезентативных условиях | Точность приложения, частота событий или качество кадра, а также использование ресурсов. |
При сравнении кандидатов используйте одну и ту же задачу и сцену. Четкая визуализация сама по себе не является результатом обнаружения, а большое количество событий не является свидетельством наличия полезной информации. Согласуйте выходную метрику перед записью сравнения.
Практический способ построить бюджет задержки
При 60 кадров в секунду интервал кадров составляет примерно 16.7 мс. В упрощенной модели, в которой смена сцены происходит равномерно между мгновенными выборками, среднее время ожидания следующей выборки составляет около 8.3 мс. Экспонирование, считывание, транспортировка и обработка являются дополнительными эффектами. Эта арифметика описывает интервал выборки; это не измеренная задержка камеры.
Конвейер событий также имеет варианты дизайна, которые добавляют задержку. Если приложение ожидает закрытия окна событий 5 мс перед обработкой, событие в начале этого окна может ждать почти 5 мс только на этом этапе. Точные временные метки датчика не отменяют этот выбор буферизации. Используйте эти примеры для определения этапов, которые стоит измерить, а не для того, чтобы заявлять о фиксированном преимуществе каждого из датчиков.
| Граница | Каркасный трубопровод | Конвейер событий |
|---|---|---|
| Наблюдение | Экспозиция и выбор времени | Реакция на изменение яркости и генерация временных меток |
| Транспорт | Буферы считывания, связи и хоста | Кодирование событий, буферы связи и декодера |
| Подготовка | Преобразование изображений, изменение размера и подготовка тензоров | Фильтрация, временные окна и построение представления |
| Решение | Алгоритм и планирование вывода | Алгоритм и планирование вывода |
Измерьте возраст вывода с помощью допустимой взаимосвязи между часами наблюдения и часами результата. Программная временная метка в конце вызова считывания с камеры не обязательно отражает время экспозиции. Аналогично, точная временная метка события может принадлежать часам, которые еще не согласованы с хостом.
Разработайте сравнение, которое сможет воспроизвести другой инженер.
- Прежде чем выбирать настройки, определите задачу, целевое движение, дальность освещения и требуемую мощность.
- Документируйте оптику, поле зрения, настройки датчика, версии программного обеспечения и калибровку.
- Запишите репрезентативные условия, включая сложные сцены, такие как мерцание или вибрация, где это необходимо.
- Совместно оценивайте точность задач, задержку вывода, скорость передачи данных и постоянную вычислительную нагрузку.
- Сохраняйте записи и файлы конфигурации, чтобы изменения алгоритма можно было сравнивать на одних и тех же входных данных.
На этапе реализации наши программное обеспечение для событийной камеры и руководство по SDK охватывает представление данных, запись и развертывание. Используйте руководство по синхронизации времени при совмещении модальностей.
Какую камеру следует оценить для проверки качества?
Начните с дефекта, который вам нужно заметить. Отсутствующий компонент, напечатанная этикетка или метка на поверхности могут хорошо подходить для обычного изображения кадра с контролируемой оптикой и освещением. Когда важным сигналом является быстрое движение или точное время изменения, оцените восприятие событий по той же задаче.
Запишите наименьшую важную функцию, скорость объекта, поле зрения, изменение освещения и доступное время принятия решения. При оценке учитывайте обычные производственные вариации: разные партии, смены, качество поверхности и расположение деталей. Сравните пропущенные дефекты и ложные отклонения, а также скорость обработки.
Обнаружение событий — это кандидат на тестирование, а не требование для каждой системы контроля. Посмотрите наш решение для промышленного видения и контроля качества для интеграции камеры с машиной и пилотного планирования.
Часто задаваемые вопросы о видении событий
Что такое событийное видение?
Зрение на основе событий — это сенсорный подход, при котором пиксели сообщают о локальных изменениях яркости асинхронно, вместо того, чтобы ждать полного кадра изображения. Каждое событие обычно содержит координаты пикселей, полярность и временную метку, что позволяет информации, связанной с движением, достигать конвейера обработки с точным временным разрешением.
В чем разница между видением, основанным на событиях, и видением, основанным на фреймах?
Кадровое зрение захватывает полные изображения через фиксированные промежутки времени, а отчеты о зрении на основе событий меняются по мере их возникновения. Кадровые камеры обеспечивают плотный пространственный и цветовой контекст; Датчики событий могут уменьшить количество избыточных данных статической сцены и улучшить синхронизацию быстрого движения. Лучшая архитектура зависит от задачи, освещения, программного стека и необходимой задержки принятия решения.
Какое программное обеспечение или SDK необходимо для визуализации событий?
Программное обеспечение машинного зрения на основе событий должно обрабатывать асинхронные потоки событий, а не только традиционные тензоры изображений. Практичный SDK должен поддерживать настройку датчиков, фильтрацию событий, обработку временных меток, визуализацию, запись, воспроизведение, калибровку, синхронизацию и преобразование в представления, необходимые для отслеживания или конвейеров нейронных сетей.
Где используется событийное видение?
Типичные приложения для машинного зрения на основе событий включают высокоскоростную робототехнику, отслеживание движения, автономные системы, промышленный мониторинг и зондирование, где быстрые изменения сцены или сложное освещение делают выбор времени важным. Он также может дополнять обычные камеры в гибридных системах восприятия.
Как можно использовать основанное на событиях видение в оборонных платформах?
Для оборонных и автономных платформ датчики событий могут поддерживать сигналы движения с малой задержкой, отслеживание и восприятие в широком динамическом диапазоне или при быстром движении. Развертываемая система по-прежнему требует детерминированной отметки времени, надежных интерфейсов, синхронизированного объединения датчиков, проверенного программного обеспечения и тщательного измерения частоты событий в наихудшем случае.
Всегда ли датчик изображения на основе событий имеет меньшую пропускную способность?
Нет. Статические сцены могут генерировать мало данных, но вибрация, мерцание или сильно текстурированное движение могут создавать плотные потоки событий. Поэтому при проектировании интерфейса и памяти следует использовать измеренные частоты событий для наихудшего случая, а не предполагать, что обнаружение событий всегда осуществляется с низкой пропускной способностью.
Технические ссылки
- Гальего и др.: Видение, основанное на событиях — опрос
- Prophesee: потоковая передача событий и оконный доступ
Примеры синхронизации являются иллюстративными расчетами. Заявления о задержке и обнаружении на уровне продукта требуют измерения всей реализации.
Оцените видение, основанное на событиях, в реальном цикле принятия решений.
Поделитесь целью, профилем движения, интерфейсами, средой и количеством пилотов. Мы можем отобразить требования в датчике, FPGA и архитектуре локальных вычислений.
