纹理分类系统

| 振导社会  | 计算机视觉  机器学习应用 

概述

纹理示例

目前生产线自动化程度不高,在初期面料选择,以及后期质量检测等多个环节基本都是人工完成,使得生产效率低下,柔性生产能力不足,产品质量不稳定。在初步调研基础上,针对上述问题,提出了基于视觉检测的生产线自动化的改进方案。

本项目利用计算机视觉算法,对不同材质的纹理进行分类,以及实现其它机器视觉相关的辅助功能。其中,纹理样式如上图所示。系统面临的主要问题包括:

  • 相同纹路的材质,色彩或亮度之间存在差异;
  • 相同颜色或亮度的材质,纹路之间存在差异;
  • 待分类的纹理种类很多,超过100种,各类别之间差异很小。

系统需要实现的主要功能(第一期工程):

  • 对不同纹理的材质分类;

系统需要实现的辅助功能包括(第二期工程):

  • 工件尺寸检测(误差大小于1mm):测量对象的长和宽;
  • 物料缺陷检测:材质是否有划痕、是否平坦;
  • 打孔质量评估:若在材质上打孔,是否在预设误差范围;
  • 颜色花型检测;
  • 条码识别。

根据功能需求,系统划分为两部分(两个子系统):

  1. 实现色彩相关的功能:采用彩色面阵工业相机,成像分辨率精度略低,主要实现纹理分类。
  2. 实现色彩无关的功能:采用黑白面阵工业相机,成像分辨率较高,实现测量、缺陷检测等剩余功能。颜色花型检测可能会同时使用这个两个子系统。

现场评估

确定硬件方案和预估系统性能,搜集所需的信息:

  • 环境评估:一般工业生产环境比较复杂,由于机器视觉系统是一个精密度较高系统,所以需要对生产现场环境从光、尘、冲击振动、温湿度、水雾、电力稳定等几方面考察。
  • 处理对象评估:工件尺寸大小范围,工件运动方式、速度,视场内工件数量,是否重叠,可提取特征分析等工件的静动态信息。

完成以上评估后,通过与工作人员沟通,在尽量不干扰原生产线流程的情况下,进行硬件系统设计,并为视觉检测系统选择合适安装机位:

  • 成像系统外围保护装置 (如防水,防尘,防震等);
  • 成像系统光源设计;
  • 确定视场大小、分辨率(相机分辨率,空间分辨率),相机与工件之间距离范围,相机与后端处理机器的距离和线缆布置等。

系统的光源设计可以参考[1, Pp. 81-103]

光源设计

根据目前了解的情况(通过与工作人员交流,以及查看部分面料实物和图片),得出如下结论:

  • 面料颜色花型识别在流水线最前端,生产方可以提供一个可控的环境来安装视觉识别设备;
  • 流水线对纹理分类的实时性要求不是很高,初步估计在3s以内;
  • 面料纹理种类繁多,有些仅有颜色上差异,有些反光较强,因此对光源设计、成像系统的颜色还原性要求很高;
  • 从目前掌握图片来看,纹理周期性不详,因此无法确定视场大小(暂假定为10cm*10cm);
  • 为了尽可能提取纹理特征,空间分辨率设定为0.05mm/pixel,那相机分辨率为2000*2000=400万像素;
  • 镜头的选择:
    • 焦距:目前暂无法知道相机与面板之间的距离,暂时无法确定镜头焦距;
    • 光圈:由于面板运动速度不快,甚至检测时可以暂停,所以光圈选择不必过大;
    • 选择远心镜头:生产线上的面板可能存在抖动,远心镜头可以在一定的物距范围内,使图像放大倍率不随物距的变化而变化。

纹理分类

纹理分类的工作环境
图 1: 纹理分类的工作环境 [JPG]

纹理分类就是利用采集到的图像,对不同材质的纹理自动判定其所属的类别,其目的在于:

  • 能够对多类别的纹理进行分类;
  • 具有自学习功能,方便增减纹理种类。

成像系统

成像系统的功能是采集满足分类要求的纹理图像,包括采集图像所需要的硬件系统,以及控制成像质量的软件标定系统。硬件主要包括机器视觉相关的相机、镜头、光源等部件,不包括机械结构。

纹理分类可只采集待分类对象的部分纹理,因此相机的分辨率不需要太高,可采用200W像素的彩色工业相机。由于部分材质存在反光,光源采用同轴光源

通过标定系统提高成像的质量和稳定性。

标定系统:

在系统使用前,首先需要标定成像系统,确保能够稳定地采集到满足要求的图像,同时在使用过程中,标定机制可以提高系统稳定性。由于相似纹理较多,需要对相似的纹理进行有差别的成像。利用标准纹理图像库,系统能自动判断是否调节到最佳成像效果,或者成像系统是否需要重新标定。

