大脑能准确地识别去开始人脸,是因为大脑里存有人们熟悉的面部轮廓。因此,从图像轮廓提取开始摸索人脸算法,而眼睛、鼻子和嘴巴是人最主要的三个面部特征,我们一般采用Haar-like特征进行人脸检测,将这些关键部位的边缘特征、线性特征、中心特征和对角线特征进行组合,生成特征模板,进而借助主成分分析建立人的面部模型,用于构建机器学习的基础数据库。

        特征脸建库与人脸检测的最终目标是人脸识别。常见的人脸识别算法主要归纳为三种:基于几何特征的识别算法、基于模板的识别算法和基于模型的识别算法。

        笔者认为人脸识别有特征建库、人脸检测、人脸识别三个环节,每种算法都以人脸检测为前提,更将特征脸建库和人脸检测视为首要问题。机器视觉系统模仿大脑一样,记住了某个人或某些人,就会面部特征存入脑海,构建特征脸的数据集,而在机器视觉系统的前端检测到外界的每一张人脸后,都会从视频或全景图像中提取这些人脸图像并传输到后端(集成了用于人脸识别的各类算法),完成人脸识别。

       离不开边缘检测算子:主要有三种sobel算子、roberts算子和prwitt算子、log边缘算子、canny边缘检测算子。log算子效果更好的边缘检测器,因为噪声点一般都是灰度与周围点相差很大的像素点,对边缘检测是有一定影响的。log算子将Gauss平滑滤波器和Laplacian锐化与滤波器组合,先平滑掉噪声,再进行边缘检测,所以边缘检测的结果更加准确。因其到中心的距离与位置加权系数的关系曲线像墨西哥草帽的剖面,所以也叫做墨西哥草帽滤波器。canny算子包括三层含义:能尽可能地标识出图像中的实际边缘(漏检最少);标出的边缘要尽可能接近实际图像中的实际边缘(定位最好);图像边缘不能重复标识,并且可能存在的图像噪声不应被标识的边缘(误差最少),算法步骤:去噪声、找出图像的亮度梯度(同为图像中的边缘可能会指向不同的方向)、滞后阈值。轮廓提取函数bwperim和edge函数的主要区别是前者是闭合的轮廓、后者用微分的方法找到边缘。

     几何特征最早用于人脸侧面轮廓的描述与识别,基本算法思想是首先根据侧面轮廓曲线确定若干显著点,然后由这些显著点导出一组用于识别的特征度量(例如距离、角度等)。换言之,基于几何特征的人脸识别局限于最简单的正面人脸,其将眼睛、鼻子、嘴巴、下巴登重要特征的位置和这些关键部位的几何形状特征提取出来作为判定人脸图像的分类特征,通过人脸图像的分类实现对人脸的检测与识别。

       以后博文我们再谈谈人脸识别检测其他技术及是实战项目。

10-04 10:19