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

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

CC BY
381
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ / БИБЛИОТЕКИ ФУНКЦИЙ / КОНВЕЙЕР / СХЕМА КОНВЕЙЕРА / ФУНКЦИОНАЛЬНЫЙ БЛОК / ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ / IMAGES PROCESSING ALGORITHMS / FUNCTIONS LIBRARIES / CONVEYER / CONVEYER SCHEME / FUNCTIONAL BLOCK / EXPERIMENTAL RESEARCHES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дудко Илья Сергеевич, Ефимов Алексей Игоревич, Логинов Александр Анатольевич, Ломтева Ольга Андреевна, Муратов Евгений Рашитович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дудко Илья Сергеевич, Ефимов Алексей Игоревич, Логинов Александр Анатольевич, Ломтева Ольга Андреевна, Муратов Евгений Рашитович

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

PROGRAM STAND FOR IMAGES PROCESSING ALGORITHMS AND PROGRAMS RESEARCHES AND DEBUGGING

The article considers the capabilities and operation principles of developed program stand used for researches, debugging, optimization and comparative analysis of program modules and structures, which implement different data processing algorithms (in particular, images processing algorithms).

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

Колобаев Степан Сергеевич, бакалавр, магистрант, yyya. sssa@,mail. ru, Россия, Тула, Тульский государственный университет,

Чекмасова Ирина Игоревна, бакалавр, магистрант, Chrkmasova. 94@,mail. ru, Россия, Тула, Тульский государственный университет

THEORY CAD MECHANICAL ROTARY HOPPER IN THE FOOD INDUSTRY

E.V. Davidova, I.B. Davidov, S.S. Kolobaev, I.I. Chekmasova

The theoretical basis for the creation of CAD mechanical disc hopper, which are used in the structure of the automatic feeding process automatic machines and automatic lines for the manufacture and assembly of multi-products of mass production in the food industry.

Key words: design, hopper, the system will automatically feed the automation offood production.

Davidova Elena Viktorovnа, candidate of technical sciences, docent, elen-davidova@,mail. ru, Russia, Tula, Tula State University,

Davidov Ivan Borisovich, engineer, ivan.davidov@,unilever.com, Russia, Tula, OAO "Unilever Rus",

Kolobaev Stepan Sergeevich, bachelors, masters, yyya. sssaamail. ru, Russia, Tula, Tula State University,

Chekmasova Irina Igorevna, bachelors, masters, Chrkmasova. 94@,mail. ru, Russia, Tula, Tula State University

УДК 004.932

АВТОМАТИЗАЦИЯ ИССЛЕДОВАНИЯ И ОТЛАДКИ АЛГОРИТМОВ И ПРОГРАММ ОБРАБОТКИ ИЗОБРАЖЕНИЙ

И.С. Дудко, А.И. Ефимов, А.А. Логинов, О.А. Ломтева, Е.Р. Муратов

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

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

Современные алгоритмы обработки изображений - это конвейеры, состоящие из последовательности более мелких (простых) алгоритмов. Новый алгоритм, как правило, является некоторым изменением ступеней

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

Разработка комплексных алгоритмов обработки изображений включает в себя этапы, представленные на рис. 1.

Поиск существующих реализаций отдельных алгоритмов, составляющих часть разрабатываемого

алгоритма

Оценка результатов поиска. Найденные реализации алгоритмов при необходимости могут быть доработаны. Также разрабатываются новый, не существующие ранее алгоритмы

Программная стыковка найденных и разработанных алгоритмов, т.е. сборка конвейера, его

отладка и тестирование

Оценка результатов работы полученного комплексного алгоритма обработки изображений но

различным критериям

Перенос программного кода на программируемые логические интегральные схемы (ПЛИС) и микроконтроллеры и его дальнейшая отладка

Рис. 1. Этапы разработки комплексных алгоритмов обработки

изображений

С одной стороны, имеется множество уже готовых алгоритмов обработки изображений, предоставляемых различными средами разработки (например, МаНаЬ), библиотеками (ОрепСУ и прочими), повторная реализация которых с целью исследования и проектирования алгоритмов нецелесообразна. С другой стороны, их возможностей не всегда достаточно для создания новых алгоритмов, к тому же формат входных данных в разных пакетах в большинстве случаев различен. Готовые пакеты и библиотеки дополняют друг друга, но, как правило, не предусматривают полноценного взаимодействия между собой. Поэтому возникает потребность в создании системы, которая объединила бы известные библиотеки, увязала обработку разных форматов данных, позволила создать конвейер алгоритмов и произвести оценку его функционирования.

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

Предлагается потоково-конвейерная схема выполнения последовательности алгоритмов обработки изображений. В настоящее время подобного рода концепции реализованы в ряде программных продуктов, например, GraphStudio компании MONOGRAM, однако они неприменимы к решаемым задачам обработки изображений, так как не поддерживают взаимодействие с Matlab, OpenCL и т.д.

