AI视觉如何赋能半导体超声检测:C-SAM图像缺陷识别与产线部署

发布时间:2026/9/14 6:24:56
AI视觉如何赋能半导体超声检测:C-SAM图像缺陷识别与产线部署 芯片能不能用很多时候在产线上不是靠电性能测试说了算的。封装内部的空洞、分层、裂纹电测常常测不出来等出货到客户手里才在温度循环、可靠性验证里爆雷那时候损失就不是一片两片晶圆的问题了。所以半导体行业一直有一套超声检测设备——超声波扫描显微镜常见的叫法是C-SAM也写作SAT——专门负责看芯片内部结构。但问题来了这套设备出来的图像得靠人眼一张张盯着看效率低、标准松、漏检率压不下来。最近几年我一直在做这个方向的AI视觉落地把目标检测、语义分割这些技术用到超声图像上替代人工判读。这篇文章就把这个项目的完整思路、技术选型、踩过的坑和产线部署的经验一次性讲透给正在做半导体AI质检或者准备往这个方向切入的朋友一个参考。1. 超声波设备到底在看什么IC封装缺陷检测的成像逻辑与盲区1.1 从看不见到看得见超声成像在IC检测中的角色芯片封装完成之后外部能看到的是塑封体、引脚、基板内部到底什么状态靠光学显微镜和X-Ray都各有局限。X-Ray适合看金属结构的桥连、空洞但对塑封料与芯片界面的分层不敏感。真正能在不破坏样品的情况下把封装内部的界面状态可视化出来的就是超声波扫描显微镜。它的原理并不复杂本质上和水下声呐一个路子换能器发射高频超声波常见频率在15MHz到230MHz之间IC封装检测一般用100MHz以上声波穿透塑封料后在声阻抗不同的界面上会产生反射回波。塑封料、芯片表面、基板、引线框架这些材料的声阻抗不同正常结合界面和分层/空洞界面的反射特征也有明显区别。通过逐点扫描把每个位置的回波幅度按灰度或彩色映射成图像一张C-Scan图就出来了。这也是超声成像和光学成像最大的不同它看的是声阻抗界面不是光反射。在半导体封测厂里超声检测通常安排在塑封、回流焊、可靠性试验之后用来确认封装体内部有没有分层、空洞、裂纹、键合异常。车规电子尤其严格很多客户对MSL湿度敏感等级试验前后的分层面积、空洞比例都有明确限制这直接决定一批货能不能放行。1.2 C-SAM的A/B/C/D扫一张图是怎么生成的经常有人把C-SAM当成一个黑盒子图像出来了却说不清每个模式代表什么这对后续做AI判读是致命的。因为你的标注、模型设计、后处理全都要建立在对成像模式的理解上。超声扫描显微镜有几种标准扫描模式A-Scan固定一个点显示回波幅度随时间深度的波形。可以理解为只看针尖下的一个点。B-Scan沿一条线做截面扫描得到一维深度剖面图类似CT的纵切面。C-Scan聚焦在某个深度范围内对整个平面逐点扫描得到一张平面灰度图。这是产线判读最常用的模式。D-Scan对特定深度门内的回波做俯视成像和C-Scan类似但门设置方式不同多用于分层和裂纹的定位。对于产线上的快速筛查绝大多数情况都是在C-Scan模式下做全样扫描。判读的核心是看图像中的异常区域——该亮的地方不亮该暗的地方出现异常反射或者回波极性发生了反转。极性是一个很重要的概念超声波遇到固-气界面比如分层、空洞反射时相位会反转而遇到正常的固-固界面则保持相位。利用极性门Polarity Gate可以把上层形貌变化和内部真实缺陷区分开这在标注时特别关键因为表面残胶、水渍、耦合不良都会造成假回波如果不懂极性分析AI很容易把伪缺陷当真缺陷学进去了。1.3 缺陷的电性能损失分层、空洞、裂纹为什么会造成失效AI视觉的目标是检测缺陷但说到底产线要的从来不是检测出来而是不让坏品流出去而且明白为什么坏。分层Delamination发生在塑封料与芯片、引线框架或基板的界面上是最常见也最危险的失效模式。分层后的界面积聚湿气温度变化时水汽膨胀压力会把塑封体顶开严重时直接导致爆米花效应Popcorn Effect芯片内部导线被拉扯断裂。空洞Void通常出现在Die Attach层或塑封料内部。Die Attach空洞直接影响散热路径功率器件里局部热点可能让芯片烧毁塑封料内部空洞则会在热循环中成为应力集中点诱发裂纹扩展。裂纹Crack往往从封装角落开始在机械应力和热应力的反复作用下向内延伸切断内部布线或者破坏芯片钝化层导致漏电和可靠性失效。理解了这些失效机理AI项目的价值就不只是一个图像分类工具而是产线质量管控的关键节点。我们做模型设计时会特意把缺陷类型分开区分而不是笼统地输出NG就是为了给失效分析团队一个明确的方向看到空洞就往Die Attach工艺查看到分层就往塑封前清洗和湿气控制上查。2. 人眼判读的极限超声检测岗位的真实瓶颈为什么AI能进场2.1 一天几千张图的疲劳战进过封测厂超声检测区域的人都知道最显眼的不是设备而是屏幕前坐着的人。半导体工厂夜班时段检验员面对的是成百上千张C-Scan图像每张图要看形态是否均匀、有没有超出规格的暗区、边界是否清晰。这种高度重复的视觉任务人眼大约集中精力二十分钟后就开始下降一个小时后就进入看什么都一样的麻木状态。我调研过的几家工厂一个熟练检验员单张图平均判读时间在10秒到30秒之间遇到可疑情况还要切回A-Scan波形复核或者重新扫描单张图耗时能拉到一分钟以上。产线节拍一旦加快检验员就不得不在速度和质量之间妥协。这正是AI最擅长补位的场景在一秒内完成读图、比对、给出置信度让人只处理少数疑难样本。2.2 同一个批次的标准漂移一致性难题人工判读另一个头痛的问题是标准漂移。早上刚上班精神好判得严半夜疲劳小缺陷就睁一只眼闭一只眼。来了一批急单交付压力一大判读尺度也会不自觉地松动。同一个批次的同一种缺陷上午拦截了下午放行了这种事在产线并不少见。我也见过工厂试图用标准图卡来解决这个问题把缺陷照片贴在工作台上让检验员对照判读。但实际效果有限。超声图像不像光学照片那样直观缺陷区域是一个灰度色块边界模糊加上不同批次的封装材料声学特性存在波动同样的缺陷区可能呈现出不同的对比度。纸面上的标准图和屏幕上的实时图像往往对不上。我们做过一个实验让三位检验经验都在三年以上的员工独立对同100张图做判级结果一致性只有80%左右而且三个人各自前后两次判级的稳定性也只有85%。这意味着即使不考虑疲劳人工判读系统本身就存在15%以上的随机波动。这个数据拿到了管理层面前AI项目的立项阻力一下子就小多了。2.3 复杂IC的干扰模式真实图像远比教科书复杂教科书上的C-Scan图像干净得像是为教学设计的样例圆形封装、中心一个清晰的分层暗区。但产线上的真实图像不是这样。先进封装比如FC-BGA、SiP、2.5D/3D集成里的情况要复杂得多。芯片表面有铜柱、有钝化层、有不同材质的嵌入器件每一处结构都会产生自己的声学回波。芯片边缘的棱线、基板里的通孔阵列、塑封料中的填料颗粒都可能形成类似缺陷的图案。没有经验的人看这些图像会觉得满屏都是缺陷AI模型如果没有充分学习这些结构特征也会同样犯病。更头疼的是耦合问题。超声波检测需要用去离子水做耦合介质水流中的气泡如果附着在样品表面会形成强反射在图像里表现为一个暗色圆斑和真正的内部空洞非常像。声学图像的噪声来源很多判读系统首先要解决的是别被光学表象骗了。3. AI视觉的技术选型分割优先还是检测优先异常检测兜底3.1 任务定义从看图说话到圈出缺陷开始设计算法之前必须先明确一件事产线上到底需要AI输出什么是这张图NG/OK这么简单还是需要把缺陷区域标出来算面积、算位置、追踪批次大多数半导体客户不会满足于一个笼统的NG。他们验收的时候会问空洞率是多少分层面积占比有没有超标位置在不在Die Attach区域内所以我们的算法输出必须要带定位和面积信息这就把问题从图像分类提升到了语义分割或者目标检测的层面。具体取舍的时候我的倾向是能分割就分割不要用检测框糊弄。超声缺陷往往是形状不规则的区域一个矩形框框住整个分层区会把大量正常区域也圈进去后处理计算面积时会产生很大误差。而逐像素的分割mask可以直接精确统计缺陷面积、质心、最长径等形态学参数和客户的标准直接对齐。顺便说一句如果你们公司已经有成熟的YOLO系检测基础设施并且封装尺寸单一比如就是标准QFN缺陷形态相对规整那目标检测也完全够用。关键看缺陷形态的复杂程度和客户需要上报的参数粒度。3.2 模型架构选型轻量分割网络与迁移学习的取舍具体架构上我推荐从语义分割网络起步。U-Net还是DeepLabV3我在项目里两个都试过。U-Net天然适合这类任务它的编码器-解码器结构可以把全局语义信息和局部细节特征融合在一起对边缘模糊、形态多变的超声缺陷表现很稳定。DeepLabV3的空洞卷积系列给了更大的感受野对大尺寸分层区域的整体轮廓保持更好但在小缺陷细节上不如U-Net精细。最终我的选择是U-Net作为主力配合轻量的ResNet-18或者EfficientNet-B0做编码器这样模型参数量可以压到10MB以内推理速度有保障。另外一个经验是预训练权重不要盲目加载。ImageNet预训练对光学图像有效但超声图像的纹理特征和自然图像差异太大低频信号占比高、边缘锐度低、灰度分布非对称。在这个场景下ImageNet预训练权重的帮助有限有时候甚至因为浅层特征分布差异过大而拖慢收敛速度。我试过用随机初始化和ImageNet初始化各跑一轮实验最终验证集上的差距不到两个点但随机初始化反而在部分缺陷类别上更稳定。所以遇到域差异很大的图像任务先做一组小规模对比实验别默认预训练一定有效。3.3 为什么异常检测也值得做新缺陷的识别兜底有监督分割模型有一个天然缺陷它只能检测训练集里出现过的缺陷类型。产线上新工艺、新材料、新设备参数组合下冒出来的新缺陷形态模型完全没有见过会毫不客气地把它分类成正常。所以我在方案里加了一层无监督异常检测兜底用的方法是PatchCore。PatchCore的原理也很朴素用预训练特征提取器把训练集所有正常图像切块后的特征存成记忆库推理时计算新图像块特征与记忆库最近邻的距离距离大就说明这个区域是从未见过的异常。它不关心异常是什么类别只需要判断不对劲。超声图像里跑异常检测有一个特别大的好处正常IC的封装结构是有规律的芯片轮廓、基板走线、通孔位置的声学特征相对固定偏离这个规律的区域基本就是缺陷或工艺异常。PatchCore在这类数据上的AUROC普遍能做到0.95以上作为有监督模型的补充防线非常实用。逻辑是这样的有监督分割模型负责精确输出已知缺陷的面积和位置异常检测负责拦截未知形态的异常两条通道输出取并集任何一条触发告警就进复判队列。这样既保证了已知缺陷的量化精度又不会对新缺陷完全失明。3.4 可解释性让工程师和客户信任黑盒得给一个理由半导体产线的工程师普遍对AI持谨慎态度。你跑了一个模型过来说这张图NG他凭什么信你所以他需要一个理由。语义分割天然自带可解释性模型输出的mask直接覆盖在原始图像上工程师一眼就能看出AI圈出来的区域和人眼看到的缺陷区域是否吻合。这也是我坚持分割方案的原因之一单单输出一个概率值工程师很难判断模型是真的理解了缺陷还是靠背景特征蒙对了。在项目初期给管理层汇报时我会用Grad-CAM做热力图把模型判读的重要区域可视化出来。虽然Grad-CAM在分割模型上的空间分辨率比较粗糙但它能直观展示模型看到了什么才做出这个判断对建立信任很有帮助。真正进了稳定期这个环节通常可以省掉因为分割mask本身就是最好的解释。4. 数据是真正的主战场小样本、类别失衡与标注规范4.1 良品多、缺陷少数据分布天然不均衡做AI视觉项目行业里有一句话有多少标注就有多少精度。半导体超声检测场景尤其极端。一条产线跑一天能收集几千张超声图像听起来数据量不小。但缺陷样品永远是少数。大部分时间设备扫出来的都是正常品真正有价值的缺陷图像可能只有几十张。分层可能多一点空洞次之裂纹和键合异常更是稀有事件。这个分布和前车险场景里的正常行使vs事故几乎一模一样。面对这种类别极度不平衡的数据模型很容易偷懒学会把所有图像都判成正常就能拿到极高的准确率。所以训练指标里我只盯着召回率和精确率看准确率只是一个参考数字。具体处理方式有几种组合拳加权采样训练时让缺陷样本出现的概率远远高于它在数据集里的真实比例。Focal Loss把易分类样本的损失压低把难分类的缺陷样本的损失放大让训练重心向少数类倾斜。针对极端罕见的缺陷类别单靠loss调整还不够必须配合数据增强和仿真扩充后面细说。4.2 标注平台和判据对齐AI项目的成败往往在标注规范很多技术团队做这类项目时最大的坑不在模型而在标注。超声图像的标注比自然图像难得多。一张C-Scan图缺陷区域的边界到底画在哪里不同标注员的判断可以差出几个像素甚至几个方向。如果标注的判据本身就不统一模型学到的就是一套混沌的规律验证集上指标再好放到产线上也会露馅。我从这个项目总结出一条经验立项早期一定把产线的工艺工程师、质量工程师和算法工程师拉到同一张桌子上逐张过图像制定一版详细的标注规范。规范里至少要定义清楚哪些灰度范围、纹理形态算缺陷缺陷边界延伸到什么位置算结束靠近几何结构芯片边缘、基板棱线的信号变化算不算缺陷表面耦合不良造成的伪缺陷如何标识是否纳入训练标注工具方面我用过LabelMe和商用的CVAT。小规模打样用LabelMe够用但批量生产阶段CVAT的协作和多人审核流程更高效。另外一定要留出独立于训练集的测试集让多人交叉复核确保标注质量可控。4.3 数据增强与仿真用有限真实样本撬动足够训练集数据不够就增强但在超声图像上做增强需要动脑子。普通的平移、旋转、翻转这些几何增强自然要做但要有节制的做。旋转角度不要随意设IC封装通常有固定的方向性旋转90度的倍数最合理任意角度的旋转会造出真实产线不可能出现的图案。灰度增强也需要特别小心。超声图像的灰度分布和设备的增益设置、耦合条件直接挂钩不同批次的图像整体灰度可能偏移。适当加入对比度扰动和灰度抖动反而能提高模型对设备参数波动的鲁棒性。我用过随机亮度偏移、Gamma校正范围控制在5%以内效果比大幅扰动好得多。更强力的方式是仿真合成。利用超声成像的物理规律在正常图像上人工合成缺陷区域——把某个区域替换成模拟分层的灰暗色块加上合理的边缘模糊和噪声纹理。这个手段用来补充极端稀疏的缺陷类别很有效。我在项目里用正常的无缺陷C-Scan图像程序化生成了一万多张带人工合成裂纹和键合异常的图像模型在那两类缺陷上的召回率提升了十几个百分点。4.4 标注数量级参考和验收基线做了一段时间之后我手头积累了几个可以参考的数字基准给准备入场的同行一个量级概念训练数据量已知缺陷类别的分割mIoU产线可用性50张缺陷图0.65-0.70离线分析勉强可用产线不建议200张缺陷图0.80-0.85可以考虑小批量试运行500张缺陷图以上0.88-0.93单类缺陷可支撑产线主力判读这是在缺陷类别不超过五种、IC封装形态相对固定的前提下的经验值。如果封装种类多每类都需要单独积累数据或者至少要补充迁移学习的底数数据量需求会成倍上升。5. 产线实战从模型训练到设备集成的完整链路5.1 检测节拍与NRE指标几个毫秒级别的决策实验室里跑通模型只是一个开始。产线环境对AI系统的第一个要求是节拍超声扫描设备本身扫描一张图可能需要几秒甚至十几秒AI判读如果不能在扫描完成的间隙内给出结果就会成为瓶颈。我一般把目标定为单张图像推理时间压在100毫秒以内。U-Net在工控机上的实际推理时间取决于输入尺寸和硬件1080p级别的图像优化之后通常在60到200毫秒之间。为了兼容产线节拍我们有三个处理手段缩小输入尺寸在分辨率与精度之间找平衡点用TensorRT/ONNX Runtime做推理优化把推理任务和图像采集做成流水线并发处理扫描一结束结果几乎同步出来漏检率和误检率的目标我建议这样定关键缺陷分层、裂纹漏检率必须低于0.5%误检率初期可以放宽到5%以内然后通过后处理和人工复判逐步收敛。不要一上来就追求零误检那会把模型逼到所有图像都判NG的保守状态产线根本跑不动。5.2 软硬件部署工控机、推理框架与接口协议算法模型在笔记本上跑得好不代表在产线工控机上也能跑得好。部署环节有太多细坑。工控机的GPU选型上入门NVIDIA T4或者GeForce RTX 4060级别就够应付单路超声图像推理了。如果是多台扫描设备共用一台推理服务器再考虑升级到A2或者L4级别千万别一上来就堆昂贵的高端卡浪费算力。CPU和内存的配置要保证整机在长时间7乘24小时运行下稳定不宕机散热和工业环境防护比单纯性能更重要。推理框架方面TensorRT是NVIDIA平台上的首选推理速度比PyTorch原生态快一个数量级。导出Engine格式时要注意动态尺寸的设置超声图像的分辨率可能因为扫描范围不同而变化固定了输入尺寸后期会很痛苦。我用ONNX作为中间格式再从ONNX导出TensorRT这样训练框架和推理框架解耦后面换PyTorch或者TensorFlow都无所谓。和超声设备的接口对接是另一个容易踩坑的地方。老一点设备的副电脑或者运动控制模块制式不一有的提供TCP/IP协议有的只开放串口甚至有的只有屏幕而没有任何数据接口。这种情况就得做图像采集卡或者屏幕截图方案把设备屏幕上的图像抓下来再喂给AI。我在一个老设备上就是这么干的用HDMI采集盒把扫描软件的画面实时采集到工控机然后用图像识别自动裁剪出C-Scan图像区域虽然绕了一圈但总算是把整个产线流程串起来了。5.3 AI判不准时的兜底机制低置信度复判与人工介入任何一个AI系统在实际生产中都会遇到判不准的情况。超声图像的噪声大、缺陷形态复杂模型的置信度天然不会像光学检测那么稳定。所以我的方案里专门设计了一个三分类出口OK、NG、待复判。如何定义待复判我给分割模型加了一个不确定性阈值。当模型输出的缺陷概率恰好落在0.4到0.7这个区间而且缺陷区域的形态特征比如面积、边缘锐度明显偏离历史分布时这张图不进OK也不进NG而是进一个人工复判队列。产线检验员只需要专心处理这些AI拿不准的图像数量大概占总数的5%到10%工作效率压力大大缓解而且系统的整体漏检率有了显著改善。这个兜底机制的逻辑是我们要的不是AI完全替代人而是AI帮人过滤掉90%的重复劳动让人把精力集中到最难的10%上。产线的人对这套设计的接受度比对全自动判决高得多管理层的风控顾虑也小得多。5.4 持续优化与回归测试上线不是结束是开始AI系统的上线不是项目终点。半导体产线的工艺随时在变原材料批次在变设备状态在变模型必须跟着迭代。我为项目建了一套持续优化的流程。每天晚上产线运行结束后自动把当天图像的特征和模型输出的置信度统计生成一份日报如果发现某类缺陷的置信度分布开始偏移说明工艺或者材料有变化需要重新评估模型每两周做一次增量训练用新积累的标注数据微调模型但每次更新之前必须跑一遍固定的回归测试集确保历史性能没有回退。回归测试集要从最初的标注数据里专门留出一部分画地为牢不许任何人动。这是AI系统长期稳定运行的关键很多团队忽略了这一点模型越迭代越偏最后哪次更新把问题带崩了都查不回来。回头再看整个项目AI视觉解决半导体超声检测这个场景本质上是把老师傅脑子里那些只可意会的判读经验转化成可以量化、可以复制、可以持续优化的代码和模型。这个过程中最难的不是算法本身而是对成像物理的理解、对产线流程的尊重、对数据质量的较真。我在实际推进中最大的体会就是别急着跑模型先花一半的时间搞懂超声设备和工艺模型里的很多坑在前期就能避开。这个思路对任何想切入半导体AI质检的团队应该都适用。