Download presentation
Presentation is loading. Please wait.
1
Lecture 12 Object Recognition
第十二章 目标识别 Lecture 12 Object Recognition
2
目标识别 怎样识别图像中物体,如汽车、牛等?
3
目标识别的应用
4
难点之一: 如何鲁棒识别?
5
类内差异(intra-class variability)
6
类间相似性(inter-class similarity)
7
难点之二:计算量大 一幅图像中像素个数多,目前每秒约产生30G像素的 图像/视频数据。 - Google图片搜索中已有几十亿幅图像
- 全球数字照相机一年产生180亿张以上的图片(2004 年) - 全球一年销售约3亿部照相手机(2005) 人的物体识别能力是强大的 - 灵长类动物约使用大脑皮层的一半来处理视觉信息 [Felleman and van Essen 1991] - 可以识别3,000-30,000种物体 - 物体姿态可允许30度以上的自由度。
8
难点之三:如何在小样本条件下学习
9
物体识别方法 检测(detection)vs. 不检测 表示(representation)
- 颜色、纹理、边缘、梯度、局部特征、深度、运 动等等。 分类(classification or categorization) - K近邻(KNN) - 神经网络(NN) - 支持向量机(SVM) - Boosting(Adaboost等) - 隐马尔科夫模型(HMM) -其他 生成学习(Generative learning)vs. 判别学习 (discriminative learning)
10
两种分类器学习模式 生成学习 vs. 判别学习 生成学习 ---目标是学习到符合训练数据的类别模型 判别学习
--- 如EM算法(Maximum Likelihood) 判别学习 在训练阶段即考虑类别之间的判别信息 包括Support Vector Machines (SVMs), Boosting, Minimum Classification Error (MCE), Maximum Mutual Information (MMI), Lager Margin (LM), and etc. 判别学习算法比生成学习算法表现出更好的分类性能。
11
判别学习方法
12
人脸检测与识别
13
Car/non-car Classifier
1. 物体检测 基于二分类器 Car/non-car Classifier Yes, car. No, not a car.
14
Car/non-car Classifier
物体检测 在复杂背景下,通过滑动窗口(sliding windows)搜索感兴趣的物体。 Car/non-car Classifier
15
物体检测 Step1. 获取训练数据 Step2. 提取特征 Step3. 训练分类器 Step4. 利用分类器进行检测
16
人脸检测(Face detection) Viola-Jones人脸检测算法(基于AdaBoost)
17
Viola-Jones人脸检测算法(2004)
18
滤波器设计
19
Adaboost Adaboost是一种迭代算法,其核心思想是针对同一个训 练集训练不同的分类器(弱分类器),然后把这些弱分类 器集合起来,构成一个更强的最终分类器(强分类器)。 其算法本身是通过改变数据分布来实现的,它根据每 次训练集之中每个样本的分类是否正确,以及上次的 总体分类的准确率,来确定每个样本的权值。将修改 过权值的新数据集送给下层分类器进行训练,最后将 每次训练得到的分类器最后融合起来,作为最后的决 策分类器。 使用adaboost分类器可以排除一些不必要的训练数据特 徵,并将关键放在关键的训练数据上面。
20
Boosting Example
21
Boosting Example
22
Boosting Example
23
Boosting Example
24
Boosting Example
25
Boosting Example
26
Adaboost 学习目标:选择能够最有效地区分人脸与非人脸的矩形特征及其阈值
27
Adaboost 组合弱分类器(weak learners),得到更为精确的集成分类器(ensemble classifier)。
弱分类器:性能仅比随机分类稍好 根据矩形特征定义弱分类器:
28
Adaboost算法步骤 初始给每个训练样本以同等权重 循环执行以下步骤: 根据当前加权训练集,选择最佳弱分类器
提升被当前弱分类器错分的训练样本的权重 按照各弱分类器分类精度对其加权,然后将各个弱分类器形成线性组合,得到最终分类器。
29
Viola-Jones算法中的AdaBoost
每一次boosting迭代如下: 评价每一个样本上的每一种矩形特征 为每一种矩形特征选择最佳分类阈值 选择最优的矩形特征及其阈值组合 改变样本权重 计算复杂度: O(MNT) M:特征数,N:样本数, T:阈值数
31
级联分类器(Cascading Classifiers)
32
训练级联分类器
33
Viola-Jones检测算法-总体流程
用5K正样本,350M反样本学习 得到38层(共使用6060个特征)级联分类获得实时性
34
Viola-Jones人脸检测结果
35
Viola-Jones人脸检测结果
36
Viola-Jones人脸检测结果
37
2. 人脸识别(face recogntion)
Zhao et al., Face Recogniton: a literature survey. ACM Computing survey, 2003
38
Face Recognition: 2-D and 3-D
39
图像 = 像素的集合 将由n个像素构成的图像视为n维空间中的点
40
最近邻分类器
41
Eigenfaces 使用主成分分析技术(Principle Component Analysis, PCA)减少维数
42
主成分分析(PCA, K-L变换) 降低特征向量的维数 获得最主要特征分量,减少相关性; 避免维数灾难
43
主成分分析(PCA, K-L变换)
44
主成分分析(PCA, K-L变换)
45
Eigenfaces 学习 1. 计算训练图像的均值和协方差矩阵. 2. 计算协方差矩阵的特征值,取前k个最大特 征值对应的特征矢量.
3. 将图像投影到k-维特征空间 (Eigenspace)。 识别 1. 将测试图像投影到Eigenspace. 2. 在特征图像上执行分类.
46
Eigenfaces: 训练图像
47
Eigenfaces
48
PCA方法的不足 可能损失重要的细节信息 方差最小的方向也可能是重要的 没有考虑判别任务 希望得到最具判别能力的特征
但判别能力最佳并不等同于方差最大
49
Fisherfaces:类特定的线性投影
50
PCA & Fisher的线性判别函数
51
PCA & Fisher的线性判别函数
52
Fisherfaces示例(ORL Database)
53
基于eigenfaces/fisherfaces的识别
训练: - 根据训练图像,利用PCA或Fisher方法确定投 影矩阵 - 将每个训练图像投影到子空间(eigenspace或fisherspace)。 识别: - 将测试图像投影到eigenspace或fisherspace。 - 子空间中距离测试图像最近的训练图像对应的类别为识别结果。
54
Project5:人脸合成 平均 就是 美 平均 人脸
55
Project5:人脸合成
56
Project5:人脸合成
57
Project5:人脸合成
58
Project5:人脸合成
59
Project5:人脸合成 FantaMorph,人脸合成软件
60
Project5:人脸合成 FantaMorph,人脸合成软件 手动标定人脸
61
Project5:人脸合成 FantaMorph,人脸合成软件 手动标定人脸
62
Project5:人脸合成 FantaMorph,人脸合成软件 产生多张合成图像,随机或者平均输出
63
Project5:人脸合成 Task:利用人脸检测算法,将上述过程改为自动完成,实现自动人类合成。
Similar presentations