APP下载

基于B样条曲线的投影图像颜色校正方法

2022-07-12祁继辉侯培国赵明宇

计算机应用与软件 2022年6期
关键词:校正投影曲线

宋 涛 祁继辉 侯培国 赵明宇 李 坤

1(燕山大学电气工程学院 河北 秦皇岛 066004) 2(秦皇岛视听机械研究所 河北 秦皇岛 066004) 3(沈阳仪表科学研究院 辽宁 沈阳 110000)

0 引 言

虚拟现实技术是20世纪末兴起的一门计算机技术,能够让用户实时、没有限制地观察三维空间内的场景与事物,沉浸在模拟环境中。随着时代的发展,人们对虚拟世界要求越来越高,佩戴VR眼镜会影响真实体验感,因此,裸眼虚拟现实技术能够为人们提供一个更好的VR体验,多通道投影拼接技术把虚拟画面投影到周围的墙壁上,用户在体验该技术应用时,不需要佩戴任何辅助装置,就能够沉浸到画面中并有身临其境的观感。但是,在实际应用中,由于投影幕颜色不均匀或者投影仪彼此型号不同等一系列因素,投影幕上的投影画面难免会发生颜色扭曲,以至于投影画面存在色差[1]。

文献[2]与文献[3]分别利用最小二乘法非线性优化与迭代颜色分布转换进行颜色校正,但对于复杂的投影环境,函数拟合时间过长,并且不能保证复杂响应函数的校正精度。文献[4]与文献[5]分别利用亮度融合响应函数以及Alpha融合与Gamma校正来保证投影画面彼此的拼接处亮度与颜色的连续性,但不能保证整体画面颜色强度没有发生畸变。文献[6]提出了一种快速、可靠的系统,用于修正由相互反射、投影黑度和环境光引起的动态场景中的投影映射伪影,为了满足低延迟投影映射系统的时间限制,对一些数据进行了预计算,与了解每个曲面点的精确颜色这一重要假设相结合,在运行时有效地执行来自不需要的照明的校正伪影,通过这些扩展,任何投影映射系统的感知质量都可以显著提高。文献[7]根据投影仪的特性、显示器的表面光学特性等因素,建立了投影仪的通用颜色模型,再建立传输矩阵和颜色模型,生成颜色查找表,最后将颜色查找表与相应的亮度混合表相结合。文献[8]提出了彩色编码结构光的高精度解码方法和多源层次化时序投影彩色物体三维重建方法,减少复杂因素对结构光解码过程中产生的影响,同时进一步提高结构光解码的精度和效率。这三种方法克服了复杂投影环境导致的困难,有效提高了颜色校正的精度,但针对颜色传递函数中响应关系相差较大的相邻阶段并没有理想的控制。文献[9]利用二次准均匀B样条进行全局粗校正,再引入了带多形参二次准均匀B样条对投影曲面进行了融合带局部细校正,但是由于颜色校正后投影画面融合区域的颜色不连续性依然存在,颜色校正的误差显而易见,通过对颜色传递函数的整体检验,便可发现每个投影画面经颜色校正后难免跟理想颜色强度存在偏移。

本文采用B样条曲线构建投影图像与原图像之间的颜色传递函数,再通过分段贝塞尔曲线对校正不精确的色域进行补偿。

1 基于B样条曲线的颜色校正

1.1 B样条曲线

1.1.1B样条曲线概述

一条B样条曲线由m条曲线段组成,每条曲线段的两个端点被称为节点,因此,m段的B样条曲线存在m+1个节点。

对于n次m段的B样条曲线,其数学模型表达式如下 :

(1)

式中:Pi,n(t)表示第i段经n次B样条曲线变换后的值,i=1,2,…,m;t表示B样条曲线变换前的值,对于每个曲线段的点,均满足0≤t≤1,t=0表示第i段的首端节点,t=1表示第i段的末端节点;pi+k-1表示第i段B样条曲线的控制点,每段均由n+1个控制点来控制;Fk,n(t)表示n次B样条曲线的分段混合函数。Fk,n(t)数学表达式如式(2)所示。

(2)

式中:0≤t≤1;k=0,1,2,…,n。

对于B样条曲线的第i段,满足第i段的首端节点与第i-1段的末端节点重合,第i段的末端节点与第i+1段的首端节点重合,其中,i=2,3,…,m-1。如果第1段的首端节点与第m段的末端节点重合,则该B样条曲线为闭曲线,否则为开曲线。

1.1.2三次B样条曲线

对于三次m段的B样条曲线,其数学模型表达式如式(3)所示。

(3)

由此可知,第i段的变换结果由pi-1、pi、pi+1、pi+2四个控制点决定,如图1所示。

