luzhouxx 发表于 2023-10-27 05:12:41

计算机视觉应该怎样入门?

计算机视觉应该怎样入门?

xuhu 发表于 2023-10-27 05:13:14

CV+NLP双修版

下面介绍一下CV+NLP双修(CV为主,NLP为辅)的算法技术栈。

http://pic1.zhimg.com/v2-30420f78192c87e404198da30f1f1872_r.jpg?source=1940ef5c
整个算法技术栈分成3层,数学和数据结构与算法是基础,机器学习和深度学习是建模方法,CV和NLP是具体应用。

http://pica.zhimg.com/v2-001aae49b833c0b126ef15959b488bed_r.jpg?source=1940ef5c
上图是CV和NLP涉及到的一些经典方法和应用。
CV+NLP双修范围
数学:微积分、概率、矩阵
数据结构与算法:数据结构(数组、哈希表、队列、栈、链表、树、图)、经典算法(分治、动态规划、贪心、回溯、分支界限)
机器学习:LR、PCA、SVM、HMM、CRF
深度学习:基础算子、优化器、BP
CV:传统视觉、图像分类、目标检测、语义分割
NLP:语言模型(NLP为辅只需要了解语言模型即可)

入门资料
竞赛:kaggle、阿里天池
编程工具:Python、PyTorch、OpenCV
代码库:
图像分类:pytorch-image-models 基本上涵盖所有主流网络
目标检测: MMDetection、Detectron2 这两个都是优秀的代码库,值得学习借鉴
查阅各个领域的最新进展,可以查阅这个网站,会记录一些sota的paper和code链接:paper-with-code
数学:3Blue1Brown 假设有一定数学基础,3blue1brown增加感性认识用的
数据结构与算法:清华大学邓俊辉数据结构与算法、剑指offer、Leetcode

机器学习:李宏毅2021机器学习、统计学习方法、西瓜书
计算机视觉:CS231n
自然语言处理:CS224n

进阶资料
经典算法:【麻省理工公开课】【算法设计与分析】 了解经典算法思想的来龙去脉
机器学习:【机器学习】【白板推导系列】、PRML 硬核推导,修炼内功
计算机视觉:计算机视觉算法与应用 CV宝典,大而全,宏观视角看计算机视觉
<hr/>原回答(计算机视觉版)


http://picx.zhimg.com/v2-e8b8ce74624c19d8f2a053dc409aa6fb_r.jpg?source=1940ef5c
上面大多数回答通通都没用,大部头一般买来都扔书架上吃灰了(都看完的算你nb),最实用的还是一些工具的document。实际场景,一般是遇到问题,查阅,遇到问题,查阅的循环过程,光啃书不实践,记不住啊,还体会不到乐趣,消磨积极性。
以下罗列一下常用document和网站,少而精才是有效推荐
竞赛
kaggle、阿里天池
document
编程工具:Python、PyTorch、OpenCV
代码库
图像分类:pytorch-image-models 基本上涵盖所有主流网络
目标检测: MMDetection、Detectron2 这两个都是优秀的代码库,值得学习借鉴
查阅各个领域的最新进展,可以查阅这个网站,会记录一些sota的paper和code链接:paper-with-code
学习视频只推荐三个
机器学习:李宏毅机器学习 (打包到Smarter了) 上课太有趣了
计算机视觉:李飞飞cs231n (打包到Smarter了)
经典paper解析:AI百篇经典论文
如果非要买书,机器学习可以买一些书籍,比如统计学习方法、西瓜书
《机器学习》俗称西瓜书,图例多容易理解,缺点较厚实,推理过程不详细。
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1376131384122101760">《统计学习方法》比起西瓜书,更干,推理详尽,篇幅少,但是图例少不容易理解。

从实用主义出发,以上入门完全够用了,对深度学习和计算机视觉有了一些了解,后面就可以自己愉快的玩耍了。
欢迎关注Smarter,构建CV世界观,输出优质内容
欢迎加入Smarter交流群,添加微信「cjy094617」,备注「学校-方向」即可
计算机视觉相关经典书籍Smarter交流群

tjjiori 发表于 2023-10-27 05:14:05

这题我会答!从北美硕士开始时的零基础到拿到北美奔驰研究院的Senior CV岗位, 我只用了两年半的时间。其中当然有运气成分在,但是可控部分我总结成一句话就是keep passionate, keep crazy. 很多大佬在这里已经给出了详细的课程和书籍,所以我的这篇攻略重点在于如何规划好“暴发户式”的学习路线,快读提高自己的实力。
时间线

