机器视觉(AOI)之视觉知识
计算机视觉实在很广了,目前比较热门的方向总体上分为两大块:一块是深度学习,一块做SLAM。它们的研究点区别在哪呢?深度学习这一群体侧重于解决识别感知(是什么)问题,SLAM侧重于解决几何测量(在哪里)问题ICCV研讨会:实时SLAM的未来以及深度学习与SLAM的比较。拿机器人来说,如果你想要它走到你的冰箱面前而不撞到墙壁,那就需要使用 SLAM;如果你想要它能识别并拿起冰箱中的物品,那就需要用到深度学习机器人抓取时怎么定位的?用什么传感器来检测?。当然这两方面在research上也有互相交叉融合的趋势。 不过在学习这些之前,一般都会先掌握下传统的计算机视觉知识,也就是图像处理这一部分了。我之前大致总结过一次:计算机视觉初级部分知识体系。这些基础知识的理解还是挺有必要的,有助于你理解更高层知识的本质,比如为什么会出现deeplearning等这些新的理论知识(感觉有点像读史了,给你智慧和自由)。这一部分学习资料的话还是挺推荐浅墨的《OpenCV3编程入门》 也可以看他的博客。当然他的书有一个问题就是涉及理论知识太少,所以推荐自己再另备一本偏理论一点的图像处理相关的书,我手边放的是《数字图像处理:原理与实践》,差强人意吧。个人之前看浅墨书的时候做了一份《OpenCV3编程入门》学习笔记,里边包含一些理论知识和个人见解。下面说一下两个大的方向:基于深度学习的视觉和SLAM技术。 基于深度学习的视觉:机器学习包括深度学习里的大部分算法本质上都是用来做“分类”的。具体到计算机视觉领域一般就是物体分类(Object Classification)、目标检测(Object Detection)、语义分割(Image Semantic Segmentation)等,当然也有一些很酷又好玩的东西比如edges2cats、deepart。本人主要做一些Object Detection相关的东西。其实一般是直接跑别人的代码了,稍微做一些修改和参数调整,前期的预处理才是主要工作。这些程序基本都是在linux下跑的。好,深度学习为什么这么强?它主要解决了什么问题呢?我比较认同以下三点:学习特征的能力很强,通用性强,开发优化维护成本低 参见为什么深度学习几乎成了计算机视觉研究的标配?。关于这一部分的学习,主要就是deeplearning了。关于deeplearning,漫天飞的各种资源。可以看一看李宏毅的一天搞懂深度学习课件 youtube上有一个一天搞懂深度學習–學習心得;李飞飞的CS231n课程,网易云课堂有大数据文摘翻译的中文字幕版课程,知乎专栏智能单元有CS231N课程翻译(非常好);三巨头之一Yoshua Bengio的新作《DEEP LEARNING》,目前已有中译版本 。 SLAM技术:这一部分了解不多,不做太多评价,有兴趣的可以自己谷歌一下。
郑重声明:
1、部分内容来源于网络,本文版权归原作者所有,转载文章仅为传播更多信息之目的。
2、本文仅供学术交流,非商用。如果某部分不小心侵犯了大家的利益,请联系删除。