00、计算机视觉入门与调优简介
写在前面
-
每天更新1篇文章,共更新100篇以上
-
相关代码会放在gitee上
-
中间会按进度和反馈安排视频讲解
-
预计2023-11-11开始推送文章,持续3个月左右
专栏简介
本专栏带你从头开始入门计算机视觉。
内容会比之前写的文章更专业更全面,并且你可以深度链接作者,确保你能完全学会。
预计更新100篇文章以及实战代码(预计在3个月左右时间更新完成),包含以下章节(更新过程中会有调整):
我所理解的计算机视觉
基础背景知识
-
图片和像素
-
灰度图
-
彩色 RGB以及通道在计算机视觉中的含义
-
彩色YUV
-
OpenCV 介绍、环境搭建及一个实战完成YUV的分量提取
传统计算机视觉初探
-
高斯滤波
-
均值滤波
-
利用 opencv 完成一张图片的高斯模糊
-
边缘检测
-
大津算法
-
C++ 利用大津算法完成一张图片的分割
深度学习基础
-
机器学习和深度学习的关系
-
神经网络
-
训练和推理
-
正向传播和反向传播
-
损失函数
-
正向推理的性能,那些框架存在的意义
图片分类模型 - Resnet50
-
什么是 Resnet50 神经网络?
-
Resnet 神经网络为什么这么重要?
-
Resnet 中共包含哪些算法?
-
卷积 - 计算机视觉为什么离不开卷积(conv)
-
卷积 - 卷积的输入和输出, 特征图, feature map
-
卷积 - 卷积核
-
卷积 - 感受野(卷积是如何看到图像的)
-
卷积 - 图片通道数
-
卷积 - 图片的特征是如何通过卷积表征的
-
卷积 - 卷积算法的可视化
-
卷积 - 卷积的本质 - 图片特征的融合
-
卷积 - 特征图可视化,卷积到底学到了图片的什么特征
-
卷积 - 卷积算法公式推导
-
卷积参数 - padding 的作用
-
卷积参数 - stride 的作用
-
卷积参数 - dilation 的作用
-
变种卷积 - 空洞卷积
-
变种卷积 - 分组卷积
-
变种卷积 - 逐通道卷积
-
实战环境搭建 - python 和 C++ 卷积实战 - 手写一个基础卷积算法
-
卷积总结 池化 - 什么是池化算法
-
池化 - 池化的核函数
-
池化 - 和卷积的区别
-
池化 - 最大池化
-
池化 - 最大池化的特征不变性
-
池化 - 平均池化 ,全局平均池化
-
池化实战 - 手写一个最大池化函数
-
BatchNorm - 批归一化,为什么在特征图的 batch 维度做?
-
BatchNorm - 解决了什么问题
-
BatchNorm 实战 - 公式推导以及手写一个BatchNorm 算法
-
BatchNorm 为什么可以和卷积融合?
-
激活函数 - 非线性的重要性
-
激活函数 - Relu 公式
-
激活函数 - 为什么有人说可以无脑用Relu
-
激活函数 - sigmoid
-
激活函数 - 梯度消失和梯度爆炸
-
Resnet - 残差结构
-
Resnet - 残差结构的作用
-
python/c++ 实战 - 利用卷积+relu + add 手写一个残差结构
-
全连接 - 全连接的本质,图片特征的大融合
-
全连接 - 和卷积的区别和联系
-
python/c++ 实战 - 手写一个全连接算法
-
Softmax 分类器的作用
-
Softamx 分类的本质
-
Softmax 与损失函数的关系
-
python/c++ 实战 - 手写 softmax 算法
-
Resnet 中的下采样
-
Resnet 中的BottleNeck 结构
模型实战
-
python/c++ 实战 - 手写搭建 conv + batchnorm + relu conv_bn_relu)结构
-
python/c++ 实战 - 手写搭建 bottleneck 结构
-
python/c++ 实战 - 手写全局平均池化
-
python/c++ 实战 - 利用 conv_bn_relu + bottleneck + 最大池化 + 全局池化 + 全连接搭建resnet50
-
python/c++ 实战 - 下载该神经网络预训练权值
-
python/c++ 实战 - 对神经网络加载权值 python/c++
-
实战解析 - 图像预处理介绍
-
python/c++ 手写图像预处理
-
python/c++ 输入任意图片,正确推理结果
-
神经网络评价指标 - Top1/Top5, 看你手写的神经网络正确率如何?
模型性能优化
-
python/c++ 实战总结 神经网络性能指标 - 吞吐和延时
-
计算机基础 - 计算数据流加载(IO)
-
性能优化1 - 循环展开(unrooling) 及其原理
-
性能优化2 - 图融合及其原理
-
性能优化2 - resnet中可融合的层的算法等价关系介绍
-
性能优化实战 - 以上述手写的神经网络代码为基础,完成图融合的实战
-
性能优化3 - 什么是计算向量化
-
性能优化3 - 内积和卷积的关系
-
性能优化3 - 利用 python 的内积优化卷积运算
-
性能优化3 - CPU 向量指令和标量指令介绍
-
性能优化3 - CPU avx指令集介绍
-
性能优化3实战 - 利用avx指令集做卷积算法的优化
-
性能优化4 - 权值预加载技术
-
性能优化5 - 模型预编译技术和代码生成介绍
专栏总结
小册内容丰富,从原理入门到算法解析到实战,全部包含。
围绕着Resnet50这一神经网络,会带你将基础知识打牢,无论你是小白,还是已有一些基础想提高,都很适合。
相关文章:
00、计算机视觉入门与调优简介
写在前面 每天更新1篇文章,共更新100篇以上 相关代码会放在gitee上 中间会按进度和反馈安排视频讲解 预计2023-11-11开始推送文章,持续3个月左右 专栏简介 本专栏带你从头开始入门计算机视觉。 内容会比之前写的文章更专业更全面,并且你…...
.L0CK3D来袭:如何保护您的数据免受致命攻击
尊敬的读者: 网络犯罪的威胁日益增长,其中.L0CK3D勒索病毒是一种极具挑战性的数字威胁。为了助您应对这一风险,本文将深入探讨.L0CK3D病毒的狡猾手法、毁灭性影响,提供详实的数据恢复方法,同时为您提供极具实战性的预…...

