一种用于自动化图像色彩校准的方法和装置与流程

文档序号:21943469发布日期:2020-08-21 15:24阅读:400来源:国知局
一种用于自动化图像色彩校准的方法和装置与流程

本发明涉及颜色校准和图像处理技术领域,具体涉及一种用于自动化图像色彩校准的装置和方法。



背景技术:

数字图像的颜色受到环境光照,采集设备等因素的影响。同样的对象在不同的光照条件下或由不同的采集设备采集得到的颜色并不一致。因此在许多与图像分析相关的应用场景中,例如基于图像的ai医生诊断、艺术品数字化等等,维持色彩一致性是必不可少的一个环节。基于色卡的色彩校准就是旨在解决因采集设备和环境色温不同造成的色彩不一致问题的一种方法。

目前常用的色彩校准设备是美国爱色丽公司出品的colorchecker系列色卡。这类色卡通常由24个色块组成,爱色丽公司提供了这些色块在标准光源下的色值信息。在进行图像采集时,首先在拍摄场景中放置一块colorchecker色卡,然后将拍摄到的色块的观测色值与爱色丽公司提供的基准色值进行比较来达到调整白平衡和色彩校准的目的。不过colorchecker系列色卡存在以下三个方面的不足:

第一是colorchecker系列色卡的色块颜色的选择考虑了日常生活中各种常见的色彩,但是各种应用场景的常见色值各有不同。例如婴儿肤色鉴定的场景中,需要对于黄色系的颜色进行重点关注,如果能够提供更多黄色系的色块将对该应用场景有更大的帮助。由此可见通用色卡很难满足多样化的应用需求。

第二是colorchecker的色卡在使用中还比较依赖人手动定位图片中色块的位置,这给使用带来了不便。该系列色卡在设计上也没有加入辅助计算机程序自动定位的设计元素,不利于开发通用的色块定位程序。

第三是这类专业色卡价格昂贵,不适合用在一些容易对色卡产生损耗的场景下,也不利于向大众推广。



技术实现要素:

为了克服上述现有技术中通用色卡存在各种的缺陷,本发明提出一种用于自动化图像色彩校准的装置和方法,可为各种应用场景定制低成本的专用色卡,并且通过配套的色块定位程序模块、色彩校准程序模块,可实现图像色彩校准流程的自动化。

本发明中,色块共有三种色值,第一种是在色卡设计过程中通过聚类分析得到的期望色值;第二种是色卡制作完成以后,将色卡放置在d65光源下观测到的基准色值;第三种是在正常图像采集环境下,观测到的观测色值。本发明通过分析基准色值与观测色值之间的关系进行色彩校正。本发明提供的用于自动化图像色彩校准装置包括以下几个部分:针对特定应用领域设计的专用色卡、该色卡的各个色块(具体实施时色块数量为26个)在d65标准光照环境下的基准色值信息、色块定位程序模块、色彩校准程序模块。在使用该装置进行自动化图像色彩校准时,首先扫描色卡背面的二维码,获得色卡的基准色值信息,自动对色块定位程序模块和色彩校准程序模块进行配置。然后将色卡放置在与采集对象相同的光照环境中,使用图像采集设备拍摄一张包含完整色卡的照片pa,之后进行正常的图像采集工作。通过色块定位程序模块分析照片pa,程序将自动定位该照片中各个色块的位置,并返回照片中各色块的观测色值信息。最后将色块定位程序模块的输出结果导入色彩校准程序模块,即完成校准程序的配置工作。将正常采集的图片输入色彩校准程序模块,即可输出色彩校准以后的结果。

本发明的技术方案是:

一种用于自动化图像色彩校准的方法,通过分析色块在d65光源下的基准色值与图像采集环境下的观测色值之间的关系进行色彩校正;包括如下步骤:

1)确定应用场景及色卡的色块数量n,并通过聚类分析确定n个色块的期望色值。

本方案提供一套色卡的设计模板,由定位块、辅助定位标识以及色块组成。色块的数量n

可以根据需求改变。具体实施时,色块数量为26。

2)印制色卡并获取该色卡色块在d65标准光照环境下的基准色值,记为β;

d65标准光源又称国际标准人工日光(artificialdaylight),其色温为6500k。

3)采用色块自动定位方法对图像进行色块定位,并获取色块的观测色值信息,记为α;

本发明提出的色块自动定位方法是一种基于定位块的通用色块定位方法。色块的颜色不影响定位效果,以保证在处理为不同应用场景定制的色卡时,都能获得一致的定位结果。

