知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?

本文来源与知乎网,版权归作者知乎用户和龙鹏-言有三所有~~~

知乎用户:

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

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

这里非常简单地谈谈自己近一年的学习体会,算是入门者说吧。

1、首先明确CV都会在哪些领域里使用,即用途是什么?

以下是笔者在今年1月中旬于硅谷参加AI世界前沿大会时拍摄的OpenCV作者Bradski大神的演讲ppt照片(能看得清内容)。

知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?_第1张图片

知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?_第2张图片

从上图可以看出,CV或者说OpenCV用途十分广泛。那么问题来了,你确认你要学的东西在未来的学习或者工作中可以派上用处吗?如果答案是Yes。就继续往下看。

 

2、CV是啥?

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

 

3、学什么?从哪里开始学?

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

知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?_第3张图片

上图可以看到,需要我们具备一些知识:

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

 

龙鹏-言有三:

作者:龙鹏-言有三
链接:https://www.zhihu.com/question/23902574/answer/573508084
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

从两个方向来回答你这个问题吧,第一个是怎么系统性进阶,第二个是如何系统性学习。

第一个问题,如何系统性进阶,我斗胆将学习深度学习的同志分为5大境界,分别是 白身,初识,不惑,有识,不可知,下面一个一个道来,以 计算机视觉方向为例。

http://weixin.qq.com/r/xEw1LebEMbtOraJO9xnW (二维码自动识别)

1 白身

所谓白身境界,就是基本上什么都不会,还没有进入角色。在这个境界需要修行的内容包括:

(1) 熟练掌握linux及其环境下的各类工具的使用(2) 熟练掌握python及机器学习相关库的使用

(3) 掌握c++等高性能语言的基本使用

(4) 知道如何获取和整理,理解数据

(5) 掌握相关的数学基础

(6) 了解计算机视觉的各大研究方向

(7) 了解计算机视觉的各大应用场景

(8) 了解行业的优秀研究人员,知道如何获取最新的资讯,能够熟练阅读简单的技术资料

如果掌握了这些,那么就从白痴,不,是白身境界晋级了。怎么判断这个境界呢?可以参考以下的文章,看看掌握的如何。

AI白身境界系列完整链接:

第一期:【AI白身境】深度学习从弃用windows开始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】学AI必备的python基础

第四期:【AI白身境】深度学习必备图像基础

第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础

第六期:【AI白身境】只会用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】学深度学习你不得不知的爬虫基础

第八期: 【AI白身境】深度学习中的数据可视化

第九期:【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

第十期:【AI白身境】一文览尽计算机视觉研究方向

第十一期:【AI白身境】AI+,都加在哪些应用领域了

第十二期:【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

2 初识

所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。在这个阶段,需要修行以下内容。

(1) 熟练掌握神经网络

(2) 培养良好的数据敏感性,知道如何正确准备和使用数据

(3) 至少熟练掌握一个深度学习框架的使用

(4) 熟悉深度学习模型的基本训练和调参,网络设计

(5) 掌握归一化,激活机制,最优化等对模型性能的影响

(6) 能熟练评估自己的算法,使用合适的优化准则

我们正在更新这一个系列的文章

AI初识境界系列完整链接:

第一期:【AI初识境】从3次人工智能潮起潮落说起

第二期:【AI初识境】从头理解神经网络-内行与外行的分水岭

第三期:【AI初识境】近20年深度学习在图像领域的重要进展节点

第四期:【AI初识境】激活函数:从人工设计到自动搜索

第五期:【AI初识境】什么是深度学习成功的开始?参数初始化

第六期:【AI初识境】深度学习模型中的Normalization,你懂了多少?

第七期:【AI初识境】为了围剿SGD大家这些年想过的那十几招

第八期:【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

第九期:【AI初识境】如何增加深度学习模型的泛化能力

第十期:【AI初识境】深度学习模型评估,从图像分类到生成模型

第十一期:【AI初识境】深度学习中常用的损失函数有哪些?

第十二期:【AI初识境】给深度学习新手开始项目时的10条建议

3 不惑

进入到不惑境界,就是向高手迈进的开始了,在这个境界的重点就是进一步巩固知识,并且开始独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跳过了追随,进入了创造的阶段。

如果是在学校读研究生,就要能够发表水平不错的文章,如果是在公司做业务,就要能够提出正确且快速的解决方案,如果是写技术文章,就要能够信手拈来原创写作而不需要参考。

这个阶段需要修行以下内容:

(1) 熟练玩转数据和模型对一个任务的影响

(2) 能够准确的分析出模型的优劣,瓶颈

(3) 对于新的任务能够快速寻找和敲定方案

(4) 拥有各种各样的深刻理解深度学习模型的技能,从可视化到参数分析等等等

(5) 能够优化模型到满足业务的需求,实现工业级落地

(6) 了解行业的最新进展,并在某些领域有自己的独到理解

4 有识

到这里,就步入高手境界了。可以大胆地说自己是一个非常合格的深度学习算法工程师甚至是研究员了,在自己研究的领域里处于绝对的行业前沿,对自己暂时不熟悉的领域也能快速地触类旁通。

无论是眼界,学习能力,还是学习态度都是一流水平,时而大智若愚,时而锋芒毕露,当之无愧的大师兄。

5 不可知

最后一个境界,就是不可知境界,超出我能描述的范围了。举一个例子,马文·闵斯基,既可以让AI生,又可以让AI死,这样的人是不会遇到的,放心好了。

 

------------------------------------这是分隔线------------------------------------

 

