Аналіз роботи фронтальних класифікаторів бібліотеки OpenCV

Розгляд моделей класифікаторів бібліотек для детектування фронтальних облич стандартного пакету OpenCV 3.0.0. та особливостей їх практичного використання. Оцінка швидкості обробки зображень. Інтерфейс додатку для тестування роботи фронтальних детекторів.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 26.10.2020
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Інститут фізики, математики, економіки та інноваційних технологій Дрогобицький державний педагогічний університет ім. Івана Франка

Аналіз роботи фронтальних класифікаторів бібліотеки OpenCV

Ших Н.В., к. пед. н., доцент Шаклеіна І.О., к. ф.-м. н., доцент

Ших Н.В., Шаклеіна І.О. Аналіз роботи фронтальних класифікаторів бібліотеки OpenCV. У статті проведено аналіз п'яти моделей класифікаторів для детектування фронтальних облич стандартного пакету OpenCV 3.0.0. та визначено особливості їх практичного використання. На основі аналізу особливостей каскадних класифікаторів проведено обчислювальний експеримент щодо визначення точності, повноти та швидкодії кожного із класифікаторів. У якості вхідних моделей використано набори даних FDDB і AFW, які дозволяють оцінити роботу алгоритмів пошуку облич у природному середовищі. Для оцінки алгоритмів використано перехресну перевірку на десятьох підмножинах зображень з наступним усередненням результатів. З метою аналізу співвідношення рівнів істинних та хибних детекцій й оцінки якості роботи для кожного класифікатора побудовано PR- та ROC-криві. Проведені розрахунки показали, що найвищу швидкодію показав класифікатор OpenCV-lbp, проте найбільш ефективним щодо результатів детектування фронтальних облич згідно всіх врахованих параметрів є використання класифікатора OpenCV-alt.

Ключові слова: машинний зір, детектування, бібліотека OpenCV, класифікатор, F-міра.

Ших Н.В., Шаклеина И. А Анализ роботы фронтальных классификаторов библиотеки OpenCV. В статье проведен анализ пяти моделей классификаторов для детектирования фронтальных лиц стандартного пакета OpenCV 3.0.0. и определены особенности их практического использования. На основании анализа особенностей каскадных классификаторов проведен вычислительный эксперимент по определению точности, полноты и быстродействия каждого из классификаторов. В качестве входных моделей использовались наборы данных FDDB и AFW, которые позволяют оценить работу алгоритмов поиска лиц в естественной среде. Для оценки алгоритмов использовано перекрестную проверку на десяти подмножествах изображений с последующим усреднением результатов. С целью анализа соотношения уровней истинных и ложных детекций и оценки качества работы для каждого классификатора построено PR- и ROC-кривые. Проведенные расчеты показали, что наилучшее быстродействие показал классификатор OpenCV-lbp, однако наиболее эффективным по результатам детектирования фронтальных лиц согласно всех учтенных параметров является использование классификатора OpenCV-alt.

Ключевые слова: машинное зрение, детектирование, библиотека OpenCV, классификатор, F-мера.

Shykh N.V., Shakleina I.O. Analysis of the work of the front classifiers of the OpenCV library. The article analyzes five models of classifiers for detecting frontal faces of the standard OpenCV 3.0.0 package. and the features of their practical use are determined. On the basis of the analysis of the features of cascade classifiers, a computational experiment was performed to determine the accuracy, completeness and performance of each classifier. As input models, FDDB and AFW data sets are used that allow us to evaluate the work of natural person search algorithms. To evaluate the algorithms, a cross-check on ten subsets of images was used, with subsequent averaging of the results. In order to analyze the correlation between levels of true and false detections and to evaluate the quality of work for each classifier, PR and ROC curves were constructed. The calculations performed showed that the OpenCV-lbp classifier showed the highest performance, however, the most effective for detecting frontal faces according to all the parameters considered is the use of the OpenCV-alt classifier.

Keywords: machine vision, detection, OpenCV library, classifier, F-measure.

Вступ

