http://www.jianshu.com/p/5e7c89388353
数据“爆炸”的大数据时代,当下环境中存在着大量的图片和视频内容,这些内容亟需理解并在其中找出模式和总结规律。而研究如何用机器“看”的科学——计算机视觉(Computervision)就是一种简便的、能够智能化地完成这一任务的最佳科学。现在大圣众包威客平台以7步为你备战计算机视觉学习。
![](https://i-blog.csdnimg.cn/blog_migrate/a46aece2ab1c9602489351bb314300a5.webp?x-image-process=image/format,png)
Step1——学术基础
万事开头难,从零开始更难,尤其是对于计算机视觉这种与其他科学交叉较多的领域来说。具备一点如概率学、统计学、线性代数、微积分(微分与积分)等相关课程的学术背景,对学习计算机视觉大有裨益。要是想在日后更容易理解计算机视觉的一些概念,提早对矩阵计算和数字信号处理进行学习,会学得更加轻松。所以说,打好基础非常重要。
【Tips—工具/视频/书籍推荐】:要时刻记住,计算机视觉几乎全部与计算机编程有关,所以,在工具使用方面,建议掌握MATLAB或Python中的一种。自修视频,可以选择在Coursera上选修《概率绘图模型》一课,尽管这门课程相对较难,但它的深入度也让人感到十分痛快。
Step2——数字图像处理
数字图像处理与计算机视觉的理念在某些方面有着重叠的概念,所以,掌握数字图像处理对学习计算机视觉十分重要。
【Tips—工具/视频/书籍推荐】:Gonzalez与Woods编写的《数字图像处理》(《DigitalImageProcessing》)一书,是业内众人皆赞的推荐书籍,你可以运用MATLAB来运行其中所提到的范例,多动手学以致用。另外,想要声色俱备地学习,建议在Coursera或YouTube上搜索相关的课程视频自学,如《图像和视频处理:从火星到好莱坞》(《ImageandVideoProcessing:FromMarstoHollywoodwithaStopattheHospital》)。此课程所提供的教学大纲,每章都是独立的,并且包含大量的练习,理论与实践结合让你进步更快。
![](https://i-blog.csdnimg.cn/blog_migrate/821e84e584db56d611ba20d8c5681800.webp?x-image-process=image/format,png)
Step3——数学模型的应用
学习完有关数字图像处理的有关内容,下一步,应该了解相关的数学模型在各种图像和视频内容中的应用方法了。此时,你离计算机视觉越来越近了。
【Tips—工具/视频/书籍推荐】:在网上搜索佛罗里达大学的MubarakShah教授在计算机视觉方面的课程也是一个很好的选择,它几乎涵盖所有的基础概念,是一门很好的入门课程。另外,值得借鉴的还有Gatech的JamesHays教授的计算机视觉项目课程,因为课程中涉及的概念和算法,都是基于MATLAB的,随手练习你才会对这些算法和公式有更深入的了解,这样可以增强你的实战功力。
Step4——计算机视觉进阶
在认真学习前三步的内容后,高级计算机视觉相关学习渐渐为你敞开大门了。到了这一步,开始越来越有趣了,但同时,你也会感受到用简单模型构筑机器视觉系统是有多么的复杂。但是理解透彻后的成就感会淹没一切烦躁的心情,并且,恭喜你离接触学术论文又迈进一大步了。
【Tips—工具/视频/书籍推荐】:继续以视频为学习资源,《人工视觉中的离散推理》(《DiscreteInferenceinArtificialVision》)课程——来自巴黎中央理工学院的NikosParagios和PawanKumar,它能为你带来大量的概率图形模型相关和计算机视觉相关的数学知识,视频内容有趣丰富,让你欲罢不能。
![](https://i-blog.csdnimg.cn/blog_migrate/7608f7282c5f6fc44d5d4a5855521dcf.webp?x-image-process=image/format,png)
Step5——引入Python和开源框架
还记得“计算机视觉几乎全部与计算机编程有关”吗?这一步我们要引入Python编程语言和开源框架了。对Python而言,现在就是将如PIL、vlfeat、OpenCV这样的相关扩展包运用到项目中的最佳时机了。
【Tips—工具/视频/书籍推荐】:如果需要参考资料的话,建议熟读《使用Python对计算机视觉进行编程》(《ProgrammingComputerVisionwithPython》)一书。当然,不要忘了结合MATLAB和Python去实现你的算法,多劳才能多得。
Step6——机器学习与CovNets(卷积神经网络)
上文提到,计算机视觉是一门与多学科交叉的领域,在以上5步的基础下,现在要开始主攻机器学习和CovNets了。
【Tips—工具/视频/书籍推荐】:机器学习是一门相对独立的学科,你可以在网上查找到大量相关的教程以自学。另外,《使用Python建立机器学习系统》(《BuildingMachineLearningSystemswithPython》),以及《Python机器学习》(《PythonMachineLearning》)这两本书,也应该深度研究一下,因为从现在开始,你最好训练自己一直使用Python进行编程了。在深度学习大行其道的今天,你还可以试着学习CovNets在计算机视觉中的应用,视频方面推荐斯坦福的CS231n课程:《针对视觉识别的卷积神经网络》。
![](https://i-blog.csdnimg.cn/blog_migrate/c063023a89cbdbe97ea751e7b58b6ebb.webp?x-image-process=image/format,png)
Step7——更上一层楼
尽管可能你会觉得要学的知识实在太多了,但是,相信计算机视觉的趣味性仍然吸引着你向前迈进。
【Tips—工具/视频/书籍推荐】:想要进一步进行探索研究,理解当下计算机视觉研究方向的最新概念,可以看看由多伦多大学的SanjaFidler和JamesHays所举行的一系列研讨会课程。另外,研究BMVC、CVPR、ECCV、ICCV这些顶级的学术会议的相关学术论文,通过会上的研讨会、主旨演讲以及tutorial等日程,将会对你大有裨益。
想要学习计算机视觉这一并不独立的学科,难免要对相关的人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等进行深入的研究。在知识就是力量的共享经济社会,希望你能够克服重重困难,早日学有所成。