Clustering of radio frequency signals

By constructing a node graph and using a classifier to determine the edge, the problem of radar echo clustering difficulties in high-density traffic environments is solved, accurate clustering of large-scale transportation tools is achieved, and the trajectory correlation accuracy of the autonomous driving system is improved.

CN119173784APending Publication Date: 2024-12-20QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380038797.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-13
Filing Date
2023-05-10
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The prior art is difficult to accurately cluster radar echoes in high-density traffic environments, resulting in trajectory correlation errors and tracking failures, especially when large vehicles such as trucks exist, radar echoes are separated at a large distance and difficult to cluster.

Method used

Using a robust radar clustering process, by constructing a graph of N nodes, a training classifier is used to determine the edges between each pair of pings from the same object, and combining a depth-first search to determine the connection components of the graph to generate clustering output. This method learns to incorporate previous radar detection to improve clustering accuracy and is suitable for radar sensors in autonomous driving.

Benefits of technology

It significantly improves the accuracy of radar clustering, reduces trajectory correlation errors, enhances the radar echo clustering ability of large vehicles, and improves the tracking accuracy of the autonomous driving system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119173784A_ABST
    Figure CN119173784A_ABST
Patent Text Reader

Abstract

A processor-implemented method for radar-based tracking of an object includes transmitting a radio frequency (RF) signal (602). In response to the transmitted RF signal, one or more return RF signals are received (604). Features of the one or more return RF signals are extracted (606). A graph is generated that includes a plurality of nodes, each node of the graph corresponding to the one or more return RF signals and indicating potential target object detection (608). A presence of a plurality of edges is determined, each edge connecting a pair of nodes in the graph based on characteristics of the return RF signal, the presence of each edge indicating that the connected pair of nodes corresponds to the same target object (610).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application No. 17 / 744,566, filed on May 13, 2022, and entitled “RADAR CLUSTERING USING MACHINE LEARNING,” the disclosure of which is expressly incorporated by reference in its entirety. Field of the Invention

[0003] Aspects of the present disclosure generally relate to radar-based tracking of objects. Background Art

[0004] The artificial neural network may include a group of interconnected artificial neurons (eg, a neuron model). The artificial neural network may be a computing device, or may be represented as a method to be performed by a computing device.

[0005] Neural networks consist of operations that consume tensors and produce tensors. Neural networks can be used to solve complex problems; however, because the size of the network and the amount of operations that can be performed to produce a solution can be voluminous, the time it takes for the network to complete the task can be long. Furthermore, because these tasks can be performed on mobile devices (which may have limited computing power), the computational cost of deep neural networks can be problematic.

[0006] A convolutional neural network is a feed-forward artificial neural network. A convolutional neural network may include a collection of neurons, each of which has a receptive field and collectively spells out an input space. Convolutional neural networks (CNNs), such as deep convolutional neural networks (DCNs), have numerous applications. Specifically, these neural network architectures are used in a variety of technologies, such as image recognition, pattern recognition, speech recognition, autonomous driving, and other classification tasks. Summary of the invention

[0007] The present disclosure is set out in the independent claims respectively. Some aspects of the present disclosure are described in the dependent claims.

[0008] In one aspect of the present disclosure, a processor-implemented method includes transmitting a radio frequency (RF) signal. The method also includes receiving one or more return RF signals in response to the transmitted RF signal. The method also includes extracting features of the one or more return RF signals. The method also includes generating a graph including a plurality of nodes. Each node corresponds to the one or more return RF signals and indicates a potential target object detection. The method also includes determining the presence of a plurality of edges. Each edge connects a pair of nodes in the graph based on features of the return RF signals. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object.

[0009] In another aspect of the present disclosure, a device is proposed. The device includes a component for transmitting a radio frequency (RF) signal. The device also includes a component for receiving one or more return RF signals in response to the transmitted RF signal. The device also includes a component for extracting features of one or more return RF signals. The device also includes a component for generating a graph including a plurality of nodes. Each node corresponds to one or more return RF signals and indicates a potential target object detection. The device also includes a component for determining the presence of a plurality of edges. Each edge connects a pair of nodes in the graph based on features of the return RF signals. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object.

[0010] In another aspect of the present disclosure, a non-transitory computer-readable medium having non-transitory program code recorded thereon is disclosed. The program code is executed by a processor and includes program code for sending a radio frequency (RF) signal. The program code also includes program code for receiving one or more return RF signals in response to the sent RF signal. The program code also includes program code for extracting features of one or more return RF signals. The program code also includes program code for generating a graph including a plurality of nodes. Each node corresponds to one or more return RF signals and indicates a potential target object detection. The program code also includes program code for determining the presence of a plurality of edges. Each edge connects a pair of nodes in the graph based on features of the return RF signal. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object.

[0011] In another aspect of the present disclosure, a device is proposed. The device has a memory and one or more processors coupled to the memory. The processor is configured to send a radio frequency (RF) signal. The processor is further configured to receive one or more return RF signals in response to the sent RF signal. The processor is further configured to extract features of the one or more return RF signals. The processor is also configured to generate a graph including a plurality of nodes. Each node corresponds to one or more return RF signals and indicates a potential target object detection. The processor is further configured to determine the presence of a plurality of edges, each edge connecting a pair of nodes in the graph based on features of the return RF signals. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object.

[0012] In one aspect of the present disclosure, a processor-implemented method includes receiving a data set including one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections. The method also includes training a classifier to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection in the one or more radar detections, and the edges connecting pairs of nodes based on the identification of the reference real object.

[0013] Another aspect of the present disclosure relates to an apparatus that includes means for receiving a data set that includes one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections. The apparatus also includes means for training a classifier to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection in the one or more radar detections, and the edges connecting pairs of nodes based on the identification of the reference real object.

[0014] In another aspect of the present disclosure, a non-transitory computer-readable medium having non-transitory program code recorded thereon is disclosed. The program code is executed by a processor and includes program code for receiving a data set, the data set including one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections. The program code also includes program code for training a classifier to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection in the one or more radar detections, and the edges connecting pairs of nodes based on the identification of the reference real object.

[0015] Another aspect of the present disclosure relates to an apparatus having a memory and one or more processors coupled to the memory. The processor is configured to receive a data set including one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections. The processor is further configured to train a classifier to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection in the one or more radar detections, and the edges connecting pairs of nodes based on the identification of the reference real object.

[0016] Additional features and advantages of the present disclosure will be described below. It will be appreciated by those skilled in the art that the present disclosure can be easily used as a basis for modifying or designing other structures for implementing the same purpose as the present disclosure. It will also be appreciated by those skilled in the art that such equivalent constructions do not depart from the teachings of the present disclosure as set forth in the appended claims. The novel features considered to be characteristic of the present disclosure, both in terms of its organization and method of operation, together with further objects and advantages, will be better understood when the following description is considered in conjunction with the accompanying drawings. However, it is to be expressly understood that each of the drawings is provided for illustration and description purposes only and is not intended as a definition of limitations of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The features, nature and advantages of the present disclosure will become more apparent when the detailed description set forth below is read in conjunction with the accompanying drawings, in which like reference numerals are correspondingly identified throughout.

