方向向量

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-13 02:19:32
参考:https://www.zhihu.com/question/21874816 如何理解矩阵特征值? 想要理解特征值,首先要理解矩阵相似。什么是矩阵相似呢?从定义角度就是:存在可逆矩阵P满足B= 则我们说A和B是相似的。让我们来回顾一下之前得出的重要结论:对于同一个线性空间,可以用两组不同的基 和基 来描述,他们之间的过渡关系是这样的: ,而对应坐标之间的过渡关系是这样的: 。其中P是可逆矩阵,可逆的意义是我们能变换过去也要能变换回来,这一点很重要。 我们知道,对于一个线性变换,只要你选定一组基,那么就可以用一个矩阵T1来描述这个线性变换。换一组基,就得到另一个不同的矩阵T2(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系)。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。具体来说,有一个线性变换 ,我们选择基 来描述,对应矩阵是 ;同样的道理,我们选择基 来描述 ,,对应矩阵是 ;我们知道基 和基 是有联系的,那么他们之间的变换 和 有没有联系呢? 当然有, 和 就是相似的关系,具体的请看下图: <img src="https://pic1.zhimg.com/6cf43eca0f26cb1752f8fbf2633b699c_b.jpg" data-rawwidth="721" data-rawheight="449" class

BP算法完整推导 2.0 (上)

别等时光非礼了梦想. 提交于 2020-01-25 23:36:40
前面的笔记已经把 BP算法给推导了, 那4大公式, 核心就是 求偏导数的链式法则 , 这篇, 再来跟着大佬来推一波, 目的是为了加深印象. 关于记忆这个话题, 心理学家,其实早已经给出了答案, 最好的记忆方式, 就是重复 , 写了这么多的笔记, 其实大多内容都是重复的, 交叉的, 反复了, 但不同是, 每次反复, 其实都是一个认知理解上升的过程, 觉得还是很有必要的. BP算法-变量声明 回顾历史 还是跟之前一样的, 先做一个简单的介绍, 然后对变量进行声明, 力求跟写代码的逻辑一样, 严谨, 规范, 有注释, 逻辑清晰, 模块化和面向对象 先是来简单介绍一波BP算法. 最早在1970年代就已经有人提出了, 直到1986年, 深度学习的大佬们才在论文中阐述其重要性. 在80年代中期, 这些大佬分别独立发现了 误差反向传播算法 (Error Back Propagation Training) 简称BP , 解决了, 多层神经网络, 隐含层连接权值学习 问题. BP 用来干嘛: 根据训练的误差, 来 动态 更新节点之间的 权值 . 分别独立发现: 好比牛顿和莱布尼兹 分别从各自领域创建了微积分. 不由感慨, 成功的大佬, 都是类似的, 我等凡人失败的借口, 总是各有各的说辞, 真的好扎心, 而又无可奈何呀. BP算法相对于其他的神经网络学习算法会快很多,

算法学习笔记——梯度下降法原理及其代码实现

懵懂的女人 提交于 2020-01-22 15:47:19
梯度下降法原理以及代码实现 本篇博客承接本人上一篇关于逐步回归算法的引申,本篇将开始整理梯度下降算法的相关知识。梯度下降,gradient descent(之后将简称GD),是一种通过迭代找最优的方式一步步找到损失函数最小值的算法,基本算法思路可总结为如下几点: (1) 随机设置一个初始值 (2) 计算损失函数的梯度 (3) 设置步长,步长的长短将会决定梯度下降的速度和准确度,之后会详细展开 (4) 将初值减去步长乘以梯度,更新初值,然后将这一过程不断迭代 1. 原理讲解——二维平面情形 还是老规矩,先从二维平面场景开始,由易到难,步步深入,先上图: 为了方便思考,我们求解的是对上述函数图像的任意一个点 来说,沿着哪个方向走能够使得该函数的y上升幅度最大,那么逆向思维,该方向一旦求得,该方向的反方向不就是使得y下降速度最快的方向了吗?好,沿着这个思路继续,由于这个方向是我们要求的,不妨设该方向与x轴的夹角为 ,现在我们沿着这个方向走 的距离,将该向量正交分解可知,它只有在水平方向上的分量才会提供使得函数值发生变化的效果,竖直方向上分量不产生任何效果,于是可得以下函数值变化量函数: 显然,当 为0,也就是水平正方向时,可使得该函数值上升最快,也就是说水平负方向可使得该函数值下降最快,至此,二维平面上的使得函数值下降最快的方向我们就找到了: 2. 原理讲解——三维空间情形

模式识别系列之特征降维(1)主成分分析

