Routineerklärung 07-Face-Detection->face_recognitionGesichtserkennung
Video-Tutorial 19 – Verschiedene Gesichter unterscheiden: https://singtown.com/learn/50033/
Gesichtserkennung mithilfe von LBP-Funktionen.
AT&T-Gesichtsdatenbank:\ Der Katalog enthält eine Sammlung von Gesichtern, die zwischen April 1992 und April 1994 im Olivetti Research Laboratory in Cambridge, England, aufgenommen wurden.
Es gibt 10 verschiedene Bilder von 40 verschiedenen Motiven. Bei einigen Probanden wurden Bilder zu unterschiedlichen Zeiten mit leicht unterschiedlicher Beleuchtung, Gesichtsausdruck (Augen offen/geschlossen, lächelnd/nicht lächelnd) und Gesichtsdetails (Brille/keine Brille) aufgenommen. Alle Bilder werden vor einem dunklen, gleichmäßigen Hintergrund aufgenommen, wobei sich das Motiv vorne rechts oben befindet (mit Toleranz für eine gewisse seitliche Bewegung).
Diese Dateien liegen im PGM-Format vor und können problemlos mit dem Programm „xv“ angezeigt werden. Jedes Bild ist 92 x 112, 8-Bit-Graustufen. Bilder sind in 40 Verzeichnisse (eines für jedes Thema) mit dem Namen sX unterteilt
Dabei steht X für die Themennummer (zwischen 1 und 40). In jedem Verzeichnis gibt es 10 verschiedene Bilder für das ausgewählte Thema mit dem Namen: Y.pgm
wobei Y Bilder zu einem bestimmten Thema darstellt (zwischen 1 und 10).
Wenn Sie diese Bilder verwenden, geben Sie bitte die Quelle Olivetti Research Laboratories an.\ Eine praktische Referenz ist ein Gesichtserkennungsjob mit einigen dieser Bilder:
F. Samaria und A. Harter\ „Parametrisierung stochastischer Modelle zur Gesichtserkennung“\ Das 2. IEEE Computer Vision Applications Symposium\ ----Dezember 1994, Sarasota (Florida).
# 用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))
Erklärung der Funktion des offiziellen chinesischen Dokuments von Singtown Technology OpenMV: