作者简介:韩成(1978-),男,副教授,博士.研究方向:计算机仿真,计算机视觉和智能控制.E-mail:hancheng@cust.edu.cn
为了消除CAVE系统中相邻投影幕间的光辐射影响,根据余弦辐射体发光强度的空间分布,建立了光辐射补偿模型,设计了基于GPU的光辐射并行补偿算法。以现有CAVE系统为例,通过分析可知,并行补偿算法可以通过多级补偿得到最佳的补偿效果;第一级补偿大约可以消除80%以上的光辐射影响;只有大约四分之一的图像受到严重影响;如果综合考虑多个投影图像间的多级补偿,那么在大型正交多幕投影系统上展示的视频需要进行预先的补偿处理。为此,根据对补偿结果的分析,提出了一种快速的光辐射补偿方法。在建立的大型正交多幕特种影院中,使用本方法得到了人眼辨别范围内的色彩流畅和颜色亮度均衡一致的图像。
In order to eliminate the effects of optical radiation between adjacent projection screens in CAVE systems, an optical radiometric compensation model is established according to the spatial distribution of optical luminance of cosine radiator. Besides, an optical radiometric parallel compensation algorithm is designed based on GPU technology. By analysis of current CAVE systems, it can be concluded that parallel compensation algorithm can achieve the best compensation result through multi-level compensation. In the first compensation level, more than 80% of optical radiometric influence can be eliminated and only about a quarter of the image is severely affected. When the overall multi-level compensation among multi-projection images is considered, the video displayed on the projective system of large-scale orthogonal multi-screens must be pre-compensated. Therefore, a fast optical radiometric compensation method is proposed according to the analysis of compensation results. This method is applied in two special theaters of large-scale orthogonal multi-screens, and it is demonstrated that images with uniform color and brightness within the distinguishing range of human eyes can be achieved.
中图分类号:TP391.9 文献标志码:A 文章编号:1671-5497(2015)04-1266-08
近些年, 多投影系统在生活中的应用随处可见, 如2008年北京奥运会开幕式上的空中环幕, 2009年山东全运会开幕式上的巨型碗幕, 2010年上海世博会上世界气象馆、比利时-欧盟馆中的大屏幕, 都展示了多投影显示技术的无穷魅力。目前, 多投影显示技术正向更加简单的系统安装和扩展、更低的系统搭建和维护费用、更加真实的沉浸感等方向快速发展, 并已经成为了一个跨学科的、面向应用的研究热点[1, 2, 3]。
根据投影幕的不同, 多投影显示系统分为柱幕投影系统、锥幕投影系统, 球幕投影系统和CAVE投影系统等[4], 其中CAVE投影系统, 在商业、军事、科研等诸多领域都有着巨大的应用前景[5, 6]。在CAVE系统中, 由于投影到相邻屏幕上的图像会产生光线的辐射效应, 使得相邻投影幕连结处附近的图像亮度和颜色发生细微的变化, 导致部分图像的色彩和亮度不连续。人眼对于光的颜色及亮度的分辨率非常高, 特别是对于颜色的差别和变化非常敏感。一般情况下, 亮度2%的改变和颜色2 nm左右的变化都会让人们产生视觉上的差异, 而这种视觉差异会严重影响人们的观赏效果。
当前的图像处理技术已经有了长足的发展, 如几何扭曲、光度映射和边缘融合等已广泛地应用到多投影多屏幕显示系统中。但多数都受限应用在专用的硬件上, 或靠不断增加显卡本身的性能来获得良好的图像校正效果[7]; 此外, 通过摄像机和投影机相结合的方法产生的光线补偿技术[8, 9, 10]也有了相应的发展, 可以部分消除环境光的影响[11]。从现有多投影显示技术的分析与研究中可以看出, 多投影技术需要解决的主要问题是对多投影图像的几何校正和颜色校正[12, 13], 为了实现复杂曲面环境下多投影图像的颜色校正, 可以根据ITF响应曲线对多投影图像进行局部亮度与全局亮度统一的校正、根据投影曲面纹理材质的颜色映射进行多投影图像的颜色校正[14, 15]。此外, 周艳霞等[16]提出了仅利用多亮度校正模板来进行颜色校正, 省去了测量投影机颜色本征属性的步骤。
全景立体特种电影是一种全新的特种电影形式, 它由水平360° 和垂直180° /360° 的空间立体影像构成。此类影片通过大型正交多幕投影系统进行播放, 该系统是一种CAVE系统的扩展形式, 由围绕观众的5(前、后、左、右、顶)或6个(前、后、左、右、地、顶)投影幕组成了一个立方体结构。目前, 尚未发现有针对大型正交多幕投影系统的光辐射补偿方面的研究报道, 本文通过建立多级光辐射影响补偿模型, 设计了基于GPU的光辐射并行补偿算法, 并分析了并行算法的补偿效果和性能, 为了进一步提高补偿速度, 提出了快速光辐射补偿方法, 以达到实时补偿的要求。
投影机亮度指投影机的光输出, 通常用光源在单位时间内向周围空间辐射出的使人眼产生感觉的能量, 即光通量来表示。在理想情况下, 投影机的亮度是均匀的。根据不同的投影机, 不同类型的灯泡, 不同的应用环境, 可以将投影机的光源看成点光源或面光源。一般情况下, 使用发光强度表征点光源的光度特性, 使用光亮度表征面光源的光度特性, 使用照度表征像面上的光度特性。
如图1所示, 如果光源S为点光源, 那么S在距它|r|处面积为dA的面元上产生的照度如公式(1)所示:
式中:θ 为面元法线与r方向的夹角; dΦ 为此方向在大小为Ω 的立体角内辐射的光通量; I为面元法线方向的发光强度。
面光源形成的照度如图2所示, 从图中可知, 面光源在距离为|r|的表面上形成的照度如公式(2)所示:
式中:dAs为面光源的面元面积; θ 1为光源面元法线与光源面的夹角; θ 2为被照表面面元法线与其面元的夹角; L为光源面元上单位面积在r方向上单位立体角内辐射的光通量, 即光亮度。
通常来说, 一般的发光面在空间不同方向的光亮度是不同的。在CAVE系统中使用的投影幕可以被近似看成余弦辐射体。余弦辐射体也称为朗伯辐射体, 是各个方向上辐射亮度相等的辐射体, 即辐射亮度与观察角度无关。余弦辐射体的发光强度的空间分布符合余弦定律, 其在不同角度的辐射强度会依余弦公式变化, 角度越大强度越弱, 如图3所示。
根据余弦辐射体的特点可知, 与面元的法线成θ 角方向的发光强度可由公式(3)表示:
式中:IN为面元法线方向上的发光强度。
余弦辐射体向平面孔径角的立体角90° 范围内的光通量如公式(4)所示, 对应的光出射度如公式(5)所示:
在CAVE系统中, 投影可以采用背投或正投两种方式, 当投影机将图像投影到屏幕上时, 根据光的反射或透射以及辐射原理, 投影幕不仅受到环境光的影响(如果采用暗室, 可以忽略), 而且相邻投影图像间也存在相互影响, 如图4所示。由于背投和正投方式的光辐射补偿算法基本相同, 因此, 下面将只构建忽略环境光和背投方式下的两个相邻投影幕间辐射补偿模型。
为了近似计算出光辐射对图像每个像素点的光线补偿, 本文采用迭代的方式来计算辐射层以及各层间的辐射补偿。为了得到各级原始图像的补偿图像, 首先建立如图5所示的统一坐标系, 并设两个投影幕分别为M和N, 光辐射补偿基本模型如下所述:
(1)假设投影机为点光源, 根据投影机与屏幕间的距离和投影机的视场角计算原始图像的光线到达背投幕后, 在幕M上i点处的影响因子Fmi, 如公式(6)所示:
式中:α i为投射到M上i处的光线和投影机与投影幕的垂直平面的夹角; ri为投影机与投影幕上i点间的欧式距离。
(2)根据两个投影幕对应象素点间的欧式距离rij, 投影幕M和N上的i点和j点的连线与投影幕N的法平面间的夹角α j, 可以得到从投影幕M上i点到投影幕N上j点的影响因子Fij, 如公式(7)所示:
(3)通过以上分析, 可以得到投影幕N上j点处的辐射影响因子与投影幕M上i点的透过率Mi、投影幕N上j点的反射率Rj和投影图像像素点的个数间关系, 如公式(8)所示:
(4)依此类推, 可得到第一次光辐射补偿图像, 如公式(9)所示:
式中:Ij为投影幕N上的j点所对应的原始图像的照度。
(5)综上所述, 可以得到第h次光辐射补偿图像, 如公式(10)所示, 最后, 根据设定的退出域值, 判断两次连续的补偿图像间的变化或补偿次数, 是否满足退出条件:
2.2.1 并行策略
对于光辐射补偿基本模型, 如果在CPU模式下需要通过4层循环嵌套执行, 则对于分辨率高的图像需要处理的时间很长。通过分析可知, 投影屏幕上的任意一点受到与之相邻的屏幕上所有像素点的辐射影响, 并且在同一时刻, 这种辐射影响是彼此独立的, 数据间不存在依赖关系。因此, 根据GPU编程特点, 通过CPU和GPU分工协作来实现光辐射补偿算法, 将计算过程转移到GPU上执行, 利用线程间的同步计算模式来提高执行效率。
基于GPU的光辐射补偿并行算法主要包括两个部分, 其中主机代码部分由CPU完成, 负责数据的初始化、空间的分配、释放等工作; 作为算法的核心设备代码部分由GPU完成, 负责将执行的数据进行分块分线程、将各个块通过GPU上分得的处理器并发执行。由于块之间的计算过程是彼此独立的, 没有必然联系, 只有块内的线程是同步执行的, 所以对块内数据处理时要严格同步, 如果下一条语句的执行需要上一条语句执行的结果, 必须要加一个线程同步指令来确保所有线程到达这个同步点时均已计算完毕。
2.2.2 算法描述
为了描述基于GPU的光辐射补偿并行算法, 首先假设图5中M幕上投影的图像为L, N幕上投影的图像为R。图像L对图像R的光辐射补偿算法主要包括主函数与内核函数, 详细的算法描述如下。
(1)主函数
主函数首先在CPU上开辟相应的内存空间, 将图像L载入到计算机中, 同时在GPU上开辟相同大小的内存空间, 将CPU上图像L的数据复制到GPU上, 作为GPU的输入数据; 同理根据图像R的大小, 在CPU上开辟内存空间并将数据置零, 在GPU上开辟相同大小的内存空间, 将CPU上开辟的内存空间中的数据复制到GPU上, 作为GPU的输出数据。根据CUDA编程架构, 综合考虑块的大小、数量和处理器的执行能力, 对图像R进行合理的分块分线程, 保证内核可以正常启动; 然后, 调用内核函数; 再将设备上处理完成的输出数据复制到CPU上, 得到补偿矩阵; 最后在主机的原始图像R上减去补偿矩阵, 并显示处理后的图像, 观察图像L对图像R的第一次补偿效果。如果补偿效果不理想, 释放CPU和GPU上申请的内存空间, 在有限的时间内进行多级补偿, 直到达到预期补偿效果或补偿次数。
(2)内核函数
在内核函数部分, 首先申请相应的共享内存空间作为临时缓存, 申请相应的寄存器变量存放相应的数据。根据内核函数上的内置变量找到预处理像素在线性内存空间中的位置。根据该点的屏幕坐标计算出该像素点实际的全局坐标。利用双重循环将图像L对应的数据进行处理, 共同影响图像R上的一个像素点:
①在第一层循环中, 将主机上的数据读入到共享存储器中, 由于这些数据在后面的运算过程中是要同时使用的, 因此, 需要增加适当的同步语句。
②在第二层循环中, 通过算法描述的映射关系得到补偿数据, 然后把对图像R中同一个像素点的补偿数据进行累加。
③将上一步得到的数据从设备读回主机中, 得到最终的补偿数据, 内核算法结束。
长春理工大学计算机仿真与数字媒体实验室于2006年建成了一个小型CAVE显示系统, 如图6所示。该系统由大小相同的4个投影幕组成, 幕高为1.85 m, 幕长为2.45 m, 其中3个侧幕采用背投方式, 底幕采用正投方式, 为了减少投影机与投影幕间的距离, 增加投影面积和距离, 采用镜面反射的方式, 投影机与反射镜的距离约为2.5 m, 投影幕的透过率为0.7, 反射镜的反射率为0.5。假设投影机为点光源, 为了计算两个相邻投影幕间的光辐射补偿矩阵, 首先建立如图6所示的世界坐标系, 坐标系以前侧幕的底边为X轴, 右侧幕的底边为Y轴, 两个投影幕的相交侧边为Z轴。然后, 假设在前侧幕上投影如图7(a)所示的图像, 在右侧幕上投影如图7(b)所示的图像。
投影机通过背投方式将图像投影到屏幕上, 一部分光线会被屏幕吸收, 为了从整体上分析相邻正交图像补偿后的效果, 将生成的补偿图像与投影效果图拼接起来, 如图8所示, 其中子图(a)(b)(c)(d)分别为第一、二、三、四级补偿效果图。从图中可以看出, 在屏幕相交处亮度是影响最明显的地方, 离屏幕相交处较远的图像区域变化很小, 图像的主要影响部分大约为整个图像的四分之一。通过第一级补偿大约可以消除80%以上的光辐射影响, 随着补偿次数的增多, 补偿效果越来越好。
大型正交多幕投影系统中的投影屏幕比较大, 用以上方法很难得到好的补偿效果, 而且需要耗费大量的时间或经费, 无法应用到实际系统中。因此, 根据前面对光辐射补偿结果的分析, 本文提出了一种快速的光辐射补偿方法, 该方法的主要步骤如下:
(1)将摄像机放在大型正交多幕投影系统中的某个观察点处, 保证摄像机能分别拍摄前侧幕M和右侧幕N的全部画面, 并在以后的步骤中始终保持摄像机的参数不变。
(2)用投影机在投影幕N上投射一幅投影幕边界标定图像。投影幕边界标定图像的背景颜色为黑色, 在投影幕边界标定图像的4个顶角处分别有一个白色的正方形, 正方形的边长为5个像素, 投影幕边界标定图像的分辨率与投影机的分辨率相同, 设为m× n。通过摄像机拍摄投影幕N得到一张投影幕边界标定图片。
(3)利用平均值法和线性平滑方法分别对投影幕边界标定图片进行灰度化和平滑处理以消除由拍摄引起的噪声干扰, 采用全局二值化方法对灰度化和平滑处理后的投影幕边界标定图片进行二值化处理, 得到二值化后的投影幕边界标定图片。
(4)根据二值化后的投影幕边界标定图片中白色区域的顶点确定二值化后的投影幕边界标定图片的4个边界点, 根据4个边界点确定最大边界矩形, 将投影机关闭。
(5)向投影幕M投射一幅红色标定图像, 使用摄像机拍摄投影幕N, 得到一幅红色标定图片。根据最大边界矩形, 确定拍摄的红色标定图片的有效区域, 得到投影幕红色标定图片, 设投影幕红色标定图片的分辨率为S× T, 其中S> m, T> n。读取投影幕红色标定图片中每个像素点的颜色的RGB值, 得到3个矩阵。分别用R、G、B表示3个矩阵的归一化矩阵。
(6)用S除以m, 得到的商用a表示, 用T除以n, 得到的商用b表示。根据矩阵R、G、B分别构造红色、绿色、蓝色分量补偿矩阵, 分别用L_R_r、L_R_g、L_R_b表示。当j< n/4时, 矩阵L_R_r、L_R_g、L_R_b的元素根据公式(11)计算得到, 其他元素都为零。
(7)投影机分别向投影幕M投射一幅绿色标定图像和蓝色标定图像, 使用摄像机拍摄投影幕N, 得到绿色和蓝色标定图片, 根据步骤(5)和步骤(6)分别构造红色分量补偿矩阵L_G_r、L_B_r、绿色分量补偿矩阵L_G_g、L_B_g、蓝色分量补偿矩阵L_G_b、L_B_b。
(8)根据9个颜色分量补偿矩阵和公式(12)构造3个补偿矩阵, 分别用L_r、L_g、L_b表示, 通过以上3个补偿矩阵来消除投影幕M对投影幕N的光辐射影响。
2011和2013年, 长春理工大学与巴可公司合作, 分别为云南普洱茶博物馆和长春长影世纪城建造了大型正交多幕特种影院。在影院中, 使用本文提出的快速光辐射补偿方法, 对播放的视频进行了实时处理, 处理后的播放效果如图9所示, 由图可知, 在两个投影幕相交处的图像色彩流畅, 颜色与亮度均衡一致, 具有较好的观赏效果。
在CAVE系统中, 由于相邻投影幕间的辐射影响, 使得图像的亮度和颜色不连续。为了消除光辐射影响, 本文设计了基于GPU的光辐射补偿并行算法与快速光辐射补偿方法, 其中并行算法可以进行多级补偿, 以得到最佳的补偿效果, 通过使用GPU集群, 可以实现实时补偿, 但这大大增加了播放成本, 因此, 只能在视频播放之前进行补偿预处理; 快速光辐射补偿方法只能对图像的四分之一部分进行一级补偿, 无法得到最佳的补偿效果, 而且随着时间的流逝, 补偿矩阵需要重新获取, 但是该方法具有速度快, 操作简短等优点, 且补偿效果可以满足观众的视觉需求。此外, 通过简单的调整, 该方法也可以消除混合投影方式的大型正交多幕投影系统中光线辐射影响, 还可以推广到柱幕等其他多投影系统中。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|