APP下载

LED 虚拟摄制中基于激光雷达的摄影机实时追踪技术研究

2023-09-07周令非刘知一王木旺

现代电影技术 2023年8期
关键词:体素激光雷达轨迹

解 沛 周令非 刘知一 王木旺

中国电影科学技术研究所(中央宣传部电影技术质量检测所),北京 100086

1 引言

近年来,随着影视制作技术的进步,影视拍摄与制作方式出现了巨大的变革与创新。在LED 背景墙显示技术提升以及虚拟摄制引擎在影视制作领域逐步发力的双重影响下,催化出基于LED 背景墙的电影虚拟摄制技术[1](以下简称“LED 虚拟摄制”)。相关LED 虚拟摄制影视作品,例如《曼达洛人》《登月第一人》等取得了艺术视觉效果与市场效益双丰收,进一步推动LED 虚拟摄制成为当下影视制作的热点。

在LED 虚拟摄制中,采用LED 背景墙,依靠LED光照、实时摄影机追踪和实时渲染这三者的结合,实现前景演员、置景和虚拟背景之间的无缝衔接。而这之中,摄影机运动轨迹实时追踪系统作为虚拟与现实连接的关键一环,无论是对准确性还是追踪实时性,都有着很高的要求。摄影机运动轨迹实时追踪通过对真实摄影机位姿的追踪,将获得的摄影机位姿数据通过特定数据格式传送至渲染引擎中,在LED 背景墙内渲染的虚拟场景中显示正确的内视锥视角[2]。目前LED 虚拟摄制解决方案中,大多采用基于红外光的光学式追踪系统(以下简称“红外式追踪系统”)实现摄影机运动轨迹的追踪。此方式通过原有用于捕捉骨骼动作的动作捕捉系统实现摄影机单一刚性物体运动轨迹的追踪,具有数据量丰富、技术成熟等优点,但此类动作捕捉系统也存在成本过高、配套设备数量繁多、抗干扰能力弱等缺点。

激光雷达技术最先出现在自动驾驶领域,随着无人机、物流用机器人等设备的广泛应用,激光雷达逐渐为大众所熟知。激光雷达的底层技术基于飞行时间(Time of Filght,ToF)进行实现,即利用激光信号在两个异步收发机(或被反射面)之间往返的飞行时间来测量节点间的距离,对飞行时间作适当处理后可获得目标的有关信息,如目标距离、方位、高度、速度、姿态甚至形状等参数。通过激光雷达实现摄影机的实时追踪,既能够解决现有红外式追踪系统抗干扰能力弱的问题,又能够缓解当下动作捕捉系统配套设备繁多、价格昂贵的问题,此外还可以解决现有红外式追踪系统安装挖孔时所导致的LED 屏幕无法连续排列的问题。

2 相关背景介绍

2.1 LED 虚拟摄制中摄影机实时追踪技术

在LED 背景墙前拍摄时,为了保证在摄影机中拍摄的画面具有正确的景深、位置关系,应保证LED屏幕显示的渲染场景可以随着摄影机的移动而实时更新。为了兼顾显示效果与性能,通常对摄影机取景器内的画面(内视锥)进行高精度的渲染:在保证光照与反射的前提下,降低内视锥以外的部分(外视锥)的分辨率或使用静态场景。基于此,在LED 虚拟摄制中实时获取摄影机相关信息至关重要,这些信息既包括了摄影机的位置以及旋转角度的外部参数,也包含摄影机自身镜头参数等内部参数。外部参数通常需要对摄影机进行实时追踪来获取。

摄影机实时追踪流程如图1 所示。首先,摄影机追踪系统对实体摄影机进行追踪并获得相应数据。之后将获得的追踪数据实时传送至虚拟制作引擎当中并移动虚拟场景中的虚拟摄影机,从而实现与实体摄影机运动的实时匹配,进而完成LED 背景墙上画面的实时渲染与合成。

图1 摄影机实时追踪流程图

2.2 激光雷达定位技术

相比于原有动捕系统的普通红外光(基于LED灯珠),激光雷达所发射的红外激光具有单色性、方向性、相干性等特点,测量精度高、响应速度快、抗干扰力强。现有的激光雷达定位技术多以解决室内定位问题为主,LED 虚拟摄制中的摄影机实时追踪技术同样属于室内定位问题。在室内环境下,无法利用外界信号进行定位,为了实现准确定位,激光雷达通常利用内置传感器获取周围环境并进行自身运动轨迹的计算。激光雷达在对自身运动轨迹计算的同时,也能够利用该轨迹反求出室内环境地图信息,该技术被称为即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)技术[2]。该技术利用精确定位来实现精细建图,而精确的定位又需要周围环境的精细建模,两者相辅相成。

