如果想要机器能够进行思考,我们需要先教会它们去看。

李飞飞——Director of Stanford AI Lab and Stanford Vision Lab

计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成更适合人眼观察或进行仪器检测的图像。

学习和运算能让机器能够更好的理解图片环境,并且建立具有真正智能的视觉系统。当下环境中存在着大量的图片和视频内容,这些内容亟需学者们理解并在其中找出模式,来揭示那些我们以前不曾注意过的细节。 计算机视觉的实现基本过程为:

计算机从图片中生成数学模型

计算机图形在模型中对图像进行绘制,然后在图像处理过程中将其作为输入,另外给出处理图像作为输出

计算机视觉的理念在某些方面其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等。因此,你可以将本文看成是深入这个领域研究的第一步。本文将尽量包涵到尽可能多的内容,但是可能仍然会存在一些较为复杂的主题,也有可能存在某些遗漏之处,敬请见谅。

丨第一步——背景

通常来说,你应该具有一点相关的学术背景,比如上过有关概率学、统计学、线性代数、微积分(微分与积分)等相关课程,对矩阵计算有一定了解更好。另外,从我的经验来看如果你对数字信号处理有了解的话,在以后对于概念的理解来说会更加容易。
在实现层面来说,你最好能够会用MATLAB或者Python中的一种,一定要记住的是计算机视觉几乎全部与计算机编程有关。

你也可以在Coursera上选修《概率绘图模型》一课,这门课程相对较难(讲得比较深入),你也可以在学习一段时间之后再对其进行了解。

丨第二步——数字图像处理

观看来自杜克大学的Guillermo Sapiro所教授的课程——《图像和视频处理:从火星到好莱坞Image and Video Processing: From Mars to Hollywood with a Stop at the Hospital》,该课程所提供的教学大纲每章都是独立的且包涵大量的练习,你可以在coursera和YouTube上找到相关的课程视频信息。另外你可以看下Gonzalez与Woods编写的《数字图像处理(Digital Image Processing)》一书,使用MATLAB来运行其中所提到的范例,相信一定会有所获。

丨第三步——计算机视觉

一旦学习完有关数字图像处理有关内容,接下来应该了解相关的数学模型在各种图像和视频内容中的应用方法。来自佛罗里达大学的Mubarak Shah教授在计算机视觉方面的课程可以作为一门很好的入门课程,其涵盖了几乎所有的基础概念。

观看这些影片的同时,可以学习Gatech的James Hays教授的计算机视觉项目课程所使用的概念和算法,这些练习也都是基于MATLAB的。千万不要跳过这些练习,只有在真正的练习过程中才会对这些算法和公式有更深入的了解。

丨第四步——高级计算机视觉

如果你认真学习了前三步中的内容,现在可以进入到高级计算机视觉相关学习了。
来自巴黎中央理工学院的Nikos Paragios和Pawan Kumar讲授了一门人工视觉中的离散推理(Discrete Inference in Artificial Vision)课程,它能提供相关的概率图形模型和计算机视觉相关的大量数学知识。

到现在这一步来看就比较有趣了,这门课程一定能让你感受到用简单模型构筑机器视觉系统有多么复杂。学完这门课程的话,在接触学术论文之前又迈进一大步。

丨第五步——引入Python和开源框架

这一步我们要接触到Python编程语言。
就Python而言有许多像 OpenCV、PIL、vlfeat这样的相关扩展包,现在就是将这些扩展包运用到你的项目中的最好时机。因为如果有其他的开源框架存在的话,没有必要从头开始来编写一切内容。
如果需要参考资料的话可以考虑《使用Python对计算机视觉进行编程 Programming Computer Vision with Python》,使用这本书就够了。你可以动手去尝试下,看看MATLAB和Python结合的话如何来实现你的算法。

丨第六步——机器学习与CovNets(卷积神经网络)

有关如何从头开始机器学习的资料实在太多,你可以从在网上查找到大量相关教程。

从现在开始最好一直使用Python进行编程,可以看下《使用Python建立机器学习系统——Building Machine Learning Systems with Python》和《Python机器学习——Python Machine Learning》这两本书。
目前深度学习正大行其道,可以试着学习卷积神经网络在计算机视觉中的应用( Computer Vision: the use of CovNets),在此推荐斯坦福的CS231n课程:针对视觉识别的卷积神经网络。

丨第七步——如何才能更进一步

行文至此,你可能会觉得已经讲了太多的内容,需要学的已经太多。但是,你还可以进一步进行探索研究。
其中一个方法是看看由多伦多大学的Sanja Fidler和James Hays所举行的一系列研讨会课程,能帮助你对当下计算机视觉研究方向的最新概念有所理解。
另一种即跟着 CVPR、ICCV、 ECCV、 BMVC这些顶级学术会议的相关学术论文(也可关注雷锋网的相关报道),通过会上的研讨会、主旨演讲以及tutorial等日程一定能学到不少知识。

