Как компютрите разпознават човешки лица?

В тази публикация в блога ще разгледаме по прост и ясен начин принципите и процесите, които стоят зад това как компютрите разпознават човешки лица.

 

Какви принципи са в основата на разпознаването на лица?

Вероятно поне веднъж като дете сте играли игра, в която е трябвало да нарисувате човешко лице. В тази игра първо избирате форма на лицето, след това избирате прическа, очи, нос и уста едно по едно и ги поставяте върху лицето. Като превключвате между различни прически, очи, носове и усти, можете да създадете лицето, което искате. Начинът, по който компютрите разпознават и сравняват лица, не е много по-различен от този. Компютрите идентифицират и съхраняват черти на лицето; когато се въведе нова снимка на лице, те я сравняват със съхранените черти, за да определят кой е човекът.
Скорошен пример за леснодостъпна технология за разпознаване на лица е приложението за разпознаване на лица (App). Тези приложения предварително извличат и съхраняват ключови характеристики – като контури на лицето, очи, носове и усти – от снимки на известни личности. По-късно, когато лицето на човек бъде заснето от камерата, приложението извлича черти на лицето по същия начин и ги сравнява със съхранените черти на лицето на известни личности, за да идентифицира и покаже човека, който най-много съвпада.

 

Как компютърът разпознава лице?

Сега нека разгледаме процеса на разпознаване на лица от компютъра. Разпознаването на лица се състои от четири основни етапа: въвеждане на данни, разпознаване на лица, извличане на характеристики и сравнение.
На етапа на въвеждане, един кадър от снимка или видеоклип се предава към компютъра чрез входно устройство. Обикновено, колкото по-висока е резолюцията на входното устройство и колкото по-висок е броят на кадрите в секунда (FPS), толкова по-точно могат да бъдат разпознати лицата. Този принцип е подобен на начина, по който човек с добро зрение може по-точно да разпознае лицето на някой, който стои далеч.
На етапа на разпознаване на лица, системата първо проверява дали има лице във входната снимка или видео. За целта тя идентифицира очертанията на лицето и ключови характеристики, като очи, нос и уста. Въпреки че в момента се използват различни техники за разпознаване на лица, тук ще се съсредоточим върху представителния метод за разпознаване, подобен на този на Хаар.
Методът за откриване, подобен на този на Хаар, използва Хаарови уейвлети. Уейвлетът е прост правоъгълен модел, съставен от черни и бели области. Тези черно-бели области се използват за идентифициране на области в изображението, където се наблюдават разлики в яркостта. Чрез прилагане на уейвлети с различни размери и форми върху цялото входно изображение или видео и след това запазване само на местата, където разликата в яркостта между черните и белите области е значителна, системата може ефективно да открие контура на лицето и ключови черти на лицето, като очи, нос, уста и вежди. Освен това, този процес позволява и извличане на позиционна информация относно чертите на лицето.
Например, когато се извлича информация за очите, черните области на вълната са позиционирани така, че да съответстват на относително тъмни области – като зеницата – докато белите области съответстват на светли области, като кожата. Чрез използване на тези разлики в яркостта, позицията и формата на очите могат да бъдат ефективно открити.

 

Как се извличат чертите на лицето?

След като етапът на разпознаване на лица приключи, системата определя дали да премине към етапа на извличане на характеристики.
В етапа на извличане на характеристики, чертите на лицето се извличат, за да се използват напълно компонентите на лицето, идентифицирани по време на етапа на разпознаване на лица. За разлика от етапа на разпознаване на лица, този процес включва стъпка на предварителна обработка. Тъй като ъгълът на завъртане, размерът и интензитетът на осветлението на лицата варират за всяка снимка или видеоклип, се извършва процес на нормализиране, за да се стандартизират максимално. Освен това, цветните снимки или видеоклипове могат да бъдат конвертирани в черно-бели изображения, ако е необходимо.
Например, оригиналната снимка се конвертира в сива скала, след което само областта на лицето се изрязва и преоразмерява до еднакъв размер, а хистограмата се изравнява, за да се коригира яркостта. Използвайки информацията за позицията на компонентите на лицето, получена по време на етапа на разпознаване на лица, чертите на лицето се извличат от снимките или видеоклиповете, които са преминали през тази предварителна обработка.

 

Как се използват извлечените черти на лицето?

По време на етапа на сравнение, информацията за тези извлечени лицеви компоненти се съхранява в база данни (БД) или се сравнява със съществуващи лицеви данни, за да се определи най-доброто съвпадение.
Вече разгледахме процеса на компютърно разпознаване на лица. Само преди няколко десетилетия идеята за компютър, който прави разлика между хората, изглеждаше като технология, далеч от реалността. С бързото развитие на компютърния хардуер, софтуер и технологиите за изкуствен интелект обаче, разпознаването на лица вече се използва широко в различни области – включително смартфони и лаптопи, както и контрол на достъпа, финансови услуги и сигурност на летищата. Днес технологията, която позволява на компютрите да разпознават човешки лица, вече не е история на бъдещето, а се е превърнала в технология, която е естествено интегрирана в нашето ежедневие.

 

За автора