掌桥专利:专业的专利平台
掌桥专利
首页

一种色彩校正方法

文献发布时间:2023-06-19 18:29:06


一种色彩校正方法

技术领域

本发明提出了一种虚拟现实领域的数据处理方法,特别是指一种色彩校正方法。

背景技术

XR(Extension Reality,扩展现实)是继AR(Argument Reality,增强现实)和MR(Mixer Reality,混合现实)这两项技术之后出现的一种技术。早期的XR虚拟现实技术,是通过绿幕抠像的方式来实现的,优点是设备廉价,缺点是绿幕对演员的表演而言是不友好的,表演面对并不是真正的场景,而是各种绿色的幕墙,非常考验其想象力,一般人要表现出各种丰富的情感是巨大的挑战。后期制作时,大面积绿色还会给人物和道具染上一层淡淡的绿色光晕,给后期处理带来困难。作为改进,今天流行的虚拟现实技术是MR沉浸式LED大屏显示技术;其采用几块LED大屏组成几面幕墙,利用CAVE空间投影技术,把三维场景渲染到大屏上,主持人或演员站在LED大屏里,从摄像头的角度看,画面里的人物就像站在虚拟场景里。对主持人(或演员)而言,所见即所得,导演可以直接构图,拍摄完后期不需要对画面进一步处理。

可是相比绿幕技术,这种沉浸式LED大屏显示技术不是XR的,XR要求摄像机的视野超出幕墙后,整个画面仍旧是虚拟场景,透视一致,颜色一致。理想非常美好,但是现实很骨感。目前能完美实现这项技术的公司全球也寥寥无几。主要是几个难点:

1)摄像机的定位设备,对这种无限蓝箱XR而言,需要是毫米级的精度,所以更加昂贵。而且定位装置一般不会直接提供虚拟空间的摄像头位置,需要开发。

2)摄像机的内参和畸变,影响虚拟图像和真实图像的匹配。

首先虚拟相机视场角(FOV)要匹配真实相机的焦距,对变焦摄像机而言,在拍摄人员变焦时能够平滑的进行图像匹配,需要时间同步的黑场设备,更加需要的是一种高精度的标定方法,让焦距和视场角映射误差低于0.1度。

其次真实相机都会有径向畸变,所以还要对虚拟摄像机渲染的图像人为的加入畸变。对变焦摄像机而言,每个焦距下的畸变系数都是不一样的,所以要求一定精度的畸变标定,和上面的FOV标定一样,每个摄像头都要在整个焦距范围内标定。

3)最困难的是颜色一致。

现有技术中缺少一种能够有效的对虚拟现实领域的色彩校正方法。

发明内容

针对现有的XR技术中缺少能够有效的对虚拟现实领域的色彩校正方法的问题,本发明实施例的目的是虚拟现实领域的数据处理方法,特别是指一种色彩校正方法,能够有效的对虚拟现实领域的色彩校正方法。

为了达到上述目的,本发明实施例提出了一种色彩校正方法,应用于UE4引擎,以对拍摄到的数据进行处理;该方法包括:

步骤1、禁用UE4引擎的色调映射ToneMapping;

如果是要获取SceneColor参数,则可以通过UE4引擎的Post Process Material来获取;

如果是要获取SceneColorBeforeTonemap参数,则可以把UE4引擎的参数PostProcess Material的Phase改成Before Toonmapping。

步骤2、禁用UE4引擎的自动曝光,以避免自动曝光干颜色校正;

步骤3、确定摄像机的白平衡和曝光度,并禁止在实拍时修改摄像机的白平衡和曝光度参数;

步骤4、UE4场景去掉灯光,让屏幕显示自发光,以使LED驱动的颜色就是色卡上的纯粹的标准色;

步骤5、LED大屏现场,关闭灯光;以防止现场的环境光影响LED屏幕的颜色;

步骤6、确定与LED大屏空间一致的场景,并将UE4的集群配置的CAVE屏幕配置为与真实LED大屏尺寸一致;以使摄像机在任何位置时都能够使每个LED大屏显示的图像就是对应面片的材质;将每个面片设置一个自发光材质以构造一个单色LED虚拟环境;由摄像头拍摄这个单色面片以获取单色图片,该单色图片包含色卡原色和变色的信息以及LED像素不同视角下的亮度变化;

