原文:towardsdatascience.com/guide-to-le…
作者:Insaf Ashrapov
译者:kbsc13(公众号:算法猿的成长)
前言
本文推荐的教程资源都是基于我个人的经验,它们对增加你的计算机视觉理论知识非常有帮助。另外,在学习计算机视觉的理论前,先了解和学习机器学习和 python 方面的知识是更好的做法。
框架
不需要在开始学习计算机视觉的时候,就选择使用框架,但应用新获得的知识是必要的。
对于框架的推荐,没有其他的推荐:
- pytorch:pytorch.org/tutorials/
- keras(TensorFlow):www.tensorflow.org/guide/keras
Pytorch 可能需要写更多的代码,但是它更加灵活,所以最好选择使用它,并且越来越多的深度学习研究者都开始采用这个框架。
Albumentation(图像增强)和 catalyst(一个封装 pytorch 的高级 API 的框架)也同样是非常有帮助的,所以也可以使用它们,特别是第一个图像增强的框架--Albumentation。
硬件
- Nvidia GPU 10XX+ 型号已经足够使用了(大约 300$)
- Kaggle 的 kernels:www.kaggle.com/kernels ,每周30 个小时;
- 谷歌的 Colab:colab.research.google.com/ ,每个会话有12 个小时的限制,每周免费时长限制未知。
理论&实践
网上课程
- CS231n:cs231n.stanford.edu/,是首选的网上课程,它介绍了计算机视觉的所有必须掌握的基础知识。在 Youtube 上有课程视频,它们还有课后练习,但不建议去完成它们(尽管是免费的);
- Fast.ai:course.fast.ai/ ,第二门应该看的课程。fast.ai也是一个封装了 pytorch 的高级框架,但它们很频繁更改它们的 API 接口,并且缺乏文档,这都是它不被推荐采用的原因。但观看它们的课程视频是可以了解到理论和有趣的技巧,这是值得花费时间的。
当学习这些课程的时候,推荐将这些理论通过推荐的框架来进行实现。
论文和代码
- arxiv.org/:免费获取最新论文的网站
- paperswithcode.com/sota:展示了深度学习最新的性能最佳的论文,不仅仅是计算机视觉方面的;
- github.com/topics/comp…:可以在这找到代码实现的算法
书籍
并没有太多书需要阅读的,除了下面两本我觉得是非常有用的书,可以任选 pytorch 或者 keras 来实现代码
- Deep Learning with Python:www.amazon.com/Deep-Learni…,作者是 Keras 的开发者、谷歌 AI 研究者--François Chollet。这不是一本免费的书,但这本书易于理解,并且可以学到很多之前不知道的知识点;
- Deep learning with Pytorch:pytorch.org/deep-learni… ,免费的书籍,来自pytorch 团队的 Eli Stevens & Luca Antiga
Kaggle
网址:www.kaggle.com/competition…
Kaggle 是一个著名的机器学习比赛在线平台,它包含了各种类型的比赛,其中很多都是计算机视觉方面的比赛。在没有学完课程的时候,就可以开始参加比赛了,因为从比赛开始,可以免费运行很多公开的 kernels(公开的端到端的代码)。
比较困难的学习路线
另外一条学习路径可能是非常困难,但是你不仅可以学到只是做训练模型并预测结果的知识,还可以实现自己的研究,参考自Sergei Belousov aka bes。
需要做的就是阅读并实现下面的所有论文,当然仅仅读完也是非常棒的。
网络结构
- AlexNet: papers.nips.cc/paper/4824-…
- ZFNet: arxiv.org/abs/1311.29…
- VGG16: arxiv.org/abs/1505.06…
- ResNet: arxiv.org/abs/1704.06…
- GoogLeNet: arxiv.org/abs/1409.48…
- Inception: arxiv.org/abs/1512.00…
- Xception: arxiv.org/abs/1610.02…
- MobileNet: arxiv.org/abs/1704.04…
语义分割
- FCN: arxiv.org/abs/1411.40…
- SegNet: arxiv.org/abs/1511.00…
- UNet: arxiv.org/abs/1505.04…
- PSPNet: arxiv.org/abs/1612.01…
- DeepLab: arxiv.org/abs/1606.00…
- ICNet: arxiv.org/abs/1704.08…
- ENet: arxiv.org/abs/1606.02…
生成对抗网络(GAN)
- GAN: arxiv.org/abs/1406.26…
- DCGAN: arxiv.org/abs/1511.06…
- WGAN: arxiv.org/abs/1701.07…
- Pix2Pix: arxiv.org/abs/1611.07…
- CycleGAN: arxiv.org/abs/1703.10…
目标检测
- RCNN: arxiv.org/abs/1311.25…
- Fast-RCNN: arxiv.org/abs/1504.08…
- Faster-RCNN: arxiv.org/abs/1506.01…
- SSD: arxiv.org/abs/1512.02…
- YOLO: arxiv.org/abs/1506.02…
- YOLO9000: arxiv.org/abs/1612.08…
实例分割
- Mask-RCNN: arxiv.org/abs/1703.06…
- YOLACT: arxiv.org/abs/1904.02…
姿势预估
- PoseNet: arxiv.org/abs/1505.07…
- DensePose: arxiv.org/abs/1802.00…
小结
这篇文章是原文作者推荐的入门计算机视觉的一些资源,包括推荐采用的深度学习框架、课程、电子书、查阅论文和代码的网站,以及一个比赛网站,kaggle;
另外还有一条会更加困难的学习路线,也就是阅读经典的论文,从网络结构到常见的计算机视觉方向,检测、分割、GAN以及姿势预估,但完成后收获就会更多,不仅仅是只会运用框架来训练模型,解决问题,还有机会往研究方向发展。
作者:AI算法笔记
链接:https://juejin.cn/post/6844904167387955214
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。