2020年计算机视觉技术最新学习路线总结 (含时间分配建议)

重磅干货,第一时间送达

本文转载自:深度学习与计算机视觉

介绍

如今有大量的资源可以用来学习计算机视觉技术,那我们如何从众多教程中进行选择呢?哪个值得我们去投入时间呢?

如果你也遇到这些问题,那么恭喜你来对地方了。我们通过理解数百种资源来选择值得你花费时间的资源-这就是我们首先推出本文的主要原因之一。

去年,我们广泛地专注于两个技术的学习方法——机器学习和深度学习,但是我们的社区需要更细化的学习路径——一个结构化的计算机视觉学习路径

这是可以理解的,因为计算机视觉专家的需求和价值在业界遥遥领先。专门研究计算机视觉及其不同方面,你会看到大量招聘人员试图接近你。

我记得当我开始自己的计算机视觉之旅时,我同时参考了多种资源——书籍、文章(当时并不多)、YouTube视频等等。

因此,我很高兴有机会为你整理这种结构化的计算机视觉学习路径。在开始学习之前,让我们了解一下为简化你的学习过程而构建的框架。

我们的计算机视觉学习路径框架

每个月都要有其对应的学习结构,这是我们对每个月需要了解的不同方面进行分类的方式:

  • 目标:这个月你会学到什么?关键要点是什么?你的计算机视觉之旅将如何进行?我们会在每个月初提及此问题,以确保你知道该月底的立场以及所处的位置
  • 建议时间:你每周平均应在该部分上花费多少时间
  • 学习资源:该月你将学习的计算机视觉主题的顶级资源集合,其中包括文章,教程,视频,研究论文和其他类似资源

你可以在此处下载该学习路径的相应信息图。

  • https://discuss.analyticsvidhya.com/t/heres-your-learning-path-to-master-computer-vision-in-2020/87785

在数据科学领域寻找其他学习途径?别担心,我们为你提供了:

  • 2020年成为数据科学家和掌握机器学习的学习之路
    • https://www.analyticsvidhya.com/blog/2020/01/learning-path-data-scientist-machine-learning-2020
  • 2020年掌握深度学习的学习道路
    • https://www.analyticsvidhya.com/blog/2020/01/comprehensive-learning-path-deep-learning-2020
  • 自然语言处理(NLP)学习路径
    • https://www.analyticsvidhya.com/blog/2020/01/learning-path-nlp-2020

第1个月 – 涵盖基础知识:Python与统计

目标:到第一个月末,你将对什么是计算机视觉有基本的了解。你还将对Python和Statistics(计算机视觉之旅中的两个核心主题)有一定的知识储备。

建议时间:每周5-6小时

计算机视觉的介绍和动机:SAS计算机视觉教程:它是什么,它为什么重要:https://www.sas.com/en_in/insights/analytics/computer-vision.html

OpenCV中文官方教程v4.1(可选):

http://woshicver.com

先决条件

Python:Analytics Vidhya撰写的Python课程

  • https://courses.analyticsvidhya.com/courses/introduction-to-data-science

统计:可汗学院的描述性统计

  • https://www.khanacademy.org/math/engageny-alg-1/alg1-2

第2个月 – 使用机器学习解决图像分类问题

目标:你将对机器学习有基本的了解。你应该熟悉不同的图像预处理技术,并能够使用机器学习模型解决图像分类问题。

建议时间:每周5-6小时

机器学习基础

  • 机器学习基础
    • https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/
  • sklearn中文官方教程0.22.1(可选):
    • http://sklearn123.com
  • 线性回归
    • https://www.analyticsvidhya.com/blog/2017/06/a-comprehensive-guide-for-linear-ridge-and-lasso-regression/
  • 逻辑回归
    • https://www.analyticsvidhya.com/blog/2015/10/basics-logistic-regression/
  • 斯坦福大学-机器学习的动机与应用
    • https://see.stanford.edu/Course/CS229/47
  • 斯坦福大学的“过拟合”和“过拟合”的概念
    • https://see.stanford.edu/Course/CS229/42

图像预处理:

  • 从图像中提取特征的3种技术
    • https://www.analyticsvidhya.com/blog/2019/08/3-techniques-extract-features-from-image-data-machine-learning-python/
  • HOG特征
    • https://www.analyticsvidhya.com/blog/2019/09/feature-engineering-images-introduction-hog-feature-descriptor/
  • SIFT特征
    • https://www.analyticsvidhya.com/blog/2019/10/detailed-guide-powerful-sift-technique-image-matching-python/

使用机器学习进行图像分类:

  • 使用逻辑回归进行图像分类
    • https://www.kaggle.com/gulsahdemiryurek/image-classification-with-logistic-regression
  • 使用Logistic回归进行图像分类
    • https://mmlind.github.io/Using_Logistic_Regression_to_solve_MNIST/