Детектування облич є початковим етапом у вирішенні завдань ідентифікації особи, розпізнавання міміки, статі і віку людини, актуальність яких зумовлена поширенням біометричних систем ідентифікації та контролю доступу як до фізичних об'єктів так і у системах авторизації (зокрема і на мобільних пристроях), управління акаунтами в соціальних мережах тощо.

Сучасні дослідження у галузі машинного зору та розпізнавання образів спрямовані на розробку і удосконалення алгоритмів детектування людських облич у природному середовищі із урахуванням певного відхилення голови відносно вертикальної осі. Згідно [1], однією з проблем класифікації обличчя на зображені є досить великі варіації класу «обличчя». Складність проблеми також зумовлюється впливом зовнішніх умов (інтенсивність і розміщення джерела світла, перекриття частини обличчя волоссям чи головним убором), положень, в яких людина може знаходитись відносно детектора, а також в незначній площі обличчя відносно площі загальної сцени.

Основне призначення детектування як основи розпізнавання обличчя, полягає в тому, щоб із вхідного зображення утворити базис меншої розмірності, який буде містити мінімальну інформацію, що дала б змогу правильно ідентифікувати людину.

При розробці систем машинного зору важливим завданням є вибір ефективного засобу для детектування. Вартою уваги є бібліотека машинного зору OpenCV, що містить декілька вбудованих засобів для детектування облич, які базуються на основі використання різних типів класифікаторів, кожен з яких представлений однією чи декількома моделями, оскільки для детектування облич, як правило, навчають окремі моделі для різних кутів повороту голови щодо камери (0 ° ± у- фронтальний, 45 ° ± у- напівфронтальний, 90 ° ± у- профільний) [2-4]. Зазначена бібліотека має відкритий вихідний код і ліцензію, яка дозволяє випускати комерційні продукти з використанням функціоналу бібліотеки. В багатьох роботах, присвячених засобам та технологіям машинного зору, відмічено позитивні аспекти та ефективність роботи детекторів, які містить ця бібліотека [5-7].

В роботі [7] проведено ґрунтовний аналіз бібліотеки комп'ютерного зору OpenCV, виділено її переваги та особливості та здійснено порівняння даної бібліотеки з бібліотеками комп'ютерного зору LTI и VXL, в функціонал яких входить технологія розпізнавання плоских зображень. Проведені дослідження показали, що за всіма виділеними авторами критеріями ефективності бібліотека OpenCV має кращі результати.

OpenCV включає в себе різні моделі класифікаторів. Широке практичне використання знайшли, зокрема, моделі класифікаторів, які використовуються для детектування облич при фронтальному положенні (анфас). Згідно документації, застосування таких класифікаторів є ефективним при повороті голови до 30°, а допустимою межею вважається кут 45°. Перед розробником, що має потребу використати реалізувати детектування облич у власному проекті засобами бібліотеки OpenCV постає питання вибору певної моделі класифікатора з запропонованих. Аналіз даного питання показує, що незважаючи на значну кількість робіт, присвячених зазначеній бібліотеці машинного зору, актуальним залишається питання дослідження ефективності роботи фронтальних класифікаторів згідно певних параметрів з метою визначення оптимального детектора.

1. Особливості практичної оцінки детекторів

До стандартного пакету OpenCV 3.0.0, на основі якого проводились тести, включено п'ять моделей класифікаторів для детектування фронтальних облич, чотири з яких використовують ознаки Хаара [8] і один - локальні бінарні шаблони (LBP) - OpenCV-default, OpenCV-alt, OpenCV-alt2, OpenCValt-tree, OpenCV-lbp, кожен з яких представлений відповідним xml-файлом. Всі вони адаптовані до використання в комплексі з алгоритмом машинного навчання AdaBoost (adaptive boosting - адаптивне покращення), який розроблено для навчання «слабких класифікаторів» [9].

Основні характеристики цих детекторів наведено в таблиці 1 [10].

Таблиця 1 Основні характеристики детекторів облич OpenCV

Назва класифікатора

Тип класифікатора

