计算机视觉入门与调优

发布时间:2024年01月05日

大家好啊,我是董董灿。

在 CSDN 上写文章写了有一段时间了,期间不少小伙伴私信我,咨询如何自学入门AI,或者咨询一些AI算法。

90%的问题我都回复了,但有时确实因为太忙,没顾得过来。

在这个过程中,我发现很多小伙伴问的问题都类似:比如如何入门计算机视觉,某某算法是做什么的,有什么作用。

图片

之前写的文章由于过于分散,不成体系,很多知识点没有串联起来。

于是我做了个合集,计划系统的从传统计算机视觉,到基于深度学习的计算机视觉走一遍。

然后依托Resnet50这一经典图像分类网络,将涉及到的算法都剖析和实现一遍,最后亲自完成该神经网络的搭建,并带你完成任意图像的识别。

专栏计划更新目录大纲为(高亮部分是已经写完的)

我所理解的计算机视觉

基础背景知识

  1. 图片和像素

  2. 灰度图

  3. 彩色 RGB 以及通道

  4. 彩色YUV

  5. OpenCV 介绍、环境搭建及一个实战完成YUV的分量提取

传统计算机视觉初探

  1. 传统CV之均值滤波

  2. 传统CV之高斯滤波

  3. 传统CV之高斯滤波实战

  4. 传统CV之边缘检测

  5. 传统CV之图像分割(大津算法)

  6. 传统CV之利用大津算法实战完成图像分割

深度学习基础

  1. 机器学习和深度学习的关系

  2. 深度学习之神经网络

  3. 深度学习之训练和推理

  4. 深度学习之正向传播和反向传播

  5. 深度学习之损失函数

  6. 推理的性能,那些框架存在的意义

  7. 深度学习实战——完成一个模型的训练和推理

图片分类模型 - Resnet50

  1. 什么是 Resnet50 神经网络?

  2. Resnet 神经网络为什么这么重要?

  3. Resnet 中共包含哪些算法?

  4. 卷积 - 为什么是卷积?

  5. 卷积 - 什么是卷积的 Feature Map?

  6. 卷积 - 到底什么是感受野?

  7. 卷积 - 矩阵乘法的本质

  8. 卷积 - 实际上是一个特征提取器

  9. 卷积 - 卷积特征的可视化和一个神奇的网站

  10. 卷积 - 卷积的基础公式

  11. 卷积参数 - padding 的作用

  12. 卷积参数 - stride 的作用

  13. 卷积参数 - dilation 的作用以及什么是空洞卷积

  14. 卷积参数 - 长宽方向的公式推导

  15. 变种卷积 - 分组卷积

  16. 实战 - 手写一个基础卷积算法

  17. 卷积 - 算法总结

  18. 池化 - 什么是池化算法

  19. 池化 - 池化与卷积的区别

  20. 池化 - 池化的特征不变性

  21. 池化 - 平均池化和全局平均池化

  22. 实战 - 手写一个最大池化函数

  23. BatchNorm - 什么是批归一化以及它解决了什么问题

  24. BatchNorm - 经典面试题:训练和推理中的批归一化有什么不一样

  25. 实战 - 手写一个BatchNorm 算法

  26. BatchNorm 为什么可以和卷积融合?

  27. 激活函数 - 非线性的重要性

  28. 激活函数 - relu

  29. 激活函数 - sigmoid

  30. 激活函数 - 梯度消失和梯度爆炸

  31. Resnet - 残差结构和它的作用

  32. 实战 - 利用 conv + bn + relu + add 手写一个残差结构

  33. 全连接 - 特征的全局融合

  34. 全连接 - 特征与样本空间的对应关系

  35. 实战 - 手写一个全连接算法

  36. Softmax 分类器以及它的底层原理

  37. 损失函数和softmax

  38. Resnet 中的下采样

模型实战

  1. python 环境搭建

  2. resnet50 模型下载

  3. resnet50 权值和参数保存

  4. resnet50 权值和参数加载

  5. python - 手写卷积、bn、池化、全连接、激活、ResBlock

  6. python - 全手写搭建 resnet50 神经网络

  7. 图片预处理:Resize and Crop

  8. 图片预处理:Normalize

  9. python - 利用手写的网络,成功预测一张图片

  10. python - 代码仓库介绍

  11. AI 模型性能评估指标:吞吐和延时

  12. python - 第一版手写代码性能评估

  13. python - 利用向量内积来优化卷积运算

  14. C++ 环境搭建和一些库的安装

  15. C++ 代码格式规范的一个工具使用

  16. C++ 仓库目录结构介绍

  17. C++ 编译,运行介绍

  18. C++ - 手写卷积、池化、bn、全连接、relu等算法

  19. C++ - 手写 BottleNeck 结构,搭建resnet50 神经网络

  20. C++ - 预测图片数据集介绍

  21. C++ - 图片预处理介绍

  22. C++ - 完成一张图片的推理,top1和 top5 的准确度验证

  23. C++ - 性能评估:Latency 和 FPS 介绍

模型性能优化1 - AVX2 向量指令集

  1. 什么是计算向量化

  2. avx2 向量指令集介绍

  3. avx2 向量寄存器介绍

  4. avx2 数据 load/store 向量化操作介绍

  5. avx2 向量实现乘累加

  6. 利用 avx2 向量指令集优化卷积运算

  7. 评估优化前后的性能差距

模型性能优化2 - 权值预加载

  1. 计算机基础 - 计算数据流加载(IO)

  2. 为什么要做权值预加载

  3. 手写的模型如何模拟权值预加载

  4. 权值预加载实现,评估优化前后的性能差距

模型性能优化3 - 内存操作的移除

  1. 操作系统:内存的申请机制介绍

  2. 系统负载:频繁申请内存的影响

  3. 如何移除推理 routie 上的内存操作

  4. 移除内存操作前后的性能评估

模型性能优化4 - 代码生成

  1. 什么是代码生成

  2. 代码生成一般都是怎么做的

  3. 代码生成有什么好处,为什么性能会更好

  4. 手写的模型如何模拟代码生成

  5. 将所有算子替换成代码生成逻辑

  6. JIT 编译介绍

  7. 如何在代码中加载动态库

  8. 如何从动态库中获取到函数符号

  9. 利用代码生成的逻辑优化手写的神经网络性能

  10. 优化前后性能评估

我自从转行来做AI,有不少启发,可以查看:我是如何转行 AI 并且实现薪资翻倍的

上面的内容适合想入门计算机视觉同学,或者已经有一些基础但是想提高自己的同学,还有就是想学习神经网络性能优化的同学。

上面的知识点我都全程答疑,并且可深度链接作者,咨询算法问题。

所有代码我会亲自编写,确保可以完全实操起来,并且理解为什么可以这么做。

做这个文章和代码实战合集,其实也是对我的一种锻炼和知识积累,如果你想入门学习AI视觉,想提高自己的同学,欢迎一起学习,我们一起冲吧。

文章来源:https://blog.csdn.net/dongtuoc/article/details/135397220
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。