计算机系统应用教程网站

网站首页 > 技术文章 正文

计算机视觉的学习路线

btikc 2024-08-31 17:16:53 技术文章 14 ℃ 0 评论

有朋友在公众号后台私信我,希望我介绍一下计算机视觉的学习路线,这里简单记录一下我自己的一些学习路线,比较菜,大佬轻喷。

写在前边

本人本科和研究生都是自动化专业的。非科班CS专业,无论文,无比赛获奖。

实验室主要做智能装备的内容,其中会有一些项目涉及到计算机视觉算法(主要是图像分类和目标检测),因此研究生我主要做与算法相关的软件部分工作。

「先给大家泼个冷水」

从我秋招的感受和了解到的情况来所,不建议普通的同学入场CV。这里的普通同学指的是像我这种发不了顶会,实验室课题组在视觉算法方向的团队规模较小,发顶会概率不大的同学。对于顶会大佬在招聘中,依旧乱杀,offer疯狂拿,我等菜鸡就不敢想了。

如果想做算法,可以做做机器学习的算法,搜索广告推荐等机器学习算法坑位多找工作相对容易一些。搜索广告推荐在公司里边业务相对更核心一些,因为可以直接产生收益,坑位相比较cv来说也更多。但是这些岗位的话在学校很难有相应的项目来做,学校玩不了搜广推这种大型的机器学习项目,没有公司那种工程框架,最好能有一些实习来提升竞争力。CV没有顶会或者认为自己发不了顶会就慎选。nlp我不太了解,我所知道的其坑位相比较cv来说会更多一些。

当然了,很多同学读研的时候没得选,由于课题或者实验室项目会主要做视觉算法,也倒是不必那么灰心,好好学习,工程好好搞,也是能找到工作的。

一、基础知识学习

1.1 编程基础

python学习

python这个语言是比较容易的,大家经常说的,有手就行,推荐的学习资料的话,也挺简单的直接使用官方的入门文档敲一遍,就够了。

python官方文档地址:python3官方文档

剩余的各种常用的包,比如numpy,opencv,pandas,matplotlib,scikit-learn等这些,用到的时候再去翻文档学一学。

深度学习框架Pytorch

推荐使用pytorch作为深度学习框架,比较容易上手。

基本的pytorch使用方法的话,也是推荐官方文档,pytorch官方文档

c++

c++ 我用的不多,面试的时候有的面试官会问到,我当时就把c++ Primer翻了一遍,就这本书。

算法与数据结构

相信大家都学过,学过基础之后,可以刷刷力扣,提升自己的工程能力。这里是我自己整理的分类刷题笔记。

秋招leetcode分类刷题指南

1.2 数学基础

线性代数,概率论与数理统计, 矩阵论

线性代数和概率论与数理统计,本科上过相关的相关课程,矩阵论我研究生上过学校的 应用数据基础,里边有部分矩阵论的内容。

这里线性代数相对来说比较重要,推荐MIT Gilbert Strang的课程(b站也有)

1.3 机器学习

机器学习西瓜书

统计学习方法

百面机器学习

推荐吴恩达老师的cs229。另外b站有个良心up主,手推各种机器学习算法,建议看一看。名字叫(白板机器学习)

【机器学习】【白板推导系列】

这个白板推导系列的全部公式,up主已经开源在github上:

https://github.com/shuhuai007/Machine-Learning-Session

1.4 深度学习

强烈推荐李飞飞老师的 「CS231n」(一定要看一下,b站有)。

这本“花书”多翻几遍,值得多看,第一遍看可能会有点难理解。

1.5 图像处理

本科上课的时候,翻过 冈萨雷斯 的这本书

二、算法实践

2.1 项目

分类任务(这是基础网路架构,都得看)

看这些论文:LeNet——>AlexNet——>VGGNet——>GoogLeNet——>ResNet——>DenseNet——>SENet

MobileNetv1 v2——>shuffleNet——>EfficientNet

中间穿插着看看BatchNormlization,CBAM

论文看完之后,找一个数据集,将上边的各种算法都跑一下,体验一下。推荐一个代码:

一个600+star的入门级图像分类代码库推荐

目标检测任务

推荐一篇综述:

Deep Learning for Generic Object Detection: A Survey

然后阅读其中的主要关键性论文:

RCNN系列:
RCNN-SPPNet-FastRCNN-FasterRCNN(重点看,代码也看一遍,敲一遍)-MaskRCNN-Cascade RCNN

YOLO系列
YOLOv1 v2 v3(重点看,代码也看一遍,敲一遍) v4 v5

SSD系列
SSD(重点看,代码也看一遍,敲一遍)-FSSD-DSSD-RfbNet-RefineDet

anchor-free系列
FCOS-centerNet-cornerNet-Relation-SparseRCNN-DETR(这个系列我看的比较少)

推荐使用mmdetection来做目标检测实践

分割任务

推荐一篇综述

A SURVEY ON DEEP LEARNING METHODS FOR SEMANTIC

mask rcnn
deeplabv1 v2 v3
FCN UNet

可以主要依据不同的项目任务所涉及的视觉算法,来进行特定的学习。

我的常用套路就是:

  1. 找一篇综述来看(google scholar搜索 “survey或者review +特定的算法名称(比如object detection)” )
  2. 挑选其中节点性质的几篇论文细读
  3. 选择其中的一些进行代码实践

我自己主要搞过其他的比如 「半监督 自监督和无监督」,相关的内容就不放上来了。

调参技巧

Bag of Freebies for Training Object Detection Neural Networks

Bag of Tricks for Image Classification with Convolutional Neural Networks

「近两年Transformer在视觉上比较火,我没有过多的关注,近期毕业论文交了没啥事的话,打算翻翻ViT的论文,整理梳理一下思路,持续更新在 “小哲AI”公众号中,感兴趣的可以关注一下,一起学习。」

比赛

闲暇实践,可以关注一下 Kaggle,天池的AI比赛,这俩能拿奖的话,找工作的时候还是能吹一下牛逼的。其他还有很多平台也会有各种比赛,也可以去练练手。

实习

最好能找个时间出去实习一下,提前感受一下公司算法工程师的工作内容,也为毕业招聘积累一些经验,有一些公司的项目经验是很重要的。

「本文中提到的各种论文以及综述,可以到“小哲AI”后台回“学习路线资料”自取」


?

原文首发于「小哲AI」公众号,公众号主要分享人工智能前沿算法解读,AI项目代码解析,以及编程、互联网求职等技术资料文章,偶尔也会分享个人读书笔记、工作学习心得,欢迎关注,一起学习。

?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表