2017年1月-2月:这两个月我只做一件事—疯狂地上网课。这段时间我除了学校常规课程外,大概上了八门网课,包括两门传统的机器学习基础、Udemy有个叫lazy programmer 的四门深度学习网课,还有Udemy 的opencv3 with python, udacity的intro to computer vision。这些课很偏应用,理论涉及较浅,都有小型的course project, 方便对整个领域有个快速的基本认知和上手能力。
2017年3月-6月: 有了一点薄弱的基础后,我开始厚着脸皮到处找老师免费给他们做项目。在这三个月期间,我同时加入三个实验室做三个不同的项目,分别做HD Map, mHealth和动作识别。虽然大部分工作偏打杂一些,但是趁机深入了解了一下不同的领域,提高了代码实战能力,在六月快结束时这三个项目中有两个变成了我后来的两篇二作论文。不得不说,这个阶段比之前还要让人筋疲力尽,在上三门课的同时还要再额外做三个项目,基本榨干了我的睡眠时间,不过这也是我进步最快的一段历程。
2017年6月-9月: 由于打杂地不错,我拿到了其中一个实验室带薪暑研,继续做动作识别,阅读了大量相关文献,写了许多丑陋的research codes, 同时开始猛啃各种应用数学理论的书籍(主要是matrix 和概率相关),每天还拿出三四个小时刷leetcode。暑假结束的时候,很遗憾,我论文并没有搞出来,但是我之前欠下的理论基础得到了很大夯实,刷题水平也可以一战了。
2017年9月-12月: 我利用之前的项目经历拿到了一家做无人机视觉的初创公司的兼职实习,同时开始猛投简历,继续刷题+弥补理论基础,学校课程我都选了比较水的来给自己更多的时间。由于简历上的有一两个具有深度的项目经历,一段实习的经历,还有发表和在投的论文,拿到了一些中小型公司的cv岗位offer.
进入工业界之后的道路整体比较平顺,在每一个公司都有了落地项目,出产了各种ML论文,并且凭借着这些落地经验不停地当作跳板,在2019年中旬的时候拿到了奔驰Senior岗位。
需要注意的关键点


[*]决定进入CV领域前一定要想清楚,因为这是一个狼多肉少、内卷严重要求却又居高不下的领域,如果不是出于内心的喜爱,很容易被劝退,而且薪水并不会比一般的SDE高出很多。
[*]入门CV最忌讳的就是一开始就猛啃高深的理论。你不仅会看的一头雾水,还会积极性受打极大打击。头两个月从实战和调包入手,背后的原理大概知道就好。
[*]理论的学习和项目实战尽量一起进行,单纯地啃理论很容易“阅后即焚”。
[*]从我经历可以说明,CV可以速成,但是过程会很痛苦,而且底子会不够扎实,需要在工作中不断学习弥补,所以如果有的选还是尽量提早规划。
[*]很多时候通往“大厂”岗位的路线不一定是直线,可以曲线救国。

moneypk 发表于 2023-10-27 05:14:36

这里有一本长达81页的CV成长指南,能给萌新无微不至的关怀:
从装Python、装OpenCV、入门深度学习,到人脸识别、目标检测、语义分割等等各种应用,都有进阶路线,里面包含了教程、案例、注意事项。甚至怎样把算法部署到树莓派之类的硬件上,也能找到经验。


http://picx.zhimg.com/v2-cd6abf1042d76254e8b218723ae31e9b_r.jpg?source=1940ef5c

推特发出12小时,已经有1200人点了赞。作者名叫Adrian Rosebrock,是个经常出产教程的宝藏男子。
萌新的你,想要成长为一名合格的老司机,请马克这份指南。
然后,来看里面的内容到底有多丰富:
事无巨细

为了避免“从入门到放弃”的惨剧,在你成为老司机的路上,这份指南给每一步都做了安排。
从目录看,大致分为两部分,左边一列是基础,右边一列是应用:


http://picx.zhimg.com/v2-f23f95f3d833111c15b9ec725459a660_r.jpg?source=1940ef5c

先看左边的基础装备:

