[SLAM] Studying Guidance
Books from Zhihu:
幽默一把
看完Gonzalez:嗯,好像很好玩的样子,我也来搞一搞。
看完Price:什么鬼,怎么这么多公式,公式看不懂肿么破。
看完Szeliski:原来用一千页的书只能勉强做综述和论文索引,玩蛋去。
书的使用
Szeliski的《computer vision:algorithms and application》论文索引工具书
Reinhard Klette的《Concise Computer Vision: An Introduction into Theory and Algorithms》入门书
David A.Forsyth, Jean Ponce《Computer Vision: A Modern Approach》入门书
Simon J.D. Prince《Computer Vision Models, Learning, and Inference》结合ML
Richard Hartley《Multiple View Geometry in Computer Vision》3D重建
Yi Ma《An Invitation to 3-D Vision》3D重建
“自由视角(上帝)视频” - 基于深度摄像机
可行性(1)之发展方向
从一个行业内公司的角度回答一下你的问题。我们公司是做实时三维重建的,在招聘的时候得到了一些大牛的建议,在这里和你分享一下。
有人建议我找图像处理背景的,而不是三维重建背景的,尽管我们核心的技术是三维重建。原因是,学习图像处理的人会接触到更广泛更多元的技术,而三维重建背景的会非常专注于细分的算法,因为三维重建本身还有更细分的技术,所以在做研究生阶段的学习的时候,会有很具体的专业方向,比如说就是做航拍地形的三维重建,或者是佛像的三维重建,这里面因为场景的区别运用到的拍摄技术和重建技术都是不一样的,而且有一些不同技术之间也没有关系(当然三维重建本身的概念是相同的)。
这么解释这件事,并不是想说更general的图像处理比三维重建好,这个只是我们公司在特定阶段对于人才的具体需求,并从这个需求出发得到的建议。
你说的对于三维重建相关技术在商业上应用的前景的判断,我是比较认同的,从以上这个角度考虑,你并不非得要做三维重建,才能参与到与三维重建相关的工作中,随着三维重建相关技术的发展,与其相关的很多技术都还没有成型,所以很多图像处理和计算机视觉的东西都会被应用在三维重建的技术上。
你说到你是希望做科研,那我个人觉得三维重建里面还有很多东西可以做(从我们在商业场景上的探索来看),如果专注于某个三维重建有关的细分场景,都会有很大空间可以往深了去研究的。
国内比较好的去处,我第一个能想到的就是浙大的CAD图像实验室。国外的话,比如CMU在计算机图像领域都是很有名的。
关于三维重建未来的热点和难度,这个领域就像我说的可以做的很专,场景也有很多,每个场景都有不同的挑战,不懂得我就不说了,我讲一个就是实时三维重建的问题。
三维重建有包括多目视觉的三维重建和基于深度相机的三维重建,还有光场相机的三维重建,
- 多目视觉的三维重建是非常耗时的,在很多商业应用上已经能看到这个问题所带来的瓶颈,与之对应的深度相机的三维重建是可以进行快速的重建的,
- 但是深度相机本身又有很多局限性,并不能像多目相机那样在各种条件下都可以进行拍摄,
- 至于光场相机的三维重建,这个基本只能停留在理论阶段,实际操作对于光学元件的要求和计算量都非常高,所以并不是很实用(但是一旦技术成熟,其实是这里面相比较而言更理想的一种三维重建方式)。
可行性(2)之技术方向
雷达扫描效果无敌!
尤其是从空中用雷达扫描进行建模,成本很高,很难推广到普通的商用,大多用户都是专业测绘人员或者从事相关工作的企业。
如果你现在不知道选什么,那我建议你先修基础知识,尤其是凸优化。无论做机器学习还是计算机视觉,凸优化都是必不可少的。
至于你说的导师年轻有为,这个我倒觉得你得先客观评价一下,不要光看他网站上介绍的头衔。建议你在 google scholar 上搜索你导师的名字(英文),如果有 scholar profile 的,看看最近几年发了什么档次的文章(不要把中文的算进来),citation 和 h-index 有多少。如果没有,可以自己手动估摸一下他的 citation。做这行的,国内年轻教授有个 200 的 citation 已经算鹤立鸡群了。美国一般学校的几年年轻 AP 则是在 600 左右。评价导师水平很重要,这直接关系到你的学术品味和学术视野。如果导师水平不够,那么很可能你接受到的学术训练并不正统,走了弯路。
如果你受了良好训练,有了好的学术品味和视野,到时候国内/国外读博哪些实验室比较好,哪些老师很厉害,你心里肯定比在这里答题的大部分人都清楚。
而且,即使你知道哪些地方好,人家并不一定会要你。这是一个老师挑学生的过程。如果想存活下来(即拿到 PhD offer),你只能尽力提高自己的筹码。这体现在你的知识水平、技能上。而这些是修课和发论文可以帮助的。
总而言之,建议你先修优化方面的课程,调查一下导师的水平,做到心中有数。然后再在导师训练下感受一下,到时你自然知道自己应该做什么。
算法思路 - 作者:铁胆火车侠
(x,X分别代表图片和空间中的二维三维齐次坐标,k为相机内参矩阵,P=[R | t] 为空间坐标系到相机坐标系的 orientation- R 和 transformation- t)
1, 首先对某一场景多角度多位置得到很多初始数据,选择其中的某两个来初始化,选定其中一个为空间原点。
<span style="font-size: 16px;" data-mce-style="font-size: 16px;"><img src="https://pic3.zhimg.com/08a972d34f7fa4f69bc6730324362b3e_b.png" data-rawwidth="631" data-rawheight="503" class="origin_image zh-lightbox-thumb" width="631" data-original="https://pic3.zhimg.com/08a972d34f7fa4f69bc6730324362b3e_r.png"></span>
推荐宾大Shi Jianbo教授在Coursera上的公开课 Robotics:Perception
上面所有的截图都来自他最后一次课的视频讲义截图
https://www.coursera.org/learn/robotics-perception/home/welcome
配合视觉圣经 Multiple View Geometry来看简直完美。Ransac, Bundle-adjustment, -View, Homography全部都有。一共四周,有线性代数基础(主要是SVD用来解线性方程),作业用Matlab. 第一周作业: Dolly Zoom
第二周作业: 平面摄影几何,广告牌在视频中的投影,类似2D增强现实
第三周作业: 在平面Barcode上通过sift检测特征点,通过H矩阵计算相机位置,做3D增强现实
第四周作业: 3D重建
宾大Shi Jianbo教授
如何实践
Department of Engineering Science, University of Oxford
What is SLAM?
基于移动端的,比如智能手机的重建现在有很多初创公司在做。 比较传统的,有Shape from Shading, Shape from motion, 前者通过光照变化重建,后者通过位移变化。 还是比较传统的,用两幅图像重建的,就是什么epipolar那一坨。 后来在大概06年吧,发了一篇神作,把网上海量图片找出来关于一个场景的然后进行重建。 效果比较好的还有PTAM,是现在华盛顿圣路易斯分校的一个日本老师搞出来的,重建领域大拿,那个东西能进行稠密重建好像我记不大清楚了。 后来他还搞了个能在遮挡情况下进行重建的项目。 比较偏门的还有透明物体重建,比如重建个玻璃杯什么的,我记得这个是一个巴西的老师主公这个方向,主要是通过什么折射率还是什么的,数学要求太多完全看不懂囧。 清华大神,现在应该是MIT的那位在CVPR上也发了一篇关于这个的,能重建火好像,扫了一眼没看明白呵呵。 另外,在07年,AI之神,现在BAIDU的那位Ng先生和他当时的学生,现在已经是faculty的合做了利用一幅图像重建的项目。这个反正不怎么主流,慕尼黑工业大学曾经也做过这个领域。 还有,传统意义上的重建,比如马毅在书里第某章,好像是11章吧,忘了,写的过程,首先要找feature point嘛,然后epipolar那一坨网上招呼。但是现在由于计算机性能大幅提升,人们已经可以貌似跳过这一步了,能够用原始图像直接重建了,好神奇啊。还是慕尼黑工业大学发过这部分文章,但是原始的我忘了,但应该是12年以后的事儿. --------以上,基于2D图像, 以下有3D加入-------- 并且由于无人机的兴起,很多地方在做,简单说,就是无人机、或者什么机器人比如扫地机器人之类的,绕着某个空间转几圈,就能够重建出当前环境,并且知道自己所处的位置。 当然,Kinect及其相似物的大大扩展了重建的领域。其实。。。你用这玩意的得到的本身就是3D的了。。。其实,我们要做的,就是把这东西变的更好看一点,更好操作一点。 之前没有kinect时候,比如重建个人,大家先找silhouette,然后找交叉部分,然后找visual hull,然后重建出来, 后来有了kinect,人们有了各种其他方法,比如基于skeleton,基于配准。。。 o 对了,kinect现在已经能够,快速重建了,就是比如一人拿个kinect绕着你扫一圈,然后就能进行3D打印了。跟十二生肖里面那几个贼干的差不多嘛。 -------------- 。。。 太多了,如果有兴趣,我提供一点入门的东西,咱一起学啊。。。或者题主已经入大牛实验室门了。。。求推荐啊哈哈 首先,书,马毅的那本,还有zisserman的那本; 程序,先别玩儿PTAM,那玩意儿一般用linux,而且整理的其实不好,用起来反正我觉得麻烦。 入门的用stanford的一个,三视觉重建一个大卫头像,有matlab源代码,学习起来特别好。 一些比较好的实验室有学校:苏黎世理工;慕尼黑工业大学视觉组;康奈尔;华盛顿;华盛顿圣路易斯;北卡教堂山;肯塔基大学 (以上重建领域非常惊艳),还有一些cv牛校也有这个方向: UCLA;USC;UIUC (对不起,我真的不知道CMU, 哈佛, 耶鲁,普林斯顿,MIT, 加州理工这几只重建领域怎么样,其实,我连它们的主页长什么样都不知道) 另外,重建领域各个研究方向也不同。比如有专门做数学部分的,不过这都是上个世纪人们的侧重了,比如2目重建,从8点重建,一路刷到现在的5点重建; 还有做我刚才扯的那一堆的。 再另外,多文章最后用了Poisson Surface Reconstruction,那是重建点了之后的后续。我扫过,数学太多又一次没看懂,已经完全没有了自尊心受打击的感觉了。准备有时间看看这东西到底怎么干的。 ------------- sorry 说的特乱,其实我自己真的没理清,这领域感觉太tm大了,水很深,如果还没入坑,请谨慎。。。需要积累的特别特别多 之前说的PTAM 是个神作,被google用了,其他的一些初创公司做的手机app如果你发现了,那应该非常基础,算法部分肯定不难实验。其实stanford的个教学程序你改改就是app了呵呵。在美国融资实在是太容易了,钱多人傻,吐槽一下,这些小公司都得死。。。
Niubiness
总结:感觉很有前途的样子。。。 当然,对数学的要求也比较高,必读书也不少。
补充两个链接:
[SLAM] Studying Guidance的更多相关文章
- [ROS] Studying Guidance
Reference: https://www.zhihu.com/question/35788789 安装指南:http://wiki.ros.org/indigo/Installation/Ubun ...
- (转) 实时SLAM的未来及与深度学习的比较
首页 视界智尚 算法技术 每日技术 来打我呀 注册 实时SLAM的未来及与深度学习的比较 The Future of Real-Time SLAM and “Deep Learni ...
- SLAM方向国内有哪些优秀公司?
计算机视觉life为读者整理了国内几十家涉及SLAM的优秀公司,涵盖自动驾驶.仓储机器人.服务机器人.无人机.AR.芯片相机等领域. 一 自动/辅助驾驶: 1.百度: 主要产品:自动驾驶软件 百度智能 ...
- Slam(即时定位与地图构建) 知识篇
Slam即时定位与地图构建 技术解释 同步定位与地图构建(SLAM或Simultaneous localization and mapping)是一种概念:希望机器人从未知环境的未知地点出发,在运动过 ...
- rplidar & hector slam without odometry
接上一篇:1.rplidar测试 方式一:测试使用rplidar A2跑一下手持的hector slam,参考文章:用hector mapping构建地图 但是roslaunch exbotxi_br ...
- Google开源SLAM软件cartographer中使用的UKF滤波器解析
在Google开源SLAM软件cartographer中,相对<SLAM for dummies>使用了更为复杂.性能更好的Scan匹配与UKF算法,这里简单介绍下cartographer ...
- SLAM初探-SLAM for Dummies
SLAM综述性特别是原理讲述比较浅显易懂的的资料比较少,相对比较知名的是<SLAM for Dummies>,但中文资料相对较少,这里就简单概述一下<SLAM for Dummies ...
- SLAM前端技术选择思考
以前是专门做室内定位技术研究的,先后学习和分析了多种基于电磁的室内定位技术,如WiFi指纹定位(先后出现过RSSI.CTF.CIR多种指纹特征).WiFi ToF定位.低功耗蓝牙BLE以及iBeaco ...
- 【Hector slam】A Flexible and Scalable SLAM System with Full 3D Motion Estimation
作者总结了SLAM前端和后端的区别 While SLAM frontends are used to estimate robot movement online in real-time, the ...
随机推荐
- js系列(9)js的运用(一)
本节开始介绍javascript在html页面中的运用. (1)link样式表的动态绑定:(http://files.cnblogs.com/files/MenAngel/text04 ...
- MFC如何使用静态MFC库
大部分MFC程序都是使用 在共享DLL中使用MFC ,但是VS每一个版本都需要一个 MFC运行库,实在是有点烦人. 所以我选择了使用静态MFC库,虽然文件会大一些,但是至少不麻烦了. VS这个做的不够 ...
- ios相关手册、图表等综合
Objective-C初学者速查表(来源:http://www.cocoachina.com/applenews/devnews/2013/1115/7362.html) iOS UIKit类图 (来 ...
- ADB工具包15秒快速安装器,已集合ADB、FASTBOOT工具箱和最新的驱动程序
http://www.cnroms.com/adb-and-fastboot-toolkit-with-google-usb-drivers.html 通过电脑管理安卓手机需要的三个最常用的工具包集合 ...
- hdu 2203 亲和串
把T串扩展成两倍 然后KMP 注意T的长度要大于P的长度 #include <iostream> #include <cstdio> #include <cstri ...
- AWVS漏洞测试-01节-AWVS的主要作用
AWVS漏洞工具简单介绍 AWVS全称: Acunetix Web Vulnerability Scanner 中文翻译就是:Acunetix网站攻击扫描器 扫描网站漏洞,通过网络爬虫Crawler的 ...
- Web - 客户端存储的几种方式
客户端存储主要方便一些APP离线使用.今天就来说说客户端存储的方法有多少? 说在最前面的一句:所有的客户端存储都有一个原则:读写的数据必须要同域 1 Cookie Cookie是一项很老的技术的,就是 ...
- ffmpeg安装的问题
php语音转换需要安装ffmpeg文件 参考地址: http://thierry-xing.iteye.com/blog/2017864 http://diogomelo.net/blog/11/en ...
- [转]ios平台内存常见问题
本文转自CocoaChina,说的满详细的: 链接地址:http://www.cocoachina.com/bbs/read.php?tid=94017&keyword=%C4%DA%B4%E ...
- volley中图片加载
volley图片加载有三种方式: 记得:Volley中已经实现了磁盘缓存了,查看源码得知通过 context.getCacheDir()获取到了 /data/data/<application ...