Результаты экспериментального исследования, Программа экспериментальных исследований - Исследование алгоритмов
Программа экспериментальных исследований
В предыдущей главе была описана процедура создания приложения, а также его структура и интерфейс. В данной главе проводится сравнительная оценка качества работы этого приложения при использовании каскада, обученного при помощи признаков Хаара, каскада, тренированного на локальных бинарных шаблонах, а также метода гистограмм направленных градиентов.
Общее тестирование приложения включало в себя:
- 1) Проверку приложения на предмет ошибок безотносительно изучаемых методов детектирования (проведение юнит-тестов при помощи JUnit, проведение тестирования UI приложения путем использования библиотеки Espresso URL: https://developer. android. com/training/testing/ui-testing/espresso-testing. html); 2) Непосредственно анализ эффективности исследуемых методов в задаче детектирования пешеходов в реальном времени, производимый по следующим критериям:
- - продолжительность обучения классификаторов (T); - ошибки I рода; абсолютное число и процент пропусков объектов: false negatives (FN) и false negatives rate (FNR); - средне число пропущенных объектов в секунду (FNa); - ошибки II рода; абсолютное число и процент ложных срабатываний: false positives (FP) и false positives rate, (FPR); - абсолютное число и процент верно классифицированных положительных примеров: true positives (TP) и true positives rate (TPR); - процент верно классифицированных отрицательных примеров (истинно отрицательных случаев, true negatives rate, TNR); - чувствительность и специфичность модели (Se и Sp соответственно); - среднее время обработки одного кадра из видеопотока в реальном времени (T).
Возможность оценить качество обучения классификатора предоставляет сама библиотека OpenCV. При помощи утилиты Opencv_performance она использует коллекцию размеченных изображений, запускает классификатор и сообщает так называемую производительность, т. е. количество найденных объектов, количество пропущенных объектов, количество ложных срабатываний и другую информацию. Однако данное приложение работает только с классификатором, обученным утилитой Opencv_haartraining, а значит, не может быть использовано в данном случае.
Среда Android Studio дает возможность использовать эмулятор для разработки и тестирования программ. Однако этот вариант также был найден непригодным. Приложение проверялось на реальных устройствах, так как настройка нескольких эмуляторов продолжительнее и ресурсозатратнее, чем подготовка устройств и установка на них пакета приложения. Главными же причинами для отказа от эмулятора стала невозможность учета характеристик смартфонов при оценке работы приложения и отсутствие реальной окружающей среды для детектирования.
Таким образом, было принято решение проводить экспериментальные тесты на мобильных устройствах в реальном времени, в условиях, максимально приближенных к условиям практического применения приложения такого рода.
Для проведения тестирования использовались три смартфона, обладающие различными характеристиками дисплея, камеры и процессора, а также функционирующие на разных версиях платформы Android (4.0.3.Ice Cream Sandwich, 4.2.2 Jelly Bean, 5.0.2 Lollipop). Такие меры по учету аппаратной и программной специфики устройств обязательны при оптимизации мобильного приложения как с точки зрения интерфейса, так и с точки зрения производительности. В таблице 3.1. обозначены все необходимые для анализа характеристики выбранных устройств.
Таблица 3.1.
Используемые для тестирования устройства
Устройство |
Характеристики | |||
Дисплей Процессор Память Основнаякамера | ||||
Смартфон LG G-серии G2 GOLD D802 |
FULL HD IPS 423 точек на дюйм |
4-ядерный 2,26 ГГц ОС: Android v. 5.0.2 |
ОЗУ: 2 Гб Встроенная: 32 Гб |
13 Мп |
Смартфон Philips Xenium W8510 |
TFT IPS 312 точек на дюйм |
4-ядерный 1,2 ГГц ОС: Android v. 4.2.2 |
ОЗУ: 1 Гб Встроенная: 32 Гб |
8 Мп |
Смартфон LG Optimus L7 P705 |
IPS |
1-ядерный ГГц OC: Android v. 4.0.3 |
ОЗУ: 512 Мб Встроенная: 16 Гб |
5 Мп |
Подготовка к тестированию была осуществлена в несколько этапов:
- 1) На персональный компьютер был установлен интерфейс для отладки Android, ADB (Android Debug Bridge) Driver, для выполнения отладки по USB и, в целом, контроля работы устройств через USB-соединение; 2) На все используемые устройства было установлено приложение OpenCVManager URL:http://docs. opencv. org/platforms/android/service/doc/index. html, обеспечивающее поддержку средств библиотеки OpenCV; в противном случае запуск созданного приложения для детектирования невозможен; 3) Приложение было успешно установлено на все устройства. В отличие от закрытых систем, в ОС Android предусмотрена возможность установки приложения на устройство без участия Google Play Market двумя способами:
- - установка через пакет. apk c помощью менеджера приложений или файлового менеджера; - установка приложения через пакет. apk с компьютера через Android SDK (средствами отладки ADB). Именно этот вариант и был использован.
После подготовительных работ была проведена серия тестов. Ход эксперимента выглядел следующим образом:
- 1) Смартфоны устанавливались в автомобиле в горизонтальное положение таким образом, чтобы их основные камеры имели максимальный обзор и возможность полного захвата происходящего на дороге; 2) При приближении к регулируемому перекрестку или пешеходному переходу производился запуск приложения для детектирования пешеходов; 3) Запускалась запись работы приложения с экранов; 4) Для каждого имплементированного метода детектирования пешеходов проводились два теста одинаковой длительности, подробно описанные в пп. 4.1 и 4.2; 5) После завершения эксперимента полученные видеозаписи разбивались на кадры (изображения в формате *.jpg) . 6) Полученные результаты подвергались визуальному анализу.
Похожие статьи
-
Выводы по результатам тестирования - Исследование алгоритмов
По полученным в ходе анализа данным сделать вывод о качестве обученных каскадных классификаторов и о причинах таких результатов, а также выяснить, какие...
-
Заключение - Исследование алгоритмов
В настоящей выпускной квалификационной работе была исследована процедура обучения каскадного классификатора с целью повышения точности и вычислительной...
-
Структура и интерфейс программы - Исследование алгоритмов
В этой части работы описывается процесс создания мобильного приложения на платформе Android, способного использовать обученные каскадные классификаторы...
-
В данной главе описан процесс создания Android-приложения, способного детектировать пешеходов в видеопотоке, используя обученный каскадный классификатор....
-
В работе возникает необходимость выбора предметной области, в которой будет тестироваться каскадный классификатор. Главными вопросами на данном этапе...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов
Практическая реализация алгоритмов, представленных в предыдущих пунктах, предполагает: 1) Выбор мобильной платформы; 2) Изучение соответствующей среды...
-
Описание проведенных экспериментов - Исследование алгоритмов
1) Эксперимент №1. Детектирование множества объектов. Детектирование множества объектов - задача, с которой работающее приложение должно справляться при...
-
Для решения трехмерной задачи упругости с помощью метода конечных элементов были заданы следующие основные параметры: [1]. Количество секций. [2]....
-
Введение - Исследование алгоритмов
С недавнего времени такая область кибернетики, как создание искусственных систем распознавания образов, стала представлять особый интерес. Потребность в...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ, ЗАКЛЮЧЕНИЕ - Основы программирования в операционной системе Unix
Блок-схема главной функции программы (main) изображена на рисунке 4. Рисунок 4 - блок-схема main. cpp Блок-схема модуля (Math. cpp) изображена на рисунке...
-
Интерпретация полученных результатов - Программа построения равновесных стратегий для игры
При изучении равновесных стратегий в модели jam-fold для двоих игроков можно заметить тот факт, что стратегии зависят только от соотношения...
-
Алгоритм для определения силы комбинации - Программа построения равновесных стратегий для игры
В играх типа Omaha для определения силы комбинации необходимо учитывать 9 карт: 4 стартовых карты игрока и 5 общих карт. По стандартным правилам покера...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
Каскадный классификатор - Исследование алгоритмов
В настоящее время метод Виолы-Джонса является самым популярным методом для детектирования в силу своей высокой скорости и эффективности. В 2001 году П....
-
Для создания трехмерной реконструкции сцены или объекта необходимо создать его трехмерную модель и вычислить цвет ее вершин. Для геометрической...
-
Обучение каскадного классификатора - Исследование алгоритмов
В OpenCV есть два приложения для тренировки каскадов URL: http://docs. opencv. org/modules/objdetect/doc/cascade_classification. html?...
-
Приложение, которое необходимо разработать, должно производить геометрическую реконструкцию сцены и вычисление цвета вершин модели. Для геометрической...
-
При перезагрузке Raspbery счетчик counter сбрасывается и файлы начинают перезаписываться. Для того, чтобы обойти данную проблему воспользуемся переносом...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Выбор методики тестирования В процессе разработки системы разработчиком выявляются и устраняются все ошибки допущенные при проектировании. Ошибки,...
-
В задаче деформирования после определения глобального вектора степеней свободы {U} находят элементные векторы узловых перемещений {U}E. Через них путем...
-
В алгоритме Zhou&;Koltun при вычислении отклонений цвета используется изображение, переведенное в градации серого. В данной реализации используется...
-
Для вычисления цвета могут быть использованы различные подходы. Вычисление цвета может проводиться одновременно с геометрической реконструкцией,...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Процедуры и переменные Таблица с описание процедур: Вызов Название процедуры Предназначение Кнопка "Записать уравнение" TForm1.Button1Click Составление и...
-
Программа реализует алгоритм четырех махов. Входным параметром является имя файла. На выходе печать: является ли граф единичным интервальным,...
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
Введение - Программа трехмерной реконструкции сцены по изображениям и данным сканирования глубины
Трехмерная реконструкция и трехмерное сканирование в настоящее время быстро развиваются и находят широкое применение в робототехнике, медицине,...
-
Обзор протокола Multi-Touch технологий передачи данных TUIO [7] - основной кроссплатформенный протокол с открытым исходным кодом Multi-Touch передачи...
-
Программа задания случайных графов Эрдеша - Реньи - Алгоритмы нескольких махов
Программа реализует алгоритм задания случайных графов Эрдеша - Реньи. В качестве входных параметров задаются число вершин и число ребер. Вершины ребер...
-
Для проведения тестов была написана программа задания единичного интервального графа. Входные параметры: число вершин, длина отрезка на котором задается...
-
Поворот точки относительно центра на заданный угол: X = o. X + (p. X-o. X) * cos(angle) - (p. Y-o. Y) * sin(angle) Y = o. Y + (p. X-o. X) * sin(angle) +...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Протокол проверки программы - Программирование алгоритмов линейных и циклических структур
1. Введем размерность массива N = 6 2. Заполним элементы массива X(i) следующими значениями: 12, 1.34, 8, 10, 17.5, 30 3. Получим следующие результаты:...
-
Наименование программы Полное наименование программы - Модуль ипотечного кредитования банковской информационной системы "БИС". Краткое наименование...
-
Постановка задачи, Описание программы, Алгоритм работы - Алгоритм кодировки RSA
Реализовать клиент серверное приложение для пересылки закодированной информации. В качестве алгоритма реализовать алгоритм RSA. Описание программы...
-
В ходе выполнения курсовой работы на основе полученных знаний была решена система, описывающая модель SEIR распространения вирусов и проведено ее...
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
Результаты экспериментального исследования, Программа экспериментальных исследований - Исследование алгоритмов