Як працює розпізнавання осіб комп'ютером

  1. Алгоритми (технології)
  2. 1. Знайти
  3. 2. Спростити
  4. 3. Пізнати
  5. Живий грим (мистецтво)
  6. Олександр Ханін, засновник і генеральний директор VisionLabs
  7. Фейс-хакинг (активізм)

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

Алгоритми (технології)

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

1. Знайти

Спроби навчити комп'ютер знаходити обличчя на фотографіях проводилися ще з початку 1970-х років. Було випробувано безліч підходів, але найважливіший прорив стався значно пізніше - зі створенням в 2001 році Полом Віолою і Майклом Джонсом методу каскадного бустінга, тобто ланцюжка слабких класифікаторів. Хоча зараз є і більш хитрі алгоритми, можна посперечатися, що і в вашому стільниковому телефоні, і в фотоапараті працює саме старий добрий Віола - Джонс. Вся справа в чудовій швидкості і надійності: навіть в далекому 2001 році середній комп'ютер за допомогою цього методу міг обробляти по 15 знімків в секунду. Сьогодні ефективність алгоритму задовольняє всім розумним вимогам. Головне, що потрібно знати про цей метод, - він влаштований дивно просто. Ви навіть не повірите наскільки.

  1. Крок 1. Прибираємо колір і перетворюємо зображення в матрицю яскравості.
  2. Крок 2. Накладаємо на неї одну з квадратних масок - вони називаються ознаками Хаара. Проходимся з нею по всьому зображенню, змінюючи положення і розмір.
  3. Крок 3. Складаємо цифрові значення яскравості з тих осередків матриці, які потрапили під білу частину маски, і віднімаємо з них ті значення, що потрапили під чорну частину. Якщо хоча б в одному з випадків різниця білих і чорних областей виявилася вище певного порогу, беремо цю область зображення в подальшу роботу. Якщо немає - забуваємо про неї, тут особи немає.
  4. Крок 4. Повторюємо з кроку 2 вже з новою маскою - але тільки в тій області зображення, яка пройшла перше випробування.

Чому це працює? Подивіться на ознака [1]. Майже на всіх фотографіях область очей завжди трохи темніше області безпосередньо нижче. Подивіться на ознака [2]: світла область посередині відповідає переніссі, розташованої між темними очима. На перший погляд чорно-білі маски зовсім не схожі на обличчя, але при всій своїй примітивності вони мають високу узагальнюючу силу.

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

Як зібрати каскад? Хоча кожен етап накладення маски дає дуже велику помилку (реальна точність ненабагато перевищує 50%), сила алгоритму - в каскадної організації процесу. Це дозволяє швидко викидати з аналізу області, де особи точно немає, і витрачати зусилля тільки на ті області, які можуть дати результат. Такий принцип складання слабких класифікаторів в послідовності називається бустінгом (докладніше про нього можна прочитати в жовтневому номері «ПМ» або тут ). Загальний принцип такий: навіть великі помилки, будучи перемножити один на одного, стануть невеликі.

2. Спростити

Знайти особливості особи, які дозволили б ідентифікувати його власника, означає звести реальність до формули. Йдеться про спрощення, причому вельми радикальному. Наприклад, різних комбінацій пікселів навіть на мініатюрному фото 64 x 64 пікселя може бути величезна кількість - (28) 64 x 64 = 232 768 штук. При цьому для того, щоб пронумерувати кожного з 7,6 млрд людей на Землі, вистачило б всього 33 біта. Переходячи від однієї цифри до іншої, потрібно викинути весь сторонній шум, але зберегти найважливіші індивідуальні особливості. Фахівці за статистикою, добре знайомі з такими завданнями, розробили безліч інструментів спрощення даних. Наприклад, метод головних компонент, який і заклав основу ідентифікації осіб. Втім, останнім часом згорткові нейромережі залишили старі методи далеко позаду. Їх будова досить своєрідно, але, по суті, це теж метод спрощення: його завдання - звести конкретне зображення до набору особливостей.

Крок 1 Накладаємо на зображення маску фіксованого розміру (правильно вона називається ядром згортки), перемножуємо яскравість кожного пікселя зображення на значення яскравості в масці Крок 1 Накладаємо на зображення маску фіксованого розміру (правильно вона називається ядром згортки), перемножуємо яскравість кожного пікселя зображення на значення яскравості в масці. Знаходимо середнє значення для всіх пікселів в «віконці» і записуємо його в одну клітинку наступного рівня.

Крок 2 Крок 2. Зрушуємо маску на фіксований крок, знову перемножуємо і знову записуємо середнє в карту ознак.