第二个问题,如何系统性学习,大家就可以去我们公众号《有三AI》和知乎专栏《有三AI学院》看了,覆盖以下内容。从深度学习理论,训练,到开源框架,模型架构的演化,到行业的发展等。

知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?_第4张图片

知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?_第5张图片

1 深度学习模型设计(更新中)

模型解读系列文章:

第一期:【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

第二期:【模型解读】network in network中的1*1卷积,你懂了吗

第三期:【模型解读】GoogLeNet中的inception结构,你看懂了吗

第四期:【模型解读】说说移动端基准模型MobileNets

第五期:【模型解读】pooling去哪儿了?

第六期:【模型解读】resnet中的残差连接,你确定真的看懂了?

第七期:【模型解读】“不正经”的卷积神经网络

第八期:【模型解读】“全连接”的卷积网络,有什么好?

第九期:【模型解读】从“局部连接”回到“全连接”的神经网络

第十期:【模型解读】深度学习网络只能有一个输入吗

第十一期:【模型解读】从2D卷积到3D卷积,都有什么不一样

第十二期:【模型解读】浅析RNN到LSTM

第十三期:【模型解读】历数GAN的5大基本结构

2 开源框架速成(更新完)

开源框架速成系列:

第一篇:【caffe速成】caffe图像分类从模型自定义到测试

第二篇:【tensorflow速成】Tensorflow图像分类从模型自定义到测试

第三篇:【pytorch速成】Pytorch图像分类从模型自定义到测试

第四篇:【paddlepaddle速成】paddlepaddle图像分类从模型自定义到测试

第五篇:【Keras速成】Keras图像分类从模型自定义到测试

第六篇:【mxnet速成】mxnet图像分类从模型自定义到测试

第七篇:【cntk速成】cntk图像分类从模型自定义到测试

第八篇:【chainer速成】chainer图像分类从模型自定义到测试

第九篇:【DL4J速成】Deeplearning4j图像分类从模型自定义到测试

第十篇:【MatConvnet速成】MatConvnet图像分类从模型自定义到测试

第十一篇:【Lasagne速成】Lasagne/Theano图像分类从模型自定义到测试

第十二篇:【darknet速成】Darknet图像分类从模型自定义到测试

3 技术综述(更新中)

【技术综述】闲聊图像分割这件事儿

【技术综述】“看透”神经网络

【技术综述】你真的了解图像分类吗?

【技术综述】一文道尽R-CNN系列目标检测

【技术综述】万字长文详解Faster RCNN源代码

【技术综述】一文道尽传统图像降噪方法

【技术综述】一文道尽softmax loss及其变种

【技术综述】图像与CNN发家简史,集齐深度学习三巨头

人脸子方向

【技术综述】人脸年龄估计研究现状

【技术综述】人脸颜值研究综述

【技术综述】人脸脸型分类研究现状

【技术综述】人脸表情识别研究

【技术综述】如何降低遮挡对人脸识别的影响

4 数据与竞赛(更新中)

【数据】深度学习从“数据集”开始

【深度学习中的数据增强】上篇

【深度学习中的数据增强】下篇

【技术综述】一文道尽“人脸数据集”

【数据】短视频识别,都有那些行业标准?

【数据集】一文道尽医学图像数据集与竞赛

【数据集】自动驾驶都有什么测试基准?

【资源总结】国内AI领域的赛事全集

5 模型训练技巧(更新中)

如何步入深度学习刷榜第一重境界

【技术综述】如何Finetune一个小网络到移动端(时空性能分析篇)

【深度学习图像项目实战-从入门到上线1】怎样学会科学的调研并启动一个项目

【模型训练】如何选择最适合你的学习率变更策略

【模型训练】SGD的那些变种,真的比SGD强吗

6 AI1000问(更新中)

多思考细节,有很多容易被面试者忽略的很小,但是又很重要的问题,这些问题通常有这些特点:

  • 技术相关
  • 足够聚焦
  • 容易被忽视
  • 普通但是不简单
  • 可以引申很多思考

这里提供几个。

(1) 做过图像分类项目或者看过文章的小伙伴们应该都知道,在论文中进行各类方法的比较时,要求使用同样的数据集。而为了公平的比较,网络的输入大小通常都是224*224的大小,那为什么呢?

【AI-1000问】为什么深度学习图像分类的输入多是224*224

(2) 相信大家也都知道LeNet5这个经典的卷积神经网络,它有3个全连接层,输出维度分别是120,84,10,不知道大家知不知道为什么倒数第2个全连接层的维度是84呢?

【AI-1000问】为什么LeNet5倒数第二个全连接层维度为84?

做图像处理的我们应该都知道,OpenCV是我们必备的一个工具,我们在使用OpenCV读取图像时你应该也发现了读取出来的数组居然是BGR格式,而不是我们听的最多,用的最多的RGB格式,这是为什么呢?

【AI-1000问】为什么OpenCV读取的图像格式是BGR?

现在说起人工智能,聊起AI,每个人或多或少都能说出一点,从历史到未来,从图灵到冯诺依曼,从SVM到CNN等等,但是如果问你是否知道机器学习和模式识别有什么区别,知道吗?

【AI-1000问】机器学习和模式识别是什么关系?

人脸识别一直以来都是当前生物特征识别研究的热点之一,人脸识别技术在工业界应用价值尤为突出。Face detection、alignment、verification、identification(recognization),能第一时间说出来区别吗?

【AI-1000问】人脸的4个方向,你还分的清楚吗?

最后,欢迎来有三AI交流。

你可能感兴趣的:(知乎用户和龙鹏-言有三:计算机视觉应该怎样入门?)