[0018] Figure 1An example implementation of a neural network using a system on a chip (SoC) including a general purpose processor in accordance with certain aspects of the present disclosure is illustrated.

[0019] Figure 2A , Figure 2B and Figure 2C is a diagram illustrating a neural network according to aspects of the present disclosure.

[0020] Figure 2D is a diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.

[0021] Figure 3 is a block diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.

[0022] Figure 4 is a block diagram illustrating an exemplary software architecture that can modularize artificial intelligence (AI) functionality.

[0023] Figure 5A is a diagram illustrating an example polar coordinate grid in accordance with aspects of the present disclosure.

[0024] Figure 5B is a diagram of an example graph 550 illustrating radar clustering using an artificial neural network in accordance with aspects of the present disclosure.

[0025] Figure 6 is a flow chart illustrating a method for radar-based tracking of an object in accordance with aspects of the present disclosure.

[0026] Figure 7 is a flow chart illustrating a method for training a classifier via an artificial neural network for radar clustering according to aspects of the present disclosure. DETAILED DESCRIPTION

[0027] The specific embodiments described below in conjunction with the accompanying drawings are intended as descriptions of various configurations and are not intended to represent the only configurations in which the described concepts can be practiced. In order to provide a comprehensive understanding of the various concepts, the specific embodiments include specific details. However, it is obvious to those skilled in the art that these concepts can be practiced without these specific details. In some instances, in order to avoid blurring such concepts, known structures and components are shown in block diagram form.

[0028] Based on the teachings, those skilled in the art will recognize that the scope of the present disclosure is intended to cover any aspect of the present disclosure, whether the aspect is implemented independently of any other aspect of the present disclosure or implemented in combination with any other aspect. For example, a device or a method can be implemented using any number of aspects described. In addition, the scope of the present disclosure is intended to cover such devices or methods that are practiced using other structures, functionality, or structures and functionality that are supplementary to or different from the various aspects of the present disclosure described. It should be understood that any aspect of the present disclosure disclosed can be embodied by one or more elements of the claims.

[0029] The word “exemplary” is used to mean “serving as an example, instance, or illustration.” Any aspect described as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0030] Although specific aspects are described, numerous variations and permutations of these aspects fall within the scope of the present disclosure. Although some benefits and advantages of preferred aspects are mentioned, the scope of the present disclosure is not intended to be limited to specific benefits, uses or purposes. On the contrary, various aspects of the present disclosure are intended to be widely applicable to different technologies, system configurations, networks and protocols, some of which are illustrated by way of example in the drawings and the following description of preferred aspects. The specific embodiments and drawings are merely illustrative of the present disclosure and are not limiting, and the scope of the present disclosure is defined by the appended claims and their equivalents.

[0031] Radars are some of the most commonly used sensors in autonomous driving. The time of flight of reflections from transmitted radar pulses is used to determine the location and relative speed of objects around the radar.

[0032] Object tracking applications using radar sensors associate the obtained radar echoes with the trajectory of the vehicle that the system has detected and is tracking. Radar echoes (which may also be referred to as radar reflections or radar pings) can be considered as signal indications of objects that have reflected the energy sent by the main radar signal. It is important to perform the correct association because cross-correlation may cause trajectory divergence and ultimate tracking failure. Simply associating radar echoes to the tracked vehicle based only on proximity and relative speed is often flawed. This is especially true when there is a high density of vehicles, which may cause reflections from multiple vehicles to appear close to each other, or a single light ray to experience multiple reflections from multiple surfaces. An improvement to this simple technique is to group pings that may come from the same vehicle by performing a clustering operation, thereby first performing a preprocessing step on the radar pings (radar echoes) in each frame. An association step can also be performed, in which clusters are associated with the tracked vehicle. Conventional clustering algorithms such as K nearest neighbors work, for example, using extensive fine-tuning. Additionally, in an attempt to prevent cross-correlation, conventional clustering algorithms may be tuned to work in a highly under-clustered regime, where the clustering step is uncertain for many pings, leaving a lot of work to the correlation step. This situation is often faced when there are large vehicles, such as trucks, in the scene or environment where the primary radar signal is transmitted. Radar echoes from such vehicles may be separated by large distances due to the large size of the vehicle, making clustering these echoes together a challenging task.

[0033] To address these and other challenges, aspects of the present disclosure relate to a robust radar clustering process that learns to incorporate prior radar detections from the environment to improve, and in some aspects significantly improve, clustering accuracy. The clustering process involves building a graph of N nodes, with one node for each ping received in a radar frame (a frame is a collection of periodic segments of a radar signal wave), and the graph also includes edges between each pair of pings that a trained classifier can determine to be from the same object. Once the graph is created, a process for determining connected components within the graph (such as a depth-first search) can determine the connected components of the graph. The process can generate clusters formed from the component list as output.

[0034] Figure 1An example implementation of a system on chip (SoC) 100 is illustrated, which may include a central processing unit (CPU) 102 or a multi-core CPU configured for radar clustering to track an object using an artificial neural network. Variables (e.g., neural signals and synaptic weights), system parameters associated with a computing device (e.g., a neural network with weights), delays, frequency bin information, and task information may be stored in a memory block associated with a neural processing unit (NPU) 108, a memory block associated with the CPU 102, a memory block associated with a graphics processing unit (GPU) 104, a memory block associated with a digital signal processor (DSP) 106, a memory block 118, or may be distributed across multiple blocks. Instructions executed at the CPU 102 may be loaded from a program memory associated with the CPU 102, or may be loaded from the memory block 118.

[0035] The SoC 100 may also include additional processing blocks tailored for specific functions, such as a GPU 104, a DSP 106, a connectivity block 110 (which may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, etc.), and a multimedia processor 112 that may, for example, detect and recognize gestures. In one specific implementation, the NPU 108 is implemented in the CPU 102, the DSP 106, and / or the GPU 104. The SoC 100 may also include a sensor processor 114, an image signal processor (ISP) 116, and / or a navigation module 120 (which may include a global positioning system).

[0036] SoC 100 may be based on the ARM instruction set. In one aspect of the present disclosure, the instructions loaded into the general processor 102 may include code for sending a radio frequency (RF) signal. The general processor 102 may also include code for receiving one or more return RF signals in response to the sent RF signal. The general processor 102 may also include code for extracting features of one or more return RF signals. The general processor 102 may also include code for generating a graph including a plurality of nodes. Each node corresponds to one or more return RF signals and indicates a potential target object detection. The general processor 102 may include code for determining the presence of a plurality of edges. Each edge connects a pair of nodes in the graph based on features of the return RF signal. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object.