根据求解方法不同,通常将激光SLAM 技术分为基于滤波器的SLAM 技术和基于图优化的SLAM 技术两种。目前基于图优化的SLAM 技术研究内容较多,该技术在实现时主要分为前端和后端两个部分,前端剔除点云图像中的冗余和错误点集,后端计算对应特征间的残差以及校正运动畸变等。点云数据的对齐与匹配是实现激光SLAM 扫描的常用方法。对齐与匹配技术通过求解坐标转换矩阵,将相邻两帧或多帧点云图像统一到同一坐标系下,或者将点云图像与已建立的地图进行配准,从而最终得到从目标对象至源对象的真实运动轨迹变化。

2.2.1 基于点的扫描匹配方法

基于点的扫描匹配方法较为便捷高效,迭代最近点(Iterative Closest Point,ICP)算法[3][4]是最早提出,也是变体最多的算法。

标准ICP 算法通过如下两个关键步骤实现:(1)利用最近欧式距离建立不同点云图像中各点集间对应关系C;(2)通过最小化对应点间欧式距离平方和来求解新的相对变换。该算法给定初值T*0,通过迭代进行上述两步操作,当满足预设的终止条件时,结束迭代,得到最优变换估值T*,即坐标系转换关系矩阵。

随着研究深入,研究人员也提出了各类ICP 算法的变体,ICP 类算法可统一归纳为以下6 个步骤:(1)选择处理的点云图像;(2)确定点云图像内点集的对应关系;(3)利用预先设置好的策略对部分点集对进行加权计算;(4)排除特定的点集对;(5)确定最小误差值;(6)最小化误差度量。

模块化的ICP 算法如图2 所示,首先,先对输入的源点云与目标点云进行滤波处理,消除冗余数据与离群点,或计算表面特征如曲率和法向;第二步,将匹配函数用于源点云和目标点云的点集的对应;第三步,计算好点集对之间的对应关系后,可通过不同的计算方式排除异常点集对,如可设置最大距离阈值,超过该阈值的点集对会被判定为无效数据;最终,对剩余的有效点集对利用最小化误差度量,并不断迭代求解新的变换关系直到满足预设的收敛条件。

图2 模块化ICP 算法流程图

2.2.2 基于特征的扫描匹配方法

前述章节中的ICP 算法在计算过程中即使进行了数据清洗与剔除,仍有可能包含异常点集,为了解决该问题,研究人员提出利用点云图像中的部分关键特征进行对齐与匹配,关键特征可以是点、线、弧、面等或者它们的组合。这种利用关键特征进行对齐与匹配的方法被称为基于特征的扫描匹配,其流程如图3 所示。该方法需要在点云图像中提取有效特征,如点、线、弧、面或它们的组合,以及法向、曲率等特征,此外,还包括自定义的各种特征描述子(Descriptor)。基于从点云图像中提取到的特征,该方法可实现快速对齐与匹配,在缺乏初始条件的情况下,也可获得坐标系转换关系矩阵[5]。

图3 基于特征的扫描匹配方法流程图

2.2.3 基于数学特性的扫描匹配方法

目前在激光雷达SLAM 领域内,还存在一类利用各种数学性质计算点云图像间位姿变化的扫描匹配方法,被称为基于数学特性的扫描匹配方法,其中最著名的是利用正态分布变换(Normal Distributions Transform,NDT)[6]的扫描匹配方法。NDT 类方法比ICP 类算法具有更高的效率和更广的收敛域,在2D和3D 应用场景中已存在较为成熟的解决方案。但在缺乏良好初始条件下,该算法会穿线陷入局部最优的问题。

3 基于激光雷达的摄影机实时追踪系统技术方案

笔者利用激光雷达追踪技术、惯性测量单元(Inertial Measurement Unit,IMU)位姿计算方法以及自定义的数据传输格式,设计并实现了基于激光雷达的摄影机实时追踪系统。

3.1 系统流程设计

