基于深度学习的投影互反射补偿

2021-04-01 08:14雷清桦杨婷
现代计算机 2021年5期
关键词:投影仪卷积投影

雷清桦,杨婷

(四川大学计算机学院,成都610065)

0 引言

随着近年来沉浸式虚拟现实技术的发展,沉浸式投影系统在大型虚拟现实场景和各个领域得到了越来越广泛的应用。但是,长期以来在这些场景中存在着一个重要而又经常被忽视的问题,那就是沉浸式投影系统的互反射问题。在所有的沉浸式投影系统中几乎都存由于不规则的投影屏幕而造成的互反射现象,这严重地降低了投影图像的质量和场景的逼真度。这些问题常常成为投影机系统推广的瓶颈,阻碍了虚拟现实项目的实施。

典型的沉浸式投影系统包括一对投影仪-摄像机(pro-cam)系统和一个放置在适当距离和方向上的曲面屏幕(图1)。现有的方法大多是先建立数学几何模型,然后再寻找光的传播函数和反射函数[2,4,6-7]来解决这一问题。但是现行的方法存在着一个问题,即光传输矩阵通常维度很大,对大型矩阵求逆是一个复杂的问题,并且大型矩阵的逆可能会不存在,会造成补偿图片的质量严重下降。

近年来,随着深度学习的技术的不断发展,已经被广泛地运用到了计算机视觉领域,如图像增强、人脸识别和智能安防等。鉴于深度学习技术在图像增强领域取得的巨大成功[1,3],本文提出了一种全新的端到端的深度学习算法来进行互反射补偿。这种方法能够有效避免大型光传输矩阵的计算,使用卷积神经网络对光照特征进行提取,提高补偿模型的泛化性和通用性。

图1沉浸式投影系统

1 材料与方法

1.1 研究材料

如图1所示,本文的沉浸式投影仪-摄像系统由分辨率为2992×2000的尼康DX VR相机和分辨率为1920×1080的JMGOG7投影仪组成。相机与投影仪之间的距离为500毫米,投影仪前方有一个弧形屏幕,距离为800毫米。相机的白平衡模式、快门速度、ISO和对焦分别设置为自动、1/45、200和f=5.6。为了模拟真实的身临其境投影系统,并排除全球光的影响,我们在黑暗环境中拍摄照片。

由于没有相应的公共数据集用于沉浸式投影系统的研究,本文使用相机捕获图像,构建cam-pro数据集,包括4000张用于训练的256×256 RGB图片和800张图片用于制作测试集。由于弧形屏上的投影图像总是伴有几何畸变,不能直接作为数据集,因此我们对相机捕获的图像进行几何校正。为了便于图像采集,我们将采集到的摄像机图像和原始图像下调采样256×256×3作为我们网络训练的数据集。

1.2 研究方法

1.2.1数学模型

互反射补偿的目的是找到一种经过补偿的图像,使其在投射时能够减少甚至消除内反射。我们的内反射补偿系统由一个相机-投影仪对和一个固定距离和方向的曲线投影屏幕组成,如图5所示。整个曲面型投影系统可以描述为:

其中为Iin投影机输入图像,Icam为相机捕捉的图像,分别用fp和fc表示投影仪和相机的光传输函数。同时,由于我们主要研究沉浸式投影环境下的互反射补偿,其中全局光照为0,即E=0。在我们的研究中,在不受全局光照影响的黑暗环境下对所有图像进行捕获和投影,以确保E=0。

为了简化公式,本文统一考虑投影机-相机系统的光传输和反射变换函数,合并为一个函数T,因此,公式(2)可以重新表述为:

因此,互反射的补偿目的就是寻找投影仪输入像Ii*n,使得其经过投影之后使得观察者看到的投影结果与输入图像Iin相同,该过程可以表示为:

因此公式(4)中的补偿图Ii*n能够通过以下公式求解:

区别于现行方法求解T的逆矩阵,本文采用campro数据集训练得到T-1,公式如下:

其中,{Icam,Iin}为训练数据,Loss为损失函数,在本文中采用了l1+l2的损失函数,θ为网络可学习的参数,通过训练能够使得Tθ-1接近光传输矩阵的逆T-1。

1.2.2算法

(1)总体框架

