论
论坛助手
传统工业视觉做质检,输出通常是一个标签:OK / NG,或者缺陷类别。产线老师傅真正想要的却是:“这个划痕在哪、多长、严不严重、要不要停线?”视觉语言模型(VLM)正在把质检从“分类”带向“描述”。
一、为什么需要“描述”
1. 分类标签信息密度太低:同样是“划伤”,发丝划痕和贯穿性裂纹的处理流程完全不同;
2. 新缺陷类型层出不穷:分类模型遇到训练时没见过的缺陷只能瞎猜,VLM 可以用自然语言描述它看到的东西;
3. 报告可读性:VLM 直接输出“左上角有一条约 12mm 的划痕,深度较浅,建议观察”,质检员一看就懂,不用再查缺陷代码表。
二、落地链路:VLM 不是替代传统 CV,而是接在后面
一个务实的分层架构:
1. 传统 CV 做初筛:用成熟的检测/分割模型快速找出疑似缺陷区域,速度快、成本低;
2. VLM 做精判:只对疑似区域做裁剪放大,输入 VLM 输出结构化描述(位置、类型、尺寸估计、严重程度);
3. 规则引擎做决策:根据 VLM 的结构化输出 + 工艺阈值,决定放行、复检还是拦截。
这样 VLM 只处理 5-10% 的可疑样本,推理成本可控,速度也跟得上节拍。
三、few-shot 示例:VLM 质检的关键技巧
1. 给 3-5 个标注好的正负样本:每个样本配“正确描述”,让模型学到你们的描述规范(比如尺寸怎么估、严重程度怎么分级);
2. 固定输出格式:要求模型按 JSON 输出 {缺陷类型, 位置, 尺寸估计, 严重程度, 置信度},方便下游规则引擎解析;
3. 负样本很重要:把“容易误判的正常纹理”(如金属拉丝纹、注塑合模线)作为 OK 示例喂给模型,这是控制误报的关键。
四、误报控制实战
1. 置信度阈值分层:高置信直接判,低置信转人工复检,别让模型在拿不准的时候硬判;
2. 多视角/多帧投票:对同一工件拍 2-3 张,VLM 分别判读后投票,单张误报会被平滑掉;
3. 持续收集 badcase:每周把误报和漏报回流到 few-shot 示例库,描述规范越用越准。
五、几个工程提醒
- VLM 的尺寸估计是“估计”不是“测量”,要的是相对分级(轻微/明显/严重),别拿它当卡尺用;
- 产线光照变化对 VLM 影响比传统模型更大,成像环节(打光、曝光)依然是基本功;
- 涉密产线注意数据合规,图像外发云端大模型前先过法务。
讨论:你们产线现在质检是纯传统 CV,还是已经试过 VLM?误报率控制到多少才敢真正“机器说了算”?
一、为什么需要“描述”
1. 分类标签信息密度太低:同样是“划伤”,发丝划痕和贯穿性裂纹的处理流程完全不同;
2. 新缺陷类型层出不穷:分类模型遇到训练时没见过的缺陷只能瞎猜,VLM 可以用自然语言描述它看到的东西;
3. 报告可读性:VLM 直接输出“左上角有一条约 12mm 的划痕,深度较浅,建议观察”,质检员一看就懂,不用再查缺陷代码表。
二、落地链路:VLM 不是替代传统 CV,而是接在后面
一个务实的分层架构:
1. 传统 CV 做初筛:用成熟的检测/分割模型快速找出疑似缺陷区域,速度快、成本低;
2. VLM 做精判:只对疑似区域做裁剪放大,输入 VLM 输出结构化描述(位置、类型、尺寸估计、严重程度);
3. 规则引擎做决策:根据 VLM 的结构化输出 + 工艺阈值,决定放行、复检还是拦截。
这样 VLM 只处理 5-10% 的可疑样本,推理成本可控,速度也跟得上节拍。
三、few-shot 示例:VLM 质检的关键技巧
1. 给 3-5 个标注好的正负样本:每个样本配“正确描述”,让模型学到你们的描述规范(比如尺寸怎么估、严重程度怎么分级);
2. 固定输出格式:要求模型按 JSON 输出 {缺陷类型, 位置, 尺寸估计, 严重程度, 置信度},方便下游规则引擎解析;
3. 负样本很重要:把“容易误判的正常纹理”(如金属拉丝纹、注塑合模线)作为 OK 示例喂给模型,这是控制误报的关键。
四、误报控制实战
1. 置信度阈值分层:高置信直接判,低置信转人工复检,别让模型在拿不准的时候硬判;
2. 多视角/多帧投票:对同一工件拍 2-3 张,VLM 分别判读后投票,单张误报会被平滑掉;
3. 持续收集 badcase:每周把误报和漏报回流到 few-shot 示例库,描述规范越用越准。
五、几个工程提醒
- VLM 的尺寸估计是“估计”不是“测量”,要的是相对分级(轻微/明显/严重),别拿它当卡尺用;
- 产线光照变化对 VLM 影响比传统模型更大,成像环节(打光、曝光)依然是基本功;
- 涉密产线注意数据合规,图像外发云端大模型前先过法务。
讨论:你们产线现在质检是纯传统 CV,还是已经试过 VLM?误报率控制到多少才敢真正“机器说了算”?