Крок 3 Крок 3. Пройшовшись по всьому зображенню з одного маскою, повторюємо з іншого - отримуємо нову карту ознак.

Крок 4 Крок 4. Зменшуємо розмір наших карт: беремо кілька сусідніх пікселів (наприклад, квадрат 2x2 або 3x3) і переносимо на наступний рівень тільки одне максимальне значення. Те ж саме проводимо для карт, отриманих з усіма іншими масками.

Крок 5, 6 Крок 5, 6. З метою математичної гігієни замінюємо всі негативні значення нулями. Повторюємо з кроку 2 стільки раз, скільки ми хочемо отримати шарів в нейромережі.

Крок 7, 8 Крок 7, 8. З останньої карти ознак збирають не сверточное, а повнозв'язну нейросеть: перетворюємо все осередки останнього рівня в нейрони, які з певною вагою впливають на нейрони наступного шару. Останній крок. У мережах, навчених класифікувати об'єкти (відрізняти на фото кішок від собак та ін.), Тут знаходиться вихідний шар, тобто список ймовірностей виявлення того чи іншого відповіді. У випадку з особами замість конкретної відповіді ми отримуємо короткий набір найважливіших особливостей особи. Наприклад, в Google FaceNet це 128 абстрактних числових параметрів.

3. Пізнати

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

Чому це працює? Сверточное нейросеть «заточена» на те, щоб витягувати з зображення найхарактерніші риси, причому робити це автоматично і на різних рівнях абстракції. Якщо перші рівні зазвичай реагують на прості патерни на кшталт штрихування, градієнта, чітких меж і т. Д., То з кожним новим рівнем складність ознак зростає. Маски, які нейросеть приміряє на високих рівнях, часто дійсно нагадують людські обличчя або їх фрагменти. Крім того, на відміну від методу головних компонент, нейромережі комбінують ознаки нелінійним (і несподіваним) чином.

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

Чия нейросеть краще? Ідентифікація осіб давно вже вийшла з академії в великий бізнес. І тут, як і в будь-якому бізнесі, виробники прагнуть довести, що саме їх алгоритми краще, хоча не завжди приводять дані відкритого тестування. Наприклад, за інформацією конкурсу MegaFace, в даний час кращу точність показує російський алгоритм deepVo V3 компанії «Вокорд» з результатом в 92%. Гуглівський FaceNet v8 в цьому ж конкурсі показує всього 70%, а DeepFace від Facebook із заявленою точністю в 97% в конкурсі зовсім не брав участі. Інтерпретувати такі цифри потрібно з обережністю, але вже зараз зрозуміло, що кращі алгоритми майже досягли людської точності розпізнавання осіб.

Живий грим (мистецтво)

Взимку 2016 року у 58-й щорічній церемонії вручення нагород «Греммі» Леді Гага виконала триб'ют померлому незадовго до того Девіду Боуї. Під час виступу по її обличчю розтеклася жива лава, залишивши на лобі і щоці впізнаваний усіма шанувальниками Боуї знак - помаранчеву блискавку. Ефект рухається гриму створювала відеопроекція: комп'ютер відстежував руху співачки в режимі реального часу і проектував на обличчя картини, враховуючи його форму і положення. У Мережі легко знайти відеоролик, на якому видно, що проекція ще недосконала і при різких рухах злегка запізнюється.

Технологію відеомаппінга осіб Omote Нобумічі Асаи розвиває з 2014 року і вже з 2015-го активно демонструє по всьому світу, зібравши пристойний список нагород. Заснована ним компанія WOW Inc. стала партнером Intel і отримала хороший стимул для розвитку, а співпраця з Ішикави Ватанабе з Токійського університету дозволило прискорити проекцію. Втім, основне відбувається в комп'ютері, і схожі рішення використовують багато розробників додатків, що дозволяють накладати на обличчя маски, будь то шолом солдата Імперії або грим «під Девіда Боуї».

Олександр Ханін, засновник і генеральний директор VisionLabs

Олександр Ханін, засновник і генеральний директор VisionLabs

«Подібної системі не потрібен потужний комп'ютер, накладення масок може проводитися навіть на мобільних пристроях. Система здатна працювати прямо на смартфоні, без відправки даних в хмару або на сервер ».

