Performance testing of robotic systems
By modeling the probabilistic uncertainty of sensing components using the Statistical Perception Performance Model (PSPM) and simulating real-world perception output, this approach addresses the high cost and low efficiency of testing autonomous vehicles in existing technologies, enabling more efficient safety testing.
Patent Information
- Application Number
- CN202080059363.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-06
- Filing Date
- 2020-08-21
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2040-08-21
AI Technical Summary
Existing performance testing methods for autonomous vehicles cannot effectively account for the impact of perception errors in simulated scenarios. In particular, the simulation of real-world conditions requires high-quality data, resulting in high testing costs and low efficiency, making it difficult to achieve the same level of safety as human drivers.
The Statistical Perception Performance Model (PSPM) is adopted to model the probability uncertainty distribution of sensing components, simulate the real-world sensing output, and incorporate confounding factors to reduce reliance on high-quality sensor data, thereby improving testing efficiency and accuracy.
Effectively simulating real-world perception output in a simulated environment improves the efficiency and accuracy of safety testing for autonomous driving systems, reduces testing costs, and enables better evaluation of the system's performance in the real world.
Smart Images

Figure CN114303174B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to performance testing of autonomous vehicles and other robotic systems. Performance testing is crucial to ensuring that such systems can operate at a guaranteed level of safety. Background Technology
[0002] It is estimated that in order for autonomous vehicles (AVs) to achieve a level of safety comparable to that of human drivers, it is necessary to ensure that at most one error occurs for every 10^7 autonomous driving decisions throughout the entire Operational Design Domain (ODD) of the AV.
[0003] This presents a significant challenge given the inherent complexity of both the AV (Autonomous Driving System) and the ODD (Optical Distributor). An autonomous driving system is an exceptionally complex assembly of interdependent and interacting software and hardware components, each susceptible to limitations or errors. Several components utilize neural networks for object detection, type classification, action prediction, and other critical tasks. The system needs to operate safely within the ODD. In this context, the ODD describes all possible driving scenarios the AV might encounter, thus possessing virtually limitless possibilities. Its variables include road topologies, the user, appearance, lighting, weather, behavior, season, speed, randomness, and intentional actions.
[0004] Industry-standard methodologies for safety testing are based on real-world driving test mileage. Autonomous vehicle fleets are driven by test drivers, and decisions requiring test driver intervention are characterized as unsafe. Once an instance of test driver intervention occurs in a specific real-world driving scenario, the circumstances of that scenario can be investigated to isolate factors leading to unsafe AV behavior and take appropriate mitigation actions. Summary of the Invention
[0005] Simulation has been used for security testing, but it is only useful if the simulated scenario is realistic enough (if the AV planner makes unsafe decisions in a completely unrealistic simulated scenario, then its usefulness in the context of security testing is far less than instances of unsafe behavior in real-world scenarios).
[0006] One approach is to run simulations based on real-world scenarios requiring driver intervention. Sensor outputs from the AV are collected, and these outputs are used to reconstruct the driving scenario requiring driver intervention in the simulator. Scenario variables can be “fuzzified” at the planning level to test variations of the still realistic real-world scenario. In this way, more information about the causes of unsafe behavior can be acquired, analyzed, and used to improve prediction and planning models. However, a significant problem arises because the number of test miles required to find a sufficient number of instances of unsafe behavior increases as the number of errors per decision decreases. A typical AV planner might make approximately one decision every two seconds on average. At an average speed of 20 mph, this equates to approximately 90 decisions per mile. This, in turn, implies less than one error per 10^5 miles to match human safety levels. Robust safety testing requires multiple tests to adequately test the AV across its ODDs. This situation worsens further as the perception stack evolves, requiring even more test miles with each change in the perception stack. For these reasons, this approach is simply not feasible when testing at near-human safety levels.
[0007] Existing simulation methods also have other problems.
[0008] One approach is planning-level simulation, but this cannot fully account for the impact of perception errors. Many factors can affect perception errors, such as weather, lighting, distance to or speed of another vehicle, and obstructions.
[0009] An alternative would be a complete "realistic" simulation, where the entire hardware and software stack of the AV is simulated. However, this in itself presents a significant challenge. AV sensing pipelines typically consist of multiple sensing units that work together to interpret the sensor outputs of the AV.
[0010] One problem is that some perceptual components (such as Convolutional Neural Networks (CNNs)) are particularly sensitive to the quality of simulated data. While high-quality simulated image data can be generated, CNNs in perception are extremely sensitive even to small deviations from real-world data. Therefore, these will require exceptionally high-quality simulated image data that covers all possible conditions that AVs might encounter in the real world (e.g., different combinations of simulated weather conditions, lighting conditions, etc.)—otherwise, their behavior in simulated scenes will not adequately reflect their behavior in the real world.
[0011] The second problem is that certain types of sensor data are particularly difficult to model (simulate). Therefore, even sensing systems that are not particularly sensitive to the quality of the input data will produce poor results; for example, radar belongs to the category of sensor data that is extremely difficult to simulate. This is because the physical characteristics of radar are inherently difficult to model.
[0012] The third primary issue is computational efficiency. Given current hardware constraints, it is estimated that realistic simulations can be achieved in real-time as much as possible (even if other problems can be overcome).
[0013] This disclosure provides a radically different approach to simulation-based security testing using a model referred to herein as the “Statistical Performance Model for Perception” (PSPM). The core problem addressed in this disclosure is to simulate realistic perceptual output—that is, perceptual output with realistic errors—in a manner that is not only more robust than realistic simulation but also significantly more efficient.
[0014] PSPM models perceptual errors in terms of probabilistic uncertainty distributions based on robust statistical analysis of actual perceptual outputs computed by one or more perceptual units being modeled. A unique aspect of PSPM is that, given a perceptual ground reality (i.e., the “perfect” perceptual output that would be computed by a perfect but unrealistic perceptual unit), PSPM provides a probabilistic uncertainty distribution representing the realistic perceptual outputs that can be provided by the perceptual unit it is modeling. For example, given a ground reality 3D bounding box, PSPM modeling a simulated 3D bounding box detector would provide an uncertainty distribution representing the output of real-world 3D object detection. Even when the perceptual system is deterministic, it can be effectively modeled as stochastic to account for the cognitive uncertainty of the many hidden variables it depends on in practice.
[0015] Of course, ground reality perception isn't available at runtime in a real-world AV (which is why complex perception components are needed to reliably interpret imperfect sensor output). However, ground reality perception can be derived directly from a simulated scene running in a simulator. For example, in a 3D simulation of a driving scenario with an external actor present and a self-vehicle (the simulated AV being tested), the ground reality 3D bounding box can be directly computed from the simulated scene of the external actor based on the size and pose (position and orientation) of the external actor relative to the self-vehicle. The PSPM can then be used to derive realistic 3D bounding object detection output from these ground realities, which can then be processed by the remaining AV stack as if they were running at runtime.
[0016] A first aspect of the present invention provides a method for testing the performance of a robot planner and a perception system, the method comprising:
[0017] Receive at least one probability uncertainty distribution for modeling at least one sensing component of a sensing system, the probability uncertainty distribution being determined based on statistical analysis of actual sensing outputs derived by applying the at least one sensing component to inputs directly or indirectly obtained from one or more sensor components; and
[0018] Run simulated scenarios in a simulator, where the simulated robot's state changes based on autonomous decisions made by the robot planner based on the reality-perceived output calculated for each simulated scenario;
[0019] The reality-perceived output is modeled based on the actual perception output provided by at least one sensing component in the simulated scene, but the reality-perceived output is calculated without applying at least one sensing component to the simulated scene and without simulating one or more sensor components. Instead, it is calculated by:
[0020] (i) Directly calculate the perceived ground condition of at least one sensing component based on the simulated scene and simulated robot state, and
[0021] (ii) Modify the perceived ground reality according to at least one probability uncertainty distribution to calculate the reality perception output.
[0022] Note that the terms “perception pipeline,” “perception stack,” and “perception system” are used synonymously herein. The term “perception slice” is used to refer to all or part of a perception stack (comprising one or more perception components) modeled by a single PSPM. As described later, during simulated security testing, the perception stack may be replaced, in whole or in part, by one or more PSPMs. The term slice can also be used to refer to portions of the prediction stack that are not modeled by a PSPM or replaced by a PPSM, and the meaning will be clear from the context.
[0023] In a preferred embodiment of the invention, the real-world sensing output depends not only on the perceived ground conditions but also on one or more “confounding factors.” That is, the influence of confounding factors on the sensing output modeled by the PSPM. Confounding factors represent real-world conditions (such as weather, lighting, the speed of another vehicle, distance to another vehicle, etc.) that may affect the accuracy of the sensing output; examples of other types of confounding factors will be given later. The PSPM is said to be mapped to a “confounding space” representing all possible confounding factors or combinations of confounding factors that the PSPM can consider. This allows the PSPM to model accurately and efficiently the different real-world conditions represented by different points in the confounding space, because the PSPM eliminates the need to simulate sensor data for those different conditions and does not require the sensing component itself to be applied as part of the simulation.
[0024] The term "confounding factor" is sometimes used in statistics to refer to a variable that has a causal effect on both the dependent and independent variables. However, in this paper, the term is used more generally to refer to variables in a perceptual error model (PSPM) representing a certain physical condition.
[0025] In an embodiment, at least one probability uncertainty distribution can be used to model multiple cooperative sensing components of the sensing system.
[0026] In one embodiment, only a portion of the sensing system may be modeled, and at least a second sensing component of the sensing system may be applied to the real-world sensing output to provide a second sensing output for making the decision.
[0027] The second sensing component can be a fusion component, such as a Bayesian or non-Bayesian filter.
[0028] The sensing component being modeled can be a sensor data processing component that is highly sensitive to artifacts in the simulated data. In this case, the method described above avoids the need to simulate high-quality sensor data for this component. For example, the sensing component can be a convolutional neural network (CNN) or other forms of neural network.
[0029] Alternatively or additionally, the sensing component being modeled can be a sensor data processing component that processes sensor data that is inherently difficult to simulate. For example, a RADAR processing component.
[0030] The method may include the following steps: analyzing changes in the state of a simulated robot to detect instances of unsafe behavior in the simulated robot state and determining the cause of the unsafe behavior.
[0031] Instances of unsafe behavior can be detected based on a predefined set of acceptable behavior rules applied to simulated scenarios and simulated robot states.
[0032] Rules for such acceptable behavior can take the form of a "Digital Highway Code" (DHC).
[0033] PSPM in conjunction with DHC allows for the efficient running of numerous realistic simulations (as opposed to known variations in motion from real-world testing scenarios where driving is unsafe) without knowing which actions would lead to unsafe / unacceptable behavior, where DHC’s predefined rules are used to automatically detect instances of such behavior.
[0034] The sensing components and / or planners can be modified to mitigate the causes of unsafe behavior.
[0035] The probability uncertainty distribution can be determined using sensor outputs obtained from one or more sensors and the corresponding sensed ground conditions associated with those sensor outputs.
[0036] The probability uncertainty distribution can vary based on one or more confounding factors, wherein a set of one or more confounding factors selected for a simulation scenario can be used to modify the perceived ground reality based on the probability uncertainty distribution, wherein each confounding factor represents a physical property.
[0037] One or more confounding factors may include one or more of the following:
[0038] -Obscuration level
[0039] - One or more lighting conditions
[0040] - Indication of time of day
[0041] - One or more weather conditions
[0042] - Seasonal Instructions
[0043] - at least one external object's physical characteristics
[0044] - Sensor conditions (e.g., object position in the field of view).
[0045] In the time-dependent model, another variable input that PSPM depends on can be the previous ground reality and / or at least one previous reality-aware output calculated from it.
[0046] Simulated scenarios can be derived from observed real-world scenarios.
[0047] A simulated scenario can be a fuzzed scenario determined by observing a real-world scene through fuzzification.
[0048] In other words, as a result of perception error, in addition to generating changes in the inputs that appear in the prediction and planning system, it can also be combined with methods that generate additional test scenarios by altering (small or large) the conditions of the test scenario (e.g., other vehicles in the scenario that slightly accelerate or decelerate, such as slightly changing the initial position and direction of the ego car and other cars). It is known that these two types of changes in the real-world scenario together will have a higher chance of hitting dangerous situations, and the system needs to be able to cope with them.
[0049] Another aspect of the present invention relates to a computer implementation method for training a perceptual statistical performance model (PSPM), wherein the PSPM models the uncertainty in perceptual outputs computed from perceptual slices, the method comprising:
[0050] The perception slices are applied to the outputs of multiple training sensors, thereby calculating a training perception output for each sensor output, where each training sensor output is associated with the perceived ground reality;
[0051] Each of the sensing outputs is compared with the associated sensing ground reality to calculate the set of sensing errors Δ;
[0052] The PSPM is trained using a set of perception errors Δ, where the trained PSPM provides a probabilistic perception uncertainty distribution of the form p(e|t), where p(e|t) represents the probability of calculating a specific perception output e given the perception ground reality t.
[0053] Another aspect of the present invention provides a perceptual statistical performance model (PSPM) implemented in a computer system, the PSPM being used to model perceptual slices and configured to:
[0054] Receive and calculate the perceived ground condition t;
[0055] Based on the set of learned parameters θ, a probabilistic perceptual uncertainty distribution of the form p(e|t) is determined from the perceived ground reality t, where p(e|t) represents the probability of a specific perceptual output e being computed by a perceptual slice given the computed perceived ground reality t, and the probabilistic perceptual uncertainty distribution is defined over the range of possible perceptual outputs. The parameters θ are learned from the set of actual perceptual outputs generated using the perceptual slice to be modeled.
[0056] In a preferred embodiment, the PSPM can vary according to one or more confounding factors c, where each confounding factor characterizes a physical condition. In this case, the probability-aware uncertainty distribution takes the form p(e|t,c).
[0057] In an embodiment, PSPM may take the form of a parameter distribution defined by a set of parameters θ learned from a set of sensing errors Δ, and varying with a given sensing ground condition t.
[0058] In order to train the PSPM based on confounding factors, each training sensor output may also be associated with one or more sets of confounding factors, which characterize one or more physical conditions that capture the training sensor output.
[0059] Ground scenarios for training PSPM can be generated offline because more accurate and therefore often more computationally intensive algorithms can be used compared to online scenarios. These only need to be generated once.
[0060] Please note that the term parameter includes hyperparameters, such as hyperparameters learned through variational inference.
[0061] In one embodiment, the perceived ground situation associated with the sensor output can be derived from the sensor output using offline processing (e.g., processing that cannot be performed in real time due to hardware limitations or because offline processing is inherently non-real-time).
[0062] A model suitable for PSPM typically draws attention to confounding factors in the data used for modeling, which may or may not be immediately apparent. The advantage of this is that only significant confounding factors need to be modeled separately, and their importance is determined by how much the data deviates from the model.
[0063] The confounding factor *c* is the variable upon which the trained PSPM depends. During runtime, by changing the value of *c*, a reality-aware output (i.e., with reality error) can be obtained for different physical conditions. The variable can be numerical (e.g., continuous / pseudo-continuous) or categorical (e.g., binary or non-binary categorical values).
[0064] It is possible that training the PSPM reveals statistically significant dependencies on one or more physical properties that are not currently characterized by existing confounding factors c. For example, when the trained PSPM is validated, it may perform worse than expected on certain types of data, and the analysis may be able to attribute this to dependencies on physical conditions that are not explicitly modeled in the PSPM.
[0065] Therefore, in an embodiment, the method may include the following steps: analyzing a trained PSPM for confounding factor c (e.g., validating the PSPM using a validation-aware error dataset), and retraining the PSPM for a new set of one or more confounding factors c' in response to the trained PSPM, such that the probability-aware uncertainty distribution of the retrained PSPM takes the form p(e|t,c').
[0066] For example, c' can be determined by adding or removing confounding factors from c. For instance, if a confounding factor is considered statistically significant, it can be added, or if the analysis shows that the confounding factor is not actually statistically significant, it can be removed.
[0067] By modeling PSPM in this way, it is possible to determine which confounding factors are statistically significant and need to be modeled, and which confounding factors are not statistically significant and do not need to be modeled.
[0068] For example, one or more confounding factors may include one or more of the following:
[0069] - The occlusion level of at least one external object (indicating the degree to which the object is occluded relative to the subject. The external object can be a moving or static object).
[0070] - One or more lighting conditions
[0071] - Indication of time of day
[0072] - One or more weather conditions
[0073] - Seasonal Instructions
[0074] - At least one physical characteristic of an external object (e.g., its position / distance from the subject, its velocity / speed / acceleration relative to the subject, etc.).
[0075] - The position of external objects within the subject's field of view (e.g., in the case of a camera, the angle relative to the image center).
[0076] Another aspect of the present invention provides a computer system for testing and / or training a runtime stack of a robotic system, the computer system comprising:
[0077] A simulator, configured to run a simulated scenario in which a simulated subject interacts with one or more external objects;
[0078] The runtime stack includes an input configured to receive time-series of perception outputs for each simulation scenario, a planner configured to make autonomous decisions based on the perception outputs, and a controller configured to generate a series of control signals to enable the simulated agent to make decisions as the simulation scenario progresses.
[0079] The computer system is configured to compute each perceptual output of the time series by performing the following operations:
[0080] Calculate the perceived ground condition based on the current state of the simulated scenario;
[0081] Applying the aforementioned PSPM to sense the actual ground situation, thereby determining the probability sensing uncertainty distribution; and
[0082] Sample the perceived output from the probability-perceived uncertainty distribution.
[0083] Preferably, PSPM is applied to the perception of ground reality and one or more sets of confounding factors associated with the simulated scenario.
[0084] Ray tracing can be used to calculate the perceived ground reality for each external object.
[0085] Each external object can be a moving active object or a static object.
[0086] The same simulation scenario can be run multiple times.
[0087] The same simulation scenario can be run multiple times using different confounding factors.
[0088] The runtime stack may include a prediction stack configured to predict the behavior of an external actor based on the perceived output, wherein the controller may be configured to make decisions based on the predicted behavior.
[0089] The computer system can be configured to record details of each simulation scenario in a test database, including the decisions made by the planner, the perceptual outputs on which those decisions were based, and the behavior of the simulated agent in executing those decisions.
[0090] The computer system may include a scenario evaluation component configured to analyze the behavior of a simulated subject in each simulated scenario in relation to a predetermined set of behavioral rules, in order to classify the subject's behavior.
[0091] The analysis results from the scene evaluation component can be used to develop simulation strategies. For example, the scene can be "blurred" based on the analysis results (see below).
[0092] The behavior of an entity can be categorized as safe or unsafe.
[0093] To model false negative detection, a probabilistically perceived uncertainty distribution provides the probability of successfully detecting a visible object, which is used to determine whether to provide an object detection output for that object. (In this case, a visible object means an object that is within the sensor's field of view of the subject in the simulated scene, but which the subject may still be unable to detect.)
[0094] Time-dependent PSPMs (e.g., Hidden Markov Models) can be used in any of the above.
[0095] In the case of modeling false negatives, time-dependent PSPM can be used, such that the probability of detecting a visible object depends on at least one earlier determination of whether to provide object detection output for a visible object.
[0096] To model false positive detection, a probability uncertainty distribution can provide the probability of false object detection, which is used to determine whether to provide a perceptual output for a non-existent object.
[0097] Once the "ground reality" is determined, potential errors in the planner can be explored by running the scenario in a loop without PSPM. This can be extended to automatically classifying data to indicate perception problems or planner problems.
[0098] In one embodiment, a simulated scenario in which the simulated subject exhibits unsafe behavior can be rerun by directly providing the runtime stack with real-time ground information, without applying PSPM.
[0099] Then, analysis can be performed to determine whether the simulated subject still exhibits unsafe behavior in the rerun of the scenario.
[0100] Another aspect of the present invention provides a method for testing a robot planner for making autonomous decisions using the perception output of at least one sensing component, the method comprising:
[0101] A simulation scenario is run in a computer system, in which the state of the simulated robot changes based on autonomous decisions made by the robot planner using reality-aware outputs calculated for each simulation scenario;
[0102] For each simulation scenario, determine the ontological representation of the simulation scenario and the state of the simulated robot; and
[0103] A predefined set of acceptable behavior rules [e.g., DHC] is applied to the ontology representation of each simulation scenario to record and flag violations of the predefined acceptable behavior rules in one or more simulation scenarios.
[0104] Another aspect of the present invention provides a computer implementation method, which includes the steps of implementing any of the above-described programs, systems, or PSPM functions.
[0105] A further aspect provides a computer system comprising one or more computers programmed or otherwise configured to perform any of the functions disclosed herein, and one or more computer programs for programming the computer system to perform said functions. Attached Figure Description
[0106] To better understand this disclosure, and to illustrate how embodiments of this disclosure can be implemented, please refer to the accompanying drawings, in which:
[0107] Figure 1 A schematic block diagram of the runtime stack of an autonomous vehicle is shown.
[0108] Figure 2 Examples of real-world driving scenarios are shown;
[0109] Figure 3 A test pipeline using realistic simulation is shown;
[0110] Figure 4 An alternative PSPM-based test pipeline according to this disclosure is shown;
[0111] Figure 5 This demonstrates how perception performance is affected by confounding factors;
[0112] Figure 6 It provides a high-level overview of some principles of security testing based on PSPM;
[0113] Figure 7 A perceptual error dataset that can be used to train the PSPM is shown;
[0114] Figure 7A It shows the application to Figure 7 The results of the trained PSPM on the perceptual error dataset;
[0115] Figure 8 The engineering pipeline integrated into PSPM is shown;
[0116] Figure 9 An example of a perception stack is shown;
[0117] Figures 9A-9C It shows that modeling can be done using one or more PSPMs. Figure 9 Different ways of perceiving the stack;
[0118] Figure 10 A schematic overview of factors that can lead to perceived uncertainty is provided;
[0119] Figure 11 An example of simulated image data is shown, demonstrating that certain forms of sensory components are highly sensitive to simulated image data;
[0120] Figure 12 and Figure 13 An aerial view and a driver's view of the roundabout scene are shown;
[0121] Figure 14 The stereo imaging geometry is schematically depicted.
[0122] Figure 15 An example time series of additive errors in the position components is shown;
[0123] Figure 16 The hysteresis plot of the position error is shown;
[0124] Figure 17 A graphical representation of the time-dependent position error model is shown;
[0125] Figure 18 An example grid scheme for the azimuth and distance of the confounding factors is shown;
[0126] Figure 19 The hysteresis plot of the position error increment is shown;
[0127] Figure 20 Histograms of the position error increments for the X, Y, and Z components are shown.
[0128] Figure 21 The PDF fitting position error increments for the X, Y, and Z components are shown;
[0129] Figure 22 An example mean of the error increment distribution in the training data (based on a single tracked object) is shown;
[0130] Figure 23 The time series plots of real perceived error and simulated error are shown;
[0131] Figure 24 The hysteresis plots for real-world perceived error versus simulated error are shown.
[0132] Figure 25 The relative importance of certain confounding factors in a specific (from left to right) context for a target association state, such as that determined by MultiSURF Relief analysis, is depicted graphically.
[0133] Figure 26 The relative importance of confounding factors (from left to right) for target shifts identified by MultiSURF Relief analysis is depicted graphically.
[0134] Figure 27 An example node in a neural network is shown;
[0135] Figure 28 A high-level overview of convolutional neural network architecture is shown;
[0136] Figure 29 This demonstrates that PSPM is implemented as a neural network during both training and inference.
[0137] Figure 30 The PSPM neural network with one or more confounding factors in the input layer is shown.
[0138] Figure 31 An example of a time-dependent neural network architecture is shown;
[0139] Figure 32 This illustrates a set-to-set PSPM implemented as a neural network;
[0140] Figure 33A The spatial encoding of the perceptual output, which is helpful for processing in a convolutional neural network (CNN), is illustrated schematically.
[0141] Figure 33BThe training phase of CNN PSPM is illustrated schematically.
[0142] Figure 33C A schematic depiction of a CNN PSPM trained at inference time;
[0143] Figure 33D This demonstrates how a CNN PSPM can be architected to encode the perceptual output distribution in the output tensor, from which real-world perceptual outputs can be sampled; and
[0144] Figure 34 This demonstrates how PSPM can be configured to model perceptual slices that include an online error estimation component. Detailed Implementation
[0145] 1. Overview
[0146] The terms “PSPM” and “PRISM” are used interchangeably in the following description.
[0147] When creating safety cases for autonomous vehicles, performing all necessary tests in the real world is impractical. However, building such high-fidelity simulations to make the vehicle's perception system perform equivalently to both real and simulated data remains an unsolved problem. The method described in this paper, referred to as "PRISM," addresses this problem by constructing a surrogate model of the perception system, which comprises both sensors and (one or more) perception components that interpret the sensor data captured by the sensors. PRISM is a distribution of reliable perception outputs given some low-fidelity scene representation (perceived ground reality).
[0148] Building upon the above, ensuring the safety of autonomous driving technology requires extensive testing across numerous scenarios. Conducting such testing with real vehicles is both expensive and time-consuming. In natural scenarios, the majority of mileage will be uneventful—in the UK in 2016, 136,621 people were injured and 1,792 died in road accidents, and with all motor vehicles having traveled 323.7 billion miles, there was only one accident for every 2.4 million miles traveled. Simulation must be part of the autonomous driving technology testing strategy. Simulated mileage is significantly cheaper than real mileage, and increasing the number of hazards per mile in simulations is easier and safer than in the real world.
[0149] One method for generating realistic perception outputs is through high-fidelity simulations of the world, including sensor measurements. In this approach, realistic sensor readings are generated and fed into the car's software to replace actual sensor readings, for example, rendered as a realistic twin of the image used for perceptual input. This rendering is like... Figure 11 As shown, the automotive software outputs control signals for the vehicle's actuators, which are then fed into a physics simulation. The output of the physics simulation generates new sensor readings, thereby closing the loop. This approach requires generating accurate models for a range of tasks, from challenging to unsolved.
[0150] Simulating road surface, vehicle dynamics, and other physical properties using current technology is possible, but it is not well understood.
[0151] Simulating GPS, IMU, and wheel-encoding is possible, but obtaining statistically accurate error data is important.
[0152] • Visual appearance, camera lens, and image sensor modeling are reasonably understood, but high-fidelity rendering is slow.
[0153] Lidar modeling is similar to camera modeling, but it involves different material reflection characteristics. The scanning characteristics of lidar present an additional challenge.
[0154] It is difficult to accurately model radar echoes with current technology because it is difficult to model the relevant material properties, shape, and detailed dependencies on multiple reflections.
[0155] Worst of all, state-of-the-art neural networks for visual object detection are extremely sensitive to detailed image statistics, and constructing synthetic images that elicit the same network behavior as equivalent real images remains an unsolved problem.
[0156] Inaccurate models of the aforementioned sensors will affect the output of the perception module in the simulation, leading to potentially different ego behaviors. Such differences in behavior limit the usefulness of these simulations in evaluating real-world performance. Furthermore, running the many miles of photorealistic simulations required to validate the safe behavior of autonomous vehicles is expensive. This is because rendering photorealistic scenes is a slow, computationally intensive task requiring GPUs. High-fidelity simulations are both difficult and expensive, and conclusions drawn from testing using high-fidelity simulations are unlikely to generalize to the real world.
[0157] Figure 1 A data flow diagram of the decomposed autonomous vehicle stack 100 is shown. Perception system 102 receives sensor readings from the world and outputs a scene representation. Planning and prediction system (denoted by reference numerals 104 and 106, respectively) uses this scene representation to plan a trajectory through the scene. Control system 108 outputs control signals to the world, causing the vehicle to follow the trajectory.
[0158] The perception system 102, planning and prediction systems 104 and 106, and control system 108 communicate with each other using well-defined interfaces. The perception system 102 uses raw sensor data and processes it into a more abstract representation of the scene. This representation includes dynamic object pose, extent, motion, and detection confidence. The planning and prediction systems predict possible trajectories of other agents in the scene and plan safe, legal, and comfortable paths through the scene. The control system uses the desired trajectories from the planning and prediction systems and outputs control signals for the actuators.
[0159] In many cases, particularly at the interface between perception and planning, these internal interfaces are easier to simulate than sensor readings. These interfaces can be used for a second type of simulation known as low-fidelity simulation. Only those aspects of the world necessary to reconstruct the abstract scenario representation used by the planner can be simulated, and this abstract scenario representation can be directly provided to the planner, thus freeing the perception system from loops. While this avoids some of the burdens of high-fidelity simulation, it presents new challenges: replicating the behavior of the perception system. It is well known that perception systems are not perfect, and errors in perception systems can meaningfully affect prediction, planning, and control systems. Because the results tested in the simulation should generalize to the real world, it is essential to be able to simulate realistic perception outputs.
[0160] A method for modeling realistic perception outputs using a model called PRISM is proposed. PRISM is a distribution of plausible perception outputs given some low-fidelity scene representations. The mathematical framework guiding the creation of PRISM is outlined, a prototype is created, and modeling choices are documented. This demonstrates the rationality of the modeling approach.
[0161] In summary, in high-fidelity simulation, a simulator replaces the world, treating the entire vehicle stack as a black box. In low-fidelity simulation, the world and perception system 102 are replaced (see...). Figure 4 (and the description below).
[0162] Figure 1 A highly schematic block diagram of a runtime stack 100 for an autonomous vehicle (AV) is shown. The runtime stack 100 is shown as including a perception stack 102, a prediction stack 104, a planner 106, and a controller 108.
[0163] The perception stack 102 receives sensor outputs from the AV's on-board sensor system 110.
[0164] The vehicle-mounted sensor system 110 may take different forms, but typically includes a variety of sensors, such as image capture devices (cameras / optical sensors), LiDAR and / or RADAR units, satellite positioning sensors (GPS, etc.), motion sensors (accelerometers, gyroscopes, etc.). These various sensors together provide rich sensor data, from which detailed information about the surrounding environment and the status of the AV and any external actors (vehicles, pedestrians, cyclists, etc.) within that environment can be extracted.
[0165] Therefore, sensor output typically includes sensor data from multiple sensor modes, such as stereo images from one or more stereo optical sensors, lidar, radar, etc.
[0166] The perception stack 102 includes multiple perception components that cooperate to interpret sensor outputs and thereby provide perception outputs to the prediction stack 104.
[0167] The perception output from perception stack 102 is used by prediction stack 104 to predict the future behavior of external actors.
[0168] The predictions computed by the prediction stack 104 are provided to the planner 106, which uses the predictions to make autonomous driving decisions that will be performed by the AV in a manner that takes into account the predicted behavior of external actors.
[0169] The controller 108 executes the decisions made by the planner 106 by providing appropriate control signals to the AV's onboard motor 112. Specifically, the planner 106 plans the maneuvers to be performed by the AV, and the controller 108 generates control signals to execute these maneuvers.
[0170] Figure 2 Examples of some sensing components that can form part of the sensing stack 102 are shown, namely a 3D object detector 204 and a Kalman filter 206.
[0171] Depth estimator 202 captures stereo image pairs and applies stereo imaging (such as semi-global matching) to extract depth estimates from the stereo image pairs. Each depth estimate is in the form of a depth map, which assigns depth values to pixels of one image in the stereo image pair derived from the depth map (the other image is used as a reference). Depth estimator 202 includes a stereo pair of optical sensors and a stereo processing component (hardware and / or software), which are not shown separately in the figures. For the purposes of this document, both the optical sensors and the stereo processing component of depth estimator 202 are considered part of the vehicle sensor system 110 (not the perception stack 102). The depth map is a form of sensor output provided to the perception stack 102.
[0172] The 3D object detector 204 receives depth estimates and uses them to estimate the poses of external actors near the AV (ego vehicle). Two such external actors are shown in the form of two additional vehicles. The poses in this context are represented as 6D poses, i.e., (x, y, z, pitch, roll, yaw) representing the position and orientation of each external actor in 3D space.
[0173] For the purpose of explanation, Figure 2 This is a highly simplified representation. For example, a 3D object detector can be formed by multiple cooperating sensing elements that jointly operate on the sensor outputs of multiple sensor modalities. Applications of PSPM in more complex stacks will be described later. For now, to illustrate some of the core principles of PSPM, consider a simplified example in which the 3D object detector operates on the sensor output of a single modality (stereo depth).
[0174] In real-world scenarios, multiple physical conditions can affect the performance of the perception stack 102. As noted, physical conditions that are considered variables concerning a specific PSPM are called "confounders." This allows for the consideration of physical conditions that are statistically relevant to a specific perception slice.
[0175] As mentioned above, one simulation method would be to not only try to Figure 1The entire runtime stack 100 is simulated realistically, and attempts are also made to simulate the onboard sensor system 110 and the motor 112 realistically. This is in Figure 3 This has been explained in detail. The challenge in this scenario is the simulation of sensor data: some types of sensor data (e.g., radar (RADAR)) are inherently difficult to simulate well, while other types of sensor data (image data) are relatively easier to simulate. Some sensing components (such as CNNs) are highly sensitive to even small deviations from actual sensor data. Another challenge is the substantial computational resources required to simulate sensors and run complex sensing components (such as CNNs).
[0176] For example, for Figure 3 The setup will require simulating extremely high-quality depth maps, and the 3D object detector 204 will need to be run on those simulated depth maps. During the simulation, even minute deviations in the simulated depth maps (compared to the real depth maps provided by the stereo depth estimator 202) will significantly affect the performance of the 3D object detector 204.
[0177] Figure 4 A high-level schematic overview of the PSPM-based simulation is provided. In this case, a "headless" simulator setup is used, eliminating the need to create simulated sensor data (e.g., simulated images, depth maps, LiDAR and / or radar measurements, etc.) and to apply the perception stack 102 (or at least not fully apply it—see below). Instead, one or more PSPMs are used to efficiently compute the reality-perceived outputs, which are then fed into the higher-level components of the runtime stack 100 and processed as they would be at runtime.
[0178] PSPM reportedly models "sensory slices," which can be all or part of the sensing stack 102. A sensing slice can be a single sensing component or multiple collaborative sensing components.
[0179] In mathematics, a perceptual slice can be represented as a function F, where:
[0180] e = F(x),
[0181] e is the sensing output of the sensing slice, and x is the set of sensor outputs running on the sensing component.
[0182] In a running AV, e is determined by applying F to x, which in turn is given by a sensor.
[0183] The PSPM mapped to the confounder space C can be represented as a function p, where:
[0184] p(e|t,c) represents the probabilistic uncertainty distribution, which provides the probability of calculating the perceived output e given a set of perceived ground reality t and one or more confounding factors c (i.e., a specific set of possible real-world conditions represented by points c in the confounding space C).
[0185] For example, for 2D bounding box detection:
[0186] F could be CNN
[0187] x can be an RGB image
[0188] •t can be a ground reality bounding box that can be calculated directly from the simulation using ray tracing (without simulating x or applying F), or a collection of such bounding boxes for multiple ground reality objects (collection-to-collection method).
[0189] •c could be distance and / or weather, etc.
[0190] exist Figure 3 In the example, e represents one or more 6D pose vectors calculated by the 3D object detector 204, and x represents a depth map derived from e by the stereo depth estimator 202.
[0191] Figure 5 This demonstrates how to use PSPM to simulate Figure 3 The output of the scene's realistic perception. In this case, the perceptual slice is the 3D object detector 204.
[0192] In the current context, "realistic" refers to a perceptual output that is more realistic than simply perceiving the actual situation on the ground.
[0193] The PSPM 500 is provided, which essentially models the perceptual slice 204 as a noisy "channel" influenced by both the characteristics of the stereo depth estimator 202 and the physical environment. The physical environment is characterized by a set of confounding factors c, which in this example are: lighting, weather, occlusion, and distance to each external actor.
[0194] To apply the PSPM 500, perceived ground reality can be calculated directly from the simulated scenario under consideration. For example, in a simulated scenario where an AV (autonomous vehicle) has many external actors nearby, the 6D pose ground reality can be determined by directly calculating the 6D pose of each external actor in the AV's frame of reference.
[0195] Then, the PSPM 500 uses the calculated ground reality t to compute the distribution p(e|t,c). Continuing the example above, this will provide each simulated external actor with the probability that the actual 3D object detector 204 computes the perceived output e [estimated 3D pose of the external actor] given the perceived ground reality t ["actual" 6D pose] in the real-world scene characterized by the same confounding factor c.
[0196] Once p(e|t,c) is calculated, it can be used to run multiple simulations on a series of realist perceived outputs (PSPM samples) obtained by sampling p(e|t,c). Testing these outputs based on sufficiently high probabilities of realist means—note that if relatively low probabilities of perceived outputs (outliers) are still real—is highly desirable. The extent to which outliers are tested will depend on the safety level that the AV needs to meet.
[0197] exist Figure 5 The example shows three reality-aware outputs e1, e2, and e3. These are sampled from p(e|t,c).
[0198] One approach is to sample the perceptual output from p(e|t,c) in a manner that favors the most likely perceptual output, for example, using Monte Carlo sampling. In a broader sense, this would test a larger number of the most likely perceptual outputs and fewer of the less likely outputs.
[0199] However, while this may be useful in some contexts, in others it may be more useful to deliberately test a larger number of “outliers” (i.e., improbable but still realistic perceived outputs), as outliers are more likely to lead to or cause unsafe behavior. That is, p(e|t,c) can be sampled in a way that deliberately biases towards outliers to intentionally make a particular scenario more “challenging” or “interesting” as it progresses. This can be achieved by transforming the distribution of the PSPM and sampling from the transformed distribution.
[0200] Figure 6 An overview of the process for constructing the PSPM is provided. A large amount of real sensor output x is collected and annotated with perceived ground reality t. This is exactly the same process (represented by box 602) used to generate training data for training the sensing components of sensing stack 102—and a first subset of the annotated sensor outputs is used for this proposal. A trained sensing slice 204 is shown, which is executed at runtime (in the real world) and used to construct the PSPM 500, which will model the sensing slice 204 during simulation.
[0201] continue Figure 3 In this example, the actual sensor output will be a depth map, and the ground reality will be the 6D pose of any object captured in the depth map. This annotated data is used not only to train the 3D object detector 204 (the perceptual slice in this example) but also to build the PSPM 500, which models the 3D object detector 204 during simulation.
[0202] Box 604 represents the PSPM build (training), which uses a second subset of annotated sensor outputs for this purpose. Each sensor output is additionally annotated with a set of confounding factors c, which characterize the physical conditions under which they are captured in the real world. The PSPM needs to be able to adapt to a large number of sensor outputs for each set of confounding factors c. For fully automated “Level 4”, this means capturing and annotating sensor outputs throughout the ODD.
[0203] PSPM 500 can be implemented using a parameter distribution:
[0204] Dist(t,c;θ)
[0205] Here, t and c are the variables on which the distribution depends, and θ is the set of learning parameters.
[0206] The parameter θ is learned as follows:
[0207] 1) Apply the trained perceptual slice 204 to each sensor output x to calculate the corresponding perceptual output e;
[0208] 2) For each sensing output e, determine the deviation (error) Δ between e and the corresponding ground condition t;
[0209] 3) Each error Δ is associated with the set of ground conditions t and confounding factors c related to the corresponding sensor output x;
[0210] 4) Considering the associated ground conditions and variable confounding factors c, adjust the parameter θ to fit the distribution with the error Δ.
[0211] It is obvious that various known forms of parameter distributions / models can be applied in this context. Therefore, they will not be elaborated further.
[0212] More generally, the training set used for PSPM training consists of perceived ground realities (from manually, automatically, or semi-automatically annotated data) and corresponding actual perceived outputs generated from the perceived slice 204 to be modeled. The goal of training is to learn the mapping between the perceived ground realities and the statistical distribution of perceived outputs that captures the actual perceived outputs. Thus, for a given ground reality t, the perceived outputs sampled from the distribution p(e|t) will be statistically similar to the actual perceived outputs used for training.
[0213] As an example, perceptual slice 204 can be modeled as having zero-mean Gaussian noise. However, it should be emphasized that this disclosure is not limited to this aspect. PSPM can be well adopted in the form of more complex non-Gaussian models. As an example, PSPM can be adopted in the form of a hidden Markov model, which would allow explicit modeling of the temporal dependencies between perceptual outputs at different times.
[0214] In the Gaussian case, for example, PSPM 500 can be characterized as:
[0215] e = t + ε
[0216] ε~N(0,Σ(c)),
[0217] Here, N(0,Σ(c)) represents a Gaussian distribution with zero mean and covariance Σ(c), which varies according to the confounding factor c. During the simulation, noise is then sampled from the Gaussian distribution and added to the perceived ground reality. This will depend on the variance of the Gaussian distribution, and therefore on the confounding factor applicable to the simulation scenario.
[0218] Exemplary PSPM Error Dataset
[0219] Figure 7 An example of a raw error plot in a two-dimensional prediction space is shown—for example, each point corresponds to (x,y) coordinates that can be estimated by a 2D object detector. Each prediction e is represented by a circle, and each ground fact t is represented by a star. Each error Δ is represented by a line segment between the corresponding prediction e and the corresponding ground fact t (the longer the line segment, the larger the error).
[0220] The purpose of constructing the PSPM is to take into account the confounding factor c of the variable in order to accurately capture the probability. Figure 7 The parameter distribution is adjusted by considering the error relationship between data points (in this context, the data points are errors Δ).
[0221] Figure 7A It shows the application to Figure 7The results of the trained PSPM on the error dataset.
[0222] Selecting confounding factors
[0223] The decision on which confounding factor to include is observation-driven: when it is evident that a particular physical property / condition has a material effect on perceived uncertainty, this may trigger its introduction as a confounding variable into the applicable PSPM. Only statistically relevant confounding factors should be included.
[0224] One approach to confounding factors is to partition the error dataset based on the confounding factor and train a separate model for each partition. As a very simple example, the two confounding factors could be "lighting" and "weather," each with a binary "good / poor" value. In this case, the dataset could be divided into four subsets with (lighting, weather) = (good, good), (good, bad), (bad, good), and (bad, bad), and four separate models could be trained for each subset. In this case, PSPM consists of four models, where the confounding factor variable c = (lighting, weather) is used as an index to determine the model selection.
[0225] Engineering pipeline architecture
[0226] Figure 8 A highly schematic overview of the engineering pipeline incorporated into PSPM is shown. The entire pipeline encompasses everything from data collection, annotation, and extraction; training of the perceptual components; PSPM characterization; and simulation-based testing.
[0227] A large amount of sensor output (such as stereo images, depth maps, lidar measurements, and radar measurements) is collected using a fleet of vehicles, each equipped with a sensor system 110 of the aforementioned types. This is collected in environments and driving scenarios that will need to be handled in AV practice, such as in target urban areas where AV deployment is desired. The collecting vehicles themselves can be AVs or manually driven vehicles equipped with similar sensor systems.
[0228] A ground-based data pipeline 802 is provided for the purpose of annotating the captured sensor outputs with ground-based data. This includes annotating the sensor outputs with the type of ground-based data described above. The sensor outputs annotated with the ground-based data are stored in an annotated ground-based data database 804. Further details are described below.
[0229] In addition, sensor outputs captured by the fleet are used to extract driving scenarios, which can then be recreated in the simulator. High-level structured scenario description language is used to capture and store these scenarios in the scenario database 806.
[0230] Sensor outputs captured from the fleet are not the only source of information from which driving scenarios can be extracted. Furthermore, CCTV (closed-circuit television) data 800 is used as the basis for scene extraction; CCTV data typically captured in urban environments, such as those presenting challenging urban driving scenarios like complex roundabouts, is often used. This provides a rich source of challenging driving scenarios, thus providing an excellent foundation for safety testing. A set of backend perception units 808 processes the CCTV data 800 to assist in the process of extracting driving scenarios from the CCTV data 800, which are then stored in a scenario database 806 in scenario description language format.
[0231] Further details of the scene description language and the process of extracting scenes from CCTV data and other data can be found in UK patent application No. 1816852.6, which is incorporated herein by reference in its entirety.
[0232] Driving scenes captured in a scene description language format are high-level descriptions of driving scenarios. Driving scenes possess both static layouts (such as road layouts (lanes, markings, etc.), buildings, road infrastructure, etc.) and dynamic elements. Figure 8 In the pipeline, the static layout is captured in the scene description as a pointer to an HD (high-definition) map stored in the map database 826. The HD map itself can be derived from annotated sensor outputs collected by the AV fleet and / or from CCTV.
[0233] Dynamic elements include, for example, the position and movement of actors in a static layout (e.g., vehicles, pedestrians, cyclists, etc.) and are captured in a scene description language.
[0234] Running Simulation
[0235] The test suite orchestration component 810 uses the captured driving scenarios to develop test instance specifications 812, which can then be run as 3D multibody simulations in the 3D simulator 814. The purpose of these simulations is to enable the export of accurate perceived ground reality, followed by the application of PSPM. Therefore, they contain a sufficient level of 3D geometric detail to export, for example, 3D bounding boxes of the ground reality (sizes, 6D poses of external actors in the ego vehicle's frame of reference), odometry, and ego-localization outputs. However, they are not realistic simulations because that level of detail is not required. They also do not attempt to simulate conditions such as rain or lighting, as these are modeled as confounding factors c.
[0236] To provide greater scene variation, a scene "fuzzer" 820 is provided, which can blur the scene in the aforementioned sense. Blurring the scene means changing one or more variables of the scene to create a new scene that is still realistic.
[0237] Typically, this involves blurring dynamic elements into a static scene, such as changing the movement of external actors, removing or adding external actors, etc.
[0238] However, static layouts can also be obfuscated, for example by changing the curvature of roads, changing the position of static objects, or changing road / lane markings.
[0239] Figure 8 The training block 602 is shown as having access to an annotated ground reality data database 804, which, as described above, is used to train the perception slices 204 of the runtime stack 100.
[0240] As described above and as Figure 8 As shown, the perceptual slice 204 is not necessarily the entire perceptual stack 102. In this example, the perceptual stack 102 is a "slice" preceding the set of final fusion components (filters), which collaborate to fuse the perceptual outputs from below the perceptual stack 102. These form part of one or more residual prediction slices 205, which are applied to PSPM samples without PSPM modeling. The output of the final (unmodeled) prediction slice 205 is fed directly into the prediction stack 104.
[0241] PSPM is shown as being stored in PSPM database 820.
[0242] Run simulation
[0243] The PSPM sampling orchestration component 816 uses 3D multibody simulation in 3D simulator 814 to derive ground reality, which then forms the input for one or more PSPMs used to model the perception slice 104 PSPMs and provides PSPM samples 818 for each simulation. The PSPM samples 818 are fed into the remainder of runtime stack 100 (i.e., in this example, the PSPM samples 818 are fed into the final set of filters 205) and used as the basis for planning and prediction, ultimately enabling controller 108 to generate control signals, which are then provided to the set of simulated AV motors.
[0244] The simulated motor was not in Figure 8 As shown in the text, but Figure 4 It is shown in the figure and indicated by reference numeral 412. Figure 4 As shown, the 3D multibody simulation in the 3D simulator is partially driven by simulated motors. These determine how the (simulated) bodies move within a static layout (i.e., they determine the changes in the bodies' states (which may be referred to herein as simulated robot states)). In turn, the behavior of the bodies can also influence the behavior of the simulated external actors in response to the motion of the AV. As the 3D simulation progresses, new perceived ground realities continue to be derived iteratively and fed into the PSPM 500 until the simulation is complete.
[0245] Each completed simulation is recorded as a collection of test results stored in test database 822.
[0246] Please note that the same scenario can be run multiple times, but it will not necessarily produce the same results. This is due to the probabilistic nature of PSPM: each time the scenario is run, different PSPM samples may be obtained from the PSPM. Therefore, a great deal of information can be obtained by running the same simulated scenario in multiple instances and observing, for example, the degree to which the simulated agent behaves differently in each instance of the scenario (large differences in agent behavior indicate that the effect of perceptual error is significant) or the proportion of scenario instances where the agent's behavior is unsafe. If the same scenario is run a large number of times and the agent behaves safely and very similarly in each scenario, it indicates that the planner 106 is able to plan correctly in that scenario under uncertainty. Test prediction (Test) Oracle)
[0247] The driving scenarios used as the basis for simulations are typically based on real-world scenarios or vaguely real-world scenarios. This ensures that a realistic scenario is being tested. However, it's important to note that these are usually driving scenarios that do not involve any actual autonomous vehicles; that is, at least in most cases, the driving scenarios being tested are derived from real-life instances of human driving. Therefore, it's impossible to know which scenarios might lead to failure.
[0248] To this end, a scenario evaluation component 824 (referred to herein as a "test oracle") is provided, which serves to evaluate whether the behavior of the simulated AV in the scenario is acceptable once the simulation is complete. The output of the test oracle 824 may include simple binary (yes / no) outputs to indicate whether the AV behaves safely, or it may be more complex outputs. For example, it may include a risk score.
[0249] To do this, the test oracle 824 applies a predefined set of rules, which this paper may refer to as the “Digital Highway Code (DHC).” Essentially, rules are hard-coded to define safe driving behavior. If a scenario is completed without violating those rules, the AV is considered to have passed. However, if any of those rules are violated, the AV is considered to have failed and is marked as an instance of unsafe behavior requiring further testing and analysis. These rules are encoded at an ontological level, making them applicable to the ontological description of the scenario. The concept of ontology is well-known in the field of robotics, and in this context, the aim is to characterize the driving scenario and the behavior of the simulated AV within that scenario at the same level of abstraction, allowing the DHC rules to be applied by the test oracle 824. The results of the analysis can quantify how the agent performs relative to the DHC, for example, the degree to which rules are violated (e.g., a rule might specify maintaining a certain distance from a cyclist at all times, and the results can indicate the extent and circumstances of such a violation).
[0250] Instances of unsafe behavior can also be marked as requiring "disengagement." For example, this could be the activation of the failover mechanism within runtime stack 100 to prevent crashes or other critical failures (as in that real-world scenario).
[0251] This technology is not limited to detecting unsafe behavior. Behavior can be evaluated based on other metrics (e.g., comfort, progress, etc.).
[0252] Example-aware stack
[0253] Figure 9 A schematic block diagram of a portion of an example perception stack is shown. A 3D object detector is shown and designated by reference numeral 204, and is further shown as comprising a 2D object detector 902, a 2D tracker filter 904, a size estimation component 906, an orientation estimation component 908, a depth segmentation component 910, and a template fitting component 912. This represents an example architecture of the 3D object detector 204 mentioned above and shown in an earlier figure.
[0254] The 2D object detector receives one image from each captured stereo image pair (image R on the right in this example) and applies 2D object detection to that image. The output is the 2D bounding box for each object detected in the image. This provides the 2D (x,y) position of each object in the image plane and a bounding box indicating the size of the object's projection into the image plane. A 2D tracking filter 904 receives the 2D bounding box outputs and applies filtering to them to refine the 2D bounding box estimates. For example, based on an object behavior model, this filtering may take into account the previously detected 2D bounding boxes and the expected behavior of the detected objects. The filtered 2D bounding boxes and the image data of the original image contained within them are then used for many different purposes. The 2D object detector 902 may take the form of a trained CNN.
[0255] The depth segmentation unit 910 receives filtered 2D bounding boxes and also receives a depth map extracted from the original stereo image pair by the stereo estimator 202. It uses the filtered 2D boxes to separate depth points belonging to each object within the depth map. This is the form of depth segmentation.
[0256] The size estimation unit 906 also receives filtered 2D bounding boxes and uses them to estimate the 3D size of each detected object based on the image data of the right-hand image contained within the 2D bounding boxes.
[0257] Similarly, the orientation estimation unit 908 receives filtered 2D bounding boxes and uses them to determine the 3D orientation of each detected object using image data from the right-hand image contained within the applied 2D bounding box. The size estimation unit 906 and the orientation estimation unit 908 can take the form of a trained CNN.
[0258] For each detected object, the 3D template fitting component 912 receives the separated depth points of the object from the depth segmentation component 910, the 3D dimensions of the object from the size estimation component 906, and the 3D orientation of the detected object from the orientation component 908. The 3D template fitting component 902 uses these three pieces of information to fit the template as a 3D bounding box to the depth points belonging to that object. The 3D dimensions and 3D orientation of the 3D bounding box are obtained from the size and orientation estimation components 906 and 908, respectively, and the points to which the bounding box must be fitted are also known. Therefore, this is simply a case of finding the optimal 3D position of the 3D bounding box. Once this operation is completed for each object, the 3D dimensions and 6D pose (3D position and 3D orientation) of each detected object at a given time are known.
[0259] The output from the input of the 3D template fitting component 912 to the final filter 205 is shown. Furthermore, the final filter 205 is shown with inputs receiving sensing outputs from LiDAR and radar, respectively. The LiDAR and radar sensing components are shown and indicated by reference numerals 914 and 916, respectively. Each of these provides a sensing output that can be fused with sensing outputs (such as 6D poses) from the 3D object detector 204. This fusion occurs in the final filter 205, and the output of the final filter is shown as an input connected to the prediction stack 104. For example, this could be a filtered (refined) 6D pose that takes into account all these stereo, LiDAR, and radar measurements. It could also take into account the expected object behavior in 3D space, such as that captured in a model of the expected behavior of the 3D object.
[0260] Perceive stack slices
[0261] Figure 9A It shows how to Figure 9An example of a "slice" of the perception stack is modeled as a PSPM. The perception stack 102 is considered to be sliced after the final sensing component modeled by the PSPM, and the sensing output of that sensing component can be referred to as the "final output" for the PSPM. The distribution of the PSPM will be defined on those final outputs, i.e., e in p(e|t,c) corresponds to those final outputs of the components of the perception stack 102 that are subsequently sliced. Based on the influence of all sensing components and sensors on the uncertainties in the final output e, the PSPM models (and is referred to as "wrapping") all sensing components and sensors that provide input to those components (directly or indirectly).
[0262] In this configuration, a single PSPM is provided for each sensor modality: one for stereo imaging, a second for LiDAR, and a third for RADAR. The three PSPMs are designated by reference numerals 500a, 500b, and 500c, respectively. To construct the first PSPM 500a, the sensing stack 102 is sliced after the 3D template fitting component 912; therefore, the distribution of the first PSPM 500a is defined on the sensing output of the template fitting component 912. All sensing components and sensors fed to the 3D template fitting component 912 are encapsulated within the first PSPM 500a. The second and third PSPMs 914 and 916 are sliced after the LiDAR and radar sensing components 914 and 916, respectively.
[0263] The final filter 205 is not modeled as a PSPM, but is applied to PSPM samples obtained during testing from three PSPMs, 500a, 500b and 500c.
[0264] Figure 9B A second example slice is shown, where all three sensor modes are modeled using a single PSPM 500d. In this case, the distribution p(e|t,c) is defined over all three sensor modes, i.e., e = (e|t,c) stereo ,e lidar e lidar Therefore, each PSPM sample will include the real-world perceived output for all three sensor modalities. In this example, the final filter is still not modeled as a PSPM and will be applied to the PSPM sampled using a single PSPM 500d at test time.
[0265] Figure 9CA third example slice is shown, where all three sensor modes, along with the final filter 205, are modeled as a single PSPM 500e. In this case, the distribution p(e|t,c) is defined on the filtered sensing output of the final filter 205. During testing, the PSPM 500e will be applied to the ground reality derived from the simulation, and the resulting PSPM samples will be directly fed into the prediction stack 104.
[0266] Slicing considerations
[0267] The factor in deciding where to "slice" the perception stack is the complexity of the required ground reality (which will correspond to the perception components after the stack is sliced): the underlying motivation for the PSPM method is to have relatively easy-to-measure ground reality. The lowest part of the perception stack 102 operates directly on sensor data, but the level of information required for planning and prediction is much higher. In the PSPM method, the idea is to "bypass" the lower-level details while still providing statistically representative perception outputs for prediction and planning during testing. Generally speaking, the higher the perception stack 102 is sliced, the simpler the ground reality usually is.
[0268] Another consideration is the complexity of the sensing components themselves, since any sensing components not enclosed in the PSPM must be tested during the testing phase.
[0269] It is generally expected that slicing will always occur after the CNN in the perceptron stack, thereby avoiding the need to simulate the input to the CNN and avoiding the use of the computational resources running the CNN during testing.
[0270] In a sense, it is beneficial to wrap as many sensing stacks 102 as possible into a single PSPM. In an extreme case, this means that the entire sensing stack 102 is modeled as a single PSPM. The benefit of doing so is the ability to model any correlations between different sensors and / or sensing components without needing to know those correlations. However, as more and more sensing stacks 102 are wrapped into a single PSPM, this significantly increases the complexity of the system being modeled.
[0271] for Figure 9A Each individual PSPM 500a, 500b, and 500c can be constructed independently of data from a single sensor modality. This has the benefit of modulation—existing PSPMs can be reworked to test different configurations of the sensing slice 204 without retraining. Finally, the optimal PSPM architecture will depend on the context.
[0272] Especially Figure 9CIn such cases, a time-dependent model may also be needed to fully capture the dependence on the previous measurement / sensory output introduced by the final filter 205. For example, Figure 9C The PSPM500e can take the form of a Hidden Markov Model to capture additional degrees of time dependence. More generally, such a time-dependent PSPM can be used for any of the above. This is the background to the usefulness of time-dependent models, but in many cases, explicit modeling of time dependencies may be useful.
[0273] for Figure 9A and Figure 9B Cutting off before the final filter 205 has the following benefits: it may not be necessary to introduce explicit time dependencies, that is, the form of PSPM can be used, which has no explicit dependency on the PSPM samples previously obtained from PSPM.
[0274] PSPM example
[0275] The above description focuses primarily on dynamic objects, but PSPM can also be used in the same way for static scene detectors, classifiers, and other static scene perception components (e.g., traffic light detectors, lane offset correction, etc.).
[0276] In fact, a PSPM can be built for any part of the perception stack 102, including:
[0277] - Odometry, for example:
[0278] o IMU,
[0279] visual-odometry
[0280] o-LiDAR odometry
[0281] o-radar odometry
[0282] o Wheel encoders;
[0283] -(Self-)positioning, for example:
[0284] o Vision-based positioning
[0285] o GPS positioning (or more commonly, satellite positioning).
[0286] "Odometry" refers to the measurement of local relative motion, while "localization" refers to the measurement of global position on a map.
[0287] PSPM can be constructed in exactly the same way to model the sensing output of such sensing components using appropriate perceived ground reality.
[0288] These allow realistic odometry and positioning errors to be introduced into simulated scenarios in the same way as detection errors, classification errors, etc.
[0289] Ground-based live assembly line
[0290] As mentioned above, the generation of annotations in the ground-based live pipeline 802 can be manual, automatic, or semi-automatic.
[0291] Automatic or semi-automatic ground-based annotation can utilize high-quality sensor data that is typically unavailable (or at least unavailable at all times) during operation of the AV system. In practice, this can provide a method for testing whether such components are needed.
[0292] Automatic or semi-automatic annotation can utilize offline processing to obtain more accurate perception output, which can then be used as ground reality for PSPM (Presentation-Based Surface Measurement). For example, to obtain perceived ground reality for positioning or odometry components, offline processing such as bundle adjustment can be used to reconstruct the vehicle's path with high accuracy. This can then be used as ground reality to measure and model the accuracy of online processing of the AV (Automatic Vehicle). Such offline processing may be infeasible at runtime on the AV itself due to computational resource limitations or because the algorithms used are inherently non-real-time.
[0293] Examples of confounding factors
[0294] Figure 10 A high-level overview of various factors that may lead to uncertainty in the perceived output (i.e., various sources of potential perceptual error) is shown. This includes further examples of confounding factors c that can be incorporated as variables in PSPM:
[0295] - Obstruction
[0296] -Lighting / Time of Day
[0297] -weather
[0298] -season
[0299] - Distance (linear and / or angular) to the object
[0300] - The object's (linear and / or angular) velocity
[0301] - Position within the sensor's field of view (e.g., angle relative to the image center).
[0302] - Other object properties, such as reflectivity, or other aspects of its response to different signals and / or frequencies (infrared, ultrasound, etc.).
[0303] Other examples of possible confounding factors include scene maps (indicating environmental structure) and inter-agent variables, such as "business" (a measure of the number or density of subjects in the scene), distances between subjects, and subject types.
[0304] Each can be digitally or categorically represented in one or more variable components (dimensions) of the confounder space C.
[0305] However, note that confounding factors can be any variable representing something in the physical world that might be relevant to the perception error. This doesn't necessarily have to be a directly measurable physical quantity, such as speed, occlusion, etc. For example, another example of a confounding factor related to another actor might be "intent" (e.g., whether a cyclist at a particular moment intends to turn left or continue straight ahead at an upcoming turn, which can be determined by looking ahead at real-world data of the cyclist's actual actions at a given time). In one sense, variables such as intent are latent variables or unobserved variables, meaning that at a particular moment (in this case, before the cyclist takes a definite action), intent cannot be directly measured using the perception system 102 but can only be inferred from other measurable quantities; the point about confounding factors is that it is not necessary to know or measure those other measurable physical quantities in order to model the effect of intent on the confounding error. For example, the perceptual error associated with a cyclist intending to "turn left" may be statistically significantly increased compared to a cyclist intending to "continue straight." This could be due to the multiple, unknown, and potentially complex behavioral variations in cyclists turning left, meaning the perception system actually perceives them worse. By introducing an "intention" variable as a confounding factor into the error model, there is no need to try to determine which observable physical manifestations of intention are associated with the perceptual error—as long as the ground reality of "intention" can be systematically assigned to the training data in a manner consistent with the simulation (in which case, the simulated cyclist's intention is known so that their behavior can be simulated as the scene evolves), such data can then be used to build appropriate behavioral models to simulate different intentions, as well as perceptual error models that depend on intention (if any), without having to determine which physical manifestations of intention are actually associated with the perceptual error. In other words, in order to model the effect of intention on perceptual error, it is not necessary to understand why intention is related to perceptual error, because intention itself can be modeled as a perceptual confounding factor (rather than trying to model the observable manifestations of intention as confounding factors).
[0306] Low-level errors
[0307] Examples of low-level sensor errors include:
[0308] -Registration errors
[0309] - Calibration errors
[0310] -Sensor limitations
[0311] These types of errors are not explicitly modeled in the simulation, but their effects are encapsulated in the PSPM used to model the perceptual slices used to interpret the applicable sensor data. That is, these effects are encoded in the parameter θ that characterizes the PSPM. For example, for a Gaussian-type PSPM, such errors lead to a larger covariance representing greater uncertainty.
[0312] High-level perception errors
[0313] Other errors may occur in the perception pipeline, such as:
[0314] Tracking errors
[0315] - Classification errors
[0316] Dynamic object detection failures
[0317] Fixed scene detection failures
[0318] When it comes to detection, false positives and false negatives can cause the prediction stack 104 and / or planner 106 to operate in unexpected ways.
[0319] Specific PSPMs are constructed in a statistically robust manner to model such errors. These models can also take into account the effects of variable confounding factors c.
[0320] Taking object detection as an example, detection probabilities can be measured and used to construct a detection distribution that depends on factors such as distance, angle, and occlusion level (confounding factor c in this example). Then, while running the simulation, ray tracing from the camera allows the model to determine whether an object is "likely" detectable. If so, the measured detection probabilities are checked, and the object is either detected or not. This intentionally introduces the possibility of sensor-sensitive objects not being detected in the simulation in a way that reflects the behavior of the real-life perception stack 102, thanks to the statistically robust way that detection failures have been modeled.
[0321] This method can be extended to Markov models to ensure correctly modeled conditional detection. For example, an object can only be detected with an appropriate probability if it has already been detected beforehand; otherwise, the probability may differ. In this case, false negatives involve some time dependence on the simulated detection.
[0322] False positives can be randomly generated with a density similar to that measured by PSPM in space and time. That is, in a statistically representative manner.
[0323] 2. Problem Statement
[0324] As a further explanation, this section outlines the mathematical framework of PRISM and introduces the specific dynamic object detection problem addressed in subsequent sections. Section 3 discusses the datasets used to train PRISM, the techniques used to identify relevant features, and the description of evaluation methods. Section 4 describes the specific modeling decisions and how data science informs these decisions.
[0325] Please note that in the following description, the symbol x g ,y g ,z g These can be used to represent the coordinates of a position-aware ground reality t. Similarly, x s ,y s ,z s This can be used to represent the coordinates of the position-aware stack output e. Therefore, the distribution p(x) s ,y s ,z s |x g ,y g ,z g ) is one form that the aforementioned perceptual uncertainty distribution p(e|t) can take. Similarly, below we can use x to refer to the set of confounding factors in general, which is equivalent to the set of confounding factors c or c' described above.
[0326] Perception systems have inputs that are difficult to simulate, such as camera images, LiDAR scans, and radar echoes. Because these inputs cannot be rendered with perfect realism, the performance of perception in simulation will not match that of perception in the real world.
[0327] The goal is to construct a probabilistic surrogate model for the perception stack, called PRISM. PRISM uses a low-fidelity representation of the world state (perceived ground reality) and produces perception output in the same format as the vehicle stack (or more precisely, the modeled perception slice 204). When the stack runs on real data, samples drawn from the surrogate model in the simulation should resemble the output of the perception stack.
[0328] PRISM sampling should be fast enough to be used as part of a simulation system for the validation and development of downstream components, such as planners.
[0329] 2.1 Intuition
[0330] The following section describes the most general case for the following reasons:
[0331] ● There exist some stochastic functions that map the real state of the world to the output of the perception stack.
[0332] ● This function can be modeled using training data. The function is modeled as a probability distribution.
[0333] ● Since the world state changes smoothly over time, the sampled perceptual outputs should also change smoothly over time. Because the world state is only partially observed, the appropriate way to achieve this is to make the probability distribution dependent on the observed world state and the history of the perceptual outputs.
[0334] ● The simulator (Genie) is responsible for generating a representation of the world at runtime. Genie's output is the 6D pose and extent of dynamic objects, as well as other information such as road geometry and weather conditions.
[0335] • For real-world training data, the world representation is obtained from the annotations.
[0336] Mathematical statement
[0337] 2.2.1 Preliminaries
[0338] For any set S, let the set of histories of S be... An element (t, h) ∈ histories(S) consists of t (the current time) and h (a function that returns an element of S at any past time). (Symbol) Represents the analogous equivalent of x.
[0339] The perception system is a random function f: histories(World) → histories(Perception). Typically, f will have the following form:
[0340]
[0341] The goal is to simulate some function f. The world state can be decomposed into a set of properties called ObservedWorld and a set of everything else called UnobservedWorld (the exact pixel values of camera images, the temperature of every point on every surface), such that there is a bijection between World and ObservedWorld × UnobservedWorld, and the set of properties called ObservedWorld can be reliably measured (this might include the meshes and textures of every object in the scene, the position of light sources, material density, etc.). In traditional realistic simulation methods, simulating f is equivalent to finding some random function f. It can be combined with perceive to form
[0342]
[0343] Let `observe ∶ World → ObservedWorld` be a function that maps world states to their observed counterparts. Note that this function is not one-to-one: there will be many world states that map to a single observed world state. An accurate and useful simulation of `f` is needed. For all histories (t, h) ∈ histories (World), there will be
[0344]
[0345] Among them, map∶((S→T)×histories(S))→histories(T) is the historical mapping function.
[0346] Therefore, we must conclude that the best realistic simulation has Make
[0347]
[0348] Since Equation 3 is derived through the associativity of ° and the combination of Equations 1, 2, and 4, the prediction of the history of sensor readings, the joint distribution of historical (SensorReading) data, and the correlation between different sensor readings enable more effective modeling of dependencies on unobserved characteristics of the world. Therefore, in the computation... Similar correlations should be observed in [the context of the previous sentence].
[0349] Because SensorReading has high dimensionality, and the sense function is random (because it is highly dependent on unobserved properties of the world), it finds... Making equation 4, or even approximately it, true is crucial. Therefore, it can be directly found that...
[0350] 2.2.2 Creating a surrogate model
[0351] The creation of the surrogate model can be characterized as a task of estimating a stochastic function. Let S+ be a finite set of sequences of elements of S. Let... For having element s i A sequence of length N is given. The dataset of sensor reading sequences is obtained.
[0352]
[0353] Among them, each I ij ∈SensorReading is the time t in execution i. ij The sensor readings, and M i This represents the number of timestamps during a specific run. A new dataset is constructed using the function `annotate:SensorReading→ObservedWorld`, which recovers observed scene parameters from sensor readings.
[0354]
[0355] Then, PRISM's task is to estimate the source of Distribution of samples in This can be achieved by drawing samples from this distribution.
[0356] Stack output of the previous sample The dependency on the unobserved world is included because the distribution of y meaningfully depends on the unobserved world, and the unobserved world changes smoothly over time. As discussed in Section 2.2.1, this dependency on the unobserved world means that y will change in a way that is difficult to discern solely from the unobserved world. The way the dependency modeling is performed changes smoothly over time. This time-dependent property of the stack output was explored for the sensing system 102 in Section 4.2.3, where a strong temporal correlation was found.
[0357] Samples from the learned PRISM distribution provide plausible perceived outputs conditioned on low-fidelity scene representations and the history of previous samples. These factors are the independent variables in the generative model, and the dependent variable is the perceived scene. Independent variables that meaningfully influence the distribution of the dependent variable are referred to as confounders in this paper. Part of the process of building a PRISM model involves identifying relevant confounding factors to be included in the model and how these confounding factors should be combined. Section 3.2 discusses a method for identifying relevant confounding factors.
[0358] 2.2.3 Dynamic Object Issues
[0359] A concrete example of a perception system is presented—a system for detecting dynamic objects in a scene using RGBD images. “Dynamic objects” are cars, trucks, pedestrians on bicycles, or other road users described by oriented bounding boxes (6D pose and range). The observed world is a collection of such dynamic objects. In this setting,
[0360]
[0361] in, It is a set of finite subsets of S. 1 Type represents the object type (Car, Van, Tram, Pedestrian), Spin(3) is a set of unit quaternions, and Info is an arbitrary set of its elements describing additional characteristics of the dynamic object, such as the degree to which the object is occluded by other (possibly static) objects in a scene closer to the camera. Dynamic objects are useful in characterizing the behavior of a perception system.
[0362] This example further simplifies the dynamic object problem by choosing to model only the location of dynamic objects for a given ObservedWorld. This includes fitting a model for the possibility that observable objects are not perceived (false negatives).
[0363] As shown in Section 4.2.8, false negatives are a more common error committed by the perception system 102 than false positives (spurious dynamic object detections).
[0364] For simplicity, the following description considers only dangerous targets in 3D space and omits discussion of direction, range, object type, or other possible perceptual outputs. However, the principles can also be applied to other such perceptual outputs.
[0365] 3 Methods
[0366] 3.1 Data
[0367] A specific driving scenario is presented, and data for this scenario has been recorded multiple times under similar conditions. The scenario mentioned as an example in this article is a roundabout in southeast London on the test route. Figure 12 The background of the roundabout and the paths taken by vehicles can be seen, including those from... Figure 13 The camera observation shown.
[0368] By restricting the PRISM training data to run on the same island under similar climatic conditions, the sky
[0369] The effects of atmospheric conditions and sunlight as confounding factors on perception performance are minimized. Similarly, the potential performance of PRISM, tested on similarly collected data, is maximized. For example, by estimating how PRISM trained on roundabout data would perform in a highway scenario, the performance of PRISM can be tested on out-of-domain data.
[0370] 3.1.1 Dataset Generation
[0371] Training PRISM requires a dataset with sufficient information to learn the distribution of perception errors. For simplicity, this section only considers the errors introduced by the perception system 102 when predicting the center position of a moving object in a camera frame observing the moving object. To learn these errors, ground truth center and perception center estimates are needed.
[0372] The ground truth center location is estimated based on human-annotated 3D bounding boxes present in each frame of the recorded video sequence of the roundabout, and applied to all dynamic objects in the scene. These bounding boxes are then fitted to the scene using a ground truth tooling suite. This suite combines camera images, stereo depth point clouds, and lidar point clouds into a 3D representation of the scene to maximize annotation accuracy. Assuming the annotation accuracy is good enough, it can be used for ground truth.
[0373] Figure 9The process of extracting stacked predicted objects from recorded camera images is illustrated. It is important to note that this pipeline is stateless, with each pair of camera frames processed independently. This forces any temporal correlations found in the perceptual error data to be attributed to the detector's behavior on closely related inputs, rather than the internal state of the detection algorithm.
[0374] Generally, a set of object predictions indexed by image timestamps, combined with a similarly indexed set of ground reality data from the Ground Reality Tool Suite, is sufficient for PRISM training data. However, all models considered in this section are trained on data that has undergone additional processing steps to generate associations between ground reality and predicted objects. This limits the space of models to choose from, but simplifies it by dividing the fitting task into several parts: fitting a model for location errors; fitting a model for generating false negatives; and fitting a model for generating false positives. The association algorithms used run independently on each frame. For each timestamp, the stack of predictions and the set of ground reality objects are compared using the intersection overunion (IOU), where the predicted object with the highest confidence score (a measure of how good the prediction might be, generated by the perception stack 102) is considered first. For each predicted object, the ground reality object with the highest IOU is associated with it, forming a pair for learning the error distribution. Pairs with IOU scores less than 0.5 (an adjustable threshold) do not form any associations. After all predicted objects have been considered for association, a set of unassociated ground reality objects and a set of unassociated predicted objects will be retained. Unassociated ground reality objects are stored as false negative examples, while unassociated predicted objects are stored as false positive examples.
[0375] We will consider a "set-to-set" model that does not require such associations later.
[0376] 3.1.2 Contents of Training Data
[0377] The previous section described how to generate PRISM training data and divide it into three sources: association, false negatives, and false positives. Table 1 specifies the data present in each source and provides the following definitions:
[0378] centre_x, centre_y, centre_z: The x, y, and z coordinates of the center of the ground view 3D bounding box.
[0379] orientation_x, orientation_y, orientation_z: The x, y, and z components representing the rotational axis from the camera frame (right side of the frontal stereoscopic view) to the ground-based 3D box frame.
[0380] height, width, length: The range of the ground view 3D bounding box along the z, y, and x axes in the coordinate system of the 3D bounding box.
[0381] `manual_visibility`: A label applied by a human annotator to indicate which of the four visibility categories a ground reality object belongs to. The categories are: fully-occluded (100%), largely-occluded (80-99%), somewhat-occluded (1-79%), and fully-visible (0%).
[0382] occluded: The portion of the area where the 2D bounding box of the ground reality overlaps with the 2D bounding boxes of other ground reality objects closer to the camera.
[0383] `occluded_category`: A combination of `manual_visibility` and `occluded`, which can be considered the maximum of the two. Combining `manual_visibility` and `occluded` in this way to maximize the number of correct occlusion labels is useful. To see this, note that objects occluded by static parts of the scene (shrubs, trees, traffic lights) will have an `occluded` score of 0, but will have a `manual_visibility` correctly set by the human annotator. Objects occluded only by other ground reality objects will not have a `manual_visibility` field set by the human annotator, but will have a correct `occluded` field. Both cases can be handled by taking the maximum of these two values. Even with this logic, the 2D bounding box of a ground reality object may completely obscure the 2D bounding boxes of objects behind it, even if some of the background objects are visible. This will generate some fully-occluded cases that can be detected by a perception system.
[0384] truncated: The portion of the ground reality 3D frame located outside the sensor frustum, consisting of eight vertices.
[0385] type: When attached to ground reality objects (false negatives, the ground reality portion of the association pair), this is the manually annotated object type, such as Car or Tram. When attached to predicted objects (false positives, the predicted portion of the association pair), this is the perception stack's best guess at the object type, which is limited to Pedestrian or Vehicle.
[0386] In addition to the above, this section will also mention the following derived quantities:
[0387] distance: The distance from the center of the object to the camera is calculated as the Euclidean norm of the center position of the object in the camera frame.
[0388] Azimuth: The angle formed between the projection of the ray connecting the center of the camera and the center of the object onto the camera's y=0 plane and the camera's positive z-axis. Polarity is defined by the direction of rotation around the camera's y-axis. Since objects behind the camera cannot be observed, the range is limited to [-π / 2, π / 2].
[0389] Table 1
[0390]
[0391] The composition of the dataset will be discussed in detail in later sections. The following presents a high-level summary of the data.
[0392] • The island-circling scene is traversed 15 times, spanning a total shot of approximately 5 minutes.
[0393] • 8600 unique frames, each containing 96k instances of ground objects visible to the camera.
[0394] Of these 96,000 instances: 77% were cars; 14% were trucks; 6% were pedestrians; and 3% belonged to smaller groups.
[0395] Of these 96k instances: 29% are fully visible; 43% are partially occluded; and 28% are mostly occluded.
[0396] In Table 1, specific data elements exist in each of the three generated PRISM data sources. X indicates that the column exists in a given data source. GT = Ground Reality, FN = False Negative, FP = False Positive. Each of these is actually three independent variables (e.g., center_x, center_y, center_z), but they are "compressed" here for readability. *In the case of an asterisk, the type can be "Vehicle" or "Pedestrian," which are the only categories predicted by the five perception stacks. In the case of no asterisk, there are more categories (such as "Lorry" and "Van"), which are all the categories reported in the ground reality data.
[0397] 3.1.3 Training and Testing Data
[0398] For all the modeling experiments described in this paper, the island dataset was split into two roughly equal halves to form the training and test sets. No hyperparameter optimization was performed; therefore, a validation set was not required.
[0399] 3.2 Identify relevant confounding factors
[0400] The PRISM model may take into account many confounding factors. Instead of optimizing the model for every possible combination of confounding factors, it is preferable to perform such optimization on a finite set of known and relevant confounding factors.
[0401] To identify relevant confounding factors, a relief-based algorithm is used. Algorithm 1 provides a general overview of relief-based algorithms. The relief algorithm generates an array of feature weights in the range [-1, 1], where weights greater than 0 indicate that the feature is relevant because feature changes tend to alter the target variable. In practice, some features will accidentally have weights greater than 0; only features with weights greater than some user-defined cutoff value 0 < τ < 1 are selected.
[0402]
[0403] The algorithm has the following desired properties:
[0404] It is sensitive to nonlinear relationships between features and the target variable. Other feature selection methods are not sensitive to these kinds of relationships, such as naive principal component analysis or Pearson correlation comparison. Not all unrelated things are independent.
[0405] It is sensitive to the interactions between features.
[0406] It is conservative. It may accidentally include irrelevant or redundant confounding factors, rather than accidentally excluding relevant confounding factors.
[0407] It is important to note the following precautions regarding this method:
[0408] It identifies correlations in the data, but doesn't delve into how or why the target variable is correlated with the confounding factors being investigated.
[0409] The results depend on the parameterization of the confounding variables.
[0410] The Relief algorithm has many extensions. Here, we use an extension called MultiSURF. MultiSURF has been found to perform well across a wide range of problem types and is more sensitive to interactions of three or more features than other methods. This implementation is from scikit-rebate, an open-source Python library that provides implementations of many Relief-based algorithms, which are extended to cover scalar features and the target variable.
[0411] In the experiment, using Here, n is the size of the dataset, and α = 0.2 is the expected false discovery rate. According to Chebyshev's inequality, we can say that the probability of accepting an irrelevant confounding factor as relevant is less than α.
[0412] Relief-based methods are useful tools for identifying potential confounding factors and their relative importance. However, not all features affecting the error characteristics of a perceptual system are captured in the annotated training data. A manual process of checking for model failures and hypothesizing new features as confounding factors is necessary.
[0413] 4 models
[0414] 4.1 Heuristic Model
[0415] Camera coordinates represent the position of a point in an image within pixel space. In binocular vision, the camera coordinates of points in both images are available. This allows for the reconstruction of the position of points in the 3D Cartesian world. The camera coordinates of point p in 3D space are given by the following equation:
[0416]
[0417] Where (u1,v1) and (u2,v2) are the image pixel coordinates of p in the left and right cameras, respectively, and (x... p ,y p ,z p Let p be the 3D world coordinates of p relative to the left camera, b be the camera baseline, and f be the camera's focal length. Figure 14 As shown. The disparity d is defined as:
[0418]
[0419] The 3D world coordinates of p can be written as:
[0420]
[0421]
[0422] A heuristic model is obtained by imposing a distribution in camera coordinates and propagating it to 3D coordinates using the aforementioned relationship. This distribution can also be used for object centers or object extents. When the image is discretized into pixels, this model allows for consideration of the camera's physical sensor uncertainties. The model is given by: p(x s y s , z s |x g y g , z g )=∫∫∫p(x s y s , z s |u1, v, d)p(u1, v, d|x g y g , z g )du1dvdd, (12)
[0423] Among them, (x g y g , z g ) are the coordinates of the ground point, and (x) are the coordinates of the ground point. s y s , z s () represents the coordinates predicted by the stack. Given world coordinates, the probability distribution in camera coordinates is:
[0424] p(u1, v, d|x) g y g , z g )=p(u1|x g y g , z g )p(v|x g y g , z g )p(d|x g y g , z g (13)
[0425] Here, it is assumed that the distribution in each camera coordinate is independent:
[0426]
[0427] Where σ is a constant, N is a normal distribution, and Lognormal is a log-normal distribution, chosen because it only supports positive real numbers. This defines a normal probability density centered on the camera coordinates of a point in 3D space. The normal distribution is chosen for mathematical simplicity. If only discretization error is considered, a uniform distribution might be more appropriate. However, other errors are likely to cause uncertainty in stereo vision, so the extended tails of the normal distribution are useful for modeling such phenomena in practice. For a frontal stereo camera, α can be determined to be 0.7 using maximum likelihood estimation. p(x s y s , z s |u1, v, d) are obtained from x obtained from equations 9-11 s y s and z s The point values are given by the Dirac distribution centered at the point.
[0428] By using a piecewise constant diagonal multivariate normally distributed approximation to form Equation 12, and by solving the integral using Monte Carlo simulation and applying the mean and variance of the sampled values for different x... g ,y g and z g Value estimation p(x) s ,y s ,z s |x g ,y g ,z g ), to obtain the runtime model.
[0429] The model can be improved by considering a more accurate approximation of the conditional distribution in Equation 12, or by modeling the uncertainties in the camera parameters f and b (set as their measurements in the model). How to extend the model to include time dependencies is an open question.
[0430] 4.2PRISM
[0431] The following describes an attempt to build a Reasonable Proxy Model (PRISM) for a data analytics-guided perception stack / substack 204. This model incorporates time-dependent location errors and non-zero probabilities of objects not being detected, which are salient features of the data.
[0432] 4.2.1 Positional errors
[0433] The center position of a dynamic object detected by the perception stack will be modeled using an additive error model given by the following equation:
[0434] y k =x k +e k
[0435] Among them, y k It is the observation position of the object, x k This is the actual ground location of the object, and e k These are error terms, all occurring at time t. k The phrase "position error" will be used to refer to the additive noise component of the model. k .
[0436] Figure 15 This illustrates the positional error of a specific dynamic object relative to the ground reality marked by a human, as detected by the perception stack. (It can be...) Figure 16 The lag plots of the same data were found, indicating a strong temporal correlation between these errors. From these plots, it can be concluded that the generative model of the location errors must be adjusted for each sample from the previous samples. An autoregressive model is proposed for time-dependent location errors, where each error sample depends linearly on previous error samples and some noise. The proposed model can be written as:
[0437] e k =e k-1 +Δe k (18)
[0438] Among them, e k It is the position error sample at time step k, and Δe k It is a random term, Δe k It can be a function of one or more confounding factors, often referred to as "error deltas". Figure 17 A diagram visualizing the model is shown, including the dependencies on the hypothetical confounding factors C1 and C2.
[0439] This model is based on several assumptions. First, subsequent error increments are independent. This is discussed in Section 4.2.3. Second, the empirical distribution of error increments can be reasonably captured by the parameter distribution. This is discussed in Section 4.2.4. Third, the described model is fixed, such that the average error does not change over time. This is discussed in Section 4.2.5. 4.2.2 Piecewise Constant Model
[0440] It has been shown that modeling position errors requires subsequent errors to be conditioned on previous errors, but how should we choose the first error sample? Now consider the task of fitting a time-independent distribution of position errors. If no time correlation is found in the data, the method used here can also be applied to all samples for each dynamic object, not just the first sample.
[0441] Generally, such a model would be a complex joint probability distribution of all confounding factors. As discussed in Section 2, due to incomplete scene representations (ObservedWorld ≠ World) and potential uncertainties in the perception stack, the distribution of the expected perception outputs for a given ground-based scene is anticipated. The expected variance is heteroskedastic; it varies based on the values of the confounding factors. As a simple example, it should not be surprising that the error in the location estimation of dynamic objects has variance that increases with the distance between the object and the detector.
[0442] The conditional distribution modeled by PRISM is expected to have a complex functional form. This functional form can be approximated by discretizing each confounding factor. In this representation, categorical confounding factors (e.g., vehicle type) are mapped to bins. Continuous confounding factors (e.g., distance to the detector) are segmented into ranges, and each range is mapped to a bin. The combination of these discretizations is a multidimensional table for which the input set of confounding factors is mapped to bins. It is assumed that within each bin, the variance is homoskedastic and can be fitted with a distribution having constant parameters. Global heteroskedasticity is captured by the different parameters in each bin. The model with a distribution having fixed parameters in each bin is referred to in this paper as the Piecewise Constant Model (PCM). General implementation examples of similar models can be found in the literature. Mathematically, this can be written as P(y|x)~G(α[f(x)],β[f(x)],...), where y is the set of outputs, x is the set of confounding factors, f(·) is the function that maps the confounding factors to bins, and G is the probability distribution with parameters α[f(x)],β[f(x)],... fixed in each bin.
[0443] In the PCM used for PRISM, it is assumed that the error is additive, meaning that the predicted position, pose, and extent of the stack of dynamic objects equals the actual position, pose, and extent on the ground plus some noise. The noise is characterized by a distribution within each bin. In this PCM, it is assumed that this noise is normally distributed. Mathematically, this can be written as:
[0444]
[0445] Where y is the stack observation. is ground-based observation, and ∈ represents noise. The distribution within each bin is characterized by the mean μ and covariance Σ. μ and Σ can be viewed as functions of the confounding bins.
[0446] Figure 18 An example binning scheme is shown. A bin is composed of the azimuth angle and the distance to the center of the ground-based dynamic object.
[0447] Training the model requires ground reality and stack predictions (actual perceived outputs) collected as described in Section 3.1.1. (For example, using the posteriori method to incorporate priors) the mean and covariance of a normal distribution are fitted to the observations in this bin. For the mean of the normal distribution, the prior of the normal distribution is used. For the scale of the normal distribution, the inverse gamma prior is used.
[0448] To set the hyperparameters for the prior, physical knowledge can be combined with intuition about how quickly the model should ignore the prior when data becomes available. This intuition can be represented by the concept of pseudo-observations, i.e., how strongly the prior distribution is weighted relative to the actual observations (encapsulated in the likelihood function) in the posterior distribution. Increasing the number of pseudo-observations leads to a prior with lower variance. The hyperparameter for a normal prior can be set to μ. h =μ p and Where, μ p and σ p This represents the prior point estimates of the mean and standard deviation of the bin under consideration, and n. pseudo This represents the number of false observations. The rate and scale hyperparameters of the Inverse Gamma prior can be set to... and For this model, we choose n pseudo =1, and use the heuristic model described in Section 4.1 to provide prior point estimates for the parameters of each bin.
[0449] The advantages of the PCM method are that it considers global heteroscedasticity, provides a unified framework for capturing different types of confounding factors, and utilizes a simple probability distribution. Furthermore, the model is interpretable: the distribution in the bin can be examined, the training data can be directly examined, and there are no hidden transformations. Additionally, the parameters can be analytically fitted, meaning that uncertainties arising from a lack of convergence in optimization routines can be avoided.
[0450] Confounding Factors Selection
[0451] To select appropriate confounding factors for PCM, the methods described in Section 3.2 and the data described in Section 3.1.2 were used. The survey results applied to position, extent, and orientation errors are shown in Table 2.
[0452] Table 2 shows the confounding factors identified as important to the target variable under consideration.
[0453]
[0454] As can be seen from Table 2, for d_centre_x and d_centre_z, the relevant confounding factors are a combination of the object's position relative to the camera and the degree to which the object is occluded. The perception system 102 assumes that the detected object exists on the ground plane, y = 0, which may explain why d_centre_y does not show a distance dependency.
[0455] For a model of the positional error of a dynamic object detected by perception system 102, this analysis identifies position and occlusion as favorable confounding factors to begin with. The data does not show a strong preference for positional confounding factors based on Cartesian grids (centre_x, center_y, center_z) using polar coordinates (distance, azimuth). Distance and azimuth are used in the PRISM prototype described in this paper, but a more in-depth evaluation of the relative performance of each prototype is possible.
[0456] 4.2.3 Time Correlation Analysis of Position Error Increment
[0457] Temporal correlation analysis performed on position errors can be applied to the time series repetition of error increments, thereby providing... Figure 19 The hysteresis plots shown are illustrated. These plots show the temporal correlation in error increments that is far less than found in location errors. The Pearson correlation coefficients of the error increments are shown in Table 3. For each dimension, they are quite small in magnitude, with -0.35 being the furthest from zero. From this analysis, we can conclude that a good model of the error increments can be formed from independent samples from the correlation distribution.
[0458] Table 3 - Pearson correlation coefficients between error increment samples and one time-step delay samples
[0459]
[0460] Distribution of position error increment
[0461] Typically, the x, y, and z error increment dimensions are correlated. Here, they are considered independently, but note that future efforts could consider modeling them jointly. Figure 20 The histogram of error increment samples is presented, from which it can be clearly seen that the error increment is more likely to be close to zero, but has a long tail of extreme values. Figure 21The maximum likelihood best-fit is shown for some experimental distributions of this data. Visual inspection of these plots suggests that the student's t-distribution can be a good modeling choice for generating error increments. The normal distribution fits poorly due to the large number of extreme error increments in the data.
[0462] Bounding the random walk
[0463] The autoregressive error increment model proposed in Section 4.2.1 is typically an unbounded stochastic process. However, it is well known that the detected position of a dynamic object does not simply deviate but remains close to the ground reality. This is an important characteristic that must be captured in a time-dependent model. As a concrete example of this, consider modeling the position error as a Gaussian random walk, setting... This resulted in Time t k The location error distribution, where the variance increases with time without being time-bound. Such a characteristic must not exist in the PRISM model.
[0464] AR(1) is a first-order autoregressive process defined by the following equation:
[0465] y t =a1y t-1 +∈ t (19)
[0466] Where, ∈ t It is a sample from a zero-mean noise distribution, and y t It is a sample of the variable of interest at time t. It is known that this process is generally stationary for |a1|<1; otherwise, the generated time series is non-stationary. Comparing Equations 18 and 19, it can be seen that, given the known results of AR(1), if Δe k If the mean is zero, then the error increment model proposed in Equation 18 will be non-stationary. Therefore, such a model is insufficient to generate a reasonable stack output.
[0467] An extension to the model proposal in Equation 18 is proposed, inspired by the properties of the collected error increment data. The extension is conditional on the previous error with respect to Δe. k Modeling is performed to find the relationship between P(Δe) and P(Δe) k |e kBest fit for -1). A model of this form should learn to sample the error increment that moves the position error towards zero, with a higher probability the further the position error is from zero. This was found to be true.
[0468] Following the piecewise-constant modeling method described in Section 4.2.2, P(Δe k |e k -1) is approximated as follows:
[0469] For the space of e k-1 values, M bins are formed, with boundaries {b0, b1,..., b M}}.
[0470] A separate distribution P m (Δe k ) is characterized for each bin, where 0 < m < M represents the bin index.
[0471] [[ID=
[0475] The time-dependent model is a typical AR(1) process and is stationary when a < 2. In practice, good priors would require a ~ 0, thus such a model is structurally stationary.
[0476] 4.2.6 Simple Verification
[0477] It is beneficial to see whether samples from the proposed time-dependent position error model reproduce the features that excite its construction. Figure 23 The figure shows a plot of the positional error of a single dynamic object trajectory sampled from the learned distribution. Figure 24 The hysteresis plots of the same data are shown. In both cases, true perceived error data are provided for visual comparison. The similarity between the PRISM sample and the observed stack data is encouraging. Clearly, a more quantitative evaluation (which will be the subject of Section 5) is needed to make any meaningful claims.
[0478] False negatives and false positives
[0479] Perception systems exhibit failure modes beyond the estimation of noisy locations of dynamic objects. The detector may fail to identify objects in the scene (false negatives), or it may identify objects that are not present (false positives). Surrogate models like PRISM must simulate the detector's observed false negative and false positive rates. This section discusses the importance of false negative modeling, investigates which confounding factors affect the false negative rate, and proposes two simple Markov models. It has been shown that using more confounding factors can yield Markov models with better performance, and some problems with doing so using piecewise constant methods are highlighted.
[0480] A survey was conducted to determine the frequency of true positives (TP), false negatives (FN), and false positives (FP). The results are summarized in Table 4. False negative events were significantly more frequent than false positives. The counts in Table 4 apply to all object distances. Counting false negatives at such distances from the distance detector appears unfair, as humans would have difficulty identifying them in time. Introducing a distance filter on the events reduced the factor that made false negatives more prevalent than false positives, but the difference remained significant. When considering objects at depths less than 50 m, the number of TP / FN / FP events was 34046 / 13343 / 843. Lowering the distance threshold to a depth of 20 m, the number of TP / FN / FP events was 12626 / 1236 / 201.
[0481] Table 4 shows the figures describing false positive and false negative events in the dataset.
[0482]
[0483] 4.2.9 False Negative Modelling
[0484] Following the methods described in Section 3.2, the importance of different confounding factors to false negatives was explored using the relief algorithm. Milts 2 20% of the training data samples were randomly selected. The results are as follows: Figure 25 As shown. A 20% random sample of the data allows the algorithm to run with manageable memory usage. The target variable is the association category produced by the detector: association or false negative. The association category is called the association state. The same list of confounding factors as in Section 3.2 is used, where distance and azimuth are used instead of center_x, center_y, and center_z. It has been found that the lattice scheme based on distance and azimuth is as good as the lattice scheme based on the center value, but with lower dimensionality. Furthermore, occluded_category is used, as it is the most reliable occlusion variable. Additionally, the association state of objects in the previous time step is included as a potential confounding factor. This is in Figure 25 The state is labeled "from". Note that "from" has three possible values: associated, false negative, and empty. When an object is first visible to the detector, there will be no previous associated state; the detector did not actually detect the object in the previous time step. The associated state for such a time step is considered empty, i.e., a true negative. Similarly, for objects that disappear from the field of view, whether by exiting the camera frustum or being completely occluded, an empty associated state is used as the previous associated state for the first frame in which the object reappears.
[0485] from Figure 25 As can be seen, the most important confounding factor is the "from" category. This means that the strongest predictor of an associated state is the associated state from the previous time step. This relationship is intuitive; if the detector fails to detect an object within one time step, it is expected to detect the object in multiple frames. Objects may be inherently difficult for the detector to recognize, or some characteristics of the scene (e.g., camera lens flare) may affect its perceptibility and persist across multiple frames. The next most important confounding factor is occluded_category. This again aligns with intuition—if an object is occluded, it is harder to detect and therefore more likely to be a false negative. Distance is also important. Again, this is expected; the farther away an object is, the less information is available about it (e.g., in a camera image, a more distant car is represented by fewer pixels compared to a closer car).
[0486] Guided by this evaluation, a false negative model is constructed where only the confounding variable is the associated state at the previous time step. This is a Markov model because it assumes that the current state depends only on the previous state. This is modeled by determining the probability of transitioning from the state at time step t-1 to the state at time step t. Let X represent the associated state, which is equivalent to finding the conditional probability P(X). t |X t-1 To determine these transition probabilities, the frequency of these transitions in the training data was calculated. This is equivalent to Bayesian likelihood maximization. Table 5 shows the transition probability and number of instances for each transition type in the data. Each bin in Table 5 has over 800 entries, indicating that the implied transition frequencies are reliable. The observed transition probability from false negative to false negative is 0.98, and from associated to associated is 0.96. As expected from the Relief analysis results, these values show strong temporal relevance. Are there attributable reasons for the transitions to false negative states and the persistence of false negative states? There is a probability of 0.65 for transitioning from an empty (true negative) state to a false negative state, and a probability of 0.35 for transitioning from an empty (true negative) state to an associated state. This means that when an object first becomes visible, it is more likely to be a false negative. Many objects enter the scene from a distance, which is likely a significant factor in generating these initial false negatives. Some objects enter the scene from the side, especially in the roundabout scene considered in this example. Such objects are truncated in the first few frames, which may be a factor in early false negatives. To explore these points in more detail, we construct a model that depends on other factors.
[0487] Table 5 - The probability of transitioning from an associated state in the previous time step (row) to an associated state in the current time step (column) (left two columns), and the count of transitions in the training dataset (right two columns).
[0488]
[0489] As a first step towards more complex models, relief analysis was performed to identify confounding factors important for the transition, regardless of prior association states. MultiSURF was used for 20% of the randomly selected training data sample. Results are as follows: Figure 26 As shown.
[0490] Figure 26The most important confounding factors that may affect the transition probability are: occluded_category, distance, and azimuth. In fact, using the criteria listed in Section 3.2, all confounding factors are good confounding factors. Based on this evidence, the next most complex Markov model is created; occluded_category is added as a confounding factor. Let represent the associated state X and the occluded category C, and the conditional probability P(X...). t |X t-1 C t Similar to the first Markov model, these transition probabilities are determined from the training data by counting the frequency of occurrence. Table 6 shows the transition probability and the number of instances for each transition in the data.
[0491] Table 6 - Probability of transitioning from associated states and occluded categories in the previous time step (rows) to associated states in the current time step (columns) (left two columns), and the count of transitions in the training dataset.
[0492] (Right two columns)
[0493]
[0494] Table 6 shows some frequencies determined from very low counts. For example, only 27 transitions occurred from a false negative to an associated state after complete occlusion. However, this event is expected to be rare, and any of these transitions likely indicate erroneous training data. These counts may come from annotated data with incorrect associations observed by the detector; if the object were truly completely occluded, the detector would not be expected to observe it. Perhaps the least trustworthy transitions come from association and complete occlusion; this category has only 111 observations in total. The probability of transitioning from association and complete occlusion to association is 0.61, i.e., highly probable; although the counts of transitioning from false negatives and complete occlusion to association are few, it is practically zero probability (because the number of counts from false negatives and complete occlusion to false negatives is so high). Rows with low sums should be handled with caution.
[0495] Despite these limitations, the expected trend remains. When objects transition from an empty state (i.e., when they are first observed), there is a 0.60 chance of transitioning to an associated state if they are fully visible, meaning objects are more likely to be transitioned to an associated state than false negatives. However, if objects are mostly occluded, the probability of transitioning to an associated state is only 0.17.
[0496] Given the limitations of identification, it can be determined whether adding confounding factors improves the model. To compare these models, a method is used where the model with a smaller negative log predictive density (NLPD) better interprets the data. The corresponding NLPD is calculated on the held-out test set. The NLPD of the simple Markov model is 10,197, compared to 9,189 for the Markov model with confounding factors. Adding the occlusion_category confounding factor improves the model by this metric.
[0497] This comparison demonstrates that including confounding factors can improve the model. To construct a model that includes all relevant confounding factors, following the paradigm used in piecewise constant models, new confounding factors are added to additional bins (e.g., Table 6 has more rows than Table 5).
[0498] 5. Neural Network PRISM
[0499] This section describes how to implement PRISMS using neural networks or similar "black box" models.
[0500] As is well known in the art, neural networks consist of a series of “layers,” which in turn consist of neurons (nodes). In a classic neural network, each node in the input layer receives a component of the network input (e.g., an image), which is typically multidimensional, and each node in each subsequent layer is connected to each node in the previous layer and computes a weighted sum function of the outputs of the nodes it is connected to.
[0501] For example, Figure 27 This illustrates node i in a neural network, where node i receives input {u j Given a set of inputs, compute a function that is a weighted sum of those inputs as its output:
[0502]
[0503] Here, g is a potentially non-linear activation function, and {w i,j} is the set of weights applied to node i. The weights of the entire network are adjusted during training.
[0504] refer to Figure 28It is useful to conceptualize the inputs and outputs of a CNN layer as “volumes” in a discrete three-dimensional space (i.e., a three-dimensional array), each of which is formed by a stack of two-dimensional arrays referred to in this paper as “feature maps.” More generally, a CNN takes “tensors” as input, which can typically have any dimension. The following description may also refer to the feature maps as layers of tensors.
[0505] For example, Figure 28 A sequence of five such tensors 302, 304, 306, 308, and 310 is shown, which can be generated, for example, by a series of convolution operations, pooling operations, and non-linear transformations as known in the art. For reference, the two feature maps within the first tensor 302 are labeled 302a and 302b, and the two feature maps within the fifth tensor 310 are labeled 310a and 310b, respectively. In this paper, (x,y) coordinates refer to the applicable location within the feature map or image. The z-dimensional dimension corresponds to the “depth” of the feature map or image and can be called the feature dimension. A color image has three depths corresponding to the three color channels, i.e., the value at (x,y,z) is the value of the color channel z at the location (x,y). Tensors generated at processing layers within a CNN have depths corresponding to the multiple filters applied at that layer, where each filter corresponds to a specific feature learned and recognized by the CNN.
[0506] The difference between CNNs and classic neural network architectures lies in the fact that CNNs have processing layers that are not fully connected. Instead, they provide processing layers that are only partially connected to other processing layers. Specifically, each node in a convolutional layer is only connected to a local 3D region of the processing layer, receives input from this local 3D region, and performs convolutions with respect to filters on nodes within this local 3D region. The nodes that are specifically connected to this region are referred to as being within the “receptive field” of the filter. The filter is defined by a set of filter weights, and the convolution at each node is a weighted sum of the outputs of the nodes within the filter’s receptive field (weighted according to the filter weights). This local partial connection from a layer to the (x,y) position of the next aspect of the value within its corresponding tensor ensures that the (x,y) position information is preserved at least to some extent in the CNN as data passes through the network.
[0507] Each feature map is determined by convolving a given filter onto the input tensor. Therefore, the depth (range in the z-direction) of each convolutional layer is equal to the number of filters applied to that layer. The input tensor itself can be an image or a set of feature maps, which are determined by convolution. When convolution is applied directly to an image, each filter operates as a low-level structure detector because "activation" (i.e., a relatively large output value) occurs when pixels within the filter's receptive field form a certain structure (i.e., a structure matching a particular filter). However, when convolution is applied to a tensor that is itself the result of earlier convolutions in the network, each convolution is performed on a set of feature maps representing different features, thus further activating the network when specific combinations of lower-level features are present within the receptive field. Therefore, for each successive convolution, the network detects the presence of increasingly higher-level structural features corresponding to specific combinations of features from the previous convolution. Thus, in early layers, the network effectively performs lower-level structure detection, but gradually shifts towards higher-level structural semantic understanding in later layers. Filter weights are learned during training; this is how the network learns what structures to look for. As is known in the art, convolution can be combined with other operations. For example, pooling (in its dimensionality-reducing form) and nonlinear transformations (such as ReLU, softmax, etc.) are typical operations used in conjunction with convolution in CNNs.
[0508] Figure 29 A highly schematic overview of the PSPM, implemented as a neural network (net) or a similar trainable function approximator, is shown.
[0509] In this example, neural network A00 has an input layer A02 and an output layer A04. While neural network A00 is schematically depicted as a simple feed-forward neural network, this is merely illustrative, and neural network A00 can take any form, including, for example, recurrent neural network (RNN) and / or convolutional neural network (CNN) architectures. The terms "input layer" and "output layer" do not imply any particular neural network architecture and include, for example, the input and output tensors in the case of a CNN.
[0510] In the input layer A02, the neural network A00 receives the perceived ground reality t as input. For example, the perceived ground reality t can be encoded as an input vector or tensor. Typically, the perceived ground reality t can be associated with any number of objects and any number of underlying sensor modes.
[0511] The neural network A00 can be mathematically represented as the following function:
[0512] y = f(t; w), where w is an adjustable set of weights (parameters) that process the input t according to this set. During training, the goal is to optimize the weights w for some loss function defined on the output y.
[0513] exist Figure 29 In the example, the output y is a set of distribution parameters that defines the prediction probability distribution p(e|t), which is the probability of obtaining some predicted sensing output e given the perceived ground situation t at the input layer A02.
[0514] Using a simple example of a Gaussian (normal) distribution, the output layer A04 can be configured to provide the predicted mean and variance for a given ground condition:
[0515] y = {μ(t; w), σ(t; w)}.
[0516] Note that either the mean or the variance can vary with the input ground reality t as defined by the learning weights w, thus giving the neural network A00 the flexibility to learn this dependency during training to the extent that it is reflected in the training data it is exposed to.
[0517] During training, the goal is to learn weights w that match p(e|t) with the actual perceived output A06 generated by the sensing slice 204 to be modeled. This means, for example, by optimizing a suitable loss function A08 via gradient descent or ascent, it is meaningful to compare the distribution p(e|t) predicted at the output layer for a given ground reality t with the actual perceived output corresponding to ground reality t. As described above, the ground reality input t used for training is provided by the ground reality (annotation) pipeline 802, which has been defined by manual, automatic, or semi-automatic annotation of the sensor data to which the sensing slice 204 is applied. The set of sensor data to which the sensing slice 204 is applied may be referred to as input samples or equivalently as frames in the following description, and is denoted by reference numeral A01. The actual perceived output of each frame A01 is computed by applying the sensing slice 204 to the sensor data of that frame. However, according to the above teachings, the neural network A00 is not exposed to the underlying sensor data during training, but instead receives the annotated ground reality t of frame A01 as input to convey the underlying scene.
[0518] Given a sufficient set of example {e,t} pairs, various existing neural network architectures can be trained to predict conditional distributions of the form p(e|t). For simple Gaussian distributions (univariate or multivariate), a log-normal or (negative)-log PDF loss function A08 can be used. One way to extend this to non-Gaussian distributions is to use a Gaussian mixture model, where a neural network A00 is trained along with mixing coefficients (learned from input t in the same way as the mean and variance of each Gaussian component) to predict a multi-component Gaussian distribution. Theoretically, any distribution can be represented as a mixture of Gaussians; therefore, Gaussian mixture models are a useful way to approximate general distributions. References to "fitting normal distributions," etc., in this paper include Gaussian mixture models. The relevant descriptions also apply more generally to other distribution parameterizations. As will be understood, various known techniques exist by which neural networks can be built and trained to predict conditional probability distributions given sufficiently representative examples of input-output pairs. Therefore, no further details are described herein unless they are particularly relevant to the described embodiments.
[0519] During inference, a trained network A00 is used as described above. The perceived ground reality t provided by the simulator 814 is provided to the neural network A00 in the input layer A02, which is processed by the neural network A00 to generate a predicted perceived output distribution of the form p(e|t) in the output layer A04, and can then be sampled by the sampling orchestration component (sampler) 816 in the manner described above.
[0520] It is important to note the terminology used in this article. In this context, "ground reality" refers to the input of neural network A00 from which its output is generated. During training, the ground reality input comes from annotations, and during inference, the ground reality is provided by simulator 814.
[0521] While the actual sensed output A06 can be considered a ground reality form in the training context—as it is an example of the type of output the neural network is trained to replicate—this paper generally avoids the term to avoid confusion with the input of PSPM. The sensed output generated by applying sense slice 204 to sensor data is referred to as the “actual” or “target” sensed output. The goal of training is to adjust the weights w by optimizing a suitable loss function that measures the deviation between the network output and the target sensed output, so that the distribution parameters of the output layer A04 match the actual sensed output A06.
[0522] Figure 29It is not necessarily a complete representation of the input or output of the neural network A00—it can take the additional input that the prediction distribution depends on and / or it can provide other functions that serve as its inputs to the output.
[0523] 5.1 Confounding Factors
[0524] Figure 30 An extension of the neural network is shown to incorporate one or more confounding factors c according to the principles described above. Confounding factors are easily incorporated into this architecture because they can simply be provided as additional inputs to the input layer A02 (during training and inference). Therefore, during training, the neural network A00 can learn the dependence of the output distribution on the confounding factor c. That is, the network A00 can learn a distribution p(e|t,c) at the output layer A04, where any parameters of the distribution (e.g., mean, standard deviation, and mixing coefficient) can depend not only on the ground reality t but also on the confounding factor c, capturing the extent to which those dependencies are captured in the training data.
[0525] 5.2 Time Dependency
[0526] Figure 31 Another extension is shown to include explicit time dependency. In this case, the function (neural network) takes the following as input to the input layer A02:
[0527] Current ground conditions t t
[0528] ·Previous time step ground real-time t t-1
[0529] • Previous detection output e t-1
[0530] Where t (not bold, italic) is a subscript indicating time. The output is the current perceived output p(e t |t t ,t t-1 ,e t-1 The distribution of ), where the current sampled sensing output e t This was obtained by sampling the distribution.
[0531] Here, e t-1 Similarly, the distribution predicted in the previous time step is obtained by sampling from the distribution predicted in the previous time step. Therefore, the distribution predicted in the current time step will depend on the output of sampler 816 in the previous time step.
[0532] Figure 31 and Figure 32 The implementation can be combined to incorporate confounding factors and explicit time dependencies.
[0533] One way to achieve this is to model the characteristics of each detected object separately for the perceived ground reality t and the sampled sensing output e. For example, these characteristics might include position, extent, orientation, and type.
[0534] The output layer A04 of the neural network is used to predict the transformed real-valued variable, and then the probability distribution of the variable of interest is parameterized. Conceptually, this form of neural network models the perceptual slice 204 as a random function.
[0535] Epistemic uncertainty leads to stochastic modeling of perceptual slice 204: even though perceptual slice 204 is deterministic, it exhibits significant randomness, which stems from a lack of understanding of the many unknown variables that will affect its output in practice.
[0536] A typical scenario may involve multiple sensing objects. Note that 'e' and 't' in this article are general notations that can represent the sampled sensing output / sensing ground reality of a single object or multiple objects.
[0537] Another challenge mentioned above is modeling false positives (FP, i.e., false positive detections of objects) and false negatives (FN, i.e., failure to detect objects). The impact of FP and / or FN is that the number of ground-based objects (i.e., the number of objects providing perception of ground reality) does not necessarily match the number of predicted objects (i.e., the number of objects providing true perception output samples for them).
[0538] A distinction can be made between the "single object" approach and the "set-to-set" approach. In the broadest sense, single-object PSPM relies on an explicit one-to-one association between ground reality objects and predicted objects. The simplest way to implement single-object PSPM, in terms of the associated single-object ground reality, is to consider each object independently during training. At inference time, PSPM receives the perceived ground reality for a single object and provides a single-object perceived output. False negatives can be directly adapted by introducing mechanisms that can model the failure detection of single objects.
[0539] 5.3 Single-object PSPMs
[0540] A sample implementation of a single-object PSPM using a neural network will now be described. A normal distribution is fitted to the location and range variables (which can be multivariate normals if desired).
[0541] To model the orientation, we can follow the approach in Section 3.2.2 of Peretroukhin et al., “Probabilistic Regression of Rotations using Quaternion Averaging and a Deep Multi-Headed Network” [https: / / arxiv.org / pdf / 1904.03182.pdf]—the entire contents of which are incorporated herein by reference. In this approach, a quaternion representation of the orientation is used. Noise is injected into the tangent space around the quaternion, potentially mixing with the surrounding quaternions.
[0542] We use Bernoulli random variables to model the false “negativeness”.
[0543] Given a final network layer A04, the distributions of the variables may be conditionally independent, but dependencies / correlation can be induced by feeding noise as additional input into the neural network to form a stochastic likelihood function. This is actually a mixture distribution.
[0544] The neural network A00 is trained using stochastic gradient descent (maximum likelihood—using the negative logarithm pdf of a random variable as the location and range variables (or multivariate normal if appropriate)).
[0545] The single-object approach requires establishing an explicit correlation between the ground-based object and the actual sensed output A06. This is because the predicted distribution of a given object needs to match the appropriate single-object sensed output actually generated by sense slice 204. Identifying and encoding these correlations for PSPM training purposes can be implemented as an additional step within the ground-based pipeline 802.
[0546] 5.4 Set-to-set method
[0547] In the broadest sense, the ensemble-to-ensemble approach is a method that does not rely on an explicit association between ground reality objects and prediction objects; that is, during training, it is not necessary to tell PSPM which ground reality object corresponds to which prediction object.
[0548] Figure 32The set-to-set PSPM D00 is shown, which takes the perceived ground reality {t0,t1} as input for a set of ground reality objects of arbitrary size (two ground reality objects in this example, indexed 0 and 1), and provides the perceived output or distribution {e0,e1} of reality for a set of predicted perceived objects (also two in this example—but note the discussion of FP and FN below).
[0549] There are various benefits to using set-to-set methods.
[0550] The primary benefit is reduced annotation burden—there is no need to determine the correlation between ground reality and actual perceived targets for training purposes.
[0551] Another benefit is the ability to model the relationships between objects. Figure 32 The example illustrates an ensemble-to-ensemble neural network, PRISM, which acquires the perceived ground reality for an arbitrary number of input objects at its input layer and outputs a distribution for each predicted object. Notably, the network's architecture ensures that the predicted perceived output distribution p(em) for any given predicted object m is... m The |t0,t1) group can typically depend on the ground-based perception output for all ground-based objects (t0,t1 in this example). More precisely, the architecture is flexible enough to learn these dependencies to the extent that they are reflected in the training data. The ensemble-to-ensemble approach can also learn the degree to which the perception slice 204 provides overlapping bounding boxes, and any trends in which it must “swap” objects, which is a further example of learnable object relevance.
[0552] More generally, the result of the set-to-set method is the joint distribution of all detections considered at once, i.e., p(e1,e2,...|t0,t1) (when e m When they are independent of each other, they are reduced to each p(e) mentioned in the previous paragraph. m The product of |t0,t1). The advantage of this is that it allows modeling the correlation between detections; for example, e1 can have instance identifier 0, and e2 can too, but not both simultaneously. While the preceding paragraphs and Figure 32 Assume e m It is independent, but this is usually not necessary—the output layer can be alternatively configured to more generally represent the joint distribution p(e1,e2|t0,t1).
[0553] Another benefit is the ability to model false positives using certain ensemble-to-ensemble architectures. This is because the number of real-world objects on the ground does not necessarily have to match the number of objects to be predicted—ensemble-to-ensemble architectures are feasible where the latter will be less than, equal to, or greater than the former, depending on the network's input.
[0554] 5.5 CNN Ensemble to Ensemble Architecture
[0555] For example, now we will refer to Figures 33A-33D Describe an ensemble-to-ensemble CNN architecture. The following assumes that the actual perceptual output provided by the perceptual slice 204 comprises 3D bounding boxes for any detected objects, with defined position, orientation, and extent (size / dimension). The CNN uses input tensors and produces output tensors, constructed as described below.
[0556] The CNN PSPM D00 jointly models the output detection based on all ground truth detections in a specific frame. Temporal dependencies can be induced using an RNN architecture, which is a way to achieve explicit temporal dependencies on previous frames.
[0557] Ground reality and output predictions are spatially encoded in “PIXOR” format. In short, the PIXOR format allows for efficient encoding of 3D spatial data based on a top-down (bird's-eye view). For more information, see Yang et al., “PIXOR: Real-time 3D Object Detection from Point Clouds” [https: / / arxiv.org / abs / 1902.06326], the entire contents of which are incorporated herein by reference.
[0558] like Figure 33A As shown, to represent the actual perceived output A06 for training purposes, a low-resolution (e.g., 800px square) bird's-eye view of the actual perceived 3D bounding boxes is generated (classification layer D12, or more typically, an object map). Output objects are drawn with only one "color"—that is, a classification detection image with a binary encoding of "detection-ness" (the "detected" pixels for a given object form the object region). This can be repeated for ground-based objects or generalized by drawing the colors of the input objects according to their occlusion states (one-hot encoding).
[0559] To encode other characteristics of the object spatially, more bird's-eye views are generated, representing the position, range, orientation, and any other important variables of the vehicles present in each pixel. These further images are called regression layers or perception layers and are denoted by the figure label D14. This means that a single detection is represented multiple times in neighboring pixels, and some information is redundant, as shown in the figure. The images are stacked to produce a tensor of size (height x width x number of important variables).
[0560] Please note that the 3D bounding box is encoded by the perceptual layer, which is redundant. When the output tensor is "decoded," the actual values of the regression layer D14 define the position, orientation, and extent of the bounding box. The purpose of spatial encoding in the bird's-eye view is to provide the information encoded within the perceptual layer D14 of the input tensor in a form that is conducive to CNN interpretation.
[0561] One advantage of this model is its ability to learn correlations between different object detections—for example, it can learn if the stack does not predict overlapping objects. Furthermore, PSPM can learn whether the stack swaps object IDs between objects.
[0562] By feeding in additional input images, the CNN can be encouraged to predict false positives in physically meaningful places, as this provides the CNN with the information needed to determine the correlation between false positives and the map during training, such as a map of the scene (indicating the environmental structure).
[0563] CNNs can also accept inputs to receive clutter factors in any suitable form. Object-specific clutter factors can be spatially encoded in the same way. Examples of such clutter factors include occlusion values, which are measurements of the degree to which an object is occluded by other objects and / or truncation (the degree to which an object is outside the sensor's field of view).
[0564] Figure 33B This illustrates the training of a CNN.
[0565] CNN D00 is trained to predict the output tensor D22 from the input tensor D20 using classification (e.g., cross entropy) loss D32 from the classification layers and regression (e.g., smoothed L1) loss D34 from the regression layers of those tensors. The classification and regression layers of the input and output tensors D20 and D22 are drawn separately for clarity only. Typically, information can be encoded in one or more tensors.
[0566] The regression layer with input tensor D20 encodes the perceived ground reality t of the current frame for any number of ground reality objects.
[0567] The classification loss D32 is defined with respect to the target classification image D24A derived from the actual perceived output e of the current frame. The regression loss is defined with respect to the target perception layer D24B, which spatially encodes the actual perceived output of the current frame.
[0568] Each pixel in the classification layer of the output tensor D22 encodes the probability that an object is detected at that pixel (the "detectability" probability). The corresponding pixels in the regression layer define the corresponding object location, extent, and orientation.
[0569] The classification layer of output tensor D22 is thresholded to produce a binary output classification image. During training, the binary output classification image D23 is used to mask the regression layer, meaning the regression loss only considers regions where objects exist within the thresholded image D23, ignoring regions of the regression layer outside of these regions.
[0570] Figure 33C This demonstrates how to apply a trained network during testing or inference.
[0571] During inference, the input tensor D20 now encodes the perceived ground reality t provided by simulator 814 (for any number of objects).
[0572] The classification layer on the output image is thresholded and used to mask the regression layer of the output tensor D22. Unlabeled pixels within the object region of the thresholded image contain perceptual values, which can then be considered as detections.
[0573] The predicted perceptual 3D bounding boxes are decoded from masked regression layers of the output tensor D22.
[0574] Recall that for any given pixel, the numerical value of that pixel in the regression layer defines the extent, location, and orientation of the bounding box. Therefore, the predicted 3D bounding box for each unmasked pixel can be obtained directly. As shown in the figure, this often results in a large number of overlapping boxes (proposed boxes) because every pixel within each object region is activated by the binary image (i.e., as a valid bounding box proposal).
[0575] Non-maximal suppression (NMS) is applied to the decoded bounding boxes to ensure that objects are not detected multiple times. NMS is well-known for providing a systematic way to discard proposed boxes based on their confidence level and overlap with other boxes. In this case, for any given pixel in the output tensor D22, the detectability probability of that pixel from the (non-thresholding) classification layer can be used as the confidence level.
[0576] As an alternative, non-maximum suppression (NMS) can be avoided by selecting output classification images that only activate the center location of the object. Therefore, only one detection is obtained for each object, and NMS is not required. This can be combined with random probability (feeding noise as additional input to the neural network) to mitigate the impact of activating only the output classification image at the object's center location.
[0577] In addition to other losses, GANs (Generative Adversarial Networks) can be used to obtain more realistic network outputs.
[0578] The simple example described above does not provide the probability distribution of the output layer—that is, the probability distribution of the output layer is a one-to-one mapping between the perceived ground reality t and the set of predicted perceived outputs e directly encoded in the output tensor (the network is deterministic in this sense). This can be interpreted as the “average” response of perceived slice 204 given the ground reality t.
[0579] However, as Figure 33D As shown, this architecture can be extended to predict the distribution at output tensor D22, thus applying the above reference. Figure 29 The principle described is exactly the same. In this case, the perceptual values of the output tensor D22 encode the distribution parameters, and the L1 regression loss D34 is replaced with the log-PDF loss or another loss that is suitable for learning the conditional distribution.
[0580] Another option is to train a set of deterministic neural networks in the same manner but on a different subset of the training data. In the case of M neural networks trained in this way, those networks will directly provide the sampled perceptual outputs (a total of M samples for each ground fact t). Using a sufficient number of appropriately configured deterministic networks, the distribution of their output samples can capture the statistical properties of the modeled perceptual slice 204 in a manner similar to the learned parameterized distribution.
[0581] 5.6 Online Error Estimation Modeling
[0582] Figure 34A further extension is shown to accommodate modeling of online error (e.g., covariance) estimates within the sensing slice 816 to be modeled. The online error estimator 816U within the stack provides error estimates (or a set of error estimates) associated with its sensing output. The online error estimate is an estimate within the prediction system 816 regarding the error associated with its output. Note that this is an estimate of the uncertainty of the prediction slice's output itself (potentially flawed), typically generated in real-time using only information available on the vehicle at runtime. This in itself can be flawed.
[0583] Such error estimation is important, for example, in the context of filtering or fusion, where multiple sensing outputs (e.g., from different sensor modalities) can be fused in a manner that respects their relative levels of uncertainty. Incorrect online covariance can lead to fusion errors. Online error estimation can also be directly fed into prediction 104 and / or planning 106, for example, where planning is based on probabilistic predictions. Therefore, errors in online error estimation can have a significant impact on stack performance and, in the worst case, can lead to unsafe decisions (especially if the error level of a given sensing output is underestimated).
[0584] The methods for modeling online covariance (or other online error estimation) differ from those for location, extent, and orientation because there is no available ground reality covariance, i.e., the ground reality input t does not include any ground reality covariance.
[0585] Therefore, the only change is to add an additional distribution parameter to the output layer A04 to additionally model the distribution p(E|t), which is the probability that the online error estimator 816U provides an error estimate of E given the perceived ground reality t.
[0586] Note that this also treats the online error estimator 816U as a random function. Without loss of generality, this can be described as the neural network A00 learning the "covariance of the covariance". Modeling the online error estimator 816U in this way can adapt the cognitive uncertainty about the online error estimator 816U in the same way as other such uncertainties about the sensing system 204. This is especially useful if the inputs to the online error estimator 816U are difficult or expensive to simulate. For example, this would be a way to model the online error estimator 816U without having to simulate those sensor data inputs if the online error estimator 816U is applied directly to sensor data.
[0587] The covariance matrix is fitted to a triangular matrix by performing a Cholesky decomposition E02. This produces positive diagonal elements, allowing the calculation of the logarithms of these elements. A normal distribution can then be fitted to each component of the matrix (or a multivariate normal distribution if desired). At test time, this process is reversed to produce the desired covariance matrix (lower triangular scale matrices are multiplied together). This allows the loss function to be expressed as a straight-forward numerical regression loss in the unconstrained space of the Cholesky decomposition. To “decode” the neural network, an inverse transformation can be applied.
[0588] During inference, p(E|t) can be sampled in the same way as p(e|t) to obtain a realistic online sampling error estimate.
[0589] Figures 29-34 All architectures are described in the document. For example, time and / or confounding factor dependencies can be combined with... Figure 34 In the model, the covariance of the covariance depends on one or both.
[0590] More generally, the network can be configured to learn a joint distribution of the form P(e,E|t), which is reduced to the above when e and E are independent of each other (but both depend on the ground reality t).
[0591] 6. PSPM Application
[0592] PSPM has many useful applications, some of which will be described here.
[0593] 6.1 Planning under Uncertainty
[0594] The use cases listed above test planning under uncertainty. This means testing how the planner 106 performs in the presence of statistically representative perceived error. In that case, the advantage is that the planner 106 and the prediction stack 104 can be exposed to real-world perceived error in a robust and efficient manner.
[0595] One benefit of the confounding factor approach is that when an instance of unsafe behavior occurs in a particular scenario, the contribution of any confounding factor to that behavior can be explored by running the same scenario but using different confounding factors c (which may have the effect of altering the perceived uncertainty p(e|t,c)).
[0596] As mentioned earlier, when sampling from the PSPM, it is not necessary to sample in a uniform manner. Intentionally biasing the sampling towards outliers (i.e., PSPM samples with lower probability) may be beneficial.
[0597] Incorporating confounding factor c also facilitates testing more challenging scenarios. For example, if simulations show that planner 106 makes relatively more errors in the presence of occlusion, this could trigger testing in more scenarios where external objects are occluded.
[0598] 6.2 Separating Sensing and Planning / Forecasting Errors
[0599] Another somewhat related, but still separate, application is the ability to isolate the causes of unsafe decisions by the planner 106 within the runtime stack 100. In particular, it provides a convenient mechanism to infer whether the cause is a perception error rather than a prediction / planning error.
[0600] For example, consider a simulated scenario where an instance of unsafe behavior occurs. This unsafe behavior could be caused by perception errors, but it could also be caused by prediction or planning errors. To help isolate the cause, the same scenario can be run without PSPM, i.e., directly on a perfectly perceived ground reality, to see how planner 106 performs in the exact same scenario but with perfect perception output. If unsafe behavior still occurs, this indicates that the unsafe behavior is at least partially attributable to errors outside the perception stack 102, which may indicate prediction and / or planning errors.
[0601] 6.3 Training
[0602] Simulation can also be used as a basis for training (e.g., reinforcement learning training). For example, simulation can be used as a basis for training components within the prediction stack 104, planner 106, or controller 108. In some cases, running training simulations based on the reality-aware output provided by the PSPM may be beneficial.
[0603] 6.4 Testing different sensor arrangements
[0604] One potential advantage of the PSPM method is its ability to simulate sensor types / locations that have not been actually tested. This can be used to make reasonable inferences about the effects of using a specific set of sensors on a mobile AV or using different types of sensors.
[0605] For example, a relatively simple way to test the impact of reducing the pixel resolution of an onboard camera is to reduce the pixel resolution of the annotated images in the annotated ground reality database 804, rebuild the PSPM, and rerun the appropriate simulation. As another example, the simulation could be rerun with a specific sensor mode (e.g., LiDAR) completely removed to test the potential effects.
[0606] As a more complex example, the impact of changing a particular sensor on perceptual uncertainty can be inferred. This is unlikely to be used as the basis for proving security, but it can serve as a useful tool when considering, for example, camera placement.
[0607] 6.6 PSPM of Analog Sensor Data
[0608] While the above considers a PSPM generated by applying sensing slice 204 to real sensor data, the actual sensing output used to train the PSPM can alternatively be derived by applying sensing slice 204 to simulated sensor data to model the performance of sensing slice 204 on simulated sensor data. Note that the trained PSPM does not require simulated sensor data—it still works for sensing ground reality without simulated sensor input. Simulated sensor data is only used to generate the actual sensing output for training. This can be used as a way to model the performance of sensing slice 204 on simulated data.
[0609] 6.7 Online Applications
[0610] Some PSPMs can also be effectively deployed on the AV at runtime, that is, as part of the runtime stack 100 itself. This, in turn, can ultimately help the planner 106 consider knowledge of perceived uncertainty. PSPMs can be used in conjunction with existing online uncertainty models as the basis for filtering / fusion.
[0611] Because PSPM relies on confounding factors, relevant confounding factors need to be measured in real time to maximize its usefulness at runtime. This may not work for all confounding factor types, but PSPM can still be deployed effectively when the appropriate confounding factors are measurable.
[0612] For example, the uncertainty estimate performed by PSPM can be combined at runtime with an independent measurement of uncertainty from one of the online uncertainty models in AV as a priori. In summary, these can provide a more reliable indication of actual perceived uncertainty.
[0613] Structure-aware refers to a class of data processing algorithms that can meaningfully interpret structures captured in sensing inputs (sensor outputs or sensing outputs from lower-level sensing components). This processing can be applied across different forms of sensing inputs. Sensing inputs typically refer to any structural representation, i.e., any dataset that captures structures. Structure-aware can be applied to both two-dimensional (2D) and three-dimensional (3D) spaces. The result of applying a structure-aware algorithm to a given structural input is encoded as a structure-aware output.
[0614] One form of perceptual input is a two-dimensional (2D) image; that is, an image with only color components (one or more color channels). The most basic form of structure perception is image classification, which is a simple classification of an image as a whole relative to a category of images. More complex forms of structure perception applied to 2D space include 2D object detection and / or localization (e.g., orientation, pose, and / or distance estimation in 2D space), 2D instance segmentation, etc. Other forms of perceptual input include three-dimensional (3D) images, i.e., images with at least one depth component (depth channel); for example, 3D point clouds captured using radar or lidar or derived from 3D images; voxel- or mesh-based structural representations, or any other form of 3D structural representation. Examples of perceptual algorithms that can be applied in 3D space include 3D object detection and / or localization (e.g., distance, orientation, or pose estimation in 3D space), etc. A single perceptual input can also be formed from multiple images. For example, stereo depth information can be captured in a stereo pair of 2D images, and this image pair can be used as the basis for 3D perception. 3D structure awareness can also be applied to a single 2D image, an example being monocular depth extraction, which extracts depth information from a single 2D image (note that a 2D image can capture some depth information within one or more color channels even without any depth channels). This form of structure awareness is an example of different “perception modalities” as used in this paper. Structure awareness applied to 2D or 3D images can be referred to as “computer vision.”
[0615] Object detection refers to the detection of any number of objects captured in a perceptual input and typically involves representing each such object as an instance of an object class. Such object detection may involve one or more forms of location estimation or a combination of one or more forms of location estimation, such as 2D or 3D bounding box detection (a form of object localization where the aim is to define a region or volume in the 2D or 3D space surrounding the object), distance estimation, pose estimation, etc.
[0616] In the context of machine learning (ML), a structure-aware component can comprise one or more trained perception models. For example, machine vision processing often uses convolutional neural networks (CNNs). Such networks require a large number of training images, already annotated with information that the neural network needs to learn (in the form of supervised learning). During training, the network is presented with thousands, or preferably hundreds of thousands, of such annotated images and learns how the features captured in the images themselves relate to their associated annotations. Each image is annotated in the sense associated with the annotated data. The images serve as perception inputs, and the associated annotation data provides the "ground truth" for the images. CNNs and other forms of perception models can be built to receive and process other forms of perception input (e.g., point clouds, voxel tensors, etc.) and perceive structure in 2D and 3D space. In the case of general training, the perception input may be referred to as a "training example" or "training input." In contrast, training examples captured at runtime for processing by the trained perception component may be referred to as "runtime input." The annotated data associated with the training input provides ground truth for that training input, as it encodes the expected perceptual output for that training input. During supervised training, the parameters of the perceptual unit are systematically tuned to minimize, within defined limits, the overall measure of the difference between the perceptual output (the “actual” perceptual output) produced by the perceptual unit when applied to training examples in the training set and the corresponding ground truth (the expected perceptual output) provided by the associated annotated data. In this way, the perceptual input “learns” from the training examples and, moreover, can “generalize” that learning, in a trainable sense, to provide meaningful perceptual outputs for perceptual inputs not encountered during training.
[0617] Such sensing components form the cornerstone of many mature and emerging technologies. For example, in robotics, mobile robot systems capable of autonomously planning paths in complex environments are becoming increasingly common. An example of this rapidly emerging technology is the autonomous vehicle (AV), which can navigate city roads on its own. Such vehicles must not only perform complex maneuvers between humans and other vehicles, but they must do so frequently while ensuring that the probability of adverse events, such as collisions with these other entities in the environment, is strictly limited. For an AV to plan safely, it is crucial that it can accurately and reliably observe its environment. This includes the need to accurately and reliably detect real-world structures near the vehicle. Autonomous vehicles, also known as driverless vehicles, are vehicles equipped with sensor systems for monitoring their external environment and control systems capable of automatically making and executing driving decisions using these sensors. This includes, in particular, the ability to automatically adapt vehicle speed and direction of travel based on perceived input from the sensor systems. Fully autonomous or “driverless” vehicles have sufficient decision-making capabilities to operate without any input from a human driver. However, the term “autonomous vehicle” used in this paper also applies to semi-autonomous vehicles, which have more limited autonomous decision-making capabilities and therefore still require a degree of supervision from a human driver. Other mobile robots under development include those for transporting goods within and outside industrial areas. These mobile robots will be human-free and belong to a class of mobile robots known as UAVs (unmanned autonomous vehicles). Autonomous aerial mobile robots (drones) are also under development.
[0618] Therefore, in the more general fields of autonomous driving and robotics, one or more sensing components may be needed to interpret the perceived input; that is, one or more sensing components can determine the information about the real-world structure captured in a given perceived input.
[0619] Increasingly complex robotic systems (e.g., AVs) may require the implementation of multiple perceptual modalities to accurately interpret various forms of perceptual input. For example, an AV may be equipped with one or more pairs of stereo optical sensors (cameras) from which relevant depth maps are extracted. In this case, the AV's data processing system can be configured to apply one or more forms of 2D structure perception to the image itself—e.g., 2D bounding box detection and / or other forms of 2D localization, instance segmentation, etc.—plus one or more forms of 3D structure perception to the data of the relevant depth maps—e.g., 3D bounding box detection and / or other forms of 3D localization. Such depth maps may also be derived from LiDAR, RADAR, etc., or by merging multiple sensor modalities.
[0620] This technology can be used to simulate the behavior of various robotic systems for testing / training purposes. Runtime applications can also be implemented on different robotic systems.
[0621] To train a perceptual component for a desired perceptual modality, the perceptual component is constructed to receive perceptual input in the desired form and provide perceptual output in the desired form as a response. Furthermore, to train a perceptual component with an appropriate architecture based on supervised learning, annotations conforming to the desired perceptual modality are required. For example, to train a 2D bounding box detector, 2D bounding box annotations are needed; similarly, to train a segmentation component that performs image segmentation (pixel-by-pixel classification of individual image pixels), the annotations need to encode suitable segmentation masks from which the model can learn; a 3D bounding box detector needs to be able to receive 3D structural data, as well as annotated 3D bounding boxes, and so on.
[0622] A sensing element can refer to any tangible embodiment (instance) of one or more underlying perception models, which can be a software or hardware instance, or a combination of software and hardware instances. Such instances can be embodied using programmable hardware such as a general-purpose processor (e.g., a CPU, an accelerator such as a GPU, etc.) or a field-programmable gate array (FPGA) or any other form of programmable computer. Therefore, a computer program for programming the computer can take the form of program instructions that execute on a general-purpose processor, circuit description code for programming an FPGA, etc. Instances of sensing elements can also be implemented using non-programmable hardware, such as application-specific integrated circuits (ASICs), and such hardware can be referred to herein as a non-programmable computer. Generally, a sensing element can be embodied in one or more computers, which can be programmable or non-programmable, and one or more computers are programmed or otherwise configured to execute the sensing element.
[0623] Reference Figure 8 The pipeline components described are functional components of a computer system, which can be implemented at the hardware level in various ways: although Figure 8Although not shown separately, a computer system includes one or more processors (computers) that perform the functions described above. The processors can take the form of general-purpose processors (e.g., CPUs (Central Processing Units) or accelerators (e.g., GPUs),) or more specialized hardware processors (e.g., FPGAs (Field-Programmable Gate Arrays)) or ASICs (Application-Specific Integrated Circuits). Although not shown separately, a UI typically includes at least one display and at least one user input device, such as a mouse / touchpad, touchscreen, keyboard, etc., for receiving user input to allow user interaction with the system.
[0624] The foregoing has described various aspects of the invention and exemplary embodiments thereof. Other aspects and exemplary embodiments of the invention are described below.
[0625] The first aspect of this document provides a computer system for testing and / or training a runtime stack of a robotic system, the computer system comprising:
[0626] A simulator, configured to run a simulated scenario in which a simulated subject interacts with one or more external objects;
[0627] A runtime stack planner configured to make autonomous decisions for each simulation scenario based on the time series of perception outputs computed for the simulation scenario; and
[0628] The runtime stack controller is configured to generate a series of control signals to enable the simulated agent to make autonomous decisions as the simulation scenario progresses;
[0629] The computer system is configured to calculate each sensor output by performing the following operations:
[0630] Calculate the perceived ground condition t based on the current state of the simulated scenario;
[0631] The Statistical Performance Model for Perception (PSPM) is applied to the perceived ground condition t and one or more confounding factors c associated with the simulated scenario to determine the distribution of probabilistic perception uncertainty; and
[0632] Sample the perceived output from the probability-perceived uncertainty distribution;
[0633] Specifically, PSPM is used to model perceptual slices of the runtime stack and is configured to determine the probabilistic perceptual uncertainty distribution based on a set of parameters learned from the actual perceptual output set generated using the perceptual slices to be modeled; and
[0634] The probabilistic perception uncertainty distribution is in the form of p(e|t,c), where p(e|t,c) represents the probability of calculating a specific perception output e given the calculated perception ground reality t and one or more confounding factors c. The probabilistic perception uncertainty distribution is defined over the range of possible perception outputs, where each confounding factor is a variable of the PSPM, the value of which characterizes the physical conditions applicable to the simulated scenario, and p(e|t,c) depends on the variables.
[0635] One or more confounding factors c may include one or more of the following confounding factors, which at least partially determine the probability uncertainty distribution of the sampled perceived output:
[0636] The occlusion level of at least one of the external objects;
[0637] One or more lighting conditions;
[0638] Indicators of time of day;
[0639] One or more weather conditions;
[0640] Seasonal indications;
[0641] The physical characteristics of at least one of the external objects;
[0642] Sensor conditions, such as the position of at least one of the external objects in the sensor's field of view of the subject;
[0643] The number or density of external objects;
[0644] The distance between two external objects;
[0645] The truncation level of at least one of the external objects;
[0646] The type of at least one of the objects; and
[0647] An indication of whether at least one of the external objects corresponds to any external object from an earlier point in the simulated scene.
[0648] The computer system may include a scenario evaluation component configured to evaluate the behavior of an external agent in each simulated scenario by applying a predetermined set of rules.
[0649] At least some of the predefined rules may be related to security, and the scenario evaluation component is configured to evaluate the security of the subject's behavior in each simulated scenario.
[0650] The scenario evaluation component can be configured to automatically flag instances of unsafe behavior by the subject for further analysis and testing.
[0651] The computer system can be configured to rerun a simulated scenario in which the agent initially exhibited unsafe behavior based on a time series of perceived ground realities determined for rerunning the scenario, without applying PSPM to those perceived ground realities, thus eliminating perception errors; and to assess whether the agent still exhibits unsafe behavior in the rerun scenario.
[0652] Sampling from a probability-aware uncertainty distribution can be non-uniform and biased towards lower probability-aware outputs.
[0653] Alternatively, the sampling can be substantially uniform.
[0654] The planner can be configured to make the autonomous decision based on a second time series of the sensing output, wherein the PSPM can be a first PSPM, and the computer system can be configured to compute a second time series of the sensing output using a second PSPM modeled on a second sensing slice of the runtime stack, the first PSPM learning from the first sensor modality and time series data of the sensing slice, and the second PSPM learning independently from the second sensor modality and second time series data of the second sensing slice.
[0655] The planner can be configured to make the autonomous decision based on a second time series of the sensing output, the second time series corresponding to a first sensor mode and a second sensor mode, respectively, wherein the modeled sensing slice is configured to process sensor inputs from both sensor modes and to compute the two time series by applying PSPM, which learns from the data of the two sensor modes to model any correlations between the sensing slices.
[0656] A computer system can be configured to apply at least one unmodeled sensing component of a runtime stack to a sensing output to compute a processed sensing output, and a planner can be configured to make the autonomous decision based on the processed sensing output.
[0657] The unmodeled sensing component can be a filtering component applied to the time series of the sensing output, and the processed sensing output is the filtered sensing output.
[0658] The filtering component can be applied to fuse the time series of the sensing output of the first sensor mode with the second time series of the sensing output.
[0659] The first sensor mode can be one of stereo imaging, lidar, and radar, and the second sensor mode can be another of stereo imaging, lidar, and radar.
[0660] The modeled perceptual slice may include at least one filtering component, and the PSPM may include a time-dependent model for modeling the time dependence of the filtering component.
[0661] Time-dependent models can be hidden Markov models.
[0662] The computer system may include a scene blurring component configured to generate at least one blurred scene for running in a simulator by blurring at least one existing scene.
[0663] The scene blurring component can be configured to generate a blurred scene based on the analysis results of the subject's behavior in the existing scene.
[0664] To model false negative detection, a probabilistic-aware uncertainty distribution can provide the probability of successfully detecting a visible object in the subject. This probability is used to determine whether to provide an object detection output for that object. However, the object is visible when it is within the sensor's field of view of the subject in the simulated scene, thus the detection of visible objects cannot be guaranteed.
[0665] To model false positive detection, a probability uncertainty distribution can provide the probability of false object detection, which is used to determine whether to provide a perceptual output for a non-existent object.
[0666] Ray tracing can be used to calculate the perceived ground reality for one or more external objects.
[0667] Computer systems can be configured to run the same simulation scenario multiple times using different confounding factors.
[0668] At least one of the external objects may be a moving actor, the computer system includes a prediction stack of the runtime stack, the prediction stack of the runtime stack is configured to predict the behavior of the external actor based on the perception output, and the planner may be configured to make autonomous decisions based on the predicted behavior.
[0669] The computer system can be configured to record details of each simulation scenario in a test database, including the decisions made by the planner, the perceptual outputs on which those decisions were based, and the behavior of the simulated agent in executing those decisions.
[0670] One or more confounding factors c may include: at least one latent variable of at least one actor in the simulated scenario.
[0671] For example, at least one latent variable may include: at least one intentional variable and / or at least one other variable used to simulate the behavior of an actor in a simulated scenario.
[0672] PSPM can include a time-dependent model, such that the perception output sampled at the current time depends on the earlier perception output sampled at the previous time.
[0673] The perceived ground situation t can be related to multiple external objects, such that p(e|t,c) depends on multiple external objects.
[0674] The confounding factor c can be selected using a relief-based method.
[0675] PSPM can take the form of a function approximator, which takes a confounding factor c as input to the perceived ground reality t and outputs one or more parameters of the distribution p(e|t,c). For example, PSPM can have a neural network architecture.
[0676] The second aspect of this paper provides a method for testing the performance of robot planners and perception systems, the method comprising:
[0677] The simulation scenarios are run in the simulator, where the state of the simulated robot changes based on autonomous decisions made by the robot planner based on the reality perception output calculated for each simulation scenario.
[0678] For each simulated scenario, at least one probability uncertainty distribution is received for modeling at least one sensing component of the sensing system. This probability uncertainty distribution is determined based on statistical analysis of actual sensing outputs derived by applying the at least one sensing component to inputs directly or indirectly obtained from one or more sensor components. The probability uncertainty distribution varies according to one or more confounding factors selected for the simulated scenario, each of which is a variable whose value characterizes the physical conditions applicable to the simulated scenario.
[0679] The reality-perceived output is modeled based on the actual perception output provided by at least one sensing component in the simulated scene, but the reality-perceived output is calculated without applying at least one sensing component to the simulated scene and without simulating the one or more sensor components, but rather through:
[0680] (i) Directly calculate the perceived ground condition of at least one sensing component based on the simulated scene and simulated robot state, and
[0681] (ii) Modify the perceived ground reality according to at least one probability uncertainty distribution, thereby calculating the reality perception output.
[0682] One or more confounding factors may include one or more of the following:
[0683] - At least one level of occlusion simulating an external object;
[0684] - One or more lighting conditions;
[0685] - An indication of the time of day;
[0686] - One or more weather conditions;
[0687] - Seasonal indications;
[0688] - At least one physical property simulating an external object;
[0689] - Sensor conditions.
[0690] At least one probability uncertainty distribution can be used to model multiple cooperative sensing components of a sensing system.
[0691] It is possible that only a portion of the sensing system is modeled by at least one probability uncertainty distribution, and at least a second sensing component of the sensing system can be applied to the real-world sensing output to provide a second sensing output for making the decision.
[0692] The second sensing component can be a fusion component, such as a Bayesian or non-Bayesian filter.
[0693] The method may include the following steps: analyzing changes in the state of a simulated robot to detect instances of unsafe behavior in the simulated robot state and determining the cause of the unsafe behavior.
[0694] Instances of unsafe behavior can be detected based on a predefined set of acceptable behavior rules applied to simulated scenarios and simulated robot states.
[0695] The method may include the following steps: modifying the planner and / or (one or more) sensing components to mitigate the causes of unsafe behavior.
[0696] The third aspect of this paper provides a computer implementation method for training a statistical performance model of perception (PSPM), wherein the PSPM models the uncertainty in the perception output computed by perception slices of the runtime stack of a robotic system, the method comprising:
[0697] Perceptual slices are applied to the outputs of multiple training sensors, thereby computing a training perceptual output for each sensor output, wherein each training sensor output is associated with a set of one or more confounding factors representing one or more physical conditions that captured the training sensor output; and
[0698] The PSPM is trained using the training perception output, wherein the trained PSPM provides a probabilistic perception uncertainty distribution of the form p(e|t,c), where p(e|t,c) represents the probability of computing a specific perception output e given a perception ground reality t and a set of one or more confounding factors c, and the confounding factors c are variables of the trained PSPM, to which p(e|t,c) depends.
[0699] The method may further include: comparing each of the sensing outputs with the associated sensing ground reality to compute a set of sensing errors, which is used to train the PSPM.
[0700] Manual ground condition input can be used to determine the perceived ground condition.
[0701] Offline processing can be used to automatically or semi-automatically determine the real-time situation on the perceived ground.
[0702] The method may include the following steps: analyzing a trained PSPM for confounding factor c, and retraining the PSPM for a new set of one or more confounding factors c' in response to the trained PSPM, such that the probability-aware uncertainty distribution of the retrained PSPM takes the form p(e|t,c').
[0703] A new set of confounding factors c' can be determined by adding at least one confounding factor considered to be statistically significant to c and / or removing at least one confounding factor indicated by analysis to be not statistically significant from c.
[0704] The fourth aspect of this paper provides a Perceptual Statistical Performance Model (PSPM) implemented in a computer system for modeling perceptual slices of the runtime stack of a robotic system, and is configured as follows:
[0705] Receive and calculate the perceived ground condition t;
[0706] Based on the set of learned parameters, a probabilistic perception uncertainty distribution of the form p(e|t) and p(e|t,c) is determined from the perceived ground reality t, where p(e|t,c) represents the probability of calculating a specific perception output e for a perception slice given the calculated perceived ground reality t and one or more confounding factors c, and the probabilistic perception uncertainty distribution is defined over the range of possible perception outputs. The parameters are learned from the set of actual perception outputs generated using the perception slice to be modeled, where each confounding factor is a variable of PSPM, the value of the variable characterizes the physical conditions, and p(e|t,c) depends on the variable.
[0707] Another aspect of this article provides a computer program for programming one or more computers to implement any of the methods or functions described herein.
[0708] It should be understood that the various embodiments of the present invention have been described by way of example only. The scope of the present invention is not limited by the described embodiments, but only by the appended claims.
Claims
1. A computer system for testing and / or training a runtime stack of a robotic system, the computer system comprising: A simulator configured to run a simulated scenario in which a simulated subject interacts with one or more external objects; A runtime stack planner configured to make autonomous decisions for each simulation scenario based on a time series of perception outputs computed for the simulation scenario; and A runtime stack controller, configured to generate a series of control signals to cause the simulated agent to perform the autonomous decision as the simulated scenario progresses; The computer system is configured to calculate each sensing output by performing the following operations: The perceived ground condition t is calculated based on the current state of the simulated scenario; The Statistical Performance Model for Perception (PSPM) is applied to the perceived ground reality t and one or more confounding factors c associated with the simulated scenario to determine the probabilistic perception uncertainty distribution; and The perception output is sampled from the probability-perceived uncertainty distribution; The PSPM is used to model perceptual slices of the runtime stack and is configured to determine the probabilistic perceptual uncertainty distribution based on a set of parameters learned from the actual perceptual output set generated using the perceptual slices to be modeled; and The probabilistic perception uncertainty distribution is in the form of p(e|t,c), where p(e|t,c) represents the probability of calculating a specific perception output e for the perception slice given the calculated perception ground reality t and the one or more confounding factors c. The probabilistic perception uncertainty distribution is defined over a range of possible perception outputs, where each confounding factor is a variable of the PSPM, the value of which characterizes the physical conditions applicable to the simulation scenario, and p(e|t,c) depends on the variable.
2. The computer system according to claim 1, wherein, The one or more confounding factors c include one or more of the following confounding factors, which at least partially determine the probability uncertainty distribution of sampling the perceived output: The occlusion level of at least one of the external objects; One or more lighting conditions; Indicators of time of day; One or more weather conditions; Seasonal indications; The physical characteristics of at least one of the external objects; Sensor conditions; The number or density of the external objects; The distance between the two external objects; The truncation level of at least one of the external objects; The type of at least one of the objects; as well as An indication of whether at least one of the external objects corresponds to any external object from an earlier point in the simulated scenario.
3. The computer system according to claim 1 or 2, comprising: A scenario evaluation component is configured to evaluate the behavior of the simulated agent in each simulated scenario by applying a predetermined set of rules.
4. The computer system according to claim 3, wherein, At least some of the predetermined rules are related to security, and the scenario evaluation component is configured to evaluate the security of the behavior of the simulated subject in each of the simulated scenarios.
5. The computer system according to claim 4, wherein, The scenario evaluation component is configured to automatically flag instances of unsafe behavior by the simulated subject for further analysis and testing.
6. The computer system according to claim 4 or 5, wherein, The computer system is configured to rerun a simulated scenario in which the simulated subject initially exhibited unsafe behavior, based on a time series of perceived ground realities determined for the rerun scenario, without applying the PSPM to those perceived ground realities, thus eliminating perception errors; and to assess whether the simulated subject still exhibits unsafe behavior in the rerun scenario.
7. The computer system according to claim 1, wherein, The sampling from the probability-perceived uncertainty distribution is uneven and biased towards the perception output with lower probability.
8. The computer system according to claim 1, wherein, The planner is configured to make the autonomous decision based on a second time series of the perception output, wherein the PSPM is a first PSPM, and the computer system is configured to compute the second time series of the perception output using a second PSPM modeled on a second perception slice of the runtime stack, wherein the first PSPM learns from the first sensor modality and time series data of the perception slice, and the second PSPM learns independently from the second sensor modality and second time series data of the second perception slice.
9. The computer system according to claim 1, wherein, The planner is configured to make the autonomous decision based on a second time series of the sensing output, the time series and the second time series corresponding to a first sensor mode and a second sensor mode, respectively, wherein the modeled sensing slice is configured to process sensor inputs from both sensor modes and to compute the two time series by applying the PSPM, which learns from the data of the two sensor modes to model any correlations between them within the sensing slice.
10. The computer system according to claim 8, wherein, The computer system is configured to apply at least one unmodeled sensing component of the runtime stack to the sensing output to compute a processed sensing output, and the planner is configured to make the autonomous decision based on the processed sensing output.
11. The computer system according to claim 10, wherein, The unmodeled sensing component is a filtering component applied to the time series of the sensing output, and the processed sensing output is the filtered sensing output.
12. The computer system according to claim 11, wherein, The filtering component is used to fuse the time series of the sensing output of the first sensor mode with the second time series of the sensing output.
13. The computer system according to claim 8, wherein, The first sensor mode is one of stereo imaging, lidar, and radar, and the second sensor mode is another of stereo imaging, lidar, and radar.
14. The computer system according to claim 1, wherein, The modeled perceptual slice includes at least one filtering component, and the PSPM includes a time dependency model for modeling the time dependency of the filtering component.
15. The computer system according to claim 14, wherein, The time-dependent model is a hidden Markov model.
16. The computer system of claim 1, further comprising a scene blurring component configured to generate at least one blurred scene for operation in the simulator by blurring at least one existing scene.
17. The computer system according to claim 16, wherein, The scene evaluation component is configured to evaluate the behavior of the simulated subject in each simulated scene by applying a predetermined set of rules, and the scene blurring component is configured to generate a blurred scene based on the analysis results of the simulated subject's behavior in the existing scene.
18. The computer system according to claim 1, wherein, To model false negative detection, the probability-aware uncertainty distribution provides the probability of successfully detecting a visible object among the objects. This probability is used to determine whether to provide an object detection output for the object, which is visible when it is within the sensor's field of view of the simulated subject in the simulated scene, thus the detection of the visible object cannot be guaranteed.
19. The computer system according to claim 1, wherein, To model false positive detection, a probability uncertainty distribution provides the probability of false object detection, which is used to determine whether to provide a perceptual output for a non-existent object.
20. The computer system according to claim 1, wherein, Ray tracing is used to calculate the perceived ground reality for the one or more external objects.
21. The computer system of claim 1, wherein the computer system is configured to run the same simulation scenario multiple times using different confounding factors.
22. The computer system according to claim 1, wherein, At least one of the external objects is a mobile actor, the computer system includes a prediction stack of the runtime stack configured to predict the behavior of the external actor based on the perception output, and the planner is configured to make autonomous decisions based on the predicted behavior.
23. The computer system of claim 1, wherein the computer system is configured to record details of each simulated scenario in a test database, wherein, The details include the decisions made by the planner, the perceptual outputs on which those decisions are based, and the behavior of the simulated agent in executing those decisions.
24. The computer system according to claim 1, wherein, The one or more confounding factors c include: at least one latent variable of at least one actor in the simulated scenario.
25. The computer system according to claim 24, wherein, The at least one latent variable includes: at least one intentional variable and / or at least one other variable used to simulate the behavior of the actor in the simulated scenario.
26. The computer system according to claim 1, wherein, The PSPM includes a time-dependent model, such that the perception output sampled at the current time depends on the earlier perception output sampled at the previous time.
27. The computer system according to claim 1, wherein, The perceived ground situation t is related to multiple external objects, such that p(e|t,c) depends on the multiple external objects.
28. A method for testing the performance of a robot planner and a perception system, the method comprising: The simulation scenario is run in the simulator, where the state of the simulated robot changes according to autonomous decisions made by the robot planner based on the reality perception output calculated for each simulation scenario; For each simulated scenario, at least one probabilistic uncertainty distribution is received for modeling at least one sensing component of the sensing system. This at least one probabilistic uncertainty distribution is determined based on statistical analysis of actual sensing outputs derived by applying the at least one sensing component to inputs directly or indirectly obtained from one or more sensor components. The probabilistic uncertainty distribution varies according to one or more confounding factors selected for the simulated scenario, each of which is a variable whose value characterizes the physical conditions applicable to the simulated scenario. The reality perception output is modeled based on the actual perception output provided by at least one sensing component in the simulated scene, but the reality perception output is calculated without applying the at least one sensing component to the simulated scene and without simulating the one or more sensor components, but rather through: (i) Based on the simulated scenario and the simulated robot state, directly calculate the perceived ground condition of the at least one sensing component, and (ii) Modify the perceived ground reality according to the at least one probability uncertainty distribution to calculate the reality perception output.
29. The method according to claim 28, wherein, The one or more confounding factors include one or more of the following: - At least one occlusion level simulating an external object; - One or more lighting conditions; - An indication of the time of day; - One or more weather conditions; - Seasonal indications; - At least one physical property simulating an external object; - Sensor conditions.
30. The method according to claim 28 or 29, wherein, The at least one probability uncertainty distribution is used to model multiple cooperative sensing components of the sensing system.
31. The method according to claim 28 or 29, wherein, The perception system is modeled only for a portion of the system by the at least one probability uncertainty distribution, and at least a second perception component of the perception system is applied to the real-world perception output to provide a second perception output for making the decision.
32. The method according to claim 31, wherein, The second sensing component is a fusion component, such as a Bayesian or non-Bayesian filter.
33. The method according to claim 28, 29 or 32, comprising the following steps: Analyze the changes in the state of the simulated robot to detect instances of unsafe behavior in the simulated robot state and determine the cause of the unsafe behavior.
34. The method according to claim 33, wherein, Instances of unsafe behavior are detected based on a predefined set of acceptable behavior rules applied to the simulated scenario and the simulated robot state.
35. The method of claim 34, comprising the following steps: Modify the planner and / or the sensing component to mitigate the causes of the unsafe behavior.
36. A computer implementation method for training a perceptual statistical performance model (PSPM), wherein, The PSPM models the uncertainty in the perception output calculated from perception slices of the robot system's runtime stack, and the method includes: The perception slice is applied to the outputs of multiple training sensors to compute a training perception output for each sensor output, wherein each training sensor output is associated with a set of one or more confounding factors that perceive the ground reality and characterize one or more physical conditions that capture the training sensor output; The PSPM is trained using the training perception output, wherein the trained PSPM provides a probabilistic perception uncertainty distribution of the form p(e|t,c), where p(e|t,c) represents the probability of computing a specific perception output e given a perception ground reality t and a set of one or more confounding factors c, the confounding factors c being variables of the trained PSPM, and p(e|t,c) depending on the variables.
37. The method of claim 36, further comprising: Each of the perception outputs is compared with the associated perceived ground reality to calculate a set of perception errors, which is used to train the PSPM.
38. The method according to claim 37, wherein, Manual ground condition input was used to determine the perceived ground condition.
39. The method according to claim 36, 37 or 38, wherein, The perceived ground condition is determined automatically or semi-automatically using offline processing.
40. The method according to claim 36, 37 or 38, comprising the following steps: The trained PSPM is analyzed for the confounding factor c, and in response to the trained PSPM, the PSPM is retrained for a new set of one or more confounding factors c', such that the probability-aware uncertainty distribution of the retrained PSPM takes the form p(e|t,c').
41. The method according to claim 40, wherein, A new set of confounding factors c' is determined by adding at least one confounding factor considered to be statistically significant to c and / or removing at least one confounding factor indicated by analysis to be not statistically significant from c.
42. The method according to claim 36, 37, 38 or 41, wherein, The confounding factor c is selected using a relief-based method.
43. The method according to claim 36, 37, 38 or 41, wherein, The PSPM is in the form of a function approximator, which receives the confounding factor c as input to the perceived ground condition t and outputs the parameters of the distribution p(e|t,c).
44. The method according to claim 43, wherein, The PSPM has a neural network architecture.
45. A computer system including a perceptual statistical performance model (PSPM), the PSPM being used to model perceptual slices of the runtime stack of a robotic system, and configured to: Receive and calculate the perceived ground reality t; Based on the set of learning parameters, a probabilistic perception uncertainty distribution of the form p(e|t,c) is determined from the perceived ground reality t, where, p(e|t,c) represents the probability of calculating a specific sensing output e given the calculated sensing ground condition t and the one or more confounding factors c, and the probability sensing uncertainty distribution is defined over a range of possible sensing outputs, with parameters learned from the set of actual sensing outputs generated using the sensing slice to be modeled, where each confounding factor is a variable of the PSPM, the value of which characterizes the physical conditions, and p(e|t,c) depends on the variables.
46. A computer-readable medium comprising instructions that, when executed by a computing system, implement the method of any one of claims 28-35 or the method of any one of claims 36-44.
Citation Information
Patent Citations
Autonomous vehicle manoeuvres
GB201816852D0