基于激光雷达的摄影机实时追踪系统流程如图4 所示。第一步,需要确定摄制现场的原点位置,在虚拟制作引擎当中构建LED 屏幕以及摄影机的相对位置关系,搭建好拍摄需要的虚拟场景(道具、灯光等位置与参数);第二步,将激光雷达装置与摄影机进行绑定,并标定摄影机感光元器件的位置,设置相关偏移量;第三步,在摄影机运动时,激光雷达随摄影机进行运动,并实时获取、分析与计算位置数据,从而得出摄影机的运动轨迹;第四步,通过激光雷达内置的惯性测量单元IMU 辅助校正运动轨迹;第五步,通过加权计算等优化步骤,得到当下的运动轨迹数据;第六步,在获取摄影机的运动轨迹后,通过用户数据报协议(User Datagram Protocol,UDP)协议,将轨迹数据按照统一的规范传入虚幻引擎(UE);最后,虚幻引擎(UE)根据获取的运动轨迹数据,“驱动”虚拟场景中虚拟摄影机的运动。

图4 基于激光雷达的摄影机实时运动追踪系统流程

3.2 模块设计

3.2.1 预设置模块

在进行摄影机的实时追踪前,需要对影棚内的真实环境与渲染引擎中的虚拟环境进行一一映射。

3.2.1.1 虚拟LED 背景墙

LED 背景墙作为虚拟摄制中的核心设备,关键在于在渲染引擎中有效还原LED 背景墙的真实形状特点。常用的渲染引擎(例如虚幻引擎)提供了快速配置方式,可以通过设置LED 箱体大小、安装形状(弧形、平直等)、整面背景墙的大小等参数,实现虚拟LED 背景墙的快速设置。为了更精准地反映LED背景墙上的内容,可以通过三维激光扫描仪对LED背景墙进行扫描,再利用建模软件进行调整并导入至渲染引擎。

3.2.1.2 虚拟场景与虚拟摄影机

虚拟场景无需与现实置景一一对应,但是需要根据虚拟摄影棚的实际情况设置相应的原点,以此保证拍摄中人物、前景等与虚拟背景的正确位置关系。在实际虚拟摄制中,无法将激光雷达与摄影机真实的光心架设在同一位置上。需要测量激光雷达与感光元器件的距离差值,并在渲染引擎中设置,或者在计算时一并考虑进去。

3.2.2 运动轨迹计算模块

在进行摄影机追踪时,通过对激光雷达的相邻两帧数据进行计算获取实时位置和姿态信息。其中,激光雷达的数据又可以分为点云深度数据以及惯性测量数据。

3.2.2.1 点云深度数据处理

(1)点云过滤。每帧点云数据量庞大,例如一帧640×380 的点云帧,共有243,200 组点数据,同时庞大的数据中又存在多组数值为0 的点。如果对原始点云进行计算会耗费大量的时间,无法满足实时性。需要对原始点云进行过滤来提高计算效率。本文采用体素下采样过滤器(Voxel Grid Filter)实现点云过滤,体素即体积像素,表示三维空间的像素。具体地,笔者把三维空间体素化,在每个体素里采样一个点,使用中心点或最靠近中心的点作为采样点Pcentroid,计算公式如式(1)所示。

其中,m表示一个体素中数据点的数量。图5-图8 分别表示随机一帧的点云数据以及每间隔0.01米、0.05米、0.1米精度下过滤后一帧的点云数据。需要注意的是,为了更加直观,本文对点云图像附加了RGB 摄像头的彩色数据。经过笔者比对,采样间隔越大,有效信息也就越少。

图5 随机一帧点云数据

图6 0.01米精度体素过滤后的点云帧数据

图7 0.05米精度体素过滤后的点云帧数据

图8 0.1米精度体素过滤后的点云帧数据

