具身智能制造--机器视觉,风靡现代技术应用。立足最简的德创VisionPlus软件工具,借力在线龙虾机器人工具--骡子快跑指引,零起点、零编码,实现了泡罩药片的流水线检测。涉及:机器视觉系统的构造和工业相机镜头的选择、图像的采集/显示与存储、图像处理[包括灰度/几何变换、增强(反差·滤波·平滑·锐化) 、分割、形态学(腐蚀/膨胀/开运算/闭运算)、特征提取与识别分类]。

1 方案规划与系统架构

1.1 需求分析

  1. 构造机器视觉系统,选择工业相机、镜头和合适机器视觉工具软件
  2. 实现数字图像的采集/显示与存储
  3. 完成数字图像处理,包括灰度/几何变换、增强(反差·滤波·平滑·锐化) 、分割、形态学(腐蚀/膨胀/开运算/闭运算)、特征提取与识别分类
  4. 选择实训对象:铝塑泡罩板20粒药片

1.2 借力在线龙虾机器人工具--骡子快跑

咨询提示词:基于苏州德创DCCK Vision Plus和“面阵GIE相机或已有图像库”,给出一个综合性的机器视觉图像处理项目案例--检识铝塑泡罩板20粒药片,涉及的环节,包括图像增强[反差、滤波]、分割、特征提取、识别分类、类型变换、灰度变换、平滑、锐化、形态学处理[腐蚀与膨胀、开运算与闭运算]、几何变换[基础变换、仿射、投影],说明相应过程的完整操作、设置、运行效果展示。进一步给出该项目案例的实现介绍及其过程描述,包括关键环节操作与运行的图示。

图1 在线龙虾机器人工具--骡子快跑应用截图

1.3 硬件工位与软件流程图

GIE 相机 + 环形光 + PLC

图2 药片检测的硬件工位示意

表1 药片检测的硬件与软件清单列表

类别

名称/型号

关键参数

相机

GigE 面阵工业相机 500 万像素

1/1.8 吋 CMOS,Mono+Color 双模

镜头

定焦工业镜头

f = 8 mm,WD = 300 mm

光源

环形白光 + 侧向低角度红光

电流可调,频闪同步

控制器

工控机 + PLC

i5-12400 / 16 GB,Mitsubishi FX5U

软件

DCCK Vision Plus

流程算子 + C# 二次开发

图3 药片检测的DCCK Vision Plus算子流程图

2 关键环节设计实现

2.1 灰度变换--分段线性拉伸

图4 药片检测的灰度变换前后对比图

操作步骤 & 参数设置

  1. 在流程中拖入 GrayTransform 算子
  2. 选择 Piecewise Linear 模式
  3. 设定映射点:(30,0) → (200,255)
  4. 同步开启 Gamma=0.7 强化暗部
  5. 预览窗口切换 Before/After 对比

关键参数

  1. Mode:PiecewiseLinear
  2. Input Range:30~200
  3. Output Range:0~255
  4. Gamma:0.7

效果指标:灰度均值 180→128,标准差 12→38,对比度显著提升

2.2 反差增强--直方图均衡与自动电平

Before · 低反差 -- After · 自动电平

图5 药片检测的反差增强前后对比图

操作步骤 & 参数设置

  1. 拖入 AutoLevel,勾选按 1%/99% 分位裁剪
  2. 对比开启/关闭 HistEqualize 的效果
  3. 在直方图控件中读取峰谷位置
  4. 记录最优参数写入配方

关键参数

  1. Low Cut:1%
  2. High Cut:99%
  3. Mode:Auto
  4. Backup:HistEq

效果指标:直方图从窄峰(σ=12) 展宽至 σ=38,暗部细节还原

2.3 滤波与平滑--高斯 / 中值 / 双边

Before · 含噪 -- After · 去噪

图6 药片检测的滤波与平滑前后对比图

操作步骤 & 参数设置

  1. 拖入 GaussianBlur,Kernel=5×5,σ=1.2
  2. 串联 MedianFilter 3×3 抑制盐胡椒噪声
  3. 对保边区域启用 BilateralFilter
  4. 关闭平滑后观察 Blob 数量抖动,形成对照

关键参数

Gauss:K5×5

Σ:1.2

Median:3×3

Bilateral:d=7

效果指标:SNR 22 dB → 34 dB,边缘保真度良好

2.4 锐化Laplacian & USM

Before · 模糊 -- After · 锐化

图7 药片检测的锐化处理前后对比图

操作步骤 & 参数设置

  1. 拖入 UnsharpMask,Amount=1.5,Radius=2
  2. 阈值 5,避免噪声被放大
  3. 备选 Laplacian 卷积核用于对比
  4. 重点观察药片微裂纹处的响应

关键参数

  1. Amount:1.5
  2. Radius:2
  3. Threshold:5
  4. Kernel:3×3

效果指标:微裂纹响应幅值 +40%,虚警率下降。

2.5 分割--Otsu 阈值 + Canny 边缘