图1 三次B样条曲线示意图

Pi,3(0)表示第i段首端节点(即整条曲线第i个节点)的变换结果Bi,通过式(3)可推导出Bi由pi-1、pi、pi+1三个控制点决定,如式(4)所示。

(4)

由于三次m段B样条曲线有m+1个节点,因此,式(4)中,i=1,2,…,m,m+1,并且需要m+3个控制点,即p0,p1,p2,…,pm,pm+1,pm+2。

对于三次m段B样条开曲线,拟定p0=p1,pm+1=pm+2;对于三次m段B样条闭曲线,拟定p0=pm+1,p1=pm+2。

1.2 颜色校正

1.2.1RGB颜色空间

RGB色彩就是常说的三原色,R代表红色,G代表绿色,B代表蓝色。自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成,因此也称为加色模式。

计算机定义颜色时R、G、B三种成分的取值范围是0~255,0表示没有刺激量,255表示刺激量达最大值。R、G、B均为255时就合成了白光,R、G、B均为0时就形成了黑色,当两色分别叠加时将得到不同的“C、M、Y”颜色,其中:C代表青色,M代表品红,Y代表黄色。

1.2.2投影图像与原图像之间的颜色传递函数

将R、G、B三个颜色通道单独提取分别求取各自的颜色传递函数,以R通道为例,依次生成所有像素点R通道的颜色强度分别为0、15、30、40、50、…、220、230、240、255的25幅图像,另外G、B两通道的颜色强度始终为0。

摄像机依次采集这25幅图像的投影画面,计算机提取这25幅投影图像并分别计算各自R通道的颜色强度均值。

三次24段B样条开曲线可表示颜色传递函数,原图像25个颜色强度值可记为B1,B2,…,B25,代入式(4)便可求得p0,p1,p2,…,p26,再代入式(3),以照片中投影图像的颜色强度均值作为25个节点,记为T1,T2,…,T25,由此求得R通道的颜色传递函数,其余两个通道的颜色传递函数同理,不再赘述。

1.2.3原图像的颜色预扭曲变换

对原图像的像素点进行颜色预扭曲变换才能使其投影画面颜色强度达到理想值,对(R+1)×(S+1)大小的原图像像素点的颜色预扭曲变换如式(5)所示。

(5)

式中:Cr,s,c表示原图像(r,s)坐标像素点第c颜色通道变换后的强度值,其中,r=0,1,2,…,R,s=0,1,2,…,S,c=1,2,3;Ti,c表示第c颜色通道传递函数第i个节点,其中,i=1,2,…,24;Ir,s,c表示原图像(r,s)坐标像素点第c颜色通道变换前的强度值;F(Ir,s,c)表示Ir,s,c对应的理想值,Ti,c≤F(Ir,s,c)≤Ti+1,c。

由于投影仪的自身性质及外界因素,必然存在式(5)中T1,c>0且T25,c<255。因此,Ir,s,c对应的理想值如式(6)所示。

(6)

对于多通道投影系统,投影仪彼此会存在色域差异,D通道投影系统的第d台投影仪第c颜色通道的色域为[Ldc,Hdc]。为了统一色域,拟定每台投影仪的色域均为[Lc,Hc],其中Lc=max{L1c,L2c,…,LDc},Hc=min{H1c,H2c,…,HDc}。因此,每台投影仪对应原图像像素点Ir,s,c的理想值如式(7)所示。

(7)

2 颜色误差补偿

2.1 颜色误差

投影仪颜色响应曲线的复杂以及样本数量的局限会导致三次B样条曲线的4个控制点无法精确校正局部色域,因此,需要对颜色传递函数进行检验。

通过颜色传递函数分别对这25幅图像进行颜色预扭曲并投影至投影幕,摄像机依次采集,计算机再进行提取并计算投影画面该通道的颜色强度均值,根据原图像颜色强度对应的理想值进行比较,对相差较大的区域通过贝塞尔曲线进行进一步校正。

2.2 贝塞尔曲线

n次贝塞尔曲线由n+1个控制点定义,其数学模型表达式如式(8)所示。

(8)

式中:pi为控制点;P(t)为贝塞尔曲线变换后的值,其中,0≤t≤1。

(9)

2.3 基于分段贝塞尔曲线的误差补偿

颜色传递函数曲线中颜色强度偏移量较大的区域如图2所示,其中:T代表投影画面显示的颜色强度;Y代表对应图像的颜色强度;实线代表B样条响应曲线,虚线代表真实响应曲线。

图2 颜色强度偏移区域的响应曲线

可以看出,若想使投影画面显示的颜色强度为t1,经B样条响应函数将原图像的颜色强度校正为y,将其投影至投影幕上的颜色强度却为t2。

