图像梯度

梯度下降法

与世无争的帅哥 提交于 2020-03-01 13:26:07
梯度下降法(Gradient Descent,GD)是一种常见的一阶(first-order)优化方法,是求解 无约束优化问题 最简单、最经典的方法之一。,在最优化、统计学以及机器学习等领域有着广泛的应用。 所谓的一阶方法就是仅使用目标函数的一阶导数,不利用其高阶导数。 那什么是无约束优化问题呢?举个例子,在一元函数法 f ( x ) f(x) f ( x ) 的图像中,求无约束最优化问题,即不对定义域或值域做任何限制的情况下,求解函数 f ( x ) f(x) f ( x ) 的最小值。 1、场景假设 梯度下降法的基本思想可以类比为一个下山的过程。 假设这样一个场景:一个人需要从红色山顶得 某处 开始下山, 尽快 到达蓝色得山底。在下山之前他需要确认两件事: 下山的方向 下山的距离 按照梯度下降算法的思想,它将按如下操作达到最低点: 第一步,明确自己现在所处的位置 第二步,找到相对于该位置而言下降最快的方向( 下山的方向 ) 第三步, 沿着第二步找到的方向走一小步( 下山的距离 ),到达一个新的位置,此时的位置肯定比原来低 第四部, 回到第一步,重复执行这个过程,直到到达山底 这一过程形象的描述了梯度下降法求解无约束最优化问题的过程,下面我们将例子里的关键信息与梯度下降法中的关键信息对应起来: 山代表了需要优化的函数表达式; 山的最低点就是该函数的最优值,也就是我们的目标;

【计算机视觉】Lecture 5:梯度和边缘检测

微笑、不失礼 提交于 2020-02-28 13:36:54
什么是边缘? 简单的回答:灰度不连续处 物体的边界 不同材料性质的边界 光照的边界 边缘的类型(一维剖面) 边缘可以根据灰度剖面来建模 阶跃边缘 Step edge:图像灰度突然从不连续一侧的一个值变为另一侧的另一个值 斜坡边缘 Ramp edge:灰度变化不是瞬间的而是在有限距离内发生的一种阶跃边缘 例子 边缘的类型(一维剖面) 山脊边缘 Ridge edge:图像灰度值突然变化,然后在很短的距离内回到开始的值;通常由图像中的线产生 例子 边缘的类型(一维剖面) 屋顶边缘:灰度变化不是瞬间的而是在有限距离内发生的一种山脊边缘;通常在曲面相交处产生 例子 阶跃/斜坡边缘术语 边缘描述子 —— 边缘法向 :最大灰度变化方向的单位矢量。 —— 边缘方向 :沿着边缘的单位矢量(垂直于边缘法线)。 —— 边缘位置/中心 :边缘所在图像中的位置 —— 边缘强度/幅值 :沿着边缘法向的局部图像对比度 重点:所有这些信息都可以从梯度向量场计算出来!! 梯度的总结 边缘像素是在梯度幅值局部最大的地方 梯度方向垂直于边缘方向 梯度向量: 幅值: 方向: 来源: CSDN 作者: USRL所长 链接: https://blog.csdn.net/u010307048/article/details/104550540

Computer Vision_33_SIFT:Object recognition from local scale-invariant features——1999

只谈情不闲聊 提交于 2020-02-25 12:27:08
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献。有一些刚刚出版的文章,个人非常喜欢,也列出来了。 33. SIFT 关于SIFT,实在不需要介绍太多,一万多次的引用已经说明问题了。SURF和PCA-SIFT也是属于这个系列。后面列出了几篇跟SIFT有关的问题。 [1999 ICCV] Object recognition from local scale-invariant features [2000 IJCV] Evaluation of Interest Point Detectors [2006 CVIU] Speeded-Up Robust Features (SURF) [2004 CVPR] PCA-SIFT A More Distinctive Representation for Local Image Descriptors [2004 IJCV] Distinctive Image Features from Scale-Invariant Keypoints [2010 IJCV] Improving Bag-of-Features for Large Scale Image Search [2011 PAMI]