[0037] In another aspect of the present disclosure, the instructions loaded into the general purpose processor 102 may include code for receiving a data set including one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections. The general purpose processor 102 may also include code for training a classifier to construct a graph having nodes connected by a plurality of edges. Each node corresponds to a radar detection in the one or more radar detections, and the edges connect pairs of nodes based on the identification of the reference real object.

[0038] Deep learning architectures can perform object recognition tasks by learning to represent inputs at successively higher levels of abstraction in each layer, thereby constructing useful feature representations of the input data. In this way, deep learning solves the main bottleneck of traditional machine learning. Before the advent of deep learning, machine learning methods for object recognition problems may rely heavily on human-designed features, possibly in conjunction with shallow classifiers. A shallow classifier can be a two-class linear classifier, for example, in which the weighted sum of feature vector components can be compared to a threshold to predict which class the input belongs to. Human-designed features can be templates or kernels customized for a specific problem domain by engineers with domain expertise. In contrast, while deep learning architectures can learn to represent features similar to those that human engineers might design, they require training. In addition, deep networks can learn to represent and recognize new types of features that humans may not have considered.

[0039] Deep learning architectures can learn hierarchies of features. For example, if presented with visual data, the first layer can learn to recognize relatively simple features in the input stream, such as edges. In another example, if presented with auditory data, the first layer can learn to recognize spectral power in specific frequencies. The second layer, taking the output of the first layer as input, can learn to recognize combinations of features, such as simple shapes for visual data or combinations of sounds for auditory data. For example, higher layers can learn to represent complex shapes in visual data or words in auditory data. Even higher layers can learn to recognize common visual objects or spoken phrases.

[0040] Deep learning architectures can perform particularly well when applied to problems that have a natural hierarchical structure. For example, the classification of motorized vehicles can benefit from first learning to recognize wheels, windshields, and other features. These features can be combined in different ways at higher levels to recognize cars, trucks, and airplanes.

[0041] Neural networks can be designed to have a variety of connectivity patterns. In a feedforward network, information is passed from lower layers to higher layers, where each neuron in a given layer communicates with neurons in a higher layer. As described above, hierarchical representations can be constructed in successive layers of a feedforward network. Neural networks can also have loops or feedback (also known as top-down) connections. In a loop connection, the output from a neuron in a given layer can be communicated to another neuron in the same layer. The loop architecture can help identify patterns that span more than one input data block in the input data blocks that are sequentially delivered to the neural network. The connection from a neuron in a given layer to a neuron in a lower layer is called a feedback (or top-down) connection. A network with many feedback connections may be helpful when the recognition of high-level concepts can assist in discerning specific low-level features of the input.

[0042] The connections between neural network layers can be fully connected or partially connected. Figure 2A An example of a fully connected neural network 202 is illustrated. In a fully connected neural network 202, a neuron in a first layer may communicate its output to each neuron in a second layer, such that each neuron in the second layer will receive input from each neuron in the first layer. Figure 2B An example of a locally connected neural network 204 is illustrated. In the locally connected neural network 204, neurons in a first layer may be connected to a limited number of neurons in a second layer. More generally, the locally connected layers of the locally connected neural network 204 may be configured such that each neuron in the layer will have the same or similar connectivity pattern, but the connection strengths may have different values ​​(e.g., 210, 212, 214, and 216). The locally connected connectivity patterns may produce spatially different receptive fields in higher layers because higher layer neurons in a given area may receive input that is tuned through training to properties of a limited portion of the total input to the network.

[0043] An example of a locally connected neural network is a convolutional neural network. Figure 2C An example of a convolutional neural network 206 is illustrated. The convolutional neural network 206 may be configured such that the connection strengths associated with the inputs of each neuron in the second layer are shared (e.g., 208). Convolutional neural networks may be well suited for problems where the spatial location of the inputs is meaningful.

[0044] One type of convolutional neural network is a deep convolutional network (DCN). Figure 2DA detailed example of a DCN 200 designed to recognize visual features from an image 226 input from an image capture device 230 (such as a vehicle-mounted camera) is illustrated. The DCN 200 of the current example can be trained to identify traffic signs and numbers provided on traffic signs. Of course, the DCN 200 can be trained for other tasks, such as identifying lane markings or identifying traffic lights.

[0045] The DCN 200 may be trained by supervised learning. During training, an image (such as an image 226 of a speed limit sign) may be presented to the DCN 200, and a forward pass may then be calculated to produce an output 222. The DCN 200 may include a feature extraction portion and a classification portion. Upon receiving the image 226, a convolutional layer 232 may apply a convolutional kernel (not shown) to the image 226 to generate a first set of feature maps 218. As an example, the convolutional kernel of the convolutional layer 232 may be a 5x5 kernel that generates a 28x28 feature map. In this example, because four different feature maps are generated in the first set of feature maps 218, four different convolutional kernels are applied to the image 226 at the convolutional layer 232. A convolutional kernel may also be referred to as a filter or a convolution filter.

[0046] The first set of feature maps 218 may be subsampled by a max pooling layer (not shown) to generate a second set of feature maps 220. The max pooling layer reduces the size of the first set of feature maps 218. That is, the size of the second set of feature maps 220 (such as 14x14) is smaller than the size of the first set of feature maps 218 (such as 28x28). The reduced size provides similar information to subsequent layers while reducing memory consumption. The second set of feature maps 220 may be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more sets of subsequent feature maps (not shown).

[0047] exist Figure 2D In the example of , the second set of feature maps 220 are convolved to generate a first feature vector 224. In addition, the first feature vector 224 is further convolved to generate a second feature vector 228. Each feature of the second feature vector 228 may include a number corresponding to a possible feature of the image 226, such as "sign", "60", and "100". A softmax function (not shown) may convert the numbers in the second feature vector 228 into probabilities. Therefore, the output 222 of the DCN 200 is the probability that the image 226 includes one or more features.

[0048] In this example, the probability of "logo" and "60" in output 222 is higher than the probability of other numbers (such as "30", "40", "50", "70", "80", "90", and "100") in output 222. Before training, output 222 generated by DCN 200 may be incorrect. Therefore, the error between output 222 and the target output can be calculated. The target output is the ground truth value of image 226 (e.g., "logo" and "60"). The weights of DCN 200 can then be adjusted so that the output 222 of DCN 200 is more closely aligned with the target output.

[0049] To adjust the weights, the learning algorithm may calculate a gradient vector for the weights. The gradient may indicate the amount by which the error will increase or decrease when the weights are adjusted. At the top layer, the gradient may correspond directly to the value of the weights connecting the activated neurons in the penultimate layer and the neurons in the output layer. In lower layers, the gradient may depend on the value of the weights and the calculated error gradients of the higher layers. The weights may then be adjusted to reduce the error. This manner of adjusting weights may be referred to as "backward propagation" because it involves a "backward pass" through the neural network.