项目:识别服装

  • https://datahack.analyticsvidhya.com/contest/practice-problem-identify-the-apparels/

第三个月 – Keras和神经网络简介

目标:你将学习最常用的深度学习工具之一-Keras,你还将了解什么是神经网络以及它们如何工作,到三月底,你将能够使用神经网络解决图像分类问题。

建议时间:每周4-5小时

学习Keras

  • Keras文档
    • https://keras.io/
  • 使用Keras构建神经网络
    • https://www.analyticsvidhya.com/blog/2016/10/tutorial-optimizing-neural-networks-using-keras-with-image-recognition-case-study/

神经网络简介

  • 从零开始的神经网络
    • https://www.analyticsvidhya.com/blog/2017/05/neural-network-from-scratch-in-python-and-r/
  • 斯坦福大学神经网络简介
    • https://youtu.be/d14TUNcbn1k
  • 3Blue1Brown的神经网络:
    • https://youtu.be/aircAruvnKk

项目:识别服装

  • https://datahack.analyticsvidhya.com/contest/practice-problem-identify-the-apparels/

第4个月 – 了解卷积神经网络(CNN),迁移学习和参加比赛

目标:我想将其称为计算机视觉之旅中的“进阶”月份。随着卷积神经网络(CNNs)的引入,学习也更上一层楼,这些cnn是我们最近看到的许多计算机视觉应用的幕后推手,包括目标检测。在你的旅程中,你也应该通过参加比赛来锻炼自己。

建议时间:每周6-7小时

卷积神经网络(CNN)简介

  • 卷积神经网络(CNN)简化
    • https://www.analyticsvidhya.com/blog/2017/06/architecture-of-convolutional-neural-networks-simplified-demystified
  • 斯坦福大学的卷积神经网络:
    • https://youtu.be/bNb2fEVKeEo

迁移学习简介

  • 掌握迁移学习
    • https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model
  • 斯坦福大学实践中的ConvNets:
    • https://youtu.be/dUTzeP_HTZg

项目:识别数字:https://datahack.analyticsvidhya.com/contest/practice-problem-identify-the-digits

参加比赛:

  • DataHack
    • https://datahack.analyticsvidhya.com/contest/all
  • Kaggle
    • https://www.kaggle.com/competitions

第5个月 – 解决对象检测问题

目标:对象检测是一种广泛使用的计算机视觉技术(也许是使用最广泛的技术)。这是吸引我使用计算机视觉的原因!这个月就是要熟悉不同的对象检测算法。另外,我强烈建议你撰写到目前为止所学概念的文章。

建议时间:每周6-7小时

解决对象检测问题

  • 目标检测技术的分步介绍
    • https://www.analyticsvidhya.com/blog/2018/10/a-step-by-step-introduction-to-the-basic-object-detection-algorithms-part-1
  • 实现faster RCNN用于目标检测
    • https://www.analyticsvidhya.com/blog/2018/11/implementation-faster-r-cnn-python-object-detection
  • 使用YOLO进行物体检测
    • https://www.analyticsvidhya.com/blog/2018/12/practical-guide-object-detection-yolo-framewor-python
  • 斯坦福大学的物体检测:
    • https://youtu.be/nDPWywWRIRo
  • YOLO论文
    • https://arxiv.org/pdf/1506.02640.pdf
  • YOLO预训练模型
    • https://pjreddie.com/darknet/yolo/

项目

  • 数脸挑战
    • https://datahack.analyticsvidhya.com/contest/vista-codefest-computer-vision-1
  • COCO物体检测挑战
    • http://cocodataset.org/#download

开始撰写文章,与社区互动吧!

第6个月 – 了解图像分割和注意力模型

目标:六月,你将学习如何解决图像分割问题,同时你还将了解什么是注意力模型(无论在理论上还是在实践上)。在这里,你对计算机视觉的深入了解才真正开始获得回报。

建议时间:每周6-7小时

图像分割简介:

  • 图像分割技术的分步介绍
    • https://www.analyticsvidhya.com/blog/2019/04/introduction-image-segmentation-techniques-python
  • 实现Mask R-CNN进行图像分割
    • https://www.analyticsvidhya.com/blog/2019/07/computer-vision-implementing-mask-r-cnn-image-segmentation
  • Mask R-CNN论文
    • https://arxiv.org/pdf/1703.06870.pdf
  • Mask R-CNN GitHub存储库
    • https://github.com/matterport/Mask_RCNN

项目:COCO分割挑战

  • http://cocodataset.org/#download

Attention 模型

  • Sequence-to-Sequence Modeling with Attention
    • https://www.analyticsvidhya.com/blog/2018/03/essentials-of-deep-learning-sequence-to-sequence-modelling-with-attention-part-i
  • Sequence-to-Sequence Models by Stanford
    • https://nlp.stanford.edu/~johnhew/public/14-seq2seq.pdf

