概述
目前生产线自动化程度不高,在初期面料选择,以及后期质量检测等多个环节基本都是人工完成,使得生产效率低下,柔性生产能力不足,产品质量不稳定。在初步调研基础上,针对上述问题,提出了基于视觉检测的生产线自动化的改进方案。
本项目利用计算机视觉算法,对不同材质的纹理进行分类,以及实现其它机器视觉相关的辅助功能。其中,纹理样式如上图所示。系统面临的主要问题包括:
- 相同纹路的材质,色彩或亮度之间存在差异;
- 相同颜色或亮度的材质,纹路之间存在差异;
- 待分类的纹理种类很多,超过100种,各类别之间差异很小。
系统需要实现的主要功能(第一期工程):
- 对不同纹理的材质分类;
系统需要实现的辅助功能包括(第二期工程):
- 工件尺寸检测(误差大小于1mm):测量对象的长和宽;
- 物料缺陷检测:材质是否有划痕、是否平坦;
- 打孔质量评估:若在材质上打孔,是否在预设误差范围;
- 颜色花型检测;
- 条码识别。
根据功能需求,系统划分为两部分(两个子系统):
- 实现色彩相关的功能:采用彩色面阵工业相机,成像分辨率精度略低,主要实现纹理分类。
- 实现色彩无关的功能:采用黑白面阵工业相机,成像分辨率较高,实现测量、缺陷检测等剩余功能。颜色花型检测可能会同时使用这个两个子系统。
现场评估
确定硬件方案和预估系统性能,搜集所需的信息:
- 环境评估:一般工业生产环境比较复杂,由于机器视觉系统是一个精密度较高系统,所以需要对生产现场环境从光、尘、冲击振动、温湿度、水雾、电力稳定等几方面考察。
- 处理对象评估:工件尺寸大小范围,工件运动方式、速度,视场内工件数量,是否重叠,可提取特征分析等工件的静动态信息。
完成以上评估后,通过与工作人员沟通,在尽量不干扰原生产线流程的情况下,进行硬件系统设计,并为视觉检测系统选择合适安装机位:
- 成像系统外围保护装置 (如防水,防尘,防震等);
- 成像系统光源设计;
- 确定视场大小、分辨率(相机分辨率,空间分辨率),相机与工件之间距离范围,相机与后端处理机器的距离和线缆布置等。
系统的光源设计可以参考[1, Pp. 81-103]:
根据目前了解的情况(通过与工作人员交流,以及查看部分面料实物和图片),得出如下结论:
- 面料颜色花型识别在流水线最前端,生产方可以提供一个可控的环境来安装视觉识别设备;
- 流水线对纹理分类的实时性要求不是很高,初步估计在3s以内;
- 面料纹理种类繁多,有些仅有颜色上差异,有些反光较强,因此对光源设计、成像系统的颜色还原性要求很高;
- 从目前掌握图片来看,纹理周期性不详,因此无法确定视场大小(暂假定为10cm*10cm);
- 为了尽可能提取纹理特征,空间分辨率设定为0.05mm/pixel,那相机分辨率为2000*2000=400万像素;
- 镜头的选择:
- 焦距:目前暂无法知道相机与面板之间的距离,暂时无法确定镜头焦距;
- 光圈:由于面板运动速度不快,甚至检测时可以暂停,所以光圈选择不必过大;
- 选择远心镜头:生产线上的面板可能存在抖动,远心镜头可以在一定的物距范围内,使图像放大倍率不随物距的变化而变化。
纹理分类
纹理分类就是利用采集到的图像,对不同材质的纹理自动判定其所属的类别,其目的在于:
- 能够对多类别的纹理进行分类;
- 具有自学习功能,方便增减纹理种类。
成像系统
成像系统的功能是采集满足分类要求的纹理图像,包括采集图像所需要的硬件系统,以及控制成像质量的软件标定系统。硬件主要包括机器视觉相关的相机、镜头、光源等部件,不包括机械结构。
纹理分类可只采集待分类对象的部分纹理,因此相机的分辨率不需要太高,可采用200W像素的彩色工业相机。由于部分材质存在反光,光源采用同轴光源。
通过标定系统提高成像的质量和稳定性。
标定系统:
在系统使用前,首先需要标定成像系统,确保能够稳定地采集到满足要求的图像,同时在使用过程中,标定机制可以提高系统稳定性。由于相似纹理较多,需要对相似的纹理进行有差别的成像。利用标准纹理图像库,系统能自动判断是否调节到最佳成像效果,或者成像系统是否需要重新标定。
标定的主要步骤:
- 将待识别的材质样本按纹理由浅到深排序;
- 筛选出一组具有代表性的纹理,对其成像,调节成像参数,直到达到满意效果;
- 在剩余材质中任意挑选一组,在不调节成像参数的情况下,对其成像:
- 如果能达到满意效果,保存成像参数、代表性材质样本以及其图像,结束标定;
- 如果成像效果不满意,返回第2步。
在系统使用时,采集代表性材质样本的图像,通过计算机自动判断成像系统是否需要重新标定。
算法思路
纹理分类模型采用机器学习框架,系统上生产线运行前,先通过样本库训练分类模型,在生产线分类时,直接调用分类模型进行纹理分类。机器学习框架采用多层感知器和随机森林,通过机器学习算法提高应用的灵活性和系统的稳定性。
训练多层感知器分类模型的流程:
- 对原始纹理图像按区域随机重采样(区域的大小固定,应包含能区别纹理的足够信息),得到相同尺寸的纹理子图像,构造纹理的样本库;
- 利用不同尺度的卷积核提取纹理特征;
- 利用特征训练多层感知器。
如果多层感知器不能满足性能要求,尝试使用随机森林。
训练随机森林分类模型的流程:
- 对纹理图像按像素随机重采样,得到相同长度的像素序列,构造纹理的样本库;
- 对每个样本的像素按色彩排序或者Hash编码;
- 训练适合多分类的随机森林;
- 分析随机森林的分类效果:
- 如果满足性能指标,保存分类模型,结束训练过程;
- 如果不满足性能指标,定位出错分的类别,对这些错分的纹理,构建下一层的随机森林:
- 对纹理图像按像素结构化重采样,构造纹理的样本库;
- 返回第2步。
最终的分类模型,可能是多个随机森林级连组成的多层次分类模型。
如果上述的随机森林模型无法达到性能指标,启用深度神经网络作为第三备选方案。
系统具备自学习功能,执行加减新类别操作后,系统自动重新训练分类模型。
尺寸测量
尺寸测量的目的是测量工件的几何尺寸,也就长和宽。
成像系统
由于尺寸成像的精度要求高,拟采用500W像素的灰度工业相机。考虑到测量的对象也可能发光,也采用同轴光源。
算法思路
采用单目相机,利用环境标定的方法测量尺寸。基本原理是,相机固定,成像的对象位置固定,被测工件的实际尺寸与其通过相机成像的大小成比例。
500W像素相机图像的长边假设可达2400像素(实际相成像尺寸约为4:3),如果对2.4米长的工件成像,理论上的分辨率为1mm/pixel,如果用像素级的测量算法,理论上1个像素误差会导致1mm的测量误差,实际测量误差会大于该值。
对于精度较高的测量,误差还来源于几方面来源:
- 被测量对象可能存在毛边,边缘不平整;
- 现场环境较复杂,设备震动,工件位置不固定;
- 长时间工作系统的偏移量。
部分测量法
针对以上问题,需要构建合适的测量系统,拟采用工件部分测量的方法,提高相机的分辨率,同时提供自校正机制,提高稳定性。
假设测量工件是矩形,采用对角测量法,测量方案如上图所示。通过机械装置对左上角标定,通过图像方式对右下角测量,这样减少工件需要成像的面积,极大提高了图像测量的分辨率。测量步骤如下:
- 通过机械传动装置在左上角测量区域对齐被测工件;
- 右下角有标定的标准刻度,在右下角通过成像的方式测量相对位置;
- 右下和左上两个位置相减得到工件尺寸。
右下角有标定刻度,通过判断标定刻度在相机的成像的改变量,相机可以实现自标定。这种方法解决了相机分辨率对测量精度的制约,同时提供了自标定机制。
在算法上,可以考虑通过亚像素算法,提高测量精度。
查表法
若果被测工件的尺寸已知,且各种尺寸的工件差异较显著,测量问题实际上就是一个识别问题,或者说是个校验问题。
根据已知的工件尺寸将待测工件分为不同的测量区间,每个区间对应一个已知的工件尺寸,实际上这也相当于构建决策树。根据图像测量的值(不需要很高的精度)落在哪个区间,就可以查出该工件的尺寸。
该方法的准确度和稳定性都很高,但前提是对被测对象有限制。
缺陷检测
条码识别
技术指标
系统接口
- 按需输出指定格式的数据;
- 按需提供程序调用接口。
实验记录
参考资料
- [1]K. Demaagd, A. Oliver, N. Oostendorp, and K. Scott, Practical Computer Vision with SimpleCV. O’Reilly Media, Inc., 2012.