多媒体ffmpeg学习教程
多媒体ffmpeg 目前比较流行的音视频文件为:MP4 flv m3u8 ffmpeg ffmpeg ffplay ffprobe ffserverffmpeg -i INPUT -vf "split [main][tmp]; [tmp] cropiw:ih/2:0:0, vflip [flip];[main][flip] overlay0:H/2" OUTPUTffmpeg -i 2022.mp4 -vcodec mpeg4 -b:…...
SELinux零知识学习十五、SELinux策略语言之客体类别和许可(9)
接前一篇文章:SELinux零知识学习十四、SELinux策略语言之客体类别和许可(8) 一、SELinux策略语言之客体类别和许可 4. 客体类别许可实例 (3)进程客体类别许可 与文件许可不同,许多进程许可没有直接对应到…...

OpenSign:安全可靠的电子签名解决方案 | 开源日报 No.76
microsoft/Web-Dev-For-Beginners Stars: 71.5k License: MIT 这个开源项目是一个为期 12 周的全面课程,由微软云倡导者团队提供。它旨在帮助初学者掌握 JavaScript、CSS 和 HTML 的基础知识。每一节都包括预习和复习测验、详细的书面指南、解决方案、作业等内容。…...

Linux | 进程间通信
目录 前言 一、进程间通信的基本概念 二、管道 1、管道的基本概念 2、匿名管道 (1)原理 (2)测试代码 (3)读写控制相关问题 a、读端关闭 b、写端关闭 c、读快写慢 d、读慢些快 (4&a…...
Vue.js正式环境中配置多个请求的URL
在Vue.js中,你可以在正式环境中配置多个请求的URL,通常使用一些配置文件或者环境变量的方式。下面是一种常见的配置方式: 1. 创建配置文件:在项目的根目录下,创建一个配置文件,比如可以是config.js&#x…...

简单的 UDP 网络程序
文章目录: 简单的UDP网络程序服务端创建套接字服务端绑定启动服务器udp客户端本地测试INADDR_ANY 地址转换函数关于 inet_ntoa 简单的UDP网络程序 服务端创建套接字 我们将服务端封装为一个类,当定义一个服务器对象之后,需要立即进行初始化…...
人工智能-深度学习之文本预处理
文本预处理 对于序列数据处理问题, 这样的数据存在许多种形式,文本是最常见例子之一。 例如,一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 本节中,我们将解析文本的常见预处理步骤。 这些步骤通常包括…...

【Java 进阶篇】插上翅膀:JQuery 插件机制详解
在前端开发中,JQuery 作为一个广泛应用的 JavaScript 库,为开发者提供了丰富的工具和方法,简化了 DOM 操作、事件处理等繁琐的任务。而在这个庞大的生态系统中,插件机制是 JQuery 的一项重要特性,使得开发者能够轻松地…...
手动编译GDB
手动编译GDB 起因在于使用Clang-14编译C文件并生成调试信息,使用gdb调试时报DWARF相关错误。经检查原因在于虚拟机为Ubuntu 20.04,使用apt下载时官方提供gdb版本为9.2,不支持DWARF5,而Clang-14生成的调试信息是DWARF5版本的。为解决该问题,手…...

竞赛选题 深度学习花卉识别 - python 机器视觉 opencv
文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &a…...
替换SlowFast中Detectron2为Yolov8
一 需求 FaceBookReserch中SlowFast源码中检测框是用Detectron2进行目标检测,本文想实现用yolov8替换detectron2二 实施方案 首先,yolov8 支持有自定义库ultralytics(仅支持yolov8),安装对应库 pip install ultraly…...
轻量化网络--MobileNet V1
文章目录 depth-wise separable convolutions普通卷积depthwise conconvolutionspointwise convolutions网络结构进一步分析网络训练方式两个重要的超参数Width Multiplier: Thinner ModelsResolution Multiplier: Reduced Representation实验结果消融实验细粒度,高分辨率识别…...

gittee启动器
前言 很多小伙伴反馈不是使用gitee,不会寻找好的项目,在拿到一个项目不知道从哪里入手。 鼠鼠我呀就是宠粉,中嘞,老乡。整!!! git的基本指令 在使用gitee的时候呢,我们只需要记住…...
Spark数据倾斜_产生原因及定位处理办法_生产环境
在最近的项目中,历史和实时数据进行关联平滑时出现了数据倾斜,产生了笛卡尔积,具体现象如下:运行内存175GB,核数64,运行代码时,查看SparkUI界面的active jobs ,数据输入是1G…...

2023OceanBase年度发布会后,有感
很荣幸收到了OceanBase邀请,于本周四(11月16日)参加了OceanBase年度发布会并参加了DBA老友会,按照理论应该我昨天(星期五)就回到成都了,最迟今天白天就该把文章写出来了,奈何媳妇儿买…...
ubuntu18.04中代码迁移到20.04报错
一、 PCL库,Eigen库报错,如: /usr/include/pcl-1.10/pcl/point_types.h:903:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type; did you mean ‘enable_if’?/usr/include/pcl-1.10/pcl/point_types.h:698:…...
QQ五毛项目记
问题与挑战:某公司为了实现某马总造福全人类,红旗插遍全球的宏伟目标,为应对后续用户激增的问题。特别安排了一次针对全体用户的秒杀活动:于XXXX年XX月XX日XX时XX分XX秒开始的秒杀五毛钱一百个QQ币的活动。每个账户仅限一次&#…...
小程序实现登录持久化
小程序实现登录持久化需要使用到小程序的缓存API,例如wx.getStorageSync()和wx.setStorageSync()等方法。以下是一个简单的代码实现: // App.js App({ // 在全局的App.js中定义全局变量userInfo,用于存放用户信息 globalData: { userInfo: …...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...