计算机视觉
第1章 概述:深度学习让计算机“看懂”图像
第2章 环境:安装Anaconda、PyTorch、Jupyter
第3-4章 数据:用Dataset和DataLoader加载图像
第5章 CNN(卷积神经网络):卷积/池化/批归一化提取图像特征
第6章 训练:损失函数 + 优化器 + 反向传播,让模型学习
第7章 分类:整图输出一个标签,回答“这是什么?”(猫/狗)
第8章 检测:画边界框 + 告诉类别,回答“东西在哪?”(YOLO为代表)
第9章 分割:像素级分类,抠出精确轮廓,回答“每个像素是什么?”
输入一张图片:
第7章 分类 → 输出:一个标签,例如“猫”
第8章 检测 → 输出:多个框 + 类别,例如“猫 位于 [100,200,50,60]”
第9章 分割 → 输出:每个像素的类别,猫的轮廓被精确标出
分类知道“有猫”,检测知道“猫在哪”,分割知道“猫长什么样”。
- 表情识别 则是(分类+检测识别)
第10章 人脸识别:检测人脸 → 提取特征 → 比对身份,回答“这是谁?”
第11章 生成模型:GAN/VAE生成新图像,回答“能创造吗?”
目录
目标检测。 锚框 (Anchor) 与 边界框 (Bounding Box)
引
1. 先学OpenCV - 图像数据增强、预处理 import cv2 >
# 学习:读取图像、颜色空间、滤波、边缘检测 > >
2. 再学PyTorch基础 - 模型训练、调优 深度学习 import torch
# 学习:张量操作、自动微分、简单网络 > >
【通用深度学习技术】
├── 数据层面:图像增广 (翻转、旋转、裁剪、亮/对比度/噪声调整。(防止过拟合)
└── 模型层面:微调/迁移学习 (用于分类、检测、分割等任何任务)
【特定任务:目标检测】
├── 核心概念1:边界框 (Bounding Box) - 描述“物体在哪”
├── 核心概念2:交并比 (IoU) - 边框重叠程度
└── 核心机制:锚框 (Anchor Box) - 一种“猜测物体位置”的高效方法
图像增广 (Image Augmentation)
翻转、旋转、裁剪、亮度/对比度调整、添加噪声。(防止过拟合、模拟现实场景变化)
微调 (Fine-Tuning)
“站在巨人的肩膀上”,利用已训练好的模型。当你的数据集较小,但有一个在大数据集上预训练好的模型时。
流程:下载预训练模型 -> 替换最后一层(分类头)-> 选择冻结哪些层 -> 用你的数据训练
目标检测。 锚框 (Anchor) 与 边界框 (Bounding Box)
模型的任务就是 “调整最接近的锚框,使其匹配真实的边界框”
交并比


NumPy
数组来存储和处理图像
一维数组:线
[100, 150, 200, 180, 120] 可以理解为一条线上的像素(比如一行图像)二维数组:面
[[100, 150, 200], [180, 120, 90], [60, 80, 110]] 可以理解为一个平面上的像素: 行号 = 图像的 y 坐标(高度) 列号 = 图像的 x 坐标(宽度) 每个数值 = 该点的亮度/颜色 数值矩阵: 对应的图像(灰度): [100, 150, 200] → ■ ■ ■ (越大的数越亮) [180, 120, 90] → ■ ■ ■ [ 60, 80, 110] → ■ ■ ■三维数组:立体/彩色
[ [R通道], → 红色亮度矩阵 [G通道], → 绿色亮度矩阵 [B通道] → 蓝色亮度矩阵 ] 可以理解为多个平面叠在一起,每个平面对应一个颜色通道。
np.array(list) | 从 Python 列表创建数组 | 将图像数据转换为可处理的数组格式 |
np.zeros(shape) | 创建全0数组 | 生成黑色图像、初始化掩码 |
np.ones(shape) | 创建全1数组 | 生成白色图像、初始化卷积核 |
np.arange(start, stop, step) | 创建等差数列 (步长 公差d) | 生成坐标序列、遍历像素 |
np.linspace(start, stop, num) | 创建等间隔数列(点个数) | 生成渐变色、采样点 |
np.arange(start, stop, step) 用途:从 start 开始,每次增加 step,直到不超过 stop
np.linspace(start, stop, num) 用途:从 start 到 stop 生成 num 个均匀间隔的点
更多推荐

所有评论(0)