Elektronika.lt

Elektronika.lt - elektronikos, informacinių ir
ryšių technologijų portalas

Adresas: http://www.elektronika.lt
El. paštas: info@elektronika.lt
 Atspausdinta iš: http://www.elektronika.lt/straipsniai/kompiuterija/590/budingu-veido-tasku-isskyrimas-dvimaciame-vaizde/spausdinti/

Būdingų veido taškų išskyrimas dvimačiame vaizde

Publikuota: 2005-02-18 07:36
Tematika: Kompiuteriai, IT
Skirta: Profesionalams
Autorius: el. paštas D. Dervinis
Aut. teisės: el. paštas ©Elektronika ir elektrotechnika
Inf. šaltinis: el. paštas Elektronika ir elektrotechnika

Apžvelgiami būdingų veido taškų radimo ir galvos išskyrimo kadre metodai ir aprašomi galvos ir veido antropomorfinės proporcijos, kurios naudojamos būdingiems veido taškams surasti. Metodų tikslumas nėra didelis, tačiau juos galima būtų taikyti automatizuotose veido sekimo bei mimikų nustatymo sistemose.


Įvadas

Veido bruožai suteikia daug informacijos apie žmogaus lytį, amžių, nuotaiką, psichofiziologinę būseną. Šiuo metu viena iš tyrinėjamų sričių − asmenybės identifikavimas. Ieškoma būdų, kaip turimą žmogaus veido atvaizdą, įvestą į kompiuterį, palyginti su turimu bazėje ir nustatyti tapatybę. Identifikacijai taikoma veido atpažinimo sistema yra saugesnė nei slaptažodžiai ar kortelės, nes juos galima pamiršti, pamesti ar kitaip prarasti. Be to automatizuotos apsaugos sistemos yra pranašesnės už žmones: žmogus nuo ilgalaikio stebėjimo pavargsta, o automatizuota sistema ne.

Kita sritis – žmogaus ir mašinos sąsaja ir valdymas yra pagrįsta žmogaus veido išraiškomis, akies mirksniais, galvos posūkiais ir t. t. Galimybė realiu laiku tiksliai nustatyti žmogaus galvos koordinates erdvėje, galvos posūkio kampą, veido mimikas palengvintų kompiuterio (mašinos) valdymą, mašina galėtų reaguoti ne tik į žmogaus paspaustus klavišus, bet ir į veido išraišką, galvos posūkį.

Kiti galimi veido atpažinimo metodų taikymai:

  • Teikiant finansines paslaugas (bankomatuose, prekyboje, elektroniniuose kioskuose).
  • Sveikatos apsaugoje (informacijai apie pacientus apsaugoti, identifikuoti naujagimiams ligoninėse).
  • Teritorijos apsaugai (įėjimas į pastatus, sandėlius, laboratorijas, gamybines patalpas farmacijos įmonėse, kalėjimus, aerouostus).
  • Vyriausybinėse organizacijose (sienų apsaugai, pasų kontrolei, balsuotojams registruoti per rinkimus).
  • Kompiuterinėse sistemose (prisijungimo prie kompiuterių saugumui užtikrinti).
  • Ateities žmogaus ir mašinos sąsajoje.
  • Teisėsaugoje (vairuotojo pažymėjimams tikrinti, įtariamiesiems ir nusikaltėliams gaudyti).

Veido analizavimo metodai

Žmogaus veidas yra labai sudėtingas ir individualus objektas. Dėl skirtingų išraiškų, padėties, apšviestumo kitimo universalių metodų jam identifikuoti nėra. Vieni metodai randa galvos kontūrą grupinėse nuotraukose [1], išskiria galvos kontūrą ir nustato galvos posūkio kampą, išskiria veido taškus [2,3].

Atpažinimui naudojami tokie metodai:

  • vaizdu pagrįsti,
  • požymiais pagrįsti,
  • kombinuoti.

