基于机器视觉钛工件通用性测量软件的设计

2019-04-23 03:29
微型电脑应用 2019年2期
关键词:图像增强图像处理工件

(宝鸡文理学院 计算机学院, 宝鸡 721016)

0 引言

钛是一种结构型金属,具有导热系数低、弹性模量小、化学活性高等特点,是典型的难加工材料。加工过程中,由于生产刀具磨损严重,易发生偏差过大,给检验人员带来了大量的测量任务。当前,大部分中小型钛金属加工企业在钛工件测量上,主要使用卷尺、卡尺、千分尺等工具进行人工测量,人工测量误差不可控因素多、效率低、人易疲劳等特点。随着建立在计算机图像学基础上的视觉检测技术的长足发展,基于机器视觉的测量系统,与人工测量相比较,具有误差小、柔性化程度高、不会创伤表面等特点,得到了广泛的应用[1]。

视觉测量是将被测对象通过机器视觉产品转换成图像信号,传送给专用的图像处理系统,图像处理系统根据像素分布和亮度、颜色等信息,转变成数字化信号,利用这些信号进行各种运算来抽取目标进行测量,再将其换算成实际测量物的尺寸[2-3]。测量的精度依赖于被测对象的成像效果和图像处理的算法。成像效果和相机、光源选取及辅助传动装置相关,其设计主要依据对被测对象的精度要求、投入成本、测量现场环境和实施人员的经验,有成熟的选择方案;图像处理的算法则要根据测量对象的形状、运动过程、照明、测量项目均需要选择适宜的算法,是满足测量要求的关键。因此当前主流的视觉测量系统还是主要应用于一些特定场合,针对具体的测量任务做定制化的二次开发[4]。中小型钛加工企业生产的钛工件产品规格、形状差别大,测量项目多等特点,很难开发出完成对多种规格钛工件测量的通用视觉系统,不同工件需要进行定制化开发专用的视觉测量,对于中小企业的使用和维护成本很高,这是制约视觉测量系统在此类企业全面使用的主要瓶颈。本文就是采用面向接口的编程技术和设计模式的相关理念,针对抽象进行编程,将图像算法和被测对象在编码时解耦,具体图像处理算法实例的创建延迟到程序执行时根据测量项目动态匹配,开发通用的视觉测量系统,以满足多种规格测量项目的需要,降低中小型钛加工企业的使用成本。

1 视觉测量系统关键步骤

1.1 测量系统执行过程

机器视觉测量系统由相机、光源、辅助设备及图像处理软件组成[5],典型测量执行过程如图1所示。

图1 典型的机器视觉测量软件处理过程

在软件处理过程中影响视觉测量精度主要有图像预处理、测量项ROI区域图像提取、区域图像增强、图像测量及根据相机标定将图像测量结果转换为物理尺寸等环节。首先根据被测对象的成像特点,采用适当的图像增强、去噪、畸形矫正算法对采集的图像进行预处理;其次,遍历测量项,提取测量项感兴趣的区域图像,并根据测量项区域图像成像特点和测量要求,进行如:进行边缘增强、图像细化等增强处理;再次,提取特征对象轮廓或端点,依据端点或轮廓特征点的坐标,即可得到图像上的测量结果。如:线段长度测量,首先获取线段两个端点,再使用数学方法,计算两坐标之间的距离;最后,依据图像测量结果和相机标定确定的物理尺寸和像素间换算关系,得到被测物体的物理尺寸。

图像测量技术关键点

基于机器视觉的测量系统是应用图像处理技术,对形成图像的灰度进行分析处理,提取相应的边缘测量项的轮廓和线条,完成测量任务的软件系统,其关键技术是根据图像处理算法的选择和相机的标定[6]。当前,对于某一类问题的图像处理算法很多,但每种算法均具有一定的使用条件和场景,同类的处理算法之间是开放的,无强制约束,在运行过程中可以相互替换。如:图像增强就有直方图均衡化、对数变换、伽马变换等方法,直方图均衡化对对比度较低的图像适合;而对数变换对比度偏低并且灰度值偏低的图像增强效果好;伽马变换对体亮度值偏高情况下的图像增强效果明显。在程序开发阶段基于算法类型进行编码,将具体算法的执行延迟到程序执行阶段进行,将很好的解决图像算法选择问题。

相机标定是图像测量非常关键环节,用于确定物理尺寸和像素间的换算关系,是求解相机的内参数以及畸变参数的过程。相机标定过程比较规范,一般使用棋盘板或具有白色背景的黑圆圈,被标定的摄像机需要从不同的角度对特殊模式图像拍摄 10-15张照片,然后通过标定算法找到最优的摄像机内部参数和畸变向量[7-9]。系统采用张定友平面标定法,使用OpenCV提供的算法嵌入在程序中,获得相关计算参数。

2 系统设计

2.1 总体设计

