Навчання моделей ArcFace і FaceNet для розпізнавання облич

Моделі розпізнавання облич впевнено працюють у лабораторії й помиляються на прохідній: заважають світло, ракурс, маска. Ми навчаємо ArcFace і FaceNet на кадрах вашого об’єкта, перевіряємо якість у реальних умовах і доводимо рішення до впровадження під ключ. Після донавчання частка помилок на живих кадрах знижується в рази, а перевірка людини займає секунди.
Часті запитання

Навчання ArcFace: чому модель плутає обличчя на живих кадрах

Модель на відкладеній вибірці показує точність вище 99%, а на прохідній починає плутати людей. Розрив виникає тому, що метрика рахується на підготовлених кадрах: рівне світло, обличчя в анфас, людина дивиться в камеру.

Живий потік — інший розподіл, і ArcFace з FaceNet однаково чутливі до цієї розбіжності, якщо навчання й донавчання йшли не на тих даних.

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

Третій — застаріла розмітка: частина еталонних знімків зроблена рік тому, людина змінила зачіску, відростила бороду або носить окуляри, а в галереї вона все ще колишня.

На прохідній це обертається двома класами відмов. Хибні спрацювання в бік «не пропустити» — співробітник стоїть біля турнікета, черга накопичується, охорона вручну підтверджує прохід.

Хибні спрацювання в бік «пропустити» — стороння людина проходить через збіг, і це вже інцидент безпеки, а не незручність.

Помилки розпізнавання облич не лікуються одним порогом спрацювання: зниження порогу зменшує відмови, але відкриває доступ. Розбираємо, як це закривається — підбором порогу під задачу, донавчанням на реальних кадрах з прохідної та контролем пар схожих співробітників у галереї.

Вимірюваний ефект: точність, частки помилок, час перевірки

Порівнювати моделі має сенс на кадрах із самого об’єкта, а не на публічних наборах: інша оптика, висота встановлення, освітлення й типові ракурси дають іншу картину.

Тому до адаптації ми проганяємо базову модель по архіву й фіксуємо вихідні показники — з ними потім зіставляємо результат.

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

Модель починає впевнено працювати на вечірньому світлі, у частковому повороті та при перекритті обличчя, де раніше спрацьовував ручний пропуск.

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

Швидкість перевірки вимірюємо на потоці: скільки людей проходить за хвилину, яка затримка рішення на кадр і як поводиться система за кількох камер одночасно. На практиці це частки секунди на людину — черга біля турнікета перестає збиратися.

Стійкість перевіряємо не лише на своєму архіві: проганяємо модель на зсунутих даних — інша камера, інший час доби, сезонний одяг. Якщо показники просідають, додаємо такі кадри в розмітку й повторюємо цикл.

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

Режими впровадження: власна модель, готова, гібридна схема

Три підходи відрізняються тим, скільки даних потрібно до старту і наскільки глибоко можна впливати на поведінку моделі.

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

Варіант Коли підходить Обмеження
Готова модель Анфас, передбачуване світло, один-два ракурси, потрібен швидкий запуск Точність просідає на головних уборах, контровому світлі, сильних нахилах; внутрішню логіку не змінюємо
Донавчання моделі Є власний корпус знімків із цільового потоку, умови зйомки стабільні Потрібна розмітка пар «свій/чужий» і відкладена вибірка, інакше модель перенавчається на вузькому наборі
Навчання з нуля Нетиповий канал зйомки або жорсткі вимоги до контролю над архітектурою Потрібен великий і різноманітний корпус, терміни вимірюються місяцями, вищий ризик помилок під час збору даних

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

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

Навчання ArcFace під ваш сценарій: етапи роботи

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

  1. Аудит даних — обсяг і якість кадрів: розмір облич, ракурси, перекриття, частка браку. Рахуємо кількість людей і кадрів на кожного, добираємо рідкісні випадки, прибираємо дублі.
  2. Розмітка й підготовка — вирівнювання за ключовими точками, єдиний масштаб, фіксований поділ на навчальну, валідаційну та відкладену вибірки. Відкладена в навчанні не бере участі.
  3. Вибір архітектури — порівнюємо ArcFace і FaceNet на ваших даних: де схожі люди розділяються краще за того самого часу відгуку. Для ArcFace підбираємо величину кутового відступу.
  4. Навчання й контроль — додаємо спотворення за яскравістю, поворотом і розмиттям, стежимо за розділюваністю класів на валідації. Зупиняємо навчання, коли якість перестає зростати.
  5. Налаштування порогів — за кривою помилок вибираємо поріг під сценарій: прохідна точка, зона контролю або підтвердження оператором.
  6. Перевірка моделі на відкладеній вибірці — тестуємо за людьми, сесіями й камерами, яких модель не бачила, і дивимося метрики окремо за підгрупами.
  7. Впровадження розпізнавання — передаємо ваги, конфігурацію, модуль виведення, регламент порогів і моніторингу, допомагаємо підключити до вашого контуру.

Артефакти: ваги моделі, розмітка, регламенти

Разом із навченою моделлю замовник отримує не «чорний ящик», а комплект, який дозволяє експлуатувати рішення власними силами або передати його іншій команді без втрати контексту.

