Статья:

Разработка архитектуры веб приложения для распознавания рукописной интеллект карты

Конференция: V Международная заочная научно-практическая конференция "Научный форум: технические и физико-математические науки"

Секция: Информатика, вычислительная техника и управление

Выходные данные
Алексеев Д.Н. Разработка архитектуры веб приложения для распознавания рукописной интеллект карты // Научный форум: Технические и физико-математические науки: сб. ст. по материалам V междунар. науч.-практ. конф. — № 4(5). — М., Изд. «МЦНО», 2017. — С. 5-10.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

Разработка архитектуры веб приложения для распознавания рукописной интеллект карты

Алексеев Дмитрий Николаевич
аспирант, Южно- Российский государственный политехнический университет им. М.И. Платова, РФ, г. Новочеркасск

 

Developing the architecture of the web application to recognize handwriting mind map

 

Dmitry Alekseev

post-graduate student, South - Russian state Polytechnic University. M. I. Platov , Russia, Novocherkassk

 

Аннотация. В статье рассматривается разработка общей архитектуры веб приложения для распознавания рукописных интеллект карт в рамках выполнения НИОКР по теме: “Разработка и внедрение алгоритмов распознавания образов интеллект карт с преобразованием их в текстовый формат.” Данная архитектура состоит из клиентского веб-интерфейса, взаимодействующего с уровнем моделей данных.

Abstract. The article discusses the development of the overall architecture of the web application to recognize handwriting, mind maps in the framework of R&d on the topic: “Development and implementation of algorithms for pattern recognition mind maps and convert them to text format”. This architecture consists of a client web interface that interacts with the level of data models.

 

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

Keywords: pattern recognition; mind maps; systematization of information; web application architecture.

 

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

Общая архитектура веб-приложения распознавания интеллект-карт MindVision, реализуется исходя из технологии «клиент-сервер» т.е. состоит из клиентской и серверной частей. Клиентская часть, в свою очередь реализует пользовательский интерфейс, формируя запросы к серверу и обрабатывает ответы от него. Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием веб – протокола HTTP.

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

Для программной реализации веб-приложения данного уровня сложности, в рамках технологии «клиент-сервер», изначально была выбрана микросервисная архитектура, которая представляет систему, где каждый бизнес-компонент представляет собой микросервис. Такое решение, более подходящее для масштабирования функциональных возможностей сервиса и обеспечивает простоту его развития в соответствии с потребностями бизнеса. Основной модуль распознавания обладает базой данных, в которой хранятся электронные структуры интеллект карт пользователей и их авторизационные данные, которые защищены при передачи протоколами шифрования. Обмен данными между микросервисами осуществляется через API интерфейс компонентов. Такая архитектура в настоящее время становится стандартом для непрерывно развивающихся систем. Она позволяет изолировать наборы бизнес-логики в отдельные микросервисы, что представляет разделение функциональных модулей, реализующих сервисы презентации интеллект карт, создания карт из текстового описания и инструмента планирования.

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

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

 

Рисунок 1. Архитектура веб-приложения распознавания интеллект карт

 

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

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

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

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

Модуль распознавания интеллект карты включает взаимосвязанные компоненты, имеющие модульное представление и реализующие элементы бизнес логики и разработанные программные алгоритмы:

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

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

3.  Алгоритмы реализующие оптическое распознавание детектированного текста по средствам базовой библиотеки tesseract OCR и языковых наборов обученных данных.

4.  Алгоритм составления иерархии распознанных элементов и увязывание их в единую структуру интеллект карты.

5.  Экспорт распознанной интеллект карты в электронный формат.

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

Серверные модули реализованы на языке программирования С#, платформа Microsoft .NET Framework 4.6.. Модуль оптического распознавания интеллект карты разработан на основе библиотеки компьютерного зрения OpenCv 3.1 и соответствующей оболочки EmguCv. Клиентская логика и веб интерфейсы реализованы на языке javaScript и Framework AngularJS 1.6.2. –являющийся фреймворком с открытым исходным кодом, расширяющий браузерные возможности приложений на основе MVC-шаблона. В результате AngularJS уменьшает роль DOM-манипуляций и улучшает тестируемость приложения. Алгоритмы визуализации и раскладки графов созданы с использованием открытой библиотеки d3.js, реализующие широкие возможности работы с векторной графикой в рамках веб приложений.

Данные работы осуществлены в рамках выполнения НИОКР по программе «СТАРТ» и позволили подготовить, для выхода на рынок инструментов для создания интеллект карт, новый интернет-сервис направленный на обеспечение инновационного развития в области систематизации информации.

 

Список литературы:
1. Билл Скотт, Тереза Нейл. Проектирование веб-интерфейсов. Символ-Плюс. 2010. 352.
2. Интеллект-карты для бизнеса: Тони Бьюзен при участии Криса Гриффитса — Санкт-Петербург, Попурри, 2011 г.
3. Л. Шкляр Р. Розен. Архитектура веб-приложений. Эксмо, 2010.
4. Обнаружение, распознавание и определение параметров образов объектов. Методы и алгоритмы. Александр Коренной. 2012 
5. Valeri Karpov, Diego Netto. Professional AngularJS. John Wiley & Sons, Indianapolis 2015.