· 应该从哪开始呢
· 深度学习
· 人脸应用
· 图像文字识别 (OCR)
· 目标检测
· 目标追踪
· 实例分割和语义分割第一章“应该从哪开始呢”,是OpenCV的进阶路线:
一是安装Python和OpenCV (初) ,二是理解命令行arguments (初) ,三是用示例学OpenCV (初) ,四是自己搭个OpenCV小项目 (初) ,五是做更高级的OpenCV项目 (中) ,六是在CV的大世界里,选择自己的小方向 (中) 。
每一步都有需要注意的事项,还有必要的教程资源。
比如,怎样安装OpenCV最简单,为什么不要用Windows,做项目的过程中有哪些常见错误类型要避免。
有些步骤,还会分成多个小步骤,每个小步又有作者的温馨建议。比如,这是第五步:


http://picx.zhimg.com/v2-4c0b832d4d956971fb58fece2e7bea89_r.jpg?source=1940ef5c

当这个章节的六步完成之后,还有一步叫“What to Next”,除了告诉大家下面应该做什么,也有一些额外的教程资源提供。

第二章“深度学习”,是算法的进阶路线,内容比第一章更丰盛,有12步:
一是构建深度学习环境 (初) ,二是训练自己的第一个网络 (初) ,三是理解CNN (初) ,四是搭个自己的图像数据集 (中) ,五是在自己的数据集上训练一个CNN (中) ,六是调整学习率 (中) ,七是数据扩增 (中) ,八是特征提取和微调预训练网络 (中) ,九是视频分类 (高) ,十是多输入和多输出网络 (高) ,十一是改进自己的网络 (高) ,十二是AutoML和AutoKeras。
依然,每一步都提供了详细的指引,有过往成功案例为你保驾。比如,这是第十二步:


http://picx.zhimg.com/v2-ca4660624d65508af34feff5d8b5cfb8_r.jpg?source=1940ef5c

从第三章“人脸应用”开始,就是在各种具体任务当中用到的算法了。
检测人脸,检测关键点,识别人脸,提升算法的准确率……也把前两章的进阶路线,贯彻进了任务里。
在这一章,作者Adrian Rosebrock频繁出镜:


http://pic1.zhimg.com/v2-3b61d32144cafdc30156fbc8028bc381_r.jpg?source=1940ef5c

第四章-第七章,文字识别、目标检测、目标追踪、实例分割和语义分割,与第三章同理,此处便不详述。
作者继续高密度出镜:


http://pic1.zhimg.com/v2-c30a9a407d69f1652503750ceaab369a_r.jpg?source=1940ef5c

接下来看右边一列,是帮你走进现实的:
· 嵌入的和物联网用的CV
· 树莓派上的CV
· 医学领域的CV
· 搞搞视频
· 图片搜索引擎
· 大神采访,案例研究 (与教程) ,成功故事比如,怎样把自己的算法,放进树莓派里,放进冰箱里,放进脑子里,都有详尽的玩法。
作者依然在出镜:


http://pica.zhimg.com/v2-005aeea74ffd0a637461e0366bb64a63_r.jpg?source=1940ef5c

除此之外,还有各种成功前辈的采访,里面有一些成功案例 (或附带教程) ,是初学者可以借鉴的经验:


http://picx.zhimg.com/v2-adb98fc209a7cc245baeec478d0b80ca_r.jpg?source=1940ef5c

除了技术上的建议,这些资料也可当做美味的鸡汤,鼓舞着你一路走向人参巅峰。
传送门

万事俱备,大家可以开始修炼了。
顺便回答一下这个问题:作者说的81页,这个数到底是怎么来的。
Start Here with Computer Vision, Deep Learning, and OpenCV - PyImageSearch— 完 —
量子位 · QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
量子位欢迎大家关注我们,以及订阅我们的知乎专栏

dxking 发表于 2023-10-27 05:15:12

到底学了哪些知识,计算机视觉才算是入门了?

敲重点,划黑板!
请将下面的网站的slides看完,辅助slides中提到的书的章节,应该可以入门了,1-2个月时间即可。
当然如果有相应的数学和图像基础,有机器学习,深度学习基础可以更容易理解哦~

以下课程,均为斯坦福计算机视觉实验室的。
实验室主页:http://vision.stanford.edu/

CS 131 Computer Vision: Foundations and Applications:
http://vision.stanford.edu/teaching/cs131_fall1415/schedule.html

CS231A Computer Vision: from 3D reconstruction to recognition:
http://cvgl.stanford.edu/teaching/cs231a_winter1415/schedule.html

CS231n: Convolutional Neural Networks for Visual Recognition
http://vision.stanford.edu/teaching/cs231n/

