FaceNet — це система розпізнавання облич, розроблена Флоріаном Шроффом, Дмитром Каленіченком і Джеймсом Філбіною, групою дослідників із Google. Вперше система була представлена широкому загалу під час конференції IEEE з комп'ютерного бачення та розпізнавання образів в 2015 році. Система використовує глибоку згортову нейронну мережу для навчання відображенню (або вкладенню) із набору зображень облич у 128-вимірний евклідів простір, а подібність між двома зображеннями обличчя оцінюється на основі квадрата евклідової відстані між відповідними нормалізованими векторами у 128-вимірному евклідовому просторі. Функцією витрат використовується [en]. Також, вперше було запроваджено новий онлайн-метод триплетного майнінгу. Система досягла точності 99,63 % на наборі даних Labeled Faces in the Wild, для якого це є найвищим показником.
Структура
Базова структура
Структура системи розпізнавання FaceNet схематично представлена на рисунку 1.
Для навчання дослідники використовували вхідними даними приблизно 1800 зображень, у яких для кожної особистості було близько 40 схожих зображень і кілька випадкових зображень, пов'язаних з іншими особами. Дані пакетами подавалися до глибокої згорткової нейронної мережі, яка навчалася за допомогою методу стохастичного градієнтного спуску зі стандартним зворотним поширенням і алгоритмом Adaptive Gradient Optimizer (AdaGrad). Швидкість навчання спочатку була встановлена на рівні 0,05, яку було зменшено на фінальному етапі тренування моделі.
Структура ЗНН
Дослідники використовували два типи архітектур, які вони назвали NN1 і NN2, і досліджували їхні переваги та недоліки. Практичні відмінності між моделями полягають у використанні різних параметрів і, відповідно, різними FLOPS. Подробиці моделі NN1 представлені в таблиці нижче.
Шар | Розмір входу (rows × cols × #filters) | Розмір виходу (rows × cols × #filters) | Ядро (rows × cols, stride) | Параметрів | FLOPS |
---|---|---|---|---|---|
conv1 | 220×220×3 | 110×110×64 | 7×7×3, 2 | 9K | 115M |
pool1 | 110×110×64 | 55×55×64 | 3×3×64, 2 | 0 | — |
rnorm1 | 55×55×64 | 55×55×64 | 0 | ||
conv2a | 55×55×64 | 55×55×64 | 1×1×64, 1 | 4K | 13M |
conv2 | 55×55×64 | 55×55×192 | 3×3×64, 1 | 111K | 335M |
rnorm2 | 55×55×192 | 55×55×192 | 0 | ||
pool2 | 55×55×192 | 28×28×192 | 3×3×192, 2 | 0 | |
conv3a | 28×28×192 | 28×28×192 | 1×1×192, 1 | 37K | 29M |
conv3 | 28×28×192 | 28×28×384 | 3×3×192, 1 | 664K | 521M |
pool3 | 28×28×384 | 14×14×384 | 3×3×384, 2 | 0 | |
conv4a | 14×14×384 | 14×14×384 | 1×1×384, 1 | 148K | 29M |
conv4 | 14×14×384 | 14×14×256 | 3×3×384, 1 | 885K | 173M |
conv5a | 14×14×256 | 14×14×256 | 1×1×256, 1 | 66K | 13M |
conv5 | 14×14×256 | 14×14×256 | 3×3×256, 1 | 590K | 116M |
conv6a | 14×14×256 | 14×14×256 | 1×1×256, 1 | 66K | 13M |
conv6 | 14×14×256 | 14×14×256 | 3×3×256, 1 | 590K | 116M |
pool4 | 14×14×256 | 3×3×256, 2 | 7×7×256 | 0 | |
concat | 7×7×256 | 7×7×256 | 0 | ||
fc1 | 7×7×256 | 1×32×128 | maxout p=2 | 103M | 103M |
fc2 | 1×32×128 | 1×32×128 | maxout p=2 | 34M | 34M |
fc7128 | 1×32×128 | 1×1×128 | 524K | 0.5M | |
L2 | 1×1×128 | 1×1×128 | 0 | ||
Загалом | 140M | 1.6B |
Триплетна функція витрат
Функція витрат, яка використовувалася в системі FaceNet, отримала назву «Триплетна функція витрат». Це була нова ідея, запропонована розробниками системи FaceNet. Зазначена функція визначається за допомогою триплетів навчальних зображень . У цій трійці, (англ. anchor, «якірне зображення») позначає базове зображення людини, (англ. positive, «позитивне зображення») позначає якесь інше зображення тієї ж самої людини, чиє зображення відповідає , і (англ. negative, «негативне зображення») позначає зображення іншої людини, відмінної від людини, яка зображена на . Нехай бути якимось зображенням, а буде вкладенням зображення в 128-вимірний евклідів простір. Вважємо, що -норма дорівнює 1. (-норма вектора у скінченновимірному евклідовому просторі позначається як .) Ми вибираємо з набору навчальних даних триплети . Тренування полягає в тому, щоб після навчання на всіх триплетах у наборі навчальних даних виконувалася наступна умова, яка називається «обмеженням триплета»:
де є сталою, яка називається запасом (англ. margin), і її значення потрібно встановлювати вручну. Його значення було встановлено як 0,2.
Таким чином, функція, яку потрібно мінімізувати, це така функція, яка називається функцією триплетних витрат:
Вибір триплетів
Загалом кількість триплетів виду буде занадто великою, щоб перебрати усі можливі комбінації. Для прискорення обчислень, дослідники Google розглядали лише ті триплети, які порушують обмеження триплетів, яке визначається наступним чином. Для якірного зображення вибирається позитивне зображення для котрого відстань є максимальною (таке позитивне зображення називається «жорстким позитивним зображенням»), а негативне зображення для котрого відстань є мінімальною (називається «жорстким негативним зображенням»). Оскільки використання всього набору навчальних даних для визначення жорстких позитивних і жорстких негативних зображень було обчислювально дорогим і нездійсненним, дослідники експериментували з кількома методами для вибору триплетів.
- Триплети генеруються в режимі офлайн, коли обчислюється мінімум і максимум для підмножини даних.
- Триплети генеруються онлайн, коли вибираються жорсткі позитивні/негативні приклади з міні-батчу.
Продуктивність
На широко використовуваному наборі даних Labeled Faces in the Wild (LFW) система FaceNet досягла точності 99,63 %, що є найвищим результатом на цьому наборі даних. На YouTube Faces DB система досягла точності 95,12 %.
Див. також
- [en]
- [en]
Подальше читання
- Rajesh Gopakumar; Karunagar A; Kotegar, M.; Vishal Anand (September 2023). "A Quantitative Study on the FaceNet System": in Proceedings of ICACCP 2023. Singapore: Springer Nature. с. 211—222. ISBN .
- Ivan William; De Rosal Ignatius Moses Setiadi; Eko Hari Rachmawanto; Heru Agus Santoso; Christy Atika Sari (2019). "Face Recognition using FaceNet (Survey, Performance Test, and Comparison)" in Proceedings of Fourth International Conference on Informatics and Computing. IEEE Xplore. Процитовано 6 жовтня 2023.
- For a discussion on the vulnerabilities of Facenet-based face recognition algorithms in applications to the Deepfake videos: Pavel Korshunov; Sébastien Marcel (2022). "The Threat of Deepfakes to Computer and Human Visions" in: Handbook of Digital Face Manipulation and Detection From DeepFakes to Morphing Attacks (PDF). Springer. с. 97—114. ISBN . Процитовано 5 жовтня 2023.
- For a discussion on applying FaceNet for veifying faces in Android: Vasco Correia Veloso (January 2022). Hands-On Artificial Intelligence for Android. BPB Publications. ISBN .
Примітки
- Florian Schroff; Dmitry Kalenichenko; James Philbin. FaceNet: A Unified Embedding for Face Recognition and Clustering (PDF). The Computer Vision Foundation. Процитовано 4 жовтня 2023.
- Erik Learned-Miller; Gary Huang; Aruni RoyChowdhury; Haoxiang Li; Gang Hua (April 2016). Labeled Faces in the Wild: A Survey. Advances in Face Detection and Facial Image Analysis (PDF). Springer. с. 189—248. Процитовано 5 жовтня 2023.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
FaceNet ce sistema rozpiznavannya oblich rozroblena Florianom Shroffom Dmitrom Kalenichenkom i Dzhejmsom Filbinoyu grupoyu doslidnikiv iz Google Vpershe sistema bula predstavlena shirokomu zagalu pid chas konferenciyi IEEE z komp yuternogo bachennya ta rozpiznavannya obraziv v 2015 roci 1 Sistema vikoristovuye gliboku zgortovu nejronnu merezhu dlya navchannya vidobrazhennyu abo vkladennyu iz naboru zobrazhen oblich u 128 vimirnij evklidiv prostir a podibnist mizh dvoma zobrazhennyami oblichchya ocinyuyetsya na osnovi kvadrata evklidovoyi vidstani mizh vidpovidnimi normalizovanimi vektorami u 128 vimirnomu evklidovomu prostori Funkciyeyu vitrat vikoristovuyetsya funkciya tripletnih vitrat en Takozh vpershe bulo zaprovadzheno novij onlajn metod tripletnogo majningu Sistema dosyagla tochnosti 99 63 na nabori danih Labeled Faces in the Wild dlya yakogo ce ye najvishim pokaznikom 2 Zmist 1 Struktura 1 1 Bazova struktura 1 2 Struktura ZNN 1 3 Tripletna funkciya vitrat 1 4 Vibir tripletiv 2 Produktivnist 3 Div takozh 4 Podalshe chitannya 5 PrimitkiStrukturared Bazova strukturared Struktura sistemi rozpiznavannya FaceNet shematichno predstavlena na risunku 1 nbsp Risunok 1 Zagalna struktura sistemi rozpiznavannya oblichchya FaceNet Dlya navchannya doslidniki vikoristovuvali vhidnimi danimi priblizno 1800 zobrazhen u yakih dlya kozhnoyi osobistosti bulo blizko 40 shozhih zobrazhen i kilka vipadkovih zobrazhen pov yazanih z inshimi osobami Dani paketami podavalisya do glibokoyi zgortkovoyi nejronnoyi merezhi yaka navchalasya za dopomogoyu metodu stohastichnogo gradiyentnogo spusku zi standartnim zvorotnim poshirennyam i algoritmom Adaptive Gradient Optimizer AdaGrad Shvidkist navchannya spochatku bula vstanovlena na rivni 0 05 yaku bulo zmensheno na finalnomu etapi trenuvannya modeli Struktura ZNNred Doslidniki vikoristovuvali dva tipi arhitektur yaki voni nazvali NN1 i NN2 i doslidzhuvali yihni perevagi ta nedoliki Praktichni vidminnosti mizh modelyami polyagayut u vikoristanni riznih parametriv i vidpovidno riznimi FLOPS Podrobici modeli NN1 predstavleni v tablici nizhche Struktura ZNN yaka vikoristovuvalasya u modeli NN1 v sistemi rozpiznavannya osib FaceNet Shar Rozmir vhodu rows cols filters Rozmir vihodu rows cols filters Yadro rows cols stride Parametriv FLOPS conv1 220 220 3 110 110 64 7 7 3 2 9K 115M pool1 110 110 64 55 55 64 3 3 64 2 0 rnorm1 55 55 64 55 55 64 0 conv2a 55 55 64 55 55 64 1 1 64 1 4K 13M conv2 55 55 64 55 55 192 3 3 64 1 111K 335M rnorm2 55 55 192 55 55 192 0 pool2 55 55 192 28 28 192 3 3 192 2 0 conv3a 28 28 192 28 28 192 1 1 192 1 37K 29M conv3 28 28 192 28 28 384 3 3 192 1 664K 521M pool3 28 28 384 14 14 384 3 3 384 2 0 conv4a 14 14 384 14 14 384 1 1 384 1 148K 29M conv4 14 14 384 14 14 256 3 3 384 1 885K 173M conv5a 14 14 256 14 14 256 1 1 256 1 66K 13M conv5 14 14 256 14 14 256 3 3 256 1 590K 116M conv6a 14 14 256 14 14 256 1 1 256 1 66K 13M conv6 14 14 256 14 14 256 3 3 256 1 590K 116M pool4 14 14 256 3 3 256 2 7 7 256 0 concat 7 7 256 7 7 256 0 fc1 7 7 256 1 32 128 maxout p 2 103M 103M fc2 1 32 128 1 32 128 maxout p 2 34M 34M fc7128 1 32 128 1 1 128 524K 0 5M L2 1 1 128 1 1 128 0 Zagalom 140M 1 6B Tripletna funkciya vitratred nbsp Tripletna funkciya vitrat minimizuye vidstan mizh yakorem i pidtverdzhenim elementom obidva z yakih mayut odnakovu identichnist i maksimizuye vidstan mizh yakorem i elementom yakij nalezhit inshij identichnosti Funkciya vitrat yaka vikoristovuvalasya v sistemi FaceNet otrimala nazvu Tripletna funkciya vitrat Ce bula nova ideya zaproponovana rozrobnikami sistemi FaceNet Zaznachena funkciya viznachayetsya za dopomogoyu tripletiv navchalnih zobrazhen A P N displaystyle A P N nbsp U cij trijci A displaystyle A nbsp angl anchor yakirne zobrazhennya poznachaye bazove zobrazhennya lyudini P displaystyle P nbsp angl positive pozitivne zobrazhennya poznachaye yakes inshe zobrazhennya tiyeyi zh samoyi lyudini chiye zobrazhennya vidpovidaye A displaystyle A nbsp i N displaystyle N nbsp angl negative negativne zobrazhennya poznachaye zobrazhennya inshoyi lyudini vidminnoyi vid lyudini yaka zobrazhena na A displaystyle A nbsp Nehaj x displaystyle x nbsp buti yakimos zobrazhennyam a f x displaystyle f x nbsp bude vkladennyam zobrazhennya x displaystyle x nbsp v 128 vimirnij evklidiv prostir Vvazhyemo sho L 2 displaystyle L 2 nbsp norma f x displaystyle f x nbsp dorivnyuye 1 L 2 displaystyle L 2 nbsp norma vektora X displaystyle X nbsp u skinchennovimirnomu evklidovomu prostori poznachayetsya yak X displaystyle Vert X Vert nbsp Mi vibirayemo z naboru navchalnih danih tripleti A i P i N i displaystyle A i P i N i nbsp Trenuvannya polyagaye v tomu shob pislya navchannya na vsih tripletah A i P i N i displaystyle A i P i N i nbsp u nabori navchalnih danih vikonuvalasya nastupna umova yaka nazivayetsya obmezhennyam tripleta f A i f P i 2 2 a lt f A i f N i 2 2 displaystyle Vert f A i f P i Vert 2 2 alpha lt Vert f A i f N i Vert 2 2 nbsp dd de a displaystyle alpha nbsp ye staloyu yaka nazivayetsya zapasom angl margin i yiyi znachennya potribno vstanovlyuvati vruchnu Jogo znachennya bulo vstanovleno yak 0 2 Takim chinom funkciya yaku potribno minimizuvati ce taka funkciya yaka nazivayetsya funkciyeyu tripletnih vitrat L i 1 N max f A i f P i 2 2 f A i f N i 2 2 a 0 displaystyle L sum i 1 N max Big Vert f A i f P i Vert 2 2 Vert f A i f N i Vert 2 2 alpha 0 Big nbsp dd Vibir tripletivred Zagalom kilkist tripletiv vidu A i P i N i displaystyle A i P i N i nbsp bude zanadto velikoyu shob perebrati usi mozhlivi kombinaciyi Dlya priskorennya obchislen doslidniki Google rozglyadali lishe ti tripleti yaki porushuyut obmezhennya tripletiv yake viznachayetsya nastupnim chinom Dlya yakirnogo zobrazhennya A i displaystyle A i nbsp vibirayetsya pozitivne zobrazhennya P i displaystyle P i nbsp dlya kotrogo vidstan f A i f P i 2 2 displaystyle Vert f A i f P i Vert 2 2 nbsp ye maksimalnoyu take pozitivne zobrazhennya nazivayetsya zhorstkim pozitivnim zobrazhennyam a negativne zobrazhennya N i displaystyle N i nbsp dlya kotrogo vidstan f A i f N i 2 2 displaystyle Vert f A i f N i Vert 2 2 nbsp ye minimalnoyu nazivayetsya zhorstkim negativnim zobrazhennyam Oskilki vikoristannya vsogo naboru navchalnih danih dlya viznachennya zhorstkih pozitivnih i zhorstkih negativnih zobrazhen bulo obchislyuvalno dorogim i nezdijsnennim doslidniki eksperimentuvali z kilkoma metodami dlya viboru tripletiv Tripleti generuyutsya v rezhimi oflajn koli obchislyuyetsya minimum i maksimum dlya pidmnozhini danih Tripleti generuyutsya onlajn koli vibirayutsya zhorstki pozitivni negativni prikladi z mini batchu Produktivnistred Na shiroko vikoristovuvanomu nabori danih Labeled Faces in the Wild LFW sistema FaceNet dosyagla tochnosti 99 63 sho ye najvishim rezultatom na comu nabori danih 2 Na YouTube Faces DB sistema dosyagla tochnosti 95 12 1 Div takozhred DeepFace en FindFace en Podalshe chitannyared Rajesh Gopakumar Karunagar A Kotegar M Vishal Anand September 2023 A Quantitative Study on the FaceNet System in Proceedings of ICACCP 2023 Singapore Springer Nature s 211 222 ISBN 9789819942848 Ivan William De Rosal Ignatius Moses Setiadi Eko Hari Rachmawanto Heru Agus Santoso Christy Atika Sari 2019 Face Recognition using FaceNet Survey Performance Test and Comparison in Proceedings of Fourth International Conference on Informatics and Computing IEEE Xplore Procitovano 6 zhovtnya 2023 For a discussion on the vulnerabilities of Facenet based face recognition algorithms in applications to the Deepfake videos Pavel Korshunov Sebastien Marcel 2022 The Threat of Deepfakes to Computer and Human Visions in Handbook of Digital Face Manipulation and Detection From DeepFakes to Morphing Attacks PDF Springer s 97 114 ISBN 978 3 030 87664 7 Procitovano 5 zhovtnya 2023 For a discussion on applying FaceNet for veifying faces in Android Vasco Correia Veloso January 2022 Hands On Artificial Intelligence for Android BPB Publications ISBN 9789355510242 Primitkired a b Florian Schroff Dmitry Kalenichenko James Philbin FaceNet A Unified Embedding for Face Recognition and Clustering PDF The Computer Vision Foundation Procitovano 4 zhovtnya 2023 a b Erik Learned Miller Gary Huang Aruni RoyChowdhury Haoxiang Li Gang Hua April 2016 Labeled Faces in the Wild A Survey Advances in Face Detection and Facial Image Analysis PDF Springer s 189 248 Procitovano 5 zhovtnya 2023 Otrimano z https uk wikipedia org w index php title FaceNet amp oldid 42194835