步骤7、用支持向量机SVM来计算颜色还原网络,其中该支持向量机SVM中用于训练的网络包括输入层、中间层、输出层;其中该输入层包括R拍摄、G拍摄、B拍摄,对应于拍摄到的红、绿、蓝三原色数据;通过中间层的n个核可以得到输出层R原始、G原始、B原始,对应于原始的红、绿、蓝三原色数据;每个颜色,取0度视角像素的原色和返回色,将所有颜色的0度视角数据集合在一起,形成样本库,训练得到颜色还原的人工智能网络;其中该返回色为LED大屏投影及摄像机采集获得;

其中,对每个采集卡图像的点,计算出它对应的UE4引擎渲染图像的颜色RGB,而输入是采集卡的RGB,核的数量为预先设定;如果未来在迭代到相当大的训练次数后,训练结果仍旧不满意,则可以增大核的数量,也就是增加高维空间的维度,直到它真实的满足输出层线性映射的需求;其中,核函数为如下的高斯核函数;

其中x代表低维空间坐标;x’代表该高维空间核在低维空间的核心坐标;σ代表该高维空间核的核半径;

步骤8、计算每个颜色的视角光强曲线:提取返回色的光强,其中该返回色为LED大屏投影及摄像机采集获得;将返回色的光强与与0度视角的光强比较,提取出对比曲线;其中,利用CAVE大屏的位置,提前确定多个三维点,再转化成屏幕点;

将样本做成一个光强百分比的表格,在运行时,采用相邻数据插值的方式就可以了;这个表格可以通过Texture参数传入GPUShader中,而GUPShader中有高效的插值算法。

步骤9、通过SVM颜色还原网络,将采集卡图像还原成UE4引擎渲染图像;将颜色校正矩阵和LED光强曲线融入到UE4的显卡渲染中,把合成阶段的虚实结合,以利用显卡计算的高性能获得沉浸式XR颜色校正需要的实时性能。

其中,所述步骤7中还包括:

从原始三维场景渲染的图像,到实际拍摄的采集卡图像,经历了从三维场景投向LED大屏,到摄相机拍摄LED大屏到采集卡,而摄像机又受到人为的设置,所以颜色变换是一种非线性变换;利用得到的样本进行训练以得到高维空间,将非线性问题转化成线性问题。

上述技术方案具有以下有益效果:本发明实施例提出了一种色彩校正方法;突破了LED大屏亮度和视角的非线性关系。在标定中,将校色矩阵和视角光强两种计算需要的样本同时采样。采用人工智能SVM算法来学习颜色还原的网络,将非线性映射变成GPU可以高速处理的线性映射。此外,该技术融合了应用数学,3D引擎,色彩学,图像图形处理等诸多学科的最新成果,也成了该发明的技术壁垒。保护点是兼顾色彩校正的实时性,以及畸变一致的实时性,能在GPU编程中全部无缝结合在一起。

附图说明

图1为本发明实施例所涉及的色相图;

图2为饱和度的示意图;

图3为色度图中人类可见光范围的示意图;

图4为LED屏幕的三基色示意图;

图5为红色的参数示意图;

图6为二维空间下的SVM原理示意图;

图7为通过SVM将一个低维度空间的非线性问题后变成高维度空间的线性问题后的解与真实值之间的对比图;

图8为SVM将低维度空间变成高纬度空间后的解;

图9为本公开实施例中的SVM进行训练的网络结构示意图;

图10为LED二极管光能量角度示意图;

图11为无限蓝箱XR的处理过程示意图;

图12为影响色彩的无限蓝箱环节的示意图;

图13为LED二极管光能量角度示意图;

图14为实时计算颜色校正示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

最难的其实是色彩的匹配。从结果上看每个LED大屏的渲染就会出现明显的屏幕接缝。而且LED上的颜色,和三维渲染的图像有明显色差。这样蓝箱在合成时,会出现LED内拍摄的图像,和LED外的虚拟渲染图像有巨大的色差。目前LED大屏的无限蓝箱(XR)颜色校正有几种方法:

