第四部分 图像分割¶
第四部分:图像分割¶
核心问题¶
有了边缘之后,我们常常还希望进一步回答:
图像中哪些像素属于同一个目标?
图像分割的目标,是把图像划分成若干有意义的区域。
原始图像 → 区域划分 → 目标提取
典型任务¶
什么是图像分割?¶
基本定义¶
图像分割是将图像中的像素按照某种相似性或目标语义划分为不同区域的过程。
设图像区域为 \(\Omega\) ,分割结果可以表示为:
其中:
关键问题¶
分割依据:像素为什么属于同一区域?¶
常见依据¶
例子¶
注意¶
阈值分割:最简单的分割方法¶
基本思想¶
如果目标和背景在灰度上差异明显,可以用一个阈值 T 将它们分开。
理解¶
适用场景¶
目标与背景对比明显、光照较均匀的图像。
阈值怎么选?¶
手动阈值¶
根据经验或观察直方图选择一个阈值。
自动阈值¶
让算法根据图像灰度分布自动寻找较合适的阈值。直方图视角
如果目标和背景灰度分布明显分成两堆,阈值可以放在两堆之间。
背景峰 | 目标峰
课堂提问¶
如果一张图像左边很暗、右边很亮,还能用同一个全局阈值吗?
区域生长:从一个点扩展成一个区域¶
基本思想¶
先选择一个种子点,然后把周围与它相似的像素逐步加入同一区域。
种子点 → 检查邻域 → 加入相似像素 → 形成区域
判断依据¶
特点¶
结果直观,但对种子点选择和相似性标准比较敏感。
边缘方法与区域方法的区别¶
边缘方法¶
区域方法¶
理解¶
边缘方法问的是 “边界在哪里”,区域方法问的是 “哪些像素属于一起”。
传统分割方法的局限¶
为什么分割不容易?¶
真实图像往往比理想情况复杂得多:
关键理解¶
传统方法主要依赖灰度、颜色、边缘等低层特征,但很多时候,分割还需要理解图像中的 “内容”。
从传统分割到语义分割¶
传统分割¶
把图像分成若干区域,但不一定知道每个区域是什么。
图像 \(\longrightarrow\) 区域 1、区域 2、区域 3
语义分割¶
不仅要分出区域,还要判断每个像素属于哪一类。
图像 \(\longrightarrow\) 道路、天空、行人、车辆、建筑
一句话¶
传统分割更关注 “哪里不同”,语义分割更关注 “这是什么”。
语义分割:给每个像素分类¶
基本思想¶
语义分割可以理解为像素级分类任务。
其中:
例子¶
深度学习如何做分割?¶
基本思路¶
用神经网络从图像中学习特征,并输出每个像素的类别。
输入图像 \(\xrightarrow{CNN / Transformer}\) 像素级类别图
网络需要学习什么?¶
理解¶
深度学习方法不只是看单个像素,而是结合上下文判断像素类别。
语义分割与实例分割¶
语义分割¶
只判断每个像素属于哪一类。
所有人 → person
实例分割¶
不仅判断类别,还要区分不同个体。
人 1, 人 2, 人 3
分割结果如何评价?¶
问题¶
算法分割出来的区域,和人工标注的真实区域有多接近?
常用指标:IoU
理解¶
图像分割的应用¶
分割是图像理解的重要基础¶
一句话¶
分割把图像从 “像素矩阵” 变成了 “有意义的区域”。
第四部分阶段小结¶
下一步¶
分割可以得到目标区域,但我们还希望进一步描述图像内容。接下来:图像特征与目标识别。