# 虛擬現實論文筆記-III ## A Survey on Adaptive 360°Video Streaming: Solutions, Challenges and Opportunities 随着沉浸式虚拟现实(VR)技术的发展,360°视频越来越多地被使用,然而,与传统的视频内容传输相比,其具有更高的带宽和更低的延迟要求,如何传输高分辨率低时延的视频内容是虚拟现实技术发展的关键性问题。 在“A Survey on Adaptive 360°Video Streaming: Solutions,Challenges and Opportunities”一文中,作者从视频投影、编码、动态调整视口大小的自适应360°视频流方法、传输360°视频流网络相关解决方案、视口预测、体验质量QoE评估等多方面概述了虚拟现实视频传输方面的挑战和研究机会。 在视频投影方案中,作者介绍了四种现有的投影方法,等矩形投影(如图1)、立方体贴图投影(如图2)、金字塔投影(如图3)以及偏移立方图投影(如图4)。等矩形投影是最为常见的投影技术,其可以表示为使用偏航角、俯仰角的值将观察者周围的球体展平到二维表面上,常见的例子有世界地图。立方体贴图投影是六边立方体组合用于将球体的像素投影到立方体上相关像素,这种投影方式常用于游戏和视频流媒体(如:YouTube)。金字塔投影方式在视口相关投影中,显示区域的保真度高于其它区域,这种方法将视频的大小减少了80%,但其缺点较为突出,即当用户的头上下移动120°或左右旋转180°,视频质量会急剧下降。偏移立方图投影与传统的立方体贴图技术类似,将像素投影到立方体的六个面,它具有与偏移方向相关联的观看区域以更高的质量显示的特点,缺点是存储开销大。 ![截圖 2023-11-21 10.23.23](https://hackmd.io/_uploads/B1uo45KN6.png) 在视频编码方面,目前高效的视频编码HEVC/H.265相比于VC/H.264节省了近50%的视频比特率,其支持高效视频流的平铺功能。如图5,背景一般是不动的,在这种情况下,我们的做法不是对每一帧的每一个像素编码,而是对最初的帧编码,然后仅对发生改变的进行编码。与HEVC/H.265相比,下一代通用视频编码(VVC)标准有望将压缩效率提高30%。 ![截圖 2023-11-21 10.23.49](https://hackmd.io/_uploads/HyGpVcF4T.png) 在自适应360°视频流方案中,主要分为三类,与视口无关、与视口相关以及基于切片的流。与视口无关的流是360°视频流传输的最直接的方式,因为整个帧以类似传统视频的同等质量传输整个视频流,它的优点是不需要头戴式显示设备(HMD)的任何方位信息,缺点是与视口相关的流相比,它的编码效率低30%,需要大量的带宽和编码资源。与视口相关的自适应流中,终端设备仅接受特定区域的视频帧,这些区域包含视口角度相等或更大的视觉信息,客户端根据网络特征和用户的观看方向执行自适应。在“Optimal set of 360-degree videos for viewport-adaptive streaming”一文中,描述了一种为视口相关流产生不同质量片段的实用方法。他们提出了质量强调区域(QERs)策略,以在有限数量的表示可用于流式传输时缩放特定区域的分辨率。而在“Optimized Viewport Dependent Streaming of Stereoscopic Omnidirectional Video”一文中,提出一种通过巧妙地将不对称质量用于立体视频的背景和前景视图的方法,以高质量传输前景视图,以较低质量传输背景视图。在基于切片的自适应流中,360°视频被分割成相等/不相等的矩形块,以精确地调整观看者当前视口块的质量。在“Towards Bandwidth Efficient Adaptive Streaming of Omnidirectional Video over HTTP: Design, Implementation, and Evaluation”一文中,研究了三种平铺策略,即基本完全交付、高级完全交付和部分交付,使用最先进的视频编解码器有效地节省了360个视频中未观看部分的资源。如图6所示,基本完全交付是在用户当前视口中可见的所有图块都以最高可能的质量表示(绿色图块)进行请求,而此时不可见的所有其他图块都以最低可用质量表示(红色图块)进行请求。高级完全交付是要求预计用户的视口将移向的图块(黄色图块)以更高的质量传输。部分交付是所有其他切片(即当前视口外的那些)根本不被请求。在“HEVC tile based streaming to head mounted displays”一文中,提出一种使用HEVC编码器的基于切片的可变分辨率流系统,如图7所示,该系统将立方体贴图360°视频平铺成24个网格,每个代表一个单独的比特流,以两个不同质量的版本被流式传输到客户端,即八个高质量的瓦片和十六个低质量的瓦片。 ![image](https://hackmd.io/_uploads/BJrYD9YVp.png) ![image](https://hackmd.io/_uploads/ryYZdqKE6.png) 在传输360°视频流网络相关解决方案中,“Fov-aware edge caching for adaptive 360 video streaming”一文基于其他用户的观看行为,为360°视频引入了一种流行的内容(如FoV)缓存策略,次策略中客户端的质量适应有两个主要组成部分:FoV预测和吞吐量估计。自适应算法每100毫秒从客户的FoV中提取样本,并使用10个最近的FoV样本作为加权线性回归(WLR)方法的输入,以预测未来的FoV。吞吐量估计中,吞吐量样本是下载一个视频片段时达到的估计吞吐量。网络吞吐量估计是通过平均最后三个吞吐量样本来完成的。文中提出基于优先级的取舍方式,优先级与当前的网络吞吐量以及是否位于客户端的FoV内有关,当缓存已满时,移除具有最低优先级的切片。而“MUVR: Supporting multi-user mobile virtual reality with resource constrained edge cloud”一文提出了多用户虚拟现实(MUVR)框架,其中边缘云自适应地存储和重用冗余VR帧,以减少计算和传输负载。例如在每个用户端有一个小的本地缓存,在边缘有一个相当大的中央缓存。这种缓存设计通过为所有用户生成背景视图,尽可能重用框架来减少内存需求。 在视口预测中,可根据与视频内容相不相关进行分类,与视频内容不相关的方法一般使用观看者的头部运动数据进行视口预测,在“Delay Impact on MPEG OMAF’s tile-based viewport-dependent 360◦video streaming”一文中,考虑了两种预测变量:角速度和角加速度,用于根据用户的先前方位数据来估计他/她的未来头部方位。而在“Predictive View Generation to Enable Mobile 360-degree and VR Experiences”一文提出一种预测视频生成的方法,提取预测视图并提前传输,从而同时减少带宽和延迟。本文收集来自三星虚拟现实网站上的36000多名观众的19段视频的头部运动数据,将用户视野使用基于平铺的格式来表现视点特征,每个网络尺寸为30°×30°,则360°可分为72块,根据过去2s的视点轨迹来预测视点,设计one-hot编码,将视点表示为72×10的矩阵V,V的元素为0或1。先前的视点分片序列输入本文提出的多层LSTM模型中,最终输出72个分片上的预测概率,选择m个概率最高的分片,组合成预测视场,高质量地传输预测视场,其余分片保存空白。在实验部分,文中比较了LSTM模型FOV的预测精度与SAE、BT、kNN模型FOV的预测精度,得出在低运动序列、中等运动序列和高运动序列中,LSTM模型FOV的预测精度优于SAE、BT、kNN模型的实验结论,并相较于上述模型拥有更大的像素节省,达到减少带宽和延迟的目的。 对于与视频内容相关的视口预测方法,“Fixation Prediction for 360 Video Streaming in Head-Mounted Virtual Reality”一文提出一种预测网络,可以同时利用传感器和视频内容相关的特性来预测未来观众的视口。视频内容相关包括图像显著图和运动图。作者提出训练深度神经网络来预测显著图,网络模型的前三层是预训练的VGG-16,在VGG-16后面接着两个附加层,以提高模糊图像显著图的泛化能力。而观看者的头部位置信息由HMD中的传感器采集,包括偏航角(yaw)、俯仰角(pitch)、翻滚角(roll)。文中的视口预测网络使用的是LSTM模型,网络的功能是预测观众在未来的视频中最有可能看哪里。如图8所示,本文提出两种LSTM网络,第一种网络的输入是显著图、运动图以及头部信息,第二种网络的输入是显著图、运动图以及当前观看者视口位置信息,两种网络的输出都是预测未来视频帧中观看者的观看概率。两种网络都以滑动窗口中m个过去视频帧的特征作为输入,并以预测窗口中n个未来视频帧为输出来预测切片的观看概率。文中使用的数据集是自己采集的12个观看者的信息,训练过程中将数据集80%作为训练集,20%作为测试集,使用交叉熵损失函数。 ![image](https://hackmd.io/_uploads/Hy1Q_cFEa.png) 在体验质量QoE评估中,作者介绍了两种评估方法,主观评估和客观评估。在“Subjective and objective quality assessment of panoramic videos in virtual reality environments”一文中,提出了一种全景视频主观评价方法SAMPVIQ,此方法第一步为训练阶段,首先将参考视频16给观察者看,然后我们通知并播放了视频16从高到低质量的视频序列,目的是给观察者基本的预期得分。第二阶段预测试阶段我们选择了三组视频16,每组包含一个参考视频和三个经过处理的视频。视频播放完后,观察者打分,然后工作人员记录分数。完成三套后,我们比较了记录的分数和预期的分数。如果记录的分数与所有三组的预期相匹配,观察者就可以进入测试阶段。第三阶段测试阶段每个观察者观看6类全景视频。每类视频包含八组视频序列,每组包含一个参考视频和三个随机播放的已处理视频。视频播放时,观察者打分,然后工作人员记录分数。所有视频序列播放完毕后,测试结束。评分等级为0-5,最终结果可以描述为平均意见得分(mean opinion score,MOS)。而客观评估方法中,“Quality metric for spherical panoramic video”一文提出了一个克拉斯特抛物线投影-PSNR (CPP-PSNR)度量标准,通过将像素重新映射到CPP投影而不改变空间分辨率并计算实际像素位置的PSNR来比较各种投影方案。而在“Impact of V arious Motion Interpolation Algorithms on 360◦Video QoE”一文中指出仅仅在虚拟现实中测量视觉质量对于一个完整的QoE框架来说是不够的。找到其他因素的影响也很重要,例如网络疾病、生理症状、用户不适、HMD权重、可用性、VR音频、视口退化率、网络特性(例如延迟、抖动、带宽等)。 总结:高质量的360°视频内容的创建、分发和流式传输依然是一个关键性问题,除了上述提及的研究方向及其解决方法外,仍有许多问题可以进一步研究。例如:可以利用基于机器学习的带宽预测方法来捕获比特率分配的实际带宽模式。此外,基于多路径的高分辨率360°切片传输可以通过最佳可用路径提供高优先级切片,从而带来更好的性能和更大的灵活性。使用mmWave通信的自适应计算卸载研究可以支持室内和室外环境中的同步360°流。 ## DynaSLAM: Tracking, Mapping and Inpainting in Dynamic Scenes ### 摘要 场景刚性的假设在 SLAM 算法中很典型。这种强有力的假设限制了大多数视觉 SLAM 系统在人口稠密的现实世界环境中的使用,而这些环境是服务机器人或自主车辆等相关应用的目标。 在本文中,我们提出了 DynaSLAM,一个基于 ORB-SLAM2 [1] 的视觉 SLAM 系统,它增加了动态目标检测和背景修复的能力。DynaSLAM 在单目、立体和 RGB-D 配置的动态场景中非常强大。我们能够通过多视图几何、深度学习或两者来检测运动物体。拥有一个静态的场景地图,可以绘制被动态对象遮挡的框架背景。 我们在公共单目、立体和RGB-D数据集中对我们的系统进行了评估。我们研究了几种精度/速度权衡的影响,以评估所提议的方法的局限性。在高度动态的场景中,Dy naSLAM的精度优于标准的视觉SLAM基线。它还估计了场景静态部分的地图,这对于在现实环境中的长期应用来说是必须的。 ### I.Introduction 在visual SLAM中检测和处理动态对象有下面这些问题: 如何在图像中检测到这样的动态对象。 * 防止跟踪算法使用属于动态对象部分进行匹配。 * 防止映射算法将移动对象作为3D地图的一部分。 * 如何完成三维地图中被运动物体暂时遮挡的部分。 在本文中,本文提出了一种在线算法来处理RGB-D、双目和单目SLAM中的动态对象。这是通过在ORB-SLAM2系统添加一个前端来实现的,其目的是获得更精确的跟踪和场景的可重用映射。 * 在单目和双目的情况下,使用CNN对帧内的先验动态对象(如人和车)进行像素级分割,这样SLAM算法就不会提取这些对象的特征。 * 在RGB-D的情况下,结合多视图几何模型和基于深度学习的算法来检测动态对象,在将它们从图像中移除后,用场景的正确信息来绘制遮挡的背景(如图1) ### II.相关工作 目前的可应用于动态环境中的SLAM方法大多无法应对下面两种情况: * 当一个先验的动态对象保持静态时,例如,停放的汽车或坐着的人 * 静态对象产生的变化,比如一个人推的椅子 ### III.系统描述 ![image](https://hackmd.io/_uploads/SkJwo9FV6.png) * 首先,对于RGB-D相机而言,将RGB-D数据传入到CNN网络中对有先验动态性质的物体如行人和车辆进行逐像素的分割。 * RGB-D情况: * 使用多视图几何以两种方式改进动态内容分割。1. 细化/改善(refine)了先前由CNN获得的动态对象分割。2.其次,将动态的新对象实例标记为大多数时间是静态的(即,检测在CNN阶段没有设置为可移动的移动对象)。可以理解为将在大多数时间中保持静止的、新出现的动态对象进行标注。 * 然后是估计相机,在低成本跟踪模块中在已经创建的场景地图中定位相机。这些分割后的帧是用于获得相机轨迹和场景地图的帧。请注意,如果场景中的移动对象不在CNN类中,则多视图几何阶段仍会检测到动态内容,但准确性可能会降低。 * 完成了相机的完整动态对象检测和定位后,我们的目标是利用来自先前视图的静态信息重建当前帧的被遮挡背景。这些合成帧适用于增强和虚拟现实等应用,以及长时间建图中的位置识别 * 单目和双目情况: * 直接将图像传入CNN中进行分割,将具有先验动态信息的物体分割出去,仅使用剩下的图像进行跟踪和建图处理。 #### A.使用CNN对潜在动态内容进行分段 * 使用获得图像的逐像素语义分段的CNN。在我们的实验中,这里使用Mask R-CNN ,可以获得逐像素语义分割和实例标签。 * Mask R-CNN的输入是RGB原始图像。目的是划分那些潜在动态或可移动的类(人,自行车,汽车,摩托车,飞机,公共汽车,火车,卡车,船,鸟,猫,狗,马,羊,牛,大象,熊,斑马和长颈鹿)。对于大多数环境,可能出现的动态对象都包含在此列表中。如果需要其他类别,可以使用新的训练数据在MS COCO上训练网络。 * 假设输入是大小为 $m \times n \times 3$ 的RGB图像,网络的输出是大小为 $m \times n \times l$ 的矩阵,其中是图像中的对象(类别)数,再将层分类图像合并成一幅图像。 #### B. 低成本跟踪 * 在潜在的动态内容被分割后,使用图像的静态部分来跟踪相机的姿态。由于线段等高线往往成为高梯度区域,容易出现突出的点特征,不考虑这些等高线区域的特征。 * * 该算法在此阶段实现的跟踪相对于ORB-SLAM2[1]中的跟踪更简单,因此在计算上也更轻。它在图像帧中投射出地图特征,在图像的静态区域中搜索对应关系。最大限度地减小再投影误差,优化相机姿态。 #### C.跟踪和建图 系统此阶段的输入包含RGB和深度图像,以及它们的分割mask。我们将图像片段中的ORB特征提取为静态。由于线段轮廓是高梯度区域,因此必须删除落在此交叉点中的关键点。 #### E. 背景修复 ![image](https://hackmd.io/_uploads/rJQNgoYET.png) 图显示了从不同TUM基准序列中背景修复效果。 * 用先前图像的静态信息修复被遮挡的背景,大多数分割部分已经正确地修复了来自静态背景的信息。 * 根据前一帧和当前帧的位置,作者将之前20关键帧的RGB以及深度图投影到当前帧上完成无动态物体的背景修复。有些间隙没有对应关系并且留空:某些区域无法修复,因为它们的相应部分在关键帧中没有出现到目前为止,或者,如果它已经出现,则它没有有效的深度信息。这些间隙不能用几何方法重建,需要更精细的修复技术。 ### 实验结果 将本文提出的系统和原始ORB-SLAM2进行比较,来验证本文方法在动态场景中的提升。作者在相应的序列数据上进行了10次测试,以避免不确定性效应。 #### A. TUM数据集 ![image](https://hackmd.io/_uploads/SykugiYV6.png) DynaSLAM (N)代表仅使用Mask RCNN进行动态物体分割; DynaS LAM (G)代表仅使用基于深度变化的多视几何进行动态检测和分割;DynaSLAM (N+G)代表同时利用多视几何和深度学习的方法进行检测;DynaSLAM (N+G+BI)代表在背景修复之后进行跟踪和建图的操作(这时是基于真实影像和重建影像完成ORB特征提取)。从表中可以发现使用DynaSLAM(N+G)的精度是最高的,DynaSLAM (G) 由于在经过一定的延迟之后运动估计和实例分割才会准确这一方法特性,使得最后的精度较差。DynaSLAM (N+G+BI)由于使用了重建之后的影像进行跟踪,而相机姿态会对重建影像有较大影响,因此这样的效果比较差。 ![image](https://hackmd.io/_uploads/ByhueotV6.png) 作者还将DynaSLAM(N+G)中RGB-D分支与RGB-D ORB-SLAM2进行了对比。可以发现在高动态场景walking中,本文的方法优于ORB-SLAM2,并且误差与RGB-D ORB-SLAM2在静态场景中的误差相近。而在低动态场景setting中,要稍微差一些。 ![image](https://hackmd.io/_uploads/S1nKxiY4p.png) #### B. KITTI数据集 在KITTI数据集上中进行测试发现,DynaSLAM以及ORB-SLAM在有些场景下的结果是相近的。当不在具有先验动态信息的物体上提取特征时,跟踪精度会比较高,诸如汽车,自行车等(KITTI01\KITTI04);当在大多数车辆都是停止状态时,DynaSLAM的误差会大一些,因为将这些物体对象去掉之后检测到的特征点会处于较远或纹理较弱的区域,从而导致跟踪精度下降(KITTI00\KITTI02\KITTI06)。但是在回环检测和重定位处理中结果较为稳健,因为构建的地图中仅仅包含结构性物体对象,没有动态物体。而如何设计更好的特征区分标准,使得具有移动性的物体在未移动时,其对应的关键点可以被用于跟踪却不会在最终的结果地图中出现这一问题需要进行更加深入的研究。 ![image](https://hackmd.io/_uploads/ry7hlit4a.png) #### C. 时间分析 作者还提到所做的实验中并没有对算法进行工程优化,因此时间上的开销会比较大,如下表: ![image](https://hackmd.io/_uploads/HyepeiFVa.png) ### 总结 我们提出了一个基于ORB-SLAM的视觉SLAM系统,它增加了一种运动分割方法,使其在单眼,立体和RGB-D相机的动态环境中具有强大的稳健性。我们的系统可以精确地跟踪摄像机并创建静态且因此可重复使用的场景地图。在RGB-D情况下,DynaSLAM能够获得没有动态内容并且具有被遮挡的背景的合成RGB帧,以及它们相应的合成深度帧,这些帧可能对虚拟现实应用非常有用。我们提供了一个显示DynaSLAM 2潜力的视频。与现有技术的比较表明,DynaSLAM在大多数情况下实现了最高的准确度。 在TUM动态对象数据集中,DynaSLAM是目前最好的RGB-D SLAM解决方案。在单眼情况下,我们的精度类似于ORB-SLAM的精度,但是通过较早的初始化获得场景的静态映射。在KITTI数据集SLAM中,除了动态对象表示场景的重要部分的情况外,其精度略低于单目和立体的ORB-SLAM。然而,我们估计的映射只包含结构对象,因此可以在长期应用程序中重用。这项工作的未来扩展可能包括其他方面的实时性能。一种基于RGB的运动检测器,或通过使用更精细的修复技术(如Pathak等人使用GANs绘制的[24]帧)使合成的RGB帧具有更真实的外观。 ## A Survey on Metaverse ### 宇宙 #### 概念 元宇宙,字面上由前缀“meta”(意思是超越)和后缀“verse”(宇宙的缩写)组合而成,是一个由计算机生成的世界,具有一致的价值体系和与物理世界相连的独立经济体系。 ![image](https://hackmd.io/_uploads/H1krZot4p.png) #### 标准 两个现有的元相关标准:ISO/IEC 23005和IEEE 2888。 * 元宇宙中第一个网络虚拟环境(NVE)的标准化框架,ISO/IEC 23005(MPEGV)旨在标准化现实世界和虚拟世界之间以及虚拟世界之间的接口, ![image](https://hackmd.io/_uploads/SySLWoYEp.png) * IEEE 2888项目旨在定义网络和物理世界同步的标准化接口。通过指定信息格式和应用程序接口(API)来控制(actuators)致动器和获取传感器信息. * 传感器信息和致动器相关信息分别通过IEEE 2888.1和IEEE 2888.2标准在虚拟世界和现实世界之间交换。 * 数字对象(即virtual objects)的定义、同步和任务控制数据由IEEE 2888.3标准定义。 ![image](https://hackmd.io/_uploads/SyCw-sFVT.png) ### 架构 元宇宙整体架构:物理-人类-数字世界 ![image](https://hackmd.io/_uploads/SJpCXiYEa.png) * 人:可穿戴、人机交互 * 物理基础设施:(传感、控制,通信,计算,存储)智能对象,传感器,制动器 * 虚拟世界:互联的分布式虚拟世界组成(子元宇宙),提供虚拟商品、服务、环境(包括但不限于数字市场、数字货币、数字监管、社会服务) * 信息来源:真实输入,虚拟输出。对元宇宙数据需要:身份验证+访问控制。 信息是元宇宙的核心,三元世界中的自由数字形成了数字生态。 ![image](https://hackmd.io/_uploads/B1dlVoF4a.png) ### 应用 现有的去中心化虚拟世界具有由以太坊区块链(如Decentraland和Cryptovoxels)支持的内置创造者经济。在Decentraland中,用户可以在市场上交易地块和设备,并通过调用构建者功能来构建自己的建筑和社交游戏,其中交易详细信息被永久地记录在以太坊中以供审计。在Cryptovoxels中,玩家可以在虚拟世界“原始城市”中交易土地并建立虚拟商店和艺术画廊。此外,用户可以在建筑物内展示和交易他们的数字资产,如艺术品。 ![image](https://hackmd.io/_uploads/rJcW4stNT.png) ### 认证威胁 身份验证威胁: * 身份盗窃 * 模拟攻击 * 虚拟身份验证(造成的隐私泄露风险) * 可信互操作身份验证(跨域) 针对可穿戴设备的:密钥管理、身份验证、跨域身份验证、访问控制与审计区块链可以为元宇宙用户建立无信任的数字身份,在元宇宙环境下,连续时间动态认证以及跨链和跨域认证需要进一步研究。 ### 隐私威胁 * 普适数据收集 * 数据传输中的隐私泄露 * 数据处理中的隐私泄露 * 云/边缘存储中的隐私泄露 * 盗版或受损终端设备 * 数字足迹的威胁 * 三元世界中的身份链接能力 * 对问责制的威胁 * 对定制隐私的威胁 ### 对策 现有的数据共享和处理隐私保护方案主要集中在四个领域:差异隐私(DP)、联合学习(FL)、加密方法(例如,安全多方计算(SMC)、同态加密(HE)和零知识证明(ZKP))以及可信计算 数字足迹保护:在元宇宙中,化身数字足迹内的隐私可分为三种类型:(i)个人信息(例如,化身剖析),(ii)虚拟行为,以及(iii)化身之间或化身与NPC之间的交互或通信。一个潜在的解决方案是化身克隆,它创建了化身的多个虚拟克隆,这些虚拟克隆看起来完全相同,让攻击者感到困惑。然而,它也带来了其他挑战性问题,例如管理每个用户的多个表示,以及管理在元宇宙中漫游的数百万克隆。 另一个潜在的解决方案是通过定期改变化身的外观来伪装,以迷惑攻击者,或者通过将化身替换为单个克隆来伪装,该克隆模仿用户的行为,并在被跟踪时将用户的真实化身传送到另一个位置。其他隐私保护机制包括隐身、私有飞地、锁定。 ### 未来的研究与方向 跨链互操作和监管元宇宙 ![image](https://hackmd.io/_uploads/H1yI4oKEa.png) 构建在三个不同区块链上的三个子元数据之间的跨链服务。建立中继链以支持跨链交易,其中中继链同步源区块链A的信息,以允许目标区块链B和C验证源区块链A上交易的正确性 ##