Systems and methods relating to classification of objects using a remote detection and/or tracking system in a host vehicle are disclosed herein. Detectable properties of objects being detected and/or tracked by such host vehicle detection and/or tracking systems, such as the measured/perceived area of the objects, may fluctuate during tracking as, for example, the objects change in distance from the host vehicle. These fluctuations may make it difficult to accurately classify the remote objects. For example, useful information may not always be retained and/or used later to improve object classification.
The present inventors have therefore determined that it would be desirable to provide systems and methods that overcome one or more of the foregoing limitations and/or other limitations of the prior art. Thus, in some embodiments, the inventive concepts disclosed herein may be used to improve upon object classification by reducing such measured fluctuations. This may be accomplished, for example, by filtering data into subsets, such as by filtering the sensed data points into a subset comprising a predetermined number of data points comprising the maximum or minimum data points in the set. A statistical analysis may then be performed on the filtered data, which may result in a statistical parameter. This parameter may then be used to improve upon classification of remote objects using the sensed data by, for example, using the statistical parameter as a new feature in a machine-learning system.
In a more particular example of a method for classification of RADAR detected objects from within a host vehicle, the method may comprise using a RADAR sensor within a host vehicle to obtain a plurality of data/data points of a first property of a remote object. The plurality of data/data points may be filtered to obtain a subset of the plurality of data points. In preferred implementations, the subset of the plurality of data points may comprise a predetermined number of data points comprising extrema data points in the plurality of data points. A statistical analysis may then be performed using the subset of the plurality of data points. The remote object may be classified as one of a plurality of distinct object types using the results of the statistical analysis of the plurality of data points.
In some implementations, a feature, such as a feature in a machine learning algorithm, model, and/or system, may be derived from the statistical analysis. In some such implementations, the feature may comprise at least one of a mean and a median of the subset of the plurality of data points. The subset of the plurality of data points may comprise the predetermined number of data points within the subset having the highest value.
The first property of the remote object may comprise any characteristic, property, and/or parameter of a remote object that can be remotely detected/sensed, such as a perceived area, a perceived dimension, a velocity/speed, or a distance of the remote object.
In another example of a method for classification of remotely detected objects from within a host vehicle, the method may comprise using a first object sensor within a host vehicle, such as a RADAR sensor, to obtain a plurality of data points of a first property of a remote object. The plurality of data points may be filtered to obtain a subset of the plurality of data points. The subset of data/data points may then be used in a statistical analysis using the subset of the plurality of data points. The results of the statistical analysis may then be used to classify the remote object.
In some implementations, the step of filtering the plurality of data points may comprise filtering at least one of a grouping of the highest data point values in the plurality of data points and a grouping of the lowest data point values in the plurality of data points.
In some implementations, each of the plurality of data points may comprise a measurement indicative of a perceived size of the remote object, such as a perceived area of the remote object.
In some implementations, the step of filtering the plurality of data points may comprise filtering a predetermined number of data points comprising extrema data points in the plurality of data points. In some such implementations, the step of filtering the plurality of data points may comprise filtering a grouping of the highest data point values in the plurality of data points.
The step of performing a statistical analysis using the subset of the plurality of data points may comprise, for example, calculating at least one of a median and a mean of the subset of the plurality of data points.
In some implementations, the step of classifying the remote object using the results of the statistical analysis of the plurality of data points may comprise classifying the remote object as one of a plurality of distinct object types using the results of the statistical analysis of the plurality of data points. In some such implementations, the method may further comprise deriving a feature from the statistical analysis for a machine learning model.
In an example of a system for classification of remotely detected objects from within a host vehicle according to some embodiments, the system may comprise a first object sensor configured to receive a first set of sensed data of a remote object, such as a perceived area, a perceived dimension, a speed, and a distance of the remote object; a filtering module configured to filter the first set of sensed data to obtain a second set of sensed data comprising a subset of the first set of sensed data; a statistical analysis module configured to perform a statistical analysis on the second set of sensed data; and an object classification module configured to use data from the statistical analysis module to classify the remote object.
Some embodiments may further comprise a machine learning module, which may be configured to use data from the statistical analysis module as a feature in a machine learning algorithm.
In some embodiments, the filtering module may be configured to maintain a running account of a predetermined number of data points within the subset having the highest value. Thus, the statistical analysis module may be configured to determine at least one of a mean and a median of the predetermined number of data points within the subset having the highest value.
The object classification module may be configured to use the at least one of a mean and a median of the predetermined number of data points to classify the remote object.
The features, structures, steps, or characteristics disclosed herein in connection with one embodiment may be combined in any suitable manner in one or more alternative embodiments.
Non-limiting and non-exhaustive embodiments of the disclosure are described, including various embodiments of the disclosure with reference to the figures, in which:
A detailed description of apparatus, systems, and methods consistent with various embodiments of the present disclosure is provided below. While several embodiments are described, it should be understood that the disclosure is not limited to any of the specific embodiments disclosed, but instead encompasses numerous alternatives, modifications, and equivalents. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed herein, some embodiments can be practiced without some or all of these details. Moreover, for the purpose of clarity, certain technical material that is known in the related art has not been described in detail in order to avoid unnecessarily obscuring the disclosure.
Apparatus, methods, and systems are disclosed herein relating to new methods and systems for classification of remotely-detected objects from within a host vehicle. In some embodiments, the inventive principles disclosed herein may be used to classify such objects using the results of a statistical analysis of a set of data and/or a plurality of data points to provide a new feature, parameter, and/or other input to an object classification module to improve the classification efficiency and/or accuracy. This analysis may, in some embodiments and implementations, be performed on predetermined subset of the data set/data points, such as a predetermined number of maximum or minimum values in the set.
The embodiments of the disclosure may be best understood by reference to the drawings, wherein like parts may be designated by like numerals. It will be readily understood that the components of the disclosed embodiments, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the apparatus and methods of the disclosure is not intended to limit the scope of the disclosure, as claimed, but is merely representative of possible embodiments of the disclosure. In addition, the steps of a method do not necessarily need to be executed in any specific order, or even sequentially, nor need the steps be executed only once, unless otherwise specified. Additional details regarding certain preferred embodiments and implementations will now be described in greater detail with reference to the accompanying drawings.
As another example, because many bicycles and pedestrians may have the same width but different lengths, accurate classification of such distinct object types may be difficult due to the differences in perceived dimensions from different perspectives, particularly when using RADAR sensors.
As yet another example, the perceived velocity/speed of a vehicle may change dramatically over time, and some of the velocity/speed measurements may resemble other objects during certain cycles. Again, this may make object classification difficult. Similarly, objects that are far away may result in fluctuations since the true properties (size, area, speed, or otherwise) may be difficult to measure at great distances.
A controller 430 may be provided in order to allow for processing of data from remote detector(s) 420 and/or any of the various modules of system 410 described below. As used herein, the term controller refers to a hardware device that includes a processor and preferably also includes a memory element. The memory may be configured to store one or more of the modules referred to herein and the controller 430 and/or processor may be configured to execute the modules to perform one or more processes described herein.
A filtering module 440 may be configured to filter sensed data from remote detector(s) 420 to obtain a second set of sensed data made up of a subset of a first set of sensed data from the remote detector(s) 420. In preferred embodiments, filtering module 440 may be configured to filter a set of extrema data, such as a predetermined number of maximum or minimum data points. For example, in some embodiments, filtering module 440 may be configured to use/filter only the n highest or lowest values of a particular sensed property of remotely-detected objects, such as perceived area, another perceived dimension, speed/velocity, distance, etc. This filtered data can then be reused from the track history to improve object classification, as described in greater detail below.
System 400 may further comprise a statistical analysis module 450, which may be configured to perform a statistical analysis on the second/filtered set of sensed data. Examples of such statistical analyses include taking the mean, median, and/or variance of the filtered data. For example, if perceived area is used as the measured property and the filtering step filters the ten maximum data points of this property, module 450 may be configured to take the mean of these maximum data points.
Object classification module 460 may then be configured to use data from the statistical analysis module 450 to classify the remote object. For example, object classification module 460 may use the mean of the subset of maximum data points, or another statistical parameter of any suitable filtered set of data, as a separate “feature” in a machine learning algorithm or system. In some embodiments, the parameter and/or feature from the statistical analysis may be used alone to classify the object. Alternatively, other parameters and/or features may be used in conjunction with the parameter/feature derived from the statistical analysis to classify objects.
Once a sufficient number of data points and/or amount of data has been obtained, the data may be filtered at 520. For example, in some implementations, step 520 may comprise filtering at least one of a grouping of the highest data point values in the plurality of data points and a grouping of the lowest data point values in the plurality of data points. In some implementations, the grouping of highest data point values may comprise a predetermined number, such as n=10 for example. Thus, in some implementations, step 520 may not begin until a sufficient number of data points has been gathered and/or cycles have been completed. However, it is contemplated that, in other implementations, step 520 may begin immediately upon obtaining a single data point.
Method 500 may then proceed to step 530 at which point a statistical analysis may be performed using the filtered data. For example, in some implementations, step 530 may comprise calculating the mean, median, or mode of the filtered data/predetermined number of data points.
In some implementations, method 500 may then proceed to step 540 at which point a new feature may be derived, used, and/or implemented using the results of the statistical analysis of step 530. For example, in some implementations utilizing machine learning systems/tools, step 540 may comprise the creation and/or utilization of a new feature that comprises the mean, median, mode, or another suitable statistical parameter of the filtered data. This feature may then be used to train a tracking and/or classification system, such as system 410, to improve future tracking, or may otherwise by used to classify the object(s) or improve upon an existing methodology for classification of the object(s), at 550.
As used herein, a software module or component may include any type of computer instruction or computer executable code located within a memory device and/or m-readable storage medium. A software module may, for instance, comprise one or more physical or logical blocks of computer instructions, which may be organized as a routine, program, object, component, data structure, etc., that perform one or more tasks or implements particular abstract data types.
In certain embodiments, a particular software module may comprise disparate instructions stored in different locations of a memory device, which together implement the described functionality of the module. Indeed, a module may comprise a single instruction or many instructions, and may be distributed over several different code segments, among different programs, and across several memory devices. Some embodiments may be practiced in a distributed computing environment where tasks are performed by a remote processing device linked through a communications network. In a distributed computing environment, software modules may be located in local and/or remote memory storage devices. In addition, data being tied or rendered together in a database record may be resident in the same memory device, or across several memory devices, and may be linked together in fields of a record in a database across a network.
Furthermore, embodiments and implementations of the inventions disclosed herein may include various steps, which may be embodied in machine-executable instructions to be executed by a general-purpose or special-purpose computer (or other electronic device). Alternatively, the steps may be performed by hardware components that include specific logic for performing the steps, or by a combination of hardware, software, and/or firmware.
Embodiments and/or implementations may also be provided as a computer program product including a machine-readable storage medium having stored instructions thereon that may be used to program a computer (or other electronic device) to perform processes described herein. The machine-readable storage medium may include, but is not limited to: hard drives, floppy diskettes, optical disks, CD-ROMs, DVD-ROMs, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, solid-state memory devices, or other types of medium/machine-readable medium suitable for storing electronic instructions. Memory and/or datastores may also be provided, which may comprise, in some cases, non-transitory machine-readable storage media containing executable program instructions configured for execution by a processor, controller/control unit, or the like.
The foregoing specification has been described with reference to various embodiments and implementations. However, one of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the scope of the present disclosure. For example, various operational steps, as well as components for carrying out operational steps, may be implemented in various ways depending upon the particular application or in consideration of any number of cost functions associated with the operation of the system. Accordingly, any one or more of the steps may be deleted, modified, or combined with other steps. Further, this disclosure is to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope thereof. Likewise, benefits, other advantages, and solutions to problems have been described above with regard to various embodiments. However, benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced, are not to be construed as a critical, a required, or an essential feature or element.
Those having skill in the art will appreciate that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present inventions should, therefore, be determined only by the following claims.