点"计算机视觉life"关注,星标更快接收干货! ## 小白:师兄,最近忙什么呢,都见不到你人影,我们的课也好久没更新了呢 师兄:抱歉,抱歉,最近忙于俗事.我后面一起补上,学习劲头得向你们年轻人学习啊!话说,你最近在研究什么呢? 小白:最近在看ICP,十四讲上简单提了下,还有点懵懵哒 师兄:好,那今天就说说ICP算法吧.搬个小板凳做好哈: ICP全称Iterative Closest Point,翻译过来就是迭代最近点.ICP在点云配准领域应用的非常广泛,因此基于深度相机.激光雷达的算…
由于显示格式问题,建议阅读原文:如何从零开始系统化学习视觉SLAM? 什么是SLAM? SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻译为:同时定位与建图.同时定位与地图构建.虽然听起来比较拗口,但SLAM却是三维视觉的核心技术,广泛应用于AR.自动驾驶.智能机器人.无人机等前沿热门领域.可以说凡是具有一定行动能力的智能体都拥有某种形式的SLAM系统.关于SLAM的具体应用场景介绍可以看<SLAM有什么用?> SLAM是计算机视…
点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文编程练习框架及数据获取方法见文末获取方式 菜单栏点击"知识星球"查看「从零开始学习SLAM」一起学习交流 小白:师兄,师兄,你在<从零开始一起学习SLAM | 给点云加个滤网>.<从零开始一起学习SLAM | 点云平滑法线估计>中都提到了点云网格化,这个听起来高大上,不过到底是什么意思呢? 师兄:别急,是这样的:你看我们之前处理的都是一个个点,不管是滤波还是平滑,我们都是对一个…
首发于公众号:计算机视觉life 旗下知识星球「从零开始学习SLAM」 这可能是最清晰讲解g2o代码框架的文章 理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫"图优化",以前学习算法的时候还有一个优化方法叫"凸优化",这两个不是一个东西吧? 师兄:哈哈,这个问题有意思,虽然它们中文发音一样,但是意思差别大着呢!我们来看看英文表达吧,图优化的英文是 graph optimization 或者 graph-based op…
对VSLAM和三维重建感兴趣的在计算机视觉life"公众号菜单栏回复"三维视觉"进交流群. 小白:师兄,上次你讲了点云拼接后,我回去费了不少时间研究,终于得到了和你给的参考结果差不多的点云,不过,这个点云"可远观而不可近看",放大了看就只有一个个稀疏的点了.究竟它能干什么呢? 师兄:这个问题嘛...基本就和SLAM的作用一样,定位和建图 小白:定位好理解,可是师兄说建图,这么稀疏的地图有什么用呢? 师兄:地图分很多种,稀疏的,稠密的,还有半稀疏的等,你输出…
自从小白向师兄学习了李群李代数和相机成像模型的基本原理后,感觉书上的内容没那么难了,公式推导也能推得动了,感觉进步神速,不过最近小白在学习对极几何,貌似又遇到了麻烦... 小白:师兄,对极几何这块你觉得重要吗?师兄:当然重要啦,这个是多视角立体视觉的核心啊 小白:那师兄一定得帮帮我讲清楚啊,最近在看书上这部分内容,感觉很难理解呢!师兄:哪里不理解?书上公式推导的挺详细了都 小白:这么说吧,公式推导我也能大概看懂,但总觉得不知道为啥这么推导,这样推导的物理意义是什么?师兄:哦哦,明白啦,就是不能转…
上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容,必须得掌握哦~ 小白:师兄,上次听你讲了李群李代数,有种“听君一席话胜读十年书”的赶脚~后来看书感觉容易理解多了呢!师兄:是吗?那太好啦,给你讲的过程也加深了我的理解呢小白:那师兄今天要不要继续加深理解一下相机成像模型 的部分呢?师兄:额..好啊(感觉被套路了,不过想想上次小白师妹请客吃了烧烤呢)小白:讲完…
视觉 Vs. IMU 小白:师兄,好久没见到你了啊,我最近在看IMU(Inertial Measurement Unit,惯性导航单元)相关的东西,正好有问题求助啊 师兄:又遇到啥问题啦? 小白:是这样的,现在VIO(Visual-Inertial Odometry,视觉惯性里程计)很火,我就想试试把IMU测量的信息和图像进行简单的融合,这样利用IMU测量的先验信息,可以给图像一个比较好的初值... 师兄:嗯嗯,这个思路没问题的啊,图像信息和 IMU 确实存在一定互补性,两者各有所长,取长补短.…
轻松学习RSA加密算法原理 (转) http://blog.csdn.net/q376420785/article/details/8557266 http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 以前也接触过RSA加密算法,感觉这个东西太神秘了,是数学家的事,和我无关.但是,看了很多关于RSA加密算法原理的资料之后,我发现其实原理并不是我们想象中那么复杂,弄懂之后发现原来就只是这样而已.. 学过算法的朋友都知道…
点"计算机视觉life"关注,置顶更快接收消息! 小白:师兄,g2o框架<从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码>,以及顶点<从零开始一起学习SLAM | 掌握g2o顶点编程套路>我都学完啦,今天给我讲讲g2o中的边吧!是不是也有什么套路? 师兄:嗯,g2o的边比顶点稍微复杂一些,不过前面你也了解了许多g2o的东西,有没有发现g2o的编程基本都是固定的格式(套路)呢? 小白:是的,我现在按照师兄说的g2o框架和顶点设计方法,再去看g2…
点"计算机视觉life"关注,置顶更快接收消息! ## 小白:师兄,上一次将的g2o框架<从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码>真的很清晰,我现在再去看g2o的那些优化的部分,基本都能看懂了呢! 师兄:那太好啦,以后多练习练习,加深理解 小白:嗯,我开始编程时,发现g2o的顶点和边的定义也非常复杂,光看十四讲里面,就有好几种不同的定义,完全懵圈状态...师兄,能否帮我捋捋思路啊 师兄:嗯,你说的没错,入门的时候确实感觉很乱,我最初也是花了些时间…
深入学习NAT工作原理 我们单位中的电脑很多,组成了一个局域网,网络中只有一个电脑和外网(Internet)相连,当然有一个外网地址,但仅仅一个.我以前一直不明白,我们局域网的电脑均能上网,几台同时上也没有问题,究竟是怎么实现的? 当时我知道,Internet网上的计算机都必须有一个IP地址(公址Public IP),才能和Internet网络上其他设备正确通信.在某个时刻必须是唯一的(这句话某个时刻要解释一下,我以前家用电脑是通过电信上网的,每次登陆上网都会从电信公司ISP得到一个公址Publ…
点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文编程练习框架及数据获取方法见文末获取方式 菜单栏点击"知识星球"查看「从零开始学习SLAM」一起学习交流 点云滤波后为什么还需要平滑? 小白:师兄,师兄,上次你说的点云滤波我学会啦,下一步怎么把点云变成网格啊? 师兄:滤波只是第一步,在网格化前我们还需要对滤波后的点云进行平滑(smoothing) 小白:不是已经滤波了吗?怎么还要平滑啊?滤波和平滑不一样吗? 师兄:确实不太一样.我们用RGB-D,激光…
在<零基础小白,如何入门计算机视觉?>中我提到过,计算机视觉的研究目前主要分为两大方向:基于学习的方法和基于几何的方法.其中基于学习的方法最火的就是深度学习,而基于几何方法最火的就是视觉SLAM. SLAM将成为计算机视觉的下一个风口 在前几年计算机视觉的三大顶级会议(CVPR,ICCV,ECCV)上,几乎全是深度学习的研究,而这样的情况在这两年出现了新的变化:在2018年计算机视觉国际顶级会议 CVPR论文录用名单中,其中涉及SLAM/三维视觉 的工作超过 90 篇,占据了全体收录论文的近…
本文提纲 先热热身点云是啥你知道点云优缺点吗?点云库PCL:开发者的福音PCL安装指北炒鸡简单的PCL实践留个作业再走先热热身 小白:hi,师兄,好久不见师兄:师妹好,上周单应矩阵作业做了吗?小白:嗯,做了,这个单应矩阵真的挺有意思的.作业之外,我发现了一个新技能...师兄:什么技能?小白:我发现很多网上流传的图片都可以用上次我学过的单应矩阵实现,你看这张图,我第一次看到还以为是真的 现在知道这不就是我们上节课讲的单应矩阵的变换吗?果然我在网上找到了原图 现在我也会用OpenCV里的单应函数做这…
小白最近在看文献时总是碰到一个奇怪的词叫“homography matrix”,查看了翻译,一般都称作“单应矩阵”,更迷糊了.正所谓:“每个字都认识,连在一块却不认识”就是小白的内心独白.查了一下书上的推导,总感觉有种“硬凑”的意味,于是又找到了师兄... 神奇的单应矩阵小白:师兄~单应矩阵是什么鬼啊?我看书上的推导,每一步勉强能看懂,但还是不太理解其背后的物理意义,感觉不能转化为自己理解的方式啊师兄:哦,我第一次看的时候也是这种感觉 小白:而且这个名字好绕口啊,我完全没法和它的物理意义联系起来…
很多刚刚接触SLAM的小伙伴在看到李群和李代数这部分的时候,都有点蒙蒙哒,感觉突然到了另外一个世界,很多都不自觉的跳过了,但是这里必须强调一点,这部分在后续SLAM的学习中其实是非常重要的基础,不信你看看大神们的论文就知道啦. 关于李群李代数,其实高翔的<视觉SLAM十四讲>里推导什么的挺清楚了,本文就在高博的基础上用比较容易理解的语言讲述一下重点. 首先,假装(也可能是真的)自己是个小白,我们假想对面坐了一个大牛师兄,下面我们开启问答模式. 为啥需要李代数? 小白:师兄,我最近在学习SLAM…
刚体,顾名思义,是指本身不会在运动过程中产生形变的物体,如相机的运动就是刚体运动,运动过程中同一个向量的长度和夹角都不会发生变化.刚体变换也称为欧式变换. 视觉SLAM中使用的相机就是典型的刚体,相机一般通过人手持.机载(安装在机器人上).车载(固定在车辆上)等方式在三维空间内运动,形式包括旋转.平移.缩放.切变等.其中,刚体在三维空间中最重要的运动形式就是旋转.那么刚体的旋转如何量化表达呢? 三维空间中刚体的旋转表示三维空间中刚体的旋转总共有4种表示方法,高翔的十四讲中的第3讲比较详细的讲解了…
在涉及到计算机视觉的几何问题中,我们经常看到齐次坐标这个术语.本文介绍一下究竟为什么要用齐次坐标?使用齐次坐标到底有什么好处? 什么是齐次坐标?简单的说:齐次坐标就是在原有坐标上加上一个维度: 使用齐次坐标有什么优势? 齐次坐标的使用能够大大简化在三维空间中的点线面表达方式和旋转平移等操作,具体分如下几点进行说明. 1.能否非常方便的表达点在直线或平面上在2D平面上,一条直线 l 可以用方程 ax + by + c = 0 来表示,该直线用向量表示的话一般记做 我们知道点p = (x, y)在直…
LAM,C++编程是必备技能.不过,大家在学校里学习的书本一般比较老,主要还是C++98那些老一套. 本文所谓的C++新特性是指C++11及其以后的C++14.C++17增加的新关键字和新语法特性.其中C++11是C++98以来最重要的一次变化,而其后的C++14.C++17是在该基础上的完善和补充. 那么,问题来了,如果我不想学习新特性,还是像以前那样编程可以吗? 答案是:可以,不过这就像是别人已经在用铁制刀具切瓜了,你还在石器时代使用石头刀具,你说,效率能一样吗? 看看下面你心里就有答案了.…
SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻译为:同时定位与建图.同时定位与地图构建. 「同时定位与地图构建」这几个词,乍一听起来非常拗口,为了不在一开始就吓跑读者,我们先不对其进行专业的解释,用一个日常生活中形象的例子来进行说明. 初 步 认 识 S L A M 我们知道现在有不少家用的扫地机器人,可以代替人对室内进行自动清扫.早期的扫地机器人并不智能,它只是具有简单的避障功能,在室内随机游走,遇到障碍物就转弯,这样会导致有很…
SLAM涉及的知识面很广,我简单总结了 “SLAM知识树” 如下所示: (公众号菜单栏回复 “树” 可获得清晰版) 可以看到涉及的知识面还是比较广的.这里放出一张SLAM圈子里喜闻乐见的表达悲喜交加心情的漫画图,大家可以感受一下: 每个学SLAM的小伙伴可以说都是冒着“头顶凉凉”的巨大风险,勇气可嘉.下面结合SLAM知识树展开具体说说. 编程环境首先先说电脑环境和编程. 1.电脑环境:Linux环境,推荐Ubuntu16.04. 有人问Windows行不行?这么说吧,如果你是一位SLAM领域的大…
Dubbo源码学习--优雅停机原理及在SpringBoot中遇到的问题 相关文章: Dubbo源码学习文章目录 前言 主要是前一阵子换了工作,第一个任务就是解决目前团队在 Dubbo 停机时产生的问题,同时最近又看了一下 Dubbo 的源码,想重新写一下 Dubbo 相关的文章. 优雅停机原理 对于一个 java 应用,如果想在关闭应用时,执行一些释放资源的操作一般是通过注册一个 ShutDownHook ,当关闭应用时,不是调用 kill -9 命令来直接终止应用,而是通过调用 kill -1…
学习认识Spring原理 Spring 是一种业务层框架.搭建Spring框架需要Spring开发包和commons-logging包.Spring的核心思想是控制反转也称依赖注入(创建者--(实例)-->被调者) Spring 为我们提供了两种最基本的容器:BeanFactory和ApplicationContext.其中ApplicationContext是以BeanFactory为基础构建的,此外Spring还提供了BeanFactory和ApplicationContext的几种实现类,…
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! 系列文章: 1. 字典树Trie学习一:原理解析 2.字典树Trie学习二:Java实现方式之一 一.基本概念(来源于网络) Trie树又称字典树.单词查找树.前缀树等,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计. 优点:利用字符串的公共前缀来减少查询时间,最大限度地…
目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2.1.3 PBR的特征 2.2 PBR的衍变历史 2.2.1 Lambert(1760年) 2.2.2 Smith(1967年) 2.2.3 Phong(1973年) 2.2.4 Cook-Torrance(1982年) 2.2.5 Oren Nayarh(1994年) 2.2.6 Schlick(…
jquery中ajax中post方法(多学习:洞悉原理,触类旁通)(函数封装思想) 一.总结 1.多看学习视频:洞悉原理,触类旁通, 2.函数封装:$.post(URL,data,callback);   这个函数就是赤裸裸的对ajax进行了函数封装 二.jquery中ajax中post方法 1.jquery中ajax主干 2.详解 jQuery $.post() 方法 $.post() 方法通过 HTTP POST 请求从服务器上请求数据. 语法: $.post(URL,data,callba…
深度学习Anchor Boxes原理与实战技术 目标检测算法通常对输入图像中的大量区域进行采样,判断这些区域是否包含感兴趣的目标,并调整这些区域的边缘,以便更准确地预测目标的地面真实边界框.不同的模型可能使用不同的区域采样方法.在这里,我们介绍一种这样的方法:它生成多个大小和纵横比不同的边框,同时以每个像素为中心.这些边界框称为锚框.我们将在下面几节中练习基于锚盒的对象检测. 首先,导入本文所需的包或模块.在这里,我们修改了NumPy的打印精度.因为打印张量实际上调用了NumPy的print函数…
从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力.虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果.从技术角度来说是为了解耦,通过标准化接口来相互协作.既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起. 前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多…
最近被人问到RPC相关的东西~突然发现还是有很多原理没有清楚,所以要好好系统的学习一下RPC以及它的原理 先大致了解一下RPC的大概,原文:https://blog.csdn.net/top_code/article/details/54615853 ----------------------------------------------------------------------------------------------------------------------- RPC概…