Perception System

JP7637674B2Active Publication Date: 2025-02-28ZOOX INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022519454
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-30
Filing Date
2020-09-21
Publication Date
2025-02-28
Estimated Expiration
2040-09-21

Smart Images

  • Figure 0007637674000001
    Figure 0007637674000001
  • Figure 0007637674000002
    Figure 0007637674000002
  • Figure 0007637674000003
    Figure 0007637674000003
Patent Text Reader

Abstract

Techniques for updating data operations in a perception system are described herein. A vehicle may use a perception system to capture data about the environment proximate to the vehicle. The perception system may receive state data stored in a circular buffer of globally registered detections and occasionally transformed into a gridded point cloud in a local reference frame. The two-dimensional gridded point cloud may be processed using one or more neural networks to generate semantic data associated with the scene or physical environment surrounding the vehicle so that the vehicle can make environment-aware operation decisions, which may improve the reaction time and / or safety of the autonomous vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to perception systems. [Background technology]

[0002] This application claims priority to U.S. Application No. 16 / 587,605, filed September 30, 2019, and entitled "PERCEPTION SYSTEM," which is hereby incorporated by reference in its entirety.

[0003] Navigation systems for autonomous vehicles often include a conventional perception system that utilizes various data from sensors onboard the autonomous vehicle. The conventional perception system provides the autonomous vehicle with recognition of objects in the physical environment so that the autonomous vehicle can plan a path for safely navigating the environment. The safe operation of an autonomous vehicle relies at least in part on object detection, classification, and motion prediction by the conventional perception system. However, the conventional perception system may be heavily reliant on image data, which requires additional processing and may result in delayed decision making. This drawback may be significant in the context of objects that change trajectory in a relatively short time, such as vehicles. Thus, improving the processing speed and reducing the latency associated with perception systems that rely on different types of sensor data may improve the operational safety of autonomous vehicles. [Brief description of the drawings]

[0004] The detailed description will be set forth with reference to the accompanying drawings, in which the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears, and the use of the same reference number in different drawings indicates similar or identical components or functions.

[0005] [Figure 1] FIG. 2 is a process flow diagram illustrating an example data flow for a perception system as described herein. [Diagram 2]FIG. 2 is a timing diagram illustrating an example data flow of a perception system as described herein. [Diagram 3] FIG. 2 is a pictorial diagram illustrating an example architecture of a perception system as described herein. [Figure 4] FIG. 2 is another pictorial diagram illustrating an example architecture of a perception system as described herein. [Diagram 5] 4 is a flow diagram illustrating an example process of a perception system for generating object perceptual tracking as described herein. [Figure 6] FIG. 1 is a block diagram of an example system for implementing a perception system as described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] The technology described herein is directed to perception systems that may include radar-based perception systems. In some examples, the radar-based perception system may be implemented in systems such as vehicles or autonomous vehicles. In general, autonomous systems such as vehicles often use perception systems that process various types of sensor data to identify objects and predict their trajectories in order to safely navigate around the objects and thereby avoid collisions. The radar-based perception systems described herein may be implemented using radar data instead of or in addition to other types of sensor data, such as image data and / or lidar data, in such a manner as to reduce the delay associated with the sensor data used to make critical navigation decisions. For example, the use of a radar-based perception system reduces the perception system's dependency on environmental illumination since the radar sensor emits illumination, thereby improving the system's performance in unlit or low-light environments. The use of a radar-based perception system may also provide improved performance in degraded environments (e.g., fog, rain, snow, etc.) due to the radar's long wavelength when compared to other types of sensor systems. Radar-based perception systems also yield improved accuracy in determining the range rate or relative velocity of objects detected in a situation compared to other sensor technologies due to radar being phase coherent.

[0007] In some examples, the perception system may use the captured radar discretized point cloud representation and machine learning algorithms (such as deep neural networks) to perform object state data updates, such as position, orientation, speed, historical state, semantic information, outside of and in addition to a more traditional perception pipeline. In some implementations, the radar-based perception system may utilize a top-down, or two-dimensional, machine-learned radar perception update process. For example, the radar-based perception system may receive radar-based point cloud data from one or more sensors installed on the vehicle and convert the raw radar-based point cloud data into an object-level representation that can be processed or utilized by the vehicle's planning and / or predictive systems in making operational decisions for the vehicle. In one specific example, the radar-based perception system may convert the radar-based point cloud data (which may represent at least three dimensions) into a point cloud representation (also commonly referred to as a discretized data representation) that can be used for feature extraction and / or instance detection. The discretized data representation may represent the three dimensions in a two-dimensional manner. In some examples, the three-dimensional data may be associated with a discretized region of the environment (e.g., a portion of a grid), whereby the three-dimensional data may be folded or otherwise represented in a two-dimensional manner. In some examples, such a two-dimensional representation may be referred to as a top-down representation. In some examples, the top-down or two-dimensional discretized data representation may store the detections represented in the radar-based point cloud data as vectors, pillars, or sets. In some examples, the top-down representation may include a two-dimensional "image" of the environment, whereby each pixel of the image may represent a grid location (or other discretized region) having a fixed size, while in other examples, the grid location or discretized region may be associated with a variable number of points. If variable size bins are used, the radar-based perception system may also limit or include a maximum bin size that may operate in a circular buffer manner.

[0008] In some implementations, such as when memory is a concern, the bins may represent a variety of pixels to reduce the overall size of the grid. In another example, each bin may be configured to store a sparse point representation, or a sparse feature map, of the associated radar-based point cloud data. In some examples, the technique may include applying a machine learning model (e.g., a trained deep neural network, or a convolutional neural network) to the point cloud representation to identify one or more objects and / or instances in the radar-based point cloud data that may be used by the planning and / or forecasting system. In some cases, the output of the deep neural network may be a bounding box of the object, an occupancy value, and / or a state of the object (e.g., trajectory, acceleration, velocity, size, current physical location, object classification, instance segmentation, etc.).

[0009] In some examples, a machine learning model (e.g., a deep neural network or a convolutional neural network) may be trained to output semantic and / or state information by reviewing data logs to identify sensor data representing objects in an environment. In some cases, objects may be identified, attributes may be determined for the objects (e.g., pedestrians, vehicles, bicyclists, etc.) and the environment, and data representing the objects may be identified as training data. The training data may be input to a machine learning model, where weights and / or parameters of the machine learning model may be adjusted to minimize loss or error using known results (e.g., ground truth, such as known bounding boxes, speed information, pose information, classifications, etc.). In some examples, training may be performed using a combination of techniques in a supervised manner (e.g., ground truth is determined at least in part based on human annotations, or other perception models), an unsupervised manner (e.g., the training dataset does not include annotations), a self-supervised manner (e.g., ground truth is determined at least in part based on a pre-generated model), and / or a semi-supervised manner.

