ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL
РадиоЛоцман - Все об электронике

Нейронные сети находят применение в сфере машинного зрения

Synopsys EV52 EV54

Журнал РАДИОЛОЦМАН, май 2015

Bernard Cole

EE Times

Сопроцессор синаптической сверточной нейронной сети компании Synopsys уменьшает энергопотребление в приложениях обработки изображений

Развитие систем машинного зрения – систем, извлекающих полезную информацию из входных визуальных данных – стимулирует спрос на решения, повышающие качество и энергоэффективность процесса обработки изображений. Многие компании, такие как AMD, CEVA, Imagination, Intel, Nvidia и различные лицензиаты ARM, откликнулись на необходимость удовлетворения этого спроса. Ими используются различные аппаратные средства: ПЛИС, комбинации ПЛИС и микропроцессоров, графические процессоры и специализированные гетерогенные многоядерные конструкции, оптимизированные для выполнения этой задачи.

Теперь и Synopsys (Маунтин-Вью, Калифорния) выпустила свое альтернативное решение (Рисунок 1) – семейство процессорных ядер DesignWare EV, предназначенных для интеграции в системы-на-кристалле (SoC) с любым хост-процессором, включая ARM, Intel, Imagination MIPS, PowerPC и другие. В настоящее время семейство состоит из двух приборов – EV52 и EV54, оптимизированных для приложений машинного зрения. Изготовленный на основе техпроцесса 28 нм, EV52 включает в себя двухъядерный RISC-процессор, основанный на наборе ARC-инструкций компании и работающий со скоростью до 1 ГГц. EV54 имеет четырехъядерный процессор, обеспечивающий более высокую производительность, чем EV52. Оба ядра могут содержать от двух до восьми программно конфигурируемых элементов обработки (PE) для обнаружения объектов.

Нейронные сети находят применение в сфере машинного зрения
Рисунок 1. В процессоре Synopsys сочетаются RISC-ядра с ARC-инструкциями
и элементы обработки механизма обнаружения на основе сверточной
нейронной сети. (Источник: Synopsys).

EV52 и EV54 оптимизированы для приложений машинного зрения благодаря использованию алгоритмов сверточных нейронных сетей (СНС), в основу которых положены принципы обработки визуальной информации человеком. СНС используют искусственные нейронные сети с прямыми связями, в которых отдельные нейроны расположены таким образом, чтобы они отвечали за перекрывающиеся области поля зрения. Такое перекрытие является ключом к пониманию того, каким образом человеческий глаз отслеживает движения, выявляет изменения в окружающей среде, различает объекты и реагирует на небольшие изменения в выражениях лица.

В интервью изданию EE Times Майк Томпсон (Mike Thompson), старший менеджер по маркетингу продуктов компании Synopsys для процессоров DesignWare ARC, сказал, что процессоры семейства EV позволяют выполнять вычисления СНС с удельной производительностью более 1000 GOPS/W (миллиардов операций в секунду на один ватт), чтобы быстро и точно определять различные объекты, затрачивая на это только долю энергии, необходимой конкурирующим решениям в области машинного зрения.

«Хотя сегодня существует целый ряд алгоритмов, конкурирующих за внимание потребителей, СНС, на наш взгляд, представляет именно тот алгоритм, который был наиболее существенно усовершенствован и является на данный момент самым лучшим для распознавания объектов в таких целевых приложениях, как камеры, носимая электроника, домашняя автоматика, цифровое телевидение, виртуальная реальность, игры, робототехника, цифровые вывески, медицинские приборы и автомобильные информационно-развлекательные системы», – сказал Томпсон.

В связи с этим Synopsys заключила соглашения с большинством других игроков на рынке встраиваемых систем машинного зрения, включая Nvidia, CEVA, Microsoft и других. Хотя, используя СНС, можно получить результаты, точность которых превышает 95%, достижение этой точности в тех диапазонах энергопотребления и производительности, которые приемлемы для рынка, является проблемой. Томпсон сказал, что для обработки визуальных данных могут использоваться процессоры общего назначения, но они очень медленны, поскольку им не хватает ресурсов для сложных математических вычислений, в то время как графические процессоры имеют необходимые ресурсы, но у них мало возможностей для эффективного перемещения визуальных данных. Поэтому их характеристики при работе с визуальной информацией относительно скромны, а потребление энергии очень высоко.

Нейронные сети находят применение в сфере машинного зрения
Рисунок 2. Измеряемая в миллиардах операций на один ватт, производительность
процессора EV (крайняя справа) превосходит альтернативные решения
для визуального обнаружения и анализа объектов (Источник: Synopsys).

