2020年计算机视觉学习指南

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶

总第 134 篇文章,本文大约 3000 字,阅读大约需要 10 分钟

原文:https://towardsdatascience.com/guide-to-learn-computer-vision-in-2020-36f19d92c934

作者:Insaf Ashrapov

译者:kbsc13(公众号:算法猿的成长)

前言

本文推荐的教程资源都是基于我个人的经验,它们对增加你的计算机视觉理论知识非常有帮助。另外,在学习计算机视觉的理论前,先了解和学习机器学习和 python 方面的知识是更好的做法。

框架

不需要在开始学习计算机视觉的时候,就选择使用框架,但应用新获得的知识是必要的。

对于框架的推荐,没有其他的推荐:

  • pytorch:https://pytorch.org/tutorials/

  • keras(TensorFlow):https://www.tensorflow.org/guide/keras

Pytorch 可能需要写更多的代码,但是它更加灵活,所以最好选择使用它,并且越来越多的深度学习研究者都开始采用这个框架。

Albumentation(图像增强)和 catalyst(一个封装 pytorch 的高级 API 的框架)也同样是非常有帮助的,所以也可以使用它们,特别是第一个图像增强的框架--Albumentation


硬件

  • Nvidia GPU 10XX+ 型号已经足够使用了(大约 300$)

  • Kaggle 的 kernels:https://www.kaggle.com/kernels,每周免费使用 30 个小时;

  • 谷歌的 Colab:https://colab.research.google.com/,每个会话有 12 个小时的限制,每周免费时长限制未知。


理论&实践

网上课程

  • CS231n:http://cs231n.stanford.edu/,是首选的网上课程,它介绍了计算机视觉的所有必须掌握的基础知识。在 Youtube 上有课程视频,它们还有课后练习,但不建议去完成它们(尽管是免费的);

  • Fast.ai:https://course.fast.ai/,第二门应该看的课程。fast.ai 也是一个封装了 pytorch 的高级框架,但它们很频繁更改它们的 API 接口,并且缺乏文档,这都是它不被推荐采用的原因。但观看它们的课程视频是可以了解到理论和有趣的技巧,这是值得花费时间的。

当学习这些课程的时候,推荐将这些理论通过推荐的框架来进行实现。

论文和代码

  • https://arxiv.org/:免费获取最新论文的网站

  • https://paperswithcode.com/sota:展示了深度学习最新的性能最佳的论文,不仅仅是计算机视觉方面的;

  • https://github.com/topics/computer-vision?l=python:可以在这找到代码实现的算法

书籍

并没有太多书需要阅读的,除了下面两本我觉得是非常有用的书,可以任选 pytorch 或者 keras 来实现代码

  • Deep Learning with Python:https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438,作者是 Keras 的开发者、谷歌 AI 研究者--François Chollet。这不是一本免费的书,但这本书易于理解,并且可以学到很多之前不知道的知识点;

  • Deep learning with Pytorch:https://pytorch.org/deep-learning-with-pytorch-thank-you,免费的书籍,来自 pytorch 团队的 Eli Stevens & Luca Antiga

Kaggle

网址:https://www.kaggle.com/competitions

Kaggle 是一个著名的机器学习比赛在线平台,它包含了各种类型的比赛,其中很多都是计算机视觉方面的比赛。在没有学完课程的时候,就可以开始参加比赛了,因为从比赛开始,可以免费运行很多公开的 kernels(公开的端到端的代码)。


比较困难的学习路线

另外一条学习路径可能是非常困难,但是你不仅可以学到只是做训练模型并预测结果的知识,还可以实现自己的研究,参考自Sergei Belousov aka bes。

需要做的就是阅读并实现下面的所有论文,当然仅仅读完也是非常棒的。

网络结构

  • 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)

  • 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


小结

这篇文章是原文作者推荐的入门计算机视觉的一些资源,包括推荐采用的深度学习框架、课程、电子书、查阅论文和代码的网站,以及一个比赛网站,kaggle;

另外还有一条会更加困难的学习路线,也就是阅读经典的论文,从网络结构到常见的计算机视觉方向,检测、分割、GAN以及姿势预估,但完成后收获就会更多,不仅仅是只会运用框架来训练模型,解决问题,还有机会往研究方向发展。

最后,也可以通过下方搜索框搜索公众号更新过的计算机视觉、深度学习和pytorch相关的文章,了解更多相关的知识。


精选AI文章

1. 10个实用的机器学习建议

2. 深度学习算法简要综述(上)

3. 深度学习算法简要综述(上)

4. 编写高效的PyTorch代码技巧(上)

5. 编写高效的PyTorch代码技巧(下)

精选python文章

1.  python数据模型

2. python版代码整洁之道

3. 快速入门 Jupyter notebook

4. Jupyter 进阶教程

5. 10个高效的pandas技巧

精选教程资源文章

1. [资源分享] TensorFlow 官方中文版教程来了

2. [资源]推荐一些Python书籍和教程,入门和进阶的都有!

3. [Github项目推荐] 推荐三个助你更好利用Github的工具

4. Github上的各大高校资料以及国外公开课视频

5. GitHub上有哪些比较好的计算机视觉/机器视觉的项目?

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

 

如果觉得不错,在看、转发就是对小编的一个支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

