这篇文章主要是基于我自己的经验,侧重于计算机视觉学习资源的介绍,如果大家按照这个路线去学,相信这将在很大程度上促进提高你的计算机视觉知识水平。
在开始学习计算机视觉之前,我们先来了解有关机器学习和python基础知识。
框架(Frameworks)
虽然你不必从一开始就去考虑选择何种框架,但是实践应用新的知识是必要的。
对应框架并没有太多选择,主要为:pytorch或keras(TensorFlow)。Pytorch可能需要编写更多代码,但在返回方面具有很大的灵活性,因此我们可以先学习如何使用pytorch。此外,大多数深度学习研究人员也普遍使用pytoch。
Albumentation (图像增强库)和 catalyst (框架,pytorch顶部的高级API)在我们学习计算机视觉的过长中也是很常用的工具,我们也可以先学习和使用它们,尤其是第一个。
硬件
- Nvidia GPU 10xx +:($ 300 +)
- Kaggle内核(免费) :每周仅30个小时 (https://www.kaggle.com/kernels)
- Google Colab(免费):12小时的会话限制,每周限制的使用时长不定 (https://colab.research.google.com/notebooks/intro.ipynb#recent=true)
理论与实践
在线课程
- CS231n是非常好的在线教学课程,涵盖了计算机视觉的所有必要基础,是YouTube的在线视频。这门课程还包含了课后练习,对于新手来说,可以先不用完成练习。(免费)
- http://cs231n.stanford.edu/
- Fast.ai是我们应该学习的另一门课程。fast.ai是pytorch之上的高级框架,但是它们过于频繁地更改其API,并且缺乏文档使其使用不方便。但是,花些时间看这门课程的理论和有用的技巧是不错的选择。(免费)
- https://course.fast.ai/
在学习这些课程时,我建议你将理论付诸实践,将其应用于其中一个框架。
文章和代码
- ArXiv.org ——有关所有最新信息。(免费)(https://arxiv.org/)
- (https://paperswithcode.com/sota)
- 最常见的深度学习任务的最新发展现状,而不仅仅是计算机视觉。(免费)
- Github——对于实践的代码,你将在这里找到。(免费)(https://github.com/topics/computer-vision?l=python)
书籍
虽然需要读的书籍不多,但是我相信这两本书都是有用的,无论你选择使用pytorch还是keras
– Keras创作者和Google AI研究人员FrançoisChollet撰写的Python深度学习。易于使用,可能会获得你以前不知道的见识。(不是免费的)
– https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438
– pytorch团队Eli Stevens和Luca Antiga的Pytorch 深度学习(免费)
– https://pytorch.org/deep-learning-with-pytorch-thank-you
Kaggle
- https://www.kaggle.com/competitions
kaggle是各种机器学习竞赛的著名在线平台,其中很多是关于计算机视觉的。即使没有完成课程,你也可以开始参加比赛,因为从比赛中会有很多开放的内核(端对端代码),你可以直接从浏览器中运行它们。(免费)
有挑战的学习方式(推荐)
另一种替代方法可能很难,但是这种方法可以让你获得计算机视觉不同领域的知识,大家可以针对自己的研究方向选择具体的计算机视觉领域进行学习。(小博主提醒:大批干货来袭,视觉各个领域经典代表性项目列表如下所示。)
尝试阅读和复现如下文章,你将受益匪浅。助前行,希望对大家有所帮助。
网络架构
- AlexNet: https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
- ZFNet: https://arxiv.org/abs/1311.2901
- VGG16: https://arxiv.org/abs/1505.06798
- ResNet: https://arxiv.org/abs/1704.06904
- GoogLeNet: https://arxiv.org/abs/1409.4842
- Inception: https://arxiv.org/abs/1512.00567
- Xception: https://arxiv.org/abs/1610.02357
- MobileNet: https://arxiv.org/abs/1704.04861
语义分割
- FCN: https://arxiv.org/abs/1411.4038
- SegNet: https://arxiv.org/abs/1511.00561
- UNet: https://arxiv.org/abs/1505.04597
- PSPNet: https://arxiv.org/abs/1612.01105
- DeepLab: https://arxiv.org/abs/1606.00915
- ICNet: https://arxiv.org/abs/1704.08545
- ENet: https://arxiv.org/abs/1606.02147
生成对抗网络
- GAN: https://arxiv.org/abs/1406.2661
- DCGAN: https://arxiv.org/abs/1511.06434
- WGAN: https://arxiv.org/abs/1701.07875
- Pix2Pix: https://arxiv.org/abs/1611.07004
- CycleGAN: https://arxiv.org/abs/1703.10593
目标检测
- RCNN: https://arxiv.org/abs/1311.2524
- Fast-RCNN: https://arxiv.org/abs/1504.08083
- Faster-RCNN: https://arxiv.org/abs/1506.01497
- SSD: https://arxiv.org/abs/1512.02325
- YOLO: https://arxiv.org/abs/1506.02640
- YOLO9000: https://arxiv.org/abs/1612.08242
实例分割
- Mask-RCNN: https://arxiv.org/abs/1703.06870
- YOLACT: https://arxiv.org/abs/1904.02689
姿态估计
- PoseNet: https://arxiv.org/abs/1505.07427
- DensePose: https://arxiv.org/abs/1802.00434
原文链接:https://towardsdatascience.com/guide-to-learn-computer-vision-in-2020-36f19d92c934
原创文章,作者:磐石,如若转载,请注明出处:https://panchuang.net/2020/05/31/%e9%87%8d%e7%a3%85%ef%bc%81-2020%e5%b9%b4%e6%9c%80%e6%96%b0%e8%ae%a1%e7%ae%97%e6%9c%ba%e8%a7%86%e8%a7%89%e5%ad%a6%e4%b9%a0%e8%b7%af%e7%ba%bf%e6%95%99%e7%a8%8b/