收藏 分享(赏)

ASM算法思想.ppt

上传人:wo7103235 文档编号:6860660 上传时间:2019-04-25 格式:PPT 页数:55 大小:410.50KB
下载 相关 举报
ASM算法思想.ppt_第1页
第1页 / 共55页
ASM算法思想.ppt_第2页
第2页 / 共55页
ASM算法思想.ppt_第3页
第3页 / 共55页
ASM算法思想.ppt_第4页
第4页 / 共55页
ASM算法思想.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、ASM算法思想 一种数学建模方法,更是思维方式的提升。,报告人:黄纯得 其它组员:黄济泳,李晟,郑银环,蔡青,关于这次Presentation。,ASM是我本科期间接触过的最让我“着迷”和算法,她不仅仅是算法,而是一种思想,是对抽象数学知识和具体应该。在此我应龙老师要求,力求把这次报道做成面向“傻瓜”级的形象。力求做到人人都能听明白,以对得起各位的宝贵时间和我的用心良苦!_,什么是ASM?,ASM(Active Shape Model)主动形状模型是一种对在图片中的已知实物对象的进行识别定位的工具,是概率统计线性代数等数学知识的一种很巧妙地应用!,ASM的用途。,ASM本身作为一种算法,一开始

2、是为了匹配人脸轮廓而由Cootes等人提出来的。纯粹的ASM来身并不是很实用,但ASM更是一种思想,由ASM的演化而来的一种更强的识别算法就是AAM,AAM的匹配能力和健壮性都很强!但它的所有思想基本上都是从ASM上继承而来的!至于什么是AAM有兴趣的同学自己找些相关资料。 思想是可以移植的,可以借鉴的!,什么是实物对象?,实物对象有很多,可以是图片中的任意一种你可以叫出名字的东东,如树,帅哥,美女和猪头猪脸等! 在这主要是指可以用向量表示并统计的对象,这些对象的形状是比较稳定的,如人脸的轮廓,手形,人体轮廓等。,数学知识准备,ASM用到的数学主要用矩阵的特征值和特征向量;向量场及其切平面空间

3、;概率与统计上的样本平均均值,样本方差,协方差矩阵;PCA分析等。 在ASM的编程实现过程中用到的数学单位向量的,角平分线等。,特征值与特征向量,一个行列式不为零的方阵总是有n个特征值和n个特征向量,特别当矩阵是实对阵时,其特征向量和特征值都是实数。,一个对称阵的n个特征向量是两两正交的向量,由线性代数理论可知这n个特征向量可以组成一个n维空间的基础解系。类似我们三给空间的直角坐标系。因此n维空间中的任何向量都可以用这n个特征向量线性表示!即:,给定一个实对称矩阵A,我们可以得到n个特征值以及对应的n个特征向量:,样本平均值,假如我们有N个n维的样本,则这N个n维的样本的平均值就应该是:,I

4、1,2,n,样本方差,多维向量的样本方差是用协方差矩阵来表示的。,协方差矩阵,协方差矩阵是表示多维样本的差别的相互关系。,简单的数学原来可以这样用!,大家在本科学了概率,学了线性代数,却很少有人告诉我们这些有什么用,什么乱七八糟的统计,还有特征向量特征向量这鬼东东能做什么,难道只是用来占用我们的硬盘空间和考试用的吗? 再接下来的一些解说中,希望大家有什么不清楚的可以记下来,有兴趣的可以问一下!,接下来的解说,希望大家一起思考请大家一起来思考! 也许一些问题看上去很简单,但很多人从来都没有搞懂!,怎样才能知道什么图形才是人脸?,想想我们是怎么认出一个“对象”是人的脸? 那就需要我们见过很多不同的

5、人,然后我们才能再见到另一个人时,知道他是人,而不是怪物! 那用什么方法可以用来比较一个图形是不是人脸呢? 那是不是要建立一种可以用来计算的数学模型?怎么建立?什么样的模型?,如果一张人脸的轮廓可以表示成一个向量,那样我们不就可以对它进行各种运算,统计,比较吗? 现在的问题是怎么才能把一张人脸表示成向量? 你知道向量有什么样的运算规则吗?这些运算规则又有什么意思?,怎样把人脸轮廓表示成向量。,再问问大家,什么是向量? 向量就是数的组合,这里只用来实数向量。 如:,相片上的点是可以用相对左上角的点用坐标方式表示的,如(100,100)。 那么,人脸的轮廓在图片上也是由点组成的一些曲线,我们也可以

