A visual analysis system for diagnosing and improving deep learning models for moving objects in autonomous driving.

The visual analysis system addresses the challenge of evaluating semantic segmentation models in autonomous driving by using context-aware spatial representation and adversarial learning to generate unobserved objects, enhancing model accuracy and robustness through interactive analysis.

JP7845975B2Active Publication Date: 2026-04-14ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing systems for autonomous driving struggle to thoroughly evaluate and diagnose the accuracy and robustness of semantic segmentation models, particularly in identifying and understanding potential vulnerabilities and failures in detecting critical objects, especially in unobserved scenarios.

Method used

A visual analysis system using context-aware spatial representation and spatial adversarial learning to generate unobserved objects, allowing for interactive human-in-the-loop analysis to assess and improve the performance of object detection models.

Benefits of technology

Enhances the ability to identify and address model weaknesses, improving the accuracy and robustness of semantic segmentation models in autonomous driving by generating actionable insights through interactive visual tools.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007845975000006
    Figure 0007845975000006
  • Figure 0007845975000007
    Figure 0007845975000007
  • Figure 0007845975000008
    Figure 0007845975000008
Patent Text Reader

Abstract

To disclose systems and methods for diagnosing an object-detecting machine learning model for autonomous driving.SOLUTION: An input image is received from a camera mounted in or on a vehicle that shows a scene. A spatial distribution of movable objects within the scene is derived using a context-aware spatial representation machine learning model. An unseen object is generated in the scene that is not originally in the input image utilizing a spatial adversarial machine learning model. Via the spatial adversarial machine learning model, the unseen object is moved to different locations to fail the object-detecting machine learning model. An interactive user interface enables a user to analyze performance of the object-detecting machine learning model with respect to the scene not including the unseen object and the scene including the unseen object.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a visual analysis system for diagnosing and improving deep learning models for moving objects in autonomous driving. [Background technology]

[0002] background Autonomous driving allows vehicles to detect their environment and move safely with little or no human input. Many systems enable autonomous driving. One such system is semantic segmentation. Semantic segmentation involves acquiring images from cameras mounted inside or on the vehicle, dividing the input image into multiple semantically significant regions at the pixel level, and assigning semantic labels such as pedestrians, passenger cars, and roads to each region. [Overview of the project] [Problems that the invention aims to solve]

[0003] Deep convolutional neural networks (CNNs) are increasingly playing a crucial role in recognition systems for autonomous driving, including object detection and semantic segmentation. While CNNs offer excellent performance, safety concerns necessitate a thorough evaluation of model accuracy and robustness before deployment in autonomous vehicles. On the one hand, model accuracy should be analyzed using numerous semantic classes and data sources with respect to objects to fully understand when and why the model is likely to fail. On the other hand, identifying and understanding potential vulnerabilities in the model is crucial to improving its robustness against unobserved driving scenarios. [Means for solving the problem]

[0004] overview According to one embodiment, a computer-implemented method is provided for diagnosing an object detection machine learning model for autonomous driving. The computer-implemented method includes the steps of: receiving an input image representing a scene from a camera; using a context-aware spatial representation machine learning model to derive the spatial distribution of movable objects in the scene; using a spatial adversarial machine learning model to generate unobserved objects in the scene that are not present in the input image; moving the unobserved objects to various different locations via the spatial adversarial machine learning model in order to cause the object detection machine learning model to fail; and outputting an interactive user interface so that the user can analyze the performance of the object detection machine learning model for scenes without unobserved objects and scenes with unobserved objects.

[0005] According to one embodiment, a system is provided for diagnosing an object detection machine learning model for autonomous driving using human-in-the-loop technology. The system includes a user interface. The system includes a memory that stores an input image showing a scene outside the vehicle received from a camera, further storing program instructions corresponding to a context-aware spatial representation machine learning model configured to identify spatial information of objects in the scene, and further storing program instructions corresponding to a spatial adversarial machine learning model configured to generate unobserved objects and insert them into the scene. The system includes a processor communicatively coupled to the memory, which is programmed to generate a semantic mask of the scene by semantic segmentation, use the context-aware spatial representation machine learning model to identify the spatial distribution of movable objects in the scene based on the semantic mask, use the spatial adversarial machine learning model to generate unobserved objects in the scene that do not exist in the input image, use the spatial adversarial machine learning model to move the unobserved objects to various different locations in order to cause the object detection machine learning model to fail, and output a visual analysis on the user interface so that the user can analyze the performance of the object detection machine learning model for scenes without unobserved objects and scenes with unobserved objects.

