boxes | ||
embeddings | ||
schemas | ||
src | ||
diff_table.txt | ||
faces_location.txt | ||
README.md | ||
struct_model_faces_classification.txt | ||
TODO.md | ||
URLs |
Expérimentations de reconnaissance faciale
Les images sources
Chris Evan
- https://upload.wikimedia.org/wikipedia/commons/0/0e/Chris_Evans_-Captain_America_2_press_conference%28cropped%29.jpg
- https://upload.wikimedia.org/wikipedia/commons/3/36/MJK_68238_Daniel_Br%C3%BChl_%28Berlinale_2020%29.jpg
Robert Downey
- https://upload.wikimedia.org/wikipedia/commons/a/ab/Robert_Downey_Jr-2008_cropped.JPG
- https://live.staticflickr.com/3882/14802381172_8ac8f59478_b.jpg
Jennifer Lawrence
- https://upload.wikimedia.org/wikipedia/commons/f/fe/Jennifer_Lawrence_in_2018.png
- https://upload.wikimedia.org/wikipedia/commons/a/a6/Jennifer_Lawrence_SDCC_2013_X-Men.jpg
Margot Robbie
- https://upload.wikimedia.org/wikipedia/commons/0/00/Margot_Robbie_by_Gage_Skidmore.jpg
- https://upload.wikimedia.org/wikipedia/commons/0/0b/Margot_Robbie_%2828316659170%29_%28cropped%29.jpg
Ces images sont normalement toutes libres de droits. Il peut cependant être judicieux d'indiquer leur source pour en attester.
Une copie de ces images est disponible dans le dossier src
Emplacement des visages
src/ChrisEvan1.jpg: De 490x218 à 1128x1008
src/ChrisEvan2.jpg: De 541x1006 à 1844x2347
src/MargotRobbie1.jpg: De 527x181 à 1014x715
src/MargotRobbie2.jpg: De 697x359 à 1680x1358
src/RobertDowney1.jpg: De 384x159 à 845x736
src/RobertDowney2.jpg: De 360x119 à 553x350
src/JenniferLawrence1.png: De 196x115 à 365x314
src/JenniferLawrence2.png: De 695x428 à 1591x1396
"Embeddings"
L'ensemble des nombres caractérisant les visages générés par mon modèle de classification des visages sont disponibles dans le dossier embeddings.
Voici quelques exemples :
ChrisEvan1.jpg
:
0.013588272 0.14924107 0.10293563 -0.0894408 -0.14983389 -0.15014969 -0.10940615 -0.08662054 -0.027009228 0.025306579 0.063713625 0.0029894528 -0.22485909 -0.1171356 -0.028612543 0.052584253 -0.01020841 0.08544659 -0.039860334 0.08512174 0.16187522 -0.12540862 0.04619039 -0.034596693 0.049454086 -0.003330931 -0.02040488 0.12404345 0.044619344 0.06511985 -0.18827626 0.1292971 -0.16731974 0.05794434 -0.080326095 0.13209893 -0.040213954 -0.0860508 -0.19195764 0.02851134 -0.012864292 0.08082352 0.042097613 0.12528199 0.00915616 0.04863165 0.15132628 0.034243103 -0.16731258 0.074604616 -0.065076664 -0.020548549 0.11536233 0.10212831 -0.0850409 -0.069237165 -0.046551146 0.13450986 -0.025315845 0.07234829 0.03134743 -0.013245294 -0.12022436 0.10452058 0.1345366 0.17489764 0.119002044 0.12792549 0.20691383 -0.025321007 -0.05199498 0.019840801 0.006721283 0.11697529 -0.08906952 0.15815419 0.06950762 -0.04278898 -0.03946757 -0.11027197 -0.06240656 -0.030829161 0.035503548 0.026103929 0.13984278 -0.08964199 0.045302223 -0.12754425 -0.008096112 0.11721313 -0.014474002 -0.031576354 0.14043052 0.065895215 -0.06676938 0.043812174 -0.10521634 0.009509598 -0.045587383 -0.02444263 0.00013175681 0.0056394055 0.048152678 -0.11565323 -0.124192216 -0.02743731 -0.163479 0.22907133 -0.022912463 0.036762048 0.03346427 0.035544943 0.026411045 0.11851789 0.020429777 0.19305018 -0.016451316 -0.09938731 -0.013517487 0.09305682 0.16937472 -0.02410161 -0.14735183 -0.10815277 0.06747906 -0.14740476 0.0958967 -0.020174563
JenniferLawrence1.png.txt
0.059789382 -0.06540175 0.09384677 -0.09344663 -0.124955855 -0.14620578 0.21621326 0.08681343 -0.22887544 0.16835837 -0.21205847 -0.09929459 -0.07712983 0.18850496 0.0040708827 0.06931689 -0.12965605 -0.19898388 0.15594587 -0.05846893 0.010512652 0.029273292 -0.06976994 -0.009134532 -0.075729 0.15730128 0.20621045 -0.14657775 -0.023199601 0.19438854 -0.025176251 0.16280289 0.15292016 0.203397 -0.042337168 -0.043469157 0.13448407 -0.07164188 0.25583833 0.014922339 -0.11000569 0.17076612 -0.11343877 -0.03459193 -0.07640086 0.09205383 -0.09176708 0.009503559 -0.10276184 -0.0680929 -0.06760132 0.12734948 -0.067464754 0.034245383 -0.030228864 -0.043915395 0.0072117387 0.1366474 0.032039784 0.039552618 -0.13448033 -0.049129415 -0.070208974 -0.11192467 0.0077691986 -0.09058856 0.007923333 0.15862593 -0.0441338 0.18257132 0.11437641 0.047846057 0.06540898 -0.056939643 -0.0064649535 0.04443105 -0.06582029 -0.094180234 0.026080629 -0.043123882 0.052541822 -0.066220045 -0.031253625 -0.014365362 -0.030886997 -0.015664259 -0.09257816 0.0117671965 -0.018785734 0.018891882 -0.086992756 0.1330208 -0.0472171 -0.013287547 -0.080245994 0.0035603195 -0.033081498 -0.017256219 0.06913957 0.0291235 -0.0057697054 -0.04429207 -0.17319635 -0.1331113 -0.048168566 -0.057445955 -0.11418376 -0.10913006 -0.12299465 0.11582708 -0.019224066 -0.1671122 0.011502104 -0.07045502 0.14687648 0.008338821 -0.057212986 -0.07145432 0.11368221 0.06900518 0.07788772 -0.042550106 -0.17789641 0.045252983 0.014051363 0.024645478 0.09975756 0.08491579
Classification des visages utilisés en exemple
ChrisEvan1.jpg | ChrisEvan2.jpg | JenniferLawrence1.png | JenniferLawrence2.png | MargotRobbie1.jpg | MargotRobbie2.jpg | RobertDowney1.jpg | RobertDowney2.jpg | |
---|---|---|---|---|---|---|---|---|
ChrisEvan1.jpg | 0 | 1.4469901 | 1.5851444 | 1.4725641 | 1.493774 | 1.5233572 | 1.5027672 | 1.5772052 |
ChrisEvan2.jpg | 1.4469901 | 0 | 1.7558935 | 1.7296197 | 1.7195596 | 1.6490623 | 1.5382934 | 1.5368507 |
JenniferLawrence1.png | 1.5851444 | 1.7558935 | 0 | 0.7988865 | 1.3284732 | 1.4284842 | 1.5345646 | 1.5157186 |
JenniferLawrence2.png | 1.4725641 | 1.7296197 | 0.7988865 | 0 | 1.3276035 | 1.4731331 | 1.6620125 | 1.5803103 |
MargotRobbie1.jpg | 1.493774 | 1.7195596 | 1.3284732 | 1.3276035 | 0 | 0.973696 | 1.4589473 | 1.5014138 |
MargotRobbie2.jpg | 1.5233572 | 1.6490623 | 1.4284842 | 1.4731331 | 0.973696 | 0 | 1.6180637 | 1.6254852 |
RobertDowney1.jpg | 1.5027672 | 1.5382934 | 1.5345646 | 1.6620125 | 1.4589473 | 1.6180637 | 0 | 0.7831072 |
RobertDowney2.jpg | 1.5772052 | 1.5368507 | 1.5157186 | 1.5803103 | 1.5014138 | 1.6254852 | 0.7831072 | 0 |
La distance correpond l'écart type de chaque valeurs des embeddings de
embeddings_1[i] - embeddings_2[i]
pouri
variant de0
àtaille(embeddings)
.
Schéma du fonctionnement général
Détection des visages
Classification des visages
Processus complet
Explications sur les modèles
Modèle de détection des visages
- En entrée : L'image est de taille arbitraire, chaque pixel de l'image est représenté par les trois couleurs rouge, vert et bleu sur un 1 octet (valeur de
0
à255
) - En sortie : Le modèle fournit, pour chaque visage détecté : : l'emplacement du visage, ainsi que la probabilité qu'il s'agisse bien d'un visage
Modèle de classification des visages
- En entrée :
- Les visages à classifier sont redimensionnés pour avoir une taille de 160x160 pixels (avec trois cannaux : rouge, vert, bleu).
- Chaque pixel fait l'objet d'un traitement de normalisation :
(valeur - moyenne) / écart type
- En sortie : Le modèle retourne pour chaque visage fournit en entrée les embeddings (la suite de nombre donnée en exemple ci-dessus - 128 nombres au total)
Structure des modèle
- Modèle de détection des visages : structure indisponible
- Modèle de classification des visages : struct_model_faces_classification -> Près de 23 millions de poids / paramètres