目标检测之人脸检测

来源:互联网 发布:sem高级优化师认证 编辑:程序博客网 时间:2024/05/31 19:40

原文链接

http://blog.csdn.net/tiro_learner/article/details/53312498

目标检测之人脸检测

1.什么是目标检测?

定义:

Object detection is a computer technology related to computer vision and image processing that deals with detecting instances of semantic objects of a certain class (such as humans, buildings, or cars) in digital images and videos

概述:

目标检测是计算机视觉和图像处理领域的一种技术,用来检测图片或视频中的目标。
比如对于人脸检测来说,找出图片或视频中的人脸就可称为目标检测

2.如何检测?

2.1 特征的表示

不同的目标具有不同的特征,比如人脸的特征有:五官,鼻梁在眼睛中间,眼睛颜色比脸颊深等。
检测一个图像是否人脸,其实就是根据该图像是否拥有人脸的特征来判断。
因此,我们需要去提取人脸的特征并用计算机可读的方式来表示这些特征。

harr-like feature(哈尔特征)

定义:

用于物体识别的一种数字图像特征。它们因为与哈尔小波转换 极为相似而得名,是第一种实时的人脸检测算子。

概述:

哈尔特征是由黑白区域组成的2维图形,这里我们只用到最先提出来的矩形特征,它是用来表示图像特征的一种方法。

矩形哈尔特征

一个矩形哈尔特征可以定义为矩形中几个区域的像素和的差值。由于其可以具有任意的位置和尺寸,因此给定一个图像,其矩形哈尔特征的数量非常庞大。(24*24的图像含有约16,0000个哈尔特征)
rectanle feature

矩形哈尔特征值的计算

二矩形特征的值 = 白色矩形像素和 - 黑色矩形像素和
三矩形特征的值 = 白色矩形像素和 - 2*黑色矩形像素和(x2是为了保持白色矩形和黑色矩形的像素点数相同)

2.2 积分图

定义

积分图是一个二维矩形的查找表,与原始图像具有一样的尺寸。积分图的每一个元素是原始图像在对应位置左上角所有像素的和。可以用来快速计算哈尔特征。
这里写图片描述

这里写图片描述

积分图在位置1的值为A
积分图在位置2的值为A+B
积分图在位置3的值为A+C
积分图在位置4的值为A+B+C+D

概述

用来快速矩形哈尔特征的二维矩形的查找表

积分图的生成

通过扫描一遍图像即可生成积分图,具体操作如下:

i(x,y): 原始图,可看成位置x,y的像素值
s(x,y): 当前行的像素累积和
ii(x,y): 积分图,可看成积分图在位置x,y的值
初始化: s(x, -1) = 0 ,s(-1, y) = 0

这里写图片描述

2.3 分类器

目标检测可看作是对图像进行分类的过程,就人脸检测来说,就是将图像分为人脸或非人脸

分类器相关的一些概念:

分类器
用于将子窗口图像进行分类,比如对人类检测来说,我们将子窗口分为人脸和非人脸

弱分类器
检测效果只比随机猜测好一点,较容易得到的分类器

最优弱分类器
具有最低误识率的弱分类器,比弱分类器稍微好点

强分类器
检测效果较好,较难得到的分类器

AdaBoost算法
通过若干个弱分类器得到强分类器

检测率
检测率 = 正确检测到目标的子窗口数目/总的目标子窗口数目
比如,对于人脸检测有:
检测率 = 正确检测到人脸的子窗口数目/总的人脸子窗口数目

误识率
误识率 = 被误识为目标的子窗口的数目/总的子窗口数目
比如,对于人脸检测有:
误识率 = 被误识为人脸的子窗口的数目/总的子窗口数目

2.3.1 弱分类器

这里写图片描述

这里写图片描述

2.3.2 最优弱分类器

1)计算所有训练样本的特征值,并将其排序。
2)对排好序的表中的每个特征值,计算下面四个值:
T+:全部人脸样本的权重的和
T-: 全部非人脸样本的权重的和
S+:在此特征值之前的人脸样本的权重的和
S-:在此特征值之前的非人脸样本的权重的和;
3)计算每个特征值的分类误差e

这里写图片描述

找出e值最小的特征值,将该特征值作为最优阈值,通过该阈值就产生了最优弱分类器。

对弱分类器的小总结

含有一个特征f的子窗口x –> 得到一个弱分类器
含有K个特征f1..fk的子窗口 –> 得到 K 个弱分类器
含有一个特征f的N个子窗口x1..xn –> 得到一个最优弱分类器
含有K个特征f1…fk的N个子窗口x1..xn –> 得到K个最优弱分类器

2.3.3 强分类器

强分类器是由若干个弱分类器经过线性组合形成的,生成过程如下

这里写图片描述

这里写图片描述

学习结果

使用由200个特征构成的强分类器,检测384*288的图像耗时0.7秒。其检测率为95%,误识率为1/14084。但在实际应用中,我们要求的误识率为1/1,000,000.

问题

要想提高检测率和降低误识率,就得增加特征数,但这同时又会增加计算时间

2.4 级联检测器

概述

级联分类器由若于个强分类器串联组成,子窗口通过第i个强分类当且仅当其通过第i-1个强分类器

这里写图片描述

检测率和误识率计算

D:级联检测器的检测率
F:级联检测器的误识率
di:第i个强分器的检测率
fi:第i个强分器的误识率
这里写图片描述
这里写图片描述

影响级联检测器的主要因素

构成级联的检测器的强分类器个数
每个强分类器使用的特征数
每个分类器的阈值

级联检测器的生成

这里写图片描述

学习结果

这里写图片描述

2.5 在人脸检测中的具体实践

人脸检测中考虑的其它因素

  • scale(收缩比例)
    由于图片中的人脸有大有小,所以在实际的人脸检测过程中我们会用多种尺寸的检测窗口进行图片扫描

  • (step)位移量
    实际位移量: scale*step

  • 重复窗口的合并

最终的人脸检测系统

训练集: 4916个24*24人脸图像, 9500 非人脸图像(大约含有3.5亿个24*24非人脸子窗口,每层最多使用6000个)

训练时间:并行处理下大约为1天
最终生成的检测器: 由38个强分类器组成,总共用到了6060个特征

第一个强分类器使用了2个特征,检测率为100%,淘汰率为50%
第二个强分类器使用了10个特征,检测率为100%,淘汰率为80%

由于大多数的非人脸窗口在前两层已经被淘汰,最终每个子窗口检测的特征数平均为8个.处理384*288图像耗时约0.067秒
这里写图片描述

Rerference

Rapid Object Detection using a Boosted Cascade of Simple Features
Robust Real-Time Face Detection
http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html

0 0
原创粉丝点击