发明内容
本发明的目的是提供一种图像处理方法。
本发明的技术方案是:
为实现将视频或静态图像的图像进行降维的有效处理,根据本发明的其中一个较好的实施实例提供一种图像处理方法,包含下列步骤。将一图像的多个像素集合转换到一个色彩空间,该色彩空间包含色彩子空间和亮度子空间,该色彩子空间主要对应到可见光的光谱频率位置。
色彩空间包含的例子为国际标准组织所规范的CIELAB类型的色彩空间,例如:CIE1976Lab或CIE1931XYZ色彩空间等。在这类色彩空间中,每个像素分别对应到色彩空间的(L,A,B)向量数值,其中L代表亮度数值,A,B则分别对应到蓝色/黄色、红色/绿色等的对应的色彩。原则上,(A,B)所构成的子空间代表是色彩信息,且(A、B)的极坐标角度大致可对应到可见光谱上的频率位置,以分别对应到例如赤、橙、黄、绿、青、蓝、紫等颜色。
此外,图像的像素集合可对应到一个或多个像素。换言之,图像可以通过以下的方式进行聚类组成图像块,也可以先通过各种已知的方法将个别像素先分组成多个像素集合,并将这些超像素视为这里提到的像素集合进行后续的处理。
此外,根据该多个像素集合个别在色彩子空间的性质,将该多个像素集合分成第一类像素集合与第二类像素集合。例如,判断像素集合色彩平均值对于该多个像素集合来决定到底要使用第一类分布统计或是第二类分布统计,来对于像素集合分成第一类像素集合与第二类像素集合。举例来说,在CIELAB的例子中,(A,B)的模长代表色彩的鲜艳度。在色彩鲜艳度较低的时候,人眼其实是不容易辨识不同的颜色。此时便强调参考亮度值L 的信息来对于像素集合进行聚类,将符合这类性质的像素集合分类到第二类像素集合。反之,当色彩鲜艳度足够的时候,则强调参考色彩对应的可见光频率,例如(A,B)色彩子空间的极坐标,将符合这类性质的像素集合分类到第一类像素集合,来对于像素集合进行聚类。
接着,对第一类像素集合在色彩子空间对应可见光光谱频率位置进行第一类分布统计,并且针对第一类像素集合在亮度子空间的对应亮度值进行第二类分布统计。
换言之,图像中的像素集合根据其在色彩子空间的性质,将这些图像集合分类成第一类像素集合或第二类像素集合,并分别根据不同的属性进行分布统计。与此相似也属于相同与等同概念的作法,还包括各种变形。例如,透过权值的各种设定,调整分类方式,以将适合一定色彩特性的像素集合分类在一起进行分布统计,或是提供超过两类以上的分布统计。或是,采取共识函数,纳入更多的聚类判断标准,只要有两类以上的分类进行分布统计进行聚类都应该视为符合本发明的权利范围。
以上述的CIELAB为例,其中该第一分布统计,为透过对于该多个像素集合之像素在该色彩子空间的极坐标角度平均值进行分布统计。具体来说,假如要处理的超像素集合有100个像素,则可以先计算这100个像素的(A,B)平均值,作为这个像素集合的极坐标角度平均值。接着,可透过统计上直方图的概念,将极坐标角度可能出现的数值分成多个区间,并且统计这多个像素集合在这多个区间的分布情形,以作为第一类分布统计。
另一方面,该第二类分布统计,为多个属于亮度子空间的像素集合的像素在该亮度子空间向量的模长平均值。举例来说,可针对像素集合的像素之L数值的平均值进行直方图等分布的统计,以获得第二类分布统计。
利用该第一类分布统计与该第二类分布统计,接着便对于该图像中的所有像素集合进行聚类,组成多个图像块。并将这些图像块用来作为各种不同应用的图像后续处理的基础。
后续处理的应用种类非常多元。举例来说,但不限于,搭配机器学习进行图像的自动识别、导航、三维信息的产生。或是,这样的方法很适合将特定的对象类型,例如图像中的人体找出,与环境中的图像进行隔离运算,以提供反恐、动态视频制作、影像处理等各种不同的应用。
另一种可能性是运用同样的技巧对于同一个图像进行多层次的辨识。例如,首先先将图像中的人物子图像截取辨识出来。接着对于这个子图像可以重新做超像素以及/或上述的聚类操作,进而进行机器学习或是辨识。具体来说,人物的子图像首先被分别截取出来,接着以这些子图像为出发点,找出脸部、嘴巴、手部特征。由于这个方法的效果与效率都非常良好,可以结合各种应用,例如从影像判读唇语等应用。
由于图像块本身已经是大幅降维的结果,再加上参照这些图像块之间的关联,便可进行有效的机器学习。在过去,由于无法将物件有效的分离,并且由于图像块的数目太多,造成必须使用昂贵复杂的硬件,往往仍然难以获得良好的结果,在使用本发明的方法后,问题能获得明显的解决,得到比较良好的技术效果。
此外,根据实验发现,较佳的处理方式还包括判断像素集合色彩平均值来决定到底要使用第一类分布统计或是第二类分布统计,来对于像素集合进行聚类。举例来说,在 CIELAB的例子中,(A,B)的模长代表色彩的鲜艳度。在色彩鲜艳度较低的时候,人眼其实是不容易辨识不同的颜色。此时便强调参考亮度值L的信息来对于像素集合进行聚类。反之,当色彩鲜艳度足够的时候,则强调参考色彩对应的可见光频率,例如(A,B)色彩子空间的极坐标,来对于像素集合进行聚类。
此外,在取得了第一类分布统计与第二类分布统计时,可以在各个区间找出峰值,并且参考对应的像素集合在图像中的位置,假如有数个超像素集合彼此相邻,且出现在与分布峰值临近的区间内,则将这些像素集合聚类成一个较大的图像块。
上述的操作可以进行多次的迭代计算,例如在计算出新的图像块组成后,可以将图像快视为新的像素集合,再进行相似的操作。
这些计算,包括第一类分布统计或第二类分布统计,可以分解成多个线程,并分配给多个处理硬件,例如图形加速芯片内的多个运算核,来加以并行运算。根据实际的实验数据,只要透过平常的电脑跟一般的图像加速卡,运算就已经可以达到秒级以内,甚至达成实时运算的目标。
此外,透过归一的正规化处理,不管图像的像素多少,都可以运用相同的处理程序与对应的公式加以计算,也增加了应用的便利性。
本发明的有益效果是:
本发明通过色彩降维处理,大大简化了图像处理难度,有利于提高图像处理速度,降低对图像处理硬件的要求。
具体实施方式
以下提供一个具体的实施例来加以说明本发明的实施方式。
在这个示范的例子中,重新定义像素之间的分类距离(classification distance)计算方式,以便用于,但不限于,将图像中的像素分类成超像素的集合。做法主要是通过迭代计算,把具有较低分类距离的多个像素集合分类成一个个的超像素。这个分类距离结合参照像素点的色彩距离和几何距离。其中色彩距离主要采取接近人眼视觉的CIELAB色彩空间,并且主要计算两个像素色彩在这个CIELAB色彩空间中极坐标的角度差。此外,对于白天或是黑夜的场景,对于分类距离中色彩距离的几个维度给予不同权重分配。另外,对于鲜艳度在一个预定阀值以下,则增加亮度的权重。
该方法的基本思想如下:
1.将人类感知的颜色分成了两类,一种是:赤、橙、黄、绿、青、蓝、紫等基于不同可见光波长的色彩子空间;另一种是由多种波长组合成的灰白色,而灰白色在Lab色彩模式中可表现为亮度子空间,因此可以将白色表示为不同亮度条件下的灰色。
2.采用直方图方法可以将超像素图块归入互不相干的区域进行相对独立的聚类操作,因此可以保证并行计算的原子化操作,这有利于并行计算的实现。
3.该方法可以实现图像的大区域图块聚类与图像细节区域图块聚类的同步进行,并保证图像中的细节图块不会被大区域图块所吞噬。这一特点可以为图像中细节目标如:场景中的人体、汽车、动物等对象的目标捕捉与追踪提供有效的图块信息提取。
这种分类距离的重要性特别显现在于对图像中同一物件的不同像素在不同光线反射、绕射、阴影等光影影响下,即使呈现不同的像素值,仍然有相较于传统较高的机会将这些属于同一物件的像素还原分类为一个或多个超像素。由于超像素为后续谱聚类、空间与对象识别等其它进一步运算处理的基础,提供一个更为准确的分类距离算法,从而能有效减少错误递延扩散。
跟这个发明点相关的做法还包括通过新的做法,利用多核心处理器平行计算像素之间的距离,把运算时间降低到秒级及以下例如几十到几百毫秒,以符合需要即时运算需求、例如导航的各种应用。
首先,请参考图1,可先将图像基于超像素算法分解成超像素图像。
具体算法如下:
①图像转换到CIELAB空间,例如(L,a,b,x,y),其中L为亮度,a,b对应到CIELAB的(A,B)子空间,x,y为像素的几何位置。接着,再将各像素的颜色及位置向量(L,a,b,x,y)转换为(L,θ,m,x,y)向量并归一化;
②其中:
L=L,其中L∈[0,255]
归一化变量:
必须说明的是,以下所计算中所用的(L,θ,m,x,y),均为归一化向量,其中width为图像的宽度,height为图像的高度。
②如果为第一次进入该步,则在图像上均匀撒K个点(K为某个自然数的平方数,如:32×32=1024)将该像素点的位置和颜色分量作为种子(Seed),记作(LK,θK,mK,xK,yK);如果为第四步返回到该步,则通过超像素块中像素的坐标和颜色分量并行计算求得种子的位 置和颜色分量均值作为种子(Seed),记作(LK,θK,mK,xK,yK)。
③利用并行计算的特性,为每一个像素点开一个线程,一共width×height个线程,并行计算该像素点到邻近及自身的9个种子(Seed)(即:像素本身所在种子区域和其相邻的8个种子区域的距离)。将最短距离写入labelDst矩阵,最短距离对应的像素分类写入labels矩阵。
若像素点(x,y)到Seedx的距离为最短距离则:
labels(x,y)=Seedx
计算像素到种子之间的距离公式如下:
Dstnml=γ|Li-LK|+α|θi-θK|+β|mi-mK|;
Dst=Dstnml+Dstxy;
其中:Dst为像素到种子之间的5维空间距离。其中分别表示各分量的权重值,取什为0-10。
④重复②③步直到计算收敛或迭代次数达十次左右结束。
2.基于色彩多尺度图感知模型构建两个直方图:
图2为CIELAB的示意图,以下说明当色彩鲜艳度较低的时候,主要参考亮度,反之,则参考极坐标的角度进行分布的统计。具体做法如下:
①对于超像素块的平均颜色向量在ab平面上投影的模长大于Rm的颜色向量,则以Lab颜色向量在ab平面上的方向角(横坐标)及超像素图块的数量(纵坐标)构建直方图,直方图例如图3、图4所示。
②对于在ab平面上投影的模长小于Rm的颜色向量,则以超像素平均颜色向量在L上的亮度(横坐标)及超像素图块的数量(纵坐标)构建灰色直方图,如图5所示。
必须说明的是,并不是所有的图像都有落在该空间中的超像素图块,如图1(a)中的超像素图块就没有落在该空间中的图块,因此该超像素图像基于亮度L的直方图都为0。
3.根据超像素图块的相邻关系将落在相同区间直方图中的相邻图块进行合并聚类,返回到第2步中,重新统计直方图。并再次进入第3步,基于直方图中图块的相邻关系进行聚类,直到收敛。具体聚类过程如图6所示。
4.将0°~360°范围内的角度分成9个分区,分别是[0,40),[40,80),[80°,120°),[120°,160°),[160°,200°),[200°,240°),[240°,280°),[280°,320°);[320°,360°)。
5.将分别求取以上9个分区中直方图的N个最大值(其中:0<N≤9),以各分区的直方图最大值所对应的角度μi为中心构建[μi-α,μi+α]的N个区间,。当出现[μi-α,μi+α]与[μi+1-α,μi+1+α]重叠的现象时比较μi与μi+1所对应的直方图所对应的超像素图块数量的大小,保留超像素图块数量较大的区间,删除超像素图块数量较小的区间。注:如果出现[μi-α,μi+α]区间中μi-α<0的情况,则将区间转换为[0,μi+α]和[360°+μi-α,360°);如果出现[μi-α,μi+α]区间中μi+α>360°的情况,则将区间转换为[μi-α,360°)和[0°,μi+α-360°]
6.对落在相应区间[μi-α,μi+α]中且几何位置相邻的超像素图块进行合并。
7.在直方图中删除经过上述合并操作的区间,并重新对聚类过的图像回到第5步。
8.重复5~7步,直到直方图统计为0,具体的聚类过程如图7所示。
9.进行如第2步相同的直方图统计,重复5~8步,直到直方图为零。
经过该算法得出的聚类结果如图8所示。
从图8的聚类结果可以看出,通过以上的做法可以大幅的降低后续处理的维度。在机器运算中,如果无法将所需运算的维度降到一个可处理的范围,很可能造成运算中的维度灾难,或至少难以用普通的硬件加以实施。即使实施,可能也很难做到实时运算,因而限制了应用的可能性。
相对地,本发明发现了通过色彩空间的选择、搭配对于色彩鲜艳度不同,做不同的统计处理,并且利用统计的结果对于超像素等像素集合进行聚类,所形成的图像块具有非常良好的性质。相较于目前国内外的做法,本发明的做法不但能有效的降低处理复杂度、可以在普通的硬件下就能达成实时运算,而且得到的图像块具有良好的特性。
由于这些处理对于各种应用都是非常关键的一步,因此,本发明具有非常高的发展潜力。举例来说,请参照图9。在图9的上方是引用法国国家信息与自动化研究所行人数据库(INRIA Person Dataset)所公开的测试用图像,而下图为应用本发明技术对于这张图像进行聚类的结果。从这张图像可以看到,人脸可化简成四个图像块以内,而且化简的结果非常精确。
以实际的例子来说,这样的处理至少可以与例如反恐人脸辨识、街道防踩踏意外事件的预警、Adobe Photoshop等影像处理软件等进行结合。此外,由于本发明的方法很容易实现并行运算,在处理的效率上也能适合于很多应用的需求。
综合上述,图10例示了一个较好的实施实例图像处理方法流程图。这种通过电子装置进行图像处理的方法,包含:将一幅图像的多个像素集合对应到一个色彩空间(步骤101),该色彩空间包含色彩子空间跟亮度子空间,该色彩子空间主要对应于可见光的光谱频率位 置。针对图像进行统计(步骤103),例如,对于所述多个超像素集合在色彩子空间对应可见光光谱频率位置进行第一类分布统计,并且针对该图像多个超像素集合在亮度子空间的对应亮度值进行第二类分布统计。利用该第一类分布统计与该第二类分布统计,对于该图像中的多个像素集合进行聚类,组成多个图像块(步骤105)。利用该多个图像块对图像进行后续的图像处理(步骤107)。
必须说明的是,除了上述所举的具体例子,只要是利用相同概念所开发的各种变异方法,将会落在本发明权利要求所界定的范围内。
本发明未涉及部分与现有技术相同或可采用现有技术加以实现。