АРХІТЕКТУРА ПРОГРАМНОГО КОМПЛЕКСУ З ВИКОРИСТАННЯМ МЕТОДУ ЗІСТАВЛЕННЯ ОЗНАК ЗОБРАЖЕННЯ
13.12.2025 00:03
[1. Systemy i technologie informacyjne]
Автор: Ділай Роман Ігорович, магістрант, Західноукраїнський національний університет, м. Тернопіль
Вступ
У сучасних системах комп'ютерного зору важливим завданням є точне розпізнавання об'єктів на зображеннях. Це завдання ускладнюється через схожість об'єктів та варіації в умовах освітлення, обертання та інших параметрів. Традиційні методи класифікації часто дають хибно-позитивні результати через відсутність інваріантності до таких змін. Тому розробка програмних комплексів, що поєднують методи машинного навчання та алгоритми зіставлення локальних ознак, є важливим напрямом у сучасних дослідженнях. В основі цих систем лежить використання гібридних підходів, які дозволяють підвищити точність розпізнавання об'єктів.
Основна частина
Основною проблемою, яку вирішує запропонована система, є помилки другого роду (False Positives) при класифікації схожих об'єктів. Традиційні методи класифікації можуть помилково визнавати схожі, але різні об'єкти як однакові. Це призводить до зниження точності системи і погіршення її ефективності. Використання методу зіставлення ознак зображень допомагає вирішити цю проблему, дозволяючи точно підтвердити наявність об'єкта на основі його геометричної структури та текстур, що є інваріантними до освітлення та повороту.
Задачею даної роботи є розробка програмного комплексу, який використовує метод зіставлення ознак для розпізнавання об'єктів на зображеннях. Метою є створення системи з високою точністю розпізнавання, здатної ефективно працювати в реальних умовах із варіаціями зображень.
Архітектура програмного комплексу складається з чотирьох основних модулів:
1. Модуль детекції: Використовує каскади Хаара для швидкого знаходження області інтересу (ROI) та перевірки наявності пари очей. Цей етап дозволяє відсіяти незначущі об'єкти на етапі препроцесингу.
2. Модуль глобальних ознак: Використовує клас FeatureExtractor для отримання вектора, що описує зображення загалом, включаючи кольорові гістограми, текстури LBP та вейвлет-коефіцієнти. Цей вектор потім подається на вхід класифікатору Voting Classifier для первісної класифікації.
3. Модуль зіставлення локальних ознак: Використовує алгоритм ORB (Oriented FAST and Rotated BRIEF) для детекції ключових точок на зображенні. Зіставлення ознак виконується за допомогою метрики Хеммінга, використовуючи метод повного перебору (Brute-Force) [1].
4. Модуль прийняття рішень: Інтегрує результати класифікації та результати матчингу, використовуючи емпірично встановлений поріг для кількості "хороших" співпадінь (inliers). Об'єкт вважається розпізнаним тільки в разі перевищення цього порогу.
Такий підхід дозволяє мінімізувати помилки другого роду, підвищуючи точність системи. Реалізація цієї системи на Python забезпечує модульність, масштабованість та можливість повторного використання окремих компонентів. Основні класи програми представлені на рисунку 1:
1. Клас FeatureFaceDetector відповідає за взаємодію з бібліотекою OpenCV для завантаження каскадів Хаара та попередньої обробки зображення.
2. Клас FeatureExtractor реалізує математичні алгоритми для виділення глобальних ознак, таких як LBP, Wavelet, гістограми HSV. Цей клас формує вектор ознак для подальшої класифікації.
3. Клас FeatureMatcher інкапсулює логіку роботи з алгоритмом ORB для детекції ключових точок та їх опису. Цей клас зберігає еталонні дескриптори та виконує зіставлення для перевірки гіпотез.
Рисунок 1 - Діаграма класів програмного модуля
Висновок
Запропонована архітектура програмного комплексу з використанням методу зіставлення ознак дозволяє підвищити точність розпізнавання об'єктів на зображеннях, мінімізуючи кількість хибнопозитивних результатів. Вона складається з чотирьох основних модулів, кожен з яких виконує свою конкретну функцію. Важливою перевагою є модульність та гнучкість системи, що дозволяє легко замінювати окремі компоненти без впливу на інші частини програми.
Література:
1. Revaud, J., Weinzaepfel, P., De Souza, C., Pion, N., Csurka, G., Cabon, Y., & Humenberger, M. (2019). R2D2: Repeatable and Reliable Detector and Descriptor. arXiv. https://arxiv.org/abs/1906.06195
______________________
Науковий керівник: Биковий Павло Євгенович, кандидат технічних наук, доцент, Західноукраїнський національний університет, м. Тернопіль