Vaizdu pagrįsti metodai nagrinėja vaizdą kaip taškų aibę su tam tikrais pilkumo atspalviais. Požymiais pagrįsti metodai nagrinėja antropomorfines veido savybes, jo geometriją. Dažniausiai yra naudojami kombinuoti metodai, kai išskiriamos požymių sritys, kurioms taikomi vaizdu pagrįsti algoritmai.

Vieni algoritmai vaizde ieško specifinių veido savybių. Šio tipo algoritmai prieš darbą turi būti apmokomi su tam tikru kiekiu vaizdų. Kiekvienam veidui reikalingas vienas arba keli atvaizdai. Tokie algoritmai dažniausiai yra realizuojami neuroniniais tinklais [3,4]. Kiti algoritmai pagal iš anksto aprašytas taisykles identifikuoja vaizde tam tikrus veido taškus [5].

Veido būdingi taškai ir jų savybės

Veidas yra sudėtingas objektas, sudarytas iš daug elementų, kurie yra labai individualūs kiekvienam žmogui. Tai yra veido forma, plaukų ilgis ir spalva, veido plaukuotumas, akių, nosies, lūpų forma ir kitos detalės. Gauto vaizdo apdorojimui didelę įtaką turi techninės priemonės, apšviestumas, šešėliai, filmavimo (fotografavimo) kampas, kontrastingumas, jei kadras spalvotas, − spalvų balansas ir t. t.

Veidui identifikuoti yra pasirenkama keletas reikšmingų taškų. Paprastai tai būna su veido oda kontrastuojančios zonos. Dažniausiai pasirenkama: antakiai, akys (vyzdys su rainele), lūpos, nosis (1 pav.).


1 pav. Būdingi veido taškai: 1 − antakiai, 2 − akys ir akių vyzdys su rainele, 3 − nosies kontūras ir ertmės, 4 − lūpos

Būdingi veido taškai aptinkami stačiakampyje [h x v] pav.). Čia h – veido plotis, v – veido aukštis.

Horizontalus akių paieškos intervalas:

vertikalus akių paieškos intervalas:

horizontalus nosies ertmių paieškos intervalas:

vertikalus nosies ertmių paieškos intervalas:



2 pav. Zonos, kuriose randama būdingų veido taškų

Taip pat galioja tokie sąryšiai:

Pirma:

Antra: atstumas tarp akių vyzdžių yra lygus skirtumui tarp akies ir lūpų horizontalių linijų (2 pav. linijos = =).

Būdingi veido taškų išskyrimas dvimačiame vaizde

Šiame straipsnyje aprašytas algoritmas naudoja kombinuotą, vaizdais pagrįstą ir požymiais pagrįstą metodus. Aprašytas metodas bus taikomas, kuriant programinę įrangą, skirtą realiu laiku būdingiems veido taškams sekti ir koordinatėms fiksuoti.

Veido būdingų taškų bruožai bus aptinkami pagal 3 paveiksle parodytą algoritmą.

Kadro formatas. Galvos nespalvoto vaizdo informaciją turime dvimačiame masyve Z, kurio dydis [a,b]. Kiekvieno masyvo elemento vertės priklauso pustonių tarp juodos ir baltos spalvos aibei:

Nuotraukos fonas turi būti vienalytis (4 pav., a):

t − fono nevienalytiškumo koeficientas: jis turi būti t<100. Taip pat fono taškų šviesumo vertės turi priklausyti šviesių tonų aibei:



3 pav. Veido būdingų taškų radimo algoritmas

Pirma sukuriamas naujas vaizdo masyvas N, į kurį patenka juodos spalvos vertės (0), jei atitinkamo taško vertė viršija slenkstinę vertę r. Kiti taškai gauna baltos spalvos kodą(255):

Gaunamas 4 paveiksle, b, parodytas rezultatas. Taškai, kurie viršijo nustatytą slenkstį, tampa juodi, taškai, kurių vertės mažesnės už nustatytąjį, − balti. Šis pirminis apdorojimas leidžia panaikinti foną ir kitus triukšmus.


