Human face recognition system in video stream

In the work, an analysis of detection methods and faces in the video stream and their effectiveness in real time was carried out. Modern algorithms and pre-trained models have been found to be able to recognize faces with high accuracy, but their significant drawback is, in particular, vulnerability...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2024
Автори: Popereshnyak, S.V., Skoryk, R.O., Kuptsov, D.V., Kravchenko, R.V.
Формат: Стаття
Мова:Ukrainian
Опубліковано: PROBLEMS IN PROGRAMMING 2024
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/649
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-649
record_format ojs
resource_txt_mv ppisoftskievua/56/8d1f19a93d1ef4948beee5f53ad5a156.pdf
spelling pp_isofts_kiev_ua-article-6492025-02-13T20:21:37Z Human face recognition system in video stream Система розпізнавання обличчя людини у відеопотоці Popereshnyak, S.V. Skoryk, R.O. Kuptsov, D.V. Kravchenko, R.V. face detection; face recognition; live face detection; deep learning; video streaming; Internet of Things; state border; streaming information; software complexes; observability and controllability UDC 004.4 виявлення облич; розпізнавання облич; виявлення живих облич; глибоке навчання; відеопотік; Internet of Things; держкордон; потокова інформація; програмні комплекси; спостережуваність та керованість УДК 004.4 In the work, an analysis of detection methods and faces in the video stream and their effectiveness in real time was carried out. Modern algorithms and pre-trained models have been found to be able to recognize faces with high accuracy, but their significant drawback is, in particular, vulnerability to attacks using fake faces. Therefore, the work also analyzed approaches to detecting living faces and the possibility of their implementation in the system. Using an object-oriented approach, a tool for face capture, receiving a video stream from various sources, detecting unknown and previously captured faces in a video stream, and recognizing live faces was designed and developed. The system has been adapted to work in real time using the GPU. The work improved the architecture of a convolutional neural network for recognizing living faces with the creation of a dataset from a combination of own footage and open datasets. Also, a user interface for the face recognition system was developed. The work improved identification procedures and simplified detection of persons on video for employees of the security department of enterprises by implementing liveness detection face recognition methods. As a result of the research, a system was designed, which is intended for detection, recognition and detection of living faces in a video stream. After analyzing the known successful software products, niches that need a new solution were identified. Based on them, functional and non-functional requirements were developed. The process of recognizing faces in the video stream has been modified by implementing our own Liveness Detection model.Prombles in programming 2024; 2-3: 296-304 В роботі було проведено аналіз методів виявлення обличчя у відеопотоці та їхньої ефективності в реальному часі. Було з’ясовано, що сучасні алгоритми та попередньо натреновані моделі дозволяють з високою точністю розпізнавати обличчя, однак значним їхнім недоліком є, зокрема, вразливість до атак із використанням фальшивих облич. Тому було проведено також аналіз підходів до виявлення живих облич і можливості їхньої імплементації в системі. За допомогою об’єктно-орієнтованого підходу було спроєктовано та розроблено засіб для захоплення обличчя, отримання відеопотоку з різних джерел, виявлення невідомих та раніше захоплених облич у відеопотоці, розпізнавання живих облич. Система була адаптована для роботи в реальному часі із використанням GPU. В роботі було вдосконалено архітектуру конволюційної нейронної мережі для розпізнавання живих облич із створенням датасету із комбінації власних футажів та відкритих датасетів. Також розроблено користувацький інтерфейс для системи розпізнавання облич. У роботі покращено процедури ідентифікації та спрощення виявлення осіб на відео для працівників відділу безпеки підприємств шляхом впровадження методів розпізнавання із живих облич (liveness detection). Результатом дослідження було спроєктовано систему, призначену для виявлення, розпізнавання та виявлення живих облич у відеопотоці. Проаналізувавши відомі успішні програмні продукти, було виділено ніші, які потребують представлення нового рішення. На їх основі було розроблено функціональні та нефункціональні вимоги. Процес розпізнавання облич у відеопотоці було модифіковано шляхом впровадження власної моделі Liveness Detection.Prombles in programming 2024; 2-3: 296-304 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2024-12-17 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/649 10.15407/pp2024.02-03.296 PROBLEMS IN PROGRAMMING; No 2-3 (2024); 296-304 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2024); 296-304 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2024); 296-304 1727-4907 10.15407/pp2024.02-03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/649/701 Copyright (c) 2024 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2025-02-13T20:21:37Z
collection OJS
language Ukrainian
topic face detection
face recognition
live face detection
deep learning
video streaming
Internet of Things
state border
streaming information
software complexes
observability and controllability
UDC 004.4
spellingShingle face detection
face recognition
live face detection
deep learning
video streaming
Internet of Things
state border
streaming information
software complexes
observability and controllability
UDC 004.4
Popereshnyak, S.V.
Skoryk, R.O.
Kuptsov, D.V.
Kravchenko, R.V.
Human face recognition system in video stream
topic_facet face detection
face recognition
live face detection
deep learning
video streaming
Internet of Things
state border
streaming information
software complexes
observability and controllability
UDC 004.4
виявлення облич
розпізнавання облич
виявлення живих облич
глибоке навчання
відеопотік
Internet of Things
держкордон
потокова інформація
програмні комплекси
спостережуваність та керованість
УДК 004.4
format Article
author Popereshnyak, S.V.
Skoryk, R.O.
Kuptsov, D.V.
Kravchenko, R.V.
author_facet Popereshnyak, S.V.
Skoryk, R.O.
Kuptsov, D.V.
Kravchenko, R.V.
author_sort Popereshnyak, S.V.
title Human face recognition system in video stream
title_short Human face recognition system in video stream
title_full Human face recognition system in video stream
title_fullStr Human face recognition system in video stream
title_full_unstemmed Human face recognition system in video stream
title_sort human face recognition system in video stream
title_alt Система розпізнавання обличчя людини у відеопотоці
description In the work, an analysis of detection methods and faces in the video stream and their effectiveness in real time was carried out. Modern algorithms and pre-trained models have been found to be able to recognize faces with high accuracy, but their significant drawback is, in particular, vulnerability to attacks using fake faces. Therefore, the work also analyzed approaches to detecting living faces and the possibility of their implementation in the system. Using an object-oriented approach, a tool for face capture, receiving a video stream from various sources, detecting unknown and previously captured faces in a video stream, and recognizing live faces was designed and developed. The system has been adapted to work in real time using the GPU. The work improved the architecture of a convolutional neural network for recognizing living faces with the creation of a dataset from a combination of own footage and open datasets. Also, a user interface for the face recognition system was developed. The work improved identification procedures and simplified detection of persons on video for employees of the security department of enterprises by implementing liveness detection face recognition methods. As a result of the research, a system was designed, which is intended for detection, recognition and detection of living faces in a video stream. After analyzing the known successful software products, niches that need a new solution were identified. Based on them, functional and non-functional requirements were developed. The process of recognizing faces in the video stream has been modified by implementing our own Liveness Detection model.Prombles in programming 2024; 2-3: 296-304
publisher PROBLEMS IN PROGRAMMING
publishDate 2024
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/649
work_keys_str_mv AT popereshnyaksv humanfacerecognitionsysteminvideostream
AT skorykro humanfacerecognitionsysteminvideostream
AT kuptsovdv humanfacerecognitionsysteminvideostream
AT kravchenkorv humanfacerecognitionsysteminvideostream
AT popereshnyaksv sistemarozpíznavannâobliččâlûdiniuvídeopotocí
AT skorykro sistemarozpíznavannâobliččâlûdiniuvídeopotocí
AT kuptsovdv sistemarozpíznavannâobliččâlûdiniuvídeopotocí
AT kravchenkorv sistemarozpíznavannâobliččâlûdiniuvídeopotocí
first_indexed 2025-07-17T09:57:47Z
last_indexed 2025-07-17T09:57:47Z
_version_ 1850410397294657536
fulltext 296 Машинне навчання та нейронні мережі УДК 004.4 http://doi.org/10.15407/pp2024.02-03.296 С.В. Поперешняк, Р.О. Скорик, Д.В. Купцов, Р.В. Кравченко СИСТЕМА РОЗПІЗНАВАННЯ ОБЛИЧЧЯ ЛЮДИНИ У ВІДЕОПОТОЦІ В роботі було проведено аналіз методів виявлення обличчя у відеопотоці та їхньої ефективності в реаль- ному часі. Було з’ясовано, що сучасні алгоритми та попередньо натреновані моделі дозволяють з висо- кою точністю розпізнавати обличчя, однак значним їхнім недоліком є, зокрема, вразливість до атак із використанням фальшивих облич. Тому було проведено також аналіз підходів до виявлення живих облич і можливості їхньої імплементації в системі. За допомогою об’єктно-орієнтованого підходу було спроє- ктовано та розроблено засіб для захоплення обличчя, отримання відеопотоку з різних джерел, виявлення невідомих та раніше захоплених облич у відеопотоці, розпізнавання живих облич. Система була адапто- вана для роботи в реальному часі із використанням GPU. В роботі було вдосконалено архітектуру кон- волюційної нейронної мережі для розпізнавання живих облич із створенням датасету із комбінації влас- них футажів та відкритих датасетів. Також розроблено користувацький інтерфейс для системи розпізна- вання облич. У роботі покращено процедури ідентифікації та спрощення виявлення осіб на відео для працівників відділу безпеки підприємств шляхом впровадження методів розпізнавання із живих облич (liveness detection). Результатом дослідження було спроєктовано систему, призначену для виявлення, розпізнавання та виявлення живих облич у відеопотоці. Проаналізувавши відомі успішні програмні про- дукти, було виділено ніші, які потребують представлення нового рішення. На їх основі було розроблено функціональні та нефункціональні вимоги. Процес розпізнавання облич у відеопотоці було модифіко- вано шляхом впровадження власної моделі Liveness Detection. Ключові слова: виявлення облич, розпізнавання облич, виявлення живих облич, глибоке навчання, ві- деопотік, Internet of Things, держкордон, потокова інформація, програмні комплекси, спостережува- ність та керованість. S. Popereshnyak, R. Skoryk, D. Kuptsov, R. Kravchenko HUMAN FACE RECOGNITION SYSTEM IN VIDEO STREAM In the work, an analysis of detection methods and faces in the video stream and their effectiveness in real time was carried out. Modern algorithms and pre-trained models have been found to be able to recognize faces with high accuracy, but their significant drawback is, in particular, vulnerability to attacks using fake faces. Therefore, the work also analyzed approaches to detecting living faces and the possibility of their implementation in the system. Using an object-oriented approach, a tool for face capture, receiving a video stream from various sources, detecting unknown and previously captured faces in a video stream, and recognizing live faces was designed and developed. The system has been adapted to work in real time using the GPU. The work improved the architecture of a convolutional neural network for recognizing living faces with the creation of a dataset from a combination of own footage and open datasets. Also, a user interface for the face recognition system was developed. The work improved identification procedures and simplified detection of persons on video for employees of the se- curity department of enterprises by implementing liveness detection face recognition methods. As a result of the research, a system was designed, which is intended for detection, recognition and detection of living faces in a video stream. After analyzing the known successful software products, niches that need a new solution were identified. Based on them, functional and non-functional requirements were developed. The process of recog- nizing faces in the video stream has been modified by implementing our own Liveness Detection model. Key words: face detection, face recognition, live face detection, deep learning, video streaming, Internet of Things, state border, streaming information, software complexes, observability and controllability. Вступ Система розпізнавання облич нале- жить до біометричних систем безпеки, як і розпізнавання голосу, розпізнавання відби- тків пальців та розпізнавання сітківки. Біо- логічний процес розпізнавання облич у лю- дей є дуже цікавим, бо людина все ще може впізнати когось, навіть якщо він виріс або зазнав значних змін зовнішності. За допо- © С.В. Поперешняк, Р.О, Скорик, Д.В. Купцов, Р.В. Кравченко, 2024 ISSN 1727-4907. Проблеми програмування. 2024. №2-3 297 Машинне навчання та нейронні мережі могою комп’ютерних технологій це також можливо за умови достатньо якісного алго- ритму. Проблема, яка часто виникає в сис- темах розпізнавання облич, полягає в тому, що цю систему легко обдурити за допомо- гою підроблених облич або зображень люд- ських облич, таких як фотографії, відео, ма- ски та статуї, що називається спуфінг ата- кою. Це можливо, оскільки основним прин- ципом розпізнавання облич є запам’ятову- вання унікальної інформації про обличчя, її кодування і порівняння з раніше закодова- ними результатами. Використання зобра- ження людського обличчя для ідентифіка- ції неможливо виявити без LD: зловмис- ники можуть використовувати фотографію людини, яка вже зареєстрована в системі, щоб обійти систему розпізнавання облич і отримати особисту вигоду. Для безпеки си- стеми розпізнавання облич, нам потрібен алгоритм, який може визначити, чи є кори- стувач справжнім чи підробленим, що і на- зивається Liveness detection. На відміну від звичайного розпізнавання облич без цієї функції, яке просто бере дані з камери, не перевіряючи, чи це справжня людина, тут вирішений потенційний недолік: звичайне розпізнавання обличчя сприймає все, що перед ним, як справжнє людське обличчя, навіть якщо це просто зображення або об'- єкт. Саме тут і з'являється функція вияв- лення живої людини, щоб виправити це.[1] LD використовується в секторах, де висока безпека є критичною: у фінансових установах, на контрольно-пропускних пун- ктах, в системах контролю доступу та мобі- льних додатках. Серед основних викликів цих техно- логій – забезпечення точності та швидкості обробки, а також врахування етичних пи- тань, пов'язаних з конфіденційністю та при- ватністю даних. Актуальність роботи обумовлена зростаючою популярністю розпізнавання обличчя як біометричного підходу та як од- ного із найефективніших і найзручніших у користуванні. Дана робота є актуальною тому, що сучасні алгоритми та попередньо натреновані моделі дозволяють з високою точністю розпізнавати обличчя, однак зна- чним їхнім недоліком є, зокрема, вразли- вість до атак із використанням фальшивих облич. Однак відкритого рішення для роз- пізнавання живих облич не існує, тому ак- туальним є розроблення власного рішення, щоб задовільнити потреби безпеки. Однією з галузей, що потребує сис- теми для розпізнавання осіб і надання їм ві- дповідних прав, є Internet of Things (IoT). Актуальність розпізнавання обличчя в Internet of Things (IoT) визначається кіль- кома факторами: зростання IoT, підви- щення рівня безпеки, зручність для корис- тувачів, покращення рішень на основі да- них. Отже, розпізнавання обличчя в IoT має значення як для забезпечення безпеки та зручності для користувачів, так і для покра- щення функціональності та ефективності систем IoT в цілому. Система розпізнавання облич лю- дини у відеопотоці може бути ключовим компонентом в оптимізації контролю яко- сті потокової інформації щодо перетину держкордону з використанням методів штучного інтелекту. Інтеграція системи розпізнавання облич дозволяє автоматизувати процес ви- явлення та ідентифікації осіб, що перетина- ють кордон, що робить контроль більш ефе- ктивним та швидким. Застосування методів штучного інтелекту дозволяє вдосконалити алгоритми розпізнавання облич та підви- щити точність виявлення. Поєднання цих технологій дозволяє створити систему, здатну в реальному часі виявляти та ідентифікувати осіб на відеопо- тоці, оптимізуючи тим самим контроль яко- сті потокової інформації щодо перетину держкордону. Такий підхід дозволяє забез- печити високу ефективність та надійність контролю на державному кордоні, зменшу- ючи можливість пропуску небажаних осіб або предметів через кордон. Інтеграція системи розпізнавання облич може значно підвищити ефектив- ність інформаційних систем, що використо- вуються Державною прикордонною служ- бою України (ДПСУ), дозволяючи автома- тично виявляти та відстежувати осіб, які пе- ретинають кордон або здійснюють інші дії, які потребують уваги. Крім того, застосування системи розпізнавання облич може допомогти в ре- агуванні на потенційні загрози та вияв- 298 Машинне навчання та нейронні мережі лення осіб, які перебувають у розшуку або мають злочинні наміри. Спостережуваність та керованість програмних комплексів розпізнавання об- лич людей у відеопотоці є обов’язковою ха- рактеристикою таких систем і забезпечу- ється на етапі обрання та реалізації архітек- турних рішень щодо створення відповідних програмних систем. Такий підхід до побу- дови програмних комплексів забезпечує пі- двищений рівень безпеки та контролю на кордоні. Мета роботи – покращення проце- дури ідентифікації та спрощення виявлення осіб на відео для працівників відділу без- пеки підприємств шляхом впровадження методів розпізнавання із живих облич (liveness detection). Розпізнавання облич, особливо в комбінації з виявлення живих облич, було дуже поширеною темою досліджень останній час, зокрема, як аналог розпізна- вання відбитків пальців та сітківки ока. Але в розпізнаванні облич підходи до ви- рішення питання біометричного застосу- вання дещо відрізняються. LD – це процес диференціації простору ознак на живі і не- живі. Зловмисники намагатимуться прони- кнути в систему через велику кількість spoof-атак, і саме LD може помітно покра- щити безпеку застосування розпізнавання облич у біометричних цілях. У розпізна- ванні облич типові методи атак можна ро- зділити на кілька категорій, їхня класифі- кація ґрунтується на тому, у який спосіб системі верифікації надається хибна інфо- рмація. Наприклад, фотографія, зобра- ження обличчя, записане відео, 3D-моделі обличчя з можливістю моргання і руху губ, 3D-моделі обличчя з різними виразами тощо[2]. Хоча найкращі сучасні реалізації показують неймовірні результати, досі є місце для росту, а також для покращення доступності. Якість відео, шум, інтенсив- ність освітлення значно впливають на як- ість роботи моделей. Також методи добре протидіють відомим способам атаки, але проти раніше не бачених мало ефективні. Зрештою, однією з ключових проблем, яка потребує врегулювання - наявність якіс- них відкритих датасетів: їх потенційне створення суперечить приватності персо- нальних даних багатьох людей.[3] У межах цієї роботи було обрано стратегію розробки системи розпізнавання face recognition з акцентом на виявленні живих облич (liveness detection), що є клю- човим елементом для підтримання висо- кого рівня безпеки. Аналіз алгоритмічних та технічних рішень Розглянемо відомі алгоритмічні рі- шення для виявлення обличчя. Haarcascade (Haar Cascade Classifier) – використовує каскади Хаара для ідентифікації облич. Він базується на концепції "прямокутників", які є простими формами (на кшталт країв, ліній), що вико- ристовуються для визначення облич на зо- браженні. Імплементація: Навчання відбу- вається за допомогою методу "посиленого навчання" (AdaBoost). Система використо- вує багато різних форм та обирає найкращі для ефективного розпізнавання облич.[4] HOG (Histogram of Oriented Gradients) - використання гістограми орієн- тованих градієнтів для виявлення облич. Цей алгоритм розділяє зображення на неве- ликі області та обчислює гістограми градіє- нтів для кожної області, щоб створити опис обличчя. HOG часто використовується у поєднанні з класифікатором, як-то SVM (Support Vector Machine), для визначення чи присутнє обличчя у даній області.[5] MMOD (Max-Margin Object Detection) є методом глибокого навчання (DL) для детекції об'єктів. Він використо- вує концепцію "максимального відступу" для визначення кращого розміщення коро- бки детекції навколо обличчя. MMOD за- звичай включає в себе глибокі конволю- ційні нейромережі для вивчення характери- стик облич. Він є більш точним у порів- нянні з класичними методами, але вимагає більшої обчислювальної потужності.[6] SSD (Single Shot MultiBox Detector) є ще одним методом глибокого навчання, який дозволяє виявляти об'єкти на зобра- женнях за один прохід. Він ефективно ви- значає різні об'єкти та їхнє розташування на зображенні. SSD використовує ряд конво- 299 Машинне навчання та нейронні мережі люційних шарів для виявлення об'єктів різ- ного розміру. Цей метод швидкий та ефек- тивний, особливо у реальному часі.[7] Кожен із цих методів має свої пере- ваги та недоліки, і вибір конкретного алго- ритму залежить від конкретних вимог до точності, швидкості та ресурсів обчислюва- льної системи. У випадку цієї розробки, SSD вияви- вся найбільш ефетивним з точки зору спів- відношення обчислювальної складності до якості ідентифікації, тому для реалізації ПЗ буде використано саме його. Розглянемо алгоритми розпізна- вання облич. Eigenfaces використовує метод голо- вних компонентів (PCA) для зменшення ро- змірності простору облич. Високовимірні дані облич перетворюються на набір ваго- вих значень, які представляють ключові риси обличчя. Імплементація Eigenfaces включає навчання на наборі облич, щоб ви- значити головні компоненти. Кожне нове обличчя проєктується на цей простір для порівняння або розпізнавання.[8] Цей метод придатний для систем із невеликою кількістю даних і меншими об- числювальними ресурсами, однак коли мо- жлива велика кількість облич і якість розпі- знавання, він мало придатний. Fisherfaces використовуює лінійний дискримінантний аналіз (LDA) для оптимі- зації розрізнення між класами облич. Вони зосереджені на максимізації відстані між категоріями облич, одночасно мінімізуючи варіації всередині кожного класу. Fisherfaces навчається на наборі облич, щоб визначити оптимальні лінійні комбінації, які розмежовують різні класи облич. [9] Цей метод ефективніший за Eigenfaces для ситуацій, де класи облич ма- ють високий рівень варіативності і загалом має більшу точність та обчислювальні ви- трати. LBPH (Local Binary Patterns Histograms) використовує локальні двійкові шаблони для опису характеристик обличчя. Цей метод аналізує кожен піксель зобра- ження, порівнюючи його з сусідніми піксе- лями, та кодує ці відносини у двійковому форматі.[10] Імплементація: LBPH обчислює гіс- тограми локальних двійкових шаблонів для різних частин обличчя, а потім ці гістог- рами використовуються для порівняння та розпізнавання облич. Цей метод ефектив- ний для варіацій у освітленні та виразах об- лич. Алгоритми глибокого навчання, пе- реважно конволюційні нейромережі (CNN), також використовуються для розпі- знавання облич. Вони автоматично вивча- ють риси облич з великих наборів даних, виявляючи складні шаблони та властивості. Вони вважаються одними з найточніших методів, але вимагають великих обчислю- вальних ресурсів та великої кількості даних для ефективного навчання.[11] Кожен із цих методів має свої особ- ливості та придатний для різних сценаріїв застосування. Наприклад, LBPH може бути кращим вибором для систем з обмеженими ресурсами, тоді як глибоке навчання є ідеа- льним для складних застосувань із вели- кими наборами даних. Для реалізації було обрано CNN ал- горитм для кращої якості ідентифікації, тому для реалізації ПЗ буде використано саме його. Виявлення живих облич (LD) є важ- ливою частиною систем біометричної без- пеки, яка допомагає визначити, чи об'єкт, що сканується, є справжньою людиною, а не фотографією, відео чи іншою підроб- кою. Розглянем кілька методів, що викори- стовуються для liveness detection:[2] Аналіз руху зводиться до розріз- нення патерну руху між 3D та 2D об’єктами, які зазвичай є зображеннями, що використовуються для обману системи. Обов’язковою для методу є наявність відео- потоку, проте інтеракція з користувачем тут не потрібна, що в поєднанні з високою ефективністю розпізнавання 2D зображень є значними перевагами. До недоліків можна віднести потребу у високоякісному відео, а також погіршення ефективності, якщо в сцені немає активного руху. Аналіз текстури використовує той факт, що надруковане чи виготовлене ін- шим чином, або вставлене зображення ма- тиме дефекти, розмитість, чи можливо на- віть інше оточення у порівнянні з рештою 300 Машинне навчання та нейронні мережі зображення. Цей підхід легкий в імплемен- тації і не потребує взаємодії з користува- чем, він охоплює більшу множину можли- вих атак. Недоліки цього методу знову зво- дяться до потреби у високоякісних зобра- женнях, до того ж ефективність стрімко па- дає, якщо патерн відмінностей в текстурах не зустрічався в навчальних даних, а це ста- вить жорсткі вимоги до об’єму і різномані- тності датасету. Виявлення міміки можна поділити на два типи. До першого відносять вико- нання користувачем певного руху (повер- нути голову вправо), або певного виразу обличчя(посміхнутись). Якщо цю вказівку виконано, то верифікація успішна. Це єди- ний з розглянутих методів, який вимагає ак- тивної взаємодії з користувачем, і, відпо- відно, недоліком є впровадження людсь- кого фактору. Друга категорія полягає у ви- явленні притаманної усім живим людям мі- міки, наприклад - кліпання очима. Усклад- нення, яке приносить цей метод, - потреба дотатково виявити певні частини на об- личчі, такі як очі абощо. Загалом, міміка ефекктивніша в порівнянні з іншими мето- дами, але потребує додаткових засобів для реалізації. Для реалізації було обрано аналіз те- стур та патернів. Оскільки готових відкри- тих рішень немає, буде розроблено власну CNN мережу, через простоту в імплемента- ції і хороші результати[12], які вона показує у порівнянні з аналогічними моделями. Отож, для розроблення було обрано SSD модель для виявлення облич та CNN моделі для розпізнавання та виявлення жи- вих облич. Це створює високі вимоги для апаратного забезпечення, щоб процес міг проходити в реальному часі. Архітектура програмного забезпечення Для розроблення додатка з інтер- фейсом важливо відокремити представ- лення, логіку та дані, для створення більш гнучкої та модульної архітектури. Однак, враховуючи, що всі дані, якими оперує до- даток, – це мітка особи та зображення для її ідентифікації, а одна з функціональних ви- мог – можливість захопити нове обличчя для ідентифікації, то ці дані краще збері- гати локально, ніж в окремій базі даних. Тож, враховуючи особливості мови Python та велику кількість біліотек, будуть викори- стані елементи патернів Adapter та Decorator(Wrapper). Розглянемо діаграму компонентів (рис. 1). Оскільки бібліотека Qt призначена для розробки інтерфейса методоло- гією What You See Is What You Get, вико- ристання інших архітектурних патернів не є доречним. Рис. 1. Діаграма компонентів 301 Машинне навчання та нейронні мережі Інтерфейс матиме вигляд декстоп- ного дотатку, реалізованого за допомогою PyQt6 з головного екрану, вікон відеопо- току, а також діалогових вікон, які давати- муть користувачеві можливість отримувати доступ до всього функціоналу ПЗ, а також вводити необхідні дані і бачити результат роботи програми. Бізнес-логіка буде завантажувати кодування облич, моделі для FD, FR та LD, а також отримувати відеопотік, оброблення якого відбуватиметься в окремому потоці від решти завдань. Для оброблення, отри- мання збереження та виведення кадрів ви- користовуватимуться можливості OpenCV. Дані про кожне захоплене обличчя (20 зо- бражень) будуть зберігатися в окремій теці, а для розпізнавання будуть виділятися ха- рактеристики і закодовувавтись у вектор довжиною 128 засобами бібліотеки Dlib. Опис використаних алгоритмів та архітектур нейронних мереж Для створення відеопотоку було ви- користано можливості OpenCV, яка дозво- ляє захоплювати відеопотік як з вебкамер, так і з відео. Оскільки для оброблення в ре- альному часі необхідний швидкий доступ до кадрів потоку з мінімальною латентні- стю, було використано модуль Tread. Потік постійно оновлюється паралельно вико- нанню обробки попередньо взятого кадру, що значно зменшує затримки. Для знаходження облич на кадрі з ві- деопотоку було використано нейромережу SSD архітектури. Підхід SSD базується на згортковій мережі, яка створює колекцію BBox та оцінок наявності екземплярів об'є- кту класу у цих рамках. BBox подібні до тих, що застосовуються в Faster R-CNN, тож вра- ховують співвідношення сторін для прямо- кутника з об’єктом, тому враховують спів- відношення сторін, однак застосовуються до карт властивостей(feature maps) у різному маштабі. Використана нейронна мережа була натренована для розпізнавання облич у Caffe framework, тому її можна завантажити за допомогою DNN модуля бібліотеки OpenCV. Ця модель поєднує високу якість із високою продуктивністю, дозволяючи роз- пізнавати обличчя під різними кутами. Дета- льну архітектуру шарів нейромережі можна побачити на рис. 2. Для розпінавання обличчя викорис- товуються можливості бібліотеки Dlib. За допомогою MMOD (Max-Margin Object Detection)[6] виявляє 68 точок[14] на об- личчі, після чого вони закодовуються у век- тор властивостей довжиною 128 [15] за до- помогою ResNet моделі, що дає можливість порівнювати зображення із раніше збереже- ним. Знайшовши різницю кодувань, отрима- ємо відстань між зображеннями, і чим вона менша, тим більша ймовірність, що це одна особа. [14] Пакет face_recognition дає зруч- ний інтерфейс для такого рішення, побудо- ваного на основі Dlib. Рис. 2. Архітектура SSD моделі Для LD було натреновано власну нейронну мережу. Враховуючи високу ефе- ктивність і швидкодію CNN моделей у цій задачі [13], було обрано саме таку архітек- туру. Задача розглядалась як бінарна класи- фікація. Вхідне зображення для навчання мало розмір 150 на 150 пікселів. Для нав- чання використовувалась бібліотеки TensorFlow та Keras. Вихідний шар має оці- нку йомовірності того, що зображення міс- 302 Машинне навчання та нейронні мережі тить живе обличчя. Для оптимізації викори- стовувався алгоритм Adam. Опис датасету Для розпізнавання облич необхідно зберегти мітку, присвоєну персоні, та її зо- браження. Чим більша кількість різнотип- них зображень, тим краща якість розпізна- вання, але тим довше процес захоплення. Тому було обрано кількість зображень у 20. Оскільки для відображення в інтерфейсі та кодування зображень та одночасної можли- вості захоплення в реальному часі необхід- ний постійний доступ до зображень, то було вирішено зберігати їх локально. Зображення кожного захопленого об- личчя зберігаються у відповідній папці та з ві- дповідною міткою. Для їх редагування, зміни та доступу використовується бібліотека os. Для навчання нейронної мережі для LD потрібний розмічений датасет із розмі- чених даних 2 типів – справжніх та неспра- вжніх облич. Дані були отримані шляхом відеозапису обличчя (справжні) та запису відео, продемонстрованого з телефону на іншу камеру(неживі). Додатково було взято дані із датасету CelebA-Spoof[16], під час навчання відбувалась їхня аугментація. Та- ким чином, покрита велика множина мож- ливих атак: від демонстрації запису відео чи окремого зображення до створення фей- кових (роздруківки, фотографї, 3d моделі) облич. Графік процесу навчання видно на рис. 3. Рис. 3. Графік навчання LD моделі Шляхи вдосконалення та подальшого розвитку Можна виділити 3 основні напря- мки подальшого розвитку: 1. Впровадження процесу інтеграції та розгортання додатку на сервері; 2. Покращення ефективності роботи додатку із можливістю роботи в реальному часі на пристроях без GPU; 3. Покращення LD. Для першого необхідно розмістити додаток на сервері, який матиме доступ до вебкамер, а також інтегрувати взаємодію із зовнішньою базою даних. Для другого напрямку необхідне глибше використання технологій парале- льного програмування, а також можлива заміна використаних сетодів на менш які- сні, однак оптимальніші з точки зору обчи- слювальних витрат. Третій напрямок полягає у розроб- ленні датасету із охопленням більшої кіль- кості видів атак, охопленням більшої кіль- кості підходів до LD та покращенням архі- тектури нейронної мережі. Висновки В результаті дослідження було спроєктовано декстопний застосунок, при- значений для виявлення, розпізнання та ви- явлення живих облич у відеопотоці. Резуль- татом розробки є покращення процедури ідентифікації або спрощення виявлення осіб на відео для працівників відділу без- пеки підприємств шляхом впровадження методів розпізнавання живих облич (liveness detection), збільшення їх доступно- сті за рахунок інтерфейсу. За головне середовище розробки об- рано Python. Як середовища розробки було обрано IDE PyCharm та Jupyter-notebook. 303 Машинне навчання та нейронні мережі Для реалізації проєкту використовувалось багато бібліотек, зокрема, Keras та Dlib для нейронних мереж, OpenCV для відеопото- ків та обробки зображення, а також Qt для інтерфейсу. Було проаналізовано архітектурні рішення і обрано архітектурні патерни. Та- кож було проаналізовано архітектури ней- ромереж, відомі алгоритмічні рішення і з- поміж них було обрано оптимальні для по- ставленої задачі. Проаналізувавши відомі успішні програмні продукти, було виділено ніші, які потребують представлення нового рі- шення. На їх основі було розроблено функ- ціональні та нефункціональні вимоги, пос- тавлені задачі. Потім було здійснено аналіз бізнес- процесів програмного забезпечення, реалі- зовано планування архітектури та тесту- вання програмного забезпечення на відпо- відність вимогам. Новизна роботи полягає в модифіка- ції процесу розпізнавання облич у відеопо- тоці шляхом впровадження власної моделі Liveness Detection. Практична значущість розробленої системи полягає в наступному: − Система розпізнавання обличчя до- зволяє автоматизувати процеси вхід- ного контролю та відвідування, забез- печуючи безпечний та зручний дос- туп для працівників. − Використання системи розпізнавання обличчя сприяє підвищенню рівня безпеки на території підприємства, за- побігає несанкціонованому доступу та допомагає вчасно реагувати на по- дії. − Система може використовуватися для точного фіксування часу входу та ви- ходу працівників, що полегшує облік робочого часу та покращує контроль над робочим графіком. − Система розпізнавання обличчя до- зволяє швидко та ефективно ідентифі- кувати осіб, що призводить до скоро- чення часу на реєстрацію та переві- рку. Отримані результати розв’язують поставлені задачі і досягають зазначеної мети, що були описані у технічному за- вданні. Однак залишається місце для покра- щення, особливо щодо продуктивності та якості LD. Література 1. Implementation of face recognition and liveness detection system using TensorFlow.js [Електронний ресурс] — https://jurnal.polinema.ac.id /index. php/jip/article/view/3977/2759 2. Аn overview of face liveness detection [Електронний ресурс] — https://arxiv.org/ftp/arxiv/papers/1405 /1405.2227.pdf 3. Face Liveness Detection Using Artificial Intelligence Techniques: A Systematic Literature Review and Future Directions [Електронний ре- сурс] — https://doi.org/10.3390/ bdcc 7010037 4. Face Detection Using Haar Cascade Classifiers Based on Vertical Component Calibration [Електронний ресурс] — http://hcisj.com/data/ file/ article/2022031501/12-11.pdf?ckatt empt=1 5. Comparison of Viola-Jones Haar Cascade Classifier and Histogram of Oriented Gradients (HOG) for face detection [Електронний ресурс] — https://iopscience.iop.org/article/10.10 88/1757-899X/732/1/012038/meta 6. Max-Margin Object Detection [Елек- тронний ресурс] — https://arxiv.org/ abs/1502.00046 7. Eigenfaces for Recognition [Елект- ронний ресурс] — https://direct.mit.edu/jocn/article/3/1/7 1/3025/Eigenfaces-for-Recognition 8. Face Recognition Using Fisherface Method [Електронний ресурс] — https://iopscience.iop.org/article/10.10 88/1742-6596/1028/1/012119/meta 9. LBPH-based Enhanced Real-Time Face Recognition [Електронний ре- сурс] — https://thesai.org/ Publications/ViewPaper?Volume =10&Issue=5&Code=IJACSA&Serial No=35 304 Машинне навчання та нейронні мережі 10. When Face Recognition Meets With Deep Learning: An Evaluation of Convolutional Neural Networks for Face Recognition [Електронний ре- сурс] — https://www.cv- foundation.org/openaccess/content_icc v_ 2015_workshops/ w11/html/ Hu_ When_Face_Recognition_ICCV_2015 _paper.html 11. Optimizing Deep CNN Architectures for Face Liveness Detection [Елект- ронний ресурс] — https://www.mdpi.com/1099- 4300/21/4/423 12. 13 Top 11 Facial Recognition Software in 2021 [Електронний ресурс] — https://www.spiceworks.com/it- security/identity-access- management/articles/facial- recognition-software/ 13. face_recognition package [Електрон- ний ресурс] — https://face- recognition.readthedocs.io/en/latest/fa ce_recognition.html#module- face_recognition.api 14. Dlib C++ library [Електронний ре- сурс] — http://dlib.net/python/ index.html#dlib_pybind11.face_recog nition_model_v1 15. CelebA-Spoof: Large-Scale Face Anti- Spoofing Dataset with Rich Annotations [Електронний ресурс] — https://github.com/ZhangYuanhan- AI/CelebA-Spoof Одержано: 10.04.2024 Внутрішня рецензія отримана: 21.04.2024 Зовнішня рецензія отримана: 27.04.2024 Про авторів: 1Поперешняк Світлана Володимирівна, Кандидат фізико-математичних наук, доцент http://orcid.org/0000-0002-0531-9809. 2Скорик Родіон Олегович, бакалавр http://orcid.org/0009-0000-9547-4038. 3 Купцов Дмитро Володимироович, аспірант http://orcid.org/0009-0009-9958-6809. 4 Кравченко Роман Вікторович, аспірант http://orcid.org/0009-0005-8044-4414. Місце роботи авторів: 1, 2 Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», тел. +38-098-645-54-62 E-mail: spopereshnyak@gmail.com 3,4 Інститут програмних систем НАН України.