标定的主要步骤:

  1. 将待识别的材质样本按纹理由浅到深排序;
  2. 筛选出一组具有代表性的纹理,对其成像,调节成像参数,直到达到满意效果;
  3. 在剩余材质中任意挑选一组,在不调节成像参数的情况下,对其成像:
    • 如果能达到满意效果,保存成像参数、代表性材质样本以及其图像,结束标定;
    • 如果成像效果不满意,返回第2步。

在系统使用时,采集代表性材质样本的图像,通过计算机自动判断成像系统是否需要重新标定。

算法思路

纹理分类模型采用机器学习框架,系统上生产线运行前,先通过样本库训练分类模型,在生产线分类时,直接调用分类模型进行纹理分类。机器学习框架采用多层感知器和随机森林,通过机器学习算法提高应用的灵活性和系统的稳定性。

训练多层感知器分类模型的流程:

  1. 对原始纹理图像按区域随机重采样(区域的大小固定,应包含能区别纹理的足够信息),得到相同尺寸的纹理子图像,构造纹理的样本库;
  2. 利用不同尺度的卷积核提取纹理特征;
  3. 利用特征训练多层感知器

如果多层感知器不能满足性能要求,尝试使用随机森林。

训练随机森林分类模型的流程:

  1. 对纹理图像按像素随机重采样,得到相同长度的像素序列,构造纹理的样本库;
  2. 对每个样本的像素按色彩排序或者Hash编码;
  3. 训练适合多分类的随机森林
  4. 分析随机森林的分类效果:
    • 如果满足性能指标,保存分类模型,结束训练过程;
    • 如果不满足性能指标,定位出错分的类别,对这些错分的纹理,构建下一层的随机森林:
      • 对纹理图像按像素结构化重采样,构造纹理的样本库;
      • 返回第2步。

最终的分类模型,可能是多个随机森林级连组成的多层次分类模型。

如果上述的随机森林模型无法达到性能指标,启用深度神经网络作为第三备选方案。

系统具备自学习功能,执行加减新类别操作后,系统自动重新训练分类模型。

尺寸测量

测量几何尺寸的测试环境
图 2: 测量几何尺寸的测试环境 [JPG]

尺寸测量的目的是测量工件的几何尺寸,也就长和宽。

成像系统

由于尺寸成像的精度要求高,拟采用500W像素的灰度工业相机。考虑到测量的对象也可能发光,也采用同轴光源。

算法思路

采用单目相机,利用环境标定的方法测量尺寸。基本原理是,相机固定,成像的对象位置固定,被测工件的实际尺寸与其通过相机成像的大小成比例。

500W像素相机图像的长边假设可达2400像素(实际相成像尺寸约为4:3),如果对2.4米长的工件成像,理论上的分辨率为1mm/pixel,如果用像素级的测量算法,理论上1个像素误差会导致1mm的测量误差,实际测量误差会大于该值。

对于精度较高的测量,误差还来源于几方面来源:

  • 被测量对象可能存在毛边,边缘不平整;
  • 现场环境较复杂,设备震动,工件位置不固定;
  • 长时间工作系统的偏移量。

部分测量法

针对以上问题,需要构建合适的测量系统,拟采用工件部分测量的方法,提高相机的分辨率,同时提供自校正机制,提高稳定性。

工件尺寸测量方案
图 3: 工件尺寸测量方案 [PNG]

假设测量工件是矩形,采用对角测量法,测量方案如上图所示。通过机械装置对左上角标定,通过图像方式对右下角测量,这样减少工件需要成像的面积,极大提高了图像测量的分辨率。测量步骤如下:

  1. 通过机械传动装置在左上角测量区域对齐被测工件;
  2. 右下角有标定的标准刻度,在右下角通过成像的方式测量相对位置;
  3. 右下和左上两个位置相减得到工件尺寸。

右下角有标定刻度,通过判断标定刻度在相机的成像的改变量,相机可以实现自标定。这种方法解决了相机分辨率对测量精度的制约,同时提供了自标定机制。

在算法上,可以考虑通过亚像素算法,提高测量精度。

查表法

若果被测工件的尺寸已知,且各种尺寸的工件差异较显著,测量问题实际上就是一个识别问题,或者说是个校验问题。

根据已知的工件尺寸将待测工件分为不同的测量区间,每个区间对应一个已知的工件尺寸,实际上这也相当于构建决策树。根据图像测量的值(不需要很高的精度)落在哪个区间,就可以查出该工件的尺寸。

该方法的准确度和稳定性都很高,但前提是对被测对象有限制。

缺陷检测

条码识别

技术指标

系统接口

  • 按需输出指定格式的数据;
  • 按需提供程序调用接口。

实验记录

参考资料

  1. [1]K. Demaagd, A. Oliver, N. Oostendorp, and K. Scott, Practical Computer Vision with SimpleCV. O’Reilly Media, Inc., 2012.

脚注


打赏作者


上一篇:统计学习:线性回归     下一篇:工业机器人(1):行业发展综述