Научная статья на тему 'Модернизация программно-аппаратного обеспечения высокоскоростной интеллектуальной видеокамеры'

Модернизация программно-аппаратного обеспечения высокоскоростной интеллектуальной видеокамеры Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
384
88
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫСОКОСКОРОСТНАЯ ИНТЕЛЛЕКТУАЛЬНАЯ ВИДЕОКАМЕРА / HIGH-SPEED INTELLECTUAL VIDEO CAMERA / СТРУКТУРНАЯ СХЕМА / BLOCK DIAGRAM / ВИДЕОСЕНСОР / VIDEO SENSOR / ПЛИС / СИСТЕМА НА КРИСТАЛЛЕ (СНК) / SYSTEM-ON-CHIP (SOC) / IP-ЯДРО / ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ИЗОБРАЖЕНИЙ / THE INTELLECTUAL ANALYSIS OF IMAGES / МОДЕРНИЗАЦИЯ / MODERNIZATION / FPGA / IP-CORE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Иордан Владимир Иванович, Рябченко Иван Константинович

Приведено краткое описание устройства и принципа работы ранее реализованного варианта высокоскоростной интеллектуальной видеокамеры. На основе структурной схемы изложена организация параллельного выполнения нескольких конвейеров блока обработки и интеллектуального анализа изображений видеокамеры. Для обеспечения повышения производительности блока обработки и интеллектуального анализа изображений произведена модернизация видеокамеры, для которой в статье приведена структурная схема и ее новые функциональные возможности.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Иордан Владимир Иванович, Рябченко Иван Константинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Firmware modernization of high-speed intellectual video camera

Concise description of the device and a work of earlier realized variant of a high-speed intellectual video camera are stated. The organization of parallel performance of several conveyors of the block of processing and the intellectual analysis of images on the basis of the block diagram is stated. For ensuring increasing of productivity of the block of processing and the intellectual analysis of images is performed the video camera modernization for which in this article is represented the block diagram and its new functionality.

Текст научной работы на тему «Модернизация программно-аппаратного обеспечения высокоскоростной интеллектуальной видеокамеры»

ВЕСТНИК ЮГОРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2014 г. Выпуск 2 (33). С. 74-80

УДК 621.397.424, 004.932

МОДЕРНИЗАЦИЯ ПРОГРАММНО-АППАРАТНОГО ОБЕСПЕЧЕНИЯ ВЫСОКОСКОРОСТНОЙ ИНТЕЛЛЕКТУАЛЬНОЙ ВИДЕОКАМЕРЫ

В. И. Иордан, И. К. Рябченко Введение

Вопросы проектирования и реализации высокоскоростной видеокамеры, предназначенной для регистрации, обработки и интеллектуального анализа потока видеоизображений быстропротекающего процесса нанесения на изделия покрытий с помощью микрокапель расплавов различных порошковых материалов были рассмотрены в статьях [ 1 -4]. Например, для получения покрытий с заданными свойствами и для прогнозирования их качества в технологии плазменного напыления покрытий необходимо производить измерение параметров струи в технологической цепочке «плазмотрон-струя-покрытие» [2, 8]. Распределение скоростей и температур частиц в поперечных сечениях потока струи, а также и распределение объемной концентрации (плотности) частиц не только в центре, но и на периферии струи являются наиболее важными параметрами струи напыления [3]. Распределенные по потоку параметры частиц (скорость, температура и т. д.) можно определять, например, методами обработки изображений, зарегистрированных высокоскоростной видеокамерой [4, 7].

1. Функциональные возможности базовой конфигурации программно-аппаратного обеспечения высокоскоростной интеллектуальной видеокамеры

Реализованный макетный вариант высокоскоростной видеокамеры [4, 5], регистрирующей поток изображений, представляет собой набор из двух плат: плата видеосенсора с закрепленным на ней объективом и плата основного модуля. С помощью основного модуля (с помощью микропроцессорной системы) осуществляется регистрация, обработка и интеллектуальный анализ потока изображений, а также передача видеоизображений в память внешнего персонального компьютера (ПК). Плата видеосенсора представляет собой 4-хслойную печатную плату с расположенным в центре высокоскоростным цифровым видеосенсором CMV2000 фирмы CMOSIS и креплением для объектива.

Для обработки видеоизображений (1088 строк на 2048 столбцов) была использована отладочная плата Digilent Atlys Spartan-6 FPGA Development Board [5, 6], основным компонентом которой является ПЛИС архитектуры FPGA серии Spartan-6 LX45 фирмы Xilinx (43661 логических ячеек), работающая на частоте 500 МГц. На отладочной плате имеются: DDR2 память (128 Мбайт), контроллер Gigabit Ethernet, два HDMI входа и выхода, 16 Мбайт Flash-памяти для конфигурирования и хранения данных (рис. 1).