(2)点云数据计算。即对相邻的过滤后两帧点云数据进行处理,获得实时的运动数据(六自由度,即三个方向的平移数据以及三个轴向的旋转数据)。本文通过将两个相邻帧的点云数据对齐,反求出能够对齐两帧数据所需要的转换矩阵(旋转矩阵R 与平移向量t 组成),最终获得六自由度数据。迭代最近点(ICP)算法是最广泛的应用和成熟的阶层。Chen[3]和Besl[4]分别独立提出ICP 算法。区别在于,Chen 将点到面的距离作为误差度量,而Besl 则将点到点的距离作为误差度量。因此,上述两种方法分别被称为“点对面(P2PL)-ICP”和“点对点(P2P)-ICP”。本文使用Besl 提出的点对点式的ICP 算法作为算法基本思想,实现摄影机的实时追踪。首先,在后一帧点云(目标点云)中选取数据点集合Q;第二步,在前一帧点云(源点云)中寻找与目标点云数据集合对应的点集P;第三步,计算转换矩阵(R,t),尽量满足Q=RP+t;第四步,利用得到的转换矩阵对点集P进行变换,得到新的点集P′,计算P′与Q的平均距离;第五步,如果距离小于预设阈值或大于预设迭代次数,则停止计算,并将第三步得到的转换矩阵作为最终的转换矩阵输出,否则返回第二步,直到满足收敛条件为止。

3.2.2.2 惯性测量数据处理

本文所使用的惯性测量数据包括陀螺仪(Gyroscope)以及加速度计(Accelerometre)两组数据。在使用惯性测量数据进行计算后,能够得到实时运动数据中的三自由度(三个轴向的旋转数据)。

(1)陀螺仪数据处理

陀螺仪是一种硬件传感器,能够感知设备的旋转和方向变化。它通常通过微机电系统(Micro Electro-Mechanical System,MEMS)技术来实现,内部包含了微小但高精度的陀螺仪器件等传感器,可以实时地感知设备在空间中的旋转角度和方向,陀螺仪的每个通道检测一个轴的旋转。本文通过陀螺仪相邻两帧之间的三轴向各自的角速度与时间差相乘,来实现旋转数据的获取。

(2)加速度计数据处理

加速度计传感器是一种能够测量加速力的电子设备,加速度计由检测质量(也称敏感质量)、支承、电位器、弹簧、阻尼器和壳体组成。检测质量在加速度计的运动过程中只沿一个坐标轴的方向运动,该轴向通常被称为输入轴或敏感轴。当加速度计在做加速运动时,检测质量与仪表壳体之间产生相对运动使弹簧产生形变。弹簧的形变可反映实时的加速度数据。需要注意,加速度传感器检测到力的方向与它自身运动加速度的方向是相反的。此外,由于重力的作用,垂直于地面的轴向即使无运动,也会存在加速度,故加速度计无法测量围绕该轴向的旋转运动。因此,本文基于加速度计的特点,利用线性加速度和三角函数实现两轴向旋转数据的获取。

(3)数据整合与优化

通过设置好的过滤器实现三自由度的计算。本文对加速度计测量的三自由度进行低通滤波,对陀螺仪测量的三自由度进行高通滤波,并合成两个过滤器,对其数据相互补充以获得最终值。

3.2.3 数据传输模块

根据前文所述的技术实现方案,激光雷达将被固定在摄影机上,并随着摄影机的运动而移动,由于虚拟摄影棚面积较大,通过有线连接的方式进行数据传输是不现实的。为了保证数据传输的实时性,本文设计了一种特定的UDP 数据传输方案,通过固定的JSON 数据格式将六自由度数据传输至渲染引擎中。具体数据格式如下所示:

4 实验与分析

在本文实验中,激光雷达的选型为Intel®RealsenseTMLiDAR CAMERA L515(图9)[7],搭配使用Epic Games创建的虚幻引擎[8]。为了实现笔者提出的算法,使用点云库(PCL)[9]和Intel®RealSenseTMSDK[10]。在点云中进行过滤时,笔者选择3D 体素网格的方法,其中体素网格尺寸分别为0.005 米、0.01米、0.05 米和0.1 米。在实现点云数据计算时,使用CPU 多线程加速模式与GPU CUDA 加速模式。

图9 实验环境下与摄影机绑定的激光雷达

4.1 运动数据精度测试

系统的精度是指在相同条件下进行重复测量时的数据有多接近。为了评估系统精度,实验采用静止状态下的重复测量位置数据进行测试。笔者分别对利用CPU 多线程以及GPU CUDA 加速下的激光雷达追踪精度进行测试,同时对激光雷达内置的IMU进行精度测试。

4.1.1 CPU 多线程追踪精度测试

在针对基于CPU 多线程实现的点云数据反求运动轨迹精度测试中,将体素网格尺寸分别设置为0.01 米、0.05 米以及0.1 米,分别在静止状态下记录100 帧的位置信息(图10),并根据100 组数据计算标准差(表1)。实验数据表明,随着体素网格过滤间隔增大,各坐标轴精度的离散程度越大,其中Z 轴受过滤间隔变化的影响最小。

