利用视觉技术自动检查食品罐 - ADBRO CONTROLS LTD.
食品 | 包装和物流 | 匹配-Matching基于视觉的检测系统确保食品罐符合严格的质量控制要求。
食品罐在装运前必须接受检查,确保盖子上印有保质期代码、贴有正确的标签并且有防破坏密封。
过去,食品罐采用人工检查方式,这个过程耗时且昂贵,还容易出现人为错误。为了降低人工检查的成本并提高效率,Aarhuskarlshamn(AAK;英国朗科恩;www.aak.com)请 Adbro Controls 开发一套基于视觉的自动化系统,专门用于检查其产品。
系统在软件控制下重新配置后,能够检查不同形状和大小的装有蛋黄酱、芥末和沙拉酱等食品的罐子。
在操作中,装有特定类型食品的罐子由一根 Bosch Rexroth(英国圣尼奥特;www.boschrexroth.co.uk)传送带以 0.5 米/秒的速率送入视觉系统。进入系统时,触发一台 IFM Electronics(英国汉普顿;www.ifm.com)07P200 07P-DPKG 光反射传感器。然后,使用传送带上安装的一台 SICK(英国圣奥尔本斯;www.sick.com)DFS60 编码器跟踪罐子的位置,直到其到达系统内的最佳位置。在该处,会触发五台相机,以采集罐子外表的 360° 视图及其盖子的图像(图 1)。
五台 BFLY-PGE-13E4C Blackfly 彩色相机中有四台来自 Point Grey(加拿大不列颠哥伦比亚省里士满;www.ptgrey.com),配有 6 毫米焦距 CS 安装镜头,安装在 x/y 平面上,距离罐子 300 毫米,用以采集罐子外表的四张图像。每台相机均配备偏振滤光片,以确保白光 LED 发出的光不会导致其正对相机中的成像器饱和。
第五台 Blackfly 相机在 PC 控制下垂直移动,以适应不同高度的食品罐。这台相机负责采集罐子顶部的图像。垂直安装相机的镜头透过一块不透明硬塑料片上剪出的孔安装,提供一种经济的平顶光源替代方案。片反射来自 x/y 平面中四个 LED 的光线,以均匀漫射的方式充分照亮罐子顶部(图 2)。
系统触发且相机采集数据之后,数据通过 GigE 接口从 Moxa(中国台湾台北;www.moxa.com)导入 Intel 多核 i7 PC,其中安装的视觉检测软件会对五张图像进行处理。
软件解决方案
整套视觉检测系统的软件组件使用面向对象的编程语言 C# 开发。这些组件协作计算罐子在传送带上的位置,触发相机以采集罐子图像,并计算是否发现了有缺陷的罐子。如有,则触发气动剔除系统,将罐子从生产线上移除。
为了确定日期代码、标签和封条是否存在,系统的图像处理组件中包含有针对每个检查程序创建的不同 C# 类。这些类调用 MVTec Software(德国慕尼黑;www.mvtec.com)的 HALCON 集成开发环境 (IDE) 的图像处理例程,以执行特定的图像处理例程组合(图 3)。
C# 编程使类中特定操作关联的图像处理例程的属性(例如对图像执行的阈值操作的颜色值)能够通过同样用 C# 编写的 HMI 接口组件向用户公开。这样,就可以在图形用户界面中对它们进行修改。
在执行相应图像处理操作之前,系统会接受训练以在图像中定位特定类型的罐子。为此,首先将罐子放置在成像工作站内,采集其图像。然后,为图像中从盖子顶部到主体的弯曲区域创建基于形状的模型。这个基于形状的模型对于每个产品类型及其相关的标签位置都是唯一的,随后将其保存到系统的数据库中(图 4)。
在生产运行期间,使用来自 MVTec 图像处理库的基于形状的匹配算法来识别相同的形状。然后,系统可以在图像中定位罐子的具体位置。根据这些数据,可以得出表示标签的图像中感兴趣区域的位置。
在设置过程中,系统还会学习标签颜色的可接受值范围。然后在生产运行中,使用颜色阈值算法来处理图像中应存在标签的区域,确定该区域的颜色是否落在指定的容差范围内。
彩色 Blackfly 相机返回的是 RGB 值,但这些值会转换到 HSI 颜色空间进行处理。选择 HSI 颜色空间是因为这种颜色空间非常贴近人类感知颜色的方式。尽管系统也支持在 RGB 颜色空间中设置阈值,但使用 HSI 通常更容易找到合适的阈值。
罐子的防破坏密封通常是固定在其顶部和主体上的彩色标签。为了识别这个标签是否存在,系统还会使用基于形状的匹配技术来定位罐子在图像中的位置。定位后,软件会识别密封可能存在的感兴趣区域。然后,使用 HALCON 图像处理库中的颜色阈值算法来去除图像中属于指定颜色范围的部分,从而识别出颜色值超出此范围的对象,如密封。
日期代码识别软件和标签和密封检测算法一样,使用基于形状的匹配来定位图像中罐子的位置。系统根据这些数据,识别图像中罐盖上可能有保质期代码的特定感兴趣区域。完成后,将局部颜色阈值算法应用于图像,从罐盖的图像中提取存在的日期代码。之后系统即可确定日期代码是否存在(图 5)。
每个相机的数据都会分配给其各自的图像处理线程,操作系统可以根据需要将这些线程自由分配给处理器的内核。此外,HALCON 中的许多算法自动支持多个内核。
气动剔除
视觉系统软件检测到罐子上的保质期代码、标签或防破坏密封是存在还是缺失后,C# 系统软件的另一个组件会记录三个检查流程的结果。如果三者中有任何一个缺失,系统软件会使用光反射传感器和编码器的数据来确定何时应按顺序开启一组 SMC(英国米尔顿凯恩斯;www.smc.eu)气动喷嘴,在有缺陷的产品离开视觉工作站时将其从传送带上剔除。
如果视觉系统触发后,软件未能在相机采集的图像中找到任何产品,则系统将假设已检测到不合格产品,自动启动剔除序列。
为了确保有缺陷的产品不会发运给客户,系统使用了第二台 IFM 光反射传感器,如果视觉系统识别为废品的罐子继续沿着传送带向下移动,就会触发该传感器。然后向操作员发送警报,指示需要人工干预才能将产品从生产线上移除。
由于系统已学习过使用定义每个罐子属性的基于特定形状的模型来识别几种不同类型罐子的缺陷,因此可以由操作员通过 HMI 触摸屏界面重新配置来检查各种不同的产品类型。
除了识别有缺陷的食品罐外,软件还有一个统计数据库,可以向工厂操作员突出显示出现的不合格产品的类型,可能是标签、密封或日期代码缺失。它还会生成关于在生产运行期间有多少检查参数(如标签颜色)符合规格的数据,并生成 Excel 电子表格文件,让生产人员能够从系统查看统计数据。
系统还可以导出生产运行中罐子的图像,让远程工作的工程师能够在运行的同时分析系统的有效性,根据需要执行软件修改。
系统还可以通过添加新的测量类别进行扩展,以执行不同的检查,例如读取日期代码。测量类可以在计算中使用之前测量的结果,因此可以将局部阈值测量中找到的用于识别日期代码是否存在的区域传递给 OCR 测量类,以便读取代码。不过,AAK 目前尚未考虑这一方案。
今年早些时候,英国朗科恩的 Aarhuskarlshamn 食品生产基地安装了 Adbro 视觉检测系统,该系统开发只用了 7 月和 8 月两个月,成本不到 40000 美元,目前已可成功以每分钟 150 个的速度检测食品罐。
作者:Greig Lambourne
感谢Vision Systems Design提供本文。
产品/商标的所有产品名称、商标和图片版权均属于其持有者。保留所有权利。