以上三门课就可以入门了,当然还有很多其他高等级的课,可以去实验室主页看看。
资料不宜贪多,谢绝其他资料干扰,安心的把这些lectures看完。然后就可以上手做项目和看论文了。论文才是王道。

资料来源:小样lily

http://picx.zhimg.com/v2-082b5dffcd704f0c64c4a50b30ca629e_r.jpg?source=1940ef5c

留言 点赞 关注
我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

jik1756 发表于 2023-10-27 05:16:03

自学了一段时间计算机视觉(Computer Vision),下文简称:CV。内容以基本概念为主,形式以看书为主,跟着敲代码为辅。

起因:因工作中会涉及到交通物流风险管理、出险理赔材料审查等内容,会涉及到大量人工介入审阅照片、视频的环节。而随着素材量的增加将来需要大量的人力来处理,导致成本高,效率低、易出错。
思考:能否通过某种技术进行照片、视频内容的审查,从而消化一定的工作量,同时提升效率?带着这样的问题,我们锁定了CV技术。这里非常简单地谈谈自己近一年的学习体会,算是入门者说吧。

1、首先明确CV都会在哪些领域里使用,即用途是什么?
以下是笔者在今年1月中旬于硅谷参加AI世界前沿大会时拍摄的OpenCV作者Bradski大神的演讲ppt照片(能看得清内容)。
http://pic1.zhimg.com/v2-d371c4399025f81b3364000ae09b32f1_r.jpg?source=1940ef5c

http://picx.zhimg.com/v2-07b392049e766c7044d0298d30cf463a_r.jpg?source=1940ef5c
从上图可以看出,CV或者说OpenCV用途十分广泛。那么问题来了,你确认你要学的东西在未来的学习或者工作中可以派上用处吗?如果答案是Yes。就继续往下看。

2、CV是啥?

如果用一句话来解释CV,那么可能是研究让机器像人一样具有能够“看”的能力,并在必要的时候给予合适的反馈(输出:比如看图说话,看视频说话)。
3、学什么?从哪里开始学?

从斯坦福大学李飞飞教授的CS231n课程中可以看到,需要有一些基础,以便更好的学习CV。截屏如下:

http://picx.zhimg.com/v2-54a126e88f20d0b961efabd5df24c7db_r.jpg?source=1940ef5c
上图可以看到,需要我们具备一些知识:
1)编程基础:Python和C++。个人理解,用Python快速实现算法;用C++实战,实时性能强。
2)数学基础:高数,线性代数、基础概率与统计
3)机器学习基础3-1)如果你对以上内容都有一定的基础,那么恭喜你,对于入门CV,你有了好的开始。

3-2)推荐几本比较好的书籍:
1、《计算机视觉:模型、学习和推理》
入门基础书籍,讲得很清楚。我在看,非常好的与机器学习结合的CV入门书籍。英文好的同学,建议看Prince的原本彩图书籍。官网《英文原版彩图PDF版本》下载链接2、《Learning OpenCV》
实战经典。推荐理由:OpenCV作者Bradski大神的书。学习CV的人是无法绕开OpenCV的。3、《Python计算机视觉编程》
如果你有一定的Python基础,笔者强烈推荐看这本书,把CV的基本概念和算法结合代码实战,讲得比较清楚。入门佳作。它不是一上来就用OpenCV库,使得入门者容易忽视很多基础的概念算法。4、《计算机视觉:算法与应用》
不建议入门者看。宝典型,大而全。典型的工具书。作者是Richard Szeliski,CV界大牛,图像拼接奠基人。5、《 Multiple View Geometryin Computer Vision》,中文版名《CV中的多视图几何》
据说是玩3D必看的一本书,包括AR/VR。很多CV专家都推荐。
3-3)视频学习,当然是斯坦福大学李飞飞教授的CS231N课程(需要扶梯),这是一门结合深度学习的CV教学视频。经典!
3-4)目前结合深度学习的CV是发展方向之一,有空可以看看花书。

4、OpenCV、TensorFlow、Caffe

这些个,咱们现在一个都绕不开。
多上手,多练吧。
5、国际顶尖的CV会议,扫扫论文的摘要、看看报告视频。(如果确定深度研究,就仔细看。否则,个人觉得了解下就好。)


于2017年12月3日凌晨 0:45
页: [1]
查看完整版本: 计算机视觉应该怎样入门?