6、用坐标来表示这些曲线! 有个问题,人脸的边界那么多点,我们要怎么把这么多点表示成向量?是不是要把所有的点的坐标都用来表示向量?,怎样把人脸轮廓表示成向量。,再想想,我们把人脸表示成向量的目的是什么? 用向量表示人脸的目的是建立人脸的模式,以方便后面的运算处理。这些运算处理是不是要用到向量的运算! 向量的运算能在不同维度的向量之间进行吗?(有人不知道维度是什么意思吗?) 而做这运算的是不是CPU来完成? CPU的处理能力是不是有限的?,怎样把人脸轮廓表示成向量。,显然向量运算只能在维度相同的向量之间进行的吧!除了数与向量相乘! 这样,我们应该把每张人脸的轮廓用维度的向量来表示,这些向量应该由轮廓

7、曲线上的点的坐标来组成,坐标的数量也就决定着向量的维度。因此我们应该在每张人脸轮廓曲线上取相同的点数才能保证建立的每一个向量的维度是一致的!,建立向量的方法。,在每张人脸的轮廓上取相同的点,把它们的坐标组成向量就可以了。可以通过以来方式来建立!,通过上面的方法,我们就可以从每一张人脸中得到N个点,把这些点坐标组成如下的向量。向量的维度为2 N维!,样本,样本就像我们一开始并不知道什么是小狗,但是如果给我们一堆小狗,并有人告诉我们这些会动的东东就叫“小狗”,以后我们自己看到小狗后,我们就会说:“汪汪”。 以此相对应的是我们一开始不知道什么是人脸,我们就需要一些人脸样本。,样本,以是样本是由很多人

8、脸图片组成的,我们把每张人脸图片中的人脸都用同上的N个点来描述,并表示成2N维的向量! 至于这些数字化的人脸轮廓有用途,下面会慢慢引导大家进入ASM的核心!,计算平均模型,我们有M张人脸的图片,于是通过对每张图片进行向量的建模,我们就得到M个2N维的向量! 我们需要计算其平均向量,至于这样做的意义接下去的ppt会介绍! 平均模型的计算方法在这个Presentation一开就介绍了!还有印象吗?(回顾),平均模型,平均模型也就是平均向量,就是求M个样本的平均值。于是我们得到一个平均模型,以后的介绍都以“模型”来说明。,计算人脸模型的协方差矩阵,由了平均模型,就可以计算这M个人脸模型的协方差矩阵(

9、嘻嘻,协议差矩阵的意义同样一会会说的啦!),协方差矩阵是对称阵,这点很关键,很重要!至于为什么是对称阵,不懂的同学自己动动猪脑啦!_,平均模型和协方差矩阵的意义,在代数统计中,我们知道,任何一个向样本都是可以表示成平均样本加上样本与平均样本的差吧!简单的说就是:,原来就是这么简单的用途吧!用小指想想都知道吧_ 这样,我们只要知道所有人脸与平均的差不就可以用平均模型和那个差值来表示所有的人脸模型吗? 补充:平均表示是一般人脸的典型形状!,问题:,获取所有人脸模型与平均模型的差别现实吗?这个世界有多少不同的人呀! 6,000,000,000人口呀! 是不是意味就有6,000,000,000种不同的

10、差值呢? 现在让你想想什么是基础解系?它有什么能力?,在线性代数中,是不是有个结论,在一个n维的空间,所有的n维都可以用其基础解系表示呀! 再想想,一个人脸模型与平均模型的差值是不是也是一个2N向量呢?(向量的加减法) 所以呀,全世界的所有人脸与平均人脸的差都是可以由2N个线性无关的向量组成的基础解系表示!于是.,协方差矩阵的意义,协方差矩阵正是表示所有样本与平均模型差的一个相关矩阵。我们可以用协方差矩阵的2N个分量的加权再加上平均脸来得到所有可能的人脸轮廓模型! 即:,B1,b2,bn为加权系数。理解应该没有问题!,结论,其实到了上面我们已经有了平均模型和协方差矩阵,有了它们,就可以用来表示

11、所有的可能人脸模型了!到这里就完成了对人脸模型的数学建模!,现实问题1,我们来看看一个建模例子 我们现在有120张人脸图片,我们每张图片用58个点来描述,以是每个点就表示成126维的向量!我们经过上面的求平均模型和协方差矩阵后就得到一个128维的平均模型和128128的协方差矩阵。 在表示任意一张人脸模型时,需要进行下面的计算:,上面的运算量是比较大的,对于现在的计算机来说也是可以承受的,但所用时间也是相当多的。,另一种表示方式,因为人脸向量都是可以表示人脸,人脸就是一种形状相对稳定的!一个模型可以表示成128维的向量。现在请大家发挥你们的空间想象力。 一个128维的向量在一个128维的空间表

