多维正态分布与图形识别
2016-05-20 01:29
232 查看
多维正态分布与图形识别
对一维,二维,多维正态分布的理解从图形识别角度理解和应用正态分布
目录
多维正态分布与图形识别目录
写在前面
从图形识别的角度对正态分布的理解
什么是正态分布
一维正态分布下的识别与匹配
二维正态分布下的识别与匹配
多维正态分布
一个图形匹配实际问题
写在后面
写在前面
学无止境,最初只是想要写一个对视频流进行运动识别匹配的程序,然而匹配识别的算法精度不够,于是开始学习线性代数,统计学里的一些知识。这两天又重新把正态分布理解了一下。下文里主要是对于正态分布的直观的想象和个人理解,请多指教。另外,因为对于csdn博客插入数学公式还不太熟悉,用了LaTeX以后会在公式或者变量右边出现一个“|”,还请不要在意。从图形识别的角度对正态分布的理解
什么是正态分布?
一个弹珠从弹珠游戏机(日本很流行的パチンコ)的顶端落下,并与设置好的障碍发生碰撞。那么这个弹珠落下来的位置就是一个典型的一维正态分布。正态分布,也叫高斯分布,是用来表示一个服从正态分布的随机变量的概率分布。而服从正态分布的条件就是,该变量周围存在大量作用因素,但作用因素的影响都很小,那么视这个变量服从正态分布。具体数学上的定义和限制条件先放过不提。
一维正态分布下的识别与匹配
若有一组符合正态分布的数据D₁,其平均值是μ,其标准差是σ,那么对这组数据就可以用一维正态分布的公式进行拟合,计算的结果就是这组数据的概率分布函数。此时再有一个数据x₁,想要知道x₁在D₁的分布下的概率,那么就直接将x₁带入D₁的正态分布函数中计算出相应的分布概率即可。
二维正态分布下的识别与匹配
类似的,若有两组二维数据D₁{(x₁,y₁),(x₂,y₂),……(xn , yn)},D₂{(x’₁,y’₁),(x’₂,y’₂),……(x’ₐ,y’ₐ)}符合正态分布,则通过计算每一维的平均值μx,μy,以及每一维的标准差σx,σy,可以计算得到D₁,D₂各自的正态分布。
如果对一个二维正态分布的图像,将Z轴去掉,以等高线的形式表示其分布的概率值的大小,那么对于D₁,D₂的图像,就变为了一系列包含着的椭圆。
当一个新的二维向量T(x,y)需要识别匹配T属于D₁还是D₂时,将T带入
D₁,D₂的正态分布公式后,得到的概率值大的即选定匹配结果。在图中可以看到,T与D₂的欧式距离近(虽然不明显,但是可以姑且想象),但是D₁在T的方向上概率变化缓慢(注意,椭圆表示的是密度的等高线),因此最终计算的结果应该是T匹配到D₁。
多维正态分布
由此引申到多维正态分布。一组数据X在正态分布wl中对应的概率可由上式计算。
wl是一个M维样本,每一维样本又有N个属性的正态分布,也就是一个M*N的矩阵,Σl是wl的协方差矩阵。X同样是一个M*N的数据矩阵。
设X中的数据元素为xmn。
且
μl<
ce4c
span style="position: absolute; clip: rect(1.816em 1000em 2.616em -0.477em); top: -2.131em; left: 0.643em;">i是wl中各维度的第i个属性相加求的平均值。
这样通过P(X|wl)就计算出了X分布在wl时候的概率值。有多个样本wl1,wl2……wln时只要求出X在各个样本中分布的概率即可完成匹配。
一个图形匹配实际问题
我学习多维正态分布主要是因为我遇到了下边的问题。现有三个样本,每一个样本是一个120*30的矩阵。矩阵的行表示存储120帧连续的图像特征点信息,列表示每一帧图像信息是一个10*3的向量(十个关节点的三维坐标)。
现在又获得了一个120*30的新的图像流信息矩阵,要求将这个矩阵与三个样本进行比较匹配。
假设这些关节点各自独立不相互影响。
先求出与样本矩阵的协方差矩阵,和样本自身的平均值μ。然后计算P(X|wl),并比较得出概率最大的样本。
写在后面
目前还没有把这个算法实现代码,所以精度还不能从实验得知。但是首先,人的上半身10个关节点不能算完全独立不影响,比如腕关节和肘关节在运动时常常有相同的位移趋势等。这一点是否将会影响匹配结果还要等接下来的研究。另外周二时候学习的奇异值分解与正态分布也有很大联系。在数据矩阵X中,每一列表示一个数据点,每一行表示一维特征。分解得到的S,U,V可以用正态分布的观点来看。U表示数据形成的正态分布的轴的方向,是一组单位正交基;S代表这些轴的长度,利用奇异值可以将数据矩阵降维并且可以研究数据之间的相关性。
比如,利用奇异值分解之后的结果,可以确定出我上面问题中,120帧图像流中,哪几帧相关性强,并且这些相关性强的帧中,哪几个关节点与这些帧的相关性强。也就是可以通过分类算法,将帧与动作联系在一起,从这样的相关性的方面对动作进行初步分类识别。而降维后再计算正态分布的概率想必肯定会提高识别的准确性。
在学习的路上希望能够坚持下去,共勉。
相关文章推荐
- HTML入门
- UVa11400 - Lighting System Design——[动态规划]
- 2016.5.19渗透经验总结
- 【结论】【数论】拓展欧几里得算法、费马小定理
- STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。
- <<js>>每个函数都有作用域链
- 【二分】【高精度】Vijos P1472 教主的集合序列
- 实战ItemTouchHelper仿网易新闻客户端自定义栏目页面
- 上位机用USB做虚拟串口,总算抓到一个纯代码的总结了,没有坑的完美解决。
- 浅谈SSO及web开发基础
- 自定义继承ListView控件实现下拉刷新底部加载的实现
- STM32的bulk双缓冲传输速度的讨论,硬件的坑永远填不完
- 更新到Xcode 7.3,iOS 9.3 SDK后,Theos导入private framework编译时报错的解决方案
- dual vector space
- javaEE是什么
- I2C和LCD信号干扰的解决:硬件工程师都硬不起来,让软件工程师硬着头上
- Gt9xx芯片,在规格书+Linux驱动的基础上,移植为USB裸机经验。直接用开发板,不去碰硬件的坑。
- Think Android 的数据库用法(一)
- 【乘法逆元】1256 乘法逆元【51nod】【难度:基础题】
- WIN7下USB多点触摸,一次发多个数据包的延迟问题,重要!