08 апреля 2019

В последнее время во многих областях нашли применение сверточные нейронные сети – от задач распознавания образов до задач удаления шума и повышения разрешения изображений. Однако запуск сверточных нейронных сетей на ПЛИС имеет ряд трудностей – это отсутствие готовых библиотек, высокая сложность разработки и отладки алгоритма на встраиваемой платформе. В этой работе предлагается обойти описанные выше проблемы, используя модельно-ориентированное проектирование: вначале создать модель алгоритма нейронной сети в среде MATLAB/Simulink, а после из модели по средствам автоматической генерации кода получить HDL-описание алгоритма нейронной сети для ПЛИС. В качестве примера рассматривается задача распознавания рукописных цифр.

Статья впервые была представлена на DSPA-2019 21-й Международной Конференции «Цифровая обработка сигналов и её применение». 

Авторы:  инж. Воробьев А.Н, инж., к.т.н. Шидловский Д.Ю., инж., к.т.н. Багров А. А., Центр инженерных технологий и моделирования «Экспонента»

Инженер ЦИТМ «Экспонента» Воробьев Александр представил на конференции доклад на тему «Аппаратная реализация сверточной нейросети на ПЛИС c использованием модельно-ориентированного проектирования», раскрывающий возможности среды MATLAB по проектированию сверточных нейронных сетей и по их последующей аппаратной реализации на ПЛИС. В этом проекте наши инженеры ставили перед собой задачу пройти процесс от разработки архитектуры сети до ее аппаратной реализации наиболее оптимально, с минимальными временными затратами. Как правило, нейронные сети запускают на GPU и этот процесс уже отлажен. Запуск сверточных нейронных сетей на ПЛИС имеет ряд трудностей – это отсутствие готовых библиотек, ограниченные аппаратные ресурсы, высокая сложность разработки и отладки алгоритма непосредственно на ПЛИС. В этом докладе наши инженеры показывают, как можно обойти описанные выше проблемы, используя модельно-ориентированное проектирование и среду разработки MATLAB/Simulink.


В последнее время во многих областях нашли применение сверточные нейронные сети – от задач удаления шума и повышения разрешения изображений до задач построения современных систем содействия водителю (Advanced Driver-Assistance Systems – ADAS) способных распознавать окружающие его объекты: автомобили, дорожные знаки, пешеходов, линии разметки. Однако к этим системам предъявляется ряд дополнительных требований – обработка видео в режиме реального времени и возможность запуска алгоритма на встраиваемых платформах.
Однако запуск сверточных нейронных сетей на ПЛИС и на других встраиваемых системах имеет ряд трудностей – это отсутствие готовых библиотек, ограниченные вычислительные ресурсы аппаратной платформы, высокая сложность разработки и отладки алгоритма на встраиваемой платформе. В этой работе предлагается обойти описанные выше проблемы используя модельно-ориентированное проектирование и среду разработки MATLAB/Simulink.
Структурно процесс разработки с использованием модельно-ориентированного проектирования можно разделить на три основных этапа: создание модели алгоритма и уточнение его параметров, подготовка алгоритма к аппаратной реализации и автоматическая генерация кода.
На первом шаге создается структура нейронной сети в MATLAB, сеть обучается на тестовых данных и при необходимости ее структура уточняется. На следующем шаге реализуется потоковая модель алгоритма нейронной сети в среде Simulink для работы с потоковым видео, пригодная для аппаратной реализации на ПЛИС. И на третьем шаге, используя автоматическую генерацию кода из Simulink-моделей, получаем HDL-код с описанием алгоритма нейронной сети, пригодного для синтеза и запуска его на ПЛИС.
В этой работе в качестве примера по аппаратной реализации сверточной нейронной сети выбрана сеть для распознавания рукописных цифр (рисунок 2). Впоследствии созданную нейронную сеть можно обучить на другом наборе данных – дорожных знаках, автомобильных номерах – и использовать в системах содействия водителю или в системах фотовидеофиксации для распознавания автомобильных номеров.

Скачать доклад и презентацию к нему можно по ссылке ниже.

Связанное видео "Реализация нейронной сети на ПЛИС".



Новость
Внимание! Изменение формата конференции “Технологии разработки и отладки сложных технических систем” на online
18.03.2020
Новость
Доступны для скачивания материалы первого и второго дней VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
03.06.2019
Новость
Материалы первого дня VI всероссийской конференции "Технологии разработки и отладки сложных технических систем" доступны к скачиванию
31.05.2019
Новость
27-28 марта 2019 года прошла VI научно-практическая конференция «Технологии разработки и отладки сложных технических систем»
05.04.2019
Новость
Второй день VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
28.03.2019
Новость
Первый день VI всероссийской конференции "Технологии разработки и отладки сложных технических систем"
27.03.2019
Новость
Сборник материалов V всероссийской научно-практической конференции "Технологии разработки и отладки сложных технических систем"
22.01.2019
Новость
27-28 марта 2018 года IV научно-практическая конференция «Технологии разработки и отладки сложных технических систем»
30.03.2018
Видео
Генерация HDL кода из моделей MATLAB/Simulink
12.05.2021
Новость
IP-ядра для ПЛИС и СнК от отечественного разработчика
02.03.2021
Новость
Сборник материалов VI всероссийской научно-практической конференции "Технологии разработки и отладки сложных технических систем"
03.04.2020
Видео
Введение в Simulink
26.11.2019