总结:如果你按照步骤一步步完成所有的学习任务,届时你将大概了解计算机视觉中有关滤波器、特征检测、描述、相机模型、追踪器的历史,另外还学习到分割和识别、神经网络和深度学习的最新进展。希望本文能帮助你在计算机视觉领域走得更远,学习得更加深入。

七步带你认识计算机视觉相关推荐

  1. 七步带你认识计算机视觉(Computer Vision)

    如果想要机器能够进行思考,我们需要先教会它们去看.  李飞飞--Director of Stanford AI Lab and Stanford Vision Lab 计算机视觉(Computer v ...

  2. 无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)

    无人驾驶汽车系统入门(七)--基于传统计算机视觉的车道线检测(2) 原创不易,转载请注明来源:http://blog.csdn.net/adamshan/article/details/7873330 ...

  3. 计算机视觉和AI | CV小结 | 附资源分享 | 解读技术

    |懒人阅读:计算机视觉的应用无处不在,就像视觉是我们感知世界的最主要方式之一,所以其应用场景和公司也数不胜数.机器学习.深度学习等技术使用到CV之中后,为很多复杂视觉信号的处理带来了可能,从而可以进行 ...

  4. bigquery_为什么BigQuery Omni很重要

    bigquery Google Cloud's bet on an open platform is starting to materialize with Anthos and BigQuery ...

  5. 【计算机视觉】数字图像与机器视觉基础

    一.位图文件分析 1. 什么是位图 位图图像(bitmap),亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的.这些点可以进行不同的排列和染色以构成图样.当放大位图时,可以看见赖以构成 ...

  6. 七牛云联合浦软发起成立“人工智能产研创新联盟”

    上海2018年8月27日电 /美通社/ -- 近日,SH AI 2018上海人工智能大会暨第一届图像.视频处理与人工智能国际会议在上海浦东软件园的浦软大厦举行.本次会议由上海浦东软件园.中国科学院上海 ...

  7. 磐创AI - 专注机器学习技术分享

    微信公众号推荐 磐创AI 编辑 安可 今天给大家推荐一个微信公众号「磐创AI」,是一个从三大深度学习框架Tensorflow.Keras与PyTorch的角度剖析AI行业最新动态,机器学习干货文章,深 ...

  8. Tensorflow 入门教程

    Tensorflow 入门教程  http://tensornews.cn/ 深度学习发展史 特征工程 深度学习之激活函数 损失函数 反向传播算法 [上] 反向传播算法 [下] Tensorflow ...

  9. 帝国理工学院暑期学校 | 大数据与创新主题,郭院士领衔,全球Top10校级证书...

    在注定并不平凡的2020,我们经历了停考.停课.停工.我们接受了被迫取消的海外科研和Summer School,却又不停寻找着新的机遇来充实个人背景和提升自我能力. 被按下暂停键又重启的日子里,没有人 ...

最新文章

  1. Error:java: 错误: 不支持发行版本 14
  2. 开工大吉,先送一波福利~
  3. DevExpress 里实现单选按钮
  4. linux ping策略打开_linux ping策略打开_如何在Linux服务器禁止和开启ping包 互联网技术圈 互联网技术圈......
  5. 向mvc controller传递json数组
  6. 【JUC】CountDownLatch
  7. 点歌软件测试自学,实际歌唱对比测试
  8. 网络爬虫--21.Scrapy知识点总结
  9. 从源码到可执行程序的步骤
  10. datefromstring 转换不准确_免费的在线OCR工具,将图片内容转换为文本内容
  11. tp3.2 视图中U函数传变量值
  12. XenApp/XenDesktop快速部署工具- QDT for 7.6 LTSR
  13. matlab中如何对一个小数取整,学习笔记153—matlab中小数如何取整?
  14. 弘扬中国文化创作发展文学建设事业,间谈小说 “文味”和“接笔 ”的看法...
  15. scrapy 爬取腾讯招聘网
  16. 付费会员亿时代即将来临,如何才能打造“终身俱乐部”?
  17. CAD显示全屏控件(网页版)
  18. 十个著名悖论的最终解答 (转载)
  19. 3.3 CNN经典网络实现
  20. 加密流量也能识别与管控,绿网借至强AI加速能力打造高效智能DPI方案

热门文章

  1. can a select block a truncate (ZT)
  2. 全局变量、静态全局变量、静态局部变量和局部变量的区别
  3. Error APICloud iOS null is not an object
  4. [代码笔记]VUE路由根据返回状态判断添加响应拦截器
  5. Windows下使用Dev-C++开发基于pthread.h的多线程程序
  6. 骗子防不胜防,我们该如何安全上网?
  7. AndroidStudio-使用Translations Editor
  8. Android .9.png图片的处理
  9. 解決yum [Errno -1] Metadata file does not match checksum
  10. OCS 如何在数据库直接给用户增加联络人