目标检测之人脸检测
来源:互联网 发布: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个哈尔特征)
矩形哈尔特征值的计算
二矩形特征的值 = 白色矩形像素和 - 黑色矩形像素和
三矩形特征的值 = 白色矩形像素和 - 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
- 目标检测之人脸检测
- 目标检测之GMM
- 目标检测之Vibe
- 目标检测之libpabod
- 目标检测之YOLO
- 目标检测与分类学习之路----opencv人脸检测识别(zero)
- 目标检测之harr特征
- 目标检测之hough forest
- 目标检测之HOG特征
- 目标检测之LBP特征
- 目标检测之Haar特征
- 目标特征检测之ORB
- 目标检测之CNN系列
- 目标检测之特征提取
- 目标检测之HOG特征
- 目标检测之YOLO算法
- 目标检测之CNN系列
- 目标检测之focal loss
- 华为机试题:取近似值
- java连接mysql获取数据保存为json格式
- PostgreSQL学习第五篇--监听地址及端口修改
- Spark基础案例
- Java Thread join() 用法
- 目标检测之人脸检测
- Reverse String ----LeetCode
- Node入门(一)
- 小笔记之XML
- 解决Glide加载图片问题!!!
- 蓝桥杯入门训练试题
- 机器学习:RadioML(2)
- HDU2044_一只小蜜蜂...
- linux kernel文件系统