01 掌握好相应的基础能力
计算机视觉的理念其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等。所以在入门CV之前,最好对基础的学术课程都有对应的了解,比如数学方面的微积分,概率学,统计学,线性代数这几门基础课程。
在编程语言方面Python和C++,计算机视觉离开计算机编程是完全行不通的
02 需要的专业工具
OpenCV(开源计算机视觉库)是一个非常强大的学习资料库,包括了计算机视觉,模式识别,图像处理等许多基本算法。
它免费提供给学术和商业用途,有C++,C,Python和java接口,支持Windows、Linux、Mac OS、iOS和Android。
而关于OpenCV的学习,推荐:
1.学习OpenCV(Learning.OpenCV)
2.毛星云老师编著的OpenCV3编程入门
3.学习OpenCV3(Learning OpenCV 3)
而深度学习方面,有TensorFlow,PyTorch,Caffe等深度学习框架,它们也内置了OpenCV的API接口。而哪种框架好,就要看你自己的需要了
推荐资料:
莫凡教程系列之PyTorch :https://morvanzhou.github.io/tutorials/machine-learning/torch/
03 绕不开的数字图像处理与模式识别
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
入门的同学推荐
冈萨雷斯的《数字图像处理》《数字图像处理(第3版)(英文版)》和对应的Matlab版本
一本讲基础的理论,一本讲怎么用Matlab实现。
除此之外同学们还可以去YouTube上找到相关的课程信息,相信大家会有所收获的。
模式识别(Pattern Recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。我们把环境与客体统称为“模式”。
计算机视觉很多东西都是基于图像识别的,图像识别就是模式识别的一种。
模式识别通常是训练一个模型来拟合当前的数据,当我们拿到一堆数据或图片,需要从当中找到它们的关系,最便捷的便是用模式识别算法来训练一个模型。
04 系统的学习下计算机视觉课程
对于CV新手来说,想要从小白到大神,最快的方法就是先系统的学习一下计算机视觉的课程,全面了解一下计算机视觉这个领域的背景及其发展、这个领域有哪些基本的问题、哪些问题的研究已经比较成熟了,哪些问题的研究还处于基础阶段。
推荐3本经典教材:
1.《计算机视觉:一种现代方法》(Computer Vision: A Modern Approach)
2.《计算机视觉_算法与应用》(Computer Vision: Algorithms and Applications)
3.《计算机视觉:模型 学习和推理》(Computer Vision: Models, Learning, and Inference)
这三本教材是计算机视觉最好的入门教材了,内容丰富,难度适中,其中第二本书涉及大量的文献,很适合对计算机视觉没什么概念的同学。
虽然其中的一些方法在现在看来已经过时了,但还是值得一读
05 深度学习与CNN
计算机视觉里经常使卷积神经网络,即CNN,是一种对人脑比较精准的模拟。
什么是卷积?卷积就是两个函数之间的相互关系,然后得出一个新的值,他是在连续空间做积分计算,然后在离散空间内求和的过程。
同学们可以试着学习下CNN在计算机视觉当中的应用
推荐的资料:
1.斯坦福CS231n—深度学习与计算机视觉网易云课堂课程:http://study.163.com/course/introduction.htm?courseId=1003223001
2.斯坦福CS231n—深度学习与计算机视觉官方课程:http://cs231n.stanford.edu/
3.CS231n官方笔记授权翻译总集篇:https://www.52ml.net/17723.html
4.吴恩达 deeplearning.ai与网易云课堂的微专业深度学习工程师卷积神经网络
http://mooc.study.163.com/course/2001281004?tid=2001392030#/info
神经网络方面的经典教材
1.《深度学习》
2.《神经网络与深度学习》
06 了解最新领域动态
很多同学做研究的时候,容易陷入自我封闭的“怪圈”,过于执着于埋头学习相关知识,有时候会忘记及时了解相关领域的最新动态,这是非常不科学的。
同学们在学习计算机视觉相关知识的时候,可以通过最新的paper来了解这个领域最新提出的一些概念以及发展的情况。
计算机视觉的期刊有两个PAMI(模式分析与机器智能汇刊)和IJCV(计算机视觉国际期刊)
顶级的学术会议有 CVPR、ICCV、 ECCV、 BMVC这四个,同学们可以跟着浏览这些期刊论文以及会议文章,相信一定可以学到不少有用的知识。
做好计算机视觉研究并不是一件容易的事情,在大多数情况下它甚至是一件很枯燥的事情。研究成果毫无进展,研究方向不在明朗等等,这一切都会给你前所未有的压力.所以希望同学们在决定入这一行的时候,是出于自己的热爱,而不是出于当前的趋势。
因为热爱不会变,但趋势每一年都在变。
有兴趣的同学可以读一读,完整 PDF 地址:下载链接