[0006] According to one embodiment, the system includes a memory that stores (i) an input image showing a scene outside the vehicle received from a camera, (ii) a semantic mask associated with the input image, (iii) program instructions corresponding to a context-aware spatial representation machine learning model configured to identify spatial information of objects in the scene, and (iv) program instructions corresponding to a spatial adversarial machine learning model configured to generate unobserved objects and insert them into the scene. The system includes one or more processors that communicate with the memory and are programmed to encode the coordinates of movable objects in the scene into latent space via the context-aware spatial representation machine learning model, and to reconstruct the coordinates using a decoder to identify the spatial distribution of movable objects. The one or more processors are further programmed to generate unobserved objects in the scene that are not present in the input image by (i) sampling the latent space coordinates of a portion of the scene and mapping bounding boxes, (ii) retrieving objects with similar bounding box coordinates from memory, and (iii) placing the objects within the bounding boxes, via the spatial adversarial machine learning model. One or more processors are further programmed to move unobserved objects to various different locations during trials, using a spatial adversarial machine learning model, in order to cause the object detection machine learning model to fail. One or more processors are further programmed to output a visual analysis on the user interface so that the user can analyze the performance of the object detection machine learning model for scenes without unobserved objects and for scenes with unobserved objects. [Brief explanation of the drawing]

[0007] [Figure 1] This is a schematic diagram of a system that implements a visual analysis tool and the underlying machine learning model according to one embodiment. [Figure 2]Schematic diagram of a machine learning model for generating a prediction mask from an input image according to one embodiment. [Figure 3] Schematic diagram of a system configured to diagnose and improve the accuracy and robustness of a semantic segmentation model for a movable object according to one embodiment. [Figure 4] Schematic diagram of a context-aware spatial representation machine learning model according to one embodiment. [Figure 5] Schematic diagram of a spatial adversarial machine learning model according to one embodiment. [Figure 6] Schematic diagram of a system configured to output a MatrixScape view or region on a user interface according to one embodiment. [Figure 7] Performance landscape diagram of a semantic segmentation model for an urban driving scene as an example of a visible MatrixScape view on a user interface according to one embodiment. [Figure 8] Comparison of two datasets, i.e., a block view of the comparison between a training dataset or an original dataset and an adversarial dataset in this case, and each block is expandable for the observation of the image represented by the block according to one embodiment. [Figure 9] Flowchart of a method or algorithm implemented by a processor disclosed in this specification.

Mode for Carrying Out the Invention

[0008] Detailed Description Embodiments of the present disclosure are described herein. However, it should be understood that the embodiments disclosed are merely examples and that various alternative forms may be possible as other embodiments. The drawings are not necessarily drawn to scale, and some features are exaggerated or reduced in order to show details of certain components. Accordingly, certain structural and functional details disclosed herein should not be construed as limitations, but rather as merely representative grounds for teaching various uses of the embodiments to those skilled in the art. As will be understood to those skilled in the art, various features illustrated and described with reference to any one of the drawings may be combined with features shown in one or more other drawings to constitute embodiments not expressly illustrated or described. Combinations of illustrated features provide representative embodiments for typical uses. Various combinations and modifications of features consistent with the teachings of the present disclosure may be desirable for a particular use or implementation.

[0009] Autonomous vehicles need to recognize and understand the driving scene in order to make appropriate decisions. Semantic segmentation is commonly used in autonomous driving systems to recognize the driving area and detect important objects on the road, such as pedestrians, passenger cars, and others. Semantic segmentation can be used with various techniques (i.e., not just image techniques), but this disclosure focuses on semantic segmentation of image data, which divides an image (e.g., acquired from a camera mounted inside or on the vehicle) into multiple semantically significant regions at the pixel level and classifies each segment into a class (e.g., road, pedestrian, vehicle, passenger car, building, etc.). Figure 1 shows an example of semantic segmentation in operation. An input image is fed into one or more machine learning models, which output a predictive mask. A predictive mask is an image used to divide the various items observed in the input image into multiple segments and classify each segment into a class. Similar classes can be colored or shaded with similar colors or shades. Semantic segmentation allows autonomous vehicle systems to better understand objects around the vehicle, enabling them to control the vehicle for driving safety.

[0010] Current visual analysis solutions for autonomous driving primarily focus on object detection, and semantic segmentation models have not been extensively studied in this area. Evaluating and diagnosing when and why semantic segmentation models fail to detect critical objects is challenging. Typically, large datasets exist to test, making it difficult to quickly identify failure cases, particularly in relation to scene context, and diagnose the root causes of these failures. For example, pedestrians may be overlooked by semantic segmentation models because they wear clothing similar in color to traffic cones within their context. Furthermore, while models can observe most objects within their normal context, such as pedestrians in open areas and on sidewalks, there may be context-dependent locations they haven't previously observed; for instance, a person between a truck and a post might not be detected by a semantic segmentation model. Identifying these potential risks and evaluating the spatial robustness of object detectors for these edge cases is difficult.

[0011] Deep convolutional networks (CNNs) are increasingly playing a crucial role in recognition systems for autonomous driving, such as object detection and semantic segmentation. Despite their excellent performance, safety concerns necessitate thorough evaluation of CNNs before deployment in autonomous vehicles. For this purpose, visual analysis is widely used to analyze, interpret, and understand the complex behavior of CNNs. Several visual analysis approaches have been proposed to analyze CNNs, primarily focusing on model interpretation and diagnostics. The goal of model interpretation is to unlock the CNN's black box by directly visualizing neurons and feature maps, or by utilizing explainable alternative models (e.g., linear models). Model diagnostics focus on evaluating and understanding the model's performance by summarizing and comparing its prediction results and analyzing potential vulnerabilities.