4 pav. Pradinis kadras (a), kadras po pirminio apdorojimo (b)

Galvos kontūro radimas. Galvos kontūrui aptikti pasirinktas vaizdais pagrįstas metodas.

Pirmiausia yra nustatoma viršutinė galvos kontūro dalis, sumuojant kiekvienos eilutės taškų ryškius:

Gautame vektoriuje galvos_v, surandamas pirmasis maksimumas:

galvos_eil − viršutinė galvos viršugalvio eilutė.

Toliau kadras yra skenuojamas eilutėmis iš kairės į dešinę. Kiekvienoje eilutėje ieškoma pirmo taško, kurio vertė mažesnė už 255: N(x,y)< 255. Sudaroma veido kairiojo kontūro taškų vektorius k. Taip pat skenuojama iš dešinės į kairę. Gaunamas veido dešiniojo kontūro taškų vektorius d.

Gauti kontūrų vektoriai k ir d tikrinami, ar nėra skenuojant į juos patekusių taškų, kurie nepriklauso veido kontūrui:

Pagal gautus galvos kontūrų taškus sukuriame naują galvos dvimatį masyvą G (galvos apatinė dalis randama pagal santykį (5)):

Akių paieška. Akių zona a_z randama iš (1) ir (2) priklausomybių (5 pav). Šiai zonai analizuoti naudojamas pirminis vaizdo masyvas Z su juodais ir baltais pustoniais. Akių vyzdys su rainele yra tamsių spalvų, artimos juodai spalvai. Parenkama vyzdžio su rainele galimų taškų verčių aibė S ∈ [0,60] (remiantis viso kadro taškų šviesumo histograma galima aibės ribas koreguoti).


5 pav. Akių zona išskirta pagal veido proporcijas

Stulpeliuose ir eilutėse apskaičiuojame taškus, kurie tenkina aibę S:

čia t_s_eil − taškų skaičius eilutėje, t_s_st − taškų skaičius stulpelyje. Pagal gautus duomenų masyvus nubraižome grafikus (6 pav.)

Gauti maksimumai 6 paveiksle, a, − vyzdžio eilutė, 6 paveiksle, b, − vyzdžių stulpeliai.

Vyzdžių x ir y koordinatės nustatomos iš 6 paveikslo grafikų maksimumų paieškos metodu. Laikome, kad kairės ir dešinės akių y koordinatė sutampa (t. y. galva nebuvo pakreipta į šoną). Galutinės akių koordinatės:

čia k_a − kairės akies koordinatės; d_a − dešinės akies koordinatės.


6 pav. Akių zonos (a) taškų, tenkinančių aibę S, kiekis eilutėje (b) taškų, tenkinančių aibę S, kiekis stulpelyje

Lūpų paieška. Lūpų linijos centras − x koordinatė yra vidurys tarp vyzdžių apskaičiuojamas pagal formulę:

Pagal 2 paveikslo parodytas veido proporcijas randame lūpų y koordinatę:

čia l_y − lūpų linijos y koordinatė. Pagal gautas koordinates išskiriame lūpų paieškos zoną (6 pav., a).

Tikslų lūpų kontūrą galime rasti įvairiais metodais: aktyvių kontūrų (snake) [6], gradientiniais Canny ar Sobel metodais. Pasirinktas Canny metodas. Gradientiniu Canny metodu išskiriame lūpų kontūrą (7 pav., b) ir nustatome lūpų kampų koordinates (7 pav., c)


7 pav. Lūpų kontūro paieška: a − lūpų zonos išskyrimas; b − tikslaus lūpų kontūro radimas gradientiniu Canny metodu; c − lūpų kampų koordinačių nustatymas (+)

Nosies ertmių nustatymas. Nosies ertmes ne visada pavyksta nustatyti. Labai daug reikšmės turi apšviestumas ir galvos posūkio kampas (vertikalus ir horizontalus). Nosies ertmių paieškos zona, randama iš (4) priklausomybės. Zonoje atliekamas gradientinis apdorojimas ir maksimumų paieška.