半城伤御伤魂 提交于 2020-01-19 11:54:20
目录 1-PCA概述 2-理论推导 2.1-向量的内积与投影: 2.2-基的表示与变换: 2.3-协方差矩阵: 2.4-PCA推导 3-几何理解 4-计算过程 4.1-样本数小于特征数时的计算 4.2-matlab代码 5-实例 参考 1-PCA概述 主成分分析是一种常用的降维方法,它不使用标签信息,通过将原始坐标空间的数据( d × 1 d\times 1 d × 1 )投影到新的正交空间( k × 1 k\times 1 k × 1 )中实现数据降维,所谓的主成分就是指数据在新空间的基的方向。PCA以方差作为信息损失衡量的标准,使得数据降维过程中信息损失最小,即降维后数据的方差要尽量大。PCA首先找到所有数据方差最大的方向,并将其作为新的坐标空间的第一个轴的方向,然后在这个方向的垂直超平面上寻找第二个方差最大的方向,并作为新坐标空间第二个轴的方向,以此类推,直到找到需要的k个方向,也就是K个主成分,显然这k个新的基方向是两两垂直的。PCA的主要过程可以用“扭动坐标轴,保留K个轴”来形容。 为什么要以方差最大为依据呢?降维是为了数据更好地表示与计算,显然我们不希望降维后的数据成了一坨,使得原本分界明显的数据掺和在一起。例如,将数据投影到一维坐标系中,显然绿色的投影更好一些,因为其分散程度大,也就是方差更大。 对n个d维数据构成的数据集 X X X ( d × n d\times

【译】Unity3D Shader 新手教程(2/6) —— 积雪Shader

♀尐吖头ヾ 提交于 2020-01-17 16:12:16
本文为翻译,附上 原文链接 。 转载请注明出处—— polobymulberry-博客园 。 如果你是一个shader编程的新手,并且你想学到下面这些酷炫的技术,我觉得你可以看看这篇教程: 实现一个积雪效果的shader 创建一个具有凹凸纹理的shader 为每个像素修改其对应纹理值 在表面着色器中修改模型的顶点数据 引论 这是我们系列教程的第二部分,我们将在此部分实现些有用的技术。在学习完 第一部分 的所有背景知识后,我们将利用所学的知识实现一个简单的积雪效果的shader。效果如下: 准备工作 我们想做的其实很简单,简单介绍一下: 随着Snow Level(表示积雪的程度,该值越大,积雪越深)的增大,我们将迎着下雪方向的岩石纹理区域都变成Snow Color(雪的颜色) 随着Snow Level的增大,我们想将该岩石模型稍微变大一点,尤其是雪的边缘厚度要增加,这样给人真正的“积”雪效果。 步骤1 – Bumped Diffuse Shader 我们创建一个新的Diffuse shader(默认新建的shader基本都是Diffuse shader),并向其中添加凹凸纹理效果( 来自 猫大 的原话:法线贴图是凸凹贴图(Bump mapping)的一种常见应用,简单说就是在不增加模型多边形数量的前提下,通过渲染暗部和亮部的不同颜色深度,来为原来的贴图和模型增加视觉细节和真实效果

方向导数与梯度向量与全微分

混江龙づ霸主 提交于 2020-01-16 07:43:37
一个最简单的例子:f(x,y)=x+y 那么全微分df=dx+dy 因为这个f(x,y)对x和y都是线性的,所以df=dx+dy对大的x和y变化也成立。 将x和y方向分开看,x方向每增加dx=1(y不变),f(x,y)增加df=1;y方向每增加dy=1(x不变),f(x,y)也增加df=1; 如果x和y同时增加1(dx=1,dy=1),f(x,y)增加dx+dy=2。 对以上函数f(x,y),当x和y按1:1变化时,f(x,y)增长最快。 如果换个函数,f(x,y)=2x+y,那么当x和y按2:1变化时,f(x,y)增长最快。 梯度表示f(x,y)增长最快的方向。与梯度相反的方向就是函数减小最快的方向。 反过来说,沿垂直于梯度方向,f(x,y)变化最小(即没有变化)。 于是,在<x0,y0>的梯度正交于过该点的等高线。 方向导数是说,对于方程z=f(x,y),当<x,y>从<x0,y0>沿指定方向增加单位向量长度时,f(x,y)增加多少。 当指定方向与梯度不重合时,函数变化就没有沿梯度方向变化大。 来源: https://www.cnblogs.com/byeyear/p/3702553.html

透视投影(Perspective Projection)变换推导

﹥>﹥吖頭↗ 提交于 2020-01-06 04:32:41
透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如gluPerspective(„) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游 戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地 方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1) 而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得 p –

第三讲 三维空间刚体运动

岁酱吖の 提交于 2020-01-02 10:23:49
一、向量点乘 向量点积公式 向量a,b的长度都是可以计算的已知量,从而计算a和b间的夹角θ 判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为: a·b>0 方向基本相同,夹角在0°到90°之间 a·b=0 正交,相互垂直 a·b<0 方向基本相反,夹角在90°到180°之间 二、向量叉乘 向量a与向量b叉乘的公式: 叉乘几何意义 在三维几何中,向量a和向量b的叉乘结果为法向量,该向量垂直于a和b向量构成的平面,从而构建X、Y、Z坐标系。如下图所示 来源: CSDN 作者: juzi5211314 链接: https://blog.csdn.net/juzi5211314/article/details/103798542

SVD分解技术详解

时光总嘲笑我的痴心妄想 提交于 2019-12-25 15:58:11
版权声明: 本文由LeftNotEasy发布于 http://leftnoteasy.cnblogs.com , 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系 wheeleast@gmail.com 前言: 上一次写了关于 PCA与LDA 的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic