Ar Python izvērtējam vecumu, dzimumu, emociju un rasi no attēla.

Šodien es uzrakstīju Chrome plugin, kas man ļauj veidot tehnisko analīzi jebkuram Facebook attēlam. Šeit ir piemērs – sievietes bilde. Šī bilde tiek sadalīta pikseļos. No šiem pikseļiem tiek atrasts, kurā vietā atrodas cilvēka seja. Tā pat var būt leņķī, kā redzam bildē, ne tieši uz priekšu skatoties. No šīs sejas tiek izvērtēts, kur ir acis, kur deguns, kur mute, kur sejas kontūra. No tā tiek izveidota tā kā sejas līniju karte. Un no tās, savukārt, tiek izvērtēts šī cilvēka dzimums. Šajā gadījumā tā ir sieviete, aptuvenais vecums un emocijas. Kā tiek noteiktas emocijas? Ir izveidota datubāze, kurā uzskaitīts, kādā veidā sejas grimases ietekmē katru emociju. Piemēram, paceltas uzacis parasti ir priecīgas vai bailīgas; uzacis uz leju ir dusmas. Un pēc šādiem parametriem tiek salikta kopā proporcionāla emociju karte. Un līdzīgā veidā nosaka arī rasi. Tātad es jau pagājušajā reizē rādīju, kā tas strādā, bet šoreiz es parādīšu, kā es to uztaisīju ērtāk lietojamu caur Chrome pluginu un caur savu serveri. Atvērsim teiksim manu attēlu. Un te mēs redzam, ka parādīsies poga Ambex Analyzer. Tātad es ar savu Chrome pluginu uztaisīju paplašinājumu Facebook platformai, lai katru reizi, kad tiek atvērta jauna bilde vēl lielākā izmērā, šeit parādās šī poga, kas ir sasaistīta ar manu PHP serveri, kurā šī informācija tiks apstrādāta. Es nospiežu uz pogas, un mēs redzam rezultātu. Tiek atrasta mana seja, kur tieši tā atrodās. Es apvilku ar kvadrātu, lai būtu vieglāk saprotams. Tālāk pēc šī attēla tiek izanalizēts, ka es esmu vīrietis, mans vecums tiek noteikts 25 gadi. Man gan ir 32 gadi, laikam es izskatos jaunāks. Un kā saka šī programma, konkrētajā bildē esmu 100% priecīgs un 100% baltais. Bet paskatīsimies kādu interesantāku bildi. Teiksim, šī ir bilde no kāda žurnāla. Te atkal ir poga Ambex Analyzer. Un šajā bildē seja tiek noteikta pareizajā vietā, vecums ir 24 gadi, kas ir interesanti, jo tā bilde ir uzņemta senāk. Un tālāk šeit ir jau emociju gamma: dusmas 14%, bailes 35%, skumjas 47%, mazliet neitralitātes (1%), un es esmu maksimāli balts, bet mazliet man kaut kas no spāņu un vidus austrumu rasēm arī ir atrasts, kas ir interesanti.

Tad kas šeit notika? Tajā brīdī, kad es nospiedu uz šīs pogas, uz manu PHP serveri aizies pieprasījums. Tātad uz localhost/analyze.php tika aizsūtīts pats bildītes links. Šeit Jūs patiesībā varat redzēt, kā strādā kods. Te ir mans analyze.php, bildes links tiek saņems pa `img` GET parametru. Tālāk tiek izpildīta Python komanda – attiecīgi es no PHP izpildu Python komandu, jo Python bibliotēka spēj apstrādāt sejas, bet pašā PHP tādas iespējas nav. Un, savienojot šīs programmas kopā, mēs redzam, kā Python komanda tiek izpildīta ar python.exe, ar analyzer.py parametru, kas caur programmu DeepFace izmanto šo test.Jpg attēlu, ko es lejupielādēju no PHP. Un tad tas tiek izanalizēts, un JSON rezultāts tiek atgriezts atpakaļ uz PHP. Tālāk šis JSON rezultāts tiek apstrādāts. Un PHP pusē es uzģenerēju HTML, CSS un visu to struktūru, ko Jūs fiziski redzat.

Tātad šis ir labs piemērs, kā ķēdītē var saslēgt vairākas programmas, vairākas programmēšanas valodas, kā arī vairākus risinājums, lai maksimāli ērti izveidotu savu risinājumu. Paskatīsimies vēl kādu piemēru, teiksim rekur ir Barack Obama. Paskatīsimies, ko sistēma mums pateiks par viņa bildi. Tātad šajā bildē viņam ir atrastas 93% skumjas, vecums ir 35 gadi, kas gan ir mazliet par maz, dzimums ir vīrietis. Un tālāk mēs redzam, ka rasi viņam nosaka, ka 69% ir afro amerikānis. Tātad rases šis algoritms tīri labi saprot.

Paskatīsimies vēl kādu, te būs Shakira. Un paskatīsimies kādu Shakiras bildi. Nospiežam Ambex Analyzer, un mēs redzam, ka vecums ir noteikts 31 gads; dzimums – sieviete; emocijas: dusmas 53%, skumjas 35%; rase – aziātu 23%, bet visvairāk latino un spāņu. Būtībā dominējošā rase tika noteikta kā spāņu rase, kas ir atbilstoši.

Paskatāmies vēl vienu – Jackie Chan – paskatīsimies kādu no viņa attēliem. Pēc analīzes, programma saka, ka dzimums ir vīrietis; vecums – 38 gadi; emocijas: prieks 98% un mazliet ir neitralitāte. Kā aziāts viņš ir novērtēts uz 86%.

Kā redzat, šī ir jaudīga platforma un spēcīgs Phyton rīks, kas saucās DeepFace. Un ar šo piemēru es gribēju parādīt to, ka caur bibliotēku var saslēgt dažādus rīkus gan ar datubāzēm, gan ar sistēmām, kuras Tu ikdienā lieto.
Te es arī parādīšu, kā es uzrakstīju šo Chrome pluggin. Es izmantoju tampermonkey, jo ar to JavaScript var viegli veikt jebkādus Chrome papildinājumus. Chrome pluggin tāpat ir taisīti JavaScript, bet, caur šo tampermonkey, Tu diezgan vienkārši vari uzstādīt atbilstošu skriptu jebkurai mājaslapai. Es šeit ielādēju jQuery, un ar to arī uztaisīju, lai tiktu atrasts, kurā vietā šis media-vc-image (šis lielais attēla atvērums). Tālāk es uztaisīju, lai links ved uz šo localhost/analyze – attiecīgi manu lokālo PHP serveri. Tālāk es uztaisīju šo pogu Ambex Analyzer. Rekur a target. Tātad katru sekundi viņš programma pārbauda, vai gadījumā neparādās jauna bilde, kurai šādu pogu var pievienot.

Kādā video es varu arī parādīt, kā veido šādus Chrome plugin, ja Jums ir interese. Jo to izmantošana ļauj Jums paplašināt jebkuras mājaslapas funkcionalitāti ar papildus lietām. Un, ja Jums ir savs PHP serveris, kurā Jūs varat šos datus apstrādāt un glabā datubāzē, tas var veidot gan efektīvus skrāpētājus, gan efektīvus automatizācijas rīkus. Turklāt tas atvieglo regulāri veicamos darbus.

Leave a Reply

Your email address will not be published. Required fields are marked *