74

В. И. Иордан, И. К. Рябченко. Модернизация программно-аппаратного обеспечения...

Рисунок 1. Структурная схема высокоскоростной видеокамеры

Наличие периферийных модулей на плате Atlys позволяет проектировать управляющие устройства для широкого ряда цифровых систем, включая разработку процессоров, основанных на ядре MicroBlaze фирмы Xilinx. Работа видеокамеры предусматривает загрузку прикладного программного обеспечения, встраиваемого в ПЛИС, обеспечивающего быстродействующую обработку потока изображений, позволяющего исследовать, например, волновую динамику и физические характеристики быстропротекающих технологических и других физических процессов [5, 7, 8]. В ПЛИС используется несколько блоков (рис. 1), выполняющих определенные операции [1, 4, 5].

Прием данных от видеосенсора, обработка и передача данных интерфейсам сопряжения с внешними устройствами производится с помощью блока обработки сигнала (изображений). Блок управления, основанный на ядре MicroBlaze фирмы Xilinx, выполняет функции управления видеосенсором и блоком обработки видеоизображений. Организация такого soft -процессора осуществляется за счет ресурсов ПЛИС, столь необходимых для обработки изображений в блоке обработки сигнала. С помощью интерфейсов сопряжения с внешними устройствами предусмотрена возможность вывода изображения на монитор без использования ПК, либо передачи исходных данных на ПК для дальнейшей более сложной математической обработки и анализа изучаемых быстропротекающих физических процессов.

Данные от видеосенсора, поступая на плату обработки и передачи видеоизображений, в зависимости от настроек могут передаваться на ПК одним из двух вариантов. По первому варианту предполагается передача видеоданных, обработанных в блоке обработки видеокамеры по запрограммированному алгоритму. После обработки видеоданные передаются в контроллер Marvell Alaska Tri-mode PHY (the 88E1111), расположенный на плате Atlys, а затем пересылаются через разъем RJ-45 на ПК для последующего сохранения и анализа информации. Кроме того, при таком режиме работы возможен вывод видеоизображений и результатов их анализа на внешний монитор, подключенный посредством разъема HDMI непосредственно к плате Atlys. По второму варианту полученные видеоданные без дополнительной обработки передаются непосредственно в контроллер Marvell Alaska Tri-mode PHY (the 88E1111) и пересылаются через разъем RJ-45 на ПК для последующего сохранения и обработки информации.

В блоке обработки изображений (рис. 2) реализована параллельная организация работы определенного числа конвейеров, каждый из которых состоит из последовательной цепочки фильтров обработки, шины обмена данными и менеджера памяти. Сигнал с видеосенсора поступает на вход демультиплексора данных, который перенаправляет его в одну из половин ping-pong буфера. В это время, предыдущий кадр из другой половины ping-pong буфера поступает на вход демультиплексора данных, который разбивает изображение на блоки по

75

Приборы и методы контроля

32x32 пикселей с перекрытием соседних блоков в два пикселя, что позволяет обрабатывать каждый блок изображения параллельно и независимо от других. С выхода демультиплексора блок изображения поступает на вход одного из M конвейеров обработки данных.

Видеосенсор

Л

Демультиплексор данных

U

| Входной ! буфер А

Входной буфер Б

ОЗУ

Выходной

буфер

Мультиплексор данных

п _

=3

Демуль-

ти-

плексор

данных

Блок

памя-

ти18

Фильтр 1 1_/

■>=>

Блок памяти 18 кбит

Фильтр

N

Конвейер M

Блок памяти 18 кбит

Фильт

р 1

Блок памяти 18 кбит

jy Фильтр 51 N

Муль-

типлек-

сор

данных

Рисунок 2. Структурная схема блока обработки изображений

Конвейер осуществляет полный цикл обработки блока изображения в соответствии с приведенном в [3] алгоритмом и представляет собой цепочку фильтров, чередующихся со встроенными в ПЛИС блоками памяти по 18 кбит для хранения промежуточных результатов вычислений. Фильтр представляет собой IP-модуль, реализующий часть алгоритма обработки изображений и подключаемый к шине обмена данными блока обработки сигнала по интерфейсу (VHDL-код): entity Filter is

Port ( -- input data

DI : in std_logic_vector(9 downto 0);

DIA : out std_logic_vector(9 downto 0);

DIC : out std_logic;

-- output data

DO : out std_logic_vector(9 downto 0);

DOA : out std_logic_vector(9 downto 0);

DOC : out std_logic;

-- control port

CLK : in std_logic;

DONE : out std_logic);

end Filter;