Число ПОСЛ. наближень

Мін. розмір скан. вікна

Мін. крок пошуку, піке.

OpenCV-default

Haar

25

24x24

1

OpenCV-alt

Haar

22

20x20

1

OpenCV-alt2

Haar

20

20x20

1

OpenCV-alt-tree

Haar

47

20x20

1

OpenCV-lbp

LBP

20

24x24

1

Для детектування облич використовується підхід на основі скануючого (ковзного) вікна, покладений в основу методів розпізнавання Віоли Джонса і Майкла Джонса: статичний кадр сканується вікном пошуку, яке послідовно рухається із кроком , що дорівнює його розміру, і до кожного положення застосовується класифікатор [11]. При цьому для кожного вікна обчислюється близько 200000 комбінацій взаємного розміщення ознак за рахунок зміни масштабу ознак та їх положення у вікні сканування. Таке сканування проводиться послідовно для різних масштабів, однак масштабується не саме зображення, а скануюче вікно (змінюється розмір комірки). Всі знайдені ознаки потрапляють до класифікатора, який приймає рішення, чи можна вважати виділену область обличчям людини.

Звідси випливають дві особливості каскадних класифікаторів, які слід враховувати при проведенні тестів:

1) час обробки зображення залежно від його змісту (однорідність фону, освітленість, умови зйомки, чіткість тощо), оскільки заздалегідь неможливо передбачити, на якій стадії каскаду фонову ділянку буде відкинуто;

2) час обробки зображення залежно від розміру зображення, тобто те саме зображення меншого розміру буде опрацьоване швидше.

З огляду на зазначене вище, для оцінки роботи детекторів облич доцільно використовувати спеціалізовані бази даних: FDDB (Face Detection Data set and Benchmark), AFW (Annotated Faces in the Wild), MALF (Multi-Attribute Labelled Faces), IJB-A (IARPA Janus Benchmark A) та інші. Деякі з них (FDDB, MALF, IJB-A) мають готові розроблені стандартизовані алгоритми оцінки.

На основі ознайомлення з матеріалами роботи [10] для тестування було обрано набори даних FDDB і AFW, які дозволяють оцінити роботу алгоритмів пошуку облич у природному середовищі. FDDB представлена колекцією з 2845 фотографій із розмірами до 0,25 Мп та містить анотації для 5171 облич з розмірами від 20 я 20 пікселів, в тому числі у різних положеннях, із різною мімікою, із різною чіткістю у кадрі, кольорових і у відтінках сірого. AFW містить 205 великих фотографій із розмірами 0,55 Мп і анотації для 468 облич.

Якість роботи обраних для порівняння класифікаторів можна оцінити за допомогою ROC (Receiver Operator Characteristic) і PR (Precision-Recall) кривих [12].

Нагадаємо, що у задачі детектування облич області зображення, які містять обличчя людини, відносять до позитивного класу (positive), а всі решта - до негативного (negative). Підмножина правильно детектованих облич описується величиною TPR (True Positive Rate), а частка об'єктів, помилково детектованих як обличчя - FPR (False Positive Rate). Аналогічно визначаються метрики TNR (True Negative Rate) і FNR (False Negative Rate).

Для оцінки детекторів використовуються наступні параметри:

1) показник повноти: Recall = true positive / (true positive + false negative). Співпадає із величиною TPR.

2) критерій точности: Precision = true positive / (true positive + false positive).

Показує частку правильних відповідей серед усіх відповідей системи.

У роботі застосовуються PR-криві, що відображають залежність точності алгоритму від його повноти, для заданого вирішуючого правила. Для спрощення розрахунків у роботі використано наступне правило: зображення класифікується як таке, що містить об'єкт, якщо у область локалізації потрапило не менше як 50% обличчя. Даний підхід описано у роботі [10].

Виклад основного матеріалу досліджень

Швидкісні характеристики системи детектування оцінювалися на базі апаратної платформи із процесором Intel Core i5-4460 @ 3,20GHz, 8Gb RAM. Для дослідження роботи фронтальних класифікаторів розроблено додаток, інтерфейс якого наведено на рис.1.

