- •Курсовая работа по курсу «Автоматическое проектирование информационных систем»
- •Постановка задачи проектирования
- •Формирование Use-Case диаграммы
- •Описание Business Use-Case diagram
- •Описание Use-Case diagram
- •Потоки событий
- •Нефункциональные требования
- •Техническое задание
- •Требования к функциональности
- •Диаграмма классов
- •Описание Class Diagram
- •Диаграмма деятельности
- •Диаграмма компонентов
- •Тестирование приложения
Потоки событий
1)Поток событий «Начать распознавание образов»
Описание:
Business Use-Case «Начать распознавание образов» позволяет активировать основной функционал приложения – получить видеопоток с активной камеры, проанализировать его на наличие определенных визуальных образов и вывести результат анализа на экран.
Основной поток событий:
Основной поток событий начинается, когда Пользователь нажимает на кнопку «Start»;
Приложение проверяет доступность камеры. Если камера недоступна, выполняется поток ошибок Е1;
Приложение получает очередной кадр с камеры;
Приложение распознает управляющие элементы в кадре. Если их нет – переход к пункту 3.
Приложение сопоставляет управляющие элементы с библиотекой шаблонов. Если совпадений не найдено – переход к пункту 3.
Приложение отображает информацию на экране о распознанном жесте.
Переход к пункту 3.
Поток ошибок Е1 (Камера недоступна):
Отобразить сообщение об ошибке пользователю.
Освободить все занятые ресурсы.
Завершить работу приложения.
2)Поток событий «Прекратить распознавание образов»
Описание:
Business Use-Case завершает активное распознавание образов и освобождает ресурсы мобильной платформы.
Основной поток событий:
Поток начинается по нажатию пользователем кнопки “Stop”;
Приложение прекращает обработку текущего кадра;
Приложение освобождает ресурсы мобильной платформы (память и камеру).
3)Поток событий «Добавить жест»
Описание:
Данный поток позволяет добавить жест и его описание в библиотеку жестов.
Основной поток:
Поток начинается по нажатию пользователем кнопки «Add gesture»;
Поток получает текущий распознанный жест. Если жест содержит 0 пикселей (не удалось распознать управляющий элемент в кадре) – поток ошибок Е2;
Приложение конвертирует распознанный жест в маску-шаблон;
Приложение проверяет наличие такого шаблона в библиотеке. Если шаблон уже существует – поток ошибок Е3;
Приложение записывает шаблон в библиотеку.
Поток ошибок Е1 (Жест не содержит пикселей):
Вывести сообщение об ошибке на экран;
Завершить поток событий «Добавить жест».
Поток ошибок Е2 (Жест уже существует):
Вывести сообщение об ошибке на экран;
Завершить поток событий «Добавить жест».
Нефункциональные требования
Система может конфигурироваться любым количеством распознаваемых шаблонов;
Приложение должно распознавать образы без видимых задержек;
Приложение должно функционировать как на телефонах, так и на планшетных компьютерах;
Архитектура должна позволять использовать отдельные компоненты в других проектах;
Архитектура должна позволять гибко изменять ключевые графические алгоритмы;
Приложение должно быть логически разделено на алгоритмическую составляющую и UI;
Техническое задание
Необходимо реализовать приложение по распознаванию визуальных образов на базе мобильной платформы.
Требования к функциональности
Алгоритм распознавания должен быть индифферентен к масштабу изображения;
Алгоритм не должен ограничивать количество распознаваемых жестов;
Приложение должно позволять добавлять и удалять шаблоны жестов.
Алгоритм распознавания должен обеспечивать отсутствие ложноположительных результатов;
Алгоритм не должен быть чувствителен к освещенности и цвету падающего освещения;
В случае использования машинного обучения, приложение должно предоставлять подпрограммы для создания обучающих наборов.
Требования к архитектуре алгоритма распознавания
Алгоритмическая составляющая должна быть отделена от пользовательского интерфейса;
Алгоритм должен быть декомпозирован на составные части;
Архитектура алгоритма должна позволять легко заменять его составные части;
Алгоритм не должен использовать части платных библиотек и должен иметь возможность свободного распространения.
Требования к производительности:
Приложение должно обрабатывать не менее 24 кадров в секунду;
Требования к составу и параметрам технических средств:
CPU 1600 Мгц или лучше;
2 ГБ RAM или более;
50 МБ HDD/SSD или более;
Цветная видеокамера с разрешением 3 Мп или более (встроенная или внешняя);
Цветной AMOLED дисплей (16 млн. цветов);
Аппаратной платформой может быть как телефон, так и планшетный компьютер;
Требования к программной документации
Состав программной документации должен включать в себя:
Техническое задание;
Программу и методику испытаний;
Документацию на программный код;
Оценки производительности используемых алгоритмов;
Подробное описание используемых Computer Vision(СV) – алгоритмов;
Описание формата шаблонных данных для алгоритмов;
Оценки и описание иных алгоритмов, которые могут быть использованы в решении задачи распознавания образов.
*Тестирование приложения на соответствие каждому пункту требований будет производиться на устройстве Samsung Galaxy S3 2012 г.в. в стандартной комплектации.