根据以上分析,将通用测量软件分为测量配置模块和测量执行模块两部分,前者用于完成相机标定、算法优选的辅助分析软件,及记录参数、阈值及处理结点上图像算法的选择的结果;后者根据配置模块记录的相应信息完成测量任务。将每种测量任务定义一个测量工程,某规格型号钛板的测量就是一个测量工程;每个测量工程可设置一个或多个测量项,如:钛板测量包括宽度、长度、厚度尺寸的测量等。将完成测量任务需要对图像做各种处理活动成为测量结点,每个测量结点包含了一个最适合此图像处理的算法及相应的参数。按照测量结点的执行顺序,将完成测量任务的结点连接起来的链称为测量链,一个测量任务对应一个唯一的测量链。测量配置模块对每个工件的测量任务定义一个测量工程,在测量工程下对每一个应用图像处理的活动定义成测量结点,根据采集的现场图片,进行图像处理算法的比较分析,和相关参数、阈值的率定。测量执行模块按照测量工程将测量链中各个结点的数据取出,写入对列,顺序执行对列中的任务,按照每个测量结点约定执行相应的算法、参数、阈值等,完成测量任务。

2.2 应用框架设计

基于机器视觉通用测量软件是在开源计算机视觉库OPENCV提供算法库的基础上,对其算法进行二次封装,形成具有通用性强、扩展性好的基础部件库。利用Visual stdio2013开发工具,完成测量配置模块和测量运行模块的开发。配置模块和执行模块相互独立,配置模块将参数、算法等信息存入轻量级的SQLite数据库中,和执行模块通过数据库的信息,经过类的反射或工厂模式,动态创建和运行算法实例。总体架构设计如图2所示。

图2 通用测量系统总体架构

2.3 关键设计环节

1. 基础算法处理库设计

基础库算法处理库是在开源的计算机视觉库基础上,增加中间层。设置模块和执行模块是基于基础库中的算法进行编码,和OpenCV中的算法不直接发生耦合,使用自定义算法或更换OpenCV中的算法为其他算法提供了良好的扩展性[10]。

2. 设置控件设计

设置模块是在实际的测量环境下采集一副图像,基于该图像设置测量链,进行测量项目、测量区域ROI及根据区域图像成像特点选择最适合的执行算法和执行使用的参数[11]。按照操作和算法的功能进行分类,将所使用的操作封装成控件,每个控件带有一个图标和一个属性窗口,属性窗口是与之配套的阈值或参数等属性,设置完成后将其存入数据库中。图标支持用户通过拖、拉、拽完成测量任务的设置。

3. 图像算法封装

图像处理算法是视觉测量系统软件部分的关键[12],图像算法封装是利用设计模式中的策略模式,首先按照功能对算法进行分类,再抽象出每类算法的接口,将每个算法独立的封装成具有共同接口的类,使得它们可以相互替换。封装时将算法使用的参数、阈值等内容封装在类内部。例如:将直方图均衡化、拉普拉斯、对数变换、伽马变换等图像增强算法设计为具有同一接口的、互不关联的独立类,其设计类图如图3所示。

图3 图像增强算法封装示例

在图中,图像增强接口(IImageEnhance)是抽象出的图像增强接口,定义了一个图像增强方法(Enhance),该方法包括增强前图像(imageIn)和增强后的图像(imageEnhance)两个参数。直方图均衡、拉普拉斯变换、伽马变换、对数变换是实现了该接口针对每一个具体算法封装的类,每个具体类对应着OPENCV算法库中的算法,算法的相关执行参数阈值则通过访问数据库中配置参数获得。数据库访问工具是服务于数据库连接和数据存取封装的类,与具体的算法构成关联关系。

4. 测试运行

通过钛工件尺寸测量对系统进行验证。在验证过程中,增加了图像定位功能,实现工件随意放置也可以检测尺寸。系统首先通过对测量项及测量区域进行设置,然后设置角度测量任务的测量链和测量节点,如图像增强部分由二值化、均值滤波(1次)、伽马变换(2次)4个测量节点,每个节点设置对应的参数。应用该系统对10组规格为φ85 mm钛工件的直径进行测量,其标准差最大值为0.009 mm,测量速率为300 ms/个,其精度和定制化开发系统的精度一致,速率略小于定制化开发系统,完全满足钛工件在线测量的要求。

4 总结

本文设计了一款通用的钛工件测量软件系统,可完成对不同规格钛工件尺寸角度的测量,解决了传统视觉测量系统专用性强,通用性差、扩展困难等问题,降低了视觉测量系统的开发成本和应用成本。降低了中小型钛金属生产企业基于机器视觉测量系统的使用门槛,对这些企业的生产技术改造、提高自动化水平具有一定的促进作用。

猜你喜欢
图像增强图像处理工件
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
带服务器的具有固定序列的平行专用机排序
带冲突约束两台平行专用机排序的一个改进算法
海战场侦察图像处理技术图谱及应用展望
一种基于轻量级深度网络的无参考光学遥感图像增强算法
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
工业机器人视觉引导抓取工件的研究
图像增强技术在超跨声叶栅纹影试验中的应用
一类带特殊序约束的三台机流水作业排序问题
基于ARM嵌入式的关于图像处理的交通信号灯识别