4)分析步骤3)获得的色块观测色值α和步骤2)获得的基准色值β之间的关系,确定一个连续函数f,实现从观测色值到基准色值的映射,即β≈f(α)。给定一张需要进行色彩校准的图片,将图片中的每一个像素上的色值v替换为f(v),即完成图片的色彩校准工作。

上述用于自动化图像色彩校准的方法中,步骤1)定制色卡的方法具体为:

a1.明确色卡的具体应用场景,例如壁画图像采集。

a2.获取该应用场景下的一组图片;

在这个场景中按正常的图像采集流程采集一组照片,数量不少于50张。亦可使用网络上相关的图像数据集。

a3.获取步骤a2中每张图片的每个像素的rgb色值。

a4.将步骤a3的rgb色值转化为cielab色彩空间中的色值。其中使用三元组(l,a,b)来描述颜色的色值,其中l表示色彩的亮度,a和b颜色对立维度,例如,a表示从洋红色到绿色的范围,b表示从黄色到蓝色的范围。

a5.使用k-means聚类方法对步骤a4的(l,a,b)色值进行聚类。聚类中心数量k与色卡中色块的数量n一致,例如针对26色色卡,设置k=26。在k-means中使用ciede2000色差公式计算两个颜色的差异。

a6.获得n个聚类中心,分别作为色卡中n个色块的期望色值。将聚类获得的n个色值按照l值(即颜色的亮度)升序排序,编号为1至n。

步骤2)印制色卡并获取该色卡色块在d65标准光照环境下的基准色值。印制色卡指的是本发明基于步骤1)的期望色值确定色卡的设计方案,并打印色卡。将打印好的色卡放置在d65标准光源下观测得到各色块的基准色值。本发明对每张色卡都提供一套色块基准色值信息。具体包括以下操作:

b1.将步骤a6中获得的期望色值对应的颜色按顺序(如以从左到右、从上到下的顺序)依次填入空白色卡模板中的色块,得到填好色块的色卡模板。

b2.将填好色块的色卡模板的四个标准定位块和辅助定位标识设置为白底黑色,得到专用色卡的设计图。

b3.使用潘通色彩覆盖率98%以上的打印机印制步骤b2的设计图得到色卡。

b4.因为打印过程不可避免的会出现色差,我们以打印出来的色卡在d65光源下观察到的颜色作为色卡的基准色值。具体的,将步骤b3打印出来的色卡放置在d65光源下,对色卡使用数码相机采集多张图片(一般不少于3张)。

b5.获取b4采集的每张图片中色卡的各个色块的cielab色值。以所有图片中同一编号的色块的平均色值作为该色块的基准色值。

b6.将步骤b5得到的色块的基准色值信息生成二维码,打印在色卡背面,即完成色卡的制作。

因为各种应用场景定制的色卡色块颜色各异,加大了色块定位的难度。本方案提供一种基于定位块的通用色块定位方法,能够实现色彩不敏感的色块定位效果。上述用于自动化图像色彩校准的方法中,步骤3)色块自动定位方法具体为:

c1.使用上述制作色卡的方法制作一张色块颜色均为白色,包含四个标准定位块的色卡。

c2.将c1制成的色卡放置在不同光照环境下,从不同角度,不同距离采集多张色卡图片,作为图像训练集。

c3.人工标注出c2采集的图像训练集中每张图片的四个标准定位块的位置,作为图像训练集的标签信息。

c4.将c2图像训练集中的彩色图片均转化为灰度图。

c5.使用gamma变换来调整灰度图的曝光。

gamma值由下面的公式确定,其中γ为gamma值;m是单张灰度图的所有像素的灰度均值:

c6.对c5处理后得到的每张图片,使用harris角点检测方法(chrisharris,mikestephens.acombinedcornerandedgedetector[c]//alveyvisionconference.1988.)得到每个像素点上的角点得分。在图片的每个像素位置填入该像素的角点得分,即获得了该图片的角点得分特征图。

c7.以c6的特征图作为输入,c3标注的标签信息作为标签,使用随机梯度下降方法训练一个检测标准定位块的fasterr-cnn神经网络模型,得到训练好的定位块检测模型。

c8.基于训练好的定位块检测模型,实现色块定位并获取色块的观测色值。具体执行操作c9~c14:

c9.给定一张包含步骤2)制作的专用色卡的图片,首先将其通过c4、c5、c6步骤的处理,得到该图片的角点得分特征图。

c10.将c9的角点得分特征图输入训练好的定位块检测模型,得到四个标准定位块的中心点坐标(图像坐标)。