是选择Keras还是PyTorch开始你的深度学习之旅呢?

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 135 篇文章,本文大约 7000 字,阅读大约需要 20 分钟原文:https://medium.com/karan_jakhar/keras-vs-pytorch-dilemma-dc434e5b5ae0作者&#xff1…

关于myeclipse打开jsp巨慢解决方案

作为企业级开发最流行的工具,用Myeclipse开发java web程序无疑是最合适的,java web前端采用jsp来显示,myeclipse默认打开jsp的视图有卡顿的现象,那么如何更改jsp默认的打开方式,让我们可以进行更快速的jsp开发呢? 简单…

event

听取了网友:kenwang的意见,我的Blog在记流水账啊,现在才发现我发表的都是代码,一个感想也没有,以后要慢慢改正。明天要培训公司的框架,后天要搬家,这个周未没有得休息。

60分钟快速入门PyTorch

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 136 篇文章,本文大约 26000 字,阅读大约需要 60 分钟PyTorch 是由 Facebook 开发,基于 Torch 开发,从并不常用的 Lua 语言转为 Python …

react学习(38)----react是什么

什么是组件? 官方定义:将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。 解读:我们可以理解为能够组成一个UI界面的每一个独立的代码片段,例如表单的代码集合,轮播图的代码集…

大端与小端

/*************************************大端与小端:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节**************************************//*联合体union的存放顺序是所有…

react学习(39)----react中的Hello World

ReactDOM.render(<h1>Hello, world!</h1>,document.getElementById(root) ); 它将在页面上展示一个 “Hello, world!” 的标题。

[libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画

前文章节列表&#xff1a;使用libGDX进行游戏开发(11)-高级编程技巧 使用libGDX进行游戏开发(10)-音乐音效不求人&#xff0c;程序员也可以DIY 使用libGDX进行游戏开发(9)-场景过渡使用libGDX进行游戏开发(8)-没有美工的程序员&#xff0c;能够依赖的还有粒子系统 使用libGDX进…

一年了

到温州出差一年了,一个项目做了一年啊,郁闷啊很想回家,回武汉

react学习(40)----react中的jsx简介

const name Josh Perez;const element <h1>Hello, {name}</h1>; ReactDOM.render(element,document.getElementById(root) ); jsx语法是个表达式 可以直接声明变量

将DataSet中的操作更新到Access数据库

代码如下&#xff1a;<%import Namespace Namespacesystem.data%><%import Namespace Namespacesystem.data.oledb%><script languagevb runatserver>Sub page_load()sub page_load() dim strConnection as string dim strSQL as string dim ob…

react学习(41)----react中的jsx简介

JSX 特定属性你可以通过使用引号&#xff0c;来将属性值指定为字符串字面量&#xff1a;const element <div tabIndex"0"></div>;也可以使用大括号&#xff0c;来在属性值中插入一个 JavaScript 表达式&#xff1a;const element <img src{user.ava…

@synthesize obj=_obj的意义详解 @property和@synthesize

本文转载至&#xff1a;http://blog.csdn.net/showhilllee/article/details/8971159我们在进行iOS开发时&#xff0c;经常会在类的声明部分看见类似于synthesize window_window; 的语句&#xff0c;那么&#xff0c;这个window是什么&#xff0c;_ window又是什么&#xff0c;两…

我喜欢的一首歌--《幸福的瞬间》

看了《薰衣草》就开始喜欢这首歌了&#xff0c;看的时候还会为了电视里男女主角痴情的爱情故事落泪&#xff0c;可见我还不成熟。今天正当我和下班人群一起在572上被挤得快变形的时候&#xff0c;车厢里放起了这首歌&#xff0c;我差点以为是我的手机响了。&#xff08;呵呵&am…

react学习(42)----react中的jsx表达对象

JSX 表示对象 Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。 以下两种示例代码完全等效&#xff1a; const element (<h1 className"greeting">Hello, world!</h1> ); const element React.createElement(h1,{className: greet…

react学习(43)----react中将一个元素渲染为 DOM

假设你的 HTML 文件某处有一个 <div>&#xff1a; <div id"root"></div> 我们将其称为“根” DOM 节点&#xff0c;因为该节点内的所有内容都将由 React DOM 管理。 仅使用 React 构建的应用通常只有单一的根 DOM 节点。如果你在将 React 集成进…

win7 IIS7.5配置伪静态

第一部: 从如下地址中下载URLRewriter组件组件&#xff1a;官方下载地址&#xff1a;http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi第二部&#xff1a;在网站项目中添加URLRewriter程序集的引用。第三部&#xff1…

Github项目推荐|可视化 GAN 的训练过程

点击上方“算法猿的成长“&#xff0c;关注公众号&#xff0c;选择加“星标“或“置顶”总第 137 篇文章&#xff0c;本文大约 1000 字&#xff0c;阅读大约需要 5 分钟今天介绍的一个开源的 github 项目&#xff0c;主要是实现了对 GAN 训练过程的可视化代码&#xff0c;项目链…

学习计划

自己也算是一个老程序员了&#xff0c;但是毕业后一直没有系统的学习编程&#xff0c;自己感觉现在的技术乱七八糟、支离破碎的&#xff0c;因此决定从现在开始有计划地学习一些实用的技术&#xff1a;1、客户端&#xff1a;javascript、html、css、dhtml等&#xff1b;2、服务…