分布式机器学习系统笔记(一)——模型并行,数据并行,参数平均,ASGD

℡╲_俬逩灬. 提交于 2020-02-24 15:48:10
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。 技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入。 文章索引::”机器学习方法“,”深度学习方法”,“三十分钟理解”原创系列 2017年3 月,谷歌大脑负责人 Jeff Dean 在 UCSB 做了一场题为《通过大规模深度学习构建智能系统》的演讲[9]。Jeff Dean 在演讲中提到,当前的做法是: 解决方案 = 机器学习(算法)+ 数据 + 计算力 未来有没有可能变为: 解决方案 = 数据 + 100 倍的计算力? 由此可见,谷歌似乎认为,机器学习算法能被超强的计算力取代[9]。 [11]研究工作表明,任务表现与训练数据数量级呈线性增长关系。或许最令人震惊的发现是视觉任务的表现和用于表征学习的训练数据量级(对数尺度)之间的关系竟然是线性的!即使拥有 300M 的大规模训练图像,我们也并未观察到训练数据对所研究任务产生任何平顶效应(plateauing effect)。 上图说明预训练模型在 JFT-300M 不同子数据集中的目标检测性能。其中 x 轴代表数据集的大小,y 轴代表在 mAP@[.5,.95] 中 COCO-minival 子数据集上的检测性能。 要完成超大规模数据的训练,以及训练超大规模的神经网络,靠单GPU是行不通的(至少目前来看)

图像梯度(Image Gradient)

让人想犯罪 __ 提交于 2020-02-24 08:49:24
图像梯度是指图像某像素在x和y两个方向上的变化率(与相邻像素比较),是一个二维向量,由2个分量组成,X轴的变化、Y轴的变化 。 其中X轴的变化是指当前像素右侧(X加1)的像素值减去当前像素左侧(X减1)的像素值。 同理,Y轴的变化是当前像素下方(Y加1)的像素值减去当前像素上方(Y减1)的像素值。 计算出来这2个分量,形成一个二维向量,就得到了该像素的图像梯度。取反正切arctan,可得到梯度角度。 这个求图像梯度的过程可以通过一个卷积核来实现:[-1,0,1] 来源: CSDN 作者: 我是老孙啊 链接: https://blog.csdn.net/greatwall_sdut/article/details/104457449

opencv-python中Canny算子边缘检测详解

▼魔方 西西 提交于 2020-02-21 17:47:16
Canny算子是一种非常流行的边缘检测算法,在opencv中直接提供给了我们Canny函数,但是我们还是有必要对其原理有一定的了解。 原理 Canny算子包含四步操作: 去噪 首先要去除图像的噪声,边缘检测很容易受到噪声的影响。去噪操作中我们使用的是5*5的高斯滤波器。 计算梯度 在这一步要计算图像的梯度。不但要计算梯度的大小,还要求出梯度的方向。梯度的方向被归为四类:水平,垂直,两条对角线方向。 计算图像梯度的大小和方向的公式如下: 非极大值抑制 经过以上操作得出的边界是非常粗糙且精度低的。我们需要在计算出梯度的大小和方向之后对整幅图像的像素点进行遍历。去除那些不在边界上的点。 对每一个像素点进行检查,看它是否是周围同方向梯度的点中梯度最大的。如果是最大的,就保留,如果不是,就抑制(归0) 如图,黄色点被保留,白色点被抑制。 滞后阈值 这是确定点是否在边界上的最后一关。我们设置两个阈值(maxVal,minVal) 凡是梯度大于maxVal的点我么就认为这个点处在边界上,保留 梯度值大于minVal小于maxVal的点,如果这个点与某个确定为边界的点相连,保留;否则就抛弃 梯度值小于minVal的点,全部抛弃 经过这四步操作,我们就可以得到所想要的真正边界。 函数 OpenCV中提供给我们现成的函数: cv2 . Canny ( sec , minVal , maxVal )