设左上角定位块a的中心点坐标设置为(x1,y1),右上角定位块b的中心点坐标设置为(x2,y2),左下角定位块c的中心点坐标设置为(x3,y3),右下角定位块d的中心点坐标设置为(x4,y4)。

c11.建立坐标系来将四个标准定位块的中心点坐标与标准定位块在色卡中的行列坐标对应起来,建立标准定位块的中心点坐标与标准定位块在色卡中的行列坐标的对应变换关系,中心点坐标记为(x,y),行列坐标记为r行c列。

具体实施时,以图1所示的26色色卡为例,定位块a在色卡中的位置为1行1列,记为(1,1)。定位块b在色卡中的位置为1行6列,记为(1,6)。定位块c在色卡中的位置为5行1列,记为(5,1)。定位块d在色卡中的位置为5行6列,记为(5,6)。通过求解方程组实现从色卡行列坐标到c10中的图像坐标的变换。

c12.根据c11的变换关系,对r行c列的色块,求解得到r行c列色块在图像中的坐标(x,y)。

c13.对所有色块执行步骤c12计算得到色块在图像中的坐标,然后以该坐标为中心,选取宽w高h的采样窗口,通过采样窗口进行采样,计算得到采样窗口中的色值平均值,作为该色块的观测色值。

c14.按顺序输出编号1至n的色块的位置和相应色块的观测色值,即完成色块自动定位和色块观测色值信息获取。

上述用于自动化图像色彩校准的方法中,步骤4)色彩校准方法具体为:

d1.将步骤2)制作的专用色卡放置在与采集对象相同的光照环境中,使用图像采集设备拍摄一张包含完整色卡的照片pa。之后移除色卡对采集对象进行图像采集,得到1张或多张照片,记作照片集pb。例如,在敦煌壁画数字化的应用场景中,首先在壁画的光照环境下拍摄一张色卡的照片pa,之后可以脱离色卡,对壁画进行图像采集,得到照片集pb。

d2.扫描专用色卡背面的二维码,获得色块的基准色值信息。

d3.将pa通过步骤c9~c14的色块自动定位处理,得到色块观测色值信息。

d4.将d3获得的观测色值信息{α1,α2,…,α26}和d2获得的基准色值信息{β1,β2,…,β26}按色块序号进行配对,得到26对配对数据,表示为h={(α1,β1),(α2,β2),…,(α26,β26)}。

d5.基于h计算一个高斯过程回归(gaussianprocessregression)模型f,然后使用f进行色彩校准。具体的,给定一个不在h中的观测色值αt,使用步骤d6~d8计算与其对应的校准色值βt=f(αt;h)。

d6.计算h的协方差矩阵这里的k是色卡色块的数量,对于26色色卡k=26。矩阵c中第i行j列的元素计算方法如下,其中λ为超参数,通常取1:

d7.计算观测色值αt关于h的协方差列向量p的第i个元素的计算方法为:

d8.使用下列公式计算f(αt;h),其中列向量b=[β1,β2,…,βk]t

f(αt;h)=ptc-1b

d9.将d2中采集的照片集pb中的每一个像素的色值αt替换成经过模型f的修正值f(αt;h)后,完成图像的色彩校准工作。

本发明还提供一种用于自动化图像色彩校准的装置,包括:针对特定应用领域设计的26色色卡、色卡的26个色块在d65标准光照环境下的基准色值、色块定位程序模块、色彩校准程序模块;其中:

26色色卡的色块颜色是通过分析特定应用领域中经常出现的关键颜色确定的。相较于通用色卡,本发明的定制色卡能够为特定任务提供更精确的色彩校准结果。色卡的26个色块在d65标准光源下测量的基准色值信息以二维码的形式印刷在色卡背后,这些基准色值信息是色彩校准程序模块进行色彩校准的依据。

色块定位程序模块用于在色彩校准任务中定位照片中26个色块的位置并获得色块的观测色值信息。给定一张特定环境中拍摄的色卡照片,色块定位程序模块利用色卡上的定位块和辅助定位标识确定照片中1至26号色块中心所在的位置,并对该位置附近的颜色进行采样以获得对应色块的观测色值信息。

色彩校准程序模块通过分析色卡附带的基准色值信息和色块定位程序模块输出的观测色值信息之间的关系,确定一个从观测色值到基准色值的映射函数f,并基于f来完成图像色彩的校准工作。结合使用色块定位程序模块和色彩校准程序模块即可实现色彩校准工作流程的自动化。

