BVSL-34:面向光场图像处理任务的基线可变仿真光场数据集
2023-02-28张宇翔吴天昊张洪江
张宇翔,吴天昊,鲜 明,张洪江
(1 国防科技大学电子科学学院,长沙 410073; 2 安康学院电子与信息工程学院,陕西 安康 725000)
0 引 言
图像记录了光的信息,也是人类记录三维世界的手段。 纵览人类历史,实际上也是人类对于光学信息的研究发展史,从简笔绘画到精美的写实画,从手工绘制地图到如今的数字实景地图。 然而目前的相机成像技术仍依赖于针孔成像模型,是使用传感器记录空间中某一平面的光强二维分布,是对七维全光函数进行二维采样的过程。 在传统成像技术的基础上,计算摄影学从记录多维光学信息的角度,克服了传统成像方法的以下局限:
(1)景深和光圈大小的局限性。 传统光学成像的镜头光圈限制成像的景深[1]。 光圈越大,镜头对光信号的采集能力越强,成像质量越好。 但与之同时出现的问题是景深范围小,不利于全场景成像。
(2)二维采样的局限性。 针孔成像模型中的图片为三维世界坐标系的点在二维上的投影,因此传统成像模型无法采集深度信息。
(3)镜头成本的局限性。 传统相机要想获得更好的成像质量,需要更大体积、更大光圈的镜头,费用较为高昂[1]。
在计算摄影学中,近十多年逐渐成熟的光场成像(Light Field Imaging)已经成为现代光学成像的新兴领域。 光场成像设备可以同时记录光线的强度和方向,人们利用这一点可以提取出场景的三维信息。利用三维信息,光场数据可以生成场景深度图。 深度图像是三维场景重建的基础,利用此信息可以实现更多复杂算法。 此外,光场成像还可以实现光场重聚焦[2-3]、光场超分辨等功能。
在计算机视觉中,可靠的数据是算法训练的基础。 目前,知名的公开光场数据集有斯坦福大学利用真实阵列相机建立的光场数据集STF-gantry,Lytro 官网公开的数据集EPFL 以及INRIA。 这些数据集都具有场景内容丰富、成像质量高的特点。 真实数据集的优势在于拍摄的场景全部源于真实世界,但是真实数据集依赖于现实条件,例如昂贵的相机设备、还有拍摄的环境需要仔细选择,否则成像质量难以保证。 而HCI 数据集提供了一种新思路,利用现在成熟的3D 建模技术,在电脑中先构建虚拟场景,再通过渲染方式生成光场图片。 由于在虚拟场景中生成图片是严格按照针孔成像模型进行3 维到2 维的映射,这种方式得到的光场图片免去了繁琐的校正步骤,而且由于整个场景的人工搭建,还可以渲染出深度图作为深度的真值,这是真实场景数据集做不到的。
然而,目前主流的仿真数据集还有一个未能实现的功能是调节阵列相机基线,因此本文基于3dsMax 建模软件构建了一个基线可变的原创光场数据集—BVSL-34,还开创性加入了对于同一场景的可变基线的功能,并且后文对于光场算法的实现也将基于此数据集进行。
1 研究背景
1.1 光场阵列相机
阵列相机的原理是在四维光场中,在多个位置放置相机对四维光场进行二维切片,相当于对光场进行多角度的二维采样。
文献[4]设计了一个8×8 的阵列相机。 这种设备的特点是能够对运动的光场进行感知。 文献[5]设计了一个6×8 的光场成像设备,可以渲染不在6×8 视角位置的视角图像。 就是通过对各子相机位置视角进行重排列,通过这种手段获得更优的成像品质。 文献[6]制作了一个8×12 的阵列相机,并且将获取的光场数据制作成公开数据集。 各种体制阵列相机如图1 所示。
图1 各种体制阵列相机Fig. 1 Various institutional array cameras
来自西北工业大学的研究团队,研制了一种8×8 的相机阵列[7],见图1(a)。 他们基于这种阵列相机在相机校正[8]等课题进行了深度研究。 以上提到的阵列相机均为大型的光场成像设备,价格昂贵。另一方面,随着相机逐渐向小型化发展,也有团队将阵列相机的小型化作为目标。 PiCam 是一款超薄4×4 的阵列成像设备,整体体积与硬币相当,由Venkataraman 的团队研制[9],见图1(c)。 综上,阵列相机具有如下特点:
(1)阵列相机可以瞬时获取光场。
(2)阵列相机可以大型化、也可以小型化,并且在成像设备集成度越来越高的情况下,小型化的阵列相机也有不俗表现。
1.2 3ds Max
3D Studio Max,常简称为3d Max 或3ds MAX,是Discreet 公司开发的(后被Autodesk 公司合并)基于PC 系统的3D 建模渲染和制作软件。 其前身是基于DOS 操作系统的3D Studio 系列软件,在设计3D 模型的2D 横截面形状中发挥着巨大作用。
3ds Max 软件由一些重要的要素组成,包括主工具栏、命令面板、Maxscript 编辑器、视口、材质编辑器和渲染框窗口。 主工具栏位于窗口顶部,包括选项和工具;命令面板位于窗口界面的右侧,包括了操作者需要的所有命令;Maxscript 编辑器作用是对脚本、实用程序和插件进行编码操作;视口是从上、左、前、透视图这4 个不同角度显示场景的视图框,通过视口使得操作3ds Max 工作更加轻松快捷;材质编辑器的作用是对场景对象单元进行纹理处理,并实现有关对象单元的材质和贴图操作;渲染框窗口是查看最终渲染场景的视窗图,支持用户使用材质和照明查看其场景。 由于3ds Max 具有一套便捷实用的命令、工具以及内置基础形状,例如圆锥形、椭球形、立方体、茶壶形、金字塔形等,极大地提升了建模效率和操作体验。 同时,3ds Max 加入了对头发、皮肤、毛皮和衣服的仿真,这些内置工具减少了角色建模所需的时间并增强了细节。 另外,3ds Max还支持NURBS 功能,使操作者可利用数学公式进行平滑建模。
2 数据集制作原理
3ds Max 是一种三维建模软件,具有建模速度快、功能丰富的特点,并且结合主流渲染器V-ray,可以做到照片级渲染,在城市渲染图和建筑仿真制作中应用广泛。 而3ds Max 可以做到场景搭建、模拟真实光照以及场景内多视角观测,使得3ds Max更加适合用来制作阵列相机的光场仿真图像。 本文使用该软件进行仿真数据集制作,制作流程如图2所示。
图2 数据集制作流程图Fig. 2 Flow data set production
本文提出的制作方法共分为5 个步骤:
(1)在3ds Max 软件中进行特定三维场景建模,定义出所有物体单元的形状与尺寸。
(2)对场景中的物体单元进行配置,赋予各个场景中单元材质与物理属性。
(3)在已构建场景中添加光照并进行参数调节。
(4)在已构建场景中的不同位置架设虚拟相机,并且搭建不同基线的虚拟相机阵列。
(5)利用已搭建完毕的虚拟阵列相机进行渲染成像,以实现光场仿真图像的制作。
以下将对各个步骤进行阐述。
2.1 三维场景建模
首先需要在3ds Max 中搭建三维场景,此过程要精确搭建每一个三维物体的空间配合关系,并且指定物体的长宽高等基本空间物理属性,一次搭建即可以实现三维场景的多次快速复用。 图3 展示了在3ds Max 软件中搭建场景的界面。
图3 三维场景建模Fig. 3 3D scene modeling
2.2 场景单元配置
场景构建完毕后,需要对三维场景中的物体单元进行贴图操作,同时为每个物体单元赋予相关材质和物理属性,包括物体反射系数、折射系数、颜色等固有属性。 图4 展示了场景单元参数配置的相关操作。
图4 场景单元参数配置Fig. 4 Scene unit parameter configuration
2.3 光照参数调节
为了更贴近现实世界,在模拟三维环境中添加光照调节是关键的步骤之一,图5 展示了在已构建的三维场景中进行光照参数调节的相关操作。 通过设置光源的位置、形状、指向、光照强度等一系列参数以添加光源,同时可以便捷、快速地进行参数调整以满足符合特定环境要求的光照条件。
图5 场景光照参数调节Fig. 5 Scene lighting parameter adjustment
2.4 虚拟阵列相机搭建
场景构建及相关配置完毕后,需要在虚拟场景中的不同位置放置用于成像的虚拟阵列相机。 根据场景光场图像成像的要求,在指定位置搭建不同基线的虚拟阵列相机。 图6 展示了在3ds Max 中搭建虚拟阵列相机的界面,图中白色阵列结构即为虚拟阵列相机。
图6 建立虚拟阵列相机Fig. 6 Build a virtual array of cameras
2.5 渲染成像
场景中的虚拟阵列相机搭建完毕后,就可开始进行光场图像的渲染成像,这是整个制作过程中的核心步骤。 在不同基线情况下,对场景进行渲染,本质是对于每一个阵列相机的子相机获得的场景进行渲染,渲染的过程实际上是仿真相机成像的过程。最后得到所需的光场仿真图像。 图7 展示了基线为5 mm 的一组场景,图片的排布与实际阵列相机的分布一致。
图7 基线为5 mm 的一组光场仿真图像Fig. 7 A set of light field simulation images with a baseline of 5 mm
3 数据集展示
3.1 数据集特点
BVSL-34:基线可变化的仿真光场数据集(Baseline-variable simulated lightfield-34)有以下特点:
(1)阵列相机参数一致性完全可控。 为了阵列相机成像质量的稳定性,往往需要阵列中的每个子相机具备完全相同的参数,显然在现实世界中,这种绝对意义上的精准与相同是无法达到的。 但是利用本文提出的方法,在构建场景中搭建的虚拟阵列相机可以实现严格意义上的精准,子相机的等距阵列分布以及相机参数都可以做到完全相同。
(2)理想化渲染成像。 在3ds Max 中构建的场景中,通过搭建的虚拟阵列相机可实现理想化的渲染成像。 由于虚拟阵列相机成像模型完全按照理想针孔成像模型进行渲染成像,相比于现实世界中的阵列相机,省去了相机校正和去畸变的过程,提高了光场图像的成像质量,在后续进行算法验证时减少了预处理操作,提供了更加快捷的方式,提升了整体效率。
(3)相机基线可调节。 相较于传统光场图像制作方式,该方法最突出的优势是开创性加入了对于相同场景下可变基线的成像功能,可以实现场景中同一角度的阵列相机基线可变地成像,满足了场景基线可变化的需求。 图8 很好地展示了该方法对于仿真场景如何实现基线变化,图8 中使用3×3 的阵列相机作为展示,其中不同基线的阵列相机使用不同的颜色进行标注。
图8 阵列相机场景基线可变示意图Fig. 8 Schematic diagram of the variable baseline of the array camera scene
(4)具备深度图渲染能力。 该方法同时具备深度图渲染能力,可同时生成场景图与对应的深度图,如图9 所示,其中深度图可作为深度的真值图像使用。 与传统光场深度图制作方式需要进行深度估计不同,该方法制作深度图的原理是直接基于对三维场景的深度采样得到。 这是因为在进行三维建模时,所有物体的三维信息都是精确确定的,并且在场景中均可直接观测到。 图9(a)和图9(b)对比表明,生成的深度图与原场景完全贴合,并且具备显示深度全部细节的能力。
图9 场景图与对应深度图Fig. 9 Scene graph and corresponding depth map
3.2 性能对比
本数据集具有34 个场景、覆盖3 大类,每个场景均进行了多基线的渲染,具有多种基线可供选择。3 个大类分别为:自然风景、微距物体、室内场景,大类的选择是依据尽可能覆盖生活中拍摄可能出现的典型深度。 自然风景为大场景、最远深度可达百米;微距物体则是小场景范围、最远深度在1~2 m;室内场景则为二者折中。 图10 依据场景展示了该数据集的部分数据。
图10 部分数据集展示Fig. 10 Part of the dataset
下面是针对本数据集和其他主流光场数据集的质量对比,对比范围选取BRISQUE、NIQE、CEIQ 和ENIQA 指标。 本数据集和其他主流光场数据集特点对比结果见表1。本数据集和其他主流光场数据集关键指标对比结果见表2。 由表1 和表2 可知,本文的数据集具有良好的性能表现,表2 中的加粗数据为最优结果。
表1 本数据集和其他主流光场数据集特点对比Tab. 1 Comparison of the characteristics of this dataset and other mainstream light field datasets
表2 本数据集和其他主流光场数据集关键指标对比Tab. 2 Comparison of key indicators between this dataset and other mainstream light field datasets
可见,本数据集在4 个数据指标中有3 个领先、1 个次优,在各种功能综合表现上也处于全面领先,场景数量多,具有深度数据,能进行基线变化。
4 数据集仿真图像验证
重聚焦是光场相机对比传统成像设备的特有功能,重聚焦技术是指光场成像设备获取光场数据后,利用重聚焦算法,将成像的图片调焦到场景中的任意位置,利用重聚焦技术可以实现“先拍照后聚焦”的功能,颠覆了传统的拍照成像模式。 因此,本节将利用光场图像具备重聚焦这一特性,采用基于重投影的阵列相机重聚焦实验来对数据集仿真图像进行测试,验证本数据集的光场图像是否符合光场图像处理任务的需求。
4.1 实验方法
(1)基于重投影的阵列相机重聚焦方法。 2000年,文献[10]提出的动态参数法可以将光场数据聚焦到不同的深度。 2004年,文献[11]基于单应性方法提出:在相机校正得到外参数的前提下,将光场图像反投影到人为指定的参考平面上,对参考平面上的子图像重投影到参考相机平面进行平移重叠相加,获取聚焦在指定深度参考平面上的重聚焦图像。
该方法流程及原理如图11 所示。 利用重投影思想将光场图像反投影到一个指定深度的参考平面上,对参考平面上的子图像重投影到参考相机平面进行平移重叠相加,获取聚焦在指定深度的重聚焦图像。 在聚焦过程中,对于没有严格对齐的像素位置采取一次插值方法获取插值图像。 相较于多次插值方法,一次插值可以尽可能减少插值产生的误差。
图11 重聚焦算法流程示意图Fig. 11 Flow diagram of refocusing algorithm
(2)重聚焦。 重聚焦是光场成像方式中一种基本方法。 核心是使用“三维空间中不同位置的物体在不同位置的子相机成像中产生的视差(disparity)信息偏差”理论。 将光场图像投影到一个参考平面上,对参考平面上的子图像进行不同位置的位移后求和,取均值获取聚焦在指定深度的重聚焦图片。图12 展示了双目相机对同一物体的不同视角的视差区别及聚焦和虚化原理。
图12 双目重聚焦原理示意图Fig. 12 The schematic of binocular refocusing principle
图12 中,双目相机从2 个视角获取的图像信息具有视差,处于聚焦平面的物体在2 个视角的图片中视差为0,即是聚焦。 而不在聚焦平面上的点,由于具有视差,在图像叠加过程中就会产生模糊,也就是摄影学中常说的虚化效果。
(3)重投影。 重投影是将每个相机投影在聚焦面上的三维点重新投影到其他相机(通常是中心参考相机)的像平面上。 设三维点坐标仍为(xw,yw,zw),那么该点代入第r个相机的成像模型中,在第r个相机像平面上的像素坐标为(ur,vr),可得:
得到了每个相机重新投影到中心参考相机像平面的重投影图像,聚焦就是将这些重投影图像进行叠加取均值。 为此可推得:
对于在聚焦平面上的点,所有相机的反投影点都在同一点,经过重投影仍然汇聚在同一个像素点;对于不在聚焦平面的点,所有相机的反投影点并不重合,因此重投影会形成一个模糊的范围,也就是焦外虚化。 经过求均值,最终便得到光场图像的重聚焦图像。
4.2 验证与分析
使用基于重投影的阵列相机重聚焦方法进行验证,实验数据采用按照本文方式制作的光场仿真图像,进行不同相机基线场景下的重聚焦算法测试与结果分析。
图13 展示了理论上不同基线对重投影像斑的影响。 图13 中,△m2为非聚焦平面上的点在重聚焦时产生的重投影像斑的直径,对于同一个点M2,大基线阵列相机产生的重投影像斑大于小基线阵列相机产生的重投影像斑。
图13 不同基线对重投影像斑的影响Fig. 13 Effect of different baselines on reprojected image spots
实验选择2 组不同基线的光场仿真图像进行重聚焦实验,实验结果如图14 所示,展示了同一场景下不同基线的重聚焦结果。
图14 相机基线对于光场重聚焦结果的影响Fig. 14 Effect of camera baseline on light field refocusing results
实验结果表明,2 组光场仿真图像重聚焦后均聚焦在床架上,在相机基线为2.5 mm 时,重聚焦的景深范围较大,前后景略有虚化;在相机基线为5 mm时,景深范围比2.5 mm 场景小,前后景虚化比2.5 mm 更明显,实验结果与理论预期一致。
整个实验过程及结论表明,本文提出的基于3ds Max 三维重建的光场图像仿真制作方法所生成的光场仿真图像具备光场图像的特有属性,完全符合光场图像实验要求。 同时,与传统方法相比,实际的相机获取的光场数据在进行光场算法实验时需要考虑畸变,而通过本文方法制作的光场数据在实验过程中完全不必考虑这一复杂的畸变处理过程。 另外,本方法还实现了同一场景中阵列相机基线可变地成像,满足了同一场景基线可变化的实验需求,且图像质量均衡、自动化程度高,能够有效提高特定场景下光场图像的制作效率。
5 结束语
本文构建了一个基线可变的仿真光场数据集BVSL-34,包含3 个大类,共计34 个场景,534 个实例,并详细介绍了数据集的制作方法,该方法解决了传统光场图像制作中存在的过于依赖现实世界条件、成像质量难以保证、阵列相机基线不可变等难点问题,极大地拓宽了光场图像的应用场景。 与现有主流数据集HCInew[12]、HCIold[13]、STFgantry[14]相比,BVSL-34 数据集具有相机参数稳定,成像基线可变,同时呈现深度图等优势特点,对比显示,本数据集在成像质量以及各项相关指标上均表现优异。最后,基于重投影的阵列相机重聚焦实验验证了BVSL-34 数据集仿真图像具备光场数据的特性,整体制作与实验流程效果较传统方法有显著的优势,结果验证了BVSL-34 数据集功能全面且质量优异,可以将该方法应用于相关光场图像处理任务中。