[0050] In practice, the error gradient of the weights can be calculated over a small number of examples so that the calculated gradient is close to the true error gradient. This approximation method may be referred to as stochastic gradient descent. Stochastic gradient descent may be repeated until the achievable error rate of the entire system stops decreasing or until the error rate reaches a target level. After learning, new images may be presented to the DCN, and a forward pass through the network may produce an output 222 that may be considered an inference or prediction of the DCN.

[0051] A Deep Belief Network (DBN) is a probabilistic model that includes multiple layers of hidden nodes. A DBN can be used to extract a hierarchical representation of a training data set. A DBN can be obtained by stacking layers of Restricted Boltzmann Machines (RBMs). RBMs are a type of artificial neural network that can learn a probability distribution over a set of inputs. Because RBMs can learn probability distributions without information about the category to which each input should be classified, RBMs are often used for unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of a DBN can be trained in an unsupervised manner and can be used as a feature extractor, while the top RBM can be trained in a supervised manner (on the joint distribution of inputs from the previous layer and the target class) and can be used as a classifier.

[0052] A deep convolutional network (DCN) is a network that is a convolutional network configured with additional pooling and normalization layers. DCNs have achieved state-of-the-art performance on many tasks. DCNs can be trained using supervised learning, where both the input and output targets are known for many examples and are used to modify the weights of the network by using a gradient descent method.

[0053] The DCN may be a feed-forward network. In addition, as described above, the connections from a neuron in the first layer of the DCN to a set of neurons in the next higher layer are shared across the neurons in the first layer. The feed-forward and shared connections of the DCN can be used for fast processing. For example, the computational burden of the DCN may be much smaller than that of a similarly sized neural network that includes loops or feedback connections.

[0054] The processing of each layer of the convolutional network can be thought of as a spatially invariant template or basis projection. If the input is first decomposed into multiple channels, such as the red, green, and blue channels of a color image, then the convolutional network trained on the input can be thought of as three-dimensional, with two spatial dimensions along the axes of the image and the third dimension capturing color information. The output of the convolutional connection can be thought of as forming a feature map in a subsequent layer, each element in the feature map (e.g., 220) receiving input from a range of neurons in the previous layer (e.g., feature map 218) and from each of the multiple channels. The values ​​in the feature map can be further processed with nonlinearities (such as correction, max(0,x)). The values ​​from neighboring neurons can be further pooled, which corresponds to downsampling and can provide additional local invariance and dimensionality reduction. Normalization corresponding to whitening can also be applied by lateral inhibition between neurons in the feature map.

[0055] The performance of deep learning architectures can increase as more labeled data points become available or as computing power increases. Modern deep neural networks are often trained with computing resources that are thousands of times greater than what was available to a typical researcher just fifteen years ago. New architectures and training paradigms can further improve the performance of deep learning. Rectified linear units can reduce the training problem known as vanishing gradients. New training techniques can reduce overfitting, allowing larger models to achieve better generalization. Encapsulation techniques can extract data within a given receptive field and further improve overall performance.

[0056] Figure 3 is a block diagram illustrating a deep convolutional network 350. Based on connectivity and weight sharing, the deep convolutional network 350 may include multiple different types of layers. Figure 3As shown, the deep convolution network 350 includes convolution blocks 354A and 354B. Each of the convolution blocks 354A and 354B may be configured with a convolution layer (CONV) 356, a normalization layer (LNorm) 358, and a maximum pooling layer (MAX POOL) 360.

[0057] The convolution layer 356 may include one or more convolution filters that may be applied to the input data to generate a feature map. Although only two convolution blocks 354A, 354B are shown, the present disclosure is not limited thereto, but instead, any number of convolution blocks 354A, 354B may be included in the deep convolution network 350 according to design preferences. The normalization layer 358 may normalize the output of the convolution filter. For example, the normalization layer 358 may provide whitening or lateral suppression. The maximum pooling layer 360 may provide spatial downsampling aggregation to achieve local invariance and dimensionality reduction.

[0058] For example, the parallel filter banks of the deep convolutional network may be loaded onto the CPU 102 or GPU 104 of the SoC 100 to achieve high performance and low power consumption. In alternative embodiments, the parallel filter banks may be loaded onto the DSP 106 or ISP 116 of the SoC 100. In addition, the deep convolutional network 350 may access other processing blocks that may be present on the SoC 100, such as the sensor processor 114 and the navigation module 120 dedicated to sensors and navigation, respectively.

[0059] The deep convolutional network 350 may also include one or more fully connected layers 362 (FC1 and FC2). The deep convolutional network 350 may also include a logistic regression (LR) layer 364. There are weights (not shown) to be updated between each layer 356, 358, 360, 362, 364 of the deep convolutional network 350. The output of each of these layers (e.g., 356, 358, 360, 362, 364) can be used as an input to a subsequent layer of these layers (e.g., 356, 358, 360, 362, 364) in the deep convolutional network 350 to learn a hierarchical feature representation from the input data 352 (e.g., image, audio, video, sensor data, and / or other input data) supplied at the first convolutional block 354A. The output of the deep convolutional network 350 is a classification score 366 for the input data 352. The classification score 366 can be a set of probabilities, where each probability is a probability that the input data includes a feature from a set of features.

[0060] Figure 44 is a block diagram illustrating an exemplary software architecture 400 that can modularize artificial intelligence (AI) functions. According to aspects of the present disclosure, by using the architecture, an application can be designed that can enable various processing blocks (e.g., CPU 422, DSP 424, GPU 426, and / or NPU 428) of a system on chip (SoC) 420 to support adaptive rounding as disclosed for post-training quantization of AI application 402.

[0061] The AI ​​application 402 may be configured to call functions defined in the user space 404, which may, for example, provide detection and recognition of scenes indicating the current operating location of the device. For example, the AI ​​application 402 may configure the microphone and camera differently depending on whether the recognized scene is an office, a lecture hall, a restaurant, or an outdoor environment such as a lake. The AI ​​application 402 may make a request for compiled program code associated with a library defined in the AI ​​function application programming interface (API) 406. The request may ultimately rely on the output of a deep neural network configured to provide an inferred response based on, for example, video and positioning data.

[0062] The runtime engine 408 (which may be compiled code of the runtime framework) may further be accessible by the AI ​​application 402. For example, the AI ​​application 402 may cause the runtime engine to request inference at a specific time interval or triggered by an event detected by the user interface of the application. When the runtime engine is caused to provide an inference response, the runtime engine may in turn transmit a signal to an operating system (such as a Linux kernel 412) in an operating system (OS) space running on the SoC 420. The operating system may then cause continuous quantization relaxation to be performed on the CPU 422, DSP 424, GPU 426, NPU 428, or some combination thereof. The CPU 422 may be directly accessible by the operating system, while other processing blocks may be accessed through drivers (such as drivers 414, 416, or 418 for DSP 424, GPU 426, or NPU 428, respectively). In an exemplary example, a deep neural network may be configured to run on a combination of processing blocks (such as CPU 422, DSP 424, and GPU 426), or may run on NPU 428.

