Стаття Технології — 01 липня, 2020

Штучний інтелект з людським обличчям

ТЕКСТ:

ІЛЮСТРАЦІЇ: Каталіна Маєвська

Хотіли б подивитися всі частини «Гаррі Поттера» з собою у головній ролі? Легко. Український стартап RefaceAI розробляє інструмент, який змінює обличчя у відео та фото для створення персоналізованого контенту. Як штучний інтелект допомагає цьому процесу та які перспективи й підводні камені має технологія, розповідає співзасновник компанії Олесь Петрів.

Три кити систем розпізнавання облич

Перш ніж говорити про розпізнавання облич (face recognition), потрібно окреслити, що мається на увазі. Коли ми кажемо «розпізнати людину», це означає, що в нас є база фотографій певної кількості людей і зображення, відео або 3D-скан з тією людиною, яку ми шукаємо. Коли ми вказуємо, що ця людина є в нашій базі під номером таким-то, тоді ми розпізнаємо її. Якщо немає бази даних, то про розпізнавання йтися не може.

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

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

Отримавши вхідну фотографію, нейромережа перетворює пікселі зображення на набір чисел – числовий вектор. Результат такого процесу називається ембеддінгом (embedding). Це процес проєкції зображення в певний багатовимірний простір. Як правило, це 512- або 1024-вимірний простір. У тривимірному просторі точка має три координати що однозначно її локалізують (x,y,z). Відповідно, в чотиривимірному – чотири тощо. Унікальні риси обличчя ми параметризуємо 512 або більше координатами. І, попри те, що уявити собі, як виглядає такий багатовимірний простір, досить важко, математика працює однаково у дво-, три- або 512-вимірному просторі. У будь-якому разі ми можемо порахувати кут між векторами. Коли кут між векторами двох зображень – мінімальний, то це обличчя належить одній людині. Якщо кут буде більшим ніж певне критичне значення, то ми матимемо справу зі зображеннями двох різних людей.

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

Розпізнавання обличчя на пальцях

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

По-перше, натренувати нейромережу на великій базі даних, необов’язково тільки студентів. Головне, щоб датасет був варіативним. Що більше в ньому буде зображень людей різної раси, статі, віку, за різних умов освітлення, то більша ймовірність того, що система правильно розпізнає студентів. Попри стрімкий розвиток, «упереджені» дані () – актуальна проблема. Часто системи розпізнавання обличчя досить точно визначають білих чоловіків, а от жінок, ще й чорношкірих, – гірше. Все залежить від якості та варіативності датасету.

На другому етапі, коли камера відеоспостереження визначає студента, спочатку відбувається face detection – виявлення обличчя, оскільки камера фіксує картинку довкола: у кадрі може бути декілька людей, хтось може ходити, хтось повертатися. Тому система «детектить» квадрат довкола обличчя і каже: «Ось тут є якесь обличчя». Після цього з усього кадру вирізається та частинка, де зафіксовано потрібне обличчя.

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

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

Нафта XXI століття

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

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

У машинному навчанні 80% успіху забезпечують не алгоритми, не нейромережі, не геніальні рішення, а якість даних. Ідеальні датасети трапляються рідко. Деякі ініціативні групи роками вичищають набори даних для наукових досліджень. Деякі закриті датасети розробляються всередині великих корпорацій, на них витрачають мільйони доларів і їх захищають, як неймовірну цінність. На якісному датасеті можна зробити будь-який алгоритм. На ринку існує багато стартапів зі збору й вичищання даних. Це нафта XXI століття.

Щоб зібрати великий датасет, потрібно багато часу. Корпорації або великі мережі починають збирати дані ще за п’ять років до того, як вони візьмуться реалізовувати їх. Зокрема, великі мережі супермаркетів назбирують купу даних з камер відеоспостереження за кілька років. Ці компанії можуть легко отримати вигоду від володіння такою кількістю даних: розробити і тренувати свої алгоритми або продати їх. Є багато компаній і стартапів, які «голодні» до даних, бо купити датасет – дорого, а на той, який може бути у вільному доступі, часто немає права для комерційного використання. Буває й таке, що набори даних однієї компанії не підходять для іншої. Так, дані американських супермаркетів можуть не працювати на українському ринку.

