将 11 个目录下的 26 个子章节文件合并到对应的父文件中, 用 --- 分隔各子章节,移除冗余的章节目录索引。 每个篇章现在是独立的单文件,结构更简洁。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 KiB
第三篇:计算机视觉与空间图像
本篇深入讲解计算机视觉的核心技术CNN,以及目标检测和语义分割在空间分析中的应用。
篇章导读
计算机视觉让机器"看见"世界。从图像分类到目标检测,从语义分割到场景理解,视觉技术正在改变设计领域对空间信息的处理方式。
本篇将系统介绍CNN原理及其在空间分析中的应用。
学习目标
理解CNN的核心思想:局部连接与权重共享
掌握卷积、激活、池化三大组件
了解CNN与MLP的区别和联系
为什么需要CNN
MLP的问题
将图像展平成一维向量输入MLP:
28×28``图像`` → 784``维向量`` → MLP
问题: 1. 参数量巨大:784×1000 = 784,000个参数 2. 忽略空间结构:相邻像素的关系被破坏 3. 缺乏平移不变性:物体移位后需要重新学习
CNN的解决方案
特性 说明 优势
局部连接 每个神经元只连接局部区域 符合图像局部相关性
权重共享 同一卷积核扫描全图 大幅减少参数
层次化特征 低层→高层特征抽象 自动学习特征表达
CNN三大组件
1. 卷积层 (Convolution)
卷积操作:用卷积核(Filter)在图像上滑动,计算局部特征
输入图像`` ``卷积核`` ``特征图
┌─────────┐ ┌─────┐ ┌─────────┐
│ 1 2 3 │ │ 1 0 │ │ 8 10 │
│ 4 5 6 │ ⊗ │ 0 -1 │ = │ 14 16 │
│ 7 8 9 │ │ │ │ │
└─────────┘ └─────┘ └─────────┘
计算示例:
输出``(1,1) = 1×1 + 2×0 + 4×0 + 5×(-1) = 1 - 5 = -4
多通道卷积:
RGB``图像`` (3``通道``) + ``卷积核`` (3×3×3) → ``特征图`` (``单通道``)
2. 激活层 (Activation)
通常使用ReLU:
output ``=`` ``max``(``0``, ``feature_map``)
作用:引入非线性,使网络能学习复杂模式
3. 池化层 (Pooling)
最大池化 (Max Pooling):
2×2``窗口`` → ``取最大值
┌─────┐ ┌───┐
│3 1 │ │ 3 │
│2 5 │ → │ │
└─────┘ │ 5 │
└───┘
作用: - 降低维度,减少计算量 - 增强平移不变性 - 扩大感受野
CNN架构示例
LeNet-5 (经典架构)
输入``(32×32) → ``卷积层`` → ``池化层`` → ``卷积层`` → ``池化层
↓
``全连接层`` → ``输出
VGG-16 (深层架构)
输入`` → [Conv×3 + Pool] ×2 → [Conv×3 + Pool] ×3
→ [Conv×3 + Pool] ×3 → FC×3 → ``输出
CNN vs MLP
特性 MLP CNN
连接方式 全连接 局部连接
权重 每个连接独立 同层共享
空间结构 忽略 保留
参数量 大 小
适用任务 结构化数据 图像/语音
经典网络架构演进
LeNet`` (1998) → ``首次定义``CNN``结构
↓
AlexNet`` (2012) → ``深度学习爆发,``ReLU``激活
↓
VGG (2014) → ``更深网络,``3×3``小卷积核
↓
GoogLeNet`` (2014) → Inception``模块,多尺度
↓
ResNet`` (2015) → ``残差连接,``152``层
↓
EfficientNet`` (2019) → ``复合缩放,高效
思考与练习
1.为什么卷积核通常选择奇数尺寸(3×3, 5×5)?
2.感受野如何随着网络深度增加?
3.设计一个简单的CNN用于手写数字识别
关键术语
中文 英文 说明
卷积核 Kernel/Filter 用于特征提取的小矩阵
步幅 Stride 卷积核滑动的步长
填充 Padding 边缘补零以保持尺寸
感受野 Receptive Field 神经元响应的输入区域
通道 Channel 图像的颜色维度或特征图数量
延伸阅读
CS231n: Convolutional Neural Networks
Understanding CNNs # 02.2 目标检测
学习目标
理解目标检测与图像分类的区别
掌握YOLO系列的发展脉络
了解目标检测在设计中的应用
从分类到检测
图像分类
输入图像`` → CNN → ``类别标签
"``猫``" (``单标签``)
目标检测
输入图像`` → CNN → [``位置``, ``类别``]
[``边界框``, "``猫``", 0.95]
[``边界框``, "``狗``", 0.87]
核心差异:检测需要同时解决"是什么"和"在哪里"
检测器类型
Two-Stage检测器
第一阶段:候选区域生成
RPN (Region Proposal Network)
第二阶段:分类与回归
``对每个候选框进行精确预测
代表:``R-CNN, Fast R-CNN, Faster R-CNN
特点:准确率高,速度慢
One-Stage检测器
直接预测:一次性输出所有边界框和类别
代表:``YOLO, SSD, ``RetinaNet
特点:速度快,实时性好
YOLO系列演进
YOLO v1 (2016)
核心思想:将检测转化为回归问题
输入图像`` → S×S``网格`` → ``每个网格预测``B``个边界框
创新点: - 端到端训练 - 实时检测 (45 FPS)
YOLO v2-v4
版本 主要改进
v2 Batch Normalization, 锚框
v3 多尺度预测
v4 CSPDarknet, PANet
v5 PyTorch实现,工程优化
v8 重新设计,更易用
YOLO工作流程
1. 输入图像 (640×640)
↓
2. Backbone特征提取
↓
3. Neck特征融合 (FPN + PAN)
↓
4. Head检测输出
- ``边界框坐标
- ``目标置信度
- ``类别概率
评估指标
IoU (交并比)
IoU`` = ``预测框与真实框的交集`` / ``并集
┌─────────┐
│ ``预测框`` │
│ ┌───┐ │
│ │``真`` │ │
└──┼──┼─┘
└───┘
IoU`` = ``重叠面积`` / ``总面积
mAP (平均精度均值)
在不同IoU阈值(0.5, 0.75...)下的平均精度
综合衡量定位准确度和分类准确度
COCO数据集
80类物体,包含: - 目标检测 - 实例分割 - 关键点检测 - 图像说明
设计领域应用
建筑识别
卫星图像`` → YOLO → ``建筑物边界框
↓
自动生成建筑轮廓
场景分析
室内照片`` → ``目标检测`` → ``家具识别
↓
空间布局分析
遗产保护
无人机影像`` → ``建筑病害检测
↓
自动化巡检与记录
思考与练习
1.Two-Stage和One-Stage检测器的权衡是什么?
2.为什么YOLO能实现实时检测?
3.目标检测在规划设计中有哪些潜在应用?
关键术语
中文 英文 说明
边界框 Bounding Box 矩形目标框
锚框 Anchor Box 预定义的候选框
非极大值抑制 NMS 去除重复检测
交并比 IoU Intersection over Union
平均精度 AP Average Precision
延伸阅读
COCO数据集 # 02.3 语义分割与空间分析
学习目标
理解图像分析的三种层级
掌握语义分割与实例分割的区别
了解分割技术在空间分析中的应用
图像分析层级
Pixel-Level (像素级)
每个像素独立处理
问题:不考虑上下文
Patch-Level (图块级)
以图像块为单位
特点:保留局部空间关系
应用:``CNN``卷积操作
Object-Level (对象级)
以完整对象为单位
特点:语义完整
应用:目标检测、分割
语义分割 vs 实例分割
语义分割 (Semantic Segmentation)
所有同类对象归为一类
图像`` → [``道路``, ``建筑``, ``车辆``, ``行人``, ...]
特点: - 同类别用同一种颜色 - 不区分个体数量
实例分割 (Instance Segmentation)
每个对象单独分割
图像`` → [``建筑``1, ``建筑``2, ``车``1, ``车``2, ...]
特点: - 区分同类对象的不同个体 - 更精细的场景理解
分割网络架构
FCN (全卷积网络)
CNN``特征提取`` → ``上采样`` → ``像素级预测
创新:用卷积层替代全连接层,输出热力图
U-Net
编码器`` → ``瓶颈层`` → ``解码器
↓ ↑
跳跃连接`` ───────────────┘
特点: - U型对称结构 - 跳跃连接融合多尺度特征 - 医学图像分割经典架构
DeepLab系列
空洞卷积 (Atrous Convolution)
扩大感受野而不降低分辨率
ASPP (空洞空间金字塔池化)
空间分析应用
遥感影像分析
卫星图像`` → ``语义分割`` → ``土地利用分类
↓
- ``建筑用地
- ``农用地
- ``水体
- ``森林
城市形态分析
街景图像`` → ``分割`` → ``空间品质评估
↓
- ``绿视率
- ``天空开阔度
- ``建筑密度
景观格局分析
高分辨率影像`` → ``生态源地识别
↓
景观连接性评估
分割与检测对比
特性 目标检测 语义分割
输出 矩形框 像素级标注
精度 粗糙 精细
计算量 较低 较高
应用 目标定位 场景理解
思考与练习
1.语义分割和实例分割分别在什么场景下更有用?
2.U-Net的跳跃连接为什么重要?
3.分割技术如何辅助规划设计决策?
关键术语
中文 英文 说明
语义分割 Semantic Segmentation 按类别分割像素
实例分割 Instance Segmentation 按对象个体分割
热力图 Heatmap 像素级预测结果
空洞卷积 Atrous Convolution 扩大感受野的卷积
跳跃连接 Skip Connection 跨层连接
延伸阅读
U-Net: Convolutional Networks for Biomedical Image Segmentation