[0063] Application 402 (e.g., an AI application) can be configured to call functions defined in user space 404, which can, for example, provide detection and recognition of scenes indicating the current operating location of the device. For example, application 402 can configure microphones and cameras differently depending on whether the identified scene is an office, a lecture hall, a restaurant, or an outdoor environment such as a lake. Application 402 can make a request to compiled program code associated with a library defined in a scene detection (SceneDetect) application programming interface (API) 406 to provide an estimate of the current scene. The request can ultimately rely on the output of a differential neural network configured to provide scene estimates based on, for example, video and positioning data.

[0064] The runtime engine 408 (which may be compiled code of the runtime framework) may further be accessible by the application 402. For example, the application 402 may cause the runtime engine to request scene estimation at a specific time interval or triggered by an event detected by the user interface of the application. When the runtime engine is caused to estimate the scene, the runtime engine may in turn transmit a signal to an operating system 410 (such as a Linux kernel 412) running on the SoC 420. The operating system 410 may then cause the calculation to be performed on the CPU 422, the DSP 424, the GPU 426, the NPU 428, or some combination thereof. The CPU 422 may be directly accessible by the operating system, while the other processing blocks may be accessed through drivers (such as drivers 414-418 for the DSP 424, the GPU 426, or the NPU 428, respectively). In an exemplary example, the differential neural network may be configured to run on a combination of processing blocks (such as the CPU 422 and the GPU 426), or may run on the NPU 428.

[0065] As described above, aspects of the present disclosure relate to a radar clustering process that learns to incorporate priors from the environment to improve, and in some aspects significantly improve, clustering accuracy. The radar clustering process involves building a graph of N nodes corresponding to each radar ping or return signal (which may be referred to as a detection) received in a radar frame. The graph also includes edges between each pair of pings or detections that the trained classifier determines to be reflected from the same object. In some aspects, the classifier may be, for example, a multilayer perceptron (MLP).

