Ускорение работы метода Виолы-Джонса для распознавания объектов на видеопоследовательностях
Характеристика и применение метода Виолы-Джонса. Зависимости времени обработки от размеров изображения и относительной величины отбрасываемой области. Разработка и особенности экспериментальной модификации стандартной функции библиотеки Open CV.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 30.04.2018 |
Размер файла | 336,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Ускорение работы метода Виолы-Джонса для распознавания объектов на видеопоследовательностях
Шипицин С.П., Кавалеров М.В.
Среди алгоритмов обнаружения объектов в изображениях наиболее популярным методом является метод Виолы-Джонса, реализованный в библиотеке OpenCV. Тем не менее, как и в других детекторах, основанных на принципе окна сканирования, количество требуемых вычислений увеличивается с размером обработанного изображения, что снижает эффективность системы распознавания в реальном времени, особенно в видеопоследовательности. В этой статье авторы предлагают простой подход - исключение некоторых областей кадра в зависимости от проработки предыдущих, чтобы увеличить скорость. Эффективность предлагаемого подхода была экспериментально подтверждена на методе Виолы-Джонса и увеличивается с увеличением общей точности системы.
Ключевые слова: распознавание образов, метод Виолы-Джонса, видеопоследовательность.
Among the algorithms for object detection in images, the most popular is the Viola-Jones method implemented in the OpenCV library. However, as in other detectors based on the principle of scanning window, the number of required calculations increases with the size of the processed image, which reduces the efficiency of the real-time recognition system, especially in case of a video sequence. In this paper, the authors propose a simple approach - to exclude the certain areas of the frame, depending on the previous one, in order to increase the speed of processing. The effectiveness of the proposed approach was experimentally confirmed by the Viola-Jones method and increases with increasing of overall system accuracy.
Keywords: pattern recognition, Viola-Jones method, video sequence.
В современном мире всё более широкое применение находят системы распознавания образов, в частности, визуальных. Чрезвычайно высокая востребованность подобных систем обусловила необходимость как повышения качества распознавания с позиции уменьшения процента ошибок, так и минимизации требуемых вычислительных ресурсов. Предложенный в 2001 году метод Виолы-Джонса [1] благодаря своей относительно высокой точности и быстродействию завоевал популярность среди исследователей и разработчиков. В течение последних лет был предложен ряд алгоритмов, расширяющих возможности данного метода, однако, по мнению авторов, потенциал улучшения ещё не исчерпан. В соответствии с этим предположением была поставлена задача - разработать алгоритм, увеличивающий быстродействие распознавания образов методом Виолы-Джонса на видеопоследовательностях.
Как известно, работа оригинального метода базируется на принципе сканирующего окна: изображение сканируется окном поиска переменного масштаба, и к каждому положению окна применяется классификатор. Окно поиска перемещается по изображению с определённым шагом, и, чем этот шаг меньше, тем выше точность распознавания. Соответственно, чем выше разрешение исходного изображения, тем больше вычислений требуется произвести. Вместе с тем, повышение разрешения изображения выгодно, поскольку позволяет распознавать мелкие объекты.
Исследователи в своих работах предлагают различные способы ускорить алгоритм [2, C. 481-482]. Было предложено несколько аппаратных реализаций [3], [4], в том числе на ПЛИС [5], [6], но за счёт своей специфики такие решения требуют высоких единовременных затрат и являются недостаточно гибкими для адаптации к другим условиям эксплуатации. Реализации на GPU [7], [8], хоть и достаточно эффективны, влекут за собой высокие накладные расходы и не могут быть применены во встраиваемых системах. Метод, предложенный в работе [9], предполагает сканирование сцены в поисках регионов-кандидатов и в связи с этим имеет существенный недостаток - необходимо точно знать, сколько объектов находится на изображении. Метод визуального поиска, представленный в работе [10], даёт довольно существенное ускорение, однако применялся только к одиночным объектам, и неясно, как он будет работать на множественных. Адаптивное изменение шага движения сканирующего окна даёт ускорение до двух раз, но предназначен для относительно однородных изображений и на зашумлённых данных неэффективен. Большинство этих способов работают как со статическими изображениями, так и с видеопоследовательностями.
В рамках настоящей статьи авторы предлагают использовать для уменьшения объёма вычислений характерную особенность видеопоследовательностей - незначительные отличия соседних кадров. Так, например, если на некотором кадре последовательности классификатор распознаёт требуемый объект, в следующих кадрах этот объект не нужно распознавать повторно, достаточно только отслеживать его перемещения. Значит, область кадра, которую занимает этот объект, можно с некоторыми допущениями полностью исключить из обработки классификатором. Подобный подход позволит, с одной стороны, уменьшить объём вычислений, необходимых для обработки одного кадра, а с другой, сохранить точность распознавания, оставляя сам кадр в неизменном виде.
В общем виде алгоритм достаточно прост и выглядит следующим образом:
Имеется исходное изображение, представленное в виде матрицы MЧN (рис. 1);
В зависимости от требований конкретного приложения формируется бинарная маска в виде матрицы того же размера (рис. 2), которая показывает, какие области изображения требуется обрабатывать, а какие - нет;
В основном цикле классификатора проверяется условие нахождения ключевых точек сканирующего окна (рис. 3) внутри маски -- если определённое их количество приходится на область, не подлежащую обработке, алгоритм сразу переходит к следующему шагу. В противном случае производится стандартная обработка классификатором.
Распознанные на данном кадре объекты в совокупности с распознанными ранее и исключёнными из обработки формируют общий выходной вектор.
Рис. 1 - Исходное изображение
Рис. 2 - Условная маска после распознавания левого автомобиля
Рис. 3 - Варианты расположения ключевых точек сканирующего окна
В зависимости от величины и количества исключённых областей такой подход способен значительно снизить требуемое для полной обработки кадра количество вычислений. Следует, однако, учитывать, что при формировании маски неизбежно возникают накладные расходы, поэтому такой подход применим не во всех случаях, и для конкретного приложения может потребоваться дополнительное исследование эффективности. Так, например, представляется нецелесообразным формирование маски точно по контуру распознанного объекта в связи с большой сложностью; вместо этого, пожертвовав незначительной частью точности, можно просто использовать параметры сканирующего окна, в котором был распознан этот объект.
На основе описанного алгоритма была разработана экспериментальная модификация стандартной функции библиотеки OpenCV, подразумевающая использование простой бинарной маски обработки областей. Использовалась база изображений автомобилей Иллинойсского университета в Урбане-Шампейне.
В качестве основной использовалась следующая реализация: стандартный шаг сканирующего окна OpenCV, коэффициент масштабирования s=1,1, минимальный размер сканирующего окна 10Ч10 пикселей, размеры исходных изображений - 300Ч150, 600Ч300, 900Ч450 пикселей. Исследовалось только изменение скорости распознавания на простых масках, так как адекватность формирования маски и, соответственно, изменения эффективности распознавания сильно зависит от конкретного приложения.
Зависимости времени обработки от размеров изображения и относительной величины отбрасываемой области показаны на рис. 4. Здесь представлены четыре зависимости: время обработки изображения без каких-либо преобразований; время обработки с применением маски, занимающей четверть изображения; время обработки с применением маски, занимающей половину изображения; время обработки с применением маски, занимающей всё изображение целиком. Последняя зависимость является контрольной и показывает, насколько увеличиваются накладные расходы на работу с маской при использовании тестового кода, позволяя оценить его эффективность.
виола джонс изображение библиотека
Рис. 4 - Зависимости времени обработки от размеров изображения и относительной величины отбрасываемой области
Как видно из представленного графика, время обработки действительно уменьшается при использовании предложенного подхода отбрасывания областей обработки. Между тем, уменьшение это достаточно незначительное; кроме того, различие времени обработки масок Ѕ и ј минимально, а контрольное время «холостой» работы классификатора растёт быстрее, чем время полной обработки. Совокупность этих факторов позволяет судить о том, что тестовый код недостаточно эффективен на фоне стандартного кода OpenCV и требует доработки для практического применения. Так, дополнительный выигрыш времени на разрешении 900Ч450 может составить 20 мс и больше, если довести зависимость времени обработки маски от размера изображения до линейной, как это удалось сделать для времени стандартной обработки изображения. Между тем, тестирование показало, что сам принцип вполне работоспособен, и чем больше размер исходного изображения, тем больший выигрыш в скорости можно получить.
Следует отметить, что использованные для эксперимента параметры (коэффициент масштабирования s=1,1, минимальный размер сканирующего окна 10Ч10 пикселей) подходят для распознавания достаточно крупных объектов, и относительный объём вычислений здесь невелик. Для распознавания объектов небольшого размера целесообразно уменьшать коэффициент масштабирования и минимальный размер сканирующего окна, но при уменьшении этих параметров до 1,05 и 5Ч5 соответственно время работы классификатора увеличивается примерно в четыре раза. В таких условиях применение предложенного подхода может уже очень существенно снизить время вычислений, если не в относительной, то в абсолютной величине.
В рамках настоящей работы был предложен простой алгоритм-расширение метода Виолы-Джонса на видеопоследовательности, с помощью которого можно значительно снизить количество вычислений, требуемых для обработки одного кадра. Посредством эксперимента показано снижение времени работы классификатора при использовании предложенного подхода.
Тем не менее, несмотря на преимущества, ограничения такого подхода очевидны и не позволят применять его повсеместно, однако в ряде приложений он может серьёзно повысить эффективность функционирования системы.
Список литературы / References
1. Viola P., Jones M. Rapid object detection using a boosted cascade of simple features //Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on. - IEEE, 2001. - V. 1. - P. I-I.
2. Castrillуn M. et al. A comparison of face and facial feature detectors based on the Viola-Jones general object detection framework //Machine Vision and Applications. - 2011. - V. 22. - №. 3. - P. 481-494.
3. Cho J. et al. Parallelized architecture of multiple classifiers for face detection //Application-specific Systems, Architectures and Processors, 2009. ASAP 2009. 20th IEEE International Conference on. - IEEE, 2009. - P. 75-82.
4. Hiromoto M., Sugano H., Miyamoto R. Partially parallel architecture for adaboost-based detection with haar-like features //IEEE Transactions on Circuits and Systems for Video Technology. - 2009. - V. 19. - №. 1. - P. 41-52.
5. Brousseau B., Rose J. An energy-efficient, fast FPGA hardware architecture for OpenCV-compatible object detection // Field-Programmable Technology (FPT), 2012 International Conference on. - IEEE, 2012. - P. 166-173.
6. Acasandrei L., Barriga A. FPGA implementation of an embedded face detection system based on LEON3 //Proceedings of the International Conference on Image Processing, Computer Vision, and Pattern Recognition (IPCV). - The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), 2012. - P. 1.
7. Hefenbrock D. et al. Accelerating Viola-Jones face detection to FPGA-level using GPUs //Field-Programmable Custom Computing Machines (FCCM), 2010 18th IEEE Annual International Symposium on. - IEEE, 2010. - P. 11-18.
8. Oro D. et al. Real-time GPU-based face detection in HD video sequences //Computer Vision Workshops (ICCV Workshops), 2011 IEEE International Conference on. - IEEE, 2011. - P. 530-537.
9. Lampert C. H., Blaschko M. B., Hofmann T. Beyond sliding windows: Object localization by efficient subwindow search //Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. - IEEE, 2008. - P. 1-8.
10. Butko N. J., Movellan J. R. Optimal scanning for faster object detection //Computer vision and pattern recognition, 2009. cvpr 2009. ieee conference on. - IEEE, 2009. - P. 2751-2758.
Размещено на Allbest.ru
...Подобные документы
Алгоритмы поиска динамических шумов и их компенсации на основе метода Motion estimation. Разработка программного продукта для детектирования движения капель дождя и их удаления на видеопоследовательностях, и его реализация среде Microsoft Visual Studio.
магистерская работа [6,6 M], добавлен 09.02.2013Определение области значений функции y=sin(x) и построение графика по точкам с помощью основных конструкций библиотеки OpenGL. Функции вырисовки на экране, обработки сообщений с клавиатуры. Установка размеров области отображения. Главный цикл приложения.
контрольная работа [87,2 K], добавлен 21.01.2011Определение зависимости одной физической величины от другой. Применение метода наименьших квадратов с помощью программного обеспечения Mathcad. Суть метода наименьших квадратов. Корреляционный анализ, интерпретация величины корреляционного момента.
курсовая работа [63,8 K], добавлен 30.10.2013Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Разработка программной базы для исследований в области распознавания речи и поиска ключевых слов в ней. Расчет mel-фильтров. Скрытые марковские модели. Применение в алгоритме сверточного декодирования Витерби. Методы визуализации и обработки аудиоданных.
курсовая работа [1,1 M], добавлен 01.06.2015Общие сведения об алгоритмическом языке PASCAL. Схема алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Применение метода простой итерации, метода решения полинома на языке PASCAL.
курсовая работа [41,5 K], добавлен 15.03.2012Основы метода Монте-Карло и его применение. Разработка и тестирование программного модуля для ПК BRAND, позволяющего строить двумерные и трехмерные изображения для сложных геометрических объектов для обеспечения контроля за качеством сборки конструкций.
дипломная работа [5,2 M], добавлен 10.10.2015Особенности кластеризации социальных сетей, методы распознавания сообществ. Особенности локального прореживания графа. Разработка рекомендаций по выбору метода кластеризации для выделенных классов задач. Оптимизация процесса дальнейшей обработки данных.
курсовая работа [1,8 M], добавлен 30.06.2017Свойства объектов и проверка расчетной зависимости на основании экспериментальной выборки. Построение графической зависимости экспериментальных и расчетных значений от x для их сравнения. Выполнение работы в среде Visual Basic, Excel и MathCAD.
курсовая работа [261,9 K], добавлен 20.05.2011Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения.
курсовая работа [395,4 K], добавлен 28.04.2015Анализ основных аспектов технологии компьютерного зрения, необходимых для выполнения работы. Изучение характеристик библиотеки OpenCV, оценка актуальности работы по распознаванию жестов рук. Поэтапный отчет о работе над программным обеспечением.
курсовая работа [669,9 K], добавлен 20.05.2017Специфические особенности распознавания лиц. Взаимодействие компьютер - человек. Создание новой нейросистемы, разработанной в программе разработчиков Borland Delphi, которая будет состоять из поля захвата изображения и дальнейшим обучением нейросети.
презентация [212,5 K], добавлен 14.08.2013Сущность и особенности выполнения метода динамического программирования. Решение математической задачи, принцип оптимальности по затратам, ручной счёт и листинг программы. Применение метода ветвей и границ, его основные преимущества и недостатки.
курсовая работа [38,9 K], добавлен 15.11.2009Разработка программы, предназначенной для сжатия или компрессии полутонового изображения международным стандартом JPEG. Описание метода JPEG, выдача результатов в виде декодированного изображения. Обзор методов компрессии полутонового изображения.
курсовая работа [43,5 K], добавлен 14.10.2012Сущность и описание симплекс-метода и улучшенного симплекс-метода (метода обратной матрицы), преимущества и недостатки их применения в линейном прогаммировании. Листинг и блок-схема программы на языке Turbo Pascal для решения математической задачи.
курсовая работа [45,0 K], добавлен 30.03.2009Понятие стандартной библиотеки C++. Количество удобных операций и методов. Создание пустой строки и конструктор копирования. Создание строки на основе нуль-терминальной строки. Примеры использования конструкторов. Присвоение строки типа string.
презентация [221,2 K], добавлен 04.05.2012Описание метода обработки "Выделение контурных линий" и особенностей его применения и программной реализации. Способы увеличения контрастности. Значение правильного подбора формы гистограммы для качества компьютерной обработки растрового изображения.
курсовая работа [940,2 K], добавлен 24.06.2013Анализ систем распознавания поведения лабораторных мышей. Классификация движений на основе построенных дескрипторов. Существующие методы обнаружения движения, разработка соответствующего программного обеспечения и оценка его эффективности, функции.
дипломная работа [1,1 M], добавлен 16.09.2017Анализ существующих проблем и обзор библиотеки обработки изображений и алгоритмов общего назначения OpenCV. Особенности разработки и детальный анализ требований к программе. Основная логика ее работы и реализация. Трекинг лица и объекта по цвету.
дипломная работа [1,3 M], добавлен 26.06.2017