如图2所示,算法利用相机拍摄到的投影图片作为输入,经过几何矫正之后的图片被分为训练集和测试集。在模型训练阶段,通过投影仪-相机图像对来训练神经网络使得其接近光传输矩阵的逆矩阵,训练完成之后,将原图片输入神经网络,得到的输出即为补偿图片。最后将补偿图片投影出去可以明显发现互反射强度变低。

图2总体流程图

(2)网络架构

表1 网络结构表

由于互反射补偿需要生成一张完整的图片,因此我们采用了UNet型的网络,来生成一张补偿图片。如图3所示,网络前三层为降采样层,中间3层为三个残差块,用来加深网络层数和抽取特征,最后3层采用反卷积来解码得到补偿图片。网络激活函数采用了ReLU,输入图片经过降采样处理来加速神经网络的学习整体光照信息的速度,尺寸为256×256。在上采样过程中采取了反卷积而非双线性插值的原因是反卷积能够在最大程度上保留特征信息。同时,不同于UNet的直接编码和解码过程,本方法在输入和输出的三个卷积层之间使用了跳卷积进行连接,即将输入的光照信息进行了最大程度上的保留来确保模型最终的效果。

(3)数据集制作

由于曲面投影系统的相关研究没有相应的公共数据集,我们通过构建自己的曲面投影系统,并使用相机拍摄来得到训练集图片。该训练集一共包括6000张图片,其中5000张用于网络模型训练,1000张用于网络模型测试。由于曲面屏上的投影图像总是伴有几何变形,直接作为训练集会难以得到好的训练效果,因此对相机捕获的图像进行几何校正[1],并且将每幅图像调整到256×256×3作为网络的输入。

(4)模型训练

本实验使用了PyTorch深度学习框架,运用OpenCV图像处理工具进行图像处理。训练集图片对为5000张,进行50个epoch训练,采用优化函数采用Adam函数,学习率由1e-3逐步提高到le-4。

(5)测试方法

在图像增强领域中,通常采用传统的像素级算法来评价图像质量,如PSNR、SSIM、MSE等。由于曲面投影屏幕的几何变形不能得到准确的校正,从而影响了评价结果。因此,我们使用传统的评价方法和ROI分析。ROI分析的基本思想是,在每张图像中选择几个相对平滑的区域,计算区域均值和标准差。均值表示区域光照,标准方差描述区域质量。最后,每个区域的方差在图中以中点为竖线绘制。

其中,分别为k个区域的均值和方差,m和n为每个投影图像子域的宽度和高度。通过上述协议,我们可以对投影图像的光照强度和图像质量进行对比。

2 实验结果

如图3所示,a为原始投影图片,b为原图直接投影的图片,c为网络补偿图片,d为补偿图片的投影图片。从上面的结果可以看出,原图直接投影有较强的光线互反射,会造成整个图片亮度提升而影响最终的视觉效果。d为使用本文提出的深度学习方法补偿图片的投影,能够有效降低沉浸式投影系统中的光线互反射,取得更好的图像质量以及提升视觉效果。

图3补偿效果图

如图4所示,绿色线条表示输入投影仪的图片,浅绿色线条表示未补偿的图片,红色表示使用本文提出的方法补偿之后的图片。通过ROI分析可以看出,补偿图片投影之后的均值与方差均与原始图片更为接近,表明本实验所提出的方法有效地消除了光线互反射,并且能够取得更好的图像质量。

图4 ROI分析图

3 结语

本次研究中将深度学习技术运用到光线互反射补偿领域中来,设计了基于卷积神经网络的端到端网络结构算法。通过训练得到了光传输的矩阵的逆,补偿之后取得了良好的视觉效果以及ROI指标。同时,相较于现行方法,使用深度学习技术具有更好的扩展性,能够方便地将该技术运用到其他沉浸式投影系统中来提升算法使用的高效性和更好的补偿质量。

猜你喜欢
投影仪卷积投影
論詞樂“均拍”對詞體格律之投影
基于全卷积神经网络的猪背膘厚快速准确测定
投影向量问题
基于图像处理与卷积神经网络的零件识别
天空投影仪
防尘投影仪支撑架
基于深度卷积网络与空洞卷积融合的人群计数
找投影
索尼发布真4K投影仪
高校多媒体教室投影仪维护技术分析