方法一:手工校正:通过调节LED大屏和相机进行校正;其具体包括:

步骤1)有的LED大屏硬件厂家的拼接器有简单的调色方法,技术人员能从肉眼的对比上,缩小LED色域和原始图像的色域差别。假设LED大屏的蓝色分量亮度存在差异,可以通过调节所有单元的蓝色LED驱动脉冲,但是如果蓝色分量的色度也存在差异,则需要调节红绿蓝三种颜色分量来改善误差。

步骤2)通过MR沉浸式演播室的色彩校正功能,调节每个屏幕的色彩对比度,饱和度,Gamma,增益,和偏移值,让几个屏的色彩趋于一致,弱化大屏的接缝。一般是让各屏跟前屏的颜色一致,但是人工调节需要非常高的水平,而且目前发现除了正常亮度的一套调节值(对比度、饱和度、Gamma,增益和偏移)。对高光和弱光都应该有单独的一套调节值。这样一面屏有15个可调值,N面屏有15*N个可调值,调节方式没有统一的标准,全凭肉眼的感觉,这就是大多数沉浸式演播室的现状。虽然目前人工智能技术发展迅猛,但是能应用到这个领域的方法很少。

步骤3)在合成阶段,把模拟虚拟场景渲染当作是一个液晶屏进行调节,如步骤2)中所述的也是15个可调制,通过肉眼来弱化合成出的色差。如果步骤1)的前提,LED拼接器带有色域调节的按钮不存在,那这就是最主要的调节色差的方式。

方法一对技术人员的难度巨大,理论上是无法调节出正确的色彩,即使一个技术人员毕生都在调色,时间上也远远不够,所以只能期望一个近似值,而且是非常机会主义的。同一个技术人员,想重复调节到上次的数值,都是不可能的。

方法二:计算色差并进行补色,具体包括:对模拟相机渲染这个环节,计算每个像素的色差。基础知识1:色彩的基础是色相,用0-360度表示。

基础知识2:色相的纯度就是饱和度,越纯粹的颜色(红绿蓝)饱和度越高,而灰黑白饱和度越低。

基础知识3:色相和饱和度合起来就是色度。在如图3所示的色度图中,人类可感光的范围就是波长460到620左右。可以看到各种存储格式和设备(LED,液晶)等的可表示色域都近似成一个三角形。三个角点就是红绿蓝三原色。从UE4渲染,传输到LED液晶,那么此红绿蓝(LED)非彼红绿蓝(UE4引擎),颜色发生了转换,这就是LED产生色差的主要原因。如图4所示的,LED大屏的3基色色域三角形,普通LCD液晶显示屏和标准色板的色域三角形,相互并不是完全重合;因此只有将三基色调整重合才可以显示正确的黄色。青色才可以落在蓝色三角形左边斜边的的中部,显示正确的青色。

基础知识4:亮度(色阶、明度、灰度)决定照射在颜色上的白光有多亮;如果亮度允许超过100,产生过曝的效果。

基础知识5:颜色=色相+饱和度+亮度=色度+亮度。以图5为例,可以产生复杂的颜色集群。

基础知识6:LED的视角特性,每个LED显示大屏的最小单元,LED二极管在0度视角的光强最强,随着发光轴离视角的偏离程度增大而衰减。而且更复杂的是,LED的一个点是由3个发光二极管组成,代表红绿蓝三原色,他们的光强与视角的衰减也是不同的。这个必须由LED厂家派专门的检测人员来测试。

基础知识7:LED亮度随环境温度衰减:红绿蓝LED灯珠亮度会随着环境温度的上升而衰减,且红绿蓝的衰减程度并不一致。

基础知识8:摄像机的白平衡:白平衡的基本概念是“不管在任何光源下,都能将白色物体还原为白色”;对在特定光源下拍摄时出现的偏色现象,通过加强对应的补色来进行补偿。白平衡的调整过程就是通过调整色温而实现的,一般建议晴天时将白平衡调到日光(5200k),多云阴天时将白平衡调到阴影(7000k)或阴天(6000k),室内光线是钨丝灯时用钨丝灯(3200k),光线是白色荧光灯时用白色荧光灯(4000k);