Computer Vision_33_SIFT:PCA-SIFT A More Distinctive Representation for Local Image Descriptors——2004

有些话、适合烂在心里 提交于 2020-02-21 12:18:46
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献。有一些刚刚出版的文章,个人非常喜欢,也列出来了。 33. SIFT 关于SIFT,实在不需要介绍太多,一万多次的引用已经说明问题了。SURF和PCA-SIFT也是属于这个系列。后面列出了几篇跟SIFT有关的问题。 [1999 ICCV] Object recognition from local scale-invariant features [2000 IJCV] Evaluation of Interest Point Detectors [2006 CVIU] Speeded-Up Robust Features (SURF) [2004 CVPR] PCA-SIFT A More Distinctive Representation for Local Image Descriptors [2004 IJCV] Distinctive Image Features from Scale-Invariant Keypoints [2010 IJCV] Improving Bag-of-Features for Large Scale Image Search [2011 PAMI]

受限玻尔兹曼机和深度置信网络

爱⌒轻易说出口 提交于 2020-02-15 15:23:36
2016-07-20 11:21:33 1受限玻尔兹曼机 梯度下降法 (以及相关的L-BFGS算法等)在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。具体而言,当使用 反向传播方法 计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。结果就造成了整体的损失函数相对于最初几层的权重的导数非常小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习。这种问题通常被称为“梯度的弥散”[4]。 与梯度弥散问题紧密相关的问题是:当神经网络中的最后几层含有足够数量神经元的时候,可能单独这几层就足以对有标签数据进行建模,而不用最初几层的帮助。因此,对所有层都使用随机初始化的方法训练得到的整个网络的性能将会与训练得到的浅层网络(仅由深度网络的最后几层组成的浅层网络)的性能相似。 梯度弥散一直是困扰着深度神经网络的发展,那么如何解决梯度弥散问题呢?多伦多大学的Geoff Hinton提出了设想:受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)[1],即一类具有两层结构的、对称链接无自反馈的随机神经网络模型(一种特殊的马尔科夫随机场)。 如图1所示,一个RBM包含一个由随机的隐单元构成的 隐藏层 (一般是伯努利分布)和一个由随机的可见(观测

神经网络数据预处理,正则化与损失函数

血红的双手。 提交于 2020-02-13 06:09:17
1 数据预处理 关于数据预处理我们有3个常用的符号,数据矩阵 \(X\) ,假设其尺寸是 \([N \times D]\) ( \(N\) 是数据样本的数量, \(D\) 是数据的维度)。 1.1 均值减去 均值减法(Mean subtraction)是预处理最常用的形式。它对数据中每个独立特征减去平均值,从几何上可以理解为在每个维度上都将数据云的中心都迁移到原点。 在numpy中,该操作可以通过代码 \(X-=n p \cdot \operatorname{mean}(X, \text { axis }=0)\) 实现。 而对于图像,更常用的是对所有像素都减去一个值,可以用 \(\mathrm{X}-=\mathrm{np} \cdot \operatorname{mean}(\mathrm{X})\) 实现,也可以在3个颜色通道上分别操作。 1.2 归一化 归一化(Normalization)是指将数据的所有维度都归一化,使其数值范围都近似相等。 有两种常用方法可以实现归一化。 第一种 是先对数据做零中心化(zero-centered)处理,然后每个维度都除以其标准差,实现代码为 \(\mathrm{X} /=\mathrm{np} . \mathrm{std}(\mathrm{X}, \mathrm{axis}=0)\) 。 第二种 是对每个维度都做归一化

pytorch-线性回归

蓝咒 提交于 2020-02-12 20:37:02
线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: p r i c e = w a r e a ⋅ a r e a + w a g e ⋅ a g e + b \mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} + b p r i c e = w a r e a ​ ⋅ a r e a + w a g e ​ ⋅ a g e + b 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中