张志芬 孙继磊
(滨州学院信息工程学院 山东滨州 256603)
在汽车轮毂生产过程中,各种轮毂混合生产,不同型号的轮毂经过某些相同的工序,混合出现在传送带上。此时,需要对这些轮毂按照型号进行分类,再分拣到不同的地方。现有的轮毂生产厂家,对于轮毂分拣大部分还停留在人工操作阶段,由人眼识别轮毂型号,并人力推动或者搬运到不同的类别堆。目前的分拣方式,纯人工分拣方式人力成本很高,增加了企业生产成本,降低了利润。
针对上述情况,本文提出一种低成本全自动轮毂分类系统。该系统利用计算机视觉进行识别和分类,利用推动杆和传送带进行轮毂分拣,全程不需要人工参与。该轮毂自动分类系统能够提高生产效率,很好地满足轮毂生产企业实际需求。
为了满足工厂实际需求,通过对汽车轮毂企业进行需求调研,确定本系统除了识别和分类的核心功能外,还需要配套一些辅助功能。整个轮毂分拣系统包括以下功能:
(1)模板管理:添加、删除、修改、浏览、查找轮毂模板,轮毂模板中主要包括轮毂的型号、名称、图片、说明信息。
(2)图像抓拍:轮毂到达生产线传送带指定位置时自动启动摄像头对当前位置的轮毂进行拍照。
(3)启动识别:启动系统识别程序根据拍摄到的当前位置轮毂照片,与模板进行比对识别出当前图片所对应的轮毂型号,实现轮毂的类型自动识别。
图1 物理结构示意图
图2 软件架构图
图3 系统主界面
图4 轮毂识别界面
图5 模板管理界面
(4)分拣功能:对于识别分类后的轮毂,启用相应的推动杆,分别推送到不同的分支传送带上,实现轮毂的自动分拣。
(5)数据保存:将经过识别的所有轮毂的数量、型号、时间等信息保存到数据库。
(6)生产数据统计:能够根据日期、型号等信息统计轮毂产量信息。
(7)用户管理:查看、添加、删除、修改用户。
(8)用户登录:用户需登录才能使用该系统,然后进行操作。
图6 产量统计界面
(9)修改密码:用户可以修改登录密码,修改时先输入旧密码,再输入两次新密码。密码要符合一定强度要求,至少要包含大小写字母数字和标点符号。
汽车轮毂分拣系统物理结构如图1所示。轮毂从生产线上传送过来(图中从左往右)到达摄像头下方时,触发传感器,传感器将信号发送给计算机,调用摄像头进行拍照,然后对所拍摄的照片进行识别[1],再根据识别的类型,启动相应类型的推动杆,将轮毂根据类型分别推送到不同的传送带上[2],从而实现轮毂的自动分拣。
汽车轮毂分拣系统软件架构分为表示层、服务层、数据库层三个层次。表示层主要负责与用户进行交互,接收用户输入、显示数据和图像;服务层主要进行数据访问服务和图像识别服务;数据库层主要用于数据的存储。系统软件架构如图2所示。
(1)编程语言及框架:系统中用户界面部分要界面简单美观、用户交互效果好,使用C#语言和WPF框架。图像处理和识别部分要性能好、图像处理功能要强大,使用C++,调用OpenCV。通过将C++封装成dll,通过C#调用,可以实现用户界面与图像处理识别功能的接口。数据访问结构使用LINQ + Entity Framework。
(2)开发环境:Visual Studio 2017。
(3)数据库:MS SQL Server 2014。
(4)系统运行环境:Windows7以上,.NET Framework 4.6以上。
系统主要包括轮毂识别分类、模板维护、参数设计、统计报表、数据备份、用户管理、修改密码等功能。系统主界面如图3所示。现就部分功能进行介绍。
在取得待识别的轮毂图片后,首先对其进行预处理,然后逐个与模块进行比对,确定轮毂类别。具体来说包括以下3个步骤[3]。
(1)图像预处理。
为了提高轮毂图像识别性能,需要先对摄像头所拍摄的原始图像进行预处理。主要进行灰度化、去噪、边缘提取这3个预处理操作[4]。
(2)特征提取。
为了识别轮毂,需要提取其主要特征,本系统中主要提取轮毂外圆半径、轮毂辐数及轮辐形状这3个典型特征[3],实现方法如下。
①外圆半径:系统中通过Canny算法得到图像的边缘信息后,采用霍夫梯度算法检测出轮毂图像的外轮廓圆,进而得到圆心坐标和外圆半径长度[4]。
②轮毂辐数:系统利用滤波法在轮毂的图像中遍历圆周得到的黑白像素点跳变次数来判断辐轴个数。滤波后,沿圆周方向依次检测像素亮暗,连续亮暗跳变处即为轮辐[5]。
③轮辐形状:通过以s为步长,以r为半径(r值介于0.2到0.9倍轮毂半径)沿圆周进行扫描,根据连续区域的宽度来得到轮辐形状[6]。
(3)模板匹配。
系统对待识别图像进行预处理后,提取出其特征,然后将提取出的特征与各个轮毂模板图像特征进行比对,得出图片相似度,判定轮毂所属类别[7]。若满足以下两个条件之一,则认为该轮毂属于相应的模板型号。
(1)待识别图像与模板的匹配相似度超过一个较高的阈值,该值一般可以取0.9左右。
(2)待识别图像与某一模板的匹配相似度在所有模板中最高,且超过某一阈值,该值一般可以取0.75左右。
轮毂识别分类的运行界面如图4所示。
轮毂模板即为轮毂型号,生产线上所拍摄得到的轮毂图片通过与模板进行对比,从而确定轮毂型号[8]。为了满足不同的企业实际生产需要,为了能够灵活的添加、删除、修改模板,为此设计实现了模板管理功能模块。每个模板包括轮毂的代码、名称、图片、备注等信息。模板管理模块运行界面如图5所示。
在生产统计模块,用于查询指定日期范围各生产线生产的各种轮毂的数量,常量统计界面图6所示。在该功能中选择要查询的日期范围,然后单击“查询”按钮即可查询出该日期范围内各生产线的轮毂数据,单击“打印”按钮可以打印该统计信息[9]。
针对汽车轮毂生产企业的轮毂分类问题,以计算机视觉为核心技术,综合运用W PF、OpenCV、EntityFramework等技术,设计开发了轮毂分类管理系统。该系统全自动运行,无需人工参与,具有较好的实际应用价值。