冷暖色调以及正常日光环境下的标准的色温值。

色温>5000K,属于冷色调(颜色为偏蓝),具有冷的氛围效果;

色温在3300-5000K,属于中间色调(白),具有爽快明朗的氛围效果;

色温<3300K,属于暖色调(颜色为偏红),具有温暖稳重的氛围效果。

基础知识9:摄像机的曝光度(光圈、快门、ISO):曝光度命令是通过线性颜色空间(灰度系数1.0)而不是图像的当前颜色空间执行计算而得出的结果,可分别调整图像的高光、阴影和中间调以及对比度,在32位文件中常用于解决图像过曝或欠曝的问题,还可轻松实现冲刷效应(wash out effect)等特殊风格。

现实世界的光照强度数值范围相差非常大,相机又没办法在范围这么大的数值的情况下保证精度不损失,下图,不同地点的光照(流明Lux)都不同。而相机的感光范围只能是世界范围和图像范围的一部分。在照像机拍照的时候,就引入了三个重要的参数:

光圈(f-Stop):决定同一时间通过光线的多少(可以认为是孔的大小);

快门(1/s):决定光线通过的时间长短(可以认为是开关孔的时间);

感光度(ISO):决定胶片的受光照射的敏感度效果;

光圈越大,背景越模糊,也就是我们常说的景深效果(Depth of Field);快门越大,运动物体能保留的移动距离就越长,产生运动模糊(Motion Blur)的效果;ISO越大,就越容易产生曝光过度的画面,噪点也会变多。

方法二要考虑上面每个环节的因素,有客观的因素,由人为调节因素,都得严格计算,这导致要采集的数据难度非常大,比如摄像头的白平衡,光圈,快门,ISO,UE4引擎的数据是否一致。计算的公式也很多。这样就存在无法实时计算渲染的问题,没有办法将计算放在显卡里高速执行,无法利用UE4引擎的Shader来对显卡编程。一句话就是复杂度高,实时性达不到。

针对前面的两种方法存在的问题,本发明实施例提出了一种色彩校正方法,其包括:标定步骤和实时计算步骤。

本发明实施例的方法不采用UE4引擎提供的色卡,因为UE4引擎提出的色卡的颜色会受到诸多影响,可能包括以下的一种或多种:虚拟场景的影响、LED大屏色域导致的色差影响、LED所在环境光的影响、LED每个像素相对摄像机的视角的影响、摄像机的白平衡的影响、摄像机的曝光度(光圈、快门、ISO)的影响、UE4引擎的白平衡的影响、UE4引擎的曝光度的影响。因此,所以直接由色卡,像OpenCV中那样利用计算色彩校正矩阵CCM是不可行的,也是不正确的。

本发明实施例的方法提出了5个约束,1个特制场景,2个标定计算,1个实时计算。

(1.1)约束1为:禁用UE4引擎的色调映射:

因为显示器的颜色范围小于真实世界的颜色范围,因此现有的UE4引擎中提供了Tonemapping功能,其是把大范围HDR的颜色映射为小范围的LDR颜色以便显示器可以正常显示。模拟胶片对光的响应的一种方法,其中包含模拟摄像机的白平衡。发明人在使用UE4引擎时发现,无法让虚拟场景的白平衡和摄像师手工调节的白平衡数值始终一致,所以禁止色调映射ToneMapping。其具体包括:

如果是要获取SceneColor参数,则可以通过UE4引擎的Post Process Material来获取;

如果是要获取SceneColorBeforeTonemap参数,则可以把UE4引擎的参数PostProcess Material的Phase改成Before Toonmapping。

(1.2)约束2为:禁用UE4引擎的自动曝光:

由于UE4引擎在打光时,为了避免自动曝光的影响,通常是需要手动调节一个曝光度;自动曝光的原则就是让中灰在不同的灯光环境下,仍然看起来还是中灰,也就是0.18的输入产生0.18的输出。如图6所示的,其中最右侧的一条竖线为当前EV100值;中间的一条线为目标EV100值,最左侧的一条竖线则为经过曝光补偿后的最终EV100值。