[0012] In embodiments disclosed herein, the system first learns context-aware spatial representations of objects, such as position, size, and aspect ratio, from a given driving scene. These spatial representations enable the system to (1) estimate the distribution of spatial information (e.g., possible positions, sizes, and aspect ratios) of objects in various driving scenes, (2) summarize and interpret the model's performance regarding the spatial information of objects, and (3) generate new test cases by appropriately inserting new objects into the driving scene, taking the scene's context into account. In this embodiment, the system also efficiently generates unobserved test cases by perturbing or modifying the position and size of objects in the learned spatial representations using adversarial learning. Next, a visual analysis system visualizes and analyzes the model's performance across both natural and adversarial data, deriving actionable insights to improve the model's accuracy and spatial robustness. All of this is done within a human-operable interactive visual analysis system.

[0013] More specifically, and as will be further explained later with reference to the drawings, a visual analysis system for evaluating, interpreting, and improving semantic segmentation models for detecting critical objects in autonomous driving is disclosed below. The visual analysis system uses context-aware representation learning (Figure 4) to learn the spatial distribution of movable objects in a given scene. The model learns spatial information by encoding bounding box coordinates into a low-dimensional latent space and reconstructing the boxes by a decoder. The system also uses a semantic mask as a conditional input to force the spatial distribution to depend on the scene context. Thus, the latent dimension captures the interpretable spatial distribution of movable objects. This helps provide the user with a visual tool that assists in the visual understanding of information about objects, such as their position (e.g., from left to right, or near to far). This also helps in interpreting the overall performance of the objects. As will be explained below, the system also includes a spatial adversarial machine learning model (Figure 5) for testing the robustness of the model by generating unobserved objects at various positions within a single context. Given a driving scene, the system can generate another movable object and cause the detector to fail due to a small, significant change in its position. This can be done by sampling the object's possible positions from a spatial latent space. These positions are adjusted on a given scene mask. The latent dimension can be modified so that a new position is generated that can cause the detector to fail. Adversarial gradient estimation can achieve this. The minimum amount of change across the latent dimension can indicate spatial robustness. Using the original data and the generated adversarial data, the visual analysis system can generate a user interface that allows humans to analyze and improve the semantic segmentation model (Figures 6 to 8). These figures are described in more detail below.

[0014] Figure 1 shows an overall system 100 configured to implement the system disclosed herein, which includes a visual analysis tool and an underlying machine learning model. System 100 may include at least one computing system 102. Computing system 102 may include at least one processor 104 operably connected to a memory unit 108 or memory. Processor 104 may include one or more integrated circuits implementing the functions of a central processing unit (CPU) 106. CPU 106 may be a commercially available processing unit implementing one instruction set, such as x86, ARM, Power, or MIPS instruction set families. During operation, CPU 106 can execute program instructions stored in and retrieved from the memory unit 108. Stored program instructions may include software that controls the operation of CPU 106 to perform the operations described herein. In some examples, processor 104 may be a system-on-a-chip (SoC) that integrates the functions of CPU 106, memory unit 108, network interface, and input / output interface into a single integrated device. The computing system 102 can implement an operating system that manages various types of operations.

[0015] The memory unit 108 may include volatile and non-volatile memory for storing instructions and data. Non-volatile memory may include solid-state memory, such as NAND flash memory, magnetic storage media and optical storage media, or any other suitable data storage device that retains data when the computing system 102 is inactive or loses power. Volatile memory may include static random-access memory and dynamic random-access memory (RAM) for storing program instructions and data. For example, the memory unit 108 may store a machine learning model 110 or algorithm, a training dataset 112 for the machine learning model 110, and a raw-source dataset 115.

[0016] The computing system 102 may include a network interface device 122 configured to provide communication with external systems and devices. For example, the network interface device 122 may include a wired and / or wireless Ethernet interface as defined by the IEEE (Institute of Electrical and Electronics Engineers) 802.11 standard family. The network interface device 122 may also include a cellular communication interface for communicating with cellular networks (e.g., 3G, 4G, 5G). The network interface device 122 may further be configured to provide a communication interface to an external network 124 or the cloud.

[0017] The external network 124 may be referred to as the World Wide Web or the Internet. The external network 124 can establish standard communication protocols between computing devices. The external network 124 can enable the easy exchange of information and data between computing devices and the network. One or more servers 130 can communicate with the external network 124. One or more servers 130 may have memory and processors configured to implement the system disclosed herein.

[0018] The computing system 102 may include an input / output (I / O) interface 120 configured to provide digital and / or analog inputs and outputs. The I / O interface 120 may include an additional serial interface (e.g., a Universal Serial Bus (USB) interface) for communicating with external devices.