Rezultatas

Išanalizavę kadrą gauname 8 paveiksle parodytą galvos vaizdą su pažymėtais būdingais taškais: akys, lūpos, nosies ertmės.


8 pav. Kadro analizės rezultatas − kadras su rastais būdingais taškais +

Metodo tikslumo tyrimai. Metodo tikslumui ištirti buvo panaudotos 25 įvairios spalvotos ir nespalvotos portretinės nuotraukos. Buvo vertinama atskirai kiekvieno bruožo išskyrimas. Laikoma, kad nuotraukoje būdingi taškai rasti teisingai, jei teisingai yra nustatytas: veido kontūras, akių vyzdžiai ir lūpų kontūras (lūpų kampai). Gautas bendras 81 % tikslumas. Tai nėra aukštas rodiklis (yra sukurta metodų, kurie leidžia pasiekti iki 99 % tikslumą).


9 pav. Aprašyto metodo tikslumo įvertinimas

Išvados

Šiame darbe išanalizuotas metodas yra pakankamai tikslus veido būdingiems taškams atpažinti. Kuriant realaus laiko automatines galvos kampo posūkio nustatymo sistemas ar mimikos atpažinimą, galima sudaryti reikalingas sąlygas, t. y. sukurti vienalytį foną ir apšviestumą, tinkamai sukalibruoti įvesties įrenginius. Tokiu atveju tikslumas padidėtų.

Šis metodas turi trūkumą: visų požymių paieška yra tiesiogiai priklausoma − klaidingai nustačius ankstesnį būdingą požymį, klaidingai bus randami ir kiti taškai (pvz., klaidingai nustačius akių vyzdžius, nebus įmanoma nustatyti burnos, o vėliau ir nosies ertmių vietų). Aprašytasis variantas taip pat netinka, jei galva yra pakreipiama į šoną, t. y. akių linija nėra lygiagreti su horizontalia kadro linija.

Literatūra

  1. 1. Zhang Z., Zhu L., Li S. Z., Zhang H. Real–Time Multi– View Face Detection//Proc. of the International Conference on Automatic Face and Gesture Recognition.–Washington D.C., USA, 2002.–P.18–25.
  2. Perlibakas V. Automatical Detection of Face Features and Exact Face Contour. //Information Technology and Control: Periodical Journal. – Lithuania,Kaunas, 2003 (26).– P. 67 – 71.
  3. Agui T., Kokubo Y., Nagashashi , Nagao T. Extraction of Face Recognition from Monochromatic Photographs Using Neural Networks // Proc. Second Int’l Conf. Automation, Robotics, and Computer Vision. − 1992.–Vol. 1.− P.1881– 1885.
  4. Augusteijn M.F., Skujca T.L. Identification of Human Faces through Texture–Based Feature Recognition and Neural Network Technology // Proc. IEEE Conf. Neural Networks.−1993.−P. 392–398.
  5. Darrell T., Gordon G., Harville M., Woodfill J. Integrated Person Tracking Using Stereo, Color, and Pattern Detection // Int’l J. Computer Vision.−2000.–Vol. 37(2).−P. 175–185.
  6. Kass M., Witkin A., Terzopoulos D. Snakes: Active Contour Models // Proc. First IEEE Int’l Conf. Computer Vision.−1989.−P. 259–269.
  7. Daunys G., Laurutis V. Televizinių akių judesių matavimo sistemų vaizdo apdorojimo algoritmų optimizavimas // Elektronika ir elektrotechnika. – Kaunas.Technologija, 1999. – 2(20). – P.76 – 80.

D. Dervinis. Būdingų veido taškų išskyrimas dvimačiame vaizde // Elektronika ir elektrotechnika. – Kaunas: Technologija, 2004. – Nr.5(54). – P.18–22.


‡ 1999–2024 © Elektronika.lt LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!