О РАЗРАБОТКЕ ЭКСПЕРТНОЙ СИСТЕМЫ ВЫБОРА МЕТОДА ПОСТРОЕНИЯ ПАНОРАМНЫХ ИЗОБРАЖЕНИЙ - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

О РАЗРАБОТКЕ ЭКСПЕРТНОЙ СИСТЕМЫ ВЫБОРА МЕТОДА ПОСТРОЕНИЯ ПАНОРАМНЫХ ИЗОБРАЖЕНИЙ

Кривчиков В.С. 1
1Белгородский государственный национальный исследовательский университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

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

В данной работе рассматривается разработка экспертной системы реляционного типа.

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

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

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

Следующим этапом является проектирование дерева решений.

Дерево решений – графический метод, позволяющий связать точки принятия решения, возможные стратегии Аi, их последствия Ei,j с возможными факторами, условиями внешней среды.[1]

Фрагмент дерева решений разрабатываемой системы представлен на рисунке 1.

Рисунок 1 – Фрагмент дерева решений

Для программной реализации экспертной системы необходимо обеспечить «понятную» для компьютера структуру хранения базы знаний (в данном случае представленную в виде дерева решений). Для этой цели была выбрана база данных SQLite. SQLite – портативная встраиваемая база данных, которая организована в виде одного файла с расширением db.

Для реализации базы знаний разрабатываемой системы необходимо три сущности:

«Состояния» – сущность, в которой содержится информация о состояниях системы (рисунок 2.2). Содержит поля: идентификатор, наименование и признак финального состояния;

«Ответы» – сущность, в которой содержится информация об ответах пользователя (переходах между состояниями). Содержит поля: идентификатор, идентификатор состояния владельца (того состояния, которому принадлежит данный ответ), идентификатор следующего состояния (того состояния, в которое перейдет система при выборе данного ответа);

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

Инфологическая модель базы данных представлена на рисунке 4.1.

Рисунок 4.1 – Логическая модель базы данных

Интерфейс системы реализован в виде приложения Windows Forms на языке C#.

Для более удобной работы с базой знаний было принято решение использовать библиотеку NPoco.

Данная библиотека позволяет выполнять «маппинг» полей базы данных в поля и свойства объектов языка C#.

Для реализации работы с базой данных средствами NPoco было создано три модели:

Question;

Description;

Answer;

Модель Question является основной моделью системы. Содержит поля: идентификатор состояния, наименование состояния, признак конечного состояния, массив ответов и массив подсказок.

Модели Desctiption и Answer несут в себе ту же информацию, что и соответствующие таблицы в базе данных.

Модель Answer состоит из следующих полей:

Text (вбазеданных Answer.AnswerText);

NextQuestion (вбазевнешнийключна Answer.rf_NextStateID).

Модель Description состоит из следующих полей:

Text (вбазеданных Description.DescriptionText);

PrevId (Description.rf_PrevStateID).

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

выполняется выгрузка всех записей из таблицы State в массив Question (поля Answers и Descriptions на данном шаге не заполняются);

для каждого элемента полученного массива выполняется выгрузка ответов и описаний (выполняется запрос на выгрузку с условием rf_OwnerStateID = <ИД текущего состояния>).

Общий вид главной формы программы представлен на рисунке 2.

Данная форма содержит постоянные элементы управления и элементы управления, которые появляются динамически. К постоянным можно отнести:

таблицу вопросов с указанием ответов;

кнопку «Помощь», которая показывает пояснения к текущему состоянию системы;

кнопку «Сброс», которая возвращает систему к начальному состоянию;

Динамические элементы это наименование состояния (текст вопроса) и кнопки с выбором варианта ответа. Данные элементы управления появляются для каждого состояния в правой части формы.

Рисунок 2 – Главная форма программы

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

Рисунок 3 – Пояснения к состоянию

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

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

Рисунок 5 – Конечное состояние системы

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

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

Использованные источники:

Интеллектуальные системы [Электронный курс] / Режим доступа: https://pandia.ru/text/78/654/65234.php (дата обращения 11.01.2020)

Экспертный системы при принятии решений на предприятии [Электронный курс] / Режим доступа: http://bmpravo.ru/show_stat.php?stat=193 (дата обращения 11.01.2020)

WindowsForms [Электронный ресурс] / Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/framework/winforms/windows-forms-overview (дата обращения 11.01.2020)

Просмотров работы: 11