此外UE4引擎还增加了曝光补偿(Exposure Compensation),就是在自动计算的曝光度基础上,又对曝光值做了偏移。如果自动曝光计算出来的曝光度不好看,可以人为增减明暗层次。曝光补偿是一个指数型的数值,具体包括:

ExposureCompensation=2^AutoExposureBias

0:没有补偿

-1:1/2亮

-2:1/4亮

1:2倍亮

2:4倍亮

本公开实施例中,不需要UE4的自动曝光,因为它引入一个不可控的因素,干扰了颜色校正。

(1.3)约束3:在标定前,确定摄像机的白平衡和曝光度。

本公开实施例中的颜色校正和摄像机的人工设置相关,每次摄像头修改了配置,都需要重新进行颜色校正,所以禁止在实拍时修改摄像机内部数值。

(1.4)约束4:UE4场景去掉灯光。

为了还原真实的色卡颜色,必须去掉UE4的灯光,让屏幕显示自发光。这样来自LED驱动的颜色就是色卡上的某个纯粹的标准色。

(1.5)约束5:LED大屏现场,关闭灯光。

主要是为了不让现场的环境光影响LED屏幕的颜色,有些现场的灯光强度比较大,就会对颜色校正结果产生一定的影响。

(2.1)特殊场景:和LED大屏空间一致的场景:如果我们的虚拟空间也有跟真实LED大屏一模一样的面片,此外UE4的集群配置的CAVE屏幕配置一定是跟真实LED大屏尺寸一致的。所以,无论摄像机在任何位置,每个LED大屏显示的图像就是对应面片的材质。这样,我们只要给每个面片一个自发光材质,它的颜色由程序指定,那么我们就可以构造一个单色LED虚拟环境。然后由摄像头拍摄这个单色。这里面既包含色卡原色和变色的信息,还包含LED像素不同视角下的亮度变化。

(3.1)标定计算1,用支持向量机SVM来计算颜色还原网络。

每个颜色,取0度视角(正前方)像素的原色和返回色(LED大屏投影+摄像机采集),将所有颜色的0度视角(正前方)数据集合在一起,形成样本库,就可以训练颜色还原的人工智能网络。

从原始三维场景渲染的图像,到实际拍摄的采集卡图像,经历了从三维场景投向LED大屏,到摄相机拍摄LED大屏到采集卡,而摄像机又受到人为的设置(曝光、白平衡等等),所以颜色变换必定是一种非线性变换。

为了达到实时颜色校正(还原),我们需要通过上面样本来得到一个高维空间,将非线性问题,转化成非常容易计算的线性问题。

市面上一般的厂家采用的是人工臆想的高维空间V,有多种维度组合,原始3维,到计算量非常大的19维空间。

V

V

V

V

V

V

V

V

V

其中:R代表红色通道值。

G代表绿色通道值。

B代表蓝色通道值。

举例V

举例R*G

通过高维空间V,理想化的认为进入了色彩还原进入到线性变换。

X=A

Roi=a

Goi=a

Boi=a

参数说明:

AT代表下面输出线性方程的参数构成的矩阵。

Roi中o代表输出,i代表第i个样本,R代表红色通道值。综合意思是第i个样本输出颜色的红色通道值。

V代表某个高维空间,如上V15。

vji中i代表第i个样本,j代表高维空间的第j个坐标。

这种训练方式也非常简单,把样本变成高维空间样本后,简单的通过矩阵的伪逆运算就可以得到线性变换的参数。

