ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MatSAM: novel training-free approach to extracting material microstructures via visual large model

MatSAM: novel training-free approach to extracting material microstructures via visual large model

目录

一、研究问题

二、研究思路

三、研究方法-MatSAM


一、研究问题

如何在不依赖大量人工标注、不需要针对不同材料重新训练模型的情况下,实现不同类型材料微观组织的准确、自动分割?

技术路线基本思路主要不足
传统图像处理(Otsu、Canny、分水岭等)根据灰度、边缘及形态学特征进行分割依赖图像对比度和成像质量,在晶界模糊、噪声较大或结构复杂时容易失败
监督深度学习(U-Net 等)利用人工标注数据训练模型,学习目标结构特征需要大量高质量标注,模型对不同材料和成像条件的泛化能力有限
预训练与微调利用预训练模型提取通用特征,再针对目标数据进行适配仍需要目标领域标注数据及额外训练资源
原始 SAM利用预训练视觉基础模型,通过提示点实现零样本分割默认均匀网格提示难以适应密集、细小、边界复杂的材料组织,容易出现漏分割、错误分割及重复分割

二、研究思路

SAM(Segment Anything Model)通过大规模预训练,已经具备较强的通用视觉特征提取和目标分割能力。原始 SAM 的Everything Mode(自动分割模式)通常使用均匀分布的网格点作为提示。但是对于显微图,SAM 可能对同一晶粒重复分割,也可能漏掉小晶粒,甚至错误识别晶界。

所以提出创新点:改进提示点生成方式

即利用传统图像处理方法自动定位潜在目标区域,再结合均匀网格点进行补充,将更符合材料结构特点的提示点输入预训练 SAM,从而在无需额外训练的条件下实现准确分割。

三、研究方法-MatSAM

1. 输入:来自OM、SEM或XCT图像 + 用户指定图像类别(polycrystalline、multiphase)

2. 多尺度裁剪:MatSAM把图像分成不同大小的裁剪区域:原图大小、四分之一图像区域、十六分之一图像区域,相邻区域有约50%重叠。

3. Automated Structure-aware Prompt Generation自动结构感知提示生成

(1)生成 ROI 点(Generation of ROI Points)

① 多晶图像(Polycrystalline):原始图像 → Canny 边缘检测 → 提取晶界及候选晶粒区域 → 连通区域分析 → 计算区域质心 → 生成 ROI 点。
Canny 主要用于提取晶粒之间的边界信息,再通过区域分析确定可能的晶粒位置。
② 多相图像(Multiphase):原始图像 → Otsu 阈值分割 → 提取候选相区 → 连通区域分析 → 计算区域质心 → 生成 ROI 点。
Otsu 根据灰度分布自动确定分割阈值,将不同灰度的区域初步区分,再提取候选目标位置。

(2)调整网格点(Modulation of Grid Points):仅使用 Canny 或 Otsu 生成的 ROI 点仍然可能存在遗漏,因此需要结合 SAM 原有的均匀网格提示。

① 增加普通网格点,在图像中生成均匀分布的 Grid Points,为ROI定位不准确的区域提供额外覆盖。
② 补充边缘点Edge Points,在图像边缘补充更密集的点,解决部分晶粒被图像边界截断,或边缘区域成像条件不佳造成的漏检问题。
③ 删除冗余提示点,降低提示冗余,默认距离阈值是3像素。

(3)合并提示点(Aggregation of Points):将 ROI 点与经过边缘增强、去重处理后的网格点进行合并。

4. MatSAM使用预训练的SAM三个核心模块完成图像分割

(1)Image Encoder图像编码器:输入原始显微图像,通过预训练的 Vision Transformer(ViT)提取视觉特征,得到图像特征表示。

(2)Prompt Encoder提示编码器:将自动生成的提示点坐标转换为高维提示特征。

(3)Mask Decoder掩膜解码器:结合图像特征与提示特征,通过注意力机制进行信息交互,预测对应目标区域的分割掩膜(Mask)。对于同一个提示,SAM 可以产生多个候选掩膜,并根据预测质量评分进行筛选。