«Це завдання називається трекингом точок на обличчі. Є багато подібних рішень і у відкритому доступі, але професійні проекти відрізняються швидкістю і фотореалістичністю, - розповів нам глава компанії VisionLabs Олександр Ханін. - Найскладніше при цьому полягає у визначенні положення точок з урахуванням міміки і індивідуальної форми особи або в екстремальних умовах: при сильних поворотах голови, недостатнього освітлення і великий засветке ». Щоб навчити систему знаходити точки, нейронну мережу навчають - спочатку вручну, скрупульозно размечая фотографію за фотографією. «На вході це картинка, а на виході - розмічений набір точок, - пояснює Олександр. - Далі вже запускається детектор, визначається особа, будується його тривимірна модель, на яку накладається маска. Нанесення маркерів здійснюється на кожен кадр потоку в режимі реального часу ».

Приблизно так і працює винахід Нобумічі Асаи. Попередньо японський інженер сканує голови своїх моделей, отримуючи точні тривимірні прототипи і готуючи відеоряд з урахуванням форми обличчя. Завдання полегшують і невеликі маркери-відбивачі, які клеять на виконавця перед виходом на сцену. П'ять інфрачервоних камер стежать за їхніми рухами, передаючи дані трекінгу на комп'ютер. Далі все відбувається так, як нам розповіли в VisionLabs: особа детектується, будується тривимірна модель, і в справу вступає проектор Ішикави Ватанабе.

Пристрій DynaFlash було представлено їм у 2015 році: це високошвидкісний проектор, здатний відстежувати і компенсувати руху площині, на якій відображається картинка. Екран можна нахилити, але зображення не спотвориться і транслюватиметься з частотою до тисячі 8-бітних кадрів в секунду: запізнювання не перевищує непомітних оку трьох мілісекунд. Для Асаи такий проектор виявився знахідкою, живий грим став працювати дійсно в режимі реального часу. На ролику, записаному в 2017 році для популярного в Японії дуету Inori, відставання вже зовсім не видно. Особи танцівниць перетворюються то в живі черепа, то в засмучені маски. Це виглядає свіжо і привертає увагу - але технологія вже швидко входить в моду. Скоро метелик, що сіла на щоку провідною прогнозу погоди, або виконавці, кожен раз на сцені змінюють зовнішність, напевно стануть звичайною справою.

Скоро метелик, що сіла на щоку провідною прогнозу погоди, або виконавці, кожен раз на сцені змінюють зовнішність, напевно стануть звичайною справою

Фейс-хакинг (активізм)

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

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

На щастя, комп'ютерне зір поки не настільки досконало, як наше, що залишає велику свободу у виборі кольорів і форм такого «камуфляжу»

Рожеві та фіолетові, жовті і сині тони домінують в лінійці одягу HyperFace, перші зразки якої дизайнер Адам Харві і стартап Hyphen Labs представили в січні 2017 року. Піксельні патерни надають машинного зору ідеальну - з її точки зору - картинку людського обличчя, на яку комп'ютер ловиться, як на помилкову мету. Кілька місяців по тому московський програміст Григорій Бакунов і його колеги навіть розробили спеціальний додаток, яке генерує варіанти макіяжу, що заважає роботі систем ідентифікації. І хоча автори, подумавши, вирішили не викладати програму у відкритий доступ, той же Адам Харві пропонує кілька готових варіантів.

І хоча автори, подумавши, вирішили не викладати програму у відкритий доступ, той же Адам Харві пропонує кілька готових варіантів

Людина в масці або з дивною гримом на обличчі, може, і буде непомітний для комп'ютерних систем, але інші люди напевно звернуть на нього увагу. Однак з'являються способи зробити і навпаки. Адже з точки зору нейромережі зображення не містить образів в звичайному для нас розумінні; для неї картинка - це набір чисел і коефіцієнтів. Тому абсолютно різні предмети можуть виглядати для неї чимось цілком подібним. Знаючи ці нюанси роботи ІІ, можна вести більш тонку атаку і підправляти зображення лише злегка - так, що людині зміни будуть майже непомітні, зате машинне зір обманеться повністю. У листопаді 2017 року дослідники показали, як невеликі зміни в забарвленні черепахи або бейсбольного м'яча змушують систему Google InceptionV3 впевнено бачити замість них рушниця або чашку еспресо. А Махмуд Шаріф і його колеги з Університету Карнегі - Меллон спроектували плямистий візерунок для оправи окулярів: на сприйняття особи оточуючими він майже не впливає, а от комп'ютерна ідентифікація засобами Face ++ впевнено плутає його з особою людини, «під якого» спроектований патерн на оправі.

Стаття «На обличчі написано» опублікована в журналі «Популярна механіка» ( №12, Листопад 2017 ).

Чому це працює?
Чому так швидко?
Як зібрати каскад?
Чому це працює?
Звідки беруться маски?
Чия нейросеть краще?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: