前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SLAM初探(三)

SLAM初探(三)

作者头像
Pulsar-V
发布2018-04-18 16:49:11
8090
发布2018-04-18 16:49:11
举报
文章被收录于专栏:Pulsar-VPulsar-V

PCL(Point cloud library)

Ubuntu Linux 16

系统之所以会用Linux,很大的原因是应为SLAM在嵌入式平台上面的安置,所以尽量编写在inux下编写,同步arm编程环境的读者有兴趣可以去参考下搭建交叉编译环境 。

#OpenCV的安装

参考本菜的博客中,C++安装opencv的部分

Eigen C++线性代数计算库的安装

在slam的运行当中,会大量的使用到线性代数,为了省去手动写遍历去遍历代码,需要借助eigen去对opencv进行计算

关于Eigen的安装配置,请移步参考博客

机器学习/深度学习框架的安装

主流框架

  • Caffe
  • Microsoft Cognitive Toolkit(又名CNTK 2)
  • MXNet
  • Scikit-learn
  • Spark MLlib
  • TensorFlow
  • Theano
  • Keras(一个Theano和TensorFlow深度学习的前端)
  • DeepLearning4j(Java和Scala在Hadoop和Spark之上的深度学习软件)

辅助运算框架

  • Eigen(C++)
  • Numpy(python)
  • Matplotlib(python)
  • Scipy(python)
  • CUDA
  • OpenCL
  • Boost

除此之外笔者还用过一些比较少见的辅助框架,主要使用在语音识别当中

注:下载HTK时需要注册一个账号,邮箱请使用国外邮箱,如OutLook,Gmail等邮箱才能接收到来自HTK官方网站欧洲的来信。

加州大学库有一个的各类型的开源辅助计算框架

CUDA,Boost,GPU并发运算库的安装在windows下请直接去PCL官方下载库,A卡架构的盆友可以使用OpenCL并行计算库

在图像的处理中,可以不直接依赖于OpenCV,我们所要做的,只是获取图像进行处理,所以我们只需要从摄像头获取点云数据和实时图像,将它拿给Caffe等进行计算就ok了,Caffe框架提供了一个完善的Machine Learning运算库,在模式识别,机器学习,深度学习,迁移学习上都有相当高的造诣。 接下来一讲,我们来分析和区分一下上述几种学习的区别,和应用领域(昨晚和学长交流时问到几种学习的区别和应用领域)

下述部分参考资料

迁移学习(适应) 强化学习(反馈) 深度学习 (特征)

迁移学习(领域适应Domain Adaptation)

将从源领域(Source Domain)学习到的东西应用到目标领域(Target Domain)上去。源领域和目标领域之间往往有gap/domain discrepancy(源领域的数据和目标领域的数据遵循不同的分布)。 迁移学习能够将适用于大数据的模型迁移到小数据上,实现个性化迁移。 迁移什么,怎么迁移,什么时候能迁移,这是迁移学习要解决的主要问题。

  1. 样本迁移 Instance-based Transfer Learning
  2. 特征迁移 Feature-based Transfer Learning
  3. 模型迁移 Model-based Transfer Learning
  4. 关系迁移 Relational Transfer Learning

下面是四种学习方法所需要的数据量对比

强化学习(Reinforcement Learning)

就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。 强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。 通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。 ##永动机器学习

CMU大学的例子,用中文来说是永动机器学习,这个机器不断在网上扒一些网页,在每个网页里面都学到一些知识,把这些知识综合起来,变成几千万条知识,这些知识又会衍生新的知识。那么我们看到从下到上是随着时间,知识量在增长。但是它到了某一个程度实际上是不能再往上走了,因为知识会自我矛盾。这个时候就需要人来进行一部分的调节,把一部分不正确的知识去掉,去除自我偏差(有偏数据),这种偏差可以体现在统计学的一个重要概念中,就是我们获得的数据也许是一个有偏数据,我们可能建了一个模型,对大部分的数据都有用,但其中有一些特例。我们如何来处理这些特例,如何来处理我们训练数据和应用数据之间的偏差,这是我们下一步要研究的内容。

深度学习

End

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Eigen C++线性代数计算库的安装
  • 机器学习/深度学习框架的安装
    • 主流框架
    • 迁移学习(适应) 强化学习(反馈) 深度学习 (特征)
    • 迁移学习(领域适应Domain Adaptation)
      • 强化学习(Reinforcement Learning)
        • 深度学习
        相关产品与服务
        语音识别
        腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档