5. 掩膜筛选与去重(Mask Filtering & NMS)由于不同提示点可能对应同一个晶粒或颗粒,不同裁剪区域之间也可能产生重复分割结果,因此需要进行掩膜筛选。MatSAM 沿用 SAM 的非极大值抑制(Non-Maximum Suppression,NMS)机制。
(1)根据预测质量分数筛选候选掩膜。
(2)对重叠程度较高的候选掩膜进行去重,优先保留质量较高的结果。
(3)先在单个裁剪区域内去重,再跨不同裁剪区域进行去重。

6. 输出结果:输出材料显微图像中目标结构的分割结果,包括:(1)多晶组织中的晶粒及晶界分割。(2)多相组织中的相区、颗粒等目标分割。(3)可用于后续尺寸、数量、面积等定量统计的像素级区域。

EG补充知识:
1. SAM是给定一张图以及一个提示,找出提示所指对象的完整区域。SAM由三部分组成:
(1)图像编码器 Image Encoder:把原始像素压缩成高维图像特征。【这张图中有哪些边缘、纹理和区域?】
(2)提示编码器 Prompt Encoder:理解用户想分割什么,提示可以是一个点、多个点、一个矩形框、一个粗略掩膜。【用户指的是哪个位置?】
(3)掩膜解码器 Mask Decoder:图像特征 + 提示信息 = 输出目标掩膜。【结合两者,把这个对象完整圈出来。】

2. Canny是一种经典的边缘检测算法。回答问题为:图像中哪些位置的亮度发生了明显突变?即为边缘。
Canny的基本过程是:
图像 → 高斯滤波去噪 → 计算灰度梯度 → 保留可能的边缘 → 双阈值筛选 → 边缘图
其中,灰度梯度 = 图像亮度变化的快慢和方向。

3. Otsu是一种自动选择灰度阈值的方法。
灰度阈值:灰度图中,每个像素通常有0—255的数值:0黑色、255白色。
假设颗粒通常比较亮,背景比较暗,可以选择一个阈值,例如150:
灰度 > 150 → 目标
灰度 ≤ 150 → 背景
问题是:150应该由谁来决定?
Otsu会根据整张图的灰度分布自动寻找一个较合适的阈值。

4. 材料表征手段:使用仪器观察或测量材料的成分、结构、形貌和性能。显微组织不能直接用肉眼看清,所以需要不同仪器“显现”它。

5. 晶粒Grain:晶体取向基本一致的一块区域;不同晶粒之间通常由晶界隔开。
相Phase:在一定尺度上具有相对一致的成分、结构和性质的材料区域。
(晶粒理解为“晶体被分成多少块”,而相表示“材料内部存在多少种不同的结构或物质状态”。)

6. Prompt point提示点:是提供给 SAM 的一个图像坐标,用于告诉模型希望分割哪个位置对应的区域。

对于SAM,一个提示点包括:坐标:(x, y) 和 类型:正点或负点
正点表示:我想分割的对象经过这里。
负点表示:这个位置不是目标,请不要把它包括进来。

对于MatSAM,它主要自动生成:
(1)ROI质心点:多晶结构中心点:通过Canny寻找晶界包围的区域
多相结构中心点:通过Otsu寻找不同灰度的相区
(2)规则网格点:覆盖整张图,防止遗漏
(3)图像边缘附近的补充点:覆盖被图像边界截断的组织
这些点告诉SAM:请分别检查这些位置周围是否存在完整的晶粒或相区。提示点不是完整标注。它只提供一个坐标,而像素级标注需要把目标的每一个像素都画出来。因此点提示的成本远低于完整掩膜标注。

6. Region of Interest即图像中可能包含研究目标、值得进一步处理的区域。
MatSAM 中,传统算法先找出候选 ROI,再通过质心计算把每个ROI转换成一个提示点POI point。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进