LINGBANG · VisionAgent 胶囊外观缺陷检测 · 少样本分割 · 阅读约 6 分钟 EN
现场落地实录

胶囊外观
缺陷检测

从瘪头、凹陷、划痕暗纹到麻点气泡,再到背光下的填充不足——把「哪一粒不合格」变成可分割、可判定、可拦截的视觉规则。一粒瘪头、一处缺料,都要在下线前挑出来,合格的不误杀。

瘪头 / 凹陷 划痕 / 暗纹 麻点 / 气泡 背光填充不足 少样本分割
胶囊头部凹陷分割掩膜
现场实拍
胶囊外观 · AI 分割掩膜 · 瘪头 / 凹陷标注

胶囊外观检测,难的不是拍清一粒胶囊,而是在高速下线流里,把每一粒的瘪头、凹陷、划痕、麻点,以及背光下的填充不足都稳定挑出来——OK 的不误杀、NG 的不漏放。

本文依据仁和药业胶囊检测的真实分割效果图,按被检对象 → 缺陷家族 → 成像打光 → 算子链路 / 判定编排 / 参数字典 → 运行看板展开。分割掩膜的配色与现场一致:品红标瘪头 / 凹陷橙色标划痕 / 暗纹青色标背光下的胶体填充段。界面截图按产品真实控件与文案样式绘制。

01

被检对象:一粒胶囊要看哪些面

被检为灰色半透明硬胶囊,帽 / 体两段套合。难点在于:胶囊是曲面、半透光、易滚动的小件,缺陷小、对比弱,且合格件之间也存在自然纹理与反光差异。系统用语义分割掩膜把缺陷区域从胶体上勾出来,而不是只画一个框——这样瘪头的边界、缺料的形状都能量化。

品红 · 瘪头 / 凹陷 橙色 · 划痕 / 暗纹 青色 · 背光胶体填充段
胶囊头部瘪头凹陷

▲ 缺陷件:帽端两处凹陷,品红掩膜勾出瘪头

合格胶囊

▲ 合格件:帽体套合完整、表面光洁,无掩膜

02

缺陷家族:五类要挑出来的 NG

按现场样本与分割结果,胶囊外观 NG 归为五族,与后面的缺陷字典一一对应:

D1瘪头 / 凹陷
D2划痕 / 暗纹
D3麻点 / 气泡
D4填充不足(背光)
D5合格 OK
头部瘪头带气泡

▲ D1 瘪头 + D3 气泡:品红勾头部凹陷,内含亮点气泡

胶囊表面划痕暗纹

▲ D2 划痕 / 暗纹:橙色勾出体表细长暗纹

胶囊多处缺陷

▲ D2 + D1 混合:多处划痕与凹陷共存于一粒

缺料比表面瑕疵更致命

瘪头、划痕影响外观与密封;而填充不足 / 空心直接关系剂量,正面光很难看穿,必须靠背光透射把胶体填充段亮出来再判。两类缺陷需要两种光。

03

成像与打光:正面漫射 + 背光透射双工位

一种光看不全所有缺陷。方案用两个成像工位分工:

正面漫射光
均匀无影照明打在胶囊表面,压反光、抬对比,专门抓瘪头、凹陷、划痕、暗纹、麻点等表面缺陷。
背光透射
胶囊置于灯板之上逆光成像,胶体填充段透光呈亮区,缺料 / 空心 / 填充不足处出现暗缺口,一眼可分。
采样口径
先把两工位的光型、曝光与放大倍率定住,再谈模型——同一粒在两种光下各出一张图,分别送对应分割算子。
背光透射单粒胶囊

▲ 背光工位:青色勾出透光的胶体填充段

背光透射填充不足

▲ 背光工位:分割段出现暗缺口 = 填充不足

先定光、再定模型——把不可做的(正面看穿填充)用换光解决,而不是硬调算法。
04

工作流:少样本分割算子链

FLOW

拖拉拽搭出检测链路

算子库 · 零代码

新建项目「胶囊外观检测」,从左侧算子库拖出并连接(与真实画布一致):

工业相机 图像预处理 少样本分割 缺陷探测 判级汇总
工业相机
正面 / 背光双通道分别取图,覆盖单粒或多粒视野;支持多通道触发。
图像预处理
去反光、匀光、增强,稳定半透明胶体的低反差纹理。
少样本分割
用少量标注样本即可分出瘪头 / 划痕 / 麻点 / 填充段,替代逐类调参的传统 AOI。
缺陷探测
把掩膜换算成面积 / 长度 / 缺口比例等度量,判断是否越过阈值。
判级汇总
多缺陷取最严,输出该粒 OK / NG 与 NG 类型,驱动剔除。
VisionAgent · 张量流画布 — 胶囊外观检测已连接 5 算子
算子库
工业相机
图像预处理
少样本分割
缺陷探测
判级汇总
数据归档
CAM
工业相机正面/背光
PRE
图像预处理匀光增强
SEG
少样本分割瘪头/划痕/填充
DET
缺陷探测面积/缺口比
JDG
判级汇总OK / NG

▲ 张量流画布:相机 → 预处理 → 少样本分割 → 缺陷探测 → 判级汇总(真实操作页样式)

工艺人员看得懂流程图,加一类新缺陷只需补样本,不必改代码。
05