[0066] A set of features of the radar ping or return signal may be extracted. For example, the features may be extracted by subjecting the input to one or more convolutional layers (e.g., Figure 3Input features may include, for example, coordinates of the ping or detection resolved along the radar axis (e.g., polar or Cartesian), the longitudinal component of relative velocity estimated from Doppler measurements as Doppler / cosine (azimuth measured relative to the forward direction), the radar cross section (RCS) of the ping or detection, or the sine of the azimuth of the ping or detection. Additionally, in some aspects, global frame-level features (such as the density of points near a ping or detection) may be used to determine if an edge exists between two nodes, thus indicating that corresponding pings are from the same object.

[0067] The input features can be supplied to a trained classifier, which can generate a prediction of the presence of an edge. In this way, the prediction can provide an indication of whether the return signals connected by the edge are the same object.

[0068] Once the graph is created, a process for determining connected components within the graph, such as a depth-first search, can determine the connected components of the graph. The process can generate clusters formed from the list of components as output.

[0069] In some aspects, the network can be trained using annotated data (e.g., data collected on a highway). The data can be annotated so that all pings or detections are associated with an identification (ID) of a reference real object that produced the ping. The data from each radar frame can then construct a graph with vertices or nodes representing pings and edges, such that there can be an edge between each pair of nodes that are included as positive samples when training the classifier. The graph construction and subsequent sample selection for training can be performed to improve and in some aspects optimize the ease with which learning determines the presence of an edge.

[0070] According to various aspects of the present disclosure, edges may be added between nodes corresponding to a pair of pings from the same object (e.g., a vehicle) based on a proximity threshold. For example, if the proximity between radar pings is within a proximity threshold (e.g., two meters), an edge may be added. Then, the nodes corresponding to the pings from each object may form multiple connected components. Additional edges may be added gradually between pings from the same object but different connected components until the remaining nodes from the object are connected. In some aspects, only the shortest edges between components are considered. Each node pair in the node pairs connected by the edge in the resulting graph is considered a positive sample for training a classifier. In addition, in order to promote the invariance of the learned classifier (e.g., MLP) to the ordering of the input pings, for each pair of pings used as samples in training, a corresponding exchange pair with a flipped ping ordering may also be included as a positive training sample.

[0071] On the other hand, each ping from a different object that is closest to the target object can be used as a negative training example. In this way, the most difficult negative examples (those most likely to cause false detections) can be included in the training set.

[0072] Figure 5A 5 is a diagram illustrating an example polar grid 500 according to aspects of the present disclosure. A transmitter (e.g., a transmit antenna array) of a radar 502 may transmit a pulse of electromagnetic radio frequency (RF) waves. The transmitted RF waves may reflect from one or more objects encountered in the transmit path. The objects may be, for example, vehicles, people, building structures, or other objects. A portion of the electromagnetic RF waves reflected from the objects may return to a receiver (e.g., a receive antenna array) of the radar 502.

[0073] In one aspect, radar 502 can be an imaging radar that scans horizontally and vertically using beamforming. Beamforming is a technique for aiming the effective direction of a radar beam by varying the delays between different transmit antennas so that the signals add constructively in a specified direction. Thus, radar 502 can scan horizontally and vertically across a sensing area by using a transmitter that includes an electronically steered antenna array (not shown). Radar 502 can be positioned at a fixed location or can be mobile (e.g., coupled to a vehicle).

[0074] The return response (radar echo or ping) measured by the radar 502 can be characterized as a polar coordinate grid 500 with observation cells 506. Each cell 506 represents the return response value measured at a specific range (r) and angle / azimuth (θ). Each cell 506 is alternatively referred to as a range-angle bin. Features 508a-c (e.g., return response) can be extracted from the cell 506 to determine whether the feature 508a-c is an indication of an object. Each feature (e.g., 508a-c) within the corresponding cell 506 can be identified as having parameters such as range, Doppler measurement, azimuth, and elevation. As an example, the feature 508 within the cell 506 can be a signal-to-noise ratio (SNR) calculated by a constant false alarm rate (CFAR) algorithm. However, it should be understood that other methods can be used to target and identify the feature 508 within the cell 506.

[0075] As described above, a graph may be constructed where each ping or return response in a radar frame (e.g., each feature 508a-c) may be represented as a node. The features 508 may be input to a neural network to determine whether an edge connection exists between each pair of nodes based on the features 508.

[0076] Figure 5B is a diagram of an example graph 550 illustrating radar clustering using an artificial neural network in accordance with aspects of the present disclosure. Figure 5B, features 508a-c are represented as corresponding nodes 558a-c, respectively, in graph 550. Radar data for each of nodes 558a-c may be analyzed, for example, using a depth-first search to determine whether the nodes (e.g., 558a-c) correspond to the same object. Figure 5B As shown, considering the radar data (e.g., Doppler measurements) corresponding to node 558b and node 558c, nodes 558b and 558c can be determined to be from the same object. Therefore, edge 552 is included in graph 550 connecting nodes 558b and 558c. Conversely, considering the radar data (e.g., Doppler measurements) corresponding to node 558a and node 558b, nodes 558a and 558b can be determined to be from different objects.

[0077] Figure 6 6 is a flow chart illustrating a method 600 for radar-based tracking of an object using radar clustering via an artificial neural network according to aspects of the present disclosure. The method may be implemented by, for example, a processor. Figure 6 As shown, at block 602, method 600 transmits a radio frequency (RF) signal. For example, as described with reference to FIG5, a transmitter (eg, a transmit antenna array) of radar 502 may transmit pulses of electromagnetic radio frequency (RF) waves.

[0078] At block 604, the method 600 receives one or more return RF signals in response to the transmitted RF signal. As described with reference to FIG5, the transmitted RF wave may be reflected from one or more objects encountered in the transmission path. A portion of the electromagnetic RF wave reflected from the object may be returned to a receiver (e.g., a receiving antenna array) of the radar 502.

[0079] At block 606, method 600 extracts features of one or more returned RF signals. As described above, a set of features of the radar ping or return signal may be extracted. For example, the features may be extracted by subjecting the input to one or more convolutional layers (e.g., Figure 3 Input features may include, for example, the x and y coordinates of the ping or detection resolved along the radar axis, the longitudinal component of relative velocity estimated from Doppler measurements as Doppler / cosine (azimuth measured relative to the forward direction), the radar cross section (RCS) of the ping or detection, or the sine of the azimuth of the ping or detection.

[0080] At block 608, method 600 generates a graph including a plurality of nodes. Each node corresponds to one or more return RF signals and indicates a potential target object detection. As described above, the radar clustering process involves constructing a graph of N nodes corresponding to each radar ping or return signal (which may be referred to as a detection) received in a radar frame.

[0081] At box 610, method 600 determines the presence of multiple edges. Each edge connects a pair of nodes in the graph based on the characteristics of the return RF signal. The presence of each edge indicates that the connected pair of nodes corresponds to the same target object. As described above, edges can be added between each pair of pings from the same vehicle based on a proximity threshold. For example, if the proximity between radar pings is within a proximity threshold (e.g., two meters), an edge can be added. The nodes corresponding to the pings from each object can then form multiple connected components. Additional edges can be added incrementally between pings from the same object but with different connected components until the remaining nodes from the object are connected.

[0082] Figure 7 is a flow chart illustrating a method 700 for training a classifier via an artificial neural network for radar clustering according to aspects of the present disclosure. The method may be implemented by, for example, a processor. Figure 7 As shown, at block 702 , method 700 receives a data set including one or more radar detections associated with an identification of a reference real object that generated each of the one or more radar detections.

[0083] At box 704, method 700 trains a classifier to build a graph with nodes connected by multiple edges, each node corresponding to a radar detection in one or more radar detections, and the edge connects the node pair based on the identification of the reference real object. In some aspects, the classifier is trained to determine the edge connecting the node pair when the node corresponds to the same identification of the reference real object. In addition, in some aspects, an edge can be added between nodes corresponding to a pair of pings from the same object (e.g., a vehicle) based on a proximity threshold. For example, if the proximity between the radar pings is within a proximity threshold (e.g., two meters), an edge can be added. Then, the nodes corresponding to the pings from each object can form multiple connected components. Additional edges can be added stepwise between pings from the same object but different connected components until the remaining nodes from the object are connected. In some aspects, only the shortest edge between components is considered. Each node pair in the node pair connected by the edge in the resulting graph is considered as a positive sample for training the classifier. Additionally, to promote invariance of the learned classifier (eg, MLP) to the ordering of the input pings, for each pair of pings used as samples in training, the corresponding swapped pair with flipped ping ordering may also be included as a positive training sample.

[0084] Specific implementation examples are provided in the following numbered clauses:

[0085] 1. A processor-implemented method, comprising:

[0086] Sending a radio frequency (RF) signal;

[0087] receiving one or more return RF signals in response to the transmitted RF signal;

[0088] extracting characteristics of the one or more returned RF signals;

[0089] generating a graph comprising a plurality of nodes, each node corresponding to the one or more return RF signals and indicating a potential target object detection; and

[0090] The presence of a plurality of edges is determined, each edge connecting a pair of nodes in the graph based on a characteristic of the return RF signal, the presence of each edge indicating that the connected pair of nodes corresponds to a same target object.

[0091] 2. The processor-implemented method of clause 1, further comprising tracking the target object based on the determined existence of each edge.

[0092] 3. A processor-implemented method according to clause 1 or 2, further comprising:

[0093] Determine the coordinates of each node along the radar axis;

[0094] Calculating distances between nodes based on the coordinates; and

[0095] The distance is compared to a proximity threshold.

[0096] 4. A processor-implemented method according to any of clauses 1 to 3, wherein the identity of the target object is predicted based on one of the characteristics of the one or more returning RF signals.

[0097] 5. A processor-implemented method as described in any of clauses 1 to 4, wherein the determining is invariant to the order in which the return RF signals are received.

[0098] 6. A processor-implemented method as described in any of clauses 1 to 5, wherein the RF signal comprises a radar signal.

[0099] 7. A processor-implemented method according to any one of clauses 1 to 6, wherein the RF signal is transmitted in the direction of a target object including a vehicle or a pedestrian.

[0100] 8. An apparatus comprising:

[0101] Memory; and

[0102] at least one processor coupled to the memory, the at least one processor

[0103] Configured as:

[0104] Sending a radio frequency (RF) signal;

[0105] receiving one or more return RF signals in response to the transmitted RF signal;

[0106] extracting characteristics of the one or more returned RF signals;

[0107] generating a graph comprising a plurality of nodes, each node corresponding to the one or more return RF signals and indicating a potential target object detection; and

[0108] The presence of a plurality of edges is determined, each edge connecting a pair of nodes in the graph based on the characteristic of the return RF signal, the presence of each edge indicating that the connected pair of nodes corresponds to a same target object.

[0109] 9. The apparatus of clause 8, wherein the at least one processor is further configured to track the target object based on the determined presence of each edge.

[0110] 10. An apparatus according to clause 8 or 9, wherein the at least one processor is further configured to:

[0111] Determine the coordinates of each node along the radar axis;

[0112] Calculating distances between nodes based on the coordinates; and

[0113] The distance is compared to a proximity threshold.

[0114] 11. An apparatus according to any of clauses 8 to 10, wherein the at least one processor is further configured to predict the identity of the target object based on one of the characteristics of the one or more returning RF signals.

[0115] 12. An apparatus according to any of clauses 8 to 11, wherein the at least one processor is further configured to determine the presence of the plurality of edges in a manner that is invariant to an order in which the return RF signals are received.

[0116] 13. An apparatus according to any of clauses 8 to 12, wherein the RF signal comprises a radar signal.

[0117] 14. An apparatus according to any of clauses 8 to 13, wherein the RF signal is transmitted in the direction of a target object including a vehicle or a pedestrian.

[0118] 15. A processor-implemented method comprising:

[0119] receiving a data set comprising one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections; and

[0120] A classifier is trained to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection of the one or more radar detections, and the edges connect pairs of nodes based on the identification of the reference real object.

[0121] 16. The processor-implemented method of clause 15, wherein the classifier is further trained to determine the edge connecting a pair of radar detections corresponding to nodes based on a proximity threshold.

[0122] 17. A processor-implemented method according to clause 15 or 16, wherein the classifier is further trained to progressively add additional edges between radar detections from the same object but different connected components.

[0123] 18. A processor-implemented method according to any of clauses 15 to 17, wherein the classifier is further trained to incrementally add only the shortest of the additional edges between radar detections from the same object but different connected components.

[0124] 19. A processor-implemented method according to any of clauses 15 to 18, wherein each pair of connected nodes is a positive training sample in a first set of positive training samples.

[0125] 20. The processor-implemented method of any of clauses 15 to 19, further comprising training the classifier with negative training examples, each negative training example comprising a second radar detection corresponding to a different object closest to the target object.

[0126] 21. An apparatus comprising:

[0127] Memory; and

[0128] at least one processor coupled to the memory, the at least one processor

[0129] Configured as:

[0130] receiving a data set comprising one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections; and

[0131] A classifier is trained to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection of the one or more radar detections, and the edges connect pairs of nodes based on the identification of the reference real object.

[0132] 22. The apparatus of clause 21, wherein the at least one processor is further configured to train the classifier to determine the edge connecting a pair of radar detections corresponding to nodes based on a proximity threshold.

[0133] 23. An apparatus according to clause 21 or 22, wherein the at least one processor is further configured to train the classifier to gradually add additional edges between radar detections from the same object but different connected components.

[0134] 24. An apparatus according to any of clauses 21 to 23, wherein the at least one processor is further configured to train the classifier to incrementally add only the shortest of the additional edges between radar detections from the same object but different connected components.

[0135] 25. An apparatus according to clauses 21 to 24, wherein each pair of connected nodes is a positive training sample in the first set of positive training samples.

[0136] 26. An apparatus according to clauses 21 to 25, wherein the at least one processor is further configured to train the classifier with negative training examples, each negative training example comprising a second radar detection corresponding to a different object closest to the target object.

[0137] In one aspect, the sending means, receiving means, extracting means, generating means, determining means, predicting means, means for receiving a data set, and / or training means may be a CPU 102, a program memory associated with the CPU 102, a dedicated memory block 118, a fully connected layer 362, and / or an NPU 428 configured to perform the recited functions. In another configuration, the aforementioned means may be any module or any device configured to perform the functions recited by the aforementioned means.

[0138] The various operations of the above methods may be performed by any suitable components capable of performing the corresponding functions. These components may include various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs), or processors. In general, where operations are illustrated in the accompanying drawings, these operations may have corresponding paired components plus function components with similar numbers.

[0139] As used, the term "determining" encompasses a wide variety of actions. For example, "determining" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), ascertaining, and the like. Additionally, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Furthermore, "determining" may include resolving, selecting, choosing, establishing, and the like.