«Разработанный нами подход с применением сопроцессора перенесет СНС на уровни потребления энергии, приемлемые для различных потребительских приложений», – сказал Томпсон, указывая на сравнения, которые сделала компания, используя набор типовых объектов и приложения распознавания жестов (Рисунок 2). В этих сравнительных тестах процессоры EV решали примерно эквивалентные задачи обработки визуальных данных при уровнях потребления энергии, которые были в пять раз меньше, чем у других решений. Для выполнения задачи обнаружения лица на видео с 30 кадрами в секунду процессору EV с поддержкой SoC было достаточно лишь 175 мВт, в то время как графическим процессорам требовалось энергии, по крайней мере, в 8-10 раз больше.

Как Synopsys делает СНС для обработки изображений

Один или более процессоров EV, разработанных для интеграции в систему-на-кристалле (СнК), могут работать параллельно с хостом и быть с ним синхронизированными. Это достигается с помощью сложного и эффективного набора средств передачи сообщений и механизмов прерываний, которые поддерживают связь между различными элементами обработки информации по обнаружению объекта и другими процессорными ядрами (Рисунок 3). Процессор ARC EV может быть запрограммирован для работы в автономном от хост-процессора режиме, или же разработчик может выбрать вариант, когда управление и функции распределяются между процессором EV и хостом в зависимости от того, каким требованиям в плане потребления энергии и производительности должно отвечать приложение.

Нейронные сети находят применение в сфере машинного зрения
Рисунок 3. Сердцем процессора EV являются устройства обнаружения объектов,
содержащие от двух до восьми специализированных элементов обработки.
(Источник: Synopsys).

«Количество PE устанавливается пользователем в момент сборки, как сеть для потоковой передачи между PE, которая обладает гибкими соединениями типа «точка-точка» между всеми PE. Каждый из них может изменяться динамически в зависимости от исполняемого графа СНС», – сказал Томпсон.

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

По словам Томпсона, этот подход позволяет различным элементам обработки визуальной информации в реальном времени отправлять результаты обратно к хосту. Для того чтобы передача данных в хост и из хоста, а также между элементами была более эффективной, каждый из процессоров EV может получить доступ к визуальным данным, сохраненным в области памяти СнК, или, при необходимости, из источников вне кристалла с помощью встроенного системного интерфейса AMBA AXI.

Программное обеспечение для разработки с помощью СНС

Ввиду сложного характера решений, основанных на использовании СНС, создание правильного набора алгоритмов для конкретного приложения обработки визуальной информации, по словам Томпсона, все еще остается непростой задачей, даже с наличием аппаратных средств EV. Чтобы освободить разработчиков от части этой ответственности, Synopsys предоставляет полный набор инструментов и библиотек, а также типовые проекты, которые позволят разработчикам эффективно создавать, отлаживать и оптимизировать свои системы машинного зрения с помощью двух стандартных для отрасли бесплатных инструментов OpenCV и OpenVX.

Вместе с процессором ARC EV разработчик получает оптимизированную библиотеку, включающую более 2500 функций OpenCV для машинного зрения в реальном времени. Кроме того, предоставляется фреймворк OpenVX с 43 стандартными ядрами для таких задач, как обнаружение краев, создание пирамиды изображений и оценка оптического потока; все оптимизировано для работы на процессорах EV.

Томпсон также сказал, что, поскольку процессоры EV являются программируемыми, они могут быть обучены для поддержки любого графа обнаружения объектов и определения новых ядер OpenVX. Среда OpenVX распределяет работу ядер между несколькими исполнительными устройствами процессора EV, что упрощает его программирование.

Процессоры ARC EV поставляются настроенными на совместное использование с инструментом ARChitect, разработанным для проектирования ядер EV. Этот инструмент синтезирует описание на языке межрегистровых передач, которое может быть включено в любой проект СнК для поддержки любых хост-процессоров, например, ARM, Intel, Imagination MIPS, PowerPC и других. С целью дальнейшего ускорения разработки программ для процессоров EV будут доступны виртуальные модели прототипов, а также поддержка прототипов на основе ПЛИС, что даст возможность одновременно проектировать аппаратную и программную части задолго до изготовления микросхемы.

«Машинное зрение является быстроменяющейся средой», – сказал Томпсон. – «Сегодня кажется, что СНС является лучшим средством. Но все может измениться завтра. В дополнение к нахождению решения, которое удовлетворяло бы требованиям современных приложений по стоимости и потреблению энергии, мы хотели бы предоставить разработчикам возможность изменять свои проекты на середине пути, не возвращаясь к точке старта».

Перевод: Mikhail R по заказу РадиоЛоцман

На английском языке: Neural Networks Take on Embedded Vision

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя