Unified framework for multi-sensor multi-modal autonomous driving scene simulation
The 3DGS framework aligns and transforms multi-sensor data from pinhole, fisheye cameras, and LiDAR to generate photorealistic and fast multi-modal outputs, addressing the limitations of current simulations by bridging sensor discrepancies and enhancing autonomous driving simulations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-31
- Publication Date
- 2026-07-09
AI Technical Summary
Current autonomous driving simulations primarily focus on pinhole camera functionality, neglecting other sensors, leading to a gap between simulated and real-world data, and existing implicit neural network-based simulations face challenges in achieving photorealistic rendering and real-time speeds, especially when the ego vehicle changes trajectory.
A unified 3D Gaussian Splatting (3DGS)-based framework aligns and transforms multi-sensor data from pinhole, fisheye cameras, and LiDAR to generate photorealistic and fast multi-modal outputs, using sensor-specific Gaussian transformations, motion compensation, and view-dependent depth estimation to bridge sensor discrepancies.
The framework achieves photorealistic and fast rendering of multi-sensor data, addressing misalignment issues and enhancing the realism and efficiency of autonomous driving simulations.
Smart Images

Figure CN2024144486_09072026_PF_FP_ABST
Abstract
Description
UNIFIED FRAMEWORK FOR MULTI-SENSOR MULTI-MODAL AUTONOMOUS DRIVING SCENE SIMULATIONFIELD OF THE DISCLOSURE
[0001] The present disclosure relates to environmental simulation, and in particular relates to multi-sensor, multi-modal environmental simulation.BACKGROUND
[0002] The background description includes information that may be useful in understanding the present inventive subject matter. It is not an admission that any of the information provided herein is prior art or applicant admitted prior art, or relevant to the presently claimed inventive subject matter, or that any publication specifically or implicitly referenced is prior art or applicant admitted prior art.
[0003] Recently, end-to-end autonomous driving has showcased the capability to attain driving proficiency akin to human levels across a diverse array of scenarios. However, assessing such a system poses challenges due to the absence of intermediate results. Consequently, conducting end-to-end simulations becomes imperative for the development of an end-to-end driving system.
[0004] Current autonomous driving simulations primarily concentrate on replicating pinhole camera functionality while neglecting other sensors integrated into autonomous vehicles. This oversight restricts their applicability to real-world end to end autonomous driving systems that rely on various sensor types.
[0005] Traditional computer graphics-driven driving simulators may lack photorealistic quality, leading to a gap between simulated and real-world data. Although implicit neural network-based simulation systems can achieve photorealistic rendering, they face challenges in achieving real-time rendering speeds. Gaussian splatting based simulation offers the potential to achieve both realistic rendering quality and fast processing speeds. Nonetheless, it tends to be unstable when the ego vehicle changes trajectory.SUMMARY
[0006] According to at least a first aspect of the present disclosure, there is provided a method for multi-sensor multi-modal scene simulation comprising: aligning a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs; performing a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data; creating a view dependent depth offset based on the compositional gaussian representation; and jointly rasterizing the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.
[0007] In a first implementation of the first aspect, the aligning comprises: applying ego pose refinement parameters to the compositional gaussian representation; and applying sensor-to-ego pose refinement parameters for each of the plurality of sensor inputs.
[0008] In a second implementation of the first aspect the sensor-to-ego pose refinement parameters are created based on a learnable offset.
[0009] In a third implementation of the first aspect, the method further comprises applying a motion compensation transformation to the transformed data prior to jointly rasterizing the transformed data.
[0010] In a fourth implementation of the first aspect, the motion compensation compensates for at least one of motion blur and rolling shutter distortions.
[0011] In a fifth implementation of the first aspect, the motion compensation uses equation 1 defined below.
[0012] In a sixth implementation of the first aspect, the multi-sensor multi-model outputs use a view synthesis to assume a flat road surface.
[0013] In a seventh implementation of the first aspect, the view dependent depth offset is predicted by concatenating gaussian embeddings with view direction embeddings as input to a multi-layer perceptron.
[0014] In an eighth implementation of the first aspect, the plurality of sensor inputs include two or more of pinhole camera inputs; fisheye camera inputs; and LiDAR inputs.
[0015] In a ninth implementation of the first aspect, the multi-sensor multi-model outputs are provided to an autonomous driving simulation.
[0016] In a second aspect, a computing device comprising a processor and a memory, are provided. The computing device may be configured to align a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs; perform a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data; create a view dependent depth offset based on the compositional gaussian representation; and jointly rasterize the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.
[0017] In a first implementation of the second aspect, the computing device is configured to align by: applying ego pose refinement parameters to the compositional gaussian representation; and applying sensor-to-ego pose refinement parameters for each of the plurality of sensor inputs.
[0018] In a second implementation of the second aspect, the sensor-to-ego pose refinement parameters are created based on a learnable offset.
[0019] In a third implementation of the second aspect, the computing device is further configured to apply a motion compensation transformation to the transformed data prior to jointly rasterizing the transformed data.
[0020] In a fourth implementation of the second aspect, the motion compensation compensates for at least one of motion blur and rolling shutter distortions.
[0021] In a fifth implementation of the second aspect, the motion compensation uses equation 1 defined below.
[0022] In a sixth implementation of the second aspect, the multi-sensor multi-model outputs use a view synthesis to assume a flat road surface.
[0023] In a seventh implementation of the second aspect, the view dependent depth offset is predicted by concatenating gaussian embeddings with view direction embeddings as input to a multi-layer perceptron.
[0024] In an eighth implementation of the second aspect, the plurality of sensor inputs include two or more of pinhole camera inputs; fisheye camera inputs; and LiDAR inputs.
[0025] In a third aspect, a non-transitory computer readable medium for storing instruction code may be provided. The instruction code, when executed by a processor of a computing device, may cause the computing device to: align a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs; perform a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data; create a view dependent depth offset based on the compositional gaussian representation; and jointly rasterize the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.
[0026] In another aspect, embodiments of this disclosure provide a device configured to perform any of the methods disclosed herein.
[0027] In another aspect, embodiments of this disclosure provide a processor, configured to execute instructions to cause a device to perform any of the methods disclosed herein.
[0028] In another aspect, embodiments of this disclosure provide an integrated circuit configure to perform any of the methods disclosed herein.
[0029] According to one aspect of this disclosure, there is provided a module comprising: one or more circuits for performing any of the methods disclosed herein.
[0030] According to one aspect of this disclosure, there is provided an apparatus comprising: one or more processors functionally connected to one or more memories for performing any of the methods disclosed herein.
[0031] According to one aspect of this disclosure, there is provided an apparatus configured to perform any of the methods disclosed herein.
[0032] In some embodiments the apparatus comprises one or more units configured to perform the above-described method.
[0033] According to one aspect of this disclosure, there is provided one or more computer-readable storage media storing a computer program, wherein, when the computer program is executed by an apparatus, the apparatus is enabled to implement any of the methods disclosed herein.
[0034] According to one aspect of this disclosure, there is provided a computer program product including one or more instructions, wherein, when the instructions are executed by an apparatus, the apparatus is enabled to implement any of the methods disclosed herein.
[0035] According to one aspect of this disclosure, there is provided a computer program, wherein, when the computer program is executed by a computer, an apparatus is enabled to implement any of the methods disclosed herein.
[0036] According to one aspect of this disclosure, there is provided a system comprising a node for performing any of the methods disclosed herein.
[0037] Other aspects and features of the present application will be understood by those of ordinary skill in the art from a review of the following description of examples in conjunction with the accompanying figures.BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The present disclosure will be better understood having regard to the drawings in which:
[0039] Figure 1 is a block diagram showing a multi-sensor, multi-modal driving scene simulation module.
[0040] Figure 2 is a block diagram showing a multi-sensor pose alignment module.
[0041] Figure 3 is an illustration showing sensor specific gaussian transformations.
[0042] Figure 4 is an illustration showing multi-sensor motion compensation.
[0043] Figure 5A is an illustration showing gaussian blobs mapped to a depth based on a LiDAR sensor.
[0044] Figure 5B is an illustration showing gaussian blobs mapped to a depth based on an RGB sensor.
[0045] Figure 6A is an illustration showing rendering depth based on a center of a gaussian blob.
[0046] Figure 6B is an illustration showing view angle dependent rendering depth.
[0047] Figure 7A shows images rendered without a uniform surface assumption.
[0048] Figure 7B shows the images of Figure 7A rendered with a uniform surface assumption.
[0049] Figure 8 is a block diagram showing the use of the multi-sensor, multi-modal driving scene simulation mode with an autonomous driving simulator.
[0050] Figure 9 is a block diagram showing a multi-sensor, multi-modal scene simulation module in which sensors are rendered individually.
[0051] Figure 10 is a block diagram showing a multi-sensor, multi-modal driving scene simulation module without a uniform surface assumption.
[0052] Figure 11 is a block diagram showing an example simplified computing device capable of being used with the embodiments of the present disclosure.DETAILED DESCRIPTION OF THE DRAWINGS
[0053] In one embodiment, the present disclosure is directed to a unified Three Dimensional (3D) Gaussian Splatting (3DGS) -based framework to collaboratively model multi-sensor multi-modal data for autonomous driving simulation.
[0054] In other embodiments, the systems and methods provided herein can be used for indoor environment simulation, for example for development embodied Artificial Intelligence (AI) systems.
[0055] Other uses for the methods and systems of the present disclosure are further possible, and the description below with regard autonomous driving simulation is therefore only provided for illustrative purposes. In such other uses, different sensors may in some cases be used.
[0056] Therefore, in the embodiments herein, a Gaussian Splatting (GS) view-dependent depth estimation scheme is provided to generate view-dependent depth to bridge multi-sensor multi-modal representation.
[0057] Further, a pipeline is provided in some embodiments to regularize the Gaussian splatting optimization for road plane / structure simulation.
[0058] LiDAR data can improve the geometry quality of a reconstructed scene. RGB data, together with the sparse Lidar depth supervision, can generate accurate dense depth prediction, which may be beneficial for Lidar novel view synthesis. A fisheye camera can enlarge the coverage of the scene, which may be beneficial for pinhole novel view synthesis. Pinhole cameras may improve the rendering quality of fisheye cameras as fisheye cameras normally have worse image quality.
[0059] In this regard, joint training of different modalities may achieve an overall better reconstruction quality and faster rendering speed. However, various types of conflicts arise when training multi-sensor, multi-modal data together.
[0060] Current solutions lack the ability to overcome such conflicts. For example, one current solution is described in Yan, Yunzhi et al., “Street Gaussians: Modeling Dynamic Urban Scenes with Gaussian Splatting” , arXiv: 2401.01339v3, Aug. 18, 2024, the contents of which are incorporated herein by reference. This reference proposes a composed scene representation based on 3DGS for modeling complex dynamic street scenes. It further proposes a 4D spherical harmonics appearance model, pose optimization, and point cloud initialization to improve rendering quality. However, in Yan, Lidar is only used for initialization but is not for supervision. Further, Yan does not support fisheye camera simulation and Lidar simulation.
[0061] A further solution is described in Tao, Tang et al., “AlignMiF: Geometry-Aligned Multimodal Implicit Field for LiDAR-Camera Joint Synthesis” , arXiv: 2402.17483v1, Feb. 27, 2024, the contents of which are incorporated herein by reference. Tao provides a comprehensive analysis of multimodal learning in Neural Radiance Fields (NeRF) , and identifies the modality misalignment issue. Tao proposes Geometry-Aware Alignment (GAA) and Shared Geometry Initialization (SGI) modules to address the misalignment issue.
[0062] However, in Tao, render speed is limited due to the implicit representation, which limits the application in the real world. Further, Tao cannot simulate fisheye cameras.
[0063] Unified 3DGS-Based Multi-Sensor Multi-Modal Scene Simulation
[0064] In one embodiment, a framework capable of collaboratively processing multiple sensor inputs (Pinhole images, fisheye images, Lidar point clouds) to generate multi-sensor multi-modal outputs (pinhole images, fisheye images, Lidar point clouds, depth map, normal map, semantic map, road plane map) is provided.
[0065] As used herein, a point cloud is a discrete set of data points in space. The points may represent a 3D shape or object. Each point position has its set of Cartesian coordinates (X, Y, Z) . Point clouds are generally produced by 3D scanners or by photogrammetry software, which measures many points on the external surfaces of objects around them. As the output of 3D scanning processes, point clouds are used for many purposes.
[0066] A driving scene may be decomposed into compositional Gaussian representations with a sensor-specific Gaussian transformation and joint-rasterizer may be employed to render various modality outputs. A set of loss and regularization terms may be devised to facilitate collaborative multi-modal optimization.
[0067] This is therefore 3D reconstruction, which, as used herein is the process of creating a three-dimensional model of an object or environment from a set of two-dimensional images, three-dimensional sparse point cloud or other data sources. This involves using various techniques to capture spatial information and convert it into a 3D representation. The process can include methods such as photogrammetry, where multiple photographs are analyzed to determine the shape and structure of objects, or using depth sensors and LiDAR to gather detailed spatial information. The resulting 3D model can be used in various applications, from virtual reality and gaming to scientific research and historical preservation.
[0068] Reference is now made to Figure 1, which shows a block diagram of a system in accordance with the embodiments of the present disclosure. In the example of Figure 1, various multi-sensor, multi-model inputs 110 may provide data to the system. For example, this may include a pinhole camera 112, a fisheye camera 114 and a LiDAR 116.
[0069] A fisheye camera 114, as used herein, is a type of wide-angle camera designed to capture an extremely wide field of view, typically 180 degrees or more. This is achieved using a special fisheye lens that has a hemispherical or near-hemispherical shape. The lens creates a panoramic or spherical image that encompasses a broad area, often with noticeable distortion at the edges, which is characteristic of the fisheye effect. Fisheye cameras are used in various applications, including surveillance, immersive environments, and creative photography, where capturing a wide perspective is desired.
[0070] Such data may be provided as a scene compositional gaussian representation 118, which may then provide data to a data transformation and alignment module 119. As used herein, a compositional gaussian representation refers to representing data or systems using 3d gaussian ellipsoids in a compositional manner, where compositionality refers to the construction of complex objects or systems by combining gaussian ellipsoids with different constraints.
[0071] Specifically, the data from the scene compositional gaussian representation 118 may be provided to a multi-sensor pose alignment module 120, starting with ego pose refinement parameters 122.
[0072] The sensors may further be aligned based on the type of sensor. In the example of Figure 1, a pinhole to ego pose alignment parameters module 124, a fisheye to ego pose alignment parameters module 126, and a LiDAR to ego pose alignment parameters module 128 are provided. This is generally referred to as sensor-to-ego pose refinement.
[0073] Reference is now made to Figure 2, which shows one example of the multi-sensor pose alignment module 120. Specifically, in practical autonomous driving scenarios, calibration errors and mechanical looseness can cause sensor extrinsics to be unreliable, leading to discrepancies between observations from different sensors. Therefore, aligning poses from multiple sensors may be needed for accurate 3D reconstruction. Thus, an aligned output indicates outputs from various sensors that are aligned to account for extrinsic properties in the various sensors.
[0074] Specifically, the pose alignment module 120 may be broken into ego pose refinement and sensor calibration refinement, with the assumption that sensors are rigidly attached to the vehicle body.
[0075] Ego pose refinement parameters 122 may include ego poses 210 to which an ego poses learnable offset 212 may be applied to create refined ego poses 214. As used herein, an ego pose is the position and orientation of the ego vehicle equipped with different kinds of sensors. Thus, ego pose refinement may be applied to this perceived position and orientation. This may be done using an offset that may be refined over time, and thus may be learned.
[0076] Pinhole to ego pose alignment parameters module 124 may include various pinhole extrinsics 220, to which pinhole extrinsics learnable offsets 222 may be applied, thereby producing refined pinhole extrinsics 224.
[0077] Fisheye to ego pose alignment parameters module 126 may include various fisheye extrinsics 230, to which fisheye extrinsics learnable offsets 232 may be applied, thereby producing refined fisheye extrinsics 244.
[0078] LiDAR to ego pose alignment parameters module 124 may include various LiDAR extrinsics 240, to which LiDAR extrinsics learnable offsets 242 may be applied, thereby producing refined LiDAR extrinsics 244.
[0079] Refined ego poses 214, refined pinhole extrinsics 224, refined fisheye extrinsics 244, and refined LiDAR extrinsics 254 thereby can be used to create pose aligned observations 250, leading to a refined scene compositional Gaussian representation 260, also referred to herein as aligned data.
[0080] Reference is again made to Figure 1. Once a refined scene compositional Gaussian representation 260 is created at pose alignment module 120, the data may be provided to a sensor specific gaussian transformation module 130. Such Gaussian transformation module 130 may include a pinhole gaussian affine transformation block 132, a fisheye gaussian affine transformation block 134 and a LiDAR gaussian affine transformation block 136 in the example of Figure 1. As will be appreciated by those skilled in the art, fewer or more transformation blocks may be provided at the Gaussian transformation module 130 depending on the sensors being used. The gaussian affine transformation applies an affine transformation to 3d gaussian ellipoids.
[0081] For example, for pinhole data, a gaussian spherical harmonics transformation may be applied at block 132 to deal with dynamic appearance.
[0082] Similarly, for fisheye data, a gaussian spherical harmonics transformation may be applied at block 134 to deal with dynamic appearance.
[0083] If LiDAR depth map, intensity map and raydrop map are mapped to pinhole images, no further gaussian transformation may be needed at block 136 in some cases.
[0084] In some cases, 3D gaussian rasterizer may map all 3d gaussians to a 2D image plane before rendering the final result. However, this is not applicable for fisheye cameras.
[0085] The Gaussian transform at block 134 may, for example, use the method described in U.S. Patent Application No. 18 / 891, 649, entitled "Methods and Processors for Differentiable Rendering of Three Dimensional Gaussians for Omnidirectional Cameras” , the contents of which are incorporated herein by reference.
[0086] For example, reference is now made to Figure 3, which shows the updating, from block 310 to block 320, of the 3D Gaussians’ colors, positions, rotations and scaling factors based on fisheye distortion parameters, resulting in images 330.
[0087] Referring again to Figure 1, once the sensor specific gaussian transformations at module 130 have been completed, the transformed data may be provided to a multi-sensor motion compensation module 140. In the example of Figure 1, the multi-sensor motion compensation module 140 includes a pinhole motion blur and rolling shutter transformation block 142, a fisheye motion blur and rolling shutter transformation block 144, and a LiDAR motion blur and rolling shutter transformation block 146.
[0088] However, the multi-sensor motion compensation module 140 is optional in some cases, such as for example indoor motion where speeds are slow. Thus, in some cases, module 140 may be omitted from the system.
[0089] Motion compensation module 140 may be used, for example, when camera or object motion cause distortions. Specifically, due to the fast ego vehicle and surrounding objects movement, motion blur and rolling shutter effects widely exist in autonomous driving sensor data.
[0090] In particular, motion blur occurs when an object being captured or the camera itself is in motion during the exposure. Since the exposure time is not zero, this results in a blurred image.
[0091] Rolling shutter effects occur due to the capturing of images. In particular, cameras typically record images line by line, and thus, if the image is captured from top to bottom, then the top of the frame is captured slightly earlier than the bottom of the frame. If the camera or captured object is moving while the exposure is occurring, this may result in distortion of the image.
[0092] While motion blur effects can be approximated on both 3d and 2d space, it may be easier to approximate rolling shutter effects on the 2d image plane. Based on this, motion compensation is applied in one embodiment only to the 2d Gaussian center locations on the image space.
[0093] In this case, sensor motion can be simplified to a Y-axis velocity on the image space. These effects may be simulated by rendering and accumulating N_blur images with transformed 2d gaussians in accordance with equation 1 below.
[0094] Equation 1 represents a transformation applied to an image space 2d gaussian Y-axis center location, where Nblur is a number of samples to simulated blurred observation; Te is a camera exposure time; Tro is a camera readout time; x and y are the gaussian center location; vC is the camera motion speed; and ytrans is the transformed gaussian center location.
[0095] Reference is made to Figure 4, which shows an example of the compensation that occurs at multi-sensor motion compensation module 140.
[0096] In particular, the 3DGS representation 410 is converted to an image plane 2DGS representation 420.
[0097] In the example of Figure 4, a separate approximated motion blur representation 430 and approximated rolling shutter representation 440 can be created, for example using equation 1 above for the motion blur. For motion blur, a Gaussian 432 can be moved to represented as an extra Gaussian 434 to account for motion blur.
[0098] For the rolling shutter representation 440, the lower Gaussians may be transformed more than the upper Gaussians.
[0099] The two representations can then be combined to form combined representation 450.
[0100] In the example of Figure 4, parameters may be optimized depending on the sensor being used. For example, the length of the exposure or the scanning speed may be used to undo the motion blur and rolling shutter representations. A pinhole or fisheye camera may, for example, have a shorter exposure than a LiDAR sensor, and thus the parameters for the LiDAR sensor may be optimized with different values than those for the pinhole or fisheye cameras.
[0101] Referring again to Figure 1, the data transformation and alignment module 119 may further have a multi-sensor unified depth estimation module 150. Such depth estimation module may include a gaussian embedding block 152 and a view direction embedding block 153, which may be multiplied to create a plurality of linear layers 156, 157, etc. Such linear layers may be combined to create a view dependent depth offset 158, as provided below. The term “Gaussian embeddings” refers to learnable parameters attached to each of the gaussian ellipsoids. The term “view direction embeddings” refers to parameters representing the view direction. The gaussian embeddings and view direction embeddings are concatenated together as input of a small multilayer perceptron (MLP) to predict the view dependent depth offset.
[0102] For example, reference is now made to Figures 5A and 5B. As shown in these figures, LiDAR data has accurate depth and relatively low resolution while RGB data has inaccurate depth and relatively high resolution. For example, Figure 5A shows a gaussian distribution 510 when using LiDAR (depth) supervision with inaccurate depth rate rendering. The actual surface 520 is shown with a plurality of gaussian lobes 522, and the gaussian centre tends to align with the surface because the rendered adept is calculated based on the centre of the gaussian lobe 522. Further, gaussian lobes tended to be smaller.
[0103] Conversely, in Figure 5B, gaussian distribution 530 is shown when using camera supervision, such as one using a Red Green Blue (RGB) color model. In this case, the gaussian nodes 542 have a center that is close to the surface and more distributed about the actual surface 540. Gaussian lobes 542 tend to be larger and have more overlaps.
[0104] With view dependent depth rendering, the conflicts between the preferred Gaussian lobe distribution of using depth and RGB supervision can be relaxed, since the gaussian center does not need to be at the actual surface to render depth.
[0105] For example, reference is made to Figures 6A and 6B. In the embodiment of Figure 6A, a commonly used depth rendering pipeline considers all the light rays intersecting with the same gaussian have the same depth, which considers the distance between the centre of the gaussian and the camera plane, but does not consider the rotation and scale of the gaussian lobe 610. Thus, in Figure 6A, the actual depth 612 for all the light rays is simplified to the rendered depth 614.
[0106] Conversely, in the embodiment of Figure 6B, the actual depth of the gaussian lobe 620 may be view angle dependent, shown with arc 622. A gaussian lobe wise learnable feature 630 and a multilayer perception model 632 based decoder may be used to learn a view angle dependent depth offset.
[0107] Therefore, with the embodiment of Figure 6B, view dependent depth rendering allows for the gaussian centre not to be at the actual surface to render the depth.
[0108] Referring again to Figure 1, output from the multi-sensor motion compensation module 140 and the multi-sensor unified depth estimation module 150 may be provided to a joint rasterizer module 160, which can convert the vector based model to a pixel based model using the transformed input from the multi-sensor motion compensation module 140 and the multi-sensor unified depth estimation module 150.
[0109] This then leads to multi-sensor multi-model outputs 170, which includes the pinhole camera output 172, the fisheye camera output 174, an intensity output 176 and a depth output 178 which provide for the LiDAR output 180.
[0110] Other outputs which may be provided from the joint rasterizer module 160 includes a normal output 182, which can be checked for consistency with the depth output 178.
[0111] Further, semantic constraints may be provided with a semantic output 184.
[0112] In the case of a driving simulation, a road plane output 186 may also be provided. Specifically, novel view synthesis of the road surface may be important for end to end autonomous driving. However, when only single trajectory data is available, novel view synthesis of the road surface is ill-posed and prior knowledge may be used to solve the issue. The prior knowledge introduced in the example of Figure 1 is that the road surface is flat, and the road gaussian lobe distribution should be uniform.
[0113] For example, by making gaussian lobes flat, this minimizes the size the of minimal axis of every gaussian lobe.
[0114] Further, by making gaussian lobe distribution uniform, this minimizes the standard deviation of gaussian lobes scale, rotation, opacity distribution.
[0115] For example, Figure 7A shows a series of three scenes and a depth model without a uniform surface assumption. As seen, significant distortions occur on the road surface.
[0116] Conversely, Figure 7B shows the same scenes rendered with the assumption that the road surface is uniform. In this case, the distortions are reduced and a more uniform road surface therefore is provided.
[0117] The outputs therefore improve the functioning of the computing system by providing for improved rendering of a multi-modal, multi-sensor scene, for example for use in driving simulation.
[0118] This, in one case, once the various sensor outputs are transformed and aligned, they can be used in driving simulation.
[0119] Reference is now made to Figure 8. End to end autonomous driving is considered to be the future direction of the autonomous driving industry, and end to end multi-sensor multi-modal simulation will be necessary for the testing of end to end autonomous driving system. Potentially, a driving simulation system can also generate synthetic corner case training data for the end to end autonomous driving system. Thus, in the example of Figure 8, a multi-sensor, multi-modal driving scene simulation module 810, such as that described with regard to Figure 1 above, may provide an output 812.
[0120] Output 812 may be used by an autonomous driving simulator 820 as input. The autonomous driving simulator 820 may, based on the inputs, make driving decisions, and a feedback mechanism 822 may be provided back to the multi-sensor multi-modal driving scene simulation module 810 indicating driving decisions. The module 810 may then render the next scene for the various sensors and provide this to the autonomous driving simulator 820.
[0121] In this way, the autonomous driving algorithms maybe tested and created for implementation in actual vehicles, thereby ensuring public safety.
[0122] In some embodiments, module 810 and simulator 820 may exist on a single computing device. In some embodiments come up module 810 and simulator 820 may exist on different computing devices which may communicate with each other over a wired or wireless connection, for example through a network. In some embodiments, module 810 and simulator 820 may be part of a single piece of software. Other options are possible.
[0123] Separate Training
[0124] In an alternative embodiment to that described above, for each type of sensor, a model can be trained separately. In such case, to simulate all the sensors, eventually there will be a pinhole representation, a fisheye representation and a lidar representation. During inference, all three representations may be inferred separately to get all sensor outputs.
[0125] Reference is made to Figure 9, which shows a multi-sensor, multi-modal driving scene simulation module 900. Such multi-modal driving scene simulation module 900 may be used in some cases with the embodiment of Figure 8 for multi-modal driving scene simulation module 810.
[0126] In the example of Figure 9, multi-sensor multi-modal inputs 910 may include a pinhole camera input 912, a fisheye camera input 914, and a LiDAR input 916.
[0127] Inputs 910 may be provided as a scene gaussian layer 920, which includes a pinhole gaussian representation 920, a fisheye gaussian representation 922, and a LiDAR gaussian representation 924. Specifically, pinhole input 912 is provided as pinhole gaussian representation 920. Fisheye input 914 is provided as fisheye gaussian representation 922. LiDAR input 916 is provided as LiDAR gaussian representation 924.
[0128] Such gaussian representations may then be transformed to a multi-sensor multi-modal output 970. Specifically, pinhole gaussian representation 920 may be transformed to a pinhole output 972. Fisheye gaussian representation 922 may be transformed to a fisheye output 974. Such pinhole output 972 and fisheye output 974 may be created based on RGB supervision.
[0129] The LiDAR gaussian representation 924 may be transformed to an intensity output 976 and a depth output 978. Intensity output 976 and depth output 978 may be combined to provide a LiDAR output 980.
[0130] No Road Surface Optimization
[0131] In a further embodiment, the embodiment of Figure 1 may be modified for use in situations where no road surface optimization is needed.
[0132] Reference is now made to Figure 10, which shows block diagram of a system in accordance with the further embodiment. In the example of Figure 10, various multi-sensor, multi-model inputs 1010 may provide data to the system. For example, this may include a pinhole camera 1012, a fisheye camera 1014 and a LiDAR 1016.
[0133] Such data may be provided as a scene compositional gaussian representation 1018, which may then provide data to a data transformation and alignment module 1019.
[0134] Specifically, the data from the scene compositional gaussian representation 1018 may be provided to a multi-sensor pose alignment module 1020, starting with ego pose refinement parameters 1022.
[0135] The sensors may further be aligned based on the type of sensor. In the example of Figure 10, a pinhole to ego pose alignment parameters module 1024, a fisheye to ego pose alignment parameters module 1026, and a LiDAR to ego pose alignment parameters module 1028 are provided. One multi-sensor pose alignment module 1020 is, for example, shown with regard to Figure 2.
[0136] Once a refined scene compositional Gaussian representation 260 is created at pose alignment module 1020, the data may be provided to a sensor specific gaussian transformation module 1030. Such Gaussian transformation module 1030 may include a pinhole gaussian affine transformation block 1032, a fisheye gaussian affine transformation block 1034 and a LiDAR gaussian affine transformation block 1036 in the example of Figure 10. As will be appreciated by those skilled in the art, fewer or more transformation blocks may be provided at the Gaussian transformation module 1030 depending on the sensors being used.
[0137] For example, for pinhole data, a gaussian spherical harmonics transformation may be applied at block 1032 to deal with dynamic appearance.
[0138] Similarly, for fisheye data, a gaussian spherical harmonics transformation may be applied at block 1034 to deal with dynamic appearance.
[0139] If LiDAR depth map, intensity map and raydrop map are mapped to pinhole images, no further gaussian transformation may be needed at block 1036 in some cases.
[0140] In some cases, 3D gaussian rasterizer may map all 3d gaussians to a 2D image plane before rendering the final result. However, this is not applicable for fisheye cameras.
[0141] The example of Figure 3 may be used for the updating of the 3D Gaussians’ colors, positions, rotations and scaling factors based on fisheye distortion parameters.
[0142] Once the sensor specific gaussian transformations at module 1030 have been completed, the data is provided to a multi-sensor motion compensation module 1040. In the example of Figure 10, the multi-sensor motion compensation module 1040 includes a pinhole motion blur and rolling shutter transformation block 1042, a fisheye motion blur and rolling shutter transformation block 1044, and a LiDAR motion blur and rolling shutter transformation block 1046.
[0143] As described with regard to Figure 1, motion blur occurs when an object being captured or the camera itself is in motion during the exposure. Since the exposure time is not zero, this results in a blurred image.
[0144] Rolling shutter effects occur due to the capturing of images. In particular, cameras typically record images line by line, and thus, if the image is captured from top to bottom, then the top of the frame is captured slightly earlier than the bottom of the frame. If the camera or captured object is moving while the exposure is occurring, this may result in distortion of the image.
[0145] While motion blur effects can be approximated on both 3d and 2d space, it may be easier to approximate rolling shutter effects on the 2d image plane. Based on this, motion compensation is applied in one embodiment only to the 2d Gaussian center locations on the image space.
[0146] In this case, sensor motion can be simplified to a Y-axis velocity on the image space. These effects may be simulated by rendering and accumulating N_blur images with transformed 2d gaussians in accordance with equation 1 above.
[0147] The example of Figure 4 shows the compensation that may occur at multi-sensor motion compensation module 1040.
[0148] The data transformation and alignment module 1019 may further have a multi-sensor unified depth estimation module 1050. Such depth estimation module may include a gaussian embedding block 1052 and a view direction embedding block 1053, which may be multiplied to create a plurality of linear layers 1056, 1057, etc. Such linear layers may be combined to create a view independent depth offset 1058. This is for example seen in Figures 5A and 5B.
[0149] With view dependent depth rendering, the conflicts between the preferred Gaussian lobe distribution of using depth and RGB supervision can be relaxed, since the gaussian center does not need to be at the actual surface to render depth. This is for example seen in Figures 6A and 6B.
[0150] Output from the multi-sensor motion compensation module 1040 and the multi-sensor unified depth estimation module 1050 may be provided to a joint rasterizer module 1060.
[0151] This then leads to multi-sensor multi-model outputs 1070, which includes the pinhole camera output 1072, the fisheye camera output 1074, an intensity output 1076 and a depth output 1078 which provide for the LiDAR output 1080.
[0152] Other outputs which may be provided from the joint rasterizer module 160 includes a normal output 1082, which can be checked for consistency with the depth output 1078.
[0153] Further, semantic constraints may be provided with a semantic output 1084.
[0154] In some cases, the embodiments of Figure 10 can be used as the multi-sensor, multi-modal driving scene simulation module 810 from Figure 8.
[0155] Example Hardware
[0156] The above functionality may be implemented on any one or combination of computing devices. Figure 11 is a block diagram of a computing device 1100 that may be used for implementing the devices and methods disclosed herein. Specific devices may utilize all of the components shown, or only a subset of the components, and levels of integration may vary from device to device. Furthermore, a device may contain multiple instances of a component, such as multiple processing units, processors, memories, etc. The computing device 1100 may comprise a central processing unit (CPU) or processor 1110, communications subsystem 1112, memory 1120, a mass storage device 1140, and peripherals 1130.
[0157] Peripherals 1130 may comprise, amongst others one or more input / output devices, such as a speaker, microphone, mouse, touchscreen, keypad, keyboard, printer, display, network interfaces, and the like.
[0158] Communications between processor 1110, communications subsystem 1112, memory 1120, mass storage device 1140, and peripherals 1130 may occur through one or more buses 1150. The bus 1150 may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, video bus, or the like.
[0159] The processor 1110 may comprise any type of electronic data processor. The memory 1120 may comprise any type of system memory such as static random-access memory (SRAM) , dynamic random access memory (DRAM) , synchronous DRAM (SDRAM) , read-only memory (ROM) , a combination thereof, or the like. In an embodiment, the memory 1120 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
[0160] The mass storage device 1140 may comprise any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus. The mass storage device 1140 may comprise, for example, one or more of a solid-state drive, hard disk drive, a magnetic disk drive, an optical disk drive, or the like.
[0161] In embodiments, a processor 1110 may execute instruction code stored in a non-transitory computer readable medium such as memory 1120 or mass storage device 1140 to perform the methods described herein.
[0162] The computing device 1100 may also include a communications subsystem 1112, which may include one or more network interfaces, which may comprise wired links, such as an Ethernet cable or the like, and / or wireless links to access nodes or different networks. The communications subsystem 1112 allows the processing unit to communicate with remote units via the networks. For example, the communications subsystem 1112 may provide wireless communication via one or more transmitters / transmit antennas and one or more receivers / receive antennas. In an embodiment, the processing unit is coupled to a local-area network or a wide-area network, for data processing and communications with remote devices, such as other processing units, the Internet, remote storage facilities, or the like.
[0163] The embodiments described herein are intended to be illustrative of the present compositions and methods and are not intended to limit the scope of the present invention. Various modifications and changes consistent with the description as a whole and which are readily apparent to the person of skill in the art are intended to be included. The appended claims should not be limited by the specific embodiments set forth in the examples, but should be given the broadest interpretation consistent with the description as a whole.
Claims
1.A method for multi-sensor multi-modal scene simulation comprising:aligning a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs;performing a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data;creating a view dependent depth offset based on the compositional gaussian representation; andjointly rasterizing the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.2.The method of claim 1, wherein the aligning comprises:applying ego pose refinement parameters to the compositional gaussian representation; andapplying sensor-to-ego pose refinement parameters for each of the plurality of sensor inputs.3.The method of claim 2, wherein the sensor-to-ego pose refinement parameters are created based on a learnable offset.4.The method of any one of claims 1 to 3, further comprising:applying a motion compensation transformation to the transformed data prior to jointly rasterizing the transformed data.5.The method of claim 4, wherein the motion compensation compensates for at least one of motion blur and rolling shutter distortions.6.The method of claim 5, wherein the motion compensation uses the equation where Nblur is a number of samples to simulated blurred observation; Te is a camera exposure time; Tro is a camera readout time; x and y are a gaussian center location; vC is a camera motion speed; and ytrans is a transformed gaussian center location.7.The method of any one of claims 1 to 6, wherein the multi-sensor multi-model outputs use a view synthesis to assume a flat road surface.8.The method of any one of claims 1 to 7, wherein the view dependent depth offset is predicted by concatenating gaussian embeddings with view direction embeddings as input to a multi-layer perceptron.9.The method of any one of claims 1 to 8, wherein the plurality of sensor inputs include two or more of pinhole camera inputs; fisheye camera inputs; and LiDAR inputs.10.The method of any one of claims 1 to 9, wherein the multi-sensor multi-model outputs are provided to an autonomous driving simulation.11.A computing device comprising:a processor; andmemory,wherein the computing device is configured to:align a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs;perform a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data;create a view dependent depth offset based on the compositional gaussian representation; andjointly rasterize the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.12.The computing device of claim 11, wherein the computing device is configured to align by:applying ego pose refinement parameters to the compositional gaussian representation; andapplying sensor-to-ego pose refinement parameters for each of the plurality of sensor inputs.13.The computing device of claim 12, wherein the sensor-to-ego pose refinement parameters are created based on a learnable offset.14.The computing device of any one of claims 11 to 13, wherein the computing device is further configured to:apply a motion compensation transformation to the transformed data prior to jointly rasterizing the transformed data.15.The computing device of claim 14, wherein the motion compensation compensates for at least one of motion blur and rolling shutter distortions.16.The computing device of claim 15, wherein the motion compensation uses the equation where Nblur is a number of samples to simulated blurred observation; Te is a camera exposure time; Tro is a camera readout time; x and y are a gaussian center location; vC is a camera motion speed; and ytrans is a transformed gaussian center location.17.The computing device of any one of claims 11 to 16, wherein the multi-sensor multi-model outputs use a view synthesis to assume a flat road surface.18.The computing device of any one of claims 11 to 17, wherein the view dependent depth offset is predicted by concatenating gaussian embeddings with view direction embeddings as input to a multi-layer perceptron.19.The computing device of any one of claims 11 to 18, wherein the plurality of sensor inputs include two or more of pinhole camera inputs; fisheye camera inputs; and LiDAR inputs.20.A non-transitory computer readable medium for storing instruction code, which, when executed by a processor of a computing device cause the computing device to:align a scene compositional gaussian representation for each of a plurality of sensor inputs, thereby producing aligned outputs;perform a sensor specific gaussian affine transformation on each of the aligned outputs, thereby producing transformed data;create a view dependent depth offset based on the compositional gaussian representation; andjointly rasterize the transformed data and the view dependent depth offset to produce multi-sensor multi-model outputs.