Generally described, computing devices and communication networks can be utilized to exchange data and/or information. In a common application, a computing device can request content from another computing device via the communication network. For example, a computing device can collect various data and utilize a software application to exchange content with a server computing device via the network (e.g., the Internet).
Generally described, a variety of vehicles, such as electric vehicles, combustion engine vehicles, hybrid vehicles, etc., can be configured with various sensors and components to facilitate operation of the vehicle or management of one or more systems include in the vehicle. In certain scenarios, a vehicle owner or vehicle user may wish to utilize sensor-based systems to facilitate in the operation of the vehicle. For example, vehicles can often include hardware and software functionality that facilitates location services or can access computing devices that provide location services. In another example, vehicles can also include navigation systems or access navigation components that can generate information related to navigational or directional information provided to vehicle occupants and users. In still further examples, vehicles can include vision systems to facilitate navigational and location services, safety services or other operational services/components.
This disclosure is described herein with reference to drawings of certain embodiments, which are intended to illustrate, but not to limit, the present disclosure. It is to be understood that the accompanying drawings, which are incorporated in and constitute a part of this specification, are for the purpose of illustrating concepts disclosed herein and may not be to scale.
Generally described, one or more aspects of the present disclosure relate to the configuration and implementation of vision systems in vehicles. By way of illustrative example, aspects of the present application relate to the configuration and training of machine learned algorithms used in vehicles relying solely on vision systems for various operational functions. Illustratively, the vision-only systems are in contrast to vehicles that may combine vision-based systems with one or more additional sensor systems, such as radar-based systems, LIDAR-based systems, SONAR-systems, and the like.
Vision-only systems can be configured with machine learned algorithms that can process inputs solely from vision systems that can include a plurality of cameras mounting on the vehicle. The machine learned algorithm can generate outputs identifying objects and specifying characteristics/attributes of the identified objects, such as position, velocity, acceleration measured relative to the vehicle. Additionally, for dynamic objects that are traveling, one or more aspects relates to providing characterizations of potential paths of travel for the detection objects relative to the vehicle. The potential paths of travel can be prioritized or otherwise sorted based on confidence values. The outputs from the machine learned algorithms, including the determined potential paths of travel data, can be then utilized for further processing, such as for navigational systems, locational systems, safety systems and the like.
In accordance with aspects of the present application, a service can configure the machine learned algorithm in accordance with a supervised learning model in which a machine learning algorithm is trained with labeled data to identify and represent identified objects and specified characteristics/attributes, such as identification of objects related to travel surface(s) including road edges, lanes lines, center lanes, and the like. Additionally, the machine learned algorithm(s) can be further configured to identify static objects relative to the travel surfaces, such as static and dynamic objects (e.g., vehicles) and associated information, such as position, velocity, acceleration, and the like.
The service can utilize the identified objects (e.g., a geometric representation) and associated attributes to identify a set of potential paths of travel. Specifically, the representation of potential paths of travel can be based on kinetics-based modeling as applied to the attributes of the travel surface and the individual attributes of the detected objects. Illustratively, the processing results of the processing of input can also include confidence values characterizing a likelihood that the dynamic object will follow the predicated path. In some embodiments, the service can sort, filter or otherwise process a target set of potential paths based on thresholds, such as removing any determined potential paths of travel that do not exceed a minimum threshold.
In some embodiments, the service can further process the generated set of potential paths of travel based on additional criteria or external information. In one embodiment, the service can determine whether any additional detected objects (static or dynamic) may influence or otherwise affect the potential path of travel or modify the confidence values. For example, assume an initial set of paths of travel for a dynamic object includes paths of travel related to straight travel in an existing lane, turning at an intersection or changing lanes to an adjacent lane and that all the potential paths meet or exceed an initial confidence value threshold. If a static object is detected in the current lane (e.g., a parked car), the service would then adjust the confidence value, remove the straight travel in the existing lane, generate additional or alternative potential paths of travel, etc. as influenced by the external, detected object. The generated and processed paths can be provided or used as inputs for additional systems, such as navigation systems/services, semi-automated or automated driving systems/services and the like.
Traditionally, vehicles are associated with physical sensors that can be used to provide inputs to control components. For many navigational, location and safety system, the physical sensors include detection-based systems, such as radar systems, LIDAR systems, etc. that are able to detect objects and characterize attributes of the detected objects. In some applications, detection systems can increase the cost of manufacture and maintenance. Additionally, in some environmental scenarios, such as rain, fog, snow, the detection-based systems may not be well suited for detection or can increase detection errors.
To address at least a portion of the above deficiencies, aspects of the present application correspond to utilization of a set of inputs from vision systems to generate simulations or predicted paths of travel for dynamic objects detected from the vision systems. Illustratively, a service can process the set of inputs (e.g., the associated ground truth label data) collected from one or more vision systems (or additional services) to identify predicted paths of travel for any dynamic objects detected from the captured vision system information. Typically, a plurality of predicted paths of travels can be generated such that more than one path of travel may be considered to meet or exceed a minimal threshold. The resulting predicted paths of travel can be further associated with confidence values that characterize the likelihood that any one predicted path of travel for a detected dynamic object will occur. The generated and processed paths can be provided or used as inputs for additional systems, such as navigation systems/services, semi-automated or automated driving systems/services and the like.
Although the various aspects will be described in accordance with illustrative embodiments and combination of features, one skilled in the relevant art will appreciate that the examples and combination of features are illustrative in nature and should not be construed as limiting. More specifically, aspects of the present application may be applicable with various types of vehicles including vehicles with different of propulsion systems, such as combination engines, hybrid engines, electric engines, and the like. Still further, aspects of the present application may be applicable with various types of vehicles that can incorporate different types of sensors, sensing systems, navigation systems, or location systems. Accordingly, the illustrative examples should not be construed as limiting. Similarly, aspects of the present application may be combined with or implemented with other types of components that may facilitate operation of the vehicle, including autonomous driving applications, driver convenience applications and the like.
Illustratively, the set of vehicles 102 correspond to one or more vehicles configured with vision-only based system for identifying objects and characterizing one or more attributes of the identified objects. The set of vehicles 102 are configured with machine learned algorithms, such as machine learned algorithms implemented a supervised learning model, that are configured to utilize solely vision systems inputs to identify objects and characterize attributes of the identified objects, such as position, velocity and acceleration attributes. The set of vehicles 102 may be configured without any additional detection systems, such as radar detection systems, LIDAR detection systems, and the like.
For purposes of illustration,
In one aspect, the local sensors can include vision systems that provide inputs to the vehicle, such as detection of objects, attributes of detected objects (e.g., position, velocity, acceleration), presence of environment conditions (e.g., snow, rain, ice, fog, smoke, etc.), and the like. An illustrative collection of cameras mounted on a vehicle to form a vision system will be described with regard to
In yet another aspect, the local sensors can include one or more positioning systems that can obtain reference information from external sources that allow for various levels of accuracy in determining positioning information for a vehicle. For example, the positioning systems can include various hardware and software components for processing information from GPS sources, Wireless Local Area Networks (WLAN) access point information sources, Bluetooth information sources, radio-frequency identification (RFID) sources, and the like. In some embodiments, the positioning systems can obtain combinations of information from multiple sources. Illustratively, the positioning systems can obtain information from various input sources and determine positioning information for a vehicle, specifically elevation at a current location. In other embodiments, the positioning systems can also determine travel-related operational parameters, such as direction of travel, velocity, acceleration, and the like. The positioning system may be configured as part of a vehicle for multiple purposes including self-driving applications, enhanced driving or user-assisted navigation, and the like. Illustratively, the positioning systems can include processing components and data that facilitate the identification of various vehicle parameters or process information.
In still another aspect, the local sensors can include one or more navigations system for identifying navigation related information. Illustratively, the navigation systems can obtain positioning information from positioning systems and identify characteristics or information about the identified location, such as elevation, road grade, etc. The navigation systems can also identify suggested or intended lane location in a multi-lane road based on directions that are being provided or anticipated for a vehicle user. Similar to the location systems, the navigation system may be configured as part of a vehicle for multiple purposes including self-driving applications, enhanced driving or user-assisted navigation, and the like. The navigation systems may be combined or integrated with positioning systems. Illustratively, the positioning systems can include processing components and data that facilitate the identification of various vehicle parameters or process information.
The local resources further include one or more processing component(s) that may be hosted on the vehicle or a computing device accessible by a vehicle (e.g., a mobile computing device). The processing component(s) can illustratively access inputs from various local sensors or sensor systems and process the inputted data as described herein. For purposes of the present application, the processing component(s) will be described with regard to one or more functions related to illustrative aspects. For example, processing component(s) in vehicles 102 will collect and transmit the first data set corresponding to the collected vision information.
The environment can further include various additional sensor components or sensing systems operable to provide information regarding various operational parameters for use in accordance with one or more of the operational states. The environment can further include one or more control components for processing outputs, such as transmission of data through a communications output, generation of data in memory, transmission of outputs to other processing components, and the like.
With reference now to
As illustrated in
The set of cameras 202, 204, 206, and 208 may all provide captured images to one or more processing components 212, such as a dedicated controller/embedded system. For example, the processing component 212 may include one or more matrix processors which are configured to rapidly process information associated with machine learning models. The processing component 212 may be used, in some embodiments, to perform convolutions associated with forward passes through a convolutional neural network. For example, input data and weight data may be convolved. The processing component 212 may include a multitude of multiply-accumulate units which perform the convolutions. As an example, the matrix processor may use input and weight data which has been organized or formatted to facilitate larger convolution operations. Alternatively, the image data may be transmitted to a general-purpose processing component.
Illustratively, the individual cameras may operate, or be considered individually, as separate inputs of visual data for processing. In other embodiments, one or more subsets of camera data may be combined to form composite image data, such as the trio of front facing cameras 202. As further illustrated in
With reference now to
The architecture of
The network interface 204 may provide connectivity to one or more networks or computing systems. The processing unit 202 may thus receive information and instructions from other computing systems or services via a network. The processing unit 202 may also communicate to and from memory 210 and further provide output information for an optional display (not shown) via the input/output device interface 208. In some embodiments, the vision information processing component 112 may include more (or fewer) components than those shown in
The memory 210 may include computer program instructions that the processing unit 202 executes in order to implement one or more embodiments. The memory 210 generally includes RAM, ROM, or other persistent or non-transitory memory. The memory 210 may store interface software 212 and an operating system 214 that provides computer program instructions for use by the processing unit 202 in the general administration and operation of the processing component 212. The memory 210 may further include computer program instructions and other information for implementing aspects of the present disclosure. For example, in one embodiment, the memory 210 includes a sensor interface component 216 that obtains information (e.g., captured video information) from vehicles, such as vehicles 102, data stores, other services, and the like.
The memory 210 further includes a vision information processing component 218 for obtaining and processing the captured or processed vision system information and generating one or more potential paths of travels for detected dynamic objects as described herein. The memory 210 can further include one or more navigation/directional components component(s) 220 for utilizing the generated predicted path information, such as for navigational or direction purposes. Although illustrated as components combined within the vision information processing component 112, one skilled in the relevant art will understand that one or more of the components in memory 210 may be implemented in individualized computing environments, including both physical and virtualized computing environments.
Turning now to
At block 302, the processing component 212 obtains and collects the generated vision data. Illustratively, the vehicles 200 may be configured to collect vision system data and generated associated ground truth labels. As described above, the vehicles 200 may include processing capabilities in vision systems to generate, at least in part, ground truth label information for the captured vision system information. In other embodiments, the vehicles 200 may transmit captured vision system information (with or without any ground truth labels) to another service, such as in a communication network. The additional services can then add (manually or automatically) ground truth label information for further processing.
At block 304, the processing component 212 can first identify one or more attributes of the traveling surface captured in the vision system data. Illustratively, the one or more attributes (e.g., ground truth labels) can include road edges ground truth labels, lane lines ground truth labels, signage ground truth labels, directional controls ground truth labels, and the like. Additionally, in some embodiments, the set of detectable objects can be projected from the visible horizon (e.g., edge of the captured vision information) to a determined stop point. The stop point can illustratively be the vehicle 200 in some embodiments. In other embodiments, stop point can illustratively be a distance behind the vehicle 200.
At block 306, the processing component 212 identifies one or more dynamic objects from the ground truth label data for use in generating one or more predicted paths of travels. Illustratively, the dynamic objects correspond to one or more objects determined to be located within the traveling surface.
At block 308, the processing component 212 can utilize the identified objects (e.g., a geometric representation) and associated attributes to identify a set of potential paths of travel. Specifically, the representation of potential paths of travel can be based on kinetics-based modeling as applied to the attributes of the travel surface and the individual attributes of the detected objects. In some embodiments, one or more machine learned algorithms may be trained to automatically determine or generate the representations of a set of potential paths of travel.
In one embodiment, a detected dynamic object can be associated with some combination of directional ground truth labels (e.g., yaw), velocity ground truth label data, and acceleration ground truth label data. Based on these attributes (e.g., ground truth labels), each dynamic object can be further represented with a range of likely actions on a traveling surface, such as via a cone or triangular region on the traveling surface. Such representation may be generally referred to as a feasibility representation. In this embodiment, the shape of the cone/triangle may be represented in a more narrow, longer manner in scenarios in which the velocity and acceleration ground truth labels are higher (e.g., the speed of the dynamic object is unlikely to be able to complete types of turns or other activity in view of the determined speed). Similarly, the shape of the cone/triangle may be represented in a more wide, shorter manner in scenarios in which the velocity and acceleration ground truth labels are lower (e.g., the speed of the dynamic object is more likely to be able to complete types of turns or other activity in view of the determined speed) In accordance with this embodiment, potential paths of travel outside of the represented range of likely actions may be removed or mitigated.
Illustratively, at block 308, individual potential paths of travel can further include confidence values characterizing a likelihood that the dynamic object will follow a determined predicated path. In some embodiments, the service can sort, filter or otherwise process a target set of potential paths based on thresholds, such as removing any determined potential paths of travel that do not exceed a minimum threshold. Illustratively, the processing component 212 can utilized one or more machine learned algorithms to determine the confidence values for individual potential paths. In some embodiments, the sum of the set of confidence values for a plurality of potential paths does not have to sum to 100%. In this regard, confidence values associated with two or more potential paths of travel may be sufficient high such that the sum exceeds 100%. In such scenarios, the navigational/directional services can utilize other functionality to determine which path to consider. In another example, confidence values associated with an entire set of potential paths of travel may be lower than 100%, which may be indicative that no individual potential path of travel may be considered or characterized as highly likelihood or significantly more likely than other potential paths.
At block 310, processing component 212 can further process the generated set of potential paths of travel based on additional criteria or external information. In one embodiment, the service can determine whether any additional detected objects (static or dynamic) may influence or otherwise affect the potential path of travel or modify the confidence values. For example, assume an initial set of paths of travel for a dynamic object includes paths of travel related to straight travel in an existing lane, turning at an intersection or changing lanes to an adjacent lane and that all the potential paths meet or exceed an initial confidence value threshold. If a static object is detected in the current lane (e.g., a parked car), the service would then adjust the confidence value, remove the straight travel in the existing lane, generate additional or alternative potential paths of travel, etc. as influenced by the external, detected object. The generated and processed paths can be provided or used as inputs for additional systems, such as navigation systems/services, semi-automated or automated driving systems/services and the like.
At block 312, the processing component 212 can store or transmit the generated potential paths and associated confidence values. As described herein, the generated and processed paths can be provided or used as inputs for additional systems, such as navigation systems/services, semi-automated or automated driving systems/services and the like. Routine 300 terminates at block 314.
The foregoing disclosure is not intended to limit the present disclosure to the precise forms or particular fields of use disclosed. As such, it is contemplated that various alternate embodiments and/or modifications to the present disclosure, whether explicitly described or implied herein, are possible in light of the disclosure. Having thus described embodiments of the present disclosure, a person of ordinary skill in the art will recognize that changes may be made in form and detail without departing from the scope of the present disclosure. Thus, the present disclosure is limited only by the claims.
In the foregoing specification, the disclosure has been described with reference to specific embodiments. However, as one skilled in the art will appreciate, various embodiments disclosed herein can be modified or otherwise implemented in various other ways without departing from the spirit and scope of the disclosure. Accordingly, this description is to be considered as illustrative and is for the purpose of teaching those skilled in the art the manner of making and using various embodiments of the disclosed decision and control algorithms. It is to be understood that the forms of disclosure herein shown and described are to be taken as representative embodiments. Equivalent elements, materials, processes, or steps may be substituted for those representatively illustrated and described herein. Moreover, certain features of the disclosure may be utilized independently of the use of other features, all as would be apparent to one skilled in the art after having the benefit of this description of the disclosure. Expressions such as “including”, “comprising”, “incorporating”, “consisting of”, “have”, “is” used to describe and claim the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural.
Further, various embodiments disclosed herein are to be taken in the illustrative and explanatory sense and should in no way be construed as limiting of the present disclosure. All joinder references (e.g., attached, affixed, coupled, connected, and the like) are only used to aid the reader's understanding of the present disclosure, and may not create limitations, particularly as to the position, orientation, or use of the systems and/or methods disclosed herein. Therefore, joinder references, if any, are to be construed broadly. Moreover, such joinder references do not necessarily infer those two elements are directly connected to each other.
Additionally, all numerical terms, such as, but not limited to, “first”, “second”, “third”, “primary”, “secondary”, “main” or any other ordinary and/or numerical terms, should also be taken only as identifiers, to assist the reader's understanding of the various elements, embodiments, variations and/or modifications of the present disclosure, and may not create any limitations, particularly as to the order, or preference, of any element, embodiment, variation and/or modification relative to, or over, another element, embodiment, variation and/or modification.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
This application claims priority to U.S. Provisional Application No. 63/260,439 entitled ENHANCED SYSTEMS AND METHODS FOR AUTONOMOUS VEHICLE OPERATION AND TRAINING and filed on Aug. 19, 2021, and U.S. Provisional Application No. 63/287,936 entitled ENHANCED SYSTEMS AND METHODS FOR AUTONOMOUS VEHICLE OPERATION AND TRAINING and filed on Dec. 9, 2021. U.S. Provisional Application Nos. 63/260,439 and 63/287,936 are incorporated by reference in their entirety herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/040906 | 8/19/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63260439 | Aug 2021 | US | |
63287936 | Dec 2021 | US |