2020 年计算机视觉指南

2020-05-24 00:00:00 学习 框架 计算机 视觉 比赛

原文: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/,第二门应该看的课程。… 也是一个封装了 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大师码:9192,购买滴滴云GPU等AI产品输入大师码享9折优惠。 点击www.didiyun.com前往滴滴云官网购买。

欢迎关注我的微信公众号--算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!

相关文章