黄 铭,陆思良,孔凡让
(中国科学技术大学精密机械与精密仪器系,安徽 合肥 230027)
随着科技的发展,高智能集成化的自动化作业平台在各个领域都有着越来越重要的应用,世界各国和地区在自动化智能平台上的研究投入也是不遗余力的。机器人作为自动化智能平台的一个重要代表,在实际应用中有着重要的地位,所讨论的魔方还原机器人是其中一个典型的例子。
视觉系统是机器人的重要组成部分,是机器人与外界环境交互的桥梁,鉴于其重要性,机器视觉已经逐渐发展成为一门新兴的学科,吸引了国内外越来越多研究者的关注。
针对魔方还原机器人而言,视觉系统是其最重要的子系统,机器人必须通过视觉系统获取当前魔方的状态后,才能作进一步的求解与还原。目前,魔方颜色主要通过颜色传感器[1]或CCD摄像头作为介质获取,这2种方式都需要对环境光照度有一定的假设,但在自然光和光照条件多变的环境中,颜色受光照影响存在不稳定性[2],往往会导致识别的失效。因此,设计一个稳健快速,满足实时性、准确性和适应性等性能要求的视觉子系统,使魔方还原机器人能在各种光照条件下均能正常工作,这在魔方还原机器人的研制过程中显得尤为重要。
魔方还原机器人是一种能够将任意打乱的三阶魔方快速还原的机器人,其组成包括执行子系统,视觉子系统,求解子系统和主控制系统4个模块,如图1所示。
图1 魔方还原机器人及其系统模块
魔方还原机器人的设计目标是:与操作者互动,将操作者提供的任意打乱三阶魔方快速还原。由于操作环境不确定,也可能受到各种人为因素的影响,为了达到设计目标,对机器人的视觉子系统提出了快速、稳定,具有环境适应性等要求。
魔方还原机器人的视觉子系统的识别目标为魔方,负责确定当前魔方的状态信息,即魔方色块位置和颜色的识别。魔方信息包含在颜色块的组合中,通过识别魔方面的颜色便可以获得魔方的状态。因此,根据颜色对魔方的状态进行分类和描述,是魔方还原机器人视觉子系统的主要内容。
色彩是物体的重要特征,对物体颜色的识别已经成为通过计算机自动获取目标相关信息的重要手段,被广泛应用在农业、食品、医学和电子工业等领域。
对物体颜色的感知可以通过专用的颜色传感器或CCD摄像头来实现。颜色传感器功能比较单一,用于针对识别某种特定的颜色,对目标物体的光照条件有比较严格的要求。CCD摄像头的通用性较好,CCD获取物体颜色是通过几个步骤来实现的:获取物体彩色图像;对图像进行分割和处理;根据图像特征识别颜色。采用CCD摄像头识别颜色将采样和处理过程分离,灵活性大,方便通过计算机对后续处理进行优化和改进。
根据魔方还原机器人视觉子系统的特点与需求,系统选取CCD摄像头作为魔方状态识别的介质,通过计算机对采集到的图像进行处理,并提供与其他子系统进行通信的接口。
物体的颜色在数学上用颜色空间来表示,彩色数字图像的处理必须在一定的颜色空间中进行,在应用中发展出多种描述物体颜色的颜色空间模型,在每个颜色空间模型中,也衍生出多种彩色数字图像处理的方法。常用颜色空间模型有RGB颜色空间模型、HSV颜色空间模型、CMYK颜色空间模型以及YUV颜色空间模型等[3]。
RGB颜色空间是线性颜色空间,方便在计算机上实现,被广泛用在显示系统中。RGB颜色空间通过三原色的叠加描述所有的颜色,直接从颜色生成的角度去描述颜色。RGB颜色空间在几何上可以表示成一个立方体,RGB颜色立方体的3个坐标轴分别代表R,G,B分量[4],立方体内部所有颜色都可以表示成三原色的线性组合。
HSV颜色空间模型可表示为圆柱坐标系中的一个圆锥形子集,如图2所示。H,S,V分别代表色调、饱和度和亮度。圆锥的顶面处V=1,对应RGB颜色空间的R=1,G=1,B=1 3个面,表示高亮色彩。色调H定义为绕V轴的旋转角,红色对应于0°,绿色对应于120°,蓝色对应于240°。饱和度S取值从0到1。在圆锥的顶点处,V=0,H和S无定义,代表黑色;圆锥的顶面中心处S=0,V=1,H无定义,代表白色。
图2 RGB颜色空间模型与HSV颜色空间模型
CMYK颜色空间模型与RGB颜色空间模型有相似之处,但CMYK颜色空间模型主要应用于印刷工业,印刷业通过青 (C)、品(M)、黄(Y)、黑(BK)4色印刷,通过4种颜料不同网点面积率的叠印,得到丰富多彩的颜色。
YUV颜色空间是另一种在数字图像处理领域广泛应用的颜色空间模型,主要用于现代彩色电视系统中,YUV颜色空间模型将亮度信号Y和色度信号U,V分离,保持了黑白电视与彩色电视信号的兼容性,传输占用极少的频宽。
根据颜色空间模型的论述,原理上,RGB颜色空间模型和HSV颜色空间模型更适合用于对数字图像进行识别和处理。RGB颜色空间模型和HSV颜色空间模型在数字图像处理领域都有广泛的应用,这2种模型分别从颜色生成和颜色表现的角度描述颜色,在计算机逻辑上有着天然的优势。
颜色混合基本定律表明,自然界任何一种颜色均可由红(R)、绿(G)、蓝(B)3种原色混合匹配产生。映射到RGB颜色空间模型,任何一种颜色都对应着RGB空间坐标系统中的一个点,数学上可以表示为(R,G,B)。所有在RGB颜色空间模型中对数字图像进行的处理,都可以抽象为在RGB空间坐标系统中的矩阵运算。
在RGB颜色空间中进行颜色识别,常用的方法为标准色差标定方法[5-6]。在RGB颜色空间模型中,标准色差的定义为目标颜色与参考颜色在RGB空间坐标系统中的距离,即
通过该方法识别颜色,须事先标定一个参考颜色(R0,G0,B0)与一个容许阈值α,然后计算目标颜色(R1,G1,B1)对参考颜色的标准色差,根据求得的标准色差与阈值α的关系,判断目标颜色是否与参考颜色同色,则有:
在RGB空间坐标系统中分析,式(2)所表示的集合可以表示为RGB空间坐标系统的一个球体,该球空间称为参考颜色(R0,G0,B0)在α阈值内的相似空间。
标准色差标定方法的结果完全取决于参考颜色和容许阈值的标定。但由于RGB颜色空间中R,G,B分量之间存在高度的相关性,同种色相的颜色在不同的亮度下其R,G,B值均有较大的变化,难以对某种色相的颜色标定一个通用的参考值;同时,容许阈值α决定了识别的准确度,α设置不当容易导致不同颜色的相似空间出现重叠现象,造成误识别。
与RGB颜色空间模型从颜色生成角度描述颜色的方法不同,HSV颜色空间将物体的色调、饱和度以及亮度作为3个独立的分量分离出来,本质上与人眼对物体的感知一致。
原理上,HSV颜色空间模型较RGB颜色空间模型更适合用于对物体颜色进行识别。第一,去掉亮度分量在图像中与颜色信息的关系;第二,色调分量作为颜色的唯一标识分量(黑色和白色除外),与人眼对颜色的感知密切相关。HSV颜色空间模型对外界光照敏感度比较低,比较适合用于颜色图像的分割。
通过CCD获取到的数字图像存储的信息为像素的RGB颜色值,需将图像的颜色信息由RGB颜色空间转换为HSV颜色空间描述,才能作进一步处理。HSV颜色空间模型与RGB颜色空间模型的对应转换关系为:
鉴于白色与黑色在HSV颜色空间中的特殊性,在HSV颜色空间下对魔方颜色进行识别时,魔方黑色面块通过其颜色V分量是否为零来识别,魔方白色面块根据S与V的值来识别,其余颜色通过H分量的值来识别。
根据上述分析,搭建了魔方还原机器人视觉子系统实验平台,如图3所示。采用MicroVision公司的MV-200UC工业摄像头作为图像采集设备,采集到的图像通过计算机进行处理。
图3 魔方机器人视觉子系统结构
视觉子系统工作流程为:通过CCD获取魔方面的彩色数字图像,通过计算机进行图像处理,包括图像的预处理、图像的分割、图像的描述与特征提取,然后将结果通过传输到后续子系统。
为了模拟各种光照环境,本研究分别在暗室、白天室内以及使用白色强光照射3种环境下,各采集若干的图像样本用于处理,如图4所示。
图4 3种光照条件下的魔方样本图像
在采集到的3种图像中,提取魔方红色块区域的颜色RGB值,分别对标准红色的RGB值(255,0,0)计算标准色差,得到红色标准色差数据的平面分布图与魔方面标准色差立体分布图,如图5所示。
图5 红色标准色差分布与魔方面标准色差立体分布
从图5中红色标准色差分布可以看出,魔方色块的标准色差与光照条件以及目标点的位置有密切的相关性。同一种光照条件下,各采样点对参考色的标准色差在不同的采样点之间存在较大的波动,在常光环境中波动尤其明显;当光照条件发生变化后,各采样点对参考色的标准色差有着跳跃性的变化。
因此,为了使识别方法具有环境适应性,应该选取一个较大的容许阈值,使得相似空间足够大以消除因光照条件变化而产生标准色差的波动;但较大的容许阈值伴随着相似空间的重合风险,选择过大的容许阈值,会造成某些目标颜色同时被多个颜色相似空间包含的情况,极大地降低了识别的准确性。魔方面标准色差立体分布如图5所示。
由此可见,在RGB颜色空间中通过标准色差标定方法进行颜色识别,存在准确性与适应性的矛盾,不符合魔方还原机器人视觉子系统的需求。
采用不同的方法分析,将获取的魔方彩图的颜色信息转换到HSV颜色空间下进行处理。在3种光照条件下,将图像中魔方所有颜色色块的颜色信息提取出来,把得到的颜色RGB值转换到HSV颜色空间,将得到的魔方面样点颜色的H分量绘制到同一个坐标中,得到魔方面色块颜色的H分量分布如图6所示。
图6 不同环境下魔方色块的H颜色分量分布
由图6可以看到,魔方色块在HSV颜色空间中H分量基本维持在一个较窄的范围内,在强光条件下其稳定性最佳,由此可见,H分量在不同颜色之间有较高的辨识度,可以通过标定,在一定的光强范围实现稳定的颜色识别。
但是,对于红色与橙色这2种在HSV空间中H分量方向上相差无几的颜色,由于光强的变化,使得红色与橙色的H分量在一定程度上存在重叠部分,影响了魔方颜色识别的准确性。因此,在HSV颜色空间下通过标定的方式识别颜色,只能实现在一定光强范围内对颜色的准确识别。
进一步,将同种光照下的图像颜色单独采样并转换到HSV颜色空间,其H分量分布如图7所示。
图7 同种光照环境中魔方各颜色值的H分量分布
从图7可以看出,虽然在多种光照强度下各颜色的H分量可能会存在重叠,但是在同种光照环境中,不同颜色的H分量之间有明显的分隔,并分布在[0,360]无重叠的区间内。根据实验结果,对HSV颜色空间标定方法进行改进,不事先对待识别的颜色进行标定,而是在将图像转换到HSV颜色空间之后,对各目标颜色的H分量进行排序,根据目标颜色在HSV空间H方向上的排列顺序识别目标颜色。
经过改进后,在各种光照条件下都能实现魔方的准确识别,基本实现了魔方还原机器人视觉子系统的设计目标。
从魔方还原机器人项目需要出发,对其视觉子系统的设计与实现进行研究,提出了一种具有良好环境光照适应性的颜色识别方法,并在此基础上搭建了魔方还原机器人视觉子系统实验平台,对提出的方法进行了实验验证与优化。该视觉子系统可以在各种光照条件下实现对魔方颜色的稳定识别,很好地解决了环境光照影响颜色识别的问题,并能很方便地应用到其他颜色识别场合中。
[1]刘增辉.颜色传感器技术研究进展[J].传感器技术,2003,22(4):1-4.
[2]陈岭丽,沈兰荪.机器人彩色视觉研究[J].中国科学技术大学学报,1991,21(3):47-52.
[3]冈萨雷斯.数字图像处理.2版.[M].北京:电子工业出版社,2007.
[4]程勇,梁斌,李玮.适用于足球机器人视觉子系统的颜色空间比较[J].天津师范大学学报(自然科学版),2010,30(3):45-47,48.
[5]Czajewski W.Visual identification of the Rubik’s cube in human environment[J].Przeglad Elektrotechniczny,2004,80(4):311-314.
[6]Kasprzak W.Rubik’s cube reconstruction from single view for service robots[J].Machine Graphics & Vision,2006,15(3-4):451-459.