Графический интерфейс ПС ИНС
И.П.Тищенко,
аспирант,
ИПС РАН, kaif@kaif.pereslavl.ru, г.Переславль-Залесский
В
ИПС РАН в рамках проекта программы «Триада» Союзного государства силами
коллектива лаборатории интеллектуального управления Исследовательского центра
искусственного интеллекта проводится работа по созданию программной системы
(ПС) для распознавания образов, функционирующей на основе кластерного вычислительного
устройства (КВУ) семейства «СКИФ». Система имеет краткое название «ПС ИНС». Основное
назначение системы - выделение и распознавание локальных объектов на
космических снимках, кластеризация и классификация снимков на потоке, и решение
других задач на основе искусственных нейронных сетей (ИНС). В настоящей работе
рассматривается особенности интерфейса «ПС ИНС», предложенной автором для визуального
моделирования задач использующих нейросетевые алгоритмы распознавания графических
образов на КВУ, а также алгоритмы предварительной и специальной обработки графической информации.
«ПС
ИНС» является программной системой, обеспечивающей решение задач пользователя
путем объединения множества модулей с привязкой к отечественной
суперкомпьютерной платформе «СКИФ». В систему включено множество программных
реализаций ИНС разработанных с использованием стандарта MPI. Также в систему
включено множество алгоритмов предварительной обработки изображений, включая:
улучшение качества изображения за счет фильтрации изображения; выделение
информативных параметров (инвариантных моментов), линий положения, контуров,
особых точек и др., т.е. выделение признаков, способствующих распознаванию
образов на основе ИНС; сегментации графических объектов и др. необходимых
преобразований. Общая архитектура системы представлена на рис. 1. Система
снабжена развитым графическим интерфейсом (GUI), обеспечивающим интерактивную работу пользователя с модулями «ПС ИНС».
С помощью данного интерфейса пользователь может создавать схемы решения задач
распознавания текстовой информации, распознавания фотографий лиц (биометрика) и
изображений летательных аппаратов (снимки из космоса), прогнозирования
(временные числовые ряды).
Рис.1.
Архитектура ПС
Для
удобства формирования задач разработан специальный графический интерфейс (рис.
2). Посредством функций интерфейса возможно:
- выбирать методы
предварительной обработки, типы и конфигурации ИНС,
- создавать и запускать на
выполнение схемы распознавания и сохранять полученные результаты,
- задавать входные данные и отображать результаты работы.
Рис. 2.
Общий вид интерфейса.
Функционирование
графического интерфейса в семействе операционных систем Windows обеспечивается
возможностями .Net Framework версии 2.0, в Unix-подобных операционных
системах (в том числе и Linux) поддерживается работа интерфейса с графическими
библиотеками libgdiplus и Mono, open-source реализации .Net [2].
Графический
интерфейс состоит из следующих компонент:
- базовой и дочерних форм,
- формы настроек интерфейса и
модулей,
- служебных классов,
- файла настроек в
xml-формате,
Для
работы интерфейса необходимо также иметь информацию о существующих модулях. Описания
существующих модулей содержаться в xml-файлах и подгружаются динамически при загрузке
интерфейса. Структура такого xml-файла состоит из следующих частей:
- типа модуля и типа его
реализации,
- раздела описания параметров
модуля,
- раздела писания входных и
выходных данных (каналов) модуля,
- раздела описания модуля для
интерфейса.
В
типе модуля указывается, является ли данный модуль обработчиком данных или
нейронной сетью, а в типе реализации – является ли его реализация параллельной
или нет.
В
разделе описания входных и выходных
данных (каналов) описываются типы данных, которые получает и отсылает модуль, а
для различия каналов модуля им присваиваются уникальные имена.
В
разделе описания параметров указываются имена параметров, их типы, а также значения,
присваиваемые им по умолчанию. Среди типов параметров модуля можно выделить
возможность указания:
- ссылок на файлы и
директории,
- строковых типов,
- целых и вещественных типов.
В
разделе описания модуля для интерфейса указываются:
- полное название модуля и
его описание,
- класс модуля,
- описания параметров и их
возможные значения,
- описания входных и выходных
данных (каналов).
Во
время динамической загрузки описаний модулей создается соответствующее меню (рис.
3) с динамически всплывающими подсказками. При выборе пункта этого меню
появляется модуль на поле редактирования (рис.4). Выделив модуль на поле
редактирования можно отредактировать его параметры, которые соответствуют
xml-описанию данного модуля.
Как
уже говорилось, модули могут быть либо обработчиками данных, либо нейронными
сетями. В тоже время можно условно подразделить модули обработки данных на:
- считывающие входные данные,
- записывающие результаты
работы,
- обрабатывающие данные.
рис. 3. Меню выбора модулей рис. 4. Добавленный
модуль и его
параметры
В
процессе редактирования схемы распознавания для обеспечения пересылки данных
между модулями необходимо инициализировать каналы. Это
делается путем соединения выходного канала одного модуля с входным каналом
другого модуля. При этом типы данных, пересылаемых по каналам должны совпадать
(рис. 5).
рис. 5.
Типичная схема распознавания
В
результате сохранения такой схемы на жесткий диск создается xml-файл, состоящий
из раздела описания списка модулей с установленными параметрами, а также из раздела
описания связей между каналами соответствующих модулей.
Для
удобства пользователя в интерфейсе предусмотрены специальные модули интерфейса
для определения входных данных и
отображения результатов. Модули интерфейса для определения входных данных используются
для визуализации процесса создания списка параметров, например списка файлов
или директорий (рис. 6). Такой список хранится в специальном файле(ах) и подается
как параметр модуля системы.
рис. 6.
Визуализация модуля интерфейса считывания данных
Модули
интерфейса отображения данных используются соответственно для отображения данных
работы модулей сохранения результатов (рис. 7).
рис. 7.
Визуализация модуля интерфейса отображения результатов
При
использовании графического интерфейса параметризация запуска вычислительного
ядра решается автоматически согласно сохраненным настройкам. Кроме того в
реализации интерфейса используются библиотеки реализующие SSH2-протокол и
позволяющие запускать интерфейс независимо от остальной системы установленной, например, на
удаленной машине.
Кроме
того в интерфейсе существует специальная форма настроек визуального отображения
блоков-модулей и классификации модулей. Для упрощения поиска необходимого
модуля в интерфейсе предусмотрена возможность создания специальных групп
модулей (рис 8). Для каждой такой группы можно указать
- название группы,
- форму, цвет и величины
отступов текста от границ блока,
- тип, размер и цвет шрифта
блока,
а также для всех групп настроить цвета, шрифт и
отступы активных и неактивных каналов модулей. На другой вкладке формы настроек
можно классифицировать модули по созданным группам (рис. 9).
рис. 8. Вкладка настроек визуального отображения Рис. 9. Вкладка классификации модулей
блоков
модулей
Основным
результатом данной работы явилось создание средствами .Net интерфейса «ПС ИНС», позволяющего:
- создавать и редактировать
схемы распознавания образов, на изображениях используя модули фильтрации и
нейронных сетей,
- производить настройку
модулей входящих в схему для решения поставленной задачи,
- придавать схеме удобный
пользователю вид.
Данный
интерфейс является достаточно универсальным для использования в системах обработки
данных, включая системы автоматизированного проектирования различного назначения.
1.
Виноградов А.Н., Калугин Ф.В., Недев М.Д., Погодин С.В., Талалаев А.А.,
Тищенко И.П., Фраленко В.П., Хачумов В.М. Выделение и распознавание локальных
объектов на аэрокосмических снимках. – Авиакосмическое приборостроение, № 9,
2007, с.39-45.
2. Mono Project - http://mono-project.com.