12、示的是什么呢?还是一条有人脸形状的人脸曲线吗?,一个n维的向量在一个n维的空间只是表示一个点而已! 前面说过了,人脸是比较稳定的,数学告诉我们,空间想象也可以得到,这些表示人脸的向量在128维的空间中是一团点集,因为人脸的相对稳定,在空间中这些点分布是很集中的,是分布上一个128空间中的一条直线的周围!想明白了吗?,由于这些人脸模型在128维空间的分布特点,我们可以才用一些很近似,但是很有效的方法来减少基础解系中向量的数量,也许我们并不需要128个128维的向量来表示所有人脸模型,可能只要少量的。从图中感觉到吗?,PCA分析,什么是PCA分析?(Principal Component Anal

13、ysis) 现在来举个形象的例子。 现在假设软件学院的25个同学每个人都欠三毛钱,三毛现在因为炒股被套住了。没有资金,他要向大家讨钱买新股票! 并假设每个人欠他不等的钱。,如1号到25号的同学分别欠他的钱为M1,M2,M3M25,如: 10000,3000,2900,600,550,300,290,50,38,12,4,3,0.5$ 我们可以看出,其实三毛只要向前面少数几个同学要钱就基本上可以要回全部钱,他没有必要去向些只欠几块钱的同学要钱吧!当然,他要100全部收回,就还是要向所有人讨钱的!,假如他要收回98的钱,他只需要向前面n个同学要钱,使得:,而如果像上面列的数学,我们可能只需要前面的

14、5,6个同学还三毛钱就可以了。他就不会向剩下的同学要钱了!假设只要n5个同学还他钱就够了,那么我们就可以称这个5同学欠三毛的数量为Principal Component! 接下来,我将介绍如何给那个协议差矩阵瘦身!她有128个向量呀,实在太胖了,看了就受不了!_,特征值和特征向量,通过以下的介绍,相信各位兄弟姐妹们可以知道那个特征值和特征向量的用处了! 我们就来对那个胖胖的协方差矩阵求她的特征向量和特征值!(手动算大家应该也会吧,就是太大了,用软件包很容易做到,如:Matlab),特征值和特征向量,通过计算我们就可以得到128个128维的特征向量和128个特征值(特征值可能有相等,但根据矩阵理

15、论,特征向量一定不会相等,而且相互垂直!) 即:,上面的特征值和特征向量是一一对应的,并且我们假设对特征值已经进行了从大到小的排列,排在第一个的特征值最大。,特征向量和特征值的意义,至于求这特征向量和特征值的用处通过前面的分析,我们是为了进行PCA分析做准备。 在此给大家一个形象的把握。至于数学证明就不解释了,但我想大家知道特征向量和特征值的作用就足以理解ASM了! 所有人脸可以看成n维空间的一个集合。,特征向量对应的特征值表示这个特征向量所能“覆盖”的集合的大小。具体如下面的动画演示!,特征向量和特征值的意义,通过上面的动画演示,不知道大家是否已经明白特征向量和特征值的意义了。我们所得到的所

16、有特征向量也是一个128维空间中的基础解系,即也可以表示128维空间中的所有向量,包括那些人脸向量,而表示人脸向量(在一定近似程度下)并不用所有的坐标,只需要其中的一个子集,即可能只要少数的几个坐标就可以表示了,在这我总结如下: 特征向量对应的特征值决定了这个向量在表示特定模型的重要性,特征值越大,说明这个向量越重要!也就是这个向量能覆盖的空间越大!,PCA分析,我们根据特征值的大小,选取前面的n个特征向量,使得其特征值的和为所有特征值的一个百分比,如98。 这样,所选出来的这些特征向量就足以表示几乎所有的人脸与平均模型的差别了! (表示差别是因为这些特征向量是由协议差矩阵得到的)。 到了这里

17、,我不知道我讲的是否足够形象以让大家可以接受!,PCA分析,经过PCA分析后,我们一般可以得到数量远小于128的几个主要的特征向量。我的实验结果大约如下: 如果用36个人脸样本,可以得到17个主要的特征向量;如果用132个,可以得到差不多40个主要的特征向量。这些少数的几个特征向量就足以表示所有的样本人脸与平均人脸的差别了!,PCA分析,于是原来的计算公式:,就可在近似(98的近似度)写成下面的公式:,这个可以节省大量的计算,其实由于计算机本向的精度关系,这个做的效果一般也不会输给用所有的128个特征向量来算的效果!,到此为此,我想我已经介绍ASM的核心思想了,大家会不会奇怪,怎么就这样子就完了呀?怎么识别人脸呀! 还有一些东东我没有一一介绍,如样本的对齐,这应该很简单,有兴趣的可以参考我的论文;还有如何搜索,这个问题其实我的实验结果大约如很多,不是唯一的,只是思想都是一样的,都是通过建立概率统计模型来的,这个思想在AAM中照样适就,只是AAM用它来对纹理建模!由于时间的关系,AAM到现在我也没有去具体深入学习!,下面通过程序演示给大家一下直观的印象。,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > PPT模板素材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报