[0019] The computing system 102 may include a human-machine interface (HMI) device 118, which may include any device that enables system 100 to receive control inputs. Examples of input devices may include human interfaces such as keyboards, mice, touchscreens, voice input devices, and other similar devices. The computing system 102 may include a display device 132. The computing system 102 may include hardware and software for outputting graphics and text information to the display device 132. The display device 132 may include an electronic display screen, a projector, a printer, or other suitable device for displaying information to a user or operator, and the machine learning model is diagnosed through interaction via the visual analysis system by the user acting as a human-in-the-loop operator. Furthermore, the computing system 102 may be configured to enable interaction between a remote HMI and a remote display device via a network interface device 122. Collectively, the HMI 118 and the display 132 can provide the user with a user interface (e.g., a visual component to the analysis system), thereby enabling interaction between the human user and the processor 104.

[0020] System 100 can be implemented using one or more computing systems. While this example shows a single computing system 102 that implements all the features described, it is intended that various features and functions may be implemented by separating them into multiple computing units that communicate with each other. The specific system architecture chosen may depend on various factors, and the system shown in Figure 1 is merely an example.

[0021] System 100 may implement a machine learning algorithm 110 configured to analyze a raw-source dataset 115. The raw-source dataset 115 may include raw sensor data or unprocessed sensor data, or image data capable of representing an input dataset for a machine learning system. The raw-source dataset 115 may include video, video segments, still images, text-based information, and raw or partially processed sensor data (e.g., radar maps of objects). In some examples, the machine learning algorithm 110 may be a neural network algorithm designed to perform a predetermined function. For example, the neural network algorithm can be configured in an automotive application to identify items (e.g., pedestrians, signs, buildings, sky, roads, etc.) in an image or sequence of images (e.g., video) and to annotate the image, including labels for these items. The machine learning algorithm 110 may rely on or include a CNN (e.g.) to perform these functions.

[0022] The computer system 100 can store a training dataset 112 for the machine learning algorithm 110. The training dataset 112 may represent a previously constructed dataset for training the machine learning algorithm 110. The training dataset 112 is available to the machine learning algorithm 110 for learning the weight coefficients associated with the neural network algorithm. The training dataset 112 may include a set of source data having corresponding outcomes or results that the machine learning algorithm 110 has attempted to replicate through the learning process. In this example, the training dataset 112 may include source still images or source videos that have or do not have items in the scene, as well as source still images or source videos that have or do not have information about the presence or absence and location of the corresponding items.

[0023] The machine learning algorithm 110 can be operated in a learning mode using the training dataset 112 as input. The machine learning algorithm 110 can be run over multiple iterations using data from the training dataset 112. With each iteration, the machine learning algorithm 110 can update its internal weighting coefficients based on the results achieved. For example, the machine learning algorithm 110 can compare its output results (e.g., annotations, latent variables, adversarial noise, etc.) to those contained in the training dataset 112. Since the training dataset 112 contains the expected results, the machine learning algorithm 110 can determine a point at which its performance is acceptable. After the machine learning algorithm 110 has achieved a predetermined level of performance (e.g., 100% agreement with the results associated with the training dataset 112), the machine learning algorithm 110 can be run using data that is not present in the training dataset 112. The trained machine learning algorithm 110 can be applied to a new dataset for generating annotated data.

[0024] Figure 3 provides an overview of a visual analysis system 300 configured to diagnose and improve the accuracy and robustness of a semantic segmentation model for movable objects. Generally, system 300 includes both a context-aware spatial adversarial machine learning model and a spatial adversarial machine learning model to generate an interactive visual analysis system. System 300 uses original data 302, which includes ground truth bounding boxes placed on detected objects and corresponding masks created from the original data according to the method described herein. System 300 uses a context-aware representation learning model 304 to learn the spatial distribution of movable objects in a given scene. System 300 also uses a spatial adversarial machine learning model 306 that generates unobserved objects at various locations in the context (e.g., adversarial data 308) to test the robustness of the model. Using the original data 302 and the generated adversarial data 308, system 300 generates an interactive visual analysis user interface 310 that allows the user to analyze and improve the human-in-the-loop semantic segmentation model with respect to the entire system 300. The context-aware spatial adversarial machine learning model 304, the spatial adversarial machine learning model 306, and the interactive visual analysis user interface 310 are described in detail below.

[0025] The context-aware spatial adversarial machine learning model 304 is shown in detail in Figure 4. The context-aware spatial adversarial machine learning model 304 learns spatial information by first encoding bounding box coordinates into a low-dimensional latent space (e.g., via an encoder), and then reconstructing the box using a decoder. In particular, model 304 is configured to extract latent representations of spatial information (position, size, and aspect ratio, etc.) of movable objects, conditionally based on a given driving scene. The conditionally variable autoencoder (CVAE) has two main components, namely the encoder e θ and decoderd φ It includes and is configured to perform context-aware spatial representation learning, where θ and φ are the weights of the respective deep neural networks. Given an object in a driving scene, its bounding box

number

number

[0026] In one embodiment, the CVAE is trained using two losses, a reconstruction loss l r and a latent loss l l which includes. The reconstruction loss is used to measure the difference between the input bounding box b i and the reconstructed bounding box

number

number

number