[0010] In some particular implementations, the perception system may utilize one or more global registration updates (e.g., associating and storing newly acquired radar data in a global reference frame) following the discretized point cloud update. The global registration update may be configured to perform registration on the radar-based point cloud stream that both projects and registers the radar-based point cloud stream with the global reference frame. For example, the global registration update may process for each interval of radar data received from the sensor. Thus, the global registration update may be performed multiple times for each iteration of the discretized point cloud update. In the global reference frame representation, the radar data of the radar-based point cloud stream may be sparsely stored in a circular buffer.

[0011] The discretized point cloud update may be dynamically initiated, in some cases, based on meeting or exceeding a trigger or criterion. For example, the discretized point cloud update may be initiated based on the passage of time, the completion of a predetermined number of global registration updates, a predetermined number of points registered using a global reference frame, etc. Once initiated, the discretized point cloud update may utilize the registered points (e.g., points in the global reference frame representation) to generate a point cloud representation. In some cases, the point cloud representation may be a two-dimensional or top-down grid that includes multiple discretized regions or grid locations. In one example, the discretized point cloud update may convert a global reference frame representation stored in a circular buffer into a point cloud representation with local references. As an illustrative example, the perception system may utilize platform state information and / or data associated with points in the global reference frame representation to reproject the positioned points to reflect the local reference frame (e.g., vehicle position, speed, direction, etc.) and assign each point to a discretized region or grid location associated with the point's location in the local reference frame. For example, in one implementation, the system may perform a position transformation (such as a position dependent based on the vehicle's position relative to the global reference frame) and a rotation (based on the vehicle's yaw relative to the global reference frame) on individual points to transform the points into a local reference frame.

[0012] The discretized point cloud update may apply a multi-layer perceptron and / or a point-wise pooling operation applied to each of the points in the local reference point cloud. In one example, the multi-layer perceptron process may extract a feature vector for each point. For example, the multi-layer perceptron may be trained with Stochastic Gradient Descent, for example, as part of the overall architecture, in an end-to-end process based on a variety of loss functions including classification loss and bounding box regression loss. In some cases, the multi-layer perceptron may include one or more deep networks.

[0013] Thus, if a discretized region or bin is associated with or stores 10 points, the multi-layer perceptron process will generate 10 feature vectors associated with that discretized region or bin, resulting in a grid where each bin has a different or variable number of features or vectors.

[0014] In some cases, the pooling operation may include a statistical summary over the feature vectors of each bin. For example, the pooling operation may be a max pooling operation in which the maximum value associated with the features of the feature vector associated with the bin is selected to represent the bin. In some cases, when each feature vector includes a variety of values, the pooling operation may be performed per feature value. It should be understood that in other implementations, various types of pooling operations may be used, such as average pooling, min pooling, etc. In some cases, the pooling operation may be selected to provide permutation invariance within the feature vectors.

[0015] A machine learning model, such as a neural network, may extract features from the local reference feature representation and map the features to a semantic representation. For example, the machine learning model may include a network that maps objects from pixel to pixel in a grid. In one specific example, a u-net architecture may be implemented. The u-net architecture is a convolutional neural network that can be used for image segmentation based on detection of the valid portion of each convolution without relying on any fully connected layers. It should be understood that in other examples, other types of neural networks, such as dilated convolutions, may be used. In some examples, the features used during training may include range rate, time course of associated radar data, and position, and the trained output includes direction to the center of the object or semantic classification information. In one specific example, the features may include an offset time representative of a delay associated with the system to assist in predicting object data (e.g., position, speed, heading) when operational decisions are being made by the vehicle. In some examples, the offset time may be between about 1 millisecond and about 10 milliseconds.

[0016] The feature vectors of the semantic state-based representation may be converted (e.g., via a sparse state representation) into object data that may be used to track an object through a scene and / or output to a planning and / or predictive system. For example, a perception system may apply pixel-wise class estimation to each of the bins to identify the classification of an object, similar to instance segmentation to determine the classification (e.g., physical location) of the object, and / or when two pixels or bins are associated with the same object.

[0017] The perception system may also, in some implementations, perform post-processing on the dense grid to generate a sparse object representation that can be used in object tracking. In one particular example, the perception system may apply a non-maximum suppression technique to convert the grid into a sparse object representation.

[0018] The techniques discussed herein can improve the functionality of a computing device in many additional ways. In some cases, utilizing the perception system described herein is configured to reduce the overall delay caused by pre-processing of sensor data, more accurately predict object speed, and improve the accuracy of object detection in low or reduced illumination environments. In this manner, the system can provide output to the prediction and / or planning system that is more representative of real-life / real-time physically consistent environments, thereby improving the overall safety of the autonomous vehicle. It should be understood that in some examples, the perception system can be used in combination with other perception systems that rely on image data, lidar data, as well as other types of sensor data.

[0019] The techniques described herein can be implemented in many ways. Exemplary implementations are provided below with reference to the following figures. Although discussed in the context of an autonomous vehicle, the methods, apparatus, and systems described herein can be applied to a variety of systems (e.g., sensor systems or robotic platforms) and are not limited to autonomous vehicles. In one example, similar techniques can be utilized in driver-controlled vehicles where such systems may provide an indication of whether it is safe to perform various maneuvers and / or a system for implementing emergency maneuvers such as emergency braking. In another example, the techniques can be utilized in an aviation or marine context. Additionally, the techniques described herein can be used with real data (e.g., captured using sensors), simulated data (e.g., generated by a simulator), or any combination thereof.

[0020] 1 is a process flow diagram illustrating an example flow 100 of a perception system described herein. In the illustrated example, radar data 102(A)-(O) representing a physical environment may be captured by one or more sensors. In some cases, the radar data 102 may be captured based on a time interval associated with a velocity of the sensor collecting the radar data 102. In these cases, each of the radar data 102(A)-(O) may represent radar data 102 collected during one such time interval.

[0021] For each interval of radar data 102(A)-(O) captured by one or more sensors, the perception system may perform a global registration update 104. The global registration update 104 may register the radar-based point cloud stream with the state of the platform in a global reference frame to generate a global reference representation 106 of the radar data 102(A)-(O). For example, the global registration update 104 may project each point represented in the radar data 102(A)-(O) into a space with a global reference.

[0022] In some cases, the global registration update 104 may process multiple iterations before the system executes or initiates the discretized point cloud update 108. For example, in the illustrated example, the global registration update 104 may process one for each interval of radar data 102(A)-(E) prior to initiating the discretized point cloud update 108. Thus, as illustrated, an interval of radar data 102(A)-(E), generally designated 110(A), may include data utilized by the global registration update 104 to generate a first instance of a global reference representation 106 used as an input to the discretized point cloud update 108. Similarly, an interval of radar data 102(F)-(J), generally designated 110(B), may include data utilized by the global registration update 104 to generate a second instance of a global reference representation 106 used as a second input to the discretized point cloud update 108. In the current example, the discretized point cloud update 108 may be performed based on the number of intervals into which radar data 102 is captured (e.g., 5 intervals, 6 intervals, 10 intervals, etc.), however, it should be understood that various types of criteria or thresholds may be utilized to trigger or initiate the discretized point cloud update 108.

[0023] The discretized point cloud update 108 may convert the global reference representation of the radar data 102 into a point cloud representation having a local reference frame. For example, in one implementation, the discretized point cloud update 108 may perform a position transformation and rotation (e.g., position dependence) on individual points to convert the points from the global reference frame to the local reference frame.

[0024] The discretized point cloud update 108 may also apply a multi-layer perceptron to each of the points in the global reference representation 106. In one example, the multi-layer perceptron process may extract feature vectors for each point to generate a two-dimensional grid in which the discretized regions or grid locations have a variable number of features or vectors. In some specific examples, the two-dimensional top-down grid may be in the form of a 256×256 grid, a 512×512 grid, or a 512×256 grid. In other examples, the dimensions of the grid may be variable or may be based on the size of a memory buffer associated with storing the point cloud representation. In still other examples, the grid may be based on the type of vehicle, the vehicle's orientation (e.g., the grid extends in the direction of travel), the range of a radar sensor, etc. In some examples, each discretized region or grid location may represent a range of 1 / 8 meter to 1 / 4 meter in the physical environment, resulting in a grid covering an area of ​​about 32 meters to about 128 meters depending on the size of the grid. However, it should be understood that various physical sizes may be assigned to the discretized regions or grid locations based, for example, on the size of the grid, the size of the physical environment being covered, and variable memory. Thus, each point detected within 1 / 8 meter represented by a discretized region or grid location is assigned to that discretized region or grid location.

[0025] The discretized point cloud update 108 may then apply one or more pooling operations to the two-dimensional grid. For example, the discretized point cloud update 108 may include statistical summarization over the feature vectors of each discretized domain to generate a local reference feature representation 112 of the radar data 102.

[0026] In some implementations, the perception system may determine machine-learned inferences 114 from the local reference feature representation 112. In one example, the machine-learned inferences 114 may include utilizing one or more neural networks to extract features from the local reference feature representation 112 and map the features to a semantic state-based representation. For example, the application of a neural network may be a network that maps objects from pixel to pixel in a grid.

[0027] The perception system may also perform post-processing 116 prior to output to a prediction and / or planning system. For example, post-processing 116 may include converting feature vectors of the semantic state-based point cloud representation into sparse object data 118 (such as via a sparse state representation) that may be used to track objects through a scene and output to a planning and / or prediction system. In one example, post-processing 116 may include pixel-by-pixel classification estimation for each of the discretized regions or bins to identify object classifications, as well as instance segmentation to determine the center (e.g., physical location) of an object and / or whether two pixels, or bins, are associated with the same object.

[0028] FIG. 2 is a timing diagram illustrating an example data flow 200 of the perception system described herein. Similar to flow 100 of FIG. 1, in the current example, the perception system may perform various global registration updates, shown as updates 202(A)-(C), for each discretized point cloud update 204. For example, as shown, one or more sensors may capture radar data, such as radar data 206(A)-(C), during associated time intervals 208(A)-(C). For each interval of captured radar data 206(A)-(C), the system may perform a corresponding global registration update 202(A)-(C). During each corresponding global registration update 202(A)-(C), the system may update or incorporate the corresponding radar data 206(A)-(C) into a shared global reference representation.

[0029] As described above, the discretized point cloud update 204 may convert the global reference representation into a point cloud representation having a local reference frame. For example, the discretized point cloud update 204 may perform position dependence (translation) and / or rotation on each point based on the vehicle position relative to the global reference frame to convert the points from the global reference representation to the local reference representation.

[0030] Additionally, the discretized point cloud update 204 may apply a multi-layer perceptron to extract at least one feature vector per point to generate a local reference two-dimensional grid where the discretized regions or bins have a variable number of features or vectors. The discretized point cloud update 204 may then apply one or more pooling operations to the two-dimensional grid to generate a local reference point cloud representation of the radar data 206(A)-(C) where each discretized region or bin has a single feature vector representing the points in the discretized region or bin. In some cases, the two-dimensional grid may be a series of point pillars, where each point is a discretized region and each pillar is a feature vector. It should be understood that while the pooling operation may reduce the number of feature vectors in a discretized region or bin to one, the magnitude or length of the feature vector may vary from discretized region to discretized region (e.g., from grid location to grid location) based at least in part on the number and / or type of features detected in each discretized region.

[0031] The perception system may determine machine-learned inferences 210 from the local reference point cloud representation. In one example, post-processing 212 may include utilizing machine learning, such as one or more neural networks, to extract features from the local reference feature representation and map the features to a two-dimensional semantic representation. For example, the application of one or more neural networks may be a network that maps objects from pixel to pixel (or grid location to grid location) in a grid.

[0032] The perception system may perform post-processing 212 on the two-dimensional semantic representation to generate object and / or state data (which may be maintained in a sparse object state representation) before outputting to a prediction system 214. The prediction / planning system 214 may then utilize the output of the perception system to make operational decisions for the autonomous vehicle.

[0033] FIG. 3 is a pictorial diagram illustrating an example architecture 300 of a radar-based perception system as described herein. As described above, one or more sensors 302 may capture data 304 (e.g., radar data) from an environment surrounding a platform (e.g., an autonomous vehicle). The sensor data 304 may then be provided to a circular buffer 306 as a stream of data. In other examples, other buffer configurations may be used, such as a ring-type buffer or a first-in-first-out buffer. In some cases, the circular buffer 306 may be a data structure with fixed-size buffers (in this particular example, a size of 5) connected end-to-end such that new data added to the buffer 306 replaces the oldest data. As shown, data A, B, C, D, and E have already been added to the circular buffer 306, and the buffer 306 is receiving data F.

[0034] As data F is added to the circular buffer 306 as part of the global registration update 308, data F is registered to the global reference frame. In this example, because the buffer 306 is full (e.g., already holds five elements), the global registration update 308 may overwrite data A from the buffer with data F (as data A is the oldest). In this way, the perception system can maintain the most recent data 304 captured by the sensors 302 to ensure that the platform makes operational decisions based on the most recent sensor data 304 when performing the discretized point cloud update 310. In the current example, the perception system also receives data G and performs a second global registration update 308 to register data G and replace data B (the new oldest data) with data G.

[0035] In the illustrated example, the discretized point cloud update 310 may receive content as input from the circular buffer 306, as indicative of data FGCDE. In some cases, the discretized point cloud update 310 may be dynamically initiated based on one or more criteria being met or exceeded. In other cases, the discretized point cloud update 310 may be periodic and based on the state of the data stored in the circular buffer 306. In some cases, the discretized point cloud update 310 may be configured to process a predetermined number of entries in the circular buffer 306. For example, in this example, the discretized point cloud update 310 may be set to process four entries in the circular buffer 306 (e.g., one less than the size of the circular buffer 306).

[0036] In this example, the discretized point cloud update 310 may start with the newest or most recently added data to the circular buffer 306. Thus, the discretized point cloud update 310 may first add data G to the two-dimensional discretized representation 312 of the data 304. Following data G, the discretized point cloud update 310 may then add data F, E, and D to the two-dimensional discretized representation 312 of the data 304. As described above, the two-dimensional discretized representation may include discretized regions associated with various points of the data G, F, D, and E. Thus, as shown, the discretized regions, such as location 314, may form a column of points or a collection of points. In some cases, as part of the discretized point cloud update 310, each point may have an associated feature vector with values ​​associated with characteristics of that point. The two-dimensional discretized representation 312 of the data 304 may then be output for processing by neural networks or other trained inference techniques, such as extraction of semantic information and object determination, before being provided to a planning or forecasting system.

[0037] 4 is another pictorial diagram illustrating an example architecture 400 of a radar-based perception system as described herein. As described above, the system may perform a discretized point cloud update 402 to generate a two-dimensional discretized representation 404. As part of the discretized point cloud update 402, and in addition to transforming the points to a local reference frame (via one or more translations and / or rotations), the discretized point cloud update 402 may include applying a multi-layer perceptron process 406 and / or one or more pooling operations 408 to the points associated with the two-dimensional discretized representation 404.

[0038] The multi-layer perceptron process 406 may extract a feature vector for each point. Thus, if a discretized region (e.g., a grid location or region associated with a discretized representation of an environment) is associated with a variety of points, the multi-layer perceptron process 406 may generate a feature vector for each of the points associated with that discretized region. The result is a grid in which each bin has a different or variable number of features or vectors. The pooling operation 408 may apply a statistical summary across the feature vectors of each bin. For example, the pooling operation 408 may apply a max pooling operation in which the maximum value associated with the features of the feature vectors associated with the region is selected to represent the region, although any other pooling operation is contemplated (e.g., average, minimum, etc.). In this way, each discretized region may be represented with a single feature vector. Also, in other implementations, various other types of pooling operations may be used, provided that the selected pooling operation introduces permutation invariance to the resulting feature vector. In the illustrated example, once the pooling operation 408 is complete, the perception system may utilize one or more neural networks 410 (such as via a U-Net architecture) to extract deep convolutional features from the feature vectors of the 2D discretized point cloud representation 404.

[0039] For example, one or more neural networks 410 may generate any number of trained guesses or heads, such as a semantic classification head 412, a direction to object instance center head 414, as well as other trained output heads 416 (target range, target orientation, target velocity, object bounding box, etc.). In some cases, the neural network may be a trained network architecture that is end-to-end with Stochastic Gradient Descent. For example, object annotations in a global frame are registered to a local frame to provide a supervised map that can be used as ground truth targets for various network outputs or heads, such as heads 412-416. Specifically, suitable truth outputs in the form of image maps may include pixel-by-pixel semantic classification (bicycle, pedestrian, vehicle), instance segmentation via regression to a vector pointing to the center of the object, and bounding box representations (yaw and range information). Typical loss functions include mean squared error, mean absolute error, and categorical cross-entropy (including a focal loss penalty that disproportionately penalizes rare cases to compensate for imbalanced data).

[0040] In the illustrated example, the semantic classification estimation head 412 may include segmenting and / or classifying the extracted deep convolutional features into semantic data (e.g., speed, classification or type, heading, etc.). The process for determining the object instance center head 414 may be configured to predict a vector from a point to the center of the target. For example, this feature may be trained via a supervised method that trains a deep network to regress to a vector (x and y values, pixel by pixel) that points to the center of the true object bounding box representation when the pixel is within the boundary of the object box. As part of the further trained inference, the system may perform segmentation using a discretized domain vector field per sparse to obscure which pixels or points belong to which object and convert the pixels or points to a sparse object representation.

[0041] A sparse object state representation 418 of the physical environment may result from various heads, including heads 412-416. Post-processing 420 may then be performed on the sparse object state representation 418 to generate object data that may be output to a prediction / planning system 422 for use in making operational decisions for the platform or autonomous vehicle. For example, post-processing 420 may include non-maximal suppression, thresholding, Hough transforms, connected components, and / or morphological operations, among others.

[0042] FIG. 5 is a flow diagram illustrating an example process 500 of a radar-based perception system for generating object perception tracking as described herein. The process is illustrated as a collection of blocks in a logical flow diagram, which represent a sequence of operations, some or all of which may be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, encryption, decryption, compression, recording, data structures, etc. that perform particular functions or implement particular abstract data types.

[0043] The order in which the operations are described should not be construed as a limitation. Any number of the described blocks can be combined in any order and / or in parallel to implement a process, or alternative processes, and not all of the blocks need to be executed. For purposes of discussion, the processes herein are described with reference to the frameworks, architectures, and environments described in the examples herein, although the processes may be implemented in a wide variety of other frameworks, architectures, or environments.

[0044] At 502, the radar-based perception system receives radar data representing a physical environment, a platform state estimate, and / or a global reference frame. The radar data may be captured by one or more sensors physically located at one or more locations of the autonomous vehicle. The radar data may be captured over a time interval. In some cases, the time interval may be based on one or more characteristics of the one or more sensors. In some cases, the platform state estimate may include vehicle state data and / or environmental object state data, such as position, orientation, speed, historical state, semantic information, etc.

[0045] At 504, the radar-based perception system registers the data (e.g., radar data) using a global reference frame to generate a globally registered representation of the radar data. For example, each point or detection in the radar data may be mapped or transformed into a space having the global reference frame. In some cases, the global reference frame may be determined or received as part of the prior state estimation at 502.

[0046] At 506, the radar-based perception system may store the globally registered representation of the radar data in a circular buffer. For example, the globally registered representation may be stored as a sparse set of points with a global reference frame in the buffer. In some cases, the circular buffer may be a data structure with fixed-size buffers connected end-to-end such that new data added to the buffer replaces the oldest data.

[0047] At 508, the radar-based perception system may determine if a discretization update criterion has been met or exceeded. If the criterion has been met or exceeded, process 500 proceeds to 510, otherwise process 500 returns to 502 where additional radar data is received and added to the circular buffer. In some cases, the criterion may be an amount of time elapsed, a predetermined amount of data stored in the circular buffer, a number of agents in the scene, the vehicle exceeding a predetermined speed, a change in the vehicle's heading, etc.

[0048] At 510, the radar-based perception system may convert the globally registered representation into a locally registered representation having a local reference frame. For example, the system may utilize the most recent state estimate received as part of 502, any available metadata, the previous state of the scene, any known velocities, etc. to determine a physical position relative to the global reference and perform one or more translations and / or rotations on the individual point positions to position each point within the global reference frame.

[0049] At 512, the radar-based perception system may input the local references into a multi-layer perceptron process (or classification operation) for individual regions of the locally registered representation to generate one or more feature vectors for each region.

[0050] At 514, the radar-based perception system may perform pooling on one or more feature vectors associated with each locally registered point for each region. The pooling operation may include a statistical summary over the feature vectors of each bin. For example, the pooling operation may be a max pooling operation in which a maximum value associated with the features of the feature vectors associated with a bin is selected to represent the bin. In another example, the pooling operation may be an average pooling operation in which an average value associated with the features of the feature vectors associated with a bin is selected to represent the bin. In some cases, if each feature vector includes multiple values, the pooling operation may be performed for each feature value.

[0051] At 516, the radar-based perception system performs feature extraction trained across multiple regions. For example, the radar-based perception system may apply one or more neural networks or other types of machine learning techniques to extract features from one or more portions of a point cloud representation of the radar data. In some cases, each portion of the point cloud representation may include one or more discretized regions or grid locations. In one specific example, a u-net architecture may be implemented. The u-net architecture is a convolutional neural network utilized for image segmentation based on detecting valid portions of each convolution without relying on any fully connected layers. It should be understood that in other examples, other types of neural networks may be used.

[0052] At 518, the radar-based perception system utilizes the extracted trained features to generate a representation based on semantic states. For example, the radar-based perception system may apply pixel-wise classification estimation to each of the discretized regions to identify object classifications, and may apply instance segmentation to determine the center of an object (e.g., physical location), and / or instance segmentation when two discretized regions are associated with the same object. In some cases, a network may be applied to generate a neural network head for each desired state value. For example, the network may determine the object classification, the location or direction of the object center, speed, heading, etc.

[0053] At 520, the radar-based perception system may generate a sparse detection representation based at least in part on the semantic state-based discretized representation. For example, the semantic state-based point cloud representation (e.g., a grid of features) may be converted into object data that can be used to track objects through a scene, and / or output to a planning and / or prediction system. For example, the system may apply non-maximal suppression, thresholding, Hough transforms, connected components, and / or morphological operations.

[0054] 6 is a block diagram of an example system 600 for implementing the techniques described herein, according to an embodiment of the disclosure. In some examples, the system 600 may include one or more features, components, and / or functionality of the embodiments described herein with reference to FIGS. 1-5. In some embodiments, the system 600 may include a vehicle 602. The vehicle 602 may include a vehicle computing device 604, one or more sensor systems 606, one or more communication connections 608, and one or more drive systems 610.

[0055] The vehicle computing device 604 may include one or more processors 612 and a computer-readable medium 614 communicatively coupled to the one or more processors 612. In the illustrated example, the vehicle 602 is an autonomous vehicle, although the vehicle 602 may be any other type of vehicle or any other system (e.g., a robotic system, a smartphone with a camera, etc.). In the illustrated example, the computer-readable medium 614 of the vehicle computing device 604 stores a perception system 616, a prediction system 618, a planning system 620, one or more system controllers 622, as well as sensor data 624 and other data 642. While depicted in FIG. 6 as residing on computer-readable medium 614 for illustrative purposes, it is contemplated that perception system 616, prediction system 618, planning system 620, one or more system controllers 622, as well as sensor data 624, machine learning model data 626, and other data 642 may additionally or alternatively be accessible to vehicle 602 (e.g., stored on remote computer-readable medium or otherwise accessible from vehicle 602).

[0056] In at least one example, the perception system 616 may be configured to receive sensor data 624 (e.g., radar data) captured during one or more time intervals associated with the sensor system 606. The radar-based perception system 616 may implement both a first update pipeline that generates a global reference representation of the radar data and a second update pipeline that generates a local reference point cloud representation of the radar data based at least in part on the sensor data 624 and the machine learning model data 626. As described above with respect to FIGS. 1-5 , the first update pipeline may process the radar data collected during multiple time intervals, and the second update pipeline may then process the output of the first update pipeline, e.g., periodically or in response to a trigger being satisfied or exceeded, to generate one or more detection instance or object data that may be output to the prediction system 618 and / or the planning system 620.

[0057] In some cases, the detected instance or object data may include estimated current and / or predicted future, characteristics or states of an object (e.g., a vehicle, pedestrian, animal, etc.), such as pose, velocity, trajectory, speed, yaw, yaw rate, roll, roll rate, pitch, pitch rate, position, acceleration, or other characteristics, based at least in part on the sparse object state representation output by the perception system 616.

[0058] The planning system 620 may determine a path to be followed by the vehicle to traverse a physical environment. For example, the planning system 620 may determine various paths and trajectories, as well as various levels of detail. For example, the planning system 620 may determine a path to travel from a current location to a target location. For purposes of this discussion, a path may include a sequence of waypoints to travel between two locations.

[0059] In at least one example, the vehicle computing device 604 may include one or more system controllers 622 that may be configured to control steering, propulsion, braking, safety, emitter, communication, and other systems of the vehicle 602. These system controllers 622 may communicate with and / or control corresponding systems of the drive system 610 and / or other components of the vehicle 602.

[0060] In some examples, some or all aspects of the components discussed herein may include any model, algorithm, and / or machine learning algorithm. For example, in some examples, components in computer-readable medium 614 (and computer-readable medium 634, described below), such as perception system 616, prediction system 618, and / or planning system 620, may be implemented as one or more neural networks. For example, perception system 616 may include a machine learning model (e.g., a neural network) trained to predict speed, trajectory, and / or other characteristics of a pedestrian (or other object) based on sensor data 624 and machine learning model data 626.

[0061] In at least one example, the sensor system 606 may include lidar sensors, radar sensors, ultrasonic transducers, sonar sensors, position sensors (e.g., GPS, compass, etc.), inertial sensors (e.g., inertial measurement units (IMUs), accelerometers, magnetometers, gyroscopes, etc.), cameras (e.g., RGB, IR, intensity, depth, time of flight, etc.), microphones, wheel encoders, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), and one or more time of flight (ToF) sensors, etc. The sensor system 606 may include multiple instances of each of these or other types of sensors. For example, the lidar sensors may include individual lidar sensors located at the corners, front, back, sides, and / or top of the vehicle 602. As another example, the camera sensors may include multiple cameras located at various locations on the exterior and / or interior of the vehicle 602. The sensor system 606 may provide input to the vehicle computing device 604. Additionally or alternatively, the sensor system 606 may transmit sensor data over one or more networks 628 to one or more computing devices at a particular frequency, after a predetermined period of time, or in near real-time.

