作者丨行痴@知乎

来源丨https://www.zhihu.com/question/392255715/answer/1200711803

编辑丨3D视觉工坊

工程slam对数学要求不算特别高。大部分都是应用数学范畴,但是本科只学过四门数学课的确不够用。比如我本科的四门数学课高数线代复变概率统计。正如你所说,你研究生阶段开始学习数值分析,最优化,凸优化,slam要用一点李代数李群表示位姿做优化,矩阵论这些东西。其实所有这些,都不是空中楼阁,往往都有明确的现实物理意义。所以我建议你在补数学基础的时候,要时刻记得仅仅看公式推导是不够的,要去找相应部分的开源代码看,甚至自己写。

书籍有人已经说了slam14讲作为入门书,非常推荐。

可以当做入门vslam的第一本书来看。

因为这本书相对基础,你看的过程中也可以针对性地去补缺失的数学和编程。高翔博士学识丰富,而且用自己的经验化繁为简。

在此基础上,你可以对比如如何实现自动微分,如何算法层优化速度,如何在指定的计算机平台上,从c++一直优化到指令集(ps这本书不教你这种计算机层面的优化,得看别的书),这样的扩展(这本书里没讲这些,但是看完之后你就会有一定能力去探索了)这样整体的框架就有了。

数值分析这两本不错,可以当做入门

上面的第一本数值分析,是业内大牛写的,水平很高,非常全面,有很多你在slam上不会碰到的数值问题,对数值各种问题有全面讲解。如果你只打算做slam,可以选择看一部分章节。第二本,相当简单粗暴,而且c实现的,纯粹入门找感觉用的,如果你编程和数学都比较差,先把第二本看了,再去看第一本。数值分析的课程,得多编程。虽然slam里面一般用eigen,不用你自己写底层数值算法,既然你想深干,了解一下还是有好处的。因为slam涉及大量矩阵优化计算,如果你想深入,可以看一下下面这本

斯坦福大佬的著作,怎么说呢,作者是现代很多数值算法祖师爷。eigen下面调用的blas,lapack很多算法都在这本书里,或者引用里面呢。如果你想在优化方面做的深一点,自己独创算法,啃啃硬骨头,也许会用的上。

作为数学渣的工科狗,日常计算矩阵公式,各种矩阵微积分,行列式计算公式,即用即查,实乃居家旅行,看paper写paper必备良品,就是这本

只有英文,几十页,信息量巨大

凸优化很经典的

反正我在cv里面遇到很多问题,都可以转成凸优化来解决,不过呢,非凸的就很难搞了

三维重建,计算机视觉中的多视图几何怎么可以少呢

新的中文版整得这么鲜艳 ,反正我也不好说啥,你不是做三维重建,虽然现在很多论文都用深度学习,经典算法还是有很多值得借鉴的啦。3d方向,这本一定要刷透。这本书本身没有编程代码,相应的算法opencv,pcl里面有实现,也可以自己写写,练练手。

还有一本跟上一本有点内容重合,计算机视觉中的数学方法。自动化所老cver写的,好想都退休了,这位大爷数学出身,需要补一点解析几何和射影几何的内容了。数学系的射影几何放在高等几何下面,国内数学系开的不多,满眼的数学符号公式,一般的工科生乍一看估计头皮发麻。

状态估计,机器人学中的状态估计,这本不错。我正在看,也在专栏发布了我做的课后题答案,不见得对哈哈哈,有错误欢迎过来指正哈

这本书整体来讲我觉得不错,不过也有坑,中英文版我都看了,我觉得作者有的书中概念指代不是特别清晰,小小吐槽一下。

还有一本经典概率机器人,现代的slam框架奠定者,新的slam一般都是改内部的方法,整体架构方式改动不大,有冲劲有想法也可以改一改。

slam里面喜欢用李群李代数做优化

slam现在也在吸取深度学习的经验,很多新的slam框架,包括3d场景识别分割都在尝试各种深度学习网络,所以,现在搞slam不了解深度学习是不行的,开本花书镇镇场子

深度学习的各种网络结构发展很快,现在还有gnn,未来也许会跟图论有交集呢。图论来个入门