表1 CPU 多线程追踪精度测试结果

图10 CPU 多线程追踪精度测试结果

4.1.2 GPU CUDA 追踪精度测试

在针对基于GPU 实现的点云数据反求运动轨迹精度的测试中,体素网格尺寸d 分别设置为0.01 米、0.05 米以及0.1 米,并分别在静止状态下记录100 帧的位置信息(图11),根据100 组数据计算标准差(表2)。实验数据表明,随着体素网格过滤间隔增大,各坐标轴精度的离散程度越大,其中Z 轴受过滤间隔变化的影响最小。

表2 GPU CUDA 追踪精度测试结果

图11 GPU CUDA 追踪精度测试结果

4.1.3 IMU 运动轨迹测试

IMU 测试过程中,分别选取三种姿势(图13、14、15)进行测试,分别在静止状态下记录100 帧的三自由度数据,并根据100 组数据计算方差和标准差,最终测试结果如表3 所示,100 帧测试结果如图12 所示。为了更形象地展示测试结果,笔者对IMU 数据进行归一化处理。

表3 IMU 测试结果

图12 IMU 运动轨迹测试结果

图13 姿势一渲染效果图

图14 姿势二渲染效果图

图15 姿势三渲染效果图

4.2 实时追踪效率测试

在对比实时追踪效率测试中,过滤精度选择0.05 米,分别采用在CPU 多线程加速以及GPU CUDA 加速两种方式的基础上,附加CPU 单线程运算的数据。之后,分别记录不同方式对于计算100帧六自由度的数据所需时间(图16),并求出相对应的平均值(表4)。

表4 不同系统实时追踪效率测试结果

图16 不同系统实时追踪效率测试结果

4.3 测试结果

在数据精度测试中,实验数据表明点云数据和IMU 数据最终计算出的偏差数量级均可忽略不计,即两种方式均具有较高的数据精度。

在追踪效率测试中,实验数据表明随着点云过滤密度提高,即点数量的增加,CPU 多线程和GPU CUDA 加速对提升效率作用非常明显。当点数非常少时,GPU 由于需要与CPU 进行数据传输,此时运算速度不太理想,甚至出现GPU CUDA 加速后效率反而降低的现象。

5 结语

本文通过对LED 虚拟摄制中摄影机实时追踪现有技术的研究和探索,结合激光雷达在自动驾驶、物联网等实际场景中逐渐成熟的定位技术,提出了一种LED 虚拟摄制中基于激光雷达的摄影机实时追踪技术方案。该技术方案利用点云数据与惯性数据,实时计算运动轨迹数据,并通过专有数据格式实现数据传输。测试实验针对摄影机追踪过程中常见的重要参数,例如实时追踪的准确性、运动追踪的时延等技术指标进行了明确的测试用例与测试方法,验证了利用激光雷达实现摄影机实时追踪的可行性。该技术可以为LED 虚拟摄制提供新的摄影机追踪解决方案,从而作为传统光学追踪方案的有力补充。

本文所设计并实现的摄影机追踪系统目前还在实验室测试阶段,性能与准确性仍有很大的提升空间,未来笔者将要尝试在不同激光雷达,尤其是在国产激光雷达下实现实时追踪技术,提出具有更加普适性和通用性的LED 虚拟摄制中基于激光雷达的摄影机实时追踪技术方案,不断优化现有算法,提升计算效率与计算准确性,研究具有更高性能的摄影机追踪技术,进而提升国内LED 虚拟摄制技术水平,推动电影技术革新,实现对国外先进摄制技术的追赶与超越。

作者贡献声明:

解沛:设计论文框架,撰写和修订论文,全文文字贡献70%;

周令非:设计论文框架,参与修订论文,全文文字贡献15%;

刘知一:指导整体实现方案,参与修订论文,全文文字贡献10%;

王木旺:参与修订论文,全文文字贡献5%。

猜你喜欢

体素激光雷达轨迹
基于多级细分的彩色模型表面体素化算法
手持激光雷达应用解决方案
瘦体素决定肥瘦
法雷奥第二代SCALA?激光雷达
轨迹
轨迹
运用边界状态约束的表面体素加密细分算法
基于体素格尺度不变特征变换的快速点云配准方法
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究