Пожинаємо плоди

Залежно від того, де використовується система розпізнавання облич, послідовність і кількість операцій (pipelines) може відрізнятися. Коли потрібно верифікувати власника комп’ютера, то завдання системи – не максимально точно розпізнати конкретну людину серед мільйона інших, а не дозволити надання доступу не власнику комп’ютера. Тобто ланцюжок процесів, які виконує алгоритм, підпорядковується завданню, яке вирішує технологія.

Наприклад, нам потрібно розпізнати небезпечного злочинця. Тоді завдання системи – максимально точно підібрати в базі даних людей, які можуть бути цим злочинцем. Адже розумніше дати системі команду шукати людей, максимально подібних до підозрюваного, а не вимагати від алгоритму 100% збігів. Їх просто може не бути.

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

У RefaceAI ми розробляємо технологію заміни обличчя (face swap) на фотографіях, гіфках і відео. Наприклад, ви зможете подивитися серіал з будь-яким актором або собою у головній ролі. Рік тому Ілон Маск запостив у своєму твіттері зображення, де обличчя Двейна Джонсона було замінене на Маска за допомогою нашого сервісу.

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

Наша технологія створює якісні глибинні фейки в один клік. Ми генеруємо нові зображення, а не «наклеюємо» одне обличчя на інше обличчя у відео. Це відбувається за допомогою системи розпізнавання обличчя та технології генеративних змагальних мереж GAN (Як використовують технологію GAN для створення глибинних фейків, Куншт розповідав тут – прим. ред.).

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

Глибинні фейки – перспективна технологія, яка відкриває нові можливості для творців контенту, наприклад. Однак поки незрозуміло, як регулювати цю сферу. Воювати з технологією юридично часто безглуздо. Ми подумали і вирішили: якщо хочеш щось побороти, потрібно очолити це. Наша система вбудовує у відео цифровий водяний знак. Будь-хто на нашому ресурсі може завантажити відео й отримати підтвердження, що воно зроблене нашою системою. До того ж можна буде дізнатися ID користувача, що зробив це відео, адже щоб використовувати нашу технологію, потрібно створити платний акаунт, тобто деанонімізувати себе. Перед тим, як вводити людей в оману або робити щось потенційно незаконне, потрібно буде двічі подумати. Це приклад того, як виводити на ринок технологію, яку можуть неправильно використовувати.

Наразі ринок технології розпізнавання на обличчі коштує мільярди доларів. Протягом 2019-2029 років прогнозують ще 24% зростання.1 Ця сфера настільки гігантська, що складно назвати основних гравців на ринку. Але точно можу сказати, що на світовому ринку першість має Китай. Китайці вкладають мільярди в технології розпізнавання і не тільки за обличчям, але і за ходою, темпом голосу, навіть за покупками в супермаркеті. Залежно від сфери застосування будуть різні лідери. Компанії досягають дуже крутих результатів у вузькій сфері. Майже нереально бути експертом одночасно у всіх галузях. Є й такі, що створюють геніальні рішення, які потім переймають сотні подібних компаній, однак про самих «винахідників» часто нічого не знають.

Посилання:

  1. Прогноз росту ринку технологій розпізнавання обличчя

Популярні статті

Стаття Суспільство — 27 березня

Як Росія завойовувала вплив у країнах Африки

Стаття Космос - 29 лютого

Куншткамера з Девідом Сперґелом про реліктове випромінювання, НАЯ (НЛО) та співпрацю з українськими науковцями

Стаття Пост правди - 25 березня

Пост правди, епізод 7: Анонімність в телеграмі