paint-brush
Повећање података о лицу – 1. део: Геометријска трансформацијаод стране@ainur
282 читања

Повећање података о лицу – 1. део: Геометријска трансформација

од стране Ainur Gainetdinov3m2024/10/27
Read on Terminal Reader

Предуго; Читати

Учинак дубоких неуронских мрежа направио је велики корак напред у последње две деценије. Сваке године се осмишљавају нове архитектуре које побеђују врхунске резултате. Међутим, само побољшање архитектуре неће функционисати без квалитетног скупа података. Скуп података има велики утицај на коначни учинак. Прикупљање и означавање различитих, тачних скупова података може бити напорно и скупо, а постојећи скупови података обично не покривају читав низ стварне дистрибуције података, па се користе технике повећања података.
featured image - Повећање података о лицу – 1. део: Геометријска трансформација
Ainur Gainetdinov HackerNoon profile picture

Учинак дубоких неуронских мрежа направио је велики корак напред у последње две деценије. Сваке године се осмишљавају нове архитектуре које побеђују врхунске резултате. Међутим, само побољшање архитектуре неће функционисати без квалитетног скупа података. Скуп података има велики утицај на коначни учинак. Прикупљање и означавање различитих, тачних скупова података може бити напорно и скупо, а постојећи скупови података обично не покривају читав низ стварне дистрибуције података, па се користе технике повећања података.


У овом чланку ћу показати како се ваш скуп података људских лица може обогатити трансформацијом 3Д геометрије да би се побољшале перформансе вашег модела. Имплементација отвореног кода је дата испод[1].


Повећање података је техника која повећава количину података применом различитих модификација на узорке. Генеричко повећање слике може се поделити у две категорије: геометријске трансформације и трансформације боја. Геометријске трансформације се састоје од скалирања, исецања, окретања, ротације, превођења, итд. Док се трансформације боја састоје од подрхтавања боја, додавања шума, сивих скалирања, подешавања осветљености/контраста итд.


Хајде да размислимо о томе како можемо да повећамо слику ако знамо да постоји људско лице. Како разликујемо једну особу од друге? Постоје црте лица које чине идентитет, као што су боја коже, облик лица, фризура, боре, боја очију, итд. Један од најистакнутијих је облик лица.


Дакле, ако променимо облик улазне слике лица, биће нешто другачија особа за модел који се може обучити. Дакле, хајде да користимо ово својство да повећамо наш скуп података.


Изменићемо геометрију лица коришћењем 3Д Морфабле модела (3ДММ), посебно ФЛАМЕ[2] модела. 3ДММ је тродимензионална мрежа која има параметре за манипулисање својим обликом, позом и изразом. 3ДММ је конструисан од тродимензионалних мрежа које су регистровали стварни људи.


Дакле, може представљати дистрибуцију стварних облика лица. Испод хаубе, састоји се од средњег облика и скупа главних компоненти које одређују правце промене облика и израза. Алфа и бета су параметри модела.


Пре него што променимо облик лица, морамо да пронађемо параметре 3ДММ-а који одговарају нашој улазној фотографији. Постоји неколико метода за то, као што је оптимизација према оријентирима, фотометријска оптимизација или регресиони модели за предвиђање параметара у једном кораку. Користио сам 2Д оптимизацију оријентира јер има једноставну имплементацију и даје тачне резултате у разумном времену.


Оријентири лица су откривени на улазној слици помоћу Длиб модела детекције лица. Адамов алгоритам оптимизације је коришћен са губитком МСЕ за оријентире како би се 3ДММ уклопио у слику лица. Било је потребно око 150 итерација да се конвергирају.


Сада смо спремни да изменимо геометрију лица. Пре свега, већ имамо тродимензионалну мрежу усклађену са сликом нашег лица. Промена параметара облика 3ДММ-а доводи до померања врхова мреже у простору слике. Знајући да се то помера, можемо га користити за померање пиксела слике.


Да бих добио густу мапу померања, користио сам ОпенГЛ библиотеку, где сам приказао 3ДММ мрежу са помацима у к и и смеровима уместо боје темена. Остаје још једна ствар коју треба размотрити, како се носити са пикселима који су били изван подручја мреже лица.


У ту сврху користио сам екстраполацију, која глатко повезује промењено лице са статичком позадином. Све док имамо густе мапе померања за к и и правце, можемо их применити на било коју врсту етикете као што су оријентири лица, маске за сегментацију или упарене слике. На слици испод можете видети примере повећања лица геометријском трансформацијом. Ако желите да сазнате више детаља, позивам вас на изворни код[1].



Сада то можете испробати на својим скуповима података. Ова техника повећања ће вам помоћи да побољшате модел чинећи га стабилним на варијације уноса. У овом чланку смо научили о 3Д геометријској трансформацији, али осим ње, постоје и модификације текстуре које су даља побољшања скупова података лица, што је у следећем чланку.


Референце

[1] ГитХуб код. хттпс://гитхуб.цом/аинур699/фаце_дата_аугментатион

[2] ФЛАМЕ модел. хттпс://фламе.ис.туе.мпг.де/индек.хтмл