Ми вважаємо передачу завершеною лише тоді, коли за цими матеріалами сторонній інженер зможе відтворити результат і внести зміни.

  • Ваги моделі у відкритому форматі — підсумкові ваги після фінальної епохи плюс контрольні точки кількох найкращих епох: вони дають запас для відкату й донавчання без повторного прогону всього навчання.
  • Скрипти підготовки даних і навчання із зафіксованими параметрами: склад і порядок аугментацій, швидкість навчання, стратегія заморожування шарів, значення ініціалізації — щоб результат відтворювався до останнього знака.
  • Розмітка в початковому вигляді: знімки, мітки, поділ на навчальну, валідаційну та відкладену вибірки, журнал виключених кадрів і протокол контролю якості розмітки.
  • Звіт за метриками: якість на відкладеній вибірці, робоча точка за порогом спрацювання, частка хибних пропусків і хибних спрацювань, розбивка помилок за умовами зйомки — слабке світло, ракурс, закрите обличчя.
  • Документація з експлуатації: запуск розпізнавання, налаштування порогу під потрібний баланс помилок, вимоги до кадру, порядок обробки ембеддингів і зберігання біометричних даних.
  • Регламент перенавчання: які події запускають перезбирання — зростання частки відмов на нових людях, зміна камер або умов зйомки, розширення списку співробітників, — з якою періодичністю проводиться планова перевірка і як фіксується деградація якості.
  • Права на модель: письмово закріплена передача прав на ваги, на похідні моделі та на розмітку, а також перелік ліцензій відкритих компонентів, використаних у рішенні.

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

Кейс: прохідна з двома сценаріями, метрики до й після

На виробничому майданчику — чотири прохідні та близько двох тисяч співробітників.

Контроль доступу працював на моделі, навченій на відкритому наборі облич: на схожих співробітниках (родичі, однаковий спецодяг, окуляри, каски) вона давала хибні відмови, і охорона пропускала людей вручну.

У пікові години біля турнікетів накопичувалася черга. За зміну набігало понад сотню ручних перевірок, а частина співробітників із часом почала прикладати перепустку, не дивлячись у камеру, — статистика по системі перестала відображати реальність.

Що змінили

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

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

Метрики до й після

Показник До Після
Частка хибних відмов 7% 1,2%
Ручні перевірки за зміну в пік понад 100 близько 15
Проходи без зупинки 82% 97%

Розмітка й підібрані пороги перевикористовуються на інших точках доступу: кожна наступна прохідна підключається швидше за попередню і без збору датасету з нуля.

Що робити, якщо на об’єкті вже працює інша модель?

Працююча система — це не лише ваги моделі: навколо неї вже зібрані еталони облич, підібрані пороги рішення, зв’язки з обліковою системою та правила, за якими подія перетворюється на доступ.

Тому розвилка «змінювати чи дорощувати» вирішується не за якістю моделі як такої, а за тим, що саме перестало справлятися в поточному контурі.

Якщо деградація локальна — нові ракурси, освітлення, додана камера — донавчання ArcFace на цих даних закриває задачу без перезбирання бази еталонів.

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

Заміна моделі цілком — інший сценарій: новий вектор ознак несумісний зі старим, отже еталони перераховуються заново, пороги калібруються на розміченому наборі, а рішення звіряються з попереднім контуром, поки розбіжності не ввійдуть у допустимий коридор. Такий шлях виправданий, коли модель програє за класом задач, а не за окремими умовами зйомки.

Третій варіант — другий контур перевірки: нова модель рахує ознаку паралельно з працюючою, і рішення ухвалюється за згодою обох.

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

Перенесення напрацювань за будь-якого шляху однакове: розмітка, сценарії перевірки, історія спрацювань і зв’язки з обліковою системою перевикористовуються — заново збирається лише те, що прив’язано до ознак конкретної моделі.

Вибір шляху фіксуємо після заміру на накопиченій історії: порівнюємо частки пропусків і хибних спрацювань за кожною схемою на реальних камерах об’єкта.

Оновлення йде без зупинки роботи — попередня модель залишається в строю, поки нова не підтвердить результат на тому самому потоці.

Часті технічні питання перед стартом

Перед стартом навчання ArcFace замовники піднімають той самий набір технічних сумнівів: чи вистачить даних, чи законно зберігати біометрію, що буде під час зміни камер і як поводитиметься модель на кількох точках.

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

Чи вистачить даних і що робити з рідкісними ракурсами?

Орієнтуємося на десятки кадрів на людину в різних умовах — світло, поворот голови, окуляри, головний убір. Рідкісні ракурси добираємо з робочих камер і додаємо у вибірку: без цього хибні відмови припадають саме на них.

Як зберігаються біометричні дані й чи потрібна згода співробітників?

У базі лежить не фотографія, а числовий вектор ознак — відновити за ним зображення неможливо. Згоду оформлюємо окремим документом, доступ розмежовуємо за ролями, ведемо журнал звернень і видаляємо записи за заявою.

Що буде під час зміни камер і чи не деградує якість із часом?

Модель чутлива до сцени: кут, висота, освітлення, дистанція. Після заміни обладнання пороги підбираємо заново, а далі стежимо за часткою відмов — приходять нові люди, змінюється світло й сезонний одяг, тому періодично донавчаємо модель на поповненій вибірці.

Як система масштабується на кілька точок?

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

Обговоримо ваше завдання розпізнавання облич

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

  • Приклади даних з майданчика: 30–50 знімків або коротких фрагментів із тих самих камер, за того самого світла й ракурсів.
  • Склад людей: скількох людей розрізняти, скільки кадрів на кожного вже є або може бути зібрано.
  • Сценарій: контроль доступу, облік робочого часу, пошук за архівом — від цього залежить поріг спрацювання й логіка відмов.
  • Вимоги до якості: допустима частка пропусків і хибних спрацювань, реакція на окуляри, маски, головні убори.
  • Обмеження щодо даних: де зберігаються зображення, хто дає згоду, які правила знеособлення діють.
  • Інфраструктура: потік із камер або офлайн-обробка, обчислювальна база, стикування з наявною відеоаналітикою.
  • Межі етапу: пілотний майданчик або відразу всі об’єкти, критичні терміни, хто приймає результат.

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

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141