计算机视觉-------既然选择远方,愿你风雨兼程

The M Tank 编辑了一份报告《A Year in Computer Vision》,记录了 2016 至 2017 年计算机视觉领域的研究成果,对开发者和研究人员来说是不可多得的一份详细材料。该材料共包括四大部分

简介

第一部分

    分类/定位

    目标检测

    目标追踪

第二部分

    分割

    超分辨率、风格迁移、着色

    动作识别

第三部分

    3D 目标

    人体姿势估计

    3D 重建

    其他未分类 3D

    总结

第四部分

    卷积架构

    数据集

    不可分类的其他材料与有趣趋势

结论

有兴趣的同学可以读一读,完整 PDF 地址:http://www.themtank.org/pdfs/AYearofComputerVisionPDF.pdf

下面是收集到的学习资料与心得的汇总:

01 掌握好相应的基础能力

计算机视觉的理念其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等。

所以在入门CV之前,同学们最好对基础的学术课程都有对应的了解,比如数学方面的微积分,概率学,统计学,线性代数这几门基础课程。

在编程语言方面,Matlab,Python,C++,最好熟悉其中2种,因为计算机视觉离开计算机编程是完全行不通的

 0?wx_fmt=gif

02 需要的专业工具

工欲善其事,必先利其器。对于想要学好计算机视觉的同学来说,一个专业的工具,绝对是助攻的不二神器。

OpenCV(开源计算机视觉库)是一个非常强大的学习资料库,包括了计算机视觉,模式识别,图像处理等许多基本算法。

它免费提供给学术和商业用途,有C++,C,Python和java接口,支持Windows、Linux、Mac OS、iOS和Android。

而关于OpenCV的学习,AI菌推荐(其中第三本目前无中文版):

学习OpenCV(Learning.OpenCV)

链接:https://pan.baidu.com/s/1c2GrPEK 密码:7012

毛星云老师编著的OpenCV3编程入门

链接:https://pan.baidu.com/s/1c2xuVFq 密码:2s4a

学习OpenCV3(Learning OpenCV 3)

链接:https://pan.baidu.com/s/1geQeT0J 密码:cuco

而深度学习方面,有TensorFlow,PyTorch,Caffe等深度学习框架,它们也内置了OpenCV的API接口。而哪种框架好,就要看你自己的需要了

推荐资料:

莫凡教程系列之PyTorch :https://morvanzhou.github.io/tutorials/machine-learning/torch/

TensorFlow中文社区:

http://www.tensorfly.cn/

深度学习 21天实战Caffe

 0?wx_fmt=gif

03 绕不开的数字图像处理与模式识别

数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。

入门的同学推荐

冈萨雷斯的《数字图像处理》《数字图像处理(第3版)(英文版)》和对应的Matlab版本

一本讲基础的理论,一本讲怎么用Matlab实现。

除此之外同学们还可以去YouTube上找到相关的课程信息,相信大家会有所收获的。

模式识别(Pattern Recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。我们把环境与客体统称为“模式”。

计算机视觉很多东西都是基于图像识别的,图像识别就是模式识别的一种。

模式识别通常是训练一个模型来拟合当前的数据,当我们拿到一堆数据或图片,需要从当中找到它们的关系,最便捷的便是用模式识别算法来训练一个模型。

AI菌推荐一本模式识别入门级的教材《模式分类》,相对于《模式识别》这本书来说可能比较难,但书中介绍了很多模式识别经典的分类器,还是很值得一读。

其中的一些思想在神经网络中也可以应用的

 0?wx_fmt=gif

04 系统的学习下计算机视觉课程

对于CV新手来说,想要从小白到大神,最快的方法就是先系统的学习一下计算机视觉的课程,全面了解一下计算机视觉这个领域的背景及其发展、这个领域有哪些基本的问题、哪些问题的研究已经比较成熟了,哪些问题的研究还处于基础阶段。

在这里AI菌推荐3本经典教材:

1.《计算机视觉:一种现代方法》(Computer Vision: A Modern Approach)

2.《计算机视觉_算法与应用》(Computer Vision: Algorithms and Applications)

3.《计算机视觉:模型 学习和推理》(Computer Vision: Models, Learning, and Inference)

这三本教材是计算机视觉最好的入门教材了,内容丰富,难度适中,其中第二本书涉及大量的文献,很适合对计算机视觉没什么概念的同学。

虽然其中的一些方法在现在看来已经过时了,但还是值得一读

 0?wx_fmt=gif

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.《深度学习》(Deep Learning)

2.《神经⽹络与深度学习》(Neural Networks and Deep Learning(Nielsen,2017))

 0?wx_fmt=gif

06 了解最新领域动态

很多同学做研究的时候,容易陷入自我封闭的“怪圈”,过于执着于埋头学习相关知识,有时候会忘记及时了解相关领域的最新动态,这是非常不科学的。

同学们在学习计算机视觉相关知识的时候,可以通过最新的paper来了解这个领域最新提出的一些概念以及发展的情况。

计算机视觉的期刊有两个PAMI(模式分析与机器智能汇刊)和IJCV(计算机视觉国际期刊)

顶级的学术会议有 CVPR、ICCV、 ECCV、 BMVC这四个,同学们可以跟着浏览这些期刊论文以及会议文章,相信一定可以学到不少有用的知识。

 0?wx_fmt=gif

做好计算机视觉研究并不是一件容易的事情,在大多数情况下它甚至是一件很枯燥的事情。研究成果毫无进展,研究方向不在明朗等等,这一切都会给你前所未有的压力.所以希望同学们在决定入这一行的时候,是出于自己的热爱,而不是出于当前的趋势。

因为热爱不会变,但趋势每一年都在变。

猜你喜欢

转载自blog.csdn.net/fly_wt/article/details/81544254