В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик | К списку авторов | К списку публикаций
В отличие от описанных ранее платформ, где основа бизнеса производителей – общеупотребительные процессоры, дополненные специализированными модулями (в частности, для работы с изображениями и видео), компании Xilinx® и NVIDIA разрабатывают и производят специализированные микросхемы на базе собственной архитектуры, лишь относительно недавно дополненные общеупотребительными процессорами. Однако вне зависимости от отправной точки, с разных направлений, все участники нашего обзора пришли к единому пониманию оптимального решения в виде гибридной архитектуры с участием обычных CPU и специализированных процессоров (GPU, VPU, ISP, DSP, FPGA и др.).
Эффективные в решении специализированных задач (в нашем случае – обработки изображений) Xilinx FPGA и NVIDIA GPU в силу своей природы мало приспособлены для универсальных применений. Это обстоятельство во многом сдерживало их широкое распространение в конечных устройствах. На помощь пришла архитектура ARM, получившая мощный толчок в развитии благодаря мировому рынку интеллектуальных телефонов и планшетов. Не вдаваясь в технические подробности, хочется отметить особенность бизнес-модели ARM-консорциума, которая как минимум способствовала выбору этой платформы большинством создателей разнообразных гаджетов: разработчики ARM-платформы не занимаются производством микросхем, в отличие, например, от Intel или AMD. Независимые производители процессоров приобретают у них лицензии на необходимые им ARM-платформы и компоненты и организуют их изготовление самостоятельно. Такой подход позволил разработчикам специализированных микросхем (GPU, FPGA, DSP) относительно легко интегрировать готовую архитектуру процессора широкого назначения с собственными устройствами, открыв им дорогу на широкий рынок встраиваемых конечных устройств.
Секрет эффективности технологии ПЛИС (FPGA) по сути своей прост: микросхема, архитектура которой оптимизирована для выполнения заданной программы, всегда выигрывает в производительности и потреблении в сравнении с универсальными процессорами, где оптимизация возможна лишь в программном коде, а аппаратная избыточность – неизбежная плата за универсальность. Очевидное решение – разработка логической схемы под конкретную задачу, такой подход давно известен: ASIC, Application-Specific Integrated Circuit, интегральная схема специального назначения. Это процесс небыстрый и очень дорогостоящий. Обычно он применяется для оптимизированной реализации несложных, стандартных функций, так как всегда существует опасность того что, появление новых технологий сделает такую разработку устаревшей еще до момента вывода "отлитого в камне" изделия на рынок. Другим вариантом решения может быть некий "волшебный" инструмент, позволяющий при создании продукта в разумных пределах задавать аппаратную конфигурацию готового кристалла и вносить в дальнейшем изменения, по мере совершенствования алгоритмов и технологий. Именно так работает ПЛИС.
Конкретная логическая структура ПЛИС (в частности, FPGA) описывается на специальном языке (VHDL) на этапе конфигурации полупроводника, что позволяет получить эффективный аппарат для решения конкретной вычислительной задачи и, при необходимости, его быстро изменить. Важно отметить, что параллельная обработка данных – важнейший элемент любой системы обработки изображений – есть базовое свойство любого ПЛИС.
Для встраиваемой электроники известный производитель FPGA-логики предлагает собственную экосистему на базе платформы Xilinx® ZynQ® (рис. 2). Помимо стандартных для гибридной архитектуры элементов (многоядерный ARM-процессор, управление памятью, графический сопроцессор Mali, аппаратные кодеки H.265/HEVC и программируемой логики FPGA), стоит обратить внимание на наличие процессора реального времени ARM Cortex R5, редко встречающегося в других решениях на базе ARM.
ARM Cortex R5 обеспечивает быструю и детерминированную реакцию системы на внешнее воздействие в критической ситуации, содержит специальные механизмы внутреннего контроля работоспособности, что позволяет сертифицировать и использовать устройства на базе Xilinx® ZynQ® в задачах обеспечения безопасности человека и оборудования.
Однако вернемся к нашей основной теме – обработке изображений. Как мы уже упоминали ранее, без эффективных и удобных инструментов программирования широкое применение даже самых замечательных решений вряд ли возможно. В экосистеме Xilinx® эта роль отводится набору библиотек и инструментов reVision Stack, открывающему пути к внедрению эффективных технологий FPGA в популярные среды разработки на различных этапах: создание оптимизированной аппаратной конфигурации, разработка алгоритмов и, наконец, конечного приложения в большинстве случаев без необходимости использования достаточно сложного в применении языка VHDL.
Выглядит работа программиста следующим образом (рис. 3). В привычной среде, например на базе OpenCV, создается программный код. С помощью отладчика определяются наиболее затратные по времени функции.
Затем они заменяются на аналогичные из библиотеки Xilinx, но выполняемые с использованием возможностей оптимизированной архитектуры и параллельных вычислений на базе FPGA. Производится компиляция кода с подключением фирменных библиотек Xilinx. По оценкам компании-производителя, это по сравнению с популярными компактными платформами на базе GPU дает выигрыш:
Так, широко применяемый алгоритм определения траектории движения объектов Dense Optical Flow для изображения 4K60 с MIPI-камеры выполняется на платформе разработчика ZCU102 без пропуска кадров (60 кадр/c при качестве 4K), при этом плата потребляет менее 5 Вт и задержка составляет менее 17 мс при загрузке процессора в 15%. А как же столь популярные сегодня нейронные сети? Стандартные подходы из конца 80-х были основаны на вычислениях с 32-разрядной точностью, что представляет определенные трудности для FPGA. Последние исследования в области оптимизации нейронных сетей показывают незначительное падение точности их работы при снижении разрядности весовых коэффициентов до восьми и даже трех разрядов, что позволяет эффективно использовать высочайшую скорость целочисленных вычислений FPGA в оконечных устройствах, реализующих в том числе оптимизированные модели нейронных сетей. Так же, как и на других гибридных платформах, особенно эффективным видится совместное применение алгоритмов обработки изображений и нейронных сетей в их аппаратной оптимизации на базе ПЛИС.
Стоимость платформы разработчика на сайте производителя – от 895 до 1995 долларов в зависимости от емкости (количества логических элементов, памяти и др.) и производительности FPGA. В комплекте поставляются все необходимые аппаратные и программные компоненты для начала работы.
Компания NVIDIA приобрела популярность в мире компьютерных технологий в первую очередь благодаря своим графическим акселераторам GeForce и Titan – неотъемлемым элементом любого высокопроизводительного игрового ПК, а в последнее время еще и, благодаря выдающимся вычислительным способностям, базовым компонентам "фермы" для майнинга (добычи) различных криптовалют. Многие современные суперкомпьютеры также используют акселераторы на основе CUDA-процессоров для обработки огромных объемов информации в коммерческих, научных целях, в задачах обеспечения безопасности и обороны.
Коммерческий успех в традиционных приложениях позволяет производителю инвестировать значительные средства в перспективные технологии для новых рынков. Предвосхищая широкое распространение компактных интеллектуальных устройств, компания NVIDIA много лет тому назад начала портацию своих технологий на компактные платформы в виде SoM с интегрированными ARM-процессорами.
Первым заметным явлением была платформа Jetson TK1. Следом – Jetson TX1, в 2017 г. дополненная более производительным аналогом – Jetson TX2. Основа всех решений – фирменная технология параллельных вычислений CUDA – эффективная аппаратная масштабируемая архитектура, представляющая собой массив индивидуальных процессоров для параллельной обработки и комплект программных средств разработки для самых разных приложений, в частности для обучения и внедрения нейронных сетей и обработки видеопотока.
Оценить производительность процессоров NVIDIA в задачах обработки изображений можно по результатам тестов собственных алгоритмов (JPEG-сжатия и других), проведенных российским разработчиком программного обеспечения на базе технологий NVIDIA – компанией Fastvideo (Москва).
На рис. 4 приведено время выполнения операции JPEG-сжатия кадра указанного разрешения с высоким качеством 90% в миллисекундах на целевых платформах без учета затрат на операции ввода изображения.
Нужно отметить, что JPEG-сжатие позволяет сохранить на порядок больше информации, чем популярные алгоритмы сжатия семейства H.264/H.265. Это в значительной степени оказывает влияние не только на визуальное восприятие картинки человеком, но (что самое важное при машинной обработке) и на точность и достоверность алгоритмов распознавания. Подобное качество изображения требуется далеко не всегда, но в определенных задачах, где детализация изображения является основой получаемого результата, оно просто необходимо.
Компания предлагает комплекты разработчика в России по цене от 41 тыс. рублей за Jetson TX2 с платой-носителем, где представлены основные интерфейсы. Доступны и комплекты предыдущих поколений по более низкой цене.
Для принятия решения о применении той или иной платформы требуется тщательное тестирование прототипа. Сегодня доступны комплекты разработчика и исчерпывающий набор средств создания программ от множества производителей. Для предварительной оценки, на наш взгляд, можно отталкиваться от следующих общих соображений:
В любом случае, на наш взгляд, начинать выбор платформы стоит с изучения возможностей средств разработки программного обеспечения, которые сегодня во многом определяют время и стоимость реализации проектов и, безусловно, являются ключевым фактором успеха.
Опубликовано: Журнал "Системы безопасности" #3, 2018
Посещений: 4327
Автор
| |||
В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик | К списку авторов | К списку публикаций