[0062] Vehicle 602 may also include one or more communications connections 608 that enable communication between vehicle 602 and one or more other local or remote computing devices. For example, communications connections 608 may facilitate communication with other local computing devices on vehicle 602 and / or drive system 610. Communications connections 608 may also provide for vehicle 602 to communicate with other nearby computing devices (e.g., other nearby vehicles, traffic signals, etc.). Communications connections 608 also enable vehicle 602 to communicate with remote computing devices or other remote services.

[0063] The communications connection 608 may include physical and / or logical interfaces for connecting the vehicle computing device 604 to another computing device (e.g., computing device 630) and / or a network, such as network 628. For example, the communications connection 608 may enable Wi-Fi-based communications, such as over frequencies defined by the IEEE 802.11 standards, short-range wireless frequencies such as Bluetooth, cellular communications (e.g., 2G, 3G, 4G, 4G LTE, 5G, etc.), or any suitable wired or wireless communications protocol that allows each computing device to interface with other computing devices.

[0064] In at least one example, the vehicle 602 can include one or more drive systems 610. In some examples, the vehicle 602 can have a single drive system 610. In at least one example, when the vehicle 602 has multiple drive systems 610, the individual drive systems 610 can be located at opposite ends of the vehicle 602 (e.g., front and rear, etc.). In at least one example, the drive system 610 can include one or more sensor systems 606 for detecting conditions surrounding the drive system 610 and / or the vehicle 602, as described above. By way of example and not limitation, the sensor systems 606 can include one or more wheel encoders (e.g., rotary encoders) for sensing the rotation of the wheels of the drive system, inertial sensors (e.g., inertial measurement units, accelerometers, gyroscopes, magnetometers, etc.) for measuring the orientation and acceleration of the drive system, cameras or other imaging sensors, ultrasonic sensors for acoustically detecting objects in the vicinity of the drive system, lidar sensors, radar sensors, etc. Some sensors, such as the wheel encoders, can be intrinsic to the drive system 610. In some cases, the sensor system 606 on the drive system 610 may overlap or supplement a corresponding system on the vehicle 602 .