[0140] As used, a phrase referring to "at least one of" a list of items refers to any combination of those items, including single members. As an example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc.

[0141] The various illustrative logical blocks, modules, and circuits described in conjunction with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described. A general purpose processor may be a microprocessor, but in an alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.

[0142] The steps or algorithms of the methods described in conjunction with the present disclosure may be directly embodied in hardware, software modules executed by a processor, or a combination of the two. The software module may be located in any form of storage medium known in the art. Some examples of usable storage media include random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, CD-ROMs, and the like. The software module may include a single instruction, perhaps multiple instructions, and may be distributed over several different code segments, distributed between different programs, and distributed across multiple storage media. The storage medium may be coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. In an alternative solution, the storage medium may be integral with the processor.

[0143] The methods disclosed herein include one or more steps or actions for implementing the described methods. The steps and / or actions of the methods may be interchangeable with each other without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.

[0144] The functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in hardware, an example hardware configuration may include a processing system in a device. The processing system may be implemented using a bus architecture. Depending on the specific application and overall design constraints of the processing system, the bus may include any number of interconnecting buses and bridges. The bus may link various circuits together, including a processor, a machine-readable medium, and a bus interface. The bus interface may be used to connect a network adapter, etc., to the processing system via the bus. The network adapter may be used to implement signal processing functions. For some aspects, a user interface (e.g., a keypad, a display, a mouse, a joystick, etc.) may also be connected to the bus. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and will not be described further.

[0145] The processor may be responsible for managing the bus and general processing, including executing software stored on the machine-readable medium. The processor may be implemented using one or more general-purpose processors and / or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits that can execute software. Software should be broadly interpreted as meaning instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or other. By way of example, a machine-readable medium may include a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a disk, an optical disk, a hard disk drive, or any other suitable storage medium, or any combination thereof. The machine-readable medium may be embodied in a computer program product. The computer program product may include packaging material.

[0146] In a hardware specific implementation, the machine-readable medium can be a part of a processing system separate from the processor. However, as will be readily appreciated by those skilled in the art, the machine-readable medium or any part thereof can be outside the processing system. By way of example, the machine-readable medium may include a transmission line, a carrier wave modulated by data, and / or a computer product separate from the device, all of which can be accessed by the processor through a bus interface. Alternatively or in addition thereto, the machine-readable medium or any part thereof can be integrated into the processor, such as in the case of having a cache and / or a general register stack. Although the various components discussed can be described as having specific locations, such as local components, they can also be configured in various ways, such as certain components being configured as a part of a distributed computing system.

[0147] The processing system can be configured as a general processing system having one or more microprocessors providing processor functionality and an external memory providing at least a portion of a machine-readable medium, all of which are linked together with other support circuits through an external bus architecture. Alternatively, the processing system may include one or more neuromorphic processors for implementing the described neuron model and neural system model. As another alternative, the processing system may be implemented with an application specific integrated circuit (ASIC) having at least a portion of a processor, a bus interface, a user interface, support circuits, and a machine-readable medium integrated in a single chip, or with one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuits, or circuits capable of performing the various functionalities described throughout this disclosure. Those skilled in the art will recognize how to best implement the functionality of the processing system depending on the specific application and the overall design constraints imposed on the entire system.