Существующая в настоящее время широко известная технология COM, предназначенная для создания программного обеспечения на основе взаимодействующих компонентов, не может быть использована для решения поставленной задачи в силу следующих недостатков:

1) необходимость использования нескольких языков программирования (.idl для описания интерфейсов и, обычно, C++ для написания реализаций), возникающая при создании собственных интерфейсов;

2) необходимость использования «прокладочного» кода (в его роли обычно выступает ATL) для того, чтобы создать COM-объект на базе С++ класса;

3) необходимость регистрации компонент в реестре операционной системы, причем при этом в качестве идентификатора класса используется нечитаемый человеком GUID (хотя его и возможно дополнить читаемым именем);

4) инфраструктура remoting (удаленного вызова методов) использует бинарный формат запросов и ответов, являясь расширением DCE RPC. Это приводит к возникновению огромной «поверхности уязвимости» с точки зрения безопасности, и не раз приводило к крупным эпидемиям вредоносного ПО (MSBlaster);

5) инфраструктура remoting использует по умолчанию (вслед за DCE RPC) динамически назначаемые номера TCP- и UDP-портов, что делает ее крайне сложной в настройке при наличии межсетевых экранов.

Архитектура программного стенда. Схема организации работы программного стенда, предназначенного для исследования, отладки, оптимизации и сравнительного анализа различных алгоритмов обработки данных, представлена на рис. 2.

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

Алгоритмы, реализованные в виде отдельных функций, различные объекты и нестандартные форматы данных хранятся в пользовательских DLL-библиотеках.

Структурированно

хранимые данные

Алгоритмы, объекты, нестандартные форматы данных, инкапсулированная статистика

Описание функций

Рис. 2. Схема организации работы программного стенда

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

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

Функциональный блок. Ключевым понятием в концепции стенда является понятие функционального блока (рис. 3). Это графический примитив, абстрактное представление отдельной функции (алгоритма). Блок описывает следующие характеристики функции:

- количество входов и их тип;

- тип выхода;

- значения на выходе и входах;

- имя DLL и имя функции, которую он представляет;

- указатели на соединенные с ним блоки.

Для работы с ранее не используемым алгоритмом добавляется новый блок, для которого выбирается библиотека и функция, реализующая данный алгоритм и которую будет представлять этот блок.

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

Схема конвейера

Конвейер - совокупность последовательно выполняемых функций, в которой результат выполнения одной функции служит входными данными для другой.

Схема конвейера - совокупность блоков и связей между ними, представляющими собой каналы передачи данных.

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

Программный стенд имеет визуальную интегрированную среду разработки. Создание схемы конвейера осуществляется путем размещения пользователем в определённой последовательности различных функциональных блоков и установки связей между ними. Стенд производит синтаксический и семантический анализ собранной схемы, то есть проверяет наличие всех необходимых связей между блоками и правильность этих связей с логической точки зрения, в частности, соответствие типов соединенных входов и выходов. Во время выполнения эксперимента можно просматривать промежуточные результаты: изображения, отладочная информация в консоли (рис. 3).

Рис. 3. Пример схемы конвейера

91

Имеется возможность собрать схему из нескольких независимо работающих конвейеров с целью их сравнения по временным показателям. Конвейер может выполняться как в автоматическом, так и пошаговом режиме. Схему и параметры собранного конвейера можно сохранять и загружать повторно.

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

Стенд предоставляет возможность графического отображения накопленной статистики выбранного типа в виде графиков. Работу алгоритмов можно наглядно сравнить по полученным графикам, а также вычисленным значениям математического ожидания, дисперсии и СКО (рис. 4).

Рис. 4. Отображение накопленной статистической информации

Возможности программного стенда. Предлагаемый программный стенд для отладки и сравнительного анализа алгоритмов обработки изображений обладает следующими особенностями [1]:

92

- имеет визуальную IDE (интегрированную среду разработки), позволяющую собирать и перестраивать конвейер (последовательность алгоритмов для обработки данных) путем манипуляций с блоками, отожествляющими выбранные функции;

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

- предоставляет возможность выполнения конвейера в ручном и автоматическом режимах;

- предоставляет функционал по сохранению и загрузки схемы конвейера с целью быстрого доступа к ранее созданным схемам;

- организует многопоточное выполнение независимо работающих конвейеров;

- реализует вычисления средствами Matlab.

Предложенная архитектура программного стенда позволяет реализовать:

- оптимизацию процесса выполнения эксперимента - контроль параллельности выполнения отдельных элементов конвейера, синхронизация обработки разнородных видеопоследовательностей, кэширование результатов обработки изображений. Параллельное выполнение частей конвейера будет организовываться автоматически путём анализа его схемы;

- использование аппаратных ускорителей, внешних контроллеров, реализующих некоторые функции на ПЛИС или на GPU (с использованием OpenCL).

Заключение

С помощью предлагаемой программной системы в научно-образовательном центре «СпецЭВМ» РГРТУ были проведены исследования работоспособности, точности и вычислительной сложности наиболее эффективных алгоритмов обработки изображений:

