人脸识别对于人类来说很简单,如果对于机器,如何才能构建一个人脸识别器。
主要步骤如下:
(1) 定义标签编码。在输入训练数据中,标签用单词表示,但我们需要数字来训练系统。
(2) 从每幅图中提取ROI属性值和标签编码器。
(3) 加载人脸级联文件。
(4) 生成局部二值模式直方图人脸识别器。
(5) 用训练集数据训练人脸识别器。
(6) 加载测试数据所在路径,将批量数据读取到内存,用人脸级联文件来检测器确定人脸的位置。
(7) 对于每个人的脸ROI,运行人脸识别器,将标签转换为单词。
(8) 直接在图片打上分类文字,并展示。
(9) 关闭cv2。
源代码如下:
import os
import cv2
import numpy as np
from sklearn import preprocessing
# Class to handle tasks related to label encoding
class LabelEncoder(object):
# Method to encode labels from words to numbers
def encode_labe