[0148] The machine-readable medium may include multiple software modules. These software modules include instructions that cause the processing system to perform various functions when executed by the processor. The software modules may include a sending module and a receiving module. Each software module may reside in a single storage device or be distributed across multiple storage devices. By way of example, when a triggering event occurs, the software module may be loaded from a hard drive into a RAM. During the execution of the software module, the processor may load some of the instructions into a cache to increase access speed. Then one or more cache lines may be loaded into a general register stack for execution by the processor. When the functionality of a software module is mentioned below, it will be understood that such functionality is implemented by the processor when executing instructions from the software module. In addition, it should be understood that various aspects of the present disclosure produce improvements in the functionality of a processor, a computer, a machine, or other systems that implement such aspects.

[0149] If implemented in software, the function may be stored on or sent through a computer-readable medium as one or more instructions or codes. Computer-readable media include both computer storage media and communication media, including any media that facilitates the transfer of computer programs from one place to another. Storage media can be any available media that can be accessed by a computer. By way of example and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other media that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer. In addition, any connection is also appropriately referred to as a computer-readable medium. For example, if the software is sent from a website, server or other remote source using a coaxial cable, optical cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared (IR), radio and microwaves, the coaxial cable, optical cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwaves are included in the definition of the medium. As used herein, disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks and Optical disks, where magnetic disks typically reproduce data magnetically, and optical disks use lasers to reproduce data optically. Thus, in some aspects, computer-readable media may include non-transitory computer-readable media (e.g., tangible media). Additionally, for other aspects, computer-readable media may include transient computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media.

[0150] Thus, certain aspects may include a computer program product for performing the operations presented herein. For example, such a computer program product may include a computer-readable medium having stored (and / or encoded) thereon instructions that can be executed by one or more processors to perform the described operations. For some aspects, the computer program product may include packaging materials.

[0151] In addition, it should be understood that the modules and / or other appropriate components for performing the described methods and techniques can be downloaded and / or otherwise obtained by the user terminal and / or base station when applicable. For example, such a device can be coupled to a server to facilitate the transfer of components for performing the described methods. Alternatively, the various methods described can be provided via a storage component (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or a floppy disk, etc.) so that once the storage device is coupled to or provided to the user terminal and / or base station, the device can obtain the various methods. In addition, any other suitable technology suitable for providing the described methods and techniques to the device can be used.

[0152] It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.

Claims

1. A processor-implemented method, include: Sending a radio frequency (RF) signal; receiving one or more return RF signals in response to the transmitted RF signal; extracting characteristics of the one or more returned RF signals; generating a graph including a plurality of nodes, each node corresponding to the one or more returned RF signals and indicating a potential target object detection; as well as The presence of a plurality of edges is determined, each edge connecting a pair of nodes in the graph based on a characteristic of the return RF signal, the presence of each edge indicating that the connected pair of nodes corresponds to a same target object. 2 . The processor-implemented method of claim 1 , further comprising tracking the target object based on the determined existence of each edge.

3. The processor-implemented method according to claim 1, further comprising: include: Determine the coordinates of each node along the radar axis; Calculate the distance between nodes based on the coordinates; as well as The distance is compared to a proximity threshold. 4 . The processor-implemented method of claim 1 , wherein an identity of a target object is predicted based on one of the characteristics of the one or more returning RF signals.

5. The processor-implemented method of claim 1, wherein the determining is invariant to an order in which the return RF signals are received. The processor-implemented method of claim 1 , wherein the RF signal comprises a radar signal.

7. The processor-implemented method of claim 1, wherein the RF signal is transmitted in the direction of a target object including a vehicle or a pedestrian.

8. A device, include: Memory; and at least one processor coupled to the memory, the at least one processor configured to: Sending a radio frequency (RF) signal; receiving one or more return RF signals in response to the transmitted RF signal; extracting characteristics of the one or more returned RF signals; generating a graph including a plurality of nodes, each node corresponding to the one or more returned RF signals and indicating a potential target object detection; as well as The presence of a plurality of edges is determined, each edge connecting a pair of nodes in the graph based on the characteristic of the return RF signal, the presence of each edge indicating that the connected pair of nodes corresponds to a same target object. 9 . The apparatus of claim 8 , wherein the at least one processor is further configured to track the target object based on the determined existence of each edge.

10. The apparatus of claim 8, wherein the at least one processor is further configured to: Determine the coordinates of each node along the radar axis; Calculating distances between nodes based on the coordinates; and The distance is compared to a proximity threshold.

11. The apparatus of claim 8, wherein the at least one processor is further configured to predict an identity of the target object based on one of the characteristics of the one or more returning RF signals.

12. The apparatus of claim 8, wherein the at least one processor is further configured to determine the presence of the plurality of edges in a manner that is invariant to an order in which the return RF signals are received.

13. The apparatus of claim 8, wherein the RF signal comprises a radar signal.

14. The apparatus of claim 8, wherein the RF signal is transmitted in a direction of a target object including a vehicle or a pedestrian.

15. A processor-implemented method, include: receiving a data set comprising one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections; as well as A classifier is trained to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection of the one or more radar detections, and the edges connect pairs of nodes based on the identification of the reference real object.

16. The processor-implemented method of claim 15, wherein the classifier is further trained to determine the edge connecting a pair of radar detections corresponding to nodes based on a proximity threshold.

17. The processor-implemented method of claim 15, wherein the classifier is further trained to incrementally add additional edges between radar detections from the same object but different connected components.

18. The processor-implemented method of claim 17, wherein the classifier is further trained to incrementally add only the shortest of the additional edges between radar detections from the same object but different connected components.

19. The processor-implemented method of claim 15, wherein each pair of connected nodes is a positive training sample in a first set of positive training samples.

20. The processor-implemented method of claim 15, further comprising training the classifier with negative training examples, each negative training example comprising a second radar detection corresponding to a different object that is closest to the target object.

21. A device, include: Memory; and at least one processor coupled to the memory, the at least one processor configured to: receiving a data set comprising one or more radar detections associated with an identification of a reference real object that produced each of the one or more radar detections; as well as A classifier is trained to construct a graph having nodes connected by a plurality of edges, each node corresponding to a radar detection of the one or more radar detections, and the edges connect pairs of nodes based on the identification of the reference real object.

22. The apparatus of claim 21, wherein the at least one processor is further configured to train the classifier to determine the edge connecting a pair of radar detections corresponding to nodes based on a proximity threshold.

23. The apparatus of claim 21, wherein the at least one processor is further configured to train the classifier to incrementally add additional edges between radar detections from the same object but different connected components.

24. The apparatus of claim 23, wherein the at least one processor is further configured to train the classifier to incrementally add only the shortest of the additional edges between radar detections from the same object but different connected components.

25. The apparatus of claim 21, wherein each pair of connected nodes is a positive training sample in the first set of positive training samples.

26. The apparatus of claim 21, wherein the at least one processor is further configured to train the classifier with negative training examples, each negative training example comprising a second radar detection corresponding to a different object that is closest to the target object.