- алгоритмы корреляционного совмещения изображений [2, 3];

- алгоритмы предварительного совмещения изображений по линии горизонта и крену [4];

- алгоритмы некорреляционного совмещения изображений по ключевым точкам [5];

- алгоритмы некорреляционного совмещения изображений с использованием аппарата матрицы томографии [6];

- алгоритмы оценки качества совмещения изображений [7].

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

1. Программный стенд для исследования и отладки алгоритмов и программ обработки изображений в системах ДЗЗ // А.А. Логинов, Е.Р. Муратов, С.И. Елесина, М.В. Акинин, О. А. Ломтева 3-я международная научно-техническая конференция «Актуальные проблемы создания космических систем дистанционного зондирования Земли». М.: ОАО «Корпорация ВНИИЭМ», 2015. С. 177 - 179.

2. Совмещение изображений в корреляционно-экстремальных навигационных системах: монография / С.И. Елесина, М.Б. Никифоров, А.А. Логинов, Л.Н. Костяшкин; под ред. Л.Н. Костяшкина, М.Б. Никифорова. М.: Радиотехника, 2015. 208 с.

3. Елесина С.И., Ломтева О. А. Increase of image combination performance in combined vision systems using genetic algorithm (Повышение быстродействия совмещения изображений в системах комбинированного видения с использованием генетического алгоритма) // Proceedings of the 3rd Mediterranean Conference on Embedded Computing. Budva, Montenegro, 2014. P. 158-161.

4. Гуров В.С., Никифоров М.Б., Муратов Е.Р. Diverse images combination by pitch and roll angles (Совмещение разнородных изображений по углам тангажа и крена) // 3rd Mediterranean Conference on Embedded Computing (MECO), Budva, 2014.

5. Новиков А.И., Ефимов А.И. ^mbming images using key point method (Совмещение изображений методом ключевой точки) // Proceedings of the 3rd Mediterranean Conference on Embedded Computing. Budva, Montenegro, 2014. P. 108 - 111.

6. Novikov A.I., Sablina V.A., Efimov A.I. Image superimposition and the problem of selecting the set of corresponding point pairs // 4rd Mediterranean Conference on Embedded Computing (MECO) Proceedings. Budva, Montenegro, 2015. P. 139 - 142.

7. Новиков А.И., Ефимов А.И. Предварительное совмещение изображений и методы оценки качества совмещения // Российский научно-технический журнал «Цифровая обработка сигналов». 2014. №3. С. 23 - 29.

8. А.Н. Ивутин, Е.В. Ларкин. Прогнозирование времени выполнения алгоритма // Известия Тульского государственного университета. Технические науки. Вып. 3.Тула: Изд-во ТулГУ, 2013. С. 301-315.

9. Н.И. Фомичев. Автоматизированные системы научных исследований: учеб. пособие. Яросл. гос. ун-т. Ярославль, 2001. 112 с.

10. Н.И. Сидняев. Теория планирования эксперимента и анализ статистических данных: учебное пособие. М.: Изд-во «Юрайт»; ИД «Юрайт», 2011. 399 с.

Дудко Илья Сергеевич, ассист., [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет,

Ефимов Алексей Игоревич, асп., lexie62rus@,mail.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Логинов Александр Анатольевич, канд. техн. наук, доц., loginal@ mail.ru, Россия, Рязань, Рязанский государственный радиотехнический университет,

Ломтева Ольга Андреевна, инженер НИЧ, [email protected], Россия, Рязань, Рязанский государственный радиотехнический университет,

Муратов Евгений Рашитович, канд. техн. наук, доц., myratov er@,mail.ru, Россия, Рязань, Рязанский государственный радиотехнический университет

PROGRAM STAND FOR IMAGES PROCESSING ALGORITHMS AND PROGRAMS

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

RESEARCHES AND DEBUGGING

I.S. Dudko, A.I. Efimov, A.A. Loginov, O.A. Lomteva, E.R. Muratov

The article considers the capabilities and operation principles of developed program stand used for researches, debugging, optimization and comparative analysis of program modules and structures, which implement different data processing algorithms (in particular, images processing algorithms).

Key words: images processing algorithms, functions libraries, conveyer, conveyer scheme, functional block, experimental researches.

Dudko Ilia Sergeevich, assistant, [email protected], Russia, Ryazan, Ryazan State Radio Engineering University,

Efimov Aleksey Igorevich, postgraduate, lexie62rus@,mail.ru, Russia, Ryazan, Ryazan State Radio Engineering University,

Loginov Aleksander Anatolevich, candidate of technical science, docent of Electronic Computers Department, loginal@,mail.ru, Russia, Ryazan, Ryazan State Radio Engineering University,

Lomteva Olga Andreevna, engineer, [email protected], Russia, Ryazan, Ryazan State Radio Engineering University,

Muratov Yevgeniy Rashitovich, candidate of technical science, docent of Electronic Computers Department, myratov er@,mail.ru, Russia, Ryazan, Ryazan State Radio Engineering University

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