跳到主要内容

图像分割

一、直观理解:把像素划成有意义的区域​

图像分割把图像分成若干互不重叠区域,使同一区域内像素性质相似(灰度、颜色、纹理),不同区域之间有可区分边界。阈值分割最简单;Otsu 自动选阈值;K-means 可做颜色聚类;区域生长、图割、水平集等处理更复杂情形。

建模题中,分割常用于计数目标、测面积、提取感兴趣区(ROI)供后续统计。

二、适用场景与优缺点​

类型说明
适用场景目标与背景灰度可分;需要面积/数量;彩色聚类分区域。
核心优点阈值/Otsu 快速可解释;结果可直接量化;易与形态学联动。
局限与缺点光照不均使全局阈值失败;纹理复杂需更强特征;过分割/欠分割常见。

三、核心原理​

1. 全局阈值​

S={(i,j):I(i,j)>T}S=\{(i,j):I(i,j)>T\}。

2. Otsu​

最大化类间方差

σb2(T)=w0(T)w1(T)(μ0(T)−μ1(T))2\sigma_b^2(T)=w_0(T)w_1(T)\big(\mu_0(T)-\mu_1(T)\big)^2

3. 聚类分割​

把像素特征(RGB、Lab、位置)聚类,标签即区域。

四、实践要点​

  • 预处理:去噪、光照校正(顶帽/同态);
  • 先试 Otsu,失败再局部阈值或聚类;
  • 分割后形态学清理;
  • 用面积、圆形度等过滤假目标。

五、MATLAB 示例​

%% Otsu 阈值分割 + 计数
I = zeros(120, 160);
I(20:50, 20:50) = 0.9;
I(70:100, 90:130) = 0.85;
I(40:55, 100:115) = 0.8;
I = imgaussfilt(I, 1);
I = imnoise(I, "gaussian", 0, 0.005);
I8 = im2uint8(mat2gray(I));

T = graythresh(I8); % Otsu 归一化阈值
BW = imbinarize(I8, T);
BW = bwareaopen(BW, 50);
BW = imfill(BW, "holes");

cc = bwconncomp(BW);
stats = regionprops(cc, "Area", "Centroid");
areas = [stats.Area];

figure;
subplot(1,3,1); imshow(I8); title("原图");
subplot(1,3,2); imshow(BW); title(sprintf("Otsu T=%.2f", T));
subplot(1,3,3); imshow(I8); hold on;
for k=1:numel(stats)
plot(stats(k).Centroid(1), stats(k).Centroid(2), "r*");
end
title(sprintf("检测到 %d 个目标", cc.NumObjects));

fprintf("各目标面积: "); disp(areas);

K-means 颜色分割示意:

rgb = reshape(cat(3, I8, I8, I8), [], 3);
[idx, C] = kmeans(double(rgb), 2, "Replicates", 3);
L = reshape(idx, size(I8));
figure; imagesc(L); axis image off; title("K-means 分割标签");

六、如何解释结果​

报告算法、阈值/聚类数、预处理与后处理、目标数量与面积统计、误差来源(粘连、光照)。给出分割叠加图增强说服力。

七、常见误区​

1. 全局阈值打天下​

2. 不清理掩膜就计数​

3. 聚类数随意、不解释含义​

4. 缺少与人工标注/常识的对照​

附:建模流程中的落地清单(图像分割)​

要把方法真正写进论文,建议补齐以下模块,而不是只贴一个最终数字。

1. 问题对齐与假设​

说明题目中的输入/输出如何映射到本方法,并显式列出关键假设。假设越清楚,后面的敏感性分析越有对象。

2. 关键关系​

Otsu 最大化类间方差自动阈值;分割后常接形态学与连通域分析。

3. 补充实现片段​

I=im2uint8(mat2gray(fspecial('gaussian',[80 80],12))); BW=imbinarize(I,graythresh(I)); imshowpair(I,BW,'montage');

4. 报告要素​

算法、阈值/类数、后处理、目标计数与面积。

5. 不适用情形​

全局阈值打天下;不清理掩膜就计数。

6. 与验证章节的衔接​

至少做一项:参数扰动、与基线方法对照、极限情形检查。把“方法正文”和“全局方法论(第15门类)”连起来,结论才站得住。

附:结果解读示例与常见审稿问题​

结果解读示例​

假设已经得到主要数值输出。写作时应把数字翻译回题目语言,例如:

  • “在基准参数下指标为 A;当关键参数变化 ±10% 时,指标波动约 B%,方案排序未变。”
  • “算法在 R 次独立重复中有 S 次收敛到同一结构解,说明结论对初始化不敏感。”
  • “与简化基线相比,本方法在验证集误差降低 Δ,但计算时间增加,权衡后仍采用。”

如果只有表格没有句子,评委很难判断你是否真正理解结果。

参数与数据的最小敏感性​

即使篇幅有限,也建议给出一个小表:选取 1–3 个最关键参数,各取偏低/基准/偏高三档,报告输出变化。这比大段空泛的“模型具有较强鲁棒性”更有说服力。

可复现信息​

在附录或正文脚注中记录:软件版本、随机种子、关键容差、数据截取时间范围。另一人按文档应能得到同量级结果。

审稿式自问​

  1. 方法假设在题目数据上是否可检查?
  2. 若最敏感参数估计错误 20%,结论是否翻盘?
  3. 是否存在更简单方法达到相近效果?
  4. 图表是否都能用一句话概括?
  5. 局限是否写得具体,而不是套话?

把上述自问的答案写进论文,方法章节会明显更“像完成了建模”,而不是“像完成了公式摘录”。

八、小结​

图像分割把像素组织成可量化区域,Otsu 与聚类是建模中最常用的起点。成功的分割流水线通常是:预处理 → 分割 → 形态学 → 特征过滤 → 统计输出。