与现有技术相比,本发明的技术方案的有益效果:

本发明提供的用于自动化图像色彩校准的技术方案考虑了各种应用场景的特殊性,提供了一种定制专用色卡的方法。在cielab色彩空间中进行k-means聚类可以提供更加符合人类视觉感受的结果。通过为每张色卡测量该卡专用的基准色值的方式,降低对于色卡打印设备的色准精度控制要求,进而降低色卡的制作成本。自动化的色块定位程序和色彩校准程序让本装置的使用方式简单且可批量操作。色卡的辅助定位设计,和基于角点特征图的色块定位算法,让定位程序在处理不同领域定制的色卡时都能够给出较为准确的定位结果。

附图说明

下面对本文说明书各附图和所表达的内容及图中的标注做出简要说明:

图1是本发明实施例制作的色卡示意图。

图中:①为定位块a;②为定位块b;③为定位块c;④为定位块d;⑤为+型辅助定位标识,能够在角点检测中给出高响应,用于提高定位模型准确性;⑥为x型辅助定位标识,用于提高定位模型准确性;⑦为色块区域,内部填充色块颜色。

图2是本发明实施例采用的色卡的制作方法流程框图。

图3是使用本发明提供的自动化图像色彩校准装置进行色彩校准的流程框图。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明提供一种用于自动化图像色彩校准的方法,图3所示是使用本发明提供的自动化图像色彩校准装置进行色彩校准的流程,包括如下步骤:

1)定制色卡,该色卡为包含26个色块的26色色卡;

2)获取该定制色卡在d65标准光照环境下的基准色值;

d65标准光源又称国际标准人工日光(artificialdaylight),其色温为6500k。

3)采用色块自动定位方法对图像进行色块定位,实现色彩不敏感的色块定位,并获取色块的色值信息;

本发明提出的色块自动定位方法是一种基于定位块的通用色块定位方法。

4)针对需要进行色彩校准的图片,对图片中的每一个像素,采用色彩校准方法,得到校准后的色值信息;再将图片中的每一个像素的色值替换为校准后的色值信息,即得到校准后的图片。

图1是本发明实施例制作的色卡示意图,图2所示是该色卡制作的方法流程。定制色卡的方法具体为:

a.为专门领域定制色卡的设计方案,包括如下操作:

a1.明确色卡的具体应用场景,例如壁画图像采集。

a2.获取该应用场景下的一组图片;

在这个场景中按正常的图像采集流程采集一组照片,数量不少于50张。亦可使用网络上相关的图像数据集。

a3.获取步骤a2中每张图片的每个像素的rgb色值。

a4.将rgb色彩空间的图像变换至cielab色彩空间。所述变换包含两个步骤,首先将图像从rgb空间转换至ciexyz色彩空间,然后再转换至cielab色彩空间。具体步骤如下:

a4(a)从rgb色彩空间转换至ciexyz色彩空间

ciexyz色彩空间(也叫做cie1931色彩空间)由国际照明委员会(cie)于1931年创立,该色彩空间使用(x,y,z)三元组描述颜色。参考opencv中对于8比特数字图像的色彩空间转换算法,rgb-xyz的变换如下,其中r,g,b的取值范围为0~1。

a4(b)从ciexyz色彩空间转换至cielab色彩空间

cielab是一种基于生理特征的颜色系统,它用数字化的方法来描述人的视觉感应,致力于颜色感知的均匀性。lab颜色空间中使用三元组(l,a,b)描述颜色。l分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a分量表示从红色到绿色,取值范围是[-128,127];b分量表示从黄色到蓝色,取值范围是[-128,127]。rgb和lab色彩空间之间没有直接的转换公式,其必须使用xyz颜色空间作为中间层。参考opencv中对于8比特数字图像的色彩空间转换算法,xyz-lab的变换如下:

x=x/0.950456

z=z/1.088754

a=500(f(x)-f(y))+128

b=200(f(y)-f(z))+128

其中

(l,a,b)即为完成色彩空间转换以后的结果。

a5.使用k-means聚类方法对步骤a4处理得到的(l,a,b)色值进行聚类,聚类中心数量k取色卡中色块的数量,针对26色色卡,设置k=26。在k-means中使用ciede2000色差公式计算两个颜色的差异。

a6.获得26个聚类中心,分别作为色卡中26个色块的色值。将聚类获得的26个色值按照l值升序排序,编号为1至26。

通过以下操作制作色卡并获取定制色卡在d65标准光照环境下的基准色值:

