- •Аннотация
- •Реферат
- •Содержание
- •Введение
- •Анализ технического задания
- •Описание метода Viola Jones
- •1.1.2 Интегральное представление изображений
- •1.1.3 Признаки Хаара
- •1.1.5 Бустинг
- •Синтез Алгоритмов работы
- •Алгоритм основной программы:
- •Словесныйалгоритм:
- •Алгоритм работы подпрограммы detectAndDisplay:
- •Разработка программного решения
- •Разработка интерфейса программы
- •Классы и функции, используемые в работе.
- •Матрицы и типы изображений
- •Класс CvCapture
- •Технико-экономическоеобоснование работы
- •Обоснование актуальности и целесообразности разработки
- •Обоснование выбора аналога и критериев для сравнения
- •Расчет технико-экономических показателей разработки
- •Расчет единовременных квартальных затрат на этапе разработки.
- •Расчет сравнительной технико-экономической эффективности разработки.
- •Заключение
- •Безопасность человеко-машинного взаимодействия
- •Заключение
Введение
Компьютерное зрение - это теория и технология создания машин, которые могут видеть, как мы с вами. С развитием вычислительной техники стало возможным решение задач реального времени, которые ранее считались невыполнимыми на персональных компьютерах. Область применения компьютерного зрения довольна широкая: Баркоды(qr-коды), дефектоскопия (совокупность методов и средств неразрушающего контроля материалов и изделий для обнаружения в них различных дефектов), медицина, безопасность, распознавание номеров, дополненная реальность.
Создание систем, выполняющих функции распознавания объектов в видеопотоке, в большинстве случаев позволит заменить человека – специализированным автоматом. Стоит заметить, что качество выполнения работы человеком зависит от многих факторов, а именно квалификация, опыт, интерес, утомление. В свою же очередь исправная и настроенная система будет работать, обеспечивая всегда одинаковое качество выполнения работы. Еще одним плюсом замещения человека машиной – несравнимое преимущество автоматических систем в быстродействии.
Существуют приложения с использованием «дополненной реальности», такие, как видеоигры, где игрок может взаимодействовать с объектами виртуального мира посредством движений и жестов, фиксируемых камерой.
Анализ технического задания
В соответствии с техническим заданием необходимо разработать программный комплекс, способный в реальном времени производить анализ каждого кадра видеопотока, обнаруживать одно или несколько лиц, глаза человека, выделяя их геометрическими фигурами, осуществлять пересчет геометрической модели целеуказателя и изменение координат целуказателя в соответствие с положением глаз человека-оператора. Для реализации данного программного комплекса была выбрана библиотека с открытым исходным кодом OpenCV (от англ. Open Source Computer Vision Library), а как метод распознавания был выбран метод Виолы-Джонса.
OpenCV – библиотека компьютерного зрения с открытым исходным кодом. Библиотека написана на C и C++, работает под Linux, Windows и Mac OS X. Происходит активная разработка интерфейсов для Python, Ruby, MATLAB и других языков.
Эта библиотека очень популярна за счёт своей открытости и возможности бесплатно использовать как в учебных, так и коммерческих целях.
На основе технического задания, мною был разработан перечень графического (раздаточного) материала по дипломной работе:
титульный лист;
цель дипломной работы;
алгоритм Виола – Джонса;
признаки Хаара;
обучение классификатора в методе Виолы – Джонса;
бустинг;
каскадная модель сильных классификаторов;
выбор среды для разработки;
основные классы и функции, используемые в работе;
технико-экономическое обоснование работы;
безопасность человеко-машинного взаимодействия;
Метод обнаружения лиц
Описание метода Viola Jones
Хорошим примером задачи реального времени, которая находит применение во многих областях, является обнаружение какого-либо объекта на изображении. Таким объектом зачастую является лицо человека. На данный момент существует огромное разнообразие подходов для обнаружения лиц. Метод, предложенный Виолой и Джонсом в 2001 году, стал настоящим прорывом в этой области. Этот метод приобрел большую популярность благодаря высокой точности и серьезной теоретической основе.
Основные принципы, на которых основан метод, таковы:
используются изображения в интегральном представлении, что позволяет вычислять быстро необходимые объекты;
используются признаки Хаара, с помощью которых происходит поиск нужного объекта (в данном контексте, лица и его черт);
используется бустинг (от англ. Boost – улучшение, усиление) для выбора наиболее подходящих признаков для искомого объекта на данной части изображения;
все признаки поступают на вход классификатора, который даёт результат «верно» либо «ложь»;
используются каскады признаков для быстрого отбрасывания окон, где не найдено лицо.
Обучение классификаторов идет очень медленно, но результаты поиска лица очень быстры, именно поэтому был выбран данный метод распознавания лиц в видеопотоке. Виола-Джонс является одним из лучших по соотношению показателей эффективность распознавания/скорость работы. Также этот детектор обладает крайне низкой вероятностью ложного обнаружения лица. Алгоритм даже хорошо работает и распознает черты лица под небольшим углом, примерно до 30 градусов. При угле наклона больше 30 градусов процент обнаружений резко падает. Рассмотрим подробно принципы, на которых основан алгоритм Виолы-Джонса. Данный метод в общем виде ищет лица и черты лица по общему принципу сканирующего окна.
Принцип сканирующего окна
В общем виде, задача обнаружения лица и черт лица человека на цифровом изображении выглядит именно так:
имеется изображение, на котором есть искомые объекты. Оно представлено двумерной матрицей пикселей размером w*h, в которой каждый пиксель имеет значение:
от 0 до 255, если это черно-белое изображение;
от 0 до 2553, если это цветное изображение (компоненты R, G, B).
в результате своей работы, алгоритм должен определить лица и их черты и пометить их – поиск осуществляется в активной области изображения прямоугольными признаками, с помощью которых и описывается найденное лицо и его черты:
rectanglei = {x,y,w,h,a}, (1.1)
где x, y – координаты центра i - го прямоугольника;
w – ширина;
h – высота;
a – угол наклона прямоугольника к вертикальной оси изображения.
Иными словами, применительно к рисункам и фотографиям используется подход на основе сканирующего окна (scanning window): сканируется изображение окном поиска (так называемое, окно сканирования), а затем применяется классификатор к каждому положению. Система обучения и выбора наиболее значимых признаков полностью автоматизирована и не требует вмешательства человека, поэтому данный подход работает быстро.
Задача поиска и нахождения лиц на изображении с помощью данного принципа часто бывает очередным шагом на пути к распознаванию характерных черт, к примеру, верификации человека по распознанному лицу или распознавания мимики лица.