判定编排:把掩膜变成缺陷事件

EVENT

把「头部凹陷」变成标准判定

原语库 · 面积阈值

打开「GPU事件编排器」,顶部显示「正在配置缺陷:瘪头 / 凹陷」。从原语库拖入「区域面积 > 阈值」:

  • 右侧缺陷列表:D1 瘪头/凹陷、D2 划痕/暗纹、D3 麻点/气泡、D4 填充不足、D5 色差……未配齐的显示「待配置」;
  • 填充不足用「背光分割缺口比 > 阈值」原语;划痕用「细长区域长度 / 长宽比」原语;
  • 每类缺陷绑定面积 / 长度 / 数量阈值,越线即触发对应 NG,驱动剔除气阀。
GPU事件编排器 — 正在配置缺陷:瘪头 / 凹陷原语 · 区域面积
原语库
区域面积 > 阈值
缺口比 > 阈值
长宽比 / 长度
灰度对比
数量 = N
缺陷判定列表
D1瘪头 / 凹陷配置中…
D2划痕 / 暗纹已配置
D3麻点 / 气泡已配置
D4填充不足(背光)已配置
D5色差 / 脏污待配置

▲ GPU事件编排器:配置缺陷「瘪头 / 凹陷」= 原语「区域面积 > 阈值」(真实操作页样式)

阈值与感知解耦——收严 / 放宽判级只调阈值,不必重训模型。
06

相机与页面参数配置

PARAMS

缺陷字典 / 显示参数

参数配置 · 页面参数

打开「参数配置」,切换到页面参数页签。左侧「缺陷统计」与缺陷家族对齐,便于按 NG 类型出批统计:

  • 表列:缺陷类型(NG0…NG4)、缺陷名称(瘪头凹陷、划痕暗纹、麻点气泡、填充不足、色差脏污)、数量
  • 可「添加 / 删除缺陷类型」;右侧即时编辑名称与阈值,点「保存参数」整体生效;
  • 检测结果显示:显示涂抹开、显示缺陷名称开、字体大小 40、线宽 2——与现场分割掩膜观感一致;
  • 相机侧在张量流「工业相机」节点配置正面 / 背光通道、曝光与 ROI,保证单粒全框入镜。
参数配置 · 页面参数保存参数
缺陷类型缺陷名称数量
NG0瘪头凹陷3
NG1划痕暗纹2
NG2麻点气泡1
NG3填充不足2
NG4色差脏污0
显示涂抹
显示缺陷名称
字体大小40
线宽2
相机通道正面 + 背光
ROI 区域单粒全框

▲ 参数配置 · 页面参数:缺陷字典与检测显示设置(真实操作页样式)

缺陷名、NG 码、阈值与叠加显示一次配好,运行看板与批报表共用同一套字典。
07

上线运行:实时判级看板

RUN

监控与结论同一屏

边缘运行
  • 左侧:实时画面 + 分割掩膜,标出当前粒的瘪头 / 划痕 / 填充段;
  • 右侧:五类缺陷判定清单——瘪头凹陷、划痕暗纹、麻点气泡、填充不足、色差脏污;命中项标红;
  • 结论:任一类越阈即判 NG 并按类计数、驱动剔除;全部未命中才放行。
运行监控 — Camera 01 · 胶囊外观检测工位边缘运行中
运行监控实时画面
实时识别 · 背光填充判定
D3麻点 / 气泡 · 未命中
D2划痕 / 暗纹 · 未命中
!D1瘪头 / 凹陷 · 命中
!D4填充不足 · 命中
D5色差 / 脏污 · 未命中
判定 NG · 命中 D1 瘪头 + D4 填充不足 → 剔除

▲ 运行监控:左实景分割,右五类缺陷判定同步出结论

配置、识别、判级与剔除结论集中在同一界面,现场可当天验收。
08

对照表与项目体会

环节传统人工挑拣 / 传统 AOIVisionAgent 胶囊外观检测
看表面灯下目检,易疲劳漏检少样本分割实时勾出瘪头 / 划痕 / 麻点
看填充正面看不穿,靠称重抽检背光透射分割缺口比逐粒判
定标准凭老师傅经验,人各有别面积 / 长度 / 缺口比阈值统一判级
换品种传统 AOI 逐类重调参补少量样本即可,阈值与感知解耦
留记录纸质抽检事后补每粒结果与缺陷类型自动留痕出报表

贯穿始终的四个问题:系统看什么、什么叫合格、什么情况剔除、结果怎样进报表

写在最后

胶囊外观检测难的不是拍清某一粒,而是把成像取图 → 少样本分割 → 缺陷度量 → 判级剔除 → 批次留痕串成现场愿意用、质量经得起复核的链路。

一句话:换光解决看不看得见,少样本分割解决认不认得出,阈值原语解决判不判得准——零代码把胶囊挑拣从「靠人盯」变成「系统逐粒判级」。
B
Blue
工业视觉算法工程师 · 本文作者

计算机视觉方向,长期做光学成像与缺陷分割的工程落地。习惯先把打光与采样口径定住,再谈模型;近年主要用少样本视觉大模型替代逐类调参的传统 AOI,参与过 3C 结构件、家电五金、锂电与汽车零部件的产线检测与 SOP 过程监控部署,也负责现场标定、配方管理与上线后的持续迭代。