Линии DI, DIA, DIC, DO, DOA и DOC менеджером памяти модуля обработки данных ассоциируются с соответствующими буферами во встроенной памяти. Для чтения данных из входного буфера, фильтр выводит в порт DIA адрес читаемого слова, переводит линию DIC в активное состояние, после чего считывает входное слово с порта DI. Для записи результата в выходной буфер, фильтр выводит в порт DO результат, в порт DOA адрес в выходном буфере, по которому необходимо поместить результат, и переводит линию DOC в активное состояние. После завершения обработки блока входных данных, фильтр переводит линию

76

В. И. Иордан, И. К. Рябченко. Модернизация программно-аппаратного обеспечения...

DONE в активное состояние, по которому менеджер памяти переключает буферы на обработку следующего блока данных.

Конвейер содержит всего шесть фильтров, каждый из которых реализует один из шести шагов алгоритма, приведенного в [2]: сглаживание пространственным фильтром Гаусса, вычисление производной функции профиля яркости изображения дискретным дифференциальным оператором Собеля, утончение границ треков, двойную пороговую фильтрацию, параметризацию треков алгоритмом Хафа и вычисление параметров струи в соответствии с заданным режимом работы видеокамеры. В качестве параметров технологической струи в результате обработки изображения по длине треков частиц L и времени экспозиции кадра т определяются скорости частиц

v = p-Ых, (1)

где ц - масштабный коэффициент, преобразующий расстояние на экране изображения в реальный пройденный частицей путь. Множество значений скорости частиц, вычисленных в соответствии с формулой (1), с использованием статистического подхода позволяет определить распределение частиц по скоростям вдоль оси потока струи. На рис. 3 отображен исходный кадр (а) и результат его конвейерной обработки.

а)

б)

Рисунок 3. Кадры изображений: (а) - исходный кадр (время экспозиции кадра т = 40мкс); (б) - результат конвейерной обработки исходного кадра (а)

На следующем рисунке (рис. 4) отображена диаграмма распределения скорости частиц в зависимости от расстояния, отсчитываемого от среза ствола.

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

77

Приборы и методы контроля

Рисунок 4. Распределение скоростей частиц вдоль направления плазменного потока

Недостатком видеокамеры-прототипа является определенная степень ограниченности вычислительных ресурсов ПЛИС, которых не достаточно для реализации полного набора алгоритмов, необходимых для обработки и интеллектуального анализа видеоизображений, передаваемых от видеосенсора в основной модуль видеокамеры. По этой причине производится упрощенный интеллектуальный анализ видеоизображений исследуемых быстропротекающих процессов. Так как видеокамера не располагает внешней памятью большой емкости для записи в нее потока изображений, поэтому часть ресурсов ПЛИС (логические ячейки и блоки ОЗУ), которые можно было использовать для основной вычислительной нагрузки блока обработки и интеллектуального анализа видеоизображений, в реальности используются для реализации IP-ядра, предназначенного для организации канала связи Gbit Ethernet с внешним персональным компьютером (ПК). Таким образом, это определяет другой недостаток, в соответствии с которым примерно 7/8 данных не передается на персональный компьютер из-за скоростных ограничений интерфейсов сопряжения видеокамеры и ПК. Кроме того, в качестве еще одного недостатка можно отметить, что для отображения результатов обработки и анализа видеоизображений используется внешний монитор, что делает систему менее мобильной.

2. Функциональные возможности модернизированной высокоскоростной

интеллектуальной видеокамеры

В качестве модернизации видеокамеры взамен платы Digilent Atlys Spartan-6 FPGA Development Board была использована совместимая по архитектуре программируемых ресурсов отладочная плата ZedBoard, в состав которой входит производительная система на кристалле (СнК) Zynq-7020 (рис. 5).

78

В. И. Иордан, И. К. Рябченко. Модернизация программно-аппаратного обеспечения...

Рисунок 5. Структурная схема модернизированной высокоскоростной интеллектуальной

видеокамеры

В СнК Zynq-7020 ПЛИС Artix-7, работающая на частоте 866 МГц, сопряжена высокоскоростной шиной (магистралью) с аппаратно реализованным двухъядерным процессором ARM Cortex-А9. При этом становится возможным комбинировать сильные стороны, как ПЛИС, так и ARM-процессора, сочетая программную реализацию широко распространенных алгоритмов и протоколов, имеющих поддержку в виде библиотек и средств разработки, и аппаратное ускорение несложных операций с высокой степенью параллелизма, выполняемое на базе программируемых ресурсов FPGA [6]. Также положительным моментом является весьма низкое энергопотребление ядер ARM. Наличие в СнК двух ядер Cortex-A9 позволяет разрабатывать устройства с развитым пользовательским интерфейсом и разнообразными периферийными компонентами.