[0065] In at least one example, the components discussed herein may process the sensor data 624, as described above, and may transmit their respective outputs to one or more computing devices 630 over one or more networks 628. In at least one example, the components discussed herein may transmit their outputs to one or more computing devices 630 at a particular frequency, after a predetermined period of time, in near real-time.

[0066] In some examples, the vehicle 602 may transmit sensor data over the network 628 to one or more computing devices 630. In some examples, the vehicle 602 may transmit raw sensor data 624 to the computing device 630. In other examples, the vehicle 602 may transmit processed sensor data 624 and / or representations of the sensor data (e.g., object perception tracking) to the computing device 630. In some examples, the vehicle 602 may transmit sensor data 624 to the computing device 630 at a particular frequency, after a predetermined period of time, in near real-time. In some examples, the vehicle 602 may transmit sensor data (raw or processed) to the computing device 630 as one or more log files.

[0067] The computing device 630 may include a processor 632 and a computer-readable medium 634 that stores a training component 636, a machine learning component 638, and training data 640. The training component 636 may generate the training data 640 using sensor data 624 received from one or more vehicles 602. For example, the training component 636 may label data representing an object with one or more measured parameters, or characteristics, of the object in the sensor data 624. The training component 636 may then use the training data 640 to train the machine learning component 638 to predict motion states that predict the current or future speed, trajectory, and / or any other characteristics of the object based on the pose of the object depicted in the sensor data 624.

