fig

IROS2020开源软硬件!多激光雷达的协同定位建图及在线外参自标定

流过昼夜 提交于 2020-10-29 07:07:51
点击 上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 本文由作者林家荣授权转载,二次转载请联系作者 https://zhuanlan.zhihu.com/p/157533731 ----多图预警!请在wifi环境下食用!---- 首先,先放我儿子镇下楼先 自从上次在知乎上分(吹)享(水)了我们的工作后, https://www.zhihu.com/question/332926945/answer/836032023 我们的工作收到了很多的关注,并陆陆续续收到了来着各位朋友的咨询邮件,截止到目前,我们的开源库 https://github.com/hku-mars/loam_livox 已经收到了517个star(感谢各位老铁)。于是乎,我们趁(划)胜(水)追(摸)击(鱼), 苟 (不敢出去,年前怕被废青干,年后怕被疫情干)在实验室里面,积(通)极(宵)开展了新的研(组)究(团)工(开)作(黑)。 而今天,我要介绍的是我们最近被IROS 2020接收的工作” A decentralized framework for simultaneous calibration, localization and mapping with multiple LiDARs”即“一个多激光雷达同时定位建图以及外参的自标定的分布式框架”。我们的工作不仅能实现多(5

PCA——主成分分析

这一生的挚爱 提交于 2020-10-25 12:34:53
  PCA(Principal Components Analysis)主成分分析是一个简单的机器学习算法,利用正交变换把由线性相关变量表示的观测数据转换为少数几个由线性无关比变量表示的数据,实现降维的同时尽量减少精度的损失,线性无关的变量称为主成分。大致如下:   首先对给定数据集(数据是向量)进行规范化,使得数据集的平均值为0,方差为1(规范化是为了使数据散布在原点附近,而不是远离原点的某块区域,便于后面的计算)。之后对每个数据进行正交变换,把数据投影到几个少量的相互正交的方向(这些方向构成了数据空间的一个子空间)上。数据在每个方向上都有对应的坐标,而用这些方向和对应的坐标(坐标×方向的累加)就能近似表示原来高维的数据,因此这些方向的求解就是PCA的关键。   如果再由这些坐标通过这些方向映射回原来的数据,精度损失是同等方向数量的方向集合(或者叫同维度的子空间吧)中最小的,而数据集在各个方向上的坐标的方差之和是同等方向数量的方向集合中最大的, 也正对应着方差越大表示这个方向上保存数据的信息量越大(方差越小所有数据越集中在一个点上信息量当然越小) 。数据集在这些方向的上的坐标的方差,从大到小排序,就把这每一个方向称为第一主成分、第二主成分…… 证明   接下来证明什么样的方向是主成分,即什么样的方向集合能保存原数据集更多的信息,并进一步说明数据集在主成分上的坐标的方差是最大的

收藏|万字 Matplotlib 实操干货

自作多情 提交于 2020-10-25 09:59:13
来源:DataScience 本文 约24000字 ,建议阅读 10 分钟 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 导读 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 以下内容来自Github,为《PythonDataScienceHandbook[1]》(Python 数据科学手册[2])第四章Matplotlib介绍部分。全部内容都在以下环境演示通过: numpy:1.18.5 pandas:1.0.5 matplotlib:3.2.1 1.简单的折线图 对于图表来说,最简单的莫过于作出一个单一函数 的图像。本节中我们首先来介绍创建这种类型图表。本节和后续小节中,我们都会使用下面的代码将我们需要的包载入到 notebook 中: %matplotlib inline import matplotlib.pyplot as plt plt.style.use('seaborn-whitegrid') import numpy as np 对于所有的 Matplotlib 图表来说,我们都需要从创建图形和维度开始

IROS2020开源软硬件!多激光雷达的协同定位建图及在线外参自标定

一世执手 提交于 2020-10-21 15:44:07
点击 上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 本文由作者林家荣授权转载,二次转载请联系作者 https://zhuanlan.zhihu.com/p/157533731 ----多图预警!请在wifi环境下食用!---- 首先,先放我儿子镇下楼先 自从上次在知乎上分(吹)享(水)了我们的工作后, https://www.zhihu.com/question/332926945/answer/836032023 我们的工作收到了很多的关注,并陆陆续续收到了来着各位朋友的咨询邮件,截止到目前,我们的开源库 https://github.com/hku-mars/loam_livox 已经收到了517个star(感谢各位老铁)。于是乎,我们趁(划)胜(水)追(摸)击(鱼), 苟 (不敢出去,年前怕被废青干,年后怕被疫情干)在实验室里面,积(通)极(宵)开展了新的研(组)究(团)工(开)作(黑)。 而今天,我要介绍的是我们最近被IROS 2020接收的工作” A decentralized framework for simultaneous calibration, localization and mapping with multiple LiDARs”即“一个多激光雷达同时定位建图以及外参的自标定的分布式框架”。我们的工作不仅能实现多(5

Python数字图像处理1.2---彩色图像灰度化和二值化

余生颓废 提交于 2020-10-11 09:24:07
本篇将介绍彩色图像灰度化和二值化的原理,并使用Python来实现对应算法内容。 [彩色图像灰度化] 1.定义 在上一节中,我们介绍了8位单色灰度图,它使用0-255来表示一个像素,但在实际使用中,我们最常用的还是彩色图像灰度化。对于32位bgra彩色图像,或者24位rgb/bgr彩色图像,一个像素由红绿蓝三原色混合而成,这也就是绘画中的调色过程,如何调制灰色?其实很简单,只要红绿蓝以相同程度进行混合,那么结果就呈现出灰色。基于这个原理,我们可以给出彩色图像灰度化的本质:R=G=B,即红绿蓝三通道的像素值相等,此时,彩色图就表现为灰度图,而这个过程,就叫做彩色图像的灰度化。 如图Fig.1所示,左侧位32bgra彩色图,右侧为对应的灰度图,该灰度图算法来自Photoshop“去色”命令。 (a)32位彩色图 (b)32位灰度图 来源: oschina 链接: https://my.oschina.net/u/4334316/blog/4667775