Таким образом, использование в качестве модуля видеокамеры платы ZedBoard вместо отладочной платы Digilent Atlys определило новые функциональные возможности и обеспечило более высокую производительность видеокамеры, которая позволила:

1. Увеличить производительность в связи с тем, что ПЛИС платы ZedBoard работает на более высокой, чем ПЛИС платы Digilent Atlys, частоте (в 1,732 раза выше), а также имеет на 41339 логических ячеек больше (почти в 2 раза) и объема памяти в блоках ОЗУ на 384 Мб больше. Эти преимущества позволили увеличить число конвейеров параллельной обработки изображений в новом варианте видеокамеры.

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

3. Подключить RAID-массив, на который происходит сохранение видеоданных, а также воспроизводить эти данные и результаты интеллектуальной обработки изображений в виде

79

Приборы и методы контроля

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

4. Использовать двухъядерный процессор в качестве аппаратной платформы для запуска пользовательского интерфейса (в числе которых можно упомянуть Linux и Windows CE), а также для организации взаимодействия с аппаратными интерфейсами, реализация которых в ПЛИС потребовала бы привлечения дополнительных ресурсов - Ethernet, USB, CAN.

5. Использовать USB-порт для обновления с внешних USB накопителей программного обеспечения и конфигурации ПЛИС видеокамеры, тем самым, отпала необходимость использовать внешние специализированные аппаратные средства для такого обновления.

Заключение

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Модернизация видеокамеры решает задачу повышения производительности блока регистрации, обработки и интеллектуального анализа потока изображений процессов с быстроизменяющейся интенсивностью излучения, регистрируемых видеокамерой, более чем в 3,5 раза по сравнению с конфигурацией видеокамеры, изложенной в первом подразделе настоящей статьи. Встраиваемое специализированное программное обеспечение в систему на кристалле (СнК) позволяет производить быстродействующую (параллельную) обработку потока изображений, на основе которой производится «интеллектуальный» анализ динамики поведения определенных объектов исследуемых процессов, в частности определяются распределения скоростей и концентрации частиц по гетерогенному потоку частиц в газотермической струе при напылении упрочняющих защитных покрытий на изделия для последующей оптимизации технологии напыления.

Список литературы

1. Постоев, А. И. Реализация отладочного модуля регистратора потока видеоизображений на основе платы DIGILENT ATLYS SPARTAN-6 FPGA DEVELOPMENT BOARD [Текст] / А. И. Постоев, И. К. Рябченко, В. И. Иордан // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов : сб. статей Всероссийской научно-практической конференции, 28 февраля 2013. - Барнаул, 2013. - 176 с. - С. 9-13.

2. Бороненко, М. П. Измерение скорости и температуры частиц в потоке низкотемпературной плазмы [Текст] / М. П. Бороненко, И. П. Гуляев, П. Ю. Гуляев, А. Е. Серегин // Изв. вузов. Физика. - 2014. - Т. 57, № 3/2. - С. 73-77.

3. Бороненко, М. П. Телевизионная измерительная система наносекундного разрешения [Текст] / М. П. Бороненко, П. Ю. Гуляев // Доклады Томского государственного университета систем управления и радиоэлектроники. - 2014. - № 1(31). - С. 60-64.

4. Рябченко, И. К. Программно-аппаратная реализация модуля обработки изображений потока частиц в составе интеллектуальной цифровой видеокамеры [Текст] / И. К. Рябченко, А. И. Постоев, В. И. Иордан // Известия вузов. Физика. - 2013. - Т. 56, № 8/3. - С. 342-347.

5. Иордан, В. И. Определение поля скоростей и распределения плотности частиц в плазменной струе методами обработки потока изображений при высокоскоростной съемке цифровой камерой [Текст] / В. И. Иордан, И. К. Рябченко // Известия вузов. Физика. - 2012. -Т. 55, № 9/2. - С. 169-175.

6. Тарасов, И. Е. Расширяемая процессорная платформа семейства Zynq-7000 [Текст] / И. Е. Тарасов // Компоненты и технологии. - 2011. - № 4. - С. 88-92.

7. A new high-speed brightness pyrometry method to investigate self-propagating high-temperature synthesis / D. A. Garkol’, P. Y. Gulyaev, V. V. Evstigneev et al // Combustion, Explosion, and Shock Waves. - Volume 30, Issue 1. - P. 72-76.

8. Методы контроля температуры и скорости частиц конденсированной фазы в процессе плазменно-дугового напыления [Текст] / М. П. Бороненко, П. Ю. Гуляев, И. П. Гуляев [и др.] // Фундаментальные исследования . - 2013. - № 10-6. - С. 1194-1199.

80

i Надоели баннеры? Вы всегда можете отключить рекламу.