[0027] After training, the encoder and decoder can be used for data summarization and generation. The encoder can map each bounding box to a latent vector 402 that captures its spatial information in relation to the driving scene, e.g., position and size. The dimensions of the latent vector also have semantic meaning, such as left to right, near to far, and small to large. This is shown in 312 as an example that may be provided within or as part of the interactive visual analysis user interface 310, where the y-axis may be a first latent dimension representing how close or far an object is, and the x-axis may be a second latent dimension representing left to right. The latent vector is used to summarize the performance of the semantic segmentation model with respect to the spatial information of the object. Given a sample extracted from the latent space, the decoder can generate possible positions and sizes of the object in a given driving scene (e.g., bounding boxes shown in mask 404), which are used to guide the generation of adversarial examples for robustness testing.

[0028] Returning to Figure 3, with respect to the spatial adversarial machine learning model 306, the goal of the spatial adversarial machine learning model 306 is as follows: given a driving scene, it is possible to generate another movable object that causes the detector to fail by changing the adversarial example at its location, based on the learned spatial representation, for the purpose of testing and improving the robustness of the semantic segmentation model. The adversarial example can be generated by two steps: (1) appropriately inserting a new object into the driving scene in a semantically consistent manner, and (2) perturbing the latent representation to deceive the target model through adversarial learning by adjusting the spatial transformations (e.g., position and size) of the object in the scene. These two steps are shown in Figure 5, which is a more detailed view of the spatial adversarial machine learning model 306. In particular, the first step (e.g., object insertion 502) involves obtaining the context-aware location of an object by sampling the learned spatial latent space and inserting a new object. The second step (for example, spatial adversarial learning 504) involves perturbing the position and size of objects to cause the model to fail by searching the latent space using adversarial learning.

[0029] Regarding object insertion 502, given a driving scene, the system appropriately inserts new objects into the scene for adversarial search. Existing objects are not modified or moved within the scene to avoid the generation of unwanted artifacts. To fit the inserted objects to the scene semantics (e.g., pedestrians should not be placed in the sky), learned spatial representations are used to sample possible positions. For example, as shown in step 502, first sample z i It is extracted from the latent space and coded φ and target driving scene x i Semantic segmentation mask m i Using and bounding box b iIt is then mapped to. Next, all the training data (stored in memory as described herein) is searched and the generated box b i The object with the most similar bounding box containing is found, and the extracted object has bounding box b i The object is scaled and translated to fit the scene. The reason for selecting an object with a similar bounding box is to maintain the object's fidelity after scaling and translation. To seamlessly blend the new object into the driving scene, Poisson blending can be used to match the object's color and lighting to the surrounding context. On the other hand, Gaussian blur can be applied to the object's border to reduce boundary artifacts.

[0030] Regarding spatial adversarial learning 504, this is done to appropriately and efficiently move objects inserted into the scene, thereby causing the overall object detection machine learning model to fail to accurately detect the objects. The idea is to perturb the spatial latent representation of the inserted object to find the fastest way to move this object and deceive the target model. Specifically, in one embodiment, bounding box b i object o i Driving scene x in which it is positioned i Given a new bounding box b' for the object's placement, the model f fails to accurately predict the segmentation of the transformed object. i Adversarial examples are generated by exploring them. To determine whether the model fails, the transformed object o' i New scene x' i Evaluate and create a new semantic segmentation mask m' i A comparison is then made with the transformed object o'. iThe model performance is calculated and compared to the model performance threshold. If the model performance is less than the model performance threshold, the model is considered to have failed.

[0031] New bounding box b' i To ensure that the result is semantically significant with respect to the driving scene, the system can perform adversarial searches in the latent space instead of directly manipulating the bounding box. The latent vector z' with minimal change generates adversarial examples. i To find this, the system can employ a black-box addition method so as not to require the architecture of the semantic segmentation model to be explicitly known. First, a gradient estimation approach is used with a natural evolution strategy to find the gradient direction in the latent space that degrades the model's performance at the fastest rate. Then, the latent vector z is calculated in predetermined step sizes until the model performance falls below a threshold. i The object can be moved repeatedly along the gradient direction. To blend the object into the driving scene while it is moving, simply apply a Gaussian blur. This is because the focus should be on the changes in the model's performance caused by changes in the object's spatial information, rather than on the color shifts caused by Poisson blending.

[0032] By using adversarial examples, the system can interpret the robustness of the target model. For this purpose, a spatial robustness score s is used. ri However, the latent vector z normalized by the standard deviation of each latent dimension i and z' i The mean absolute error between, i.e., s ri =|z i -z' i | / |z std | as each object o i It is defined for [a certain value]. This score captures the amount of change in the latent space required to cause the model to fail.

[0033] After data preprocessing (e.g., representation and adversarial learning), the system can collect original data (i.e., training, validation, and test data) and adversarial data along with model predictions to drive the user interface of a visual analysis system provided to the user. Specifically, for each object, its spatial information (e.g., bounding box, size, latent representation) is extracted, and performance metrics (e.g., model performance, ground truth class, and predicted class) are extracted. In one embodiment, each pixel of an object can be predicted as a different class, while the predicted class of an object is defined as the class with the maximum number of pixels. For adversarial learning, robustness and gradient direction can be extracted to analyze attack patterns.

