Explication de routine 07-Face-Detection->face_recognition Reconnaissance faciale

Tutoriel vidéo 19 - Distinguer différents visages : https://singtown.com/learn/50033/

Reconnaissance faciale utilisant les fonctionnalités LBP.

AT&T faces base de données :\ Le catalogue contient une collection de visages pris entre avril 1992 et avril 1994 au laboratoire de recherche Olivetti à Cambridge, en Angleterre.

Il y a 10 images différentes de 40 sujets différents. Pour certains sujets, les images ont été prises à différents moments avec un éclairage, une expression faciale (yeux ouverts/fermés, souriant/ne souriant pas) et des détails du visage (lunettes/pas de lunettes) légèrement variables. Toutes les images sont prises sur un fond sombre et uniforme, avec le sujet dans une position frontale supérieure droite (avec une tolérance pour certains mouvements latéraux).

Ces fichiers sont au format PGM et peuvent être facilement visualisés à l'aide du programme "xv". Chaque image est au format 92x112, en niveaux de gris 8 bits. Les images sont divisées en 40 répertoires (un pour chaque sujet) nommés : sX

Où X représente le numéro du sujet (entre 1 et 40). Dans chaque répertoire, il y a 10 images différentes pour le thème sélectionné, nommées : Y.pgm

où Y représente les images d'un sujet spécifique (entre 1 et 10).

Lorsque vous utilisez ces images, veuillez créditer Olivetti Research Laboratories.\ Une référence pratique est un travail de reconnaissance faciale utilisant certaines de ces images :

F. Samaria et A. Harter\ "Paramétrage de modèles stochastiques pour la reconnaissance faciale"\ Le 2e Symposium IEEE sur les applications de vision par ordinateur\ ------------------Décembre 1994, Sarasota (Floride).

# 用LBP特征进行人脸识别。
# 见 Timo Ahonen's "Face Recognition with Local Binary Patterns".
#
# 运行示例之前:
# 1) 下载AT&T faces数据库http://www.cl.cam.ac.uk/Research/DTG/attarchive/pub/data/att_faces.zip
# 2) 提取并复制orl_faces目录到SD卡根目录。
#
# NOTE: This is just a PoC implementation of the paper mentioned above, it does Not work well in real life conditions.
# 注意:这只是上面提到的论文的一个PoC实现,在现实生活中并不适用。

import sensor, time, image

SUB = "s2"
NUM_SUBJECTS = 5
NUM_SUBJECTS_IMGS = 10

img = image.Image("orl_faces/%s/1.pgm"%(SUB))
d0 = img.find_lbp((0, 0, img.width(), img.height()))
img = None

print("")
for s in range(1, NUM_SUBJECTS+1):
    dist = 0
    for i in range(2, NUM_SUBJECTS_IMGS+1):
        img = image.Image("orl_faces/s%d/%d.pgm"%(s, i))
        d1 = img.find_lbp((0, 0, img.width(), img.height()))
        dist += image.match_descriptor(d0, d1)
    print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS))

Explication officielle de la fonction du document chinois OpenMV de Singtown Technology :

results matching ""

    No results matching ""