[0068] As described herein, an exemplary neural network is a biologically inspired algorithm that passes input data through a series of connected layers to generate an output. Each layer of a neural network may comprise another neural network, or may comprise any number of layers (whether convolutional or not). As can be understood in the context of the present disclosure, a neural network may utilize machine learning, which may refer to a broad classification of such algorithms in which an output is generated based on trained parameters.

[0069] Although discussed in the context of neural networks, any type of machine learning consistent with this disclosure may be used. For example, machine learning algorithms may include regression algorithms (e.g., ordinary least squares regression (OLSR), linear regression, logistic regression, stepwise regression, multivariate adaptive regression splines (MARS), locally weighted scatterplot smoothing (LOESS)), instance-based algorithms (e.g., ridge regression, least absolute shrinkage selection operator (LASSO), elastic nets, least angle regression (LARS)), decision tree algorithms (e.g., classification and regression trees (CART), iterative binary tree 3 (ID3), chi-squared automated interaction detection (CH2), etc.). AID), decision stumps, conditional decision trees), Bayesian algorithms (e.g., Naïve Bayes, Gaussian Naïve Bayes, Multinomial Naïve Bayes, Average Ordinary Dependent Classifier (AODE), Bayesian Belief Networks (BNN), Bayesian Networks), clustering algorithms (e.g., k-means, k-medians, Expectation Maximization (EM), Hierarchical Clustering), Association Rule Learning Algorithms (e.g., Perceptron, Backpropagation, Hopfield Networks, Radial Basis Function Network (RBFN)), deep learning algorithms (Deep Boltzmann Machine (DBM), Deep Belief Networks (DBN), Convolutional Neural Networks (CNN), Stacked Auto-Encoders), dimensionality reduction algorithms (e.g., Principal Component Analysis (PCA), Principal Component Regression (PCR), Partial Least Squares Regression (PLSR), Sammon Mapping, Multidimensional Scaling (MDS), Projection Pursuit, Linear Discriminant Analysis (LDA), Mixture Discriminant Analysis (MDA), Quadratic Discriminant Analysis (QDA), Flexible Discriminant Analysis (FDA)), ensemble algorithms (e.g., Boosting, Bootstrapped Aggregation (Bagging), AdaBoost, Stacked Generalization (Blending), Gradient Boosting Machines (GBM), Gradient Boosted Regression Trees (GBRT), RandomThese architectures can include, but are not limited to, neural networks such as ResNet50, ResNet101, VGG, DenseNet, PointNet, etc.

[0070] The processor 612 of the vehicle 602 and the processor 632 of the computing device 630 may be any suitable processor capable of processing data and performing operations as described herein. By way of example and not limitation, the processors 612 and 632 may include one or more central processing units (CPUs), graphic processing units (GPUs), or any other device or portion of a device that processes electronic data and converts it into registers and / or other electronic data capable of being stored in a computer-readable medium. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices may also be considered processors so long as they are configured to implement coded instructions.

[0071] The computer-readable media 614 and 634 are examples of non-transitory computer-readable media. The computer-readable media 614 and 634 can store an operating system and one or more software applications, instructions, programs, and / or data for implementing the methods and functions attributed to the various systems described herein. In various implementations, the computer-readable media can be implemented using any suitable computer-readable media technology, such as static random-access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash memory, or any other type of computer-readable medium capable of storing information. The architectures, systems, and individual elements described herein can include many other logical, programmatic, and physical components, of which the ones shown in the accompanying figures are merely examples relevant to the discussion herein.

[0072] As can be appreciated, the components discussed herein are described separately for purposes of explanation, however, operations performed by various components may be combined or performed in any other component.

[0073] 6 is illustrated as a distributed system, it should be noted that in alternative examples, components of the vehicle 602 may be associated with the computing device 630 and / or components of the computing device 630 may be associated with the vehicle 602. That is, the vehicle 602 may perform one or more of the functions associated with the computing device 630, and vice versa. Additionally, aspects of the machine learning component 638 may be performed on any of the devices discussed herein.

[0074] (Example section) Although the example items described above are described with respect to one particular implementation, it should be understood that in the context of this specification, the content of the example items may also be implemented via a method, an apparatus, a system, a computer-readable medium, and / or another implementation. Furthermore, any of the example ATs may be implemented alone or in combination with one or more other example ATs.

[0075] A. A system, comprising: one or more processors; and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions, when executed, causing the system to: receive first radar data captured by a sensor of an autonomous vehicle, the first radar data being associated with a first time period; the first radar data being associated with a global reference frame; receive second radar data captured by the sensor, the second radar data being associated with a second time period; and the second radar data being associated with the global reference frame; and generate a two-dimensional discretized representation from the first radar data and the second radar data, the two-dimensional discretized representation comprising: The method includes causing the system to perform operations comprising: providing a plurality of discretized regions associated with a local reference frame based at least in part on a position of the autonomous vehicle in a physical environment; applying the trained function to individual region points associated with the regions to generate, for at least one region of the two-dimensional discretized representation, one or more feature vectors associated with the individual region, the feature vectors comprising a range of values; pooling, for at least one region of the two-dimensional discretized representation, one or more feature vectors associated with the individual regions to generate an aggregated feature vector associated with the individual region; determining object information based at least in part on the aggregated feature vector; and controlling the autonomous vehicle based at least in part on the object information.

[0076] B. The system of paragraph A, wherein the operation further comprises storing the first radar data and the second radar data in a circular buffer.

[0077] C. The system of paragraph A, wherein pooling the one or more vectors is based at least in part on one of a max pooling operation or an average pooling operation.

[0078] D. The system of paragraph A, wherein the object information includes at least one of an instance segmentation, an object velocity, and an object direction of travel.

[0079] E. A method comprising receiving first data captured by a sensor; associating the first data with a global reference frame; generating a two-dimensional data representation based at least in part on the first data and a relationship of the local reference frame to the global reference frame; determining object level data based at least in part on the two-dimensional data representation and a machine learning model; and controlling an autonomous vehicle based at least in part on the object level data.

[0080] F. The method of paragraph E, further comprising receiving second data captured by a sensor, the first data being associated with a first time, the second data being associated with a second time after the first time, and associating the second time with a global reference frame.

[0081] G. The method of paragraph E, further comprising updating the two-dimensional data representation based at least in part on the second data and the relationship between the local and global reference frames.

[0082] H. The method of paragraph E, wherein the first point cloud is stored in a circular buffer.

[0083] I. The method of paragraph E, wherein generating the two-dimensional data representation further comprises applying a translation and rotation to positions of each point in a global reference frame; generating one or more feature vectors for each region of the two-dimensional data representation, the feature vector comprising a range of values; and performing at least one pooling operation on the one or more feature vectors for each region.

[0084] J. The method of paragraph E, wherein determining the object level data further comprises extracting aggregate feature vectors for each region of the two-dimensional data representation, and determining the object level data based at least in part on the aggregate feature vectors.

[0085] K. The method of paragraph E, wherein the object level data is based at least in part on inputting one or more time series of the first data or offset times associated with the first data in a machine learning model.

[0086] L. The method of paragraph E, further comprising applying post-processing to the object level data prior to controlling the autonomous vehicle.

[0087] M. The method of paragraph L, wherein the post-processing comprises at least one of non-maximal suppression, thresholding, a Hough transform, connected components, or a morphological operation.

[0088] N. The method of paragraph E, wherein the two-dimensional data representation includes a plurality of regions, a first point of the first data being associated with a first region of the plurality of regions, and a second point of the first data being associated with the first region.

[0089] O. A non-transitory computer-readable medium storing instructions that, when executed, cause one or more processors to perform operations comprising receiving sensor data from a sensor; storing the sensor data in a circular buffer; generating a two-dimensional representation having a first region and a second region based at least in part on the data stored in the circular buffer; inputting at least a portion of the data based on the first region into a machine learning model; receiving a first set of values ​​from the machine learning model; and generating object level data based at least in part on the first set of values.

[0090] P. The non-transitory computer-readable medium of paragraph O, further comprising determining whether the one or more criteria have been met or exceeded; and generating a two-dimensional representation responsive to whether the one or more criteria have been met or exceeded.

[0091] Q. The non-transitory computer-readable medium of paragraph P, wherein the one or more criteria include at least one of a time period, a threshold associated with a circular buffer, a threshold associated with a sensor used to capture the sensor data, or a detected environmental condition.

[0092] R. The non-transitory computer-readable medium of paragraph O, wherein generating the first set of values ​​further comprises applying a multi-layer perceptron to at least a portion of the data, receiving a plurality of feature vectors from the multi-layer perceptron, and performing a pooling operation on the plurality of feature vectors to generate the first feature vector as the first set of values.

[0093] S. The non-transitory computer-readable medium of paragraph O, wherein generating the first series of values ​​is based at least in part on a time course of the sensor data and a priori state estimates.

[0094] T. The non-transitory computer-readable medium of paragraph O, wherein generating the object level data further comprises applying a neural network to generate one or more trained inferences associated with the first set of values, and the operation further comprises controlling the autonomous vehicle based at least in part on the one or more trained inferences.

[0095] (Conclusion) As can be appreciated, the components discussed herein are described as separate for purposes of explanation. However, the operations performed by the various components may be combined or performed in any other components. It should also be understood that components or steps discussed with respect to one example or implementation may be used in combination with components or steps of other examples. For example, the components and instructions of FIG. 6 may utilize the processes and flows of FIGS. 1-5.

[0096] A non-limiting list of objects may include obstacles in the environment, including, but not limited to, pedestrians, animals, bicyclists, trucks, motorcycles, other vehicles, etc. Such objects in the environment have a "geometric pose" (which may also be referred to herein simply as "pose") that includes the position and / or orientation of the entire object relative to a reference frame. In some examples, the pose may indicate the position of the object (e.g., a pedestrian), the orientation of the object, or the position of an appendage relative to the object. The geometric pose may be described in two dimensions (e.g., using an xy coordinate system) or three dimensions (e.g., using an xyz or polar coordinate system) and may include target orientations (e.g., roll, pitch, and / or yaw). Some objects, such as pedestrians and animals, also have what is referred to herein as an "appearance pose." An appearance pose includes the shape and / or positioning of parts of the body (e.g., appendages, head, torso, eyes, hands, feet, etc.). As used herein, the term "pose" refers to both the "geometric pose" of an object relative to a reference frame, and, in the case of pedestrians, animals, and other objects that can change the shape and / or position of body parts, the "appearance pose." In some examples, the reference frame is described with reference to a two-dimensional or three-dimensional coordinate system, or map, that describes the position of the object relative to the vehicle. However, in other examples, other reference frames may be used.

[0097] As a non-limiting example, the techniques described herein may be performed, at least in part, by a computing device of an autonomous vehicle, which may receive sensor data to detect one or more objects in an environment and / or determine attributes or object parameters of one or more objects in a physical environment. The object parameters may include the speed, acceleration, position, classification, and / or range of each of the one or more objects, in addition to any uncertainty information associated therewith. The sensor data captured by the autonomous vehicle may include light detection and ranging (lidar) sensor data, radio detection and ranging (radar) sensor data, acoustic navigation and ranging (sonar) sensor data, image data, time of flight data, and the like. In some cases, the sensor data may be provided to a perception system configured to determine the type of object (e.g., vehicle, pedestrian, bicycle, animal, parked vehicle, tree, building, etc.) in the environment. Additionally, the out-of-sequence perception system may determine motion information for objects in the physical environment based on the sensor data.

[0098] Having described one or more examples of the technology described herein, various modifications, additions, permutations, and equivalents thereof are within the scope of the technology described herein.

[0099] In describing the examples, reference is made to the accompanying drawings, which form a part hereof, and which are shown to illustrate certain examples of the claimed subject matter. It should be understood that other examples can be used and that modifications or variations, such as structural changes, can be made. Such examples, modifications or variations do not necessarily depart from the intended scope of the claimed subject matter. Although steps herein may be presented in a certain order, in some cases the order can be changed, such as providing certain inputs at different times or in a different order, without changing the functionality of the described systems and methods. The disclosed procedures can also be performed in a different order. Furthermore, the various calculations described herein need not be performed in the order disclosed, and other examples using alternative orders of calculations can be easily implemented. In addition to changing the order, in some examples, the calculations can also be decomposed into sub-calculations that have the same results.

Claims

1. 1. A system comprising: one or more processors; one or more non-transitory computer-readable media storing instructions executable by the one or more processors; Equipped with The instructions, when executed, cause the system to: receiving first radar data captured by a sensor of an autonomous vehicle, the first radar data associated with a first time period; associating the first radar data with a global reference frame; receiving second radar data captured by the sensor, the second radar data associated with a second time period; and correlating the second radar data with the global reference frame; generating a two-dimensional discretized representation from the first radar data and the second radar data, the two-dimensional discretized representation being associated with a local reference frame based at least in part on a position of the autonomous vehicle in a physical environment and comprising a plurality of discretized regions; for at least one region of the two-dimensional discretized representation, applying a multi-layer perceptron to each region point associated with the region to generate one or more feature vectors associated with each region, the feature vector comprising a range of values; for at least one region of the two-dimensional discretized representation, pooling the one or more feature vectors associated with each region to generate an aggregated feature vector associated with the individual region; determining object information based at least in part on the aggregated feature vector; controlling the autonomous vehicle based at least in part on the object information; A system that performs the operations comprising:

2. The system of claim 1 , further comprising storing the first radar data and the second radar data in a circular buffer.

3. The system of claim 1 or 2, wherein the pooling of the one or more feature vectors is based at least in part on one of a max pooling operation or an average pooling operation.

4. The system of claim 1 or 2, wherein the object information includes at least one of an instance segmentation, an object velocity, or an object heading.

5. 1. A method comprising: Receiving first data captured by a sensor of the autonomous vehicle; associating the first data with a global reference frame; generating a two-dimensional data representation based at least in part on the first data and a relationship of a local reference frame to the global reference frame, comprising: for each region of the two-dimensional data representation, applying a multi-layer perceptron to the two-dimensional data representation to generate one or more feature vectors, the feature vector comprising a range of values; and for each region, performing at least one pooling operation on the one or more feature vectors; determining object level data based at least in part on the two-dimensional data representation and a machine learning model; and controlling an autonomous vehicle based at least in part on the object level data; and A method for providing the above.

6. the first data being associated with a first time; receiving second data captured by the sensor, the second data associated with a second time subsequent to the first time; associating the second data with the global reference frame; The method of claim 5 further comprising:

7. Generating the two-dimensional data representation comprises: The method of claim 5 or 6, further comprising applying translations and rotations to positions of individual points in the global reference frame.

8. Determining the object level data includes: extracting aggregate feature vectors for each region of the two-dimensional data representation; determining the object level data based at least in part on the aggregated feature vector; and The method of claim 5 further comprising:

9. 6. The method of claim 5, wherein the object level data is based at least in part on inputting one or more time lapses of the first data or offset times associated with the first data in the machine learning model.

10. the two-dimensional data representation includes a plurality of regions; a first point of the first data associated with a first region of the plurality of regions; a second point of the first data is associated with the first region; The method according to claim 5.

11. 11. The method of claim 5, further comprising applying post-processing to the object level data prior to controlling the autonomous vehicle.

12. A computer program product comprising instructions coded to perform the method of any one of claims 5 to 11 when run on a computer.

13. A non-transitory computer-readable medium that, when executed, causes one or more processors to: Receiving sensor data from a sensor of the autonomous vehicle; storing the sensor data in a circular buffer; generating a two-dimensional representation having a first region and a second region based at least in part on the data stored in the circular buffer; inputting at least a portion of the data associated with the first region into a machine learning model; generating a first series of values ​​with the machine learning model, the first series of values ​​including applying a multi-layer perceptron to at least a portion of the data; receiving a plurality of feature vectors from the multi-layer perceptron; and performing a pooling operation on the plurality of feature vectors to generate a first feature vector as the first series of values; receiving the first set of values ​​from the machine learning model; generating object level data based at least in part on the first set of values; A non-transitory computer-readable medium storing instructions for performing operations comprising:

14. Determining whether one or more criteria have been met or exceeded Further equipped with The non-transitory computer-readable medium of claim 13 , wherein generating the two-dimensional representation is responsive to the one or more criteria being met or exceeded.

Citation Information

Patent Citations

  • Three-dimensional reconstruction method based on convolution neural network

    CN109410321A

  • Display method and display device

    CN109906608A

  • Electric energy quality mixed disturbance analysis method based on deep learning

    CN110222953A

  • Object detection device

    JP2017156847A

  • Advanced driver-assistance system

    US10330787B2