b.色卡的制作方案。本方案对每张色卡都提供一套色块基准色值信息,以容许打印设备存在一定程度的打印误差,达到降低色卡的制造成本的目的。

b1.将步骤a6中获得的色彩按顺序以从左到右、从上到下的顺序依次填入图1所示的色卡模板中的色块区域。

b2.图1中色卡模板的四个定位块,“+”型及“x”型辅助定位表示设置为白底黑色。

b3.使用潘通色彩覆盖率98%以上的打印机印制色卡。

b4.将步骤b3打印出来的色卡放置在d65光源下,采集3张照片。

b5.获取b4采集的每张图片中26色卡色块的cielab色值。以所有图片中同一编号的色块的平均色值作为该色块的基准色值。

b6.将步骤b5得到的26色色块的基准色值信息生成二维码,打印在26色色卡背面,即完成26色色卡的制作。。

上述用于自动化图像色彩校准的方法中,步骤3)色块自动定位方法具体为:

c.色块自动定位程序设计方案。因为各种应用场景定制的色卡色块颜色各异,加大了色块定位的难度。本方案提供一种基于定位块的通用色块定位方法,旨在实现色彩不敏感的色块定位效果。

c1.使用方案b制作一张色块颜色均为白色,包含四个标准定位块和辅助定位标识的色卡。

c2.将色卡放置在不同光照环境下,从不同角度,不同距离采集色卡图片,作为训练集。

c3.人工标注出c2采集的图像中的四个定位块的位置,作为训练集的标签信息。

c4.将c2中采集的图片转化为灰度图。

c5.使用gamma变换来调整c4灰度图的曝光。gamma值由下面的公式确定,其中m是单张灰度图的所有像素的灰度均值:

c6.对c5处理后得到的每张图片,使用harris角点检测方法(chrisharris,mikestephens.acombinedcornerandedgedetector[c]//alveyvisionconference.1988.)得到每个像素点上的角点得分。在图片的每个像素位置填入该像素的角点得分,即获得了该图片的角点得分特征图。

c7.以c6的特征图作为输入,c3的标注信息作为标签,使用随机梯度下降方法训练一个检测标准定位块的fasterr-cnn神经网络模型,得到训练好的定位块检测模型。

c8.基于训练好的定位块检测模型,实现色块定位。具体执行操作c9~c14:

c9.输入一张包含色卡的图片,色块定位程序首先通过c4、c5、c6步骤的处理,得到角点得分特征图。

c10.将角点得分特征图输入训练好的定位块检测模型,得到四个标准定位块的中心点坐标(图像坐标)。假设左上角定位块a的中心坐标设置为(x1,y1),右上角定位块b的中心坐标设置为(x2,y2),左下角定位块c的中心坐标设置为(x3,y3),右下角定位块d的中心坐标设置为(x4,y4)。

c11.建立坐标系来将四个标准定位块的中心点坐标与标准定位块在色卡中的行列坐标对应起来。定位块a在色卡中的位置为1行1列,记为(1,1)。定位块b在色卡中的位置为1行6列,记为(1,6)。定位块c在色卡中的位置为5行1列,记为(5,1)。定位块d在色卡中的位置为5行6列,记为(5,6)。通过解下列方程组实现从色卡行列坐标到c10中的图像坐标的变换。

通过带入c10中的4个点坐标,解得a1至a8共8个系数。

c12.针对r行c列的色块,解下列方程

再根据x=xw/w,y=yw/w,得到r行c列色块在图像中的坐标(x,y)。

c13.对所有色块使用步骤c12计算坐标,然后以该坐标为中心,通过宽w高h窗口进行采样,计算采样窗口中的色值平均值作为该色块的观测色值。w和h通过下述公式确定:

c14.按顺序输出编号1至26的色块的位置和其观测色值信息,色块自动定位程序执行完毕。

上述用于自动化图像色彩校准的方法中,步骤4)色彩校准方法具体为:

d.色彩校准程序设计方案。

d1.通过扫描色卡背面的二维码获得色块基准色值信息。

d2.输入色块自动定位程序处理得到的色块观测色值信息。

d3.将色块观测色值作为输入,色块基准设置作为标签,得到26对匹配数据。

d4.将这26对匹配数据作为训练数据,拟合一个高斯过程模型。

d5.输入需要进行色彩校准的图片。

d6.对d5输入图片中的每一个像素,将其色值输入步骤d4的高斯过程回归模型,得到校准后的色值。

d7.将d5输入图片中的每一个像素的色值替换为d6得到的校准后的色值信息,得到校准后的图片。色彩校准程序执行完成。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1