Обычное объяснение 07-Face-Detection->face_recognitionРаспознавание лиц

Видеоурок 19. Различайте лица: https://singtown.com/learn/50033/

Распознавание лиц с использованием функций LBP.

AT&T сталкивается с базой данных:\ Каталог содержит коллекцию лиц, сделанную в период с апреля 1992 по апрель 1994 года в исследовательской лаборатории Оливетти в Кембридже, Англия.

Есть 10 разных изображений 40 разных предметов. Для некоторых испытуемых изображения были сделаны в разное время со слегка меняющимся освещением, выражением лица (глаза открыты/закрыты, улыбаются/не улыбаются) и деталями лица (в очках/без очков). Все изображения сделаны на темном однородном фоне, объект находится в правом верхнем углу, фронтально (с допуском некоторого бокового движения).

Эти файлы имеют формат PGM и их можно легко просмотреть с помощью программы «xv». Каждое изображение имеет размер 92x112, 8-битные оттенки серого. Изображения разделены на 40 каталогов (по одному на каждую тему) с именем: sX

Где X представляет номер темы (от 1 до 40). В каждом каталоге имеется 10 разных изображений для выбранной темы с именем: Y.pgm

где Y представляет изображения определенной темы (от 1 до 10).

При использовании этих изображений указывайте авторство Olivetti Research Laboratories.\ Удобный справочник — задание по распознаванию лиц с использованием некоторых из этих изображений:

Ф. Самария и А. Хартер\ «Параметризация стохастических моделей распознавания лиц»\ 2-й симпозиум IEEE по приложениям компьютерного зрения\ ------------------Декабрь 1994 г., Сарасота (Флорида).

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

Официальное объяснение функций документа Singtown Technology OpenMV на китайском языке:

results matching ""

    No results matching ""