文章来源说明 :本文由 ZeroOne AI 整理发布,官网与 CSDN 双端同步首发,原文见 www.zeroone-ai.com。
一、项目背景
在药品生产过程中,铝塑板是非常常见的一种药品包装形式。一板药品通常由多个泡罩组成,每个泡罩内部对应一颗药品。生产过程中可能出现:
- 药粒缺失
- 药粒破损
- 药粒位置异常
- 药粒数量不足
- 药粒颜色异常
- 泡罩异常
- 铝塑板表面反光
- 异物进入包装
- 包装位置偏移
传统人工检测主要依靠操作人员目视检查。这种方式存在几个问题:
- 人工长时间工作容易疲劳
- 高速生产线无法保证检测效率
- 对轻微颜色差异的判断容易受到环境影响
- 缺粒、破损等缺陷容易漏检
- 无法稳定记录每一板药品的检测结果
因此,可以使用机器视觉 + 人工智能算法建立自动化药品铝塑板检测系统。
本方案采用:500万像素彩色工业相机 + 穹顶漫射光 + YOLOv26 + Lab颜色分析 + 颗粒位置模板检测,实现药品铝塑板的自动检测。
二、为什么选择彩色工业相机?
本项目最开始需要解决的是一个非常重要的问题:检测药品铝塑板,到底应该使用黑白相机还是彩色相机?
如果只检测:有无药粒、药粒位置、药粒轮廓、泡罩破损,那么黑白工业相机已经能够满足要求。
但是本项目除了检测药粒完整度,还需要检测:药粒颜色是否正确。这就使得彩色相机具有明显优势。
彩色相机可以同时获得 R、G、B 三个颜色通道。进一步可以转换到:
RGB
↓
HSV
↓
Lab
从而建立药粒的颜色特征。
因此,本方案选择:500万像素彩色工业相机。
三、为什么选择500万像素?
工业视觉系统并不是简单地认为:相机像素越高越好。真正需要计算的是:一个药粒在图像中到底有多少像素。
例如假设铝塑板视野宽度为 200 mm,500万像素相机横向分辨率约 2448 pixel,那么理论物方分辨率约为:
200 / 2448
≈ 0.082 mm/pixel
如果一个药粒直径约 10 mm,那么药粒直径大约可以获得:
10 / 0.082
≈ 122 pixel
这样的像素数量已经能够比较稳定地进行:颗粒定位、面积分析、轮廓分析、颜色分析、缺粒检测。
因此,对于中小尺寸铝塑板,500万像素彩色工业相机是一个比较均衡的选择。
四、为什么使用全局快门?
药品生产线通常不是静止拍照,而是铝塑板在输送带上高速运动、相机拍照。
如果使用滚动快门,在高速运动情况下可能出现图像变形。例如:
实际药粒:
○
滚动快门:
◇
因此工业视觉检测建议选择:全局快门工业相机。让整个图像尽可能在同一个时间窗口完成曝光,从而降低运动造成的几何变形。
五、为什么使用穹顶漫射光?
药品铝塑板检测还有一个非常棘手的问题:反光。铝塑包装具有明显的金属反射特性。
如果使用普通环形光,很容易产生高亮区域 → 局部过曝 → 药粒颜色发生变化 → 颜色检测不稳定。尤其是进行颜色判断时,光源变化会直接影响 RGB 值。
因此,本方案使用:穹顶漫射光。穹顶光可以从多个方向对目标进行漫射照明,使光线更加均匀。基本结构:
彩色工业相机
│
↓
┌──────────────┐
│ 穹顶漫射光 │
│ │
└──────┬───────┘
↓
┌──────────────┐
│ 铝塑板 │
└──────────────┘
这样可以有效改善:金属反光、药粒局部高光、阴影、光照不均、颜色漂移。
如果现场仍然存在明显镜面反射,可以进一步增加偏振片,形成:
光源
↓
偏振片
↓
铝塑板
↓
偏振片
↓
相机
进一步降低镜面反射对颜色检测的影响。
六、整体机器视觉系统架构
整个系统可以设计为:
药品铝塑板
│
↓
┌─────────────┐
│ 穹顶漫射光源 │
└──────┬──────┘
↓
500万彩色工业相机
│
↓
图像采集
│
┌─────┴─────┐
↓ ↓
YOLOv26 颜色分析
↓ ↓
药粒定位/缺陷 RGB → Lab
↓ ↓
└─────┬─────┘
↓
颗粒级结果
│
┌─────┼─────┬─────┐
↓ ↓ ↓ ↓
OK 缺粒 颜色异常 破损
│
┌─────┴─────┐
↓ ↓
整板判定
OK / NG
七、YOLOv26负责什么?
这里有一个重要的算法设计思想:不要让 YOLOv26 承担所有检测任务。
YOLOv26 更加适合解决:目标在哪里、是什么目标、属于什么缺陷。
因此可以让 YOLOv26 负责:药粒定位、药粒缺失、药粒破损、异常目标、异物。例如建立以下类别:
normal
missing
damaged
foreign_object
YOLOv26 输出 Class、Confidence、X、Y、W、H,例如:
normal 0.98
normal 0.97
missing 0.99
normal 0.96
damaged 0.94
这样就能够知道每一个药粒的位置和状态。
八、为什么颜色检测不完全交给YOLO?
如果直接训练 normal、color_error 两个类别,理论上也能够完成颜色检测。
但是颜色检测与普通目标检测存在明显区别。例如同一种药品正常颜色 RGB = (220,180,120),由于光源变化、相机曝光变化、白平衡、反光、环境温度、表面反射,实际拍摄可能变成 (215,176,117) 或者 (228,185,125)。
因此颜色检测最好建立一个独立的颜色评价体系。推荐:YOLOv26 负责定位,Lab 负责颜色评价。
九、RGB转Lab进行药粒颜色检测
得到药粒 ROI 之后,进行 RGB → Lab 转换。
Lab 颜色空间可以表示为 L*、a*、b*,其中:
- L* → 亮度
- a* → 红/绿方向
- b* → 黄/蓝方向
例如建立正常药粒颜色模型:
L* = 72
a* = 8
b* = 31
当前检测药粒:
L* = 70
a* = 12
b* = 20
两者存在明显颜色差异。进一步可以计算 ΔE 颜色距离:
- 当 ΔE < Threshold,判定:颜色正常
- 当 ΔE > Threshold,判定:颜色异常
最终形成:
YOLOv26
↓
获取药粒ROI
↓
RGB → Lab
↓
计算ΔE
↓
颜色是否超限
十、药粒完整度检测
仅仅判断"有没有药粒"还不够。实际生产过程中可能出现正常药粒,以及破损药粒、缺角药粒。因此可以结合 YOLOv26 和传统视觉进行二次分析。
YOLO定位
↓
获得药粒ROI
↓
二值化
↓
轮廓提取
↓
面积计算
↓
圆度/完整度
↓
最终判断
定义:完整度 = 实际有效面积 / 标准药粒面积。例如:
完整度 ≥ 95%
↓
OK
完整度 < 95% ↓ NG
实际阈值需要根据药品形状和工艺标准进行标定。
十一、药粒位置也应该参与判断
药品铝塑板具有固定排列结构。例如:
○ ○ ○ ○ ○
○ ○ ○ ○ ○
○ ○ ○ ○ ○
那么可以建立一个药粒位置模板:
P1 P2 P3 P4 P5
P6 P7 P8 P9 P10
YOLO 检测完成之后,把检测结果与模板进行匹配。如果 P1 → OK、P2 → OK、P3 → OK、P4 → Missing、P5 → OK,直接可以判断:第 4 颗药粒缺失。
这种方法比单纯统计 YOLO 检测框数量更加可靠。
十二、最终采用颗粒级检测
最终系统不应该只输出 NG,而应该输出详细结果:
药品铝塑板检测结果
总颗粒:20
正常:18
缺粒:1
破损:0
颜色异常:1
最终结果:NG
甚至可以进一步输出位置:
P01 OK
P02 OK
P03 OK
P04 Missing
P05 OK
P06 OK
...
P18 Color Error
...
这样可以直接与 MES 系统连接。
十三、与MES系统结合
在实际工业生产中,视觉检测只是整个生产系统的一部分。可以把检测结果上传到 MES:
视觉检测系统
↓
检测结果
↓
MES
↓
生产批次
↓
产品序列号
↓
检测记录
例如:
Batch: 20260905-001
Product: XXXXX
Machine: BL-01
Total: 20 Missing: 1 ColorError: 1 Damaged: 0
Result: NG
这样以后出现质量问题,可以通过批次追溯:产品 → 包装批次 → 生产设备 → 视觉检测结果 → 缺陷位置 → 生产时间,形成完整的药品包装质量追溯体系。
十四、推荐的硬件配置
针对中小型药品铝塑板检测,可以优先考虑以下配置:
- 相机:500万像素彩色工业相机
- 快门:全局快门
- 接口:GigE / USB3
- 镜头:低畸变工业镜头
- 光源:穹顶漫射光
- 光源颜色:白光
- 偏振:反光严重时增加
- 算法:YOLOv26
- 颜色算法:RGB → Lab
- 颜色评价:ΔE
- 定位算法:YOLO + 模板
- 完整度:面积/轮廓 + AI
- 输出:OK / NG
- 数据:MES追溯
十五、软件算法流程
整个软件流程可以设计为:
Camera
↓
Image Acquisition
↓
White Balance
↓
Exposure Correction
↓
YOLOv26 Inference
↓
Drug ROI
↓
Position Matching
↓
Completeness Analysis
↓
RGB → Lab
↓
ΔE Color Analysis
↓
Defect Classification
↓
OK / NG
↓
MES
如果采用 C# 进行工业软件开发,还可以设计:
相机SDK
↓
C#图像采集
↓
OpenCV
↓
YOLOv26 / OpenVINO
↓
Lab颜色算法
↓
检测结果
↓
PLC
↓
剔除机构
最终形成 AI视觉检测 + PLC控制 + MES数据追溯 的一体化系统。
十六、为什么推荐YOLOv26?
YOLO 系列非常适合工业视觉中的目标定位与缺陷识别。对于本项目,YOLOv26 主要解决:药粒在哪里?以及:这个药粒有没有异常?
- 传统视觉负责:到底有多完整?
- 颜色算法负责:颜色偏差到底有多大?
因此整个系统不是一个 AI 模型解决所有问题,而是 AI + 传统机器视觉 + 颜色科学联合检测。这种架构更加适合工业质量检测。
十七、最终方案总结
本项目最终推荐:
500万彩色工业相机
│
↓
穹顶漫射光源
│
↓
铝塑板药品
│
↓
图像采集
│
┌──────┴──────┐
↓ ↓
YOLOv26 Lab颜色
↓ ↓
药粒定位 ΔE
↓ ↓
缺粒/破损 颜色异常
└──────┬──────┘
↓
模板匹配
↓
颗粒级判定
↓
OK / NG
↓
PLC剔除
↓
MES追溯
最终实现:药粒有无检测 + 药粒完整度检测 + 药粒颜色检测 + 缺粒检测 + 破损检测 + 异物检测 + 产品追溯。
十八、结语
药品铝塑板视觉检测并不是简单地安装一台相机,然后运行 YOLO 模型。真正决定系统稳定性的关键因素包括:相机、镜头、光源、曝光、白平衡、图像分辨率、目标像素数量、AI模型以及颜色算法。
本方案选择 500万像素彩色工业相机 + 穹顶漫射光,首先保证图像质量;再使用 YOLOv26 完成药粒定位、缺粒和破损检测;最后通过 Lab + ΔE 完成药粒颜色检测。
这种"AI目标检测 + 传统视觉 + 颜色分析"的组合,可以避免单纯依赖 YOLO 模型,在药品铝塑板质量检测中建立更加稳定、可解释、可追溯的工业视觉检测系统。