[0034] Returning to Figure 3, using the original data 302 and the generated adversarial data 308, the system can present the user interface 310 of the visual analysis system to the user via the HMI device 118, display 132, etc. The user interface 310 shown in Figure 3 is an overview or schematic diagram of how the user interface may be displayed on the user's screen. Generally, there are three areas for interaction and user viewing, namely the summary area 320, the MatrixScape area 322, and the driving scene area 324, which are detailed below. Each of these areas can be provided on a single window or pane on the display 132, or each area can be moved or minimized so that the user can customize when and where each area is displayed on the user interface.

[0035] Summary area 320 contains a summary of the data structure and statistics of key object properties. The data shown may include the basic structure of the data, including data splits, instance classes, and models of interest. Furthermore, bar graphs are used to show histograms of key object properties, such as the size of the developed object (top graph), model performance (middle graph), and model robustness (bottom graph). Summary area 320 provides an overview of model performance and allows the user to filter the data for more detailed analysis in MatrixScape area 322. For example, the user can select various instance classes within the summary area (e.g., pedestrians, cars, trucks, buses, railway vehicles, buildings, etc.) and interact with and update the data displayed in MatrixScape area 322. The user can also refine the bar graphs for further filtering of the data by limiting the range of object size, model performance, and / or robustness.

[0036] The MatrixScape region 322 is illustrated in detail in Figures 6 and 7. The MatrixScape region 322 displays performance landscapes of numerous objects from various aspects of data attributes (Figure 6, region a) at various levels of detail (Figure 6, regions b and c). This view is designed to help users identify subsets of data of interest by comparing model performance across different semantic classes, data sources, and model versions, and to understand the model's performance with respect to the spatial information of objects within a context.

[0037] Figure 6 shows a schematic diagram of the design of a MatrixScape area 322 according to one embodiment. Objects having different types of attributes (a) based on different category attributes are first grouped and visualized as a matrix of blocks (b). These objects can be divided into multiple groups to provide an overview of the performance of objects with respect to user-selected category attributes, such as ground truth class / prediction class, data source, or model version. For example, while objects are grouped based on ground truth class (e.g., pedestrian, passenger car, etc.) and prediction class, the user can obtain a view of a confusion matrix of model performance (b1), where the size of each block represents the number of objects inside, and the color represents the average model performance or robustness score of the object. In a data / model comparison (b2) where ground truth classes are organized by data source or model, the user can compare the performance of models across various data sources or model versions. The user can also group objects based on a single category attribute and visualize the data distribution (b3). For example, as shown in (b3), the distribution of object classes can be obtained by grouping objects based on the ground truth class.

[0038] After the data blocks of interest in the matrix are identified, the user can highlight or select any box for a more detailed view. Figure 6 shows an example where the user selects the bottom right box (b1) of the confusion matrix representing the model performance of a given ground truth class and a given predictive class. The result is a MatrixScape view, which provides a more detailed view (c). The objects shown in the detail view are aggregated into bins based on numerical attributes (c1) such as learned latent representation, size, and model performance. Similar to the block view in (b), the user can change the numerical attributes to aggregate the objects. For example, the user can select two of the latent dimensions and aggregate the objects using the latent representations of the objects for these dimensions. After aggregation, the spatial pattern of model performance can be visualized by selecting representative objects for each bin and visualizing these objects using various visual encodings or representations, such as model performance or robustness (c3), image patches (c3), and semantic segmentation patches (c4). The user can define how representative objects are selected for each bin. Furthermore, when only one numerical attribute is used, the data distribution of the selected attribute can be visualized block by block (for example, in a histogram) (c5).

[0039] Figure 7 shows an example of a performance landscape view of a semantic segmentation model for an urban driving scene as an example of a MatrixScape view. Block view (a) is organized as a confusion matrix based on the ground truth and predicted classes of objects. In this embodiment, classes (both ground truth and predicted) include passenger cars, pedestrians, bicycles, riders, motorcycles, trucks, buses, buildings, railway vehicles, vegetation, roads, fences, poles, sidewalks, traffic signs, walls, terrain, traffic lights, and the sky. Of course, different classes, more classes, or fewer classes are also available depending on the system disclosed herein. The size of each block represents the number of objects in that block, and the color represents the average model performance or robustness score of the object. In this embodiment, the user selects a box to compare the ground truth class of a pedestrian with the predicted class of a pedestrian. By selecting this box, the user may be provided with a performance landscape of the individual objects visualized in detail view (b). In this embodiment, objects are aggregated based on two dimensions of a learned spatial representation so that their spatial distribution can be visualized and summarized. For example, the first dimension (latent dimension 1) represents the horizontal position of a pedestrian, and the other dimension (latent dimension 3) represents the distance from the pedestrian to the vehicle. Using different visual encodings, objects can be visualized, for example, as performance scores (shown in b), where each color represents the model performance, image patch (c), and semantic segmentation patch (d) in its latent dimension, making it easier for the user to understand the spatial pattern of the model performance. The user can hover over or select any block in the performance score matrix shown in (b), and the user interface can output a Street View of the image in which the object was detected, along with a bounding box around the object.This allows the user to easily observe the actual images that formed these performance scores by simply clicking on the various boxes in the matrix shown in (b). The correlation between the latent dimensions (left to right and near to far) and the actual positions of the detected objects is shown in Figure 7 by various selected images.

