基于图像识别的地毯机运动轨迹规划研究
2019-07-19李会艳
郭 栋,李会艳,王 琳
(天津职业技术师范大学天津市信息传感与智能控制重点实验室,天津 300222)
随着人民生活水平的提高,地毯已经广泛地用于家庭、酒店、展览厅等场合,拥有巨大的市场潜力。根据地毯制作方法的不同可以分为手工地毯和机制地毯。手工地毯的制作需要经过图案设计、配色、染纱、挂布、手工编织、涂胶、平毯、剪花、绞边、后整理等十几道工序加工制作而成[1],其中大部分生产工序由人力完成,劳动强度大,生产效率低,质量难以保证。机制地毯是利用运动控制系统并根据事先设计好的图案运动轨迹来控制地毯机的运动,缝制各种图案。随着市场个性化需求的增加,人工描绘和填充的地毯机运动轨迹劳动强度大、描绘轨迹效率低,延长了地毯生产周期的同时还增加了其制作成本,使得机制地毯的竞争力降低。国外一些企业开发了地毯机轨迹规划系统,直接对彩色图像进行分割,对分割后的图像进行枪刺植绒,但是由于没有考虑到人眼对不同颜色的敏感度不同,因此人眼对分割后的图像颜色感知不均衡[2]。国内在这方面的研究起步较晚,如山东某地毯厂研发的地毯织机虽然可以实现枪刺机器人的作业,但生产过程稳定性不高,产品质量欠佳,手工规划轨迹费时费力,效率低[3];上海某公司研发的枪刺植绒轨迹规划系统能实现计算机控制的地毯纺织,但填充的行距和枪刺转弯速度不均匀,导致地毯品质下降。因此,运用现有的图像处理技术对客户给定的图像进行较好的解析处理,并自动生成地毯机运动轨迹来代替人工绘图具有很重要的研究价值和研究意义。本文提出一种基于图像识别的快速自动生成地毯机运动轨迹的算法,该算法较好地实现了图像轨迹的自动规划,具有较好的规划效果和运行效率。
1 算法流程和策略
轨迹规划算法能够很好地从客户给定的原始图像中规划出地毯机的运动轨迹。算法的主要流程包括颜色量化、颜色聚类、边缘检测、轮廓跟踪以及区域填充5 个部分。原始图像一般含有成百上千种颜色,利用人眼对颜色的惰性,通过颜色量化从一幅图像中找出能够代表整幅图像的N 种颜色,得到量化图像。聚类时使用一种自适应K 均值聚类算法,能够自动地确定聚类中心和聚类数目。经过边缘检测和轮廓跟踪得到区域的轮廓,并在轮廓内采用扫描线填充算法进行区域填充,生成由一系列轮廓点和填充点坐标组成的地毯机加工文件,从而形成地毯机的运动轨迹。算法的主要步骤如图1所示。
图1 算法的主要步骤
2 算法描述
2.1 基于CIELAB色彩空间的颜色量化
2.1.1 颜色空间转换
选取合适的色彩空间可以有效地量化和分割图像,关系到最后图像轨迹的准确性。常用的RGB 颜色空间模型是三基色表示所有颜色的基础,然而人眼对R、G、B 3 个分量的敏感度不同,导致人眼对RGB 空间模型颜色的感知不均衡,色差区分不明显[4]。但可利用各种变换,把RGB 颜色空间转换到其他颜色空间。CIELAB 颜色空间模型是基于人眼的生理特征设计的,亮度、色调以及饱和度3 种特性能够很好地反映人体视觉上的感受,是目前最均匀的颜色空间,它是用数字化的方式来描述人的视觉感应,与设备无关。在CIELAB 颜色空间进行颜色量化,能够更准确地检测颜色之间的区别。RGB 到CIELAB 颜色空间的转换步骤为:
(1)把RGB 类型转换为XYZ
由于RGB 颜色空间不能直接转化到CIELAB 颜色空间,故需先转换到CIEXYZ 颜色空间,再由CIEXYZ颜色空间转回到 CIELAB 颜色空间,X、Y、Z 分别表示XYZ 空间的3 个标准基色。
(2)求出LAB
式中:L、a 和 b 分别为 CIELAB 颜色空间的亮度、色调以及饱和度的值;Xn、Yn、Zn分别为标准照明体照射在完全漫反射体上,经由完全漫反射反射到人眼中3 个分量的值,一般默认是 95.047、100.000、108.883。
2.1.2 颜色量化
颜色量化是利用人眼对颜色的惰性,将图像中色差相差不大的颜色合并为一种颜色,从而得到能够代表整幅图像的有限颜色数,减少图像中的颜色,最终组成新的调色板,根据新的调色板信息重构图像,得到量化图像,尽可能完美再现原始图像的色彩效果[5-6]。目前使用最多的量化方法是分割法和聚类法。分割法的算法有统一量化法、中位切分法、八叉树算法、频度序列法[7]等。聚类法有K 均值聚类算法、SCA 算法、FCM算法[8]等。本文采用基于CIELAB 颜色空间的K 均值聚类算法对图像进行颜色量化,计算色差时可以使结果更加准确,色差计算公式为:
完成颜色聚类后,再将图像由LAB 颜色空间转换到RGB 颜色空间,最终的聚类中心为图像的最佳调色板。
2.2 自适应K均值聚类
聚类是指通过一定的规则将数据集合划分成若干个相似特征的样本组成的子集合的过程。K 均值聚类算法是给定数据集合的聚类数目K,以K 个点为初始聚类中心对其他数据进行聚类。聚类结果与初始聚类中心的选取有很大关系[9]。自适应K 均值聚类能够很好地解决聚类中心和数目需要提前给定的问题,减少了人为干扰,提高了准确性。具体流程如下:
(1)将量化图像的调色板信息和每种颜色所含像素数存储到颜色列表中。
(2)2 种颜色之间的色差用CIEDE2000 表示。
式中:ΔL′为 2 种颜色的亮度差;ΔC′为 2 种颜色的彩度差;ΔH′为 2 种颜色的色调差;SL、SC、SH分别为加权函数,允许在CIELAB 颜色空间中根据区域的不同进行调整,以校正该空间的均匀性;RT为色调差和色差的交叉项修正系数;KL、KC、KH均为影响色差感觉的校正系数,可根据不同的评估条件来调整系数,一般地,在CIE 给定的标准观测条件下,KL=KC=KH=1。
(3)将颜色列表中的颜色像素数最少的颜色作为第1 个聚类中心,将剩余颜色与第1 个聚类中心CIEDE2000 色差值最大并且大于1.15[10-11]的颜色作为第2 个聚类中心,之后依次选出与聚类中心CIEDE2000 色差值不小于1.15 的颜色,直到所有颜色都计算完毕。颜色数即为初始聚类数目,选出的颜色即为初始聚类中心的颜色。
(4)计算量化图像中的各个像素点与各个聚类中心的欧氏距离,把像素点划分到距离最近聚类中心族中,然后对聚类中心族中的所有像素颜色求取平均值,作为新的聚类中心,之后用聚类中心颜色代替该聚类族中所有的像素点,得到聚类图像。
2.3 边缘检测
图像的边缘是视觉系统中最敏感的地方,包含着图像的大部分信息,是图像灰度变化最剧烈的地方。边缘检测是通过对图像边缘附近像素灰度值求一阶导数的极大值或二阶导数的过零点来反映图像的灰度变化情况[12-13],从而提取图像的边界。本文使用的Sobel 边缘检测算子是通过聚类图像像素灰度的小领域内水平方向和垂直方向逼近导数来进行边缘的检测[14]。对聚类图像进行基于Sobel 算子的边缘检测,得到聚类图像的边缘图像。
2.4 轮廓跟踪
2.4.1 轮廓跟踪
轮廓跟踪是通过寻找将边缘图像的边缘点跟踪成一条连续的边界。本文提出使用一种简易的轮廓跟踪算法:通过从上到下、从左到右依次按照步进值为1的顺序扫描图像,找出一个边界点作为跟踪起始点,沿扫描方向在它的右、右下、下、左下的方向循环搜索下一个边界点,在下一个边界点的右、右下、下、左下的方向继续搜索,直到下一个边界点为起始点且搜索点已经遍历边缘图像的最后一个点的时候搜索结束,否则继续寻找边界点或遍历图像中的其他点,直到找到起始点且遍历完图像的最后一个点为止。
2.4.2 Freeman链码
Freeman 链码是指用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法,它是一种边界的编码表示法,用边界方向作为编码依据,简化边界的描述,一般描述的是边界点集[15]。
将轮廓跟踪得到的完整边界点集以数字的形式保存在Freeman 链码表中,数字化的边界曲线可以用八方向的Freeman 链码表示成n 条链,八方向链码取值如图2所示,每条链指向八方向中的一个,最后根据链码表绘制轮廓曲线。链码偏移向量表如表1所示[16]。
图2 Freeman 八方向链码取值
表1 链码偏移向量表
2.5 区域填充和轨迹坐标生成
2.5.1 区域填充内部点的生成
区域填充指的是在边界区域内用制定的颜色赋予所有边界范围内所有的坐标点。区域填充算法有种子填充算法和扫描线填充算法2 大类。种子填充算法需要进行大量的出入栈操作,占用内存大并且效率低,采用扫描线填充算法填充简单的多边形区域,利用了扫描线上像素的连贯性,因此具有较高的效率[17]。扫描线填充算法的原理是水平扫描线与多边形轮廓的交点按照横坐标从小到大排序,交点两两成对,组成水平线段对区域进行填充。具体步骤为:
(1)用水平扫描线从上到下(或从下到上)扫描由多条首尾相连的线段构成的多边形轮廓,每根扫描线与多边形轮廓的某些边产生一系列交点。
(2)将这些交点按照横坐标从小到大的原则进行排序,之后将横坐标相同的点按从小到大的原则进行排序,将排序后的坐标点两两成对,作为多边形和扫描线相交区间的两个端点。
(3)对排序后的交点两两组成一个水平线段,以画线段的方式进行颜色填充,多边形被扫描完毕后,颜色填充也即完成。
2.5.2 轨迹坐标生成
对于填充好的轮廓组,当仿真结果没有错误时,把边界点坐标和填充点坐标储存到加工列表中。把聚类图像中的每一种颜色的聚类图像进行边缘检测、轮廓提取和区域填充,可以得到其边界点坐标和填充点坐标,依次存储到加工列表中,得到图像的加工文件代码,即地毯机图像的运动轨迹。
3 实验结果
地毯厂缝制的一幅地毯的原始图像如图3所示。该图像颜色简单、轮廓分明,能够很好地验证算法的可行性,故选该图像作为原始图像进行轨迹规划。
图3 原始图像
原始图像通常为RGB 图像类型,通过颜色空间的转换将人眼感知不均衡的RGB 类型图像转换到人体视觉敏感的LAB 类型图像上,通过事先确定好的聚类中心和聚类数目将原始图像量化,得到的量化图像通过自适应K 均值聚类算法,自动分割CIE2000 色差值不小于1.15 的颜色,得到颜色不同的聚类图像如图4所示。
图4 聚类图像
将得到的聚类图像进行边缘检测,通过对聚类图像像素灰度的小领域内水平方向和垂直方向求导来进行图像边缘的检测,得到聚类图像的边缘图像,由于存在误差致使边缘曲线并不完全连通,存在一些小的间断点,通过八方向Freeman 链码跟踪图像的边缘点得到边界点链码,根据链码重新绘制轮廓曲线,得到一条连续的边界曲线,轮廓跟踪图像如图5所示。
图5 轮廓跟踪图像
对得到的轮廓跟踪图像进行扫描线填充,将水平扫描线与轮廓交点的横坐标从小到大进行排序,交点两两成对,组成水平线段对区域内部进行填充,直到轮廓图像扫描完毕,得到边界轮廓的填充轨迹如图6所示。按照以上的方法完成图像中所有颜色的轨迹规划,最终得到图像完整的轨迹,轨迹规划如图7所示。
图6 边界轮廓的填充轨迹
图7 轨迹规划
4 结 语
本文提出了一种基于图像识别的轨迹规划算法,该算法由RGB 颜色空间转换到LAB 颜色空间进行颜色量化,减少了颜色数目,降低了聚类阶段的难度,缩短了聚类阶段的时间。提出的自适应的K 均值聚类算法,实现了图像的自动聚类,得到一个一个的色块图像。经跟踪边缘检测得到色块的边界点集,将边界点集以数字的形式保存到链码表中,从而绘制轮廓曲线,最后通过扫描线填充算法实现了轮廓内部的区域点填充,依次把轮廓点坐标和区域填充点坐标保存到加工文件中,根据轮廓点坐标和填充点坐标组成地毯机的运动轨迹。实验结果验证了算法的正确性。