Before · 灰度图 After · 二值 mask

图8 药片检测的分割处理前后对比图

操作步骤 & 参数设置

  1. 拖入 AutoThreshold(Otsu),获取 T≈128
  2. 并联 Canny,Low=40,High=120 生成边缘
  3. 对疑似异物执行 RegionGrow
  4. 输出 20 个候选连通域

关键参数

  1. Otsu T:≈128
  2. Canny L/H:40 / 120
  3. Grow Tol:15
  4. Blob:≥500 px

效果指标:药片提取召回率 99.8%,漏检≤0.02%

2.6 形态学--腐蚀 / 膨胀 / 开 / 闭

Before · 初始二值 After · 净化后

图9 药片检测的形态处理前后对比图

操作步骤 & 参数设置

  1. 拖入 Erode 3×3:断开粘连
  2. 再拖入 Dilate 3×3:恢复轮廓
  3. 组合为 Open 5×5 去除小噪点
  4. 串联 Close 7×7 填补反光空洞
  5. 尾部接 FillHole

关键参数

  1. Erode:3×3 ×1
  2. Dilate:3×3 ×1
  3. Open:5×5
  4. Close:7×7

效果指标:连通域数从 23→20,稳定对应 20 粒药片

2.7 几何变换--基础 / 仿射 / 投影

Before · 斜视图 After · 正射图

图10 药片检测的几何变换前后对比图

操作步骤 & 参数设置

  1. 旋转90°:使产品长边与 X 轴一致
  2. 3点求解Affine 2×3矩阵,纠偏平移/旋转
  3. 4点求解Perspective 3×3单应矩阵
  4. 输出正射视图1600×800,像素当量0.05 mm/px

关键参数

  1. Rot:90°
  2. Affine:3 pts
  3. Perspective:4 pts
  4. Res:0.05 mm/px

效果指标:偏移 ±3 mm、旋转 ±5° 板对齐至像素级

2.8 特征提取与识别分类

Before · 掩码 After · 分类结果

图11 药片检测的特征与识别处理前后对比图

操作步骤 & 参数设置

  1. 启用 BlobAnalysis 输出面积/周长/圆度/HSV
  2. 规则分类:Circularity > 0.92 判 OK
  3. 调用 ShapeMatch,Score ≥ 0.85 确认方向
  4. 启用 DL_Classify ResNet18 三色分类
  5. 通过 TCP 上报到 PLC/MES

关键参数

  1. Circ :≥0.92
  2. Area:4800±200
  3. ShapeMinScore:0.85
  4. DL Classes:White/Yellow/Pink

效果指标:分类准确率 99.6%,节拍 78 ms/板

3 实操过程记录

阶段一 · 熟悉环境:建立工程与相机联调

  • 新建工程 PTP_Detect.dcpj
  • 相机 IP 192.168.1.10 联通
  • 调节曝光/增益,输出稳定图像

阶段二 · 预处理:灰度 / 反差 / 滤波 / 锐化

  • Bayer→BGR→Gray 类型链
  • AutoLevel + Gamma 0.7
  • Gaussian 5×5 + USM r=2

阶段三 · 分割形态:Otsu → 开闭 → Blob

  • Otsu 自适应阈值
  • Open 5×5 → Close 7×7
  • Blob 数量 = 20 稳定

阶段四 · 识别输出:规则+DL 分类 · TCP 上报

  • 圆度阈值 0.92
  • 色相分类 白/黄/粉
  • PLC D2000-D2020 写入

4 运行效果与数据对比

图12 药片检测的各环节耗时占比图

图13 药片检测的预处理前后SNR/对比度图

图14 药片检测的分类混淆矩阵图

图15 药片检测的参数扫描--Otsu 阈值 vs 检出率图

图16 药片检测的10组实训小组指标对比图

5 检测展示与实操总结

图17 泡罩板检测结果可视化展示图

通讯 JSON 输出

// TCP → PLC / MES
{
  "PanelID": "P20260802-0137",
  "Total": 20,
  "OK": 18,
  "NG": [
    { "Idx": 7,  "Type": "Broken",  "XY": [45.2,12.6] },
    { "Idx": 14, "Type": "Missing", "XY": [96.1,28.4] }
  ],
  "Color": { "White":10, "Yellow":6, "Pink":3 },
  "Cycle_ms": 78
}

实操小结与反思

收获

  1. 掌握 DCCK Vision Plus 算子拖拽建流程的工程范式
  2. 理解灰度/几何/形态/滤波 等算子的先后次序对结果的耦合影响
  3. 学会以"参数扫描 + 混淆矩阵"评价算法鲁棒性
  4. 熟悉 GigE 相机与 PLC/MES 的 TCP 集成方式

改进方向

  1. 光源反光造成过杀 → 增加偏振片或频闪同步
  2. 细裂纹漏检 → 引入频域滤波 + U-Net 分割
  3. 色差判别边界模糊 → 扩充 DL 训练集并做 HSV 色卡校正
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