机器人这块,随机过程是很有必要的,虽然最后在控制上都是离散算法,可是离散的基础是连续性的。

还有,机器人这块,也用机器学习的,所以入门的prml 了解一下

其实我们说的算法都是计算机算法,基本的数据结构和常规算法我觉得你应该是了解的,你应该已经迈过算法导论的阶段了,我怕你真没整过暂且列出来吧,你要是本科或者高中就刷完了,可以忽略这本

其实不论是slam还是机器学习,都有泛函分析和变分法的影子,我推荐这么深,肯定有人要骂我误人子弟,但是理论严谨一点这么需要的啊啊啊啊prml上来就是变分法的,推荐个入门的吧,难度不高,我初恋女友在国内211读数学,他们用的这个

变分法我是在朗道里面看的,但是我不能给你推荐朗道势垒坑你,欢喜就好

有人推荐了因子图那本书,我觉得可以去看更经典的一本,概率图

数值这块还有一本,我觉得挺入门的,号称圣经,几个奥斯汀的教授写的。稍微有点老,在里面用c++各种实现算法

数值最优化还有一本很经典的

半年时间稍微短了点,所以有的大而全的书要选择性看,比如说最后一本的数值优化,有的书,要仔仔细细的刷,有时候还得看更细致得论文。还有一点,一定要切记,补数学的过程中,一点要编程,碰到一个新的算法,即使不自己实现,也要看一看别人的实现,最次也要在脑袋里模拟一下算法运行过程。

除了书籍,期刊会议可以自己搜索一下机器人视觉方面的有很多人推荐的,我这里额外推荐一下siam的,属于工业数学或者应用数学。其实很多在数学系下面做ai这块的,也有论文往这上面投。

推荐了这么多,半年估计你看不完的,我自己试过,半年时间没搞完,不过我的资质略低,属于学渣 。还是有选择的多看一些吧。我记得我研究生开学典礼的时候,白春礼院士说,抓住自己一生中不多的时间多读书,立大志。与君共勉。其实很多更深数学的我没推荐,北美像ucb,cmu的ai这方向博士要求应该比我的推荐要稍微深一点,不过量应该没我推荐的这么大。我水平实在有限,3d 还有微分几何信息几何,流形什么的我都没推荐,好多都是纯数学出身的在做,而且大部分是理论性的。另外3d跟图形学结合也是一个趋势,有兴趣可以看一下这方面

在补数学基础的过程中,其实你已经具备了进入一些方向的能力,可以每天起床前刷一刷arxiv自己感兴趣的方向,看着看着随着自己的积累,好多东西自然就懂了。不过机器人光有理论还不够,有了想法立马去实操写代码,去真机上跑。

我这里是假定你已经有了很好的计算机基础的。你要是计算机和编程也不好,抓紧补,slam有很强的应用背景,有的paper写的好看但不顶用啊,所以理论和实践结合有可能会搞出更鲁棒,更优的算法或者框架。实时性这块,放弃一些cver只用python的幻想,c++撸起来。很多slam用的库用到了模板元编程,如果只调用别人的库,写一些基本的c++代码也还好,但是要是想自己弄点建设性的东西,要自己写库的。所以我的一个建议,在补数学的同时,工程技能点抓紧往上垒,尤其数学搞了很多发现自己可能不是那块料,一定要把工程抓牢。ps机器人视觉slam包括3d,是有不少数学博士也在做的方向的 我就见过某某师范大学数学系,拿激光扫描器,做3d重建算法的,张正友就是应用数学博士

如果能做到把很多方向融汇贯通,很有可能创造出绝学(可能我金庸看多了 )

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿,加微信:dddvision

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近6000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

