Описание основных алгоритмов     — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Описание основных алгоритмов    

2020-04-03 95
Описание основных алгоритмов     0.00 из 5.00 0 оценок
Заказать работу

Алгоритм работы программного комплекса изображён на рисунке 3.2.

Рисунок 3.2 – Алгоритм работы программного комплекса

После запуска мобильного приложения пользователь переходит к шагу 2 алгоритма, изображенного на рисунке 3.2 - «выбор способа загрузки фотографии».

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

 

Далее программный комплекс переходит к шагу 3 алгоритма, изображенного на рисунке 3.2, называющемуся «обработка фотографии». Алгоритм обработки фотографии изображён на рисунке 3.3.

Рисунок 3.3 – Алгоритм обработки фотографии

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

Следуя схеме, изображённой на рисунке 3.2, после обработки фотография передаётся на сервер. На стороне сервера полученные данные декодируются для получения бинарного формата фотографии и сохраняются для дальнейшей обработки приложением MATLAB.

Для связи PHP-скрипта и MATLAB сформирован файл с расширением “.bat”, который запускает приложение MATLAB со следующими параметрами:

- ожидание ответа до закрытия приложения;

- консольный режим;

- вывод результата выполнения скрипта MATLAB в файл.

Так как установлен параметр “Ожидание ответа до закрытия приложения”, следующей командой в bat файле является вывод файла, в который был записан результат выполнения скрипта MATLAB.

Консольный режим выбран для обеспечения быстроты выполнения MATLAB скриптов.

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

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

Распознавание фотографии происходит с помощью алгоритма «Bag of features». Алгоритм распознавания изображений отображён на рисунке 3.4.

Рисунок 3.4 – Алгоритм распознавания изображений

На рисунке 3.4 первым шагом является «извлечение особенностей», в ходе которого осуществляется поиск и описание особых точек на изображении при помощи дескриптора SURF. На втором шаге происходит сопоставление извлечённых особенностей словам из словаря, составленного при обучении алгоритма распознавания. На шаге «описание изображения», фотография описывается частотами «визуальных слов» из словаря. После описания алгоритм принимает решение о том, какая ёлочная игрушка изображена на фотографии, за счёт выявления вида игрушки с наибольшим числом общих особенностей.

Следуя схеме, изображённой на рисунке 3.2 следующим шагом является «выбор подходящего описания». На этом шаге, на основании ответа алгоритма распознавания, выбирается описание для ёлочной игрушки, изображённой на фотографии.

Далее следует шаг «отправка описания на устройство». На этом шаге осуществляется отправка текстового описания ёлочной игрушки и мультимедийного.

Последним шагом алгоритма работы программного комплекса является отображение информации об экспонате на экране.

Вычислительный эксперимент

Для наиболее точной работы этого алгоритма необходимо чтобы изображения, используемые для обучения программы и снимки, требующие распознавания были одинакового разрешения. Для этого, перед отправкой на сервер, выбранная пользователем фотография программно уменьшается до размеров изображений, использовавшихся для обучения алгоритма распознавания. Помимо увеличения точности работы метода «Bag of features», это приводит к уменьшению сетевого трафика, что положительно влияет на скорость работы android-приложения, а также экономит дисковое пространство мобильного устройства, позволяя сделать много снимков для распознавания. Снимки, используемые в обучении алгоритма, были взяты небольшого разрешения, весом около 100 Кбайт на снимок. Это позволило уменьшить системные требования к компьютеру, на котором происходило обучение и ускорить этот процесс.

Фотографии для обучения алгоритма распознавания снимались с использованием фотовспышки. Это увеличило контрастность контуров знаков безопасности по отношению к фону, что привело к наиболее точным результатам респознавания.

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

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

Выводы

Проведено обоснование выбора инструментальных средств для реализации программного комплекса. В качестве модуля распознавания предлагается использовать алгоритм на основе «Bag of features», реализованный в библиотеке Image Processing Toolbox, входящей в состав среды Matlab. В качестве серверного обеспечения предлагается использовать веб сервис Denwer. Для общения между сервером и клиентом предлагается использовать PHP-скрипты. В качестве клиентского обеспечения предлагается использовать мобильное приложение, написанное для платформы Android.

Описана структура разрабатываемого программного комплекса. Показаны ключевые особенности формирования обучающей выборки.

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



Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.