本文通过三次贝塞尔曲线的4个控制点对偏移区域B样条响应曲线进行进一步扭曲,使其与真实响应曲线重合。

以校正偏差较大的样本两边相邻的节点作为端点,在二者之间选取R-1个颜色强度值生成图像并进行B样条响应校正后对其投影,摄像机记录投影画面的颜色强度值,贝塞尔曲线模型表达式如式(10)所示。

P=C·p

(10)

式中:C为(R+1)×4的矩阵,表示选取的R-1个颜色强度与两个节点颜色强度的贝塞尔基函数;p为4×1的矩阵,表示4个控制点;P为(R+1)×1的矩阵,表示R+1个颜色强度经4个控制点变换的颜色强度值。

(11)

(12)

(13)

2.4 原图像颜色预扭曲的校正与补偿

若B样条响应函数存在K处偏移区域,则原图像对应区域的颜色预扭曲校正补偿变换如式(14)所示。

PTk=Bk(B(F(Pk)))

(14)

式中:Pk为原图像第k处偏移区域颜色预扭曲前的所有颜色强度集合,1≤k≤K;B()为B样条曲线响应函数;Bk()为第k处偏移区域的贝塞尔曲线响应函数;PTk为原图像第k处偏移区域颜色预扭曲后的所有颜色强度集合。

对于原图像K处偏移区域以外的颜色强度,其颜色预扭曲校正补偿变换如式(15)所示。

PT0=B(F(P0))

(15)

式中:P0为原图像K处偏移区域以外颜色预扭曲前的所有颜色强度集合;PT0为原图像K处偏移区域颜色预扭曲后的所有颜色强度集合。

因此,必然存在式(16)与式(17)。

(16)

(17)

式中:PB为原图像颜色预扭曲前所有颜色强度集合;PT为原图像颜色预扭曲后所有颜色强度集合。

由此可推导出式(18)。

(18)

式(18)为原图像所有颜色强度值的颜色预扭曲校正补偿变换。

3 实验结果

原始图像如图3所示。

图3 原始图像

原始图像的像素为1 240×404,长宽比例过大,若要将其投影至墙壁,需要双通道投影系统。如果两个不同型号的投影仪构成1×2阵列,那么未颜色校正的双通道投影显示图像必然存在颜色畸变,而且两个投影画面的衔接处不会有完美的匹配,如图4所示。

图4 未颜色校正的双通道投影显示图像

以R通道为例,两个投影仪分别依次投影所有像素点R通道的颜色强度分别为25、30、35、…、235、240、245的45幅图像,另外G、B两通道的颜色强度始终为0。摄像机依次采集,计算机再进行提取并计算投影画面R通道的颜色强度均值,再对同一个颜色强度的两个投影画面颜色强度进行比较,二者有明显差异,其中颜色强度的最大差异高达35。

对两个投影画面对应的原图像进行B样条曲线颜色预扭曲,大部分颜色强度范围已经得到良好的校正,颜色差异显著减少,最大的颜色差异为11,减低至原来的31.4%。经B样条曲线颜色校正的双通道投影显示图像如图5所示。

图5 B样条曲线颜色校正后的双通道投影显示图像

经分段贝塞尔曲线颜色补偿后,颜色校正不精确的区域得到良好校正,最大的颜色差异为5,减低至未补偿时的45.5%。经贝塞尔曲线颜色补偿的双通道投影显示图像如图6所示。

图6 贝塞尔曲线颜色补偿后的双通道投影显示图像

实验结果表明,颜色校正补偿后的双通道投影显示图像无明显颜色差异,投影图像之间衔接处颜色内容完全匹配,证明了该颜色校正补偿方法在双通道投影拼接的可行性。

此颜色校正方案不仅适用于半沉浸式的平面多投影系统,还适用于完全沉浸式的CAVE系统,如图7所示。

图7 CAVE沉浸式系统的颜色校正结果

4 结 语

本文提出一套投影图像颜色校正补偿方案。在对原始图像进行基于B样条曲线的颜色预扭曲之后,再对校正不精确的色域进行基于分段贝塞尔曲线的颜色补偿。实验结果表明,该颜色校正补偿方案有效减少了多通道投影系统的颜色差异。在接下来的工作中,需要对投影图像的重叠区域进行亮度调节。

猜你喜欢

校正投影曲线
未来访谈:出版的第二增长曲线在哪里?
全息? 全息投影? 傻傻分不清楚
投影向量问题
再分析降水资料的适用性评估与偏差校正
找投影
炫酷ACR
一种具有自动校正装置的陶瓷切边机
《投影与视图》单元测试题
梦寐以求的S曲线
曲线的华丽赞美诗