Анализ существующих проблем и обзор библиотеки обработки изображений и алгоритмов общего назначения OpenCV. Особенности разработки и детальный анализ требований к программе. Основная логика ее работы и реализация. Трекинг лица и объекта по цвету.
Аннотация к работе
На данный момент наибольший интерес возникает к управлению компьютером с помощью визуальной информации, полученной с веб-камеры, так как именно визуальные данные наиболее информативны. На сегодняшний день бесконтактное управление техникой через алгоритмы распознавания внедряется в разные сферы жизни людей: в компьютерных играх для более полного погружения в виртуальный мир, в медицине для взаимодействия людей с ограниченными возможностями и окружающим миром или просто в повседневный быт, чтобы облегчить жизнь человека. Частично эту проблему можно решить путем отключения дисплея, когда пользователь не пользуется этим самым компьютером. В операционных системах активность пользователя определяется посредством нажатия клавиш на клавиатуре или мыши, а также передвижением курсора мыши. То есть ситуация, когда пользователь использует компьютер для получения нужной ему информации, но при этом не взаимодействует с ним продолжительное время через клавиатуру или мышь.Единственный нюанс, не описанный выше, заключается в переменной EXCLUDEDFACEROI, в нее будем помещать область, в которой находится лицо, а затем удалять ее из кадра, который будет обрабатываться для трекинга по цвету. {найти лицо во всем кадре найдены углы = false выключить монитор если необходимо включить монитор если необходимо находим лицо в области кадра Находим глаза и определяем угол наклона головы if(найдены углы) находим лицо в области кадра if (не нашли лицо в заданной области) найти лицо по заранее сохраненному шаблону face_cascade.DETECTMULTISCALE(frame, faces, 1.1, 3,0,//CV_HAAR_FIND_BIGGEST_OBJECT, Size(frame.rows / 5, frame.rows / 5), Size(frame.rows * 2 / 3, frame.rows * 2 / 3)); FACEPROFILE_cascade.DETECTMULTISCALE(frame, faces, 1.1, 3,0,//CV_HAAR_FIND_BIGGEST_OBJECT, Size(frame.rows / 5, frame.rows / 5), Size(frame.rows * 2 / 3, frame.rows * 2 / 3));В рамках ВКР была создана программа, работающая с пользовательским интерфейсом через алгоритмы распознавания. Данные алгоритмы реализованы при помощи библиотеки компьютерного зрения OPENCV. Используя эту библиотеку, программа с помощью распознавания заданных объектов может управлять компьютером. На данном этапе создания программы заложена функциональность, которая позволит в перспективе экономить заряд аккумулятора и перемещать курсор мыши, например, если та перестала частично работать. В дальнейшем можно расширить функционал путем анализа координат перемещений объекта.
Вывод
В рамках ВКР была создана программа, работающая с пользовательским интерфейсом через алгоритмы распознавания. Данные алгоритмы реализованы при помощи библиотеки компьютерного зрения OPENCV. Используя эту библиотеку, программа с помощью распознавания заданных объектов может управлять компьютером. Такой подход к управлению является перспективной заменой некоторых нынешних интерфейсов взаимодействия пользователя и машины. На данном этапе создания программы заложена функциональность, которая позволит в перспективе экономить заряд аккумулятора и перемещать курсор мыши, например, если та перестала частично работать. В дальнейшем можно расширить функционал путем анализа координат перемещений объекта.
NIENIE ENIIEUCIAAIIUO ENOI?IEEIA
1. Laganiere, R. OPENCV 2 Computer Vision Application Programming Cookbook / R. Laganiere - Birmingham: Packt Publishing Ltd, 2011. - 287 p.
2. Bradski, G. Learning OPENCV / G. Bradski, A. Kaehler - Sebastopol: OREILLY Media, 2008. - 555 p.
3. Github [Электронный ресурс] : офиц. сайт. Режим доступа: https://github.com/.
4. STACKOVERFLOW [Электронный ресурс]: офиц. сайт. Режим доступа: http://stackoverflow.com/.
5. OPENCV [Электронный ресурс]: офиц. сайт. Режим доступа: http://opencv.org/.