- 博客(54)
- 收藏
- 关注
转载 详细解释LK光流法(Lucas-Kanade)跟踪特征点附matlab不调库函数实现
LK光流法是什么在很多场景我们都需要对特征点进行跟踪,比如人脸,无人机目标跟踪,SLAM中特征点跟踪来计算相机的姿态等等。最粗暴的方式是每次都重新计算一次特征点,然后找到前后两张图片的相同特征点,那么就可以实现跟踪。这种方法的特点是准确,因此在很多场合都...
2019-06-18 16:57:00
1087
转载 视觉SLAM中ORB特征点算法(关键点+描述子)
特征点是什么SLAM需要根据路标来计算当前相机的位置和姿态。而视觉SLAM的路标就是图像中的特征点了。注意:只要谈到图像中的特征点你就得记得它包含两个内容关键点和描述子。关键点指的特征点在图像中的位置,而描述子是指的是关键点的朝向和周围像素信息。相同特征...
2019-06-17 16:15:00
1573
转载 实例通俗解释高斯牛顿法求解曲线拟合的最小二乘法问题与c++编程实践教程
要解决的问题是:现在有N个数据点(x,y)。我们假设这个曲线y=exp(ax2+bx+c)+noisey=exp(ax^2+bx+c)+noisey=exp(ax2+bx+c)+noise可以拟合那堆数据,其中a,b,c是待求解的参数,noise是噪声。...
2019-06-16 20:43:00
1065
转载 针孔相机模型成像原理与图像变形矫正教程
相机成像原理与焦距概念针孔相机的本质就是初中学过的小孔成像,镜头是一个小孔,然后光线透过小孔被感光传感器所捕获。当然以前的相机是通过胶片来捕获光线。虽然各个时代的相机记录图像的技术不一样,但是不变的都是利用小孔成像这个原理来将外面的三维的大图像缩小到一个...
2019-06-15 21:17:00
821
转载 李群与李代数它们之间的联系
李群是什么?李群就是一个矩阵的集合,为何有了矩阵还要弄个矩阵集合呢?因为矩阵它只是一个数,而像实际应用中我可能需要一系列数去描述某个事件的变化。而李群就是用来描述旋转平移上的变化,物体的旋转平移是连续的所以李群它也是随时间变化连续的。某个时刻下李群它是一...
2019-06-14 20:23:00
541
转载 一文梳理旋转矩阵,欧拉角,四元数,旋转向量和齐次变换矩阵之间的联系和用途...
前言这几个名词都是用来描述一个物体的位置和姿态的。它们之间可以相互转化,而且各有各的优点与缺点。我先把这几个名词之间的联系理清楚,然后再解释他们各自适合的领域以及为何需要他们。旋转矩阵的初衷就是人们希望给定一个向量x,然后我对它旋转,能直接通过矩阵乘法的...
2019-06-14 09:19:00
583
转载 Ubuntu下使用Eigen旋转几何运算总结教程
如果你未安装Eigen或者完全未接触Eigen请参考下面这三篇好文一文梳理Ubuntu下Eigen矩阵运算库总结教程Ubuntu下安装与使用Eigen矩阵运算库教程Ubuntu下cmake教程实践从入门到会用#include<iostre...
2019-06-13 16:41:00
235
转载 一文梳理Ubuntu下Eigen矩阵运算库总结教程
Eigen是一个高效率的c++矩阵运算库,tensorflow等一系列开源框架都是用它来进行高效率的代数运算。如果你还没安装Eigen,那么亲参考Ubuntu下如何安装与使用cmake编译Eigen。0. 入门如果你不清楚如何使用cmake请参考Ub...
2019-06-13 15:07:00
244
转载 Ubuntu下安装与使用Eigen矩阵运算库教程
安装Eigen库这个很简单就从Eigen的官方网站下载源代码,然后在另外一个文件夹下对源码进行编译安装即可。现在我假设你已经下载好了源码,解压后的源码文件目录大致长这样。你只需关注我所选中的那个CMakeLists.txt这个文件即可。我的源文件目...
2019-06-13 11:45:00
586
转载 Ubuntu下cmake教程实践从入门到会用
如果你下载别人的开源代码,你会发现很多人的项目中有个CMakeLists.txt。其实这是因为他们用cmake这个软件来编译整个项目。为何要用cmake?如果不用cmake的话那么我们一般会用visual studio这种软件来编译运行整个项目。但...
2019-06-13 09:58:00
514
转载 [概览]自动驾驶与AR增强现实中的关键技术:SLAM
SLAM中文全称叫做:实时定位与建图技术(Simultaneous localization and mapping).SLAM技术就是通过利用传感器比如:摄像头或者雷达对周围环境进行录像,然后把环境通过三维重建建图出来。最终把这周围的地图记录下,那就可以...
2019-06-12 14:38:00
715
转载 MIT18.06(7): 线性变换与JPEG图像压缩和小波基图像压缩,逆矩阵左逆与右逆和伪逆...
线性变换变换就是对一个向量进行平移旋转投影伸缩等操作。并不是所有的变换都是线性变换。假设x是一个向量,T(x)表示对x进行变换。如果T(x)它满足下面这几个条件那么T(x)就是线性变换。下面这几个条件说了啥呢?它就是说我变换后的结果与变换前的结果它是成...
2019-06-10 20:24:00
390
转载 线性代数MIT18.06(6):对称矩阵,奇异值分解SVD
对称矩阵对称矩阵的特征值是实数(越不对称越可能特征值不是实数),并且正交向量是相互正交的。也就是说正交向量构成的矩阵是正交矩阵。在特征值构造对角矩阵这个文章我们提到了矩阵A可以这样分解成正交向量矩阵与特征值构成的对角矩阵的乘积A=SΛS−1A=SΛS...
2019-06-09 21:44:00
547
转载 MIT18.06线性代数(5) 行列式与马尔科夫矩阵和傅里叶级数的理解
行列式是一个数字。行列式能尽可能的把矩阵的信息表示出来。比如行列式为0矩阵不可逆。交换行或者列行列式变符号,这意味着交换矩阵它的行列式是1或者-1.因为交换矩阵可以把其他矩阵的行列交换。行或者列乘个t,那么整个行列式的值需要乘个t。行列式每行都有...
2019-06-08 21:56:00
357
转载 线性代数(4):QR分解原理,矩阵在图上面的应用,正交向量,子空间,最小二乘法...
rank(AAT)=rank(A)rank(AA^T)=rank(A)rank(AAT)=rank(A),rank是矩阵的秩的意思。投影矩阵有什么用?因为Ax=b很可能没有解,但是没有解我们可以求最接近的解啊。所以要把b投影到A的列向量空间中。为何要投影...
2019-06-07 20:59:00
1114
转载 线性代数(3)名词概念梳理
线性代数名词概念梳理线性代数常常见的P矩阵(Permutation)(交换矩阵又叫做置换矩阵)。P矩阵是单位矩阵交换行所成,所以P的每列都是正交,所以它是正交矩阵,所以PT=P−1P^T=P^{-1}PT=P−1。当高斯消元法主元有0时候就需要交换行。所...
2019-06-06 20:55:00
1728
转载 线性代数(2)[漫谈]高中的消元法解方程与线性代数及LU分解之间的联系
可怕的概念都是纸老虎。高斯消元、LU分解无非都是高中学过的解方程的消元法。高中的消元法现在有一个方程组需要你解,你会怎么解?答:高中教过可以用消元法来解未知数。那么我们看看消元法怎么做的。1. 第二个式子-2×第一个式子得到下面这个方程组:2.第二个式子两边÷12.3. 回代确实任何线性方程都可以这么解,事实...
2019-06-05 19:59:00
403
转载 图像从程序到GPU再到屏幕显示的流程:GPU渲染管线
1. 模型坐标变换这个阶段主要是将各个物体的建模坐标系转换到世界坐标系。在程序中不同物体他们建模坐标系是不一样,有些适合球坐标有些适合直角坐标。但是为了将他们整合在一起,最终程序需要将他们转换到世界坐标。在游戏里面你开第一人称视角,那就是以你为原点设计了...
2019-06-04 16:23:00
744
转载 18.06MIT线性代数(1)——线性代数理解
线性代数有什么用?用于求解线性问题(即求解线性方程中的未知数)。如:化学方程式中的系数,杠杆平衡。怎么求解?答:用高斯消元法。什么是高斯消元法?高中教的解方程的那种方法就是消元法。任何计算机都是这么解方程的 图像就是矩阵。对图像进行处理就需要用到线性代数。如:可以使用矩阵卷积操作对图像进行模糊化。 求解物理问题。如位移,速度都是向量。 也可以把信号或者...
2019-06-04 11:55:00
327
转载 梳理常见基本的概率分布函数及他们在机器学习中的作用
在机器学习许多算法里面经常用到的一个建模技巧就是假定某个数据服从某个概率分布。每个概率分布都有一个概率分布函数,输入样本值概率分布函数输出当前这个样本属于某个类的概率。而任何概率分布函数都会存在未知参数,不同数据要取不同的参数。比如逻辑回归,它就认为概率分布函数长的像这样,输入样本值x,输出x属于标签为1的那个类的概率。未知参数是w和b,不同数据w和b是要取不同...
2019-06-03 14:37:00
1111
转载 通俗解释如何理解主成分分析PCA,Python实现PCA主成分分析2维降到1维
知道IEEE这个世界最大电子电气学术组织禁止华为资助和中国某些一流大学教授参与审稿这个消息我是愤怒的。我也是无奈的,学校考核必须发论文到这儿,不得不发。IEEE上面的论文中国人几乎占了三成(美国人搞学术的很少的基本是做金融法律医生这种行业)。中国在校的就要...
2019-05-29 21:45:00
1067
转载 取球博弈问题 蓝桥杯
取球博弈这个问题思路比较明确就是将两个人所有可能取的情况进行遍历,最后看两个人手中球数量奇偶。遍历的话可采用深度优先搜索不过直接深度优先搜索肯定不行,因为如果有1000个球那么每次有三种取法,一共差不多就有3的几百次方。这个数据简直是天文数字。因此需...
2019-05-27 15:31:00
334
转载 {高中生能看懂的}梯度下降是个啥?
刚接触机器学习的同学避不开的一个专业名词就是梯度下降。顿时心里万马奔腾,其实很简单的,你先得理解概念才能看到那些公式不怂。(当然本文全程无公式,书写用时2小时,阅读估计10分钟)本文主要解决三个问题:梯度到底是啥?梯度下降有啥用?为啥要下降?...
2019-05-27 15:30:00
318
转载 4分钟看懂逻辑回归是什么?要优化什么参数?和极大似然法有什么关系?机器学习小总结...
文章末尾对机器学习的规律总结。机器学习这么多算法记住是很难的,如果懂别人怎么想到这个算法的那就容易多了。学习机器学习一定不要死记。记住别人怎么想到这个算法以及各个概念之间的联系,各个方法有什么用,这些最重要。本文就是从还原算法怎么想到的角度来讲而不是纯粹...
2019-05-27 15:29:00
479
转载 从本质看决策树,谈谈信息熵是怎么发现的,ID3决策树Python实践实现XOR异或
本文首发于优快云 @Ai酱 的博客,转载请注明出处。任何机器学习的套路机器学习算法看起来那么多,其实套路就一个。那么多算法是背不下来的,自己知道他们怎么根据套路想出来的就可以。套路就三步:选取一种数学模型来对数据进行分类预测*。线性回归是用...
2019-05-27 10:55:00
121
转载 adaboost理解
基本原理Adaboost算法基本原理就是将多个弱分类器(弱分类器一般选用单层决策树)进行合理的结合,使其成为一个强分类器。Adaboost采用迭代的思想,每次迭代只训练一个弱分类器,训练好的弱分类器将参与下一次迭代的使用。也就是说,在第N次迭代中,一共就有N个弱分类器,其中N-1个是以前训练好的,其各种参数都不再改变,本次训练第N个分类器。其中弱分类器的...
2019-05-25 21:22:00
160
转载 通俗解释Adaboost算法是什么
从这个贸易战看:强权即是真理,没有所谓的自由贸易和平等。中国之大已容不下一个安静的键盘。不过是又一次鸦片战争。除了愤怒还是愤怒,除了一心想为崛起而澎湃还是一心想为崛起而澎湃。中华文明三四千年的历史都是世界顶级,美国人区区100多年第一就想再占100年这不是...
2019-05-25 21:19:00
151
转载 通俗解释高中生能听懂的SVM本质和原理
当年SVM怎么被发明的?任何机器学习都是套一个数学模型,然后求解数学模型的待求解参数。SVM使用的是怎样的一个模型呢?。现在把我们作为一发明者,看看下面这张图。知道一个算法原理最好的方法是研究它是怎么想出来的,不然直接看公式可能马上就记住了,但是过了段时...
2019-05-24 21:06:00
560
转载 [初学者入门]任何机器学习套路?逻辑回归是什么?要有哪些未知参数待求解?如何优化?梯度下降是什么?如何用梯度下降...
逻辑回归是什么?要有哪些未知参数待求解?如何优化?梯度下降是什么?如何用梯度下降求逻辑回归未知参数?作者:知乎@Ai酱本文要解决的是标题上的那些问题。1. 任何机器学习套路任何机器学习套路都逃不掉:使用一个数学模型来套到数据上->任何数学模型...
2019-05-23 18:15:00
87
转载 贝叶斯公式在机器学习中有什么用,实例讲解Python实现朴素贝叶斯分类器
贝叶斯公式=贝叶斯定理贝叶斯公式到底想说啥贝叶斯公式就是想用概率数学来表示事件发生依赖关系。贝叶斯公式长下面这样:用图形怎么表示贝叶斯公式P(X=x)P(X=x)P(X=x)就是X的面积。P(Y=y)P(Y=y)P(Y=y)就是Y的面积。P...
2019-05-22 21:12:00
188
转载 通俗易懂适合初学者的机器学习实战(1):k- Nearest Neighbor (k个最近的邻居)KNN算法...
k- Nearest Neighbor (k个最接近的邻居)算法首发于:知乎@Ai酱的初学者机器学习专栏,https://zhuanlan.zhihu.com/p/66360783任何机器学习都是假定一种数学模型可以用于当前这个数据解决问题 。而任何...
2019-05-20 13:31:00
98
转载 Python从0开始实现Numpy矩阵库,拒绝掉包侠,学习造轮子
# -*- coding: utf-8 -*-"""Created on Tue May 14 15:37:59 2019@author: Ai酱"""class Mattrix: val = [] shape=(0,) ...
2019-05-15 09:24:00
109
转载 99%的人都会忽略的Python易错点总结
python中复数实现(-2)**0.5和开根号sqrt(-2)的区别(-2)**0.5和sqrt(-2)是不同的,前者是复数后者是会报错的。print((-2)**0.5)#输出:(8.659560562354934e-17+1.4142135...
2019-05-14 11:05:00
307
转载 遇到问题,有哪些有效的分析方法?
作者:Ai酱这个方法为什么叫这个名字?如果是我们自己做我会怎么设计?为什么提出者能想到这个想法?一直问为什么来找方向,自己去尝试解释为什么通过问这三个问题让我们看到一个概念时候就方向感,知道从哪入手。万事开头难。我用这几个问题问自己悟出这个回答:计算机生态圈是怎么样的?。就拿香农的《信息熵=》来讲。是不是完全不懂“信息熵”是什么?怎么学?从哪学?...
2019-05-11 13:22:00
304
转载 10分钟 举例子Python 单元测试实践 入门教程
10分钟 举例子Python 单元测试实践 入门教程作者:知乎 Ai酱首发于:知乎专栏《适合初学者的机器学习神经网络理论到实践》,转载需注明出处华南理工大学 计算机技术硕士在读2 人赞同了该文章为何要测试:设定预期结果让计算机判断结果是否符合预期。省得组件很多的时候一个一个的检测这些组件是否运行结果正确。- 如何比较运行时某变量大小...
2019-05-10 10:47:00
108
转载 [编辑推荐|易懂]如何理解论文中的那些评估方法性能指标概念名词{召回率 ROC AUC 交叉验证} 适合初学者的神经网络 实战 理论 实践(6)...
适合初学者的神经网络 实战 理论 实践(6)[易懂]如何理解论文中的那些评估方法性能指标概念名词{召回率 ROC AUC 交叉验证}作者:知乎 Ai酱首发于:知乎专栏《适合初学者的机器学习神经网络理论到实践》假设现在我们论文是要识别垃圾邮件。将邮件分类为垃圾邮件和非垃圾邮件。好了接下来通过垃圾邮件这个例子说明别人论文中常常出现的评估方法性能的...
2019-05-10 10:38:00
207
转载 如何理解Bayes贝叶斯公式|如何理解极大似然法|这两个有什么关系?贝叶斯定理是什么|贝叶斯公式在机器学习中有什么用?...
贝叶斯公式=贝叶斯定理贝叶斯公式到底想说啥贝叶斯公式就是想用概率数学来表示事件发生依赖关系。贝叶斯公式长下面这样:用图形怎么表示贝叶斯公式P(X=x)P(X=x)P(X=x)就是X的面积。P(Y=y)P(Y=y)P(Y=y)就是Y的面积。P...
2019-05-06 19:06:00
122
转载 如何理解无偏估计?无偏估计有什么用?什么是无偏估计?
如何理解无偏估计无偏估计:就是我认为所有样本出现的概率一样。假如有N种样本我们认为所有样本出现概率都是1/N。然后根据这个来计算数学期望。此时的数学期望就是我们平常讲的平均值。数学期望本质就是平均值无偏估计为何叫做“无偏”?它要“估计”什么?...
2019-05-06 17:15:00
1532
转载 概率质量(mass)函数和概率密度(density)函数区别
答:他们是同一个东西,不同名字。就像人类,有些叫做男人有些叫做女人,一样的道理。描述离散型数据的概率分布叫做概率质量(mass)函数,描述连续型数据叫做概率密度(density)函数。如何理解名字上的差异?知其所以然才能更好记忆概率质量(mass)函...
2019-05-06 14:56:00
8975
转载 Python使用VTK三维3D图形绘制入门教程
安装:pip install vtk学习一个东西最快的方法是知道基本原理和用途VTK有啥用不能做游戏。适合快速开发绘制静态三维模型。所以类似多用途折叠工具刀用处多,但是不能用在特别费劲的场合。VTK工作流程(大致看看对vtk各模块做的事有点印...
2019-05-05 20:43:00
2034
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人