Рис. 1 Інтерфейс додатку для тестування роботи фронтальних детекторів

детектування фронтальний класифікатор інтерфейс

Слід зазначити, що для задання параметрів визначення меж обличчя в ОреиСУ використовується стандартна функція. Параметрами функції, які безпосередньо впливають на результат детектування є:

• ScaleFactor - визначає те, на скільки буде збільшуватися ковзаюче вікно пошуку на кожній ітерації (1.1 означає на 10%, 1,05 на 5% тощо), тобто чим більше це значення, тим швидше працює алгоритм.

• MinNeighbors - визначає «чутливість» детектора: чим більше значення параметра встановлено, тим частіше класифікатор буде пропускати реальні обличчя (більше значення помилки TNR), але і вірогідність розпізнавання областей без обличчя як обличчя (FPR) теж буде нижчою (оптимальне значення параметра - 3-6).

• MinSize - визначає мінімально можливий розмір обличчя на фото.

Авторами було розглянуто три варіанти постановки завдання: виявлення дрібних (MinSize від 20 х 20 піке.), середніх (від 40 х 40 піке.) і великих (від 80 х 80 піке.) облич.

Для кожного детектора розраховувалися PR-криві, що залежать від параметра minNeighbors. В цілому алгоритми були протестовані з 9 наборами значень параметрів:

1) minNeighbors - {3-6} (при значенні 3 превалює повнота виявлення, при значенні 6 - точність);

2) мінімальний розмір шуканих об'єктів (MinSize) і пов'язаний з ним масштабний коефіцієнт (ScaleFactor), який використовується при побудові піраміди зображень - {(20; 1,05)}.

Для оцінки алгоритмів використано перехресну перевірку на десятьох підмножинах зображень з наступним усередненням результатів. AFW містить 205 великих фотографій із розмірами 0,5-5 Мп і анотації для 468 облич. При проведенні розрахунків у роботі використано наступне правило: зображення класифікується як таке, що містить об'єкт, якщо у область локалізації потрапило не менше як 50% обличчя [10].

Для кожного детектора побудовано PR-криві (Precision-Recall) та проведено ROC (Receiver Operator Characteristic) аналіз, що дає змогу проаналізувати співвідношення рівнів істинних та хибних детекцій. З метою оцінки якості роботи обраних для порівняння класифікаторів побудовано PR- та ROC-криві (рис. 2).

Рис. 2 ЯОС-криві для задачі детектування облич розміром від 40*40 пікселів на бенчмарках БОБВ (а) та А^ (б)

Отримано, що класифікатор ОрепСV: показав найбільшу кількість хибних спрацьовувань.

У зв'язку з існуванням оберненої залежності між точністю та повнотою пошуку облич для визначення ефективності проведено розрахунок Б-міри по кожному з досліджуваних класифікаторів. Найкращу швидкість детектування показав класифікатор ОрепСV, однак за показниками точності та повноти він займає лише третю позицію (рис. 3).

Рис. 3. Значення F-міри класифікаторів на бенчмарках FDDB та AFW

Висновки

Проведені розрахунки дають змогу зробити висновок, що найбільша швидкість обробки зображень у класифікатора OpenCV-lbp, який може бути використаний у системах, де ключовим фактором є швидкість отримання інформації. Проте, найбільш ефективним щодо якості детектування фронтальних облич є використання класифікатора OpenCV-alt, який показав добрі результати як для FDDB так і для AFW наборів даних та може бути використаних у системах, де превалює результативність детектування.

Література

1. Yang, M. H. Detecting faces in images: A survey / M. H. Yang, D. J. Kriegman, N. Ahuja // Trans. Pattern Analysis and Machine Intelligence, 2002. - vol. 24, №1. - p. 34 - 58.

2. Baggio D.L. Mastering OpenCV with Practical Computer Vision Projects/ Baggio D. L., Emami S., Escriva D.M. : Packt Publishing. - 2012. - 321 p.