第7个月 – 探索深度学习工具

目标:这是一个非常有趣的学习月!到目前为止,我们已经涵盖了许多计算机视觉概念,现在是时候动手使用最先进的深度学习框架了!这取决于你自己的选择,但我们建议你现在使用行业中最常见的两种工具——PyTorch和TensorFlow。尝试使用这两种工具中的任何一种来实现你到目前为止所涵盖的所有概念。

建议时间:每周6-7小时

PyTorch:

  • PyTorch教程
    • https://pytorch.org/tutorials/
  • PyTorch的初学者友好指南
    • https://www.analyticsvidhya.com/blog/2019/09/introduction-to-pytorch-from-scratch
  • PyTorch中文官方教程(可选)
    • http://pytorch123.com

TensorFlow:

  • TensorFlow教程
    • https://www.tensorflow.org/tutorials
  • TensorFlow简介
    • https://www.analyticsvidhya.com/blog/2016/10/an-introduction-to-implementing-neural-networks-using-tensorflow

第8个月 – 了解NLP和图像字幕的基础

目标:这是你专业化的开始。这是将你的深度学习知识与自然语言处理(NLP)概念结合起来来解决图像字幕项目。

建议时间:每周6-7小时

自然语言处理(NLP)的基础知识:

  • 斯坦福-词嵌入:
    • https://youtu.be/ERibwqs9p38
  • 递归神经网络(RNN)简介:
    • https://youtu.be/UNmqTiOnRfg
  • RNN教程
    • http://www.wildml.com/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/

了解图像字幕

  • 自动图像字幕
    • https://cs.stanford.edu/people/karpathy/sfmltalk.pdf
  • 使用深度学习的图像字幕
    • https://www.analyticsvidhya.com/blog/2018/04/solving-an-image-captioning-task-using-deep-learning

项目:COCO字幕挑战赛

  • http://cocodataset.org/#download

第9个月 – 熟悉生成对抗网络(GAN)

目标:9月,你将了解生成对抗网络(GAN)。自从Ian Goodfellow于2014年正式推出GAN以来,GANs就火爆了起来。目前,GANs的实际应用很多,包括修复、生成图像等。

建议时间:每周6-7小时

了解生成对抗网络(GAN):

  • Ian Goodfellow的生成对抗网络(GAN):
    • https://youtu.be/HGYYEUSm-0Q
  • GAN 论文
    • https://arxiv.org/pdf/1406.2661.pdf
  • 生成对抗网络的最新进展
    • https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8667290
  • Keras-GAN
    • https://github.com/eriklindernoren/Keras-GAN

第10个月 – 视频分析简介

目标:视频分析是计算机视觉中一个蓬勃发展的应用。到2020年(及以后),对这项技能的需求只增不减,因此学习如何使用视频数据集的知识是必要的。

建议时间:每周5-6小时

视频分析简介:

  • 计算视频中演员的放映时间
    • https://www.analyticsvidhya.com/blog/2018/09/deep-learning-video-classification-python
  • 建立视频分类模型
    • https://www.analyticsvidhya.com/blog/2019/09/step-by-step-deep-learning-tutorial-video-classification-python
  • 通过视频进行人脸检测
    • https://www.analyticsvidhya.com/blog/2018/12/introduction-face-detection-video-deep-learning-python

第11个月和第12个月 – 解决项目并参加竞赛

目标:最后两个月都是关于参加多个项目和竞赛来获得实践经验的。到目前为止,我们除了学习概念外,还涵盖了多个项目——现在是时候在真实的数据集上检验你的学习成果了。

建议时间:每周5-6小时

  • 数字识别器
    • https://www.kaggle.com/c/digit-recognizer
  • ImageNet对象定位挑战
    • https://www.kaggle.com/c/imagenet-object-localization-challenge
  • 年龄检测
    • https://datahack.analyticsvidhya.com/contest/practice-problem-age-detection
  • 空中仙人掌鉴定
    • https://www.kaggle.com/c/aerial-cactus-identification
  • 超声神经分割
    • https://www.kaggle.com/c/ultrasound-nerve-segmentation
  • 对抗性攻击防御
    • https://www.kaggle.com/c/nips-2017-defense-against-adversarial-attack/overview

信息图– 2020年计算机视觉学习之路

学习新事物时跟踪进度是结构化学习过程的关键。为了方便在深入研究领域时勾选所有事项。还有什么比一个有插图的清单更好的呢?它逐月列出了计算机视觉学习的路径,请看下图:

参考链接:https://www.analyticsvidhya.com/blog/2020/01/computer-vision-learning-path-2020/