计算机视觉工程师的万里长征路(附完整学习资料)

文章目录

    • 前言
    • 1 计算机基础
    • 2 编程语言
    • 3 数学基础
    • 4 图像处理与OpenCV
    • 5 机器学习与Scikit-learn
    • 6 深度学习与框架
    • 7 CV子方向
    • 未完待续

前言

计算机视觉 (CV) 作为人工智能 (AI) 的子方向,近年来十分火热,广泛应用于各大领域,如人脸识别、无人驾驶、智慧交通、智慧医疗和机器人等。其网络模型和算法也是层出不穷,涉及的理论基础也十分广泛。本文将列举计算机视觉工程师的知识结构,同时分享相关技术快速入门博客传送门。目的在于巩固拓展自身所学,与大家互相交流,共同进步。

1 计算机基础

虽然面试基础四大件在 CV 日后工作中可能用处不是很大,但这些往往能决定一名码农的上限(咱也是听前辈说的,还没那体会)。但实际一点来说,计算机基础在面试中所占比例不容忽视。

  • 数据结构与算法
    一文搞定数据结构与算法入门到入土(附网盘链接)
  • 计算机网络
  • 操作系统
  • 设计模式

2 编程语言

随着 AI 的兴起,Python 这门脚本语言最近特别火。不可否认的是,Python 代码简单易学,操作方便,尤其体现在深度学习 (DL) 网络模型实现上;但企业级开发中,只会 Python 是不够的,算法的落地应用更多还是依赖 C++,很多 CV 库和 DL 框架都是用 C/C++ 写的。当然,还有 Shell 批处理语言也是不能不会的,企业级开发多在Linux系统下进行,掌握 Shell 是基石。

  • Python
    一文搞定Python入门到入土(附网盘链接)
    一文搞定Numpy快速入门
    一文搞定Pandas快速入门
    一文搞定Matplotlib快速入门
  • C++
    一文搞定C++入门到入土(附网盘链接)
  • Shell
    一文搞定Linux入门到入土(附网盘链接)

3 数学基础

CV 的数学门槛没有 SLAM、立体视觉、三维重建那么高,但数学理论的高低也决定了一名算法狗的上线。比如机器学习 (ML) 算法实质就是统计学,对一组数据进行特征工程,分类,回归,聚类,降维;RGB 图像可以表示为矩阵的形式;DL 网络训练技巧中的优化算法本质也是最优化方法。

  • 微积分
  • 矩阵论
  • 统计学
  • 最优化方法

4 图像处理与OpenCV

CV 处理的对象是图片或视频,因为 RGB 图像可以表示为矩阵形式,所以对图像处理也就可以理解为对矩阵进行数学运算,比如卷积;但仅仅掌握数字图像处理的理论是不够的,如何才能运用到工程上,这就离不开 CV 库的帮助了。目前常用的就是 OpenCV 了,感兴趣的朋友可以研究源码,对于理论的理解会有很大帮助。

  • 数字图像处理
  • OpenCV
    一文搞定Ubuntu编译安装OpenCV(附网盘链接)
    一文搞定OpenCV快速入门(附网盘链接)

5 机器学习与Scikit-learn

ML 是包含 DL 的,图像/视频本质上仍然是数据的一种,谈到数据分析,首选当然是 ML 算法,ML 算法可分为四大类:分类、回归、聚类、降维。同样地,为了能把理论运用到工程上,离不开 ML 库的帮助。目前常用的是 Scikit-learn,感兴趣的朋友可以研究源码,对于理论的理解会有很大帮助。

  • 机器学习
    一文搞定ML从入门到入土(附网盘链接)
  • Scikit-learn
    sk-learn中文文档

6 深度学习与框架

DL 算法是由感知机逐步演化而来,神经网络 (NN) 的训练技巧也是不断发展。不同激活函数、损失函数、优化算法对优化目标都有着不同的影响。LeNet-5 打开了 DL 算法落地的大门,卷积神经网络 (CNN) 走入人们的视野,卷积层、非线性激活、池化层、归一化、全连接层让特征提取由人工选择转为自动学习。循环神经网络 (RNN) 的出现极大促进了自然语言处理 (NLP) 的发展。生成对抗网络 (GAN) 也是 DL 算法比较有趣的一个分支,常用于图像生成。为了更高效地运用到工程上,很多框架应运而生。目前常用的有 Caffe、TensorFlow、PyTorch、Keras、MXNet。

  • 深度学习
    一文多图搞定Ubuntu安装Anaconda+GPU Driver+CUDA+CUDNN+TensorFlow-gpu+Pytorch(附网盘链接)
    一文搞懂单层感知机
    一文搞懂深度神经网络
    一文搞懂卷积神经网络CNN
  • TensorFlow/PyTorch/Caffe
    一文搞定TensorFlow快速入门
    一文搞定Keras快速入门
    一文搞定Pytorch快速入门

7 CV子方向

CV 的子方向十分广泛,应用领域也很广。不过大多算法都是相通的,无非是以上知识的结晶。对于大多朋友来说,往往只需专精一个子方向即可,紧跟顶会顶刊大牛组算法即可,如 CVPR、ICCV、PAMI、AAAI。

  • 图像分类
  • 目标检测
    一文搞定2D目标检测综述(附网盘链接)
    一文多图搞懂KITTI检测数据集下载使用(附网盘链接)
  • 图像分割
  • 目标跟踪
  • 图像增强
  • 风格化
  • 人脸识别
  • GAN
  • 图像检索

未完待续

你可能感兴趣的:(CV经验谈)