3. Laganiere R. OpenCV 2 Computer Vision Application Programming Cookbook/ R.Laganiere : Packt Publishing. - 2011. - 298 p.

4. OpenCV. [Електронний ресурс]. - Режим доступу: http://opencv.org/

5. Гулієв Н.Б. Ідентифікація рухомих об'єктів в потоці відеоданих. / Н.Б. Гулієв, І.Ф. Войтюк // Матеріали конференції CSIT'2018. - 2018, - с. 21-22.

6. Дмитриев Д.В. Применение алгоритмов сегментации для классификации изображений / Д.В. Дмитриев, С.Н. Капранов // Современные проблемы науки и образования. - 2014. - № 6

7. Булатников Е.В. Сравнение библиотек компьютерного зрения для применения в приложении, использующем технологию распознавания плоских изображений. / Е.В. Булатников, А.А. Гоева. // Вестник МГУП имени Ивана Федорова. - 2015 - №6 - с. 85- 91.

8. Lienhart R, Maydt J. An extended set of Haar-like features for rapid object detection. IEEE International Conference on Image Processing; 2002: 1: 900 - 903.

9. Freund Yoav. A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting / Yoav Freund, Robert E. Schapire. // Journal of computer and system sciences, 1997 - 55. - p. 119 -139.

10. Kalinovskii I.A. Review and testing of frontal face detectors. / I.A. Kalinovskii, V.G. Spitsyn. // Computer Optics. 2016 - 40(1) - p. 99- 111.

11. Viola P. Robust real-time face detection/ P.Viola, M. Jones, // IJCV - 2004. - 57(2), - p 137-154.

12. Davis J. The relationship between Precision-Recall and ROC curves / J. Davis, M. Goadrich // International Conference on Machine Learning. - 2006. - p. 233 - 240.

Размещено на Allbest.ru


Подобные документы

  • Метод главных компонент. Процесс распознавания. Ковариационная матрица, диагональная матрица собственных чисел. Использовании метрики Махаланобиса и Гауссовского распределения для оценки близости изображений. Входные вектора. Библиотека OpenCV.

    статья [22,1 K], добавлен 29.09.2008

  • Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.

    лабораторная работа [3,4 M], добавлен 02.06.2011

  • OpenCV – библиотека компьютерного зрения с открытым исходным кодом, предоставляющая набор типов данных, функций и численных алгоритмов для обработки изображений. Ее реализация на C/C++. Цели использования технологии. Основные модули библиотек 1-3.

    презентация [121,8 K], добавлен 14.12.2013

  • Анализ основных аспектов технологии компьютерного зрения, необходимых для выполнения работы. Изучение характеристик библиотеки OpenCV, оценка актуальности работы по распознаванию жестов рук. Поэтапный отчет о работе над программным обеспечением.

    курсовая работа [669,9 K], добавлен 20.05.2017

  • Передбачення засобів обміну даними з зовнішніми системами при розробці системи кодування АСМП. Категорії класифікаторів, засоби для їх впровадження та ведення. Підсистема техніко-економічного планування АСУ. Програмний модуль виробничого планування.

    контрольная работа [159,3 K], добавлен 27.07.2009

  • Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.

    курсовая работа [182,0 K], добавлен 22.12.2010

  • Основні теоретичні відомості алгоритмів стиснення зображень: класи зображень та їх представлення в пам'яті, алгоритми та принципи групового кодування. Огляд та аналіз сучасних програмних засобів конвертування. Тестування, опис роботи програмного засобу.

    курсовая работа [2,9 M], добавлен 15.03.2014

  • Принципи роботи інтерфейсу ADO для роботи в СУБД MS Access. Створення додатку "Довідник фармацевта" на основі Borland Delphi 7.0, що допомагає ввести звітну документацію, формувати підсумки роботи зберігати дані про ліки та їх ціни, постачальників.

    курсовая работа [1,2 M], добавлен 30.06.2015

  • Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.

    дипломная работа [2,4 M], добавлен 24.07.2013

  • Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.

    курсовая работа [3,4 M], добавлен 17.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.