【自有技术大讲堂】颜色空间与机器视觉
摘要:机器视觉的发展,已经从最基本的缺陷检测、尺寸测量等,逐步向人眼视觉特性靠近。颜色作为人眼视觉中的重要感知内容,也是机器视觉中常用的视觉特征之一,为了方便而统一的表示和计算颜色,我们一般采取颜色空间作为参考。本文将介绍颜色空间在机器视觉中的应用,包括颜色空间的基本概念、常见的颜色空间以及它们在机器视觉任务中的应用。同时,还将讨论颜色空间选择的考虑因素以及一些常见的颜色空间转换方法。
机器视觉是指计算机通过图像或视频数据进行视觉信息的获取、处理和理解的一门学科。在机器视觉中,颜色是一种重要的视觉特征,它能够提供图像中物体的信息,例如物体的类别、形状和纹理等。而颜色空间则是一种用于表示和处理颜色的方式,不同的颜色空间可以提供不同的颜色信息。
一般来说,颜色的判别有三个重要特征:明度、色调和饱和度。
明度是指颜色明亮的程度。如图1所示,对于光源色,明度与发光强度有关;对于物体色,则取决于物体的反射比和透射比。
色调是借以区分不同颜色的特征,如图2所示,在可见光范围内,不同波长辐射的颜色具有不同的色调,如红、橙、黄、绿、青、蓝、紫等。光源色的色调取决于发光体辐射能的光谱组成。物体色取决于物体对光的选择吸收特性及照明光的光谱构成。
图2 可见光光谱色
饱和度是颜色接近光谱色的程度。如图3所示,一种颜色可以看成是光谱色和白光混合的结果。光谱色的比例越大,则饱和度越高。当白光成分为零时,得纯光谱色,饱和度达最高;光谱色的成分为零就是白光,饱和度为零。饱和度高的颜色深而鲜艳;饱和度低,颜色浅而暗淡。
图3 色彩饱和度变化
颜色空间是一种用数学方法形象的表示和处理颜色的方式,颜色空间一般用三维模型表示。机器视觉中常用的颜色空间主要有RGB、XYZ、Lab、HSV四个颜色空间。
1.CIE1931-RGB
RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,所以俗称三基色模式。在大自然中有无穷多种不同的颜色,而人眼只能分辨有限种不同的颜色,RGB模式可表示一千六百多万种不同的颜色,在人眼看来它非常接近大自然的颜色,故又称为自然色彩模式。红绿蓝代表可见光谱中的三种基本颜色或称为三原色,每一种颜色按其亮度的不同分为256个等级。当色光三原色重叠时,由于不同的混色比例能产生各种中间色。
图4 RGB颜色空间
为了从理论上来匹配一切色彩并以非负值表示颜色,在1931年从理论上假设了并不存在于自然界的三种原色,即理论三原色XYZ,相应的形成了XYZ颜色空间。XYZ三刺激值是由RGB彩色空间线性变换转换得到,变换后的空间就是CIE XYZ彩色空间,相当于使用匹配颜色的XYZ基底来代替RGB基底来表示颜色,如图 5所示,其中x和y两维定义颜色,第3维定义亮度。
图5 XYZ色品图
3.Lab颜色空间
Lab颜色模型基于人对颜色的感觉,其数值描述正常视力的人能够看到的所有颜色。因为 Lab描述的是颜色的显示方式,而不是设备(如显示器、桌面打印机或数码相机)生成颜色所需的特定色料的数量,所以Lab被视为与设备无关的颜色模型。Lab色彩模型是由亮度(L)和有关色彩的a、b三个要素组成,L表示亮度,a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围。L的值域由0到100,L=50时,就相当于50%的黑色;a和b的值域都是由+127至-128,其中当a=+127时颜色为红色,当a渐渐过渡到-128时变成绿色;同样原理,当b=+127是黄色,b=-128是蓝色,所有的颜色就以这三个值交互变化所组成,其空间如图6所示。
图6 Lab颜色空间
4.HSV颜色空间
HSV(Hue,Saturation,Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型,如图7所示,HSV即色相H(Hue)、饱和度S(Saturation)、明度V(Value)。色相是色彩的基本属性,就是平常说的颜色的名称,如红色、黄色等,H由绕V轴的旋转角给定,红色对应于角度0°,绿色对应于角度120°,蓝色对应于角度240°,每一种颜色和它的补色相差180°;饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰;明度(V),颜色明亮的程度,明度值与发光体的光亮度有关。圆锥的顶点处,V=0,代表黑色,圆锥的顶面中心处V=1,S=0,代表白色。
图7 HSV颜色空间
1.亮色度的检测与计算:颜色空间可以用于亮度与色度的检测。视觉检测过程中常用的图像为RGB图像,其颜色特性更接近人眼视觉特性,其光谱响应特性及色品图如图8所示,从光谱响应特性曲线及色品图可以看到,RGB色彩空间有一部分数值为负,不利于颜色的表示及计算。因而推出了CIE1931-XYZ颜色空间,如图9所示,其三刺激值与色品坐标全部为正值,更利于理解和计算。
图8 CIE1931-RGB色度系统光谱三刺激值随波长变化曲线(左)与色品图(右)
图9 CIE1931-RGB色度系统光谱三刺激值随波长变化曲线(左)与色品图(右)
图10 RGB图与三通道分量图
3.图像分割与分析:颜色空间可以用于图像的分割和分析。如图11所示,在RGB色彩空间难以设置阈值进行分割的蓝色衣服与天空,在HSV颜色空间中,就可以通过选择特定的色相,将蓝色的天空与衣服从色彩复杂的图像中分割出来;通过设置饱和度阈值,则可以将饱和度较高的衣服区域与白色的雪地及其他饱和度较低颜色分开。颜色空间的转换在图像分割与分析中发挥着重要作用。
图11 RG图与HSV各通道分量图像
4.图像增强与滤波:颜色空间可以用于图像的增强和滤波。如图12所示,相较于RGB颜色空间,在HSV颜色空间中,可以通过调整图像的明度来增强图像的对比度,更好的选择出图像的轮廓或者通过选择特定的色调和饱和度范围来实现图像的滤波。
图12 彩色原图亮度调整&V通道图亮度调整
在机器视觉任务中选择适合的颜色空间是非常重要的。考虑因素包括任务的特点、颜色信息的重要性以及计算效率等。例如,如果任务需要对物体的颜色进行精确的识别和分类,那么RGB颜色空间可能是一个合适的选择,如果任务需要涉及到物体颜色的转换、计算,则XYZ颜色空间是一个更好的选择;如果任务需要对物体的纹理和明暗变化进行分析,那么HSV颜色空间可能更适合。
在机器视觉中,有时需要在不同的颜色空间之间进行转换。常见的颜色空间转换方法包括线性变换、非线性变换和直方图均衡化等。这些方法可以帮助我们在不同的颜色空间中进行颜色信息的转换和处理,以满足不同任务的需求。这里主要介绍RGB-XYZ的颜色空间转换。
1931年在国际光照大会上,与批准以红(R)、绿(G)、蓝(B)为三原色的RGB系统的同时,接受和推荐了XYZ系统。两个系统之间有以下关系:
分别用RGB和XYZ表示同一种颜色(C):
整理后可得:
改写为矩阵形式则为:
颜色空间是机器视觉中不可或缺的一部分,它在目标检测、图像分割、图像增强等任务中发挥着重要的作用。选择适合的颜色空间和合理的颜色空间转换方法可以提高机器视觉任务的性能和效果。
参考文献
[1] 刘钧,高明编著. 光学设计 第2版[M]. 北京:国防工业出版社, 2016.07.
[2] 张以谟编著. 应用光学 第3版[M]. 北京:电子工业出版社,2008.8
[3] Gonzalez, R.C., Woods, R.E., & Eddins, S.L. (2004). Digital Image Processing Using MATLAB. Pearson Education.
[4] Forsyth, D.A., & Ponce, J. (2012). Computer Vision: A Modern Approach. Prentice Hall.