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...
Saved in:
| Date: | 2024 |
|---|---|
| Main Authors: | , , , |
| Format: | Article |
| Language: | Ukrainian |
| Published: |
PROBLEMS IN PROGRAMMING
2024
|
| Subjects: | |
| Online Access: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/649 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Problems in programming |
| Download file: | |
Institution
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 Інститут програмних систем
НАН України.
|