本科数学基础差的感觉 SLAM 很难,如何去提高?相关推荐

  1. 作为低学历的应届生,找工作感觉真的很难

    我今年夏天毕业,是专科,出来找工作已经有2个月了.这两个月过的,确实很难.投了2个月的简历了,估计投了有几千份简历了吧,可是只有第一个星期的一份面试,后来就没有了,因为第一次面试,没准备好,流产了.我 ...

  2. python难懂吗?看完这个再也不会感觉Python很难!

    Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语 ...

  3. 双非本科毕业,找工作真的很难?

    01  前言 大家好,我是张巧龙. 今天给大家分享一个读者阿杆的故事,他双非院校,专业是数字媒体技术,但主修了软件工程,方向是后端开发,主语言是 Java,去年秋招拿到了一份18*16的 offer, ...

  4. 中南大学计算机学硕很难考吗,2019中南大学计算机专业考研成功经验分享

    原标题:2019中南大学计算机专业考研成功经验分享 1.我的基本情况 先说下我的基本情况,计算机专硕, 初试386分,排名24, 复试排名第一 ,总分第二(今年上400分的并不多,但是因为报考得人数太 ...

  5. 大学生学习编程很难吗?怎么样才能学好编程?

    有很多的人是非常的想知道,学编程难吗?编程入门先学什么?往下看希望对你们有起到帮助. 一:学编程难吗? 编程说难不难,说难不难,说简单不简单,学习之前你首先要知道你的学习目标,知道要学来干嘛. 要从事 ...

  6. java开发感觉很难_为什么很难找到优秀的Java开发人员?

    java开发感觉很难 就像大量无聊的程序员中的针刺一样,优秀的Java开发人员供不应求. 但是谁该怪? 无私的程序员? 招聘人员误入歧途? 还是语言本身? 不管您是否同意,以下是一些为什么最难找到像样 ...

  7. 为什么大学感觉学编程很难?原因有这三点。

    为什么很多计算机系的大学生觉得在学校学不好编程? 大学学习还是以理论为主 大学开设的课程还是以主体的理论学习为主,主要是营造一个好的学术氛围,不可能太专注于专业实践,起到抛砖引玉的作用,把基础的理论铺 ...

  8. 为什么感觉赚100万很难?

    说难也不难,看看对谁而言.如果没有什么本领,那就是空谈,如果有本事,那就是个把小时的事. 网络发达的时代,抖音和快手快速兴起,人人都是创作者,这就从中脱颖而出一部分人,也就是我们说的网红,一晚上直播带 ...

  9. 面试Java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:hsm_computer 链接:https://www.cn ...

最新文章

  1. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...
  2. Java开发自学技巧!【漫画(1)
  3. 1.%@Page%中的Codebehind、AutoEventWireup、Inherits有何作用?
  4. php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
  5. [转]java 组播
  6. 生日快乐模板php,可会有人跟我说句生日快乐
  7. TCP的三次握手过程与四次挥手
  8. 一年级学情分析计算机,小学一年级语文学情分析范文
  9. SVN 代码迁出,导出,同步至生产环境脚本
  10. 波卡生态数据基础设施组件Kylin Network与借贷平台DefiCliq达成合作
  11. 成功在MP4封装的H264视频中提取能播放的裸流
  12. “硬件极客”:树莓派Raspberrypi安装Kali Linux保姆教程(通过树莓派安装ARM Kali教程)
  13. 深度学习教程(4) | 深层神经网络(吴恩达·完整版)
  14. 学生通讯录管理系统的设计与实现
  15. AJAX IE7清除缓存
  16. Qt5之图形视图框架(一)
  17. 文本转语音TTS(文本阅读和视频配音制作)MP3
  18. 初识Tesseract
  19. bezier.CSS_SVG_canvas画_贝兹曲线
  20. 软件设计原则之里氏替换原则、依赖倒置原则

热门文章

  1. 性能测试有哪些我们测试员必须要掌握的知识点?
  2. jquery validate插件onfocosout/onkeyup出错的解决方法
  3. 互联网公司的中台到底是什么
  4. Android也行5view斜体,Android TextView同时设置粗体和斜体
  5. 作业python 内部小卖铺
  6. greenplum的主机名更改导致无法启动问题解决
  7. 《Java程序员,上班那点事儿》荣登北京新华书店销售榜第2名,立贴纪念!
  8. 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...
  9. 买入高价显卡的回血方法
  10. python编程怎么画三角形的外接圆_用MATLAB画三角形外接圆