例程讲解07-Face-Detection->face_recognition人脸分辨

视频教程19 - 分辨不同人脸:https://singtown.com/learn/50033/

用LBP特征进行人脸识别。

AT&T faces数据库:
该目录包含1992年4月至1994年4月在英国剑桥的Olivetti研究实验室拍摄的一组面孔。

有40个不同科目的10个不同图像。 对于一些受试者,图像是在不同时间拍摄的,略微变化的照明,面部表情(开/闭眼,微笑/不微笑)和面部细节(眼镜/无眼镜)。 所有图像都是在黑暗的均匀背景下拍摄的,并且拍摄对象处于右上方,正面位置(对于某些侧面移动具有容差)。

这些文件采用PGM格式,可以使用“xv”程序方便地查看。 每幅图像的尺寸为92x112, 8位灰度图。 图像分为40个目录(每个主题一个),命名为:sX

其中X表示主题编号(1到40之间)。 在每个目录中,所选主题有10个不同的图像,命名为:Y.pgm

其中Y表示特定主题的图像(1到10之间)。

使用这些图像时,请归功于Olivetti研究实验室。
一个方便的参考是使用其中一些图像的人脸识别工作:

F. Samaria和A. Harter
“用于人脸识别的随机模型的参数化”
第二届IEEE计算机视觉应用研讨会
-----------------1994年12月,萨拉索塔(佛罗里达州)。

# 用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))

星瞳科技OpenMV官方中文文档函数讲解:

results matching ""

    No results matching ""