高斯

图像处理基础(4):高斯滤波器详解

痞子三分冷 提交于 2020-02-01 17:11:32
本文主要介绍了高斯滤波器的原理及其实现过程 高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。 什么是高斯滤波器 既然名称为高斯滤波器,那么其和高斯分布(正态分布)是有一定的关系的。一个二维的高斯函数如下: \[ h(x,y) = e ^ {- \frac{x^2 + y^2}{2\sigma ^ 2}} \] 其中 \((x,y)\) 为点坐标,在图像处理中可认为是整数; \(\sigma\) 是标准差。要想得到一个高斯滤波器的模板,可以对高斯函数进行离散化,得到的高斯函数值作为模板的系数。例如:要产生一个 \(3 \times 3\) 的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向下) 这样,将各个位置的坐标带入到高斯函数中,得到的值就是模板的系数。 对于窗口模板的大小为 \((2k + 1) \times (2k + 1)\) ,模板中各个元素值的计算公式如下: \[ H_{i,j} = \frac{1}{2\pi \sigma ^ 2}e ^{-\frac

EM算法----就在身边

自闭症网瘾萝莉.ら 提交于 2020-02-01 08:08:06
EM算法---身边常用的算法 贝叶斯分类 高斯混合聚类 半监督学习--生成式方法 EM算法很常用,下面就简单总结下,使用到EM算法的一些算法。 贝叶斯分类   现实中,会遇到“不完整”的训练样本,如某些属性变量值未知,即存在“未观测到”变量情形下,可以使用EM算法。   基本思想是:若参数已知,则可根据训练数据推断出最优隐变量的值(E步),反之,若隐变量的值已知,则可方便的对参数做极大似然估计(M步)。   简单来说,EM算法使用两个步骤交替计算: 第一步:E步。利用当前估计的参数值(参数初始值人为设定)来计算对数似然的期望值; 第二步:M步,即最大化步。寻找能使E步产生的似然期望最大化的参数值; 第三步:交替。新得到的参数用于E步,…直至收敛到局部最优解。 高斯混合聚类   假定样本由k个高斯分布混合生成,高斯混合聚类采用概率模型来表达聚类模型。高斯混合聚类采用EM算法进行迭代优化求解。 令随机变量zj∈{1, 2, 3, …, k}表示生成样本xj的高斯混合成分,其取值未知(相当于是隐变量)。   公式推导可见周志华的《机器学习》,第208页-209页。   高斯混合聚类的EM算法思想: E步:在每步迭代中,先根据当前参数来计算每个样本属于每个高斯成分的zj的后验概率; M步:再根据极大似然法估计的公式,更新模型参数。 半监督学习–生成式方法   在半监督学习中

dog 高斯差分边缘检测

萝らか妹 提交于 2020-01-29 08:53:07
Applies two Gaussian blurs to the drawable, and subtracts the results. This is robust and widely used method for detecting edges. cv::Mat input;// source image cv::Mat edge;// output image cv::Mat blur1; cv::Mat blur2; int r1 = 1; // 奇数 int r2 = 49;// 奇数 float s1 =sqrt (-(r1 * r1) / (2 * log (1.0 / 255.0))) ; float s2 =sqrt (-(r2 * r2) / (2 * log (1.0 / 255.0))) ; // 两个不同半径的高斯滤波 cv::GaussianBlur(input, blur1, cv::Size(r1,r1),s1); cv::GaussianBlur(input, blur2, cv::Size(r2,r2),s2); //作差 cv::subtract(blur1,blur2,edge); //反色 cv::bitwise_not(edge,edge); Gimp 插件高斯差分边缘检测 源码: https://github.com

sift算法原理解析

感情迁移 提交于 2020-01-28 21:41:22
尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 转自: http://blog.csdn.net/zddblog/article/details/7521424 对于初学者,从 David G.Lowe 的论文到实现,有许多鸿沟,本文帮你跨越。 1 、 SIFT 综述 尺度不变特征转换 (Scale-invariant feature transform 或 SIFT) 是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在 1999 年所发表, 2004 年完善总结。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、 3D 模型建立、手势辨识、影像追踪和动作比对。 此算法有其专利,专利拥有者为英属哥伦比亚大学。 局部影像特征的描述与侦测可以帮助辨识物体, SIFT 特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT 特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要 3 个以上的 SIFT 物体特征就足以计算出位置与方位

第九周 第二部分

拥有回忆 提交于 2020-01-26 20:11:58
多元高斯分布 x1 ,x2大概为线性关系,一些浅绿色的叉根据p(x1) *p(x2) 不太异常,但实际异常圆圈上的异常情况应该大致一致,但p(x1) *p(x2) 差异较大 那么,开发一种 改良版的异常检测算法 要用到一种 叫做多元高斯分布或者多元正态分布的东西 它能捕捉到一些之前的算法检测不出来的异常 多元高斯分布的参数 包括向量 µ 和一个 n×n 矩阵 Σ 被称为协方差矩阵 Σ 的行列式 (determinant) 它是一个矩阵的数学函数     改变协方差矩阵 非对角线上的元素 你会得到一种不同的高斯分布 所以当我将非对角线的元素 所以当我将非对角线的元素 从 0.5 增加到 0.8 时 我会得到一个 更加 窄和高 的 沿着 x=y 这条线的分布 然后这个等高线图告诉我们 x 和 y 看起来是 一起增加的 概率高的地方是这样的 要么 x1 很大 x2 也很大 或者 x1 很小 x2 也很小 或者是这两者之间 然后随着这个值 0.8 增大 你会得到这样一个高斯分布 差不多全部的概率 都在一个很窄的范围内 也就是 x 几乎等于 y 它是一个非常高 而且非常薄的分布 几乎完全在 x 非常接近于 y 的这样一个 非常窄的范围内 改变均值u: 改变峰值的位置,移动分布的中心 总结1 : 不同的图片 展示 多元高斯分布 所能描述的概率分布是什么样的 它最重要的优势 就是它可以让你

因子分析

佐手、 提交于 2020-01-25 19:09:50
1 问题 之前我们考虑的训练数据中样例 的个数m都远远大于其特征个数n,这样不管是进行回归、聚类等都没有太大的问题。然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如果初值不同,得到的参数结果会有很大偏差(因为方程数小于参数个数)。另外,如果使用多元高斯分布(Multivariate Gaussian distribution)对数据进行拟合时,也会有问题。让我们来演算一下,看看会有什么问题: 多元高斯分布的参数估计公式如下: 分别是求mean和协方差的公式, 表示样例,共有m个,每个样例n个特征,因此 是n维向量, 是n*n协方差矩阵。 当m<<n时,我们会发现 是奇异阵( ),也就是说 不存在,没办法拟合出多元高斯分布了,确切的说是我们估计不出来 。 如果我们仍然想用多元高斯分布来估计样本,那怎么办呢? 2 限制协方差矩阵 当没有足够的数据去估计 时,那么只能对模型参数进行一定假设,之前我们想估计出完全的 (矩阵中的全部元素),现在我们假设 就是对角阵(各特征间相互独立),那么我们只需要计算每个特征的方差即可,最后的 只有对角线上的元素不为0 回想我们之前讨论过的二维多元高斯分布的几何特性,在平面上的投影是个椭圆,中心点由 决定,椭圆的形状由 决定。 如果变成对角阵,就意味着椭圆的两个轴都和坐标轴平行了。 如果我们想对 进一步限制的话

因子分析

主宰稳场 提交于 2020-01-25 19:09:34
1 问题 之前我们考虑的训练数据中样例 的个数m都远远大于其特征个数n,这样不管是进行回归、聚类等都没有太大的问题。然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如果初值不同,得到的参数结果会有很大偏差(因为方程数小于参数个数)。另外,如果使用多元高斯分布(Multivariate Gaussian distribution)对数据进行拟合时,也会有问题。让我们来演算一下,看看会有什么问题: 多元高斯分布的参数估计公式如下: 分别是求mean和协方差的公式, 表示样例,共有m个,每个样例n个特征,因此 是n维向量, 是n*n协方差矩阵。 当m<<n时,我们会发现 是奇异阵( ),也就是说 不存在,没办法拟合出多元高斯分布了,确切的说是我们估计不出来 。 如果我们仍然想用多元高斯分布来估计样本,那怎么办呢? 2 限制协方差矩阵 当没有足够的数据去估计 时,那么只能对模型参数进行一定假设,之前我们想估计出完全的 (矩阵中的全部元素),现在我们假设 就是对角阵(各特征间相互独立),那么我们只需要计算每个特征的方差即可,最后的 只有对角线上的元素不为0 回想我们之前讨论过的二维多元高斯分布的几何特性,在平面上的投影是个椭圆,中心点由 决定,椭圆的形状由 决定。 如果变成对角阵,就意味着椭圆的两个轴都和坐标轴平行了。 如果我们想对 进一步限制的话

【DS】八皇后问题java代码

只谈情不闲聊 提交于 2020-01-23 15:39:29
八皇后问题简介:八 皇后 问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家 高斯 1850年提出:在8X8格的 国际象棋 上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在 柏林 的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法 解出92种结果 。计算机发明后,有多种方法可以解决此问题。 解决方法:回溯算法 Java代码: public class QueenPosition { private int x; private int y; public QueenPosition(int row, int column){ x = row; y = column; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } } 这个类是用来存储皇后放置在棋盘上的位置的。 以下这个类是解法: import java.util.ArrayList; public class EightQueens { static

机器学习中的核技巧

六眼飞鱼酱① 提交于 2020-01-22 22:45:11
核技巧、核函数 真正接触核方法应该是在 SVM ,正常情况下,感知机算法和支持向量机都是默认数据是线性可分的,这类问题叫做线性分类问题。当数据线性不可分的时候,但高维可分(这个不理解可以多看看书),我们仍然想用线性分类的方法去解决,这个时候就需要用非线性变换将非线性问题转换成线性问题。 于是,我们得到求解非线性分类问题的一个思路: 1. 用一个非线性变换,将数据特征从原空间映射到一个新的空间,这里的原空间是低维的输入空间(欧式空间或离散集合),新的空间是高维的特征空间(希尔伯特空间,完备的内积空间) 2. 在新的空间上使用线性分类算法求解。 核函数的定义: Φ(x)是非线性变换的映射函数,则核函数 K(x,z)=Φ(x)⋅Φ(z),定义为两个映射的内积。 一般特征空间是高维或者无穷维的,因此很难去定义一个特征空间以及输入空间到这个特征空间的映射,核技巧的想法是,在学习和预测中只定义核函数 K(x,z),而不显式地定义特征空间和映射,简化计算难度。 为什么是内积的形式呢,我的理解是一方面,在 SVM 或者感知机的对偶性只涉及到 xi⋅xj,另一方面,分类和回归任务可以分为两类:一类是参数学习,另一类是基于实例的学习,区别就在于在预测阶段基于实例的学习还会用到训练数据;针对基于实例的学习,内积关注的是判定两点之间的相似程度。 运用核函数等价于经过映射函数 Φ(x)将输入空间的内积 xi