每个程序员都必须知道的8种数据结构

守給你的承諾、 提交于 2020-10-06 21:31:40
快速介绍8种常用数据结构 数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。 几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。当涉及软件工程面试问题时,这是一个关键主题。因此,作为开发人员,我们必须对数据结构有充分的了解。 在本文中,我将简要解释每个程序员必须知道的8种常用数据结构。 1.数组 数组是固定大小的结构,可以容纳相同数据类型的项目。它可以是整数数组,浮点数数组,字符串数组或什至是数组数组(例如二维数组)。数组已建立索引,这意味着可以进行随机访问。 Fig 1. Visualization of basic Terminology of Arrays 数组运算 · 遍历:遍历所有元素并进行打印。 · 插入:将一个或多个元素插入数组。 · 删除:从数组中删除元素 · 搜索:在数组中搜索元素。您可以按元素的值或索引搜索元素 · 更新:在给定索引处更新现有元素的值 数组的应用 · 用作构建其他数据结构的基础,例如数组列表,堆,哈希表,向量和矩阵。 · 用于不同的排序算法,例如插入排序,快速排序,冒泡排序和合并排序。 2.链表 链表是一种顺序结构,由相互链接的线性顺序项目序列组成。因此,您必须顺序访问数据,并且无法进行随机访问

超硬核的 Python 数据可视化教程!

ε祈祈猫儿з 提交于 2020-10-02 06:02:38
Python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 1、首先,要知道我们用哪些库来画图? matplotlib python中最基本的作图库就是matplotlib,是一个最基础的Python可视化库,一般都是从matplotlib上手Python数据可视化,然后开始做纵向与横向拓展。 Seaborn 是一个基于matplotlib的高级可视化效果库,针对的点主要是数据挖掘和机器学习中的变量特征选取,seaborn可以用短小的代码去绘制描述更多维度数据的可视化效果图 其他库还包括 Bokeh(是一个用于做浏览器端交互可视化的库,实现分析师与数据的交互);Mapbox(处理地理数据引擎更强的可视化工具库)等等 本篇文章主要使用matplotlib进行案例分析 第一步:确定问题,选择图形 业务可能很复杂,但是经过拆分,我们要找到我们想通过图形表达什么具体问题。分析思维的训练可以学习《麦肯锡方法》和《金字塔原理》中的方法。 这是网上的一张关于图表类型选择的总结。 在python中,我们可以总结为以下四种基本视觉元素来展现图形: 点:scatter plot 二维数据,适用于简单二维关系; 线:line plot 二维数据,适用于时间序列; 柱状:bar plot 二维数据,适用于类别统计; 颜色:heatmap 适用于展示第三维度;

Python学习

杀马特。学长 韩版系。学妹 提交于 2020-09-29 16:37:16
Python 学习 提示:刚刚开始用python,希望慢慢学习,慢慢记录 提示:以下是本篇文章正文内容,下面案例可供参考 一、Python 数值积分函数 Python 提供了很多种用于不同情况下的积分函数 scipy.integrate.quad: 一重积分 scipy.integrate.dblquad: 二重积分 scipy.integrate. 三重积分 scipy.integrate.nquad: 多重积分 二、scipy.integrate.dblquad 关于 scipy.integrate.dblquad 的用法。 scipy.integrate.dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08) Compute a double integral. Return the double (definite) integral of func(y, x) from x = a…b and y = gfun(x)…hfun(x). Parameters funccallable A Python function or method of at least two variables: y must be the first argument and x the second

animation绘制动画图

眉间皱痕 提交于 2020-08-20 05:38:08
import numpy from matplotlib import pyplot from matplotlib import animation def update_points(num): point_ani.set_data(x[num],y[num]) # 更新点的位置,将这里的(x[num],y[num])替换(x[0],y[0]) if num%5== 0: point_ani.set_marker( " * " ) point_ani.set_markersize( 12 ) else : point_ani.set_marker( " o " ) point_ani.set_markersize( 8 ) text_pt.set_position((x[num],y[num])) # 更新文本位置 text_pt.set_text( " x=%.3f,y=%.3f " %(x[num],y[num])) # 更新文本内容 return point_ani,text_pt, x =numpy.linspace(0,2*numpy.pi,100 ) y = numpy.sin(x) fig =pyplot.figure(tight_layout= True) pyplot.plot(x,y) pyplot.grid(ls = " -- " ) # 给图像添加网格

matplotlib库——5分钟入门,带你详细了解

*爱你&永不变心* 提交于 2020-08-20 05:33:04
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 Matplotlib 是一个 Python 的 2D绘图库(当然也可以画三维形式的图形哦),它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。通过 Matplotlib,开发者仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 Matplotlib 主要有两大模块:pyplot 和 pylab,这二者之间有何区别和联系呢? 首先 pyplot 和 pylab 都可以画出图形,且两者 API 也是类似的, 其中 pylab 包括了许多 numpy 和 pyplot 模块中常用的函数,对交互式使用(如在 IPython 交互式环境中)来说比较方便,既可以画图又可以进行计算,不过官方推荐对于项目编程最好还是分别导入 pyplot 和 numpy 来作图和计算。 先来个简单的 import numpy as np from matplotlib import pyplot as plt x = np.arange(0, 11 ) y = 2* x plt.plot(x, y, marker = ' o ' ) plt.show() 同一幅图中多条线 x = np.arange(0, 11 ) y1 = 2* x y2 = 4*