A=(V×V

参数说明:

V代表上面提到的高维空间的所有训练样本构成的矩阵。

VT代表V矩阵的转置。

X代表输入的低维空间所有训练样本构成的矩阵,这里低维空间就是颜色空间(3维)。

XT代表X矩阵的转置。

但是实际上,没有人能证明从高维空间到RGB三维空间是线性映射,所以训练的结果仅仅是对样本而言误差很小,泛化的效果通常很差。

我们采用的支持向量机SVM算法,本身是一种对非线性样本进行线性分类的方法。

如图6所示的,图中是以二维空间为例的支持向量机SVM算法;如图6所示的二维空间样本分类的决策面是一个直线(分割线),

写成直线方程是:x

参数说明:

x

写成矩阵方程是:

通用的决策面方程表示为:ω

控制直线方向的向量:ω=[ω

控制直线位置的n-1维参数:(截距)γ就是截距,它控制了直线的位置。;

空间上任何样本点x到决策面的距离

分类间隔:W=2d

SVM算法就是追求W的最大化。

给样本点增加类别标签(这里是两类);

那么两类样本到决策面的最小距离d可以写作:

决策面方程是:

新的方向向量和截距:

采用新的方向向量和截距那么样本分类可以简化为:

约束条件进一步在形式上精练,把类别标签和两个不等式左边相乘,形成所有样本在决策面方程下的统一表述

在改进的公式中,可以称这些特殊样本为支持向量:

那么让分类间隔W=2d最大化的问题,就变成决策方程的最小化问题;线性SVM最优化问题的数学描述:

s.t.y

这里:m是样本点的总个数,缩写s.t.表示“Subject to”是“服从某条件”的意思。

为了解决上面的有约束的优化问题,本公开实施例中通过拉格朗日对偶去掉约束条件,就可以求解分类问题了。

本公开实施例中不是用SVM解决分类问题,而是采用SVM将一个低维度空间的非线性问题(颜色变换)变成高维度空间的线性问题。对非线性问题,SVM可以得到非常逼近的解。如图7和图8所示的,SVM将低维度空间变成高纬度空间是通过核函数,并且核函数是可以训练的,通过样本误差反馈,核函数可以不断调整自己的核心和半径,最后在一定误差允许范围内达到我们期望的线性映射,只要得到核的参数,高维空间映射的参数,就可以用于GPU的实时颜色还原。

本公开实施例中,用于训练的网络如图9所示的的,其包括R拍摄、G拍摄、B拍摄,对应于拍摄到的红、绿、蓝三原色数据;通过n个核可以得到R原始、G原始、B原始,对应于原始的红、绿、蓝三原色数据。如图9所示的,中间层(如图9所示的n个核)到输出层(R原始、G原始、B原始)是一种线性映射,它的线性映射关系是我们训练的目标之一。而输入层(R拍摄、G拍摄、B拍摄)到中间层是就是SVM的核函数,但是核的中心是训练的另一个目标。

对每个采集卡图像的点,本公开实施例的技术方案可以计算出它对应的UE4引擎渲染图像的颜色RGB,而输入是采集卡的RGB,核的数量是本公开实施例的技术方案设定的,如果未来在迭代到相当大的训练次数后,训练结果仍旧不满意,则可以增大核的数量,也就是增加高维空间的维度,直到它真实的满足输出层线性映射的需求。

核函数有很多种,本公开实施例的技术方案选择如下的高斯核函数;

其中x代表低维空间坐标;x’代表该高维空间核在低维空间的核心坐标;σ代表该高维空间核的核半径;

高斯函数是一种局部性强的核函数,也是应用最广的一个;无论大样本还是小样本都有比较好的性能,而且其相对于多项式核函数参数要少。

(3.2)标定计算2,计算每个颜色的视角光强曲线。

提取返回色(LED大屏投影+摄像机采集)的光强,与0度视角(正前方)的光强比较,提取出如图10所示的曲线。这里面的技巧是利用CAVE大屏的位置,提前确定几个三维点(它的视角分别是0,5,10,15,....,85,90),再转化成屏幕点。这样直接从采集卡的图像上取样就非常高效简单了。把样本做成一个光强百分比的表格,在运行时,采用相邻数据插值的方式就可以了。这个表格可以通过Texture参数传入GPUShader中,而GUPShader中有高效的插值算法。

(4.1)实时计算1:通过SVM颜色还原网络,将采集卡图像还原成UE4引擎渲染图像。

将颜色校正矩阵和LED光强曲线融入到UE4的显卡渲染中,把合成阶段的虚实结合的“虚”向“实”靠拢,利用显卡计算的高性能,就可以达到沉浸式XR(无限蓝箱)颜色校正需要的实时性能。实际上还包含相机畸变的偏移。最终的输出图像可以体现出虚拟场景中每个像素的色变和畸变。

现有技术方案中针对无限蓝箱的尖端的颜色校正技术是垄断在少数顶尖公司中,并不普及,也不开源。一般公司的XR颜色校正技术就是人工肉眼调节,对普通客户而言,由严重的使用困难以及较高的失败率,大概率因为难以标定而失去客户。对于适合严格色彩学理论的全彩计算的方案,主要是计算复杂,达不到三维渲染引擎的实时渲染需求。无法把它放在引擎的GPU编程中。这样就无法用在沉浸式LED的无限蓝箱XR中,所以从广电和文旅的应用上就被淘汰了。本发明兼顾了数据采样,引用环境约束,实时渲染需求,达到了发达国家的科技水准,理论上有90%的标定成功率,并且对最终用户而言是异常简单的,在实际应用中带来很好的回报。

本公开实施例的关键点是突破了LED大屏亮度和视角的非线性关系。在标定中,将校色矩阵和视角光强两种计算需要的样本同时采样。采用人工智能SVM算法来学习颜色还原的网络,将非线性映射变成GPU可以高速处理的线性映射。此外,该技术融合了应用数学,3D引擎,色彩学,图像图形处理等诸多学科的最新成果,也成了该发明的技术壁垒。保护点是兼顾色彩校正的实时性,以及畸变一致的实时性,能在GPU编程中全部无缝结合在一起。

如图11所示的为本发明实施例中的无限蓝箱的处理流程图。其流程包括:

根据美工提供的三维场景打包,下面一路是通过分屏渲染计算机,在每个屏上按照自己的视角和投影区域来渲染,然后显示在每个分屏LED上。CCD摄像机拍摄到画面,传输给合成计算机的采集卡。上面一路是根据相机定位系统(OptiTrack、HTC VIVE或Mo-Sys等),实时获取真实相机在CAV空间的位置和焦距。然后确定虚拟相机在虚拟场景中的位置和视场角(FOV),然后就可以渲染出图像。因为CCD相机的图像是带畸变的,所以UE4引擎渲染后,也要模拟相机畸变,具体将就是加入UV偏移,实现已经计算好不同变焦的畸变偏移图像(类似查表),然后就可以实时的进行UV畸变偏移。最后是两路图像的合成,这里面就用到了图4介绍的实时颜色校正算法。

如图12所示的,其整个步骤和图11是基本一样的的,仅仅是对可能严重影响颜色的因素进行了分析。总结一下就是UE4引擎的因素,LED大屏的因素,相机拍摄的因素,导致合成的图像出现明显的色差(拼缝)。

如图13所示的为LED二极管光能量角度示意图,发明人发现一个非常关键的色彩实真因素,就是LED大屏光强和视角的强相关,这在其他文献中很少有人提及。能计算视角,必须有精确的相机定位能力。

如图14所示的,介绍了实时进行颜色校正的步骤,渲染管线的像素处理流程中,通过像素UV坐标,可以计算出像素对应的三维空间位置,法线。结合输入的相机定位,就可以计算出相机对该像素的视角了,然后查视角光强表,就可以获得当前光强的百分比,正前方的0度视角,光强是100%。通过CAVE掩模,可以分析出当前像素是“虚”景还是“实”拍,CCD拍摄的就不用处理直接输出了。如果是UE4引擎渲染的,要通过颜色变换,计算出LED大屏上的模拟颜色。然后模拟颜色和光强百分比进行处理,得到视角下的最终模拟颜色,就和LED非常逼近了。这个实时渲染流程中还包含了畸变UV偏移。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种基于图像类型分析的遥感图像色彩校正方法
  • 色彩校正装置、色彩校正系统、色彩校正用全息图、色彩校正方法以及程序
  • 色彩校正装置、色彩校正系统以及色彩校正方法
技术分类

06120115582755