[0040] To assist users in comparing data groups within a block view, rows and columns can be ranked based on the total number of objects they contain or the variance of the number of objects within a block. For example, Figure 8 shows a block diagram of model performance for pedestrian detection on two datasets, where each row represents a dataset (e.g., training dataset / original dataset and adversarial dataset) and each column represents a predicted class of pedestrians. These columns are ranked based on the difference between the original dataset and the adversarial dataset, allowing the user to identify the classes in which the two datasets differ with maximum efficiency.

[0041] In this illustrated embodiment, to investigate the model performance regarding pedestrian segmentation, the user can see from the block view (a) of Figure 8 that the adversarial data has more pedestrians misclassified as specific classes compared to the original / training data, such as riders, vegetation, buildings, poles, and fences. By zooming in on or selecting these individual blocks in the adversarial data and visualizing the ground truth segmentation as shown in (b), the user can understand that most of the misclassifications are caused by the interaction between pedestrians and their surrounding context. For example, pedestrians are placed in front of buildings, poles, and fences, leading to the model failure. To improve the model performance regarding pedestrians interacting with these classes, more pedestrians interacting with these classes can be generated and used for retraining the model.

[0042] Figure 9 shows a flowchart that can be implemented by the processor described herein by accessing images stored in memory, machine learning model program instructions, etc., disclosed herein. In 902, the input image is retrieved from memory. The input image may be a raw image captured by a camera and / or an associated prediction mask derived from the input image (see, for example, Figure 2). In 904, the processor derives the spatial distribution of movable objects in the scene. This can be done using the context-aware spatial representation machine learning model 304. Thus, the processor can be programmed to encode the coordinates of movable objects into latent space and reconstruct the coordinates by a decoder (see, for example, Figure 4). The coordinates of movable objects may be the coordinates of the bounding box associated with the movable object, placed around the object in the semantic mask. In 906, the processor is programmed to generate unobserved objects in the scene that do not exist in the input image. In other words, new objects not shown in the input image observed by the camera are inserted into the image. This can be done using the spatial adversarial machine learning model 306. Thus, the processor can be programmed to sample latent spatial coordinates from a portion of the scene, map bounding boxes to them, retrieve objects with similar bounding box coordinates from memory, and place these objects within the bounding boxes (see, for example, Figure 5). In 910, the processor is programmed to move unobserved objects to various different locations in attempts to cause the object detection machine learning model to fail. This can be done by using a spatial adversarial machine learning model to perturb the spatial latent representation of unobserved objects and find the gradient direction in the latent space corresponding to the adversarial performance of the object detection machine learning model. In other words, the new objects are moved to locations where the object detection machine learning model has difficulty identifying and classifying these new objects by their properties.In the 910, the processor can output an interactive user interface, examples of which are shown in Figures 6 to 8 and are explained with reference thereto.

[0043] While exemplary embodiments have been described above, these embodiments are not intended to describe all possible forms that are covered by the claims. The terms used herein are descriptive, not limiting, and it should be understood that various modifications are possible without departing from the spirit and scope of this disclosure. As stated above, features of various embodiments can be combined to constitute further embodiments of the invention, which may not be expressly described or illustrated. Various embodiments have been described as offering advantages over or being preferable to other embodiments or prior art implementations with respect to one or more desired characteristics, but it should be recognized by those skilled in the art that, depending on the particular application and implementation, compromises may be made on one or more features or characteristics to obtain desirable overall system attributes. Such attributes may include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, maintenance, weight, ease of manufacture, and ease of assembly. Accordingly, where any embodiment has been described as being undesirable with respect to one or more characteristics compared to other embodiments or prior art implementations, this does not mean that these embodiments are outside the scope of this disclosure and may be desirable for a particular application.

Claims

1. A computer-implemented method for diagnosing an object detection machine learning model for autonomous driving, wherein the computer-implemented method is The steps include receiving an input image representing the scene from the camera, The process involves using a context-aware spatial representation machine learning model to derive the spatial distribution of movable objects within a scene, and The steps include: generating unobserved objects in the scene that do not exist in the input image using a spatial adversarial machine learning model; The steps include: moving the unobserved object to various different locations via the spatial adversarial machine learning model in order to cause the object detection machine learning model to fail; The steps include outputting an interactive user interface so that the user can analyze the performance of the object detection machine learning model for scenes that do not contain the unobserved objects and scenes that contain the unobserved objects, Computerized methods, including those mentioned above.

2. The above-mentioned derivation step is, The steps include encoding the coordinates of the movable object into latent space, The steps include: reconstructing the aforementioned coordinates using a decoder; The computer-implemented method according to claim 1, including the method described in claim 1.

3. The computer-implemented method according to claim 2, further comprising the step of generating a semantic mask of the scene, wherein the semantic mask is used as input for the derivation step such that the spatial distribution of the movable objects is based on the semantic mask.

4. The computer-implemented method according to claim 3, wherein the coordinates of the movable object are the coordinates of the bounding box associated with the movable object.

5. The computer-implemented method according to claim 4, wherein the coordinates of the bounding box are encoded into latent vectors adjusted based on the semantic class labels of the pixels in the semantic mask.

6. The above generation step is, (i) A step of sampling the latent spatial coordinates of a portion of the scene and mapping a bounding box, (ii) The step of retrieving an object having similar bounding box coordinates from memory, (iii) The step of placing the object within the bounding box, The computer-implemented method according to claim 1, including the method described in claim 1.

7. The computer-implemented method according to claim 6, further comprising the step of blending the objects into the scene using Poisson mixing.

8. The computer-implemented method according to claim 1, wherein the moving step includes perturbing the spatial latent representation of the unobserved object.

9. The computer-implemented method according to claim 8, wherein the moving step includes finding the gradient direction in the latent space corresponding to the performance of the object detection machine learning model that degrades at the maximum rate.

10. The computer-implemented method according to claim 1, wherein the interactive user interface includes a table showing the performance of the object detection machine learning model with respect to the ground truth class of the object and the corresponding prediction class of the object.

11. A system for diagnosing human-in-the-loop object detection machine learning models for autonomous driving, User interface and A memory for storing an input image showing a scene outside the vehicle received from a camera, further storing program instructions corresponding to a context-aware spatial representation machine learning model configured to identify spatial information of objects in the scene, and further storing program instructions corresponding to a spatial adversarial machine learning model configured to generate unobserved objects and insert them into the scene, A processor that is communicatively coupled to the memory, The semantic mask of the aforementioned scene is generated by semantic segmentation. Using the aforementioned context-aware spatial representation machine learning model, the spatial distribution of movable objects within the scene is identified based on the semantic mask. Using the aforementioned spatial adversarial machine learning model, an unobserved object that does not exist in the input image is generated in the scene. In order to cause the object detection machine learning model to fail, the spatial adversarial machine learning model is used to move the unobserved object to various different locations. To enable the user to analyze the performance of the object detection machine learning model for scenes that do not contain the unobserved objects and scenes that do contain the unobserved objects, a visual analysis is output on the user interface. A processor programmed in such a way, A system equipped with these features.

12. The system according to claim 11, wherein the processor is further programmed to encode the coordinates of the movable object into latent space and to reconstruct the coordinates using a decoder to determine the spatial distribution of the movable object.

13. The system according to claim 12, wherein the coordinates of the movable object are the coordinates of the bounding box associated with the movable object.

14. The system according to claim 13, wherein the coordinates of the bounding box are encoded into latent vectors adjusted based on the semantic class labels of the pixels in the semantic mask.

15. The aforementioned processor, Sampling the latent spatial coordinates of a portion of the aforementioned scene, and mapping the bounding box, From the aforementioned memory, retrieve an object having similar bounding box coordinates, The object is placed within the bounding box. The system according to claim 11, further programmed to do so.

16. The system according to claim 15, wherein the processor is further programmed to blend the objects into the scene using Poisson mixing.

17. The system according to claim 11, wherein the processor is further programmed to perturb the spatial latent representation of the unobserved object.

18. The system according to claim 17, wherein the processor is further programmed to identify the gradient direction in the latent space corresponding to the degrading performance of the object detection machine learning model.

19. The system according to claim 11, wherein the processor is further programmed to display on the user interface a table representing the performance of an object detection machine learning model with respect to the ground truth class of the object and the corresponding predictive class of the object.

20. (i) an input image showing a scene outside the vehicle received from a camera, (ii) a semantic mask associated with the input image, (iii) program instructions corresponding to a context-aware spatial representation machine learning model configured to identify spatial information of objects in the scene, and (iv) a memory storing program instructions corresponding to a spatial adversarial machine learning model configured to generate unobserved objects and insert them into the scene. One or more processors that communicate with the memory, Through the context-aware spatial representation machine learning model, the coordinates of the movable objects in the scene are encoded into latent space, and the coordinates are reconstructed by a decoder to identify the spatial distribution of the movable objects. Through the spatial adversarial machine learning model, (i) latent spatial coordinates of a portion of the scene are sampled and bounding boxes are mapped; (ii) objects with similar bounding box coordinates are retrieved from the memory; and (iii) objects are placed within the bounding boxes to generate unobserved objects in the scene that do not exist in the input image. In order to cause the object detection machine learning model to fail via the aforementioned spatial adversarial machine learning model, the unobserved object is moved to various different locations during the trial using the spatial adversarial machine learning model. Visual analysis is output to the user interface so that the user can analyze the performance of the object detection machine learning model for scenes that do not contain unobserved objects and scenes that do contain unobserved objects. A processor programmed in such a way, A system equipped with these features.