SYSTEM AND METHOD FOR VEHICLE OVERTAKE PREDICTION
Patent Information
- Application Number
- DE102026108312
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-03
- Filing Date
- 2026-03-02
- Publication Date
- 2026-09-03
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Exemplary embodiments of the present disclosure relate to vehicle overtaking predictions. BACKGROUND In the related state of the art, autonomous (self-driving) vehicles can implement machine learning systems to make predictions and decisions for the self-driving vehicle. In this context, an autonomous vehicle often needs to determine whether a given first vehicle can overtake a second vehicle or whether the given first vehicle should remain behind the second vehicle. The related prior art may be limited to using only interactions involving the data-collecting vehicle itself to make decisions, whereas safer and more optimal decisions could be made by considering a dataset that includes data from other vehicles or other external sources. Furthermore, systems based on the related prior art may only consider a rather static state of vehicles (e.g., a vehicle is parked or a vehicle is stopped) in their decision-making, without taking other factors into account. Furthermore, systems based on related prior art may not fully consider lane definitions when making annotations for vehicle training data. Consequently, systems based on related prior art may make suboptimal decisions relative to the actual lane definitions and may make erroneous or inaccurate decisions about whether a vehicle should overtake or not. Therefore, there is a need for a more robust and accurate system for creating vehicle overtaking predictions and generating training data for it. SUMMARY Exemplary embodiments consistent with the present disclosure provide a process for predicting vehicle interactions. The process may include: selecting a first vehicle and a second vehicle from a logbook; determining, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and adding an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred. It is evident that the embodiments of the present disclosure enable decision-making based on relative position data and on a per-lane sequence basis, so that the prediction can be more accurate and robust, since it is not based on state definitions, position data can be provided externally alongside a data acquisition vehicle, and every possibility can be considered on a per-lane sequence basis. Furthermore, costs are reduced because people do not have to manually label the data, as would be the case with the related prior art. According to the exemplary embodiments, determining whether a vehicle overtaking event has occurred can involve comparing the relative positions of the first and second vehicles at two different time instances to determine whether the first vehicle is following the second vehicle or whether the first vehicle is moving away from the second vehicle. The determination of whether a vehicle overtaking event has occurred can also be based on the relative speed between the first and second vehicles. Annotated logbooks may include a top view of the first vehicle, the second vehicle, and the given lane sequence. The annotation may include an overtaking marker for the second vehicle, based on the determination that the first vehicle overtakes the second vehicle on the given lane sequence, and the annotation may include a no-overtaking marker for the second vehicle, based on the determination that the first vehicle does not overtake the second vehicle on the given lane sequence. The annotation may include a sequence of bounding boxes corresponding to the positions of the first and second vehicles, an outline of the given lane sequence, and road topology data. According to exemplary embodiments, the method can further include feature extraction from the annotated or commented logbook to generate vehicle training data; training a machine learning model based on the generated vehicle training data; and deploying the trained machine learning model. According to exemplary embodiments, a device can be provided. The device can include: at least one memory that stores computer-executable instructions; and at least one processor configured to execute the computer-executable instructions to: select a first vehicle and a second vehicle from a logbook; determine, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and add an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred. Further aspects are partly explained in the following description and partly emerge from the description or can be realized through the practical implementation of the illustrated embodiments of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS Features, advantages, and significance of exemplary embodiments of the disclosure are described below with reference to the accompanying drawings, in which the same reference numerals denote the same elements, and wherein: Fig. 1 represents an example of lane sequences according to one or more exemplary embodiments; Fig. 2 represents exemplary vehicle overtaking scenarios according to one or more exemplary embodiments; Fig. 3 represents an example of an employed model for vehicle overtaking predictions according to one or more exemplary embodiments; Fig. 4 represents an example of a query diagram for vehicle overtaking predictions according to one or more exemplary embodiments; Fig. 5 represents an example of a method for predicting vehicle interactions according to one or more exemplary embodiments; and Fig.Figure 6 shows a diagram with example components of a system that can be configured to implement one or more embodiments. DETAILED DESCRIPTION The following detailed description of exemplary embodiments refers to the accompanying drawings. The foregoing disclosure serves as an illustration and description, but does not claim to be exhaustive and does not limit the implementations to the form exactly disclosed. Modifications and variations are possible in light of the above disclosure or can be obtained from practical implementations. Furthermore, one or more features or components of one embodiment can be integrated into or combined with another embodiment (or one or more features of another embodiment).Furthermore, it is understood that in the flowcharts and descriptions of operations provided below, one or more operations may be omitted, one or more operations added, one or more operations performed simultaneously (at least partially), and the order of one or more operations may be changed. Even if certain combinations of features are listed in the claims and / or disclosed in the description, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not expressly listed in the claims and / or disclosed in the description. Although each of the dependent claims listed below can depend directly on only one other claim, the disclosure of possible implementations includes each dependent claim in combination with each other claim in the claim group. No element, action, or instruction used herein should be construed as critical or material unless expressly stated otherwise. Furthermore, the articles "a" and "an" herein are to encompass one or more items and may be used synonymously with "one or more." When only one element is meant, the term "one" or a similar phrase is used. Also, the terms "has," "have," "with," "includes," "including," or similar terms as used herein are to be understood as open-ended. Furthermore, unless expressly stated otherwise, the phrase "based on" means "at least partly based on." In addition, expressions such as "[A] and / or [B]," "at least one of [A] and [B]," or "at least one of [A] or [B]" are to be understood as encompassing only A, only B, or both A and B, respectively. Expressions such as "at least one processor" configured to perform a multitude of operations, execute a multitude of instructions, etc., are to be understood as meaning that a single processor performs the multitude of operations, etc., or that each of the multiple processors performs at least some (but not necessarily all) of the multitude of operations, etc. References in this specification to “an embodiment”, “an embodiment”, “a non-limiting exemplary embodiment”, or similar expressions mean that a particular feature, structure, or characteristic described in connection with the specified embodiment is included in at least one embodiment of the present solution. Therefore, the expressions “in an embodiment”, “in an embodiment”, “in a non-limiting exemplary embodiment”, and similar expressions in this description may, but do not necessarily, refer to the same embodiment. Furthermore, the described features, advantages, and characteristics of the present disclosure can be combined in any suitable manner in one or more exemplary embodiments. A person skilled in the art will recognize from the present description that the present disclosure can be practiced without one or more of the specific features or advantages of a particular embodiment. In other cases, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure. Furthermore, the term "vehicle" as described herein refers to any suitable type of motor vehicle in which embodiments of the present disclosure can be implemented. For example, the term "vehicle" may refer to a motorized vehicle such as a car, truck, bus, motorcycle, or any other suitable type of motor vehicle powered by an engine, drive, or other mechanical devices. Alternatively or additionally, the "vehicle" as described herein may refer to a bicycle, skateboard, and all other suitable types of non-motorized vehicles without deviating from the scope of the present disclosure. According to exemplary embodiments, a method for predicting vehicle interactions and providing annotated data based on the predictions can be provided, which can be used to train machine learning models. In particular, a method according to exemplary embodiments can include: selecting a first vehicle and a second vehicle from a logbook; determining, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and adding an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred. According to exemplary implementations, the predictive system can first receive a data set outlining interactions between road users (which may include a vehicle, a cyclist, a pedestrian, etc.). This can generally be in the form of logbooks (e.g., from a fleet of data collection vehicles), although it should be noted that other data formats can be used depending on the specific implementation. Based on the received data set, annotations can be automatically applied to the data set based on whether a given first vehicle (an ego vehicle) overtakes a second vehicle ahead of it on a given lane sequence, which is referred to as an "overtaking event." Based on whether the ego vehicle overtakes the second vehicle, an annotation in the form of a "Overtaken" or "Not Overtaken" marker can be added. The vehicles can be extracted from the data set. The data set can provide the position data of the vehicles at different times, i.e., a sequence of their positional relationships. The determination of whether the vehicle overtaking event occurred can be based on a set of rules. According to embodiments, this can further be based on the relative position of the two vehicles and / or also include the determination of their relative speed.Since the dataset can contain future data after the potential vehicle overtaking event, this future data can be used when setting the rules for determining the vehicle overtaking event. The process described above can be repeated for all road users (not just vehicles, but also other road users such as cyclists and pedestrians). Fig. 1 shows an example of lane sequences or lane layouts according to one or more embodiments. The road map 100 is provided in a top-down view (e.g., from a bird's-eye view). The example depicts a lane divider indicator and a side street. Each of the lane sequences 101, 102, and 103 can represent a unique sequence that a vehicle can travel in a scenario. For example, lane sequence 101 indicates that a vehicle turns left in the left lane, lane sequence 102 indicates that it continues straight ahead in the left lane, and lane sequence 103 indicates that it initially follows the right lane and then switches to the left lane. It is understood that a lane sequence does not necessarily have to be strictly defined based on a single lane definition; rather, the left and right lanes can each be used in multiple different lane sequences. Decisions and predictions are made based on each lane sequence; that is, each lane sequence can be defined as a "query" lane, so that when deciding between two vehicles, each lane sequence is considered (queried) individually. Figure 2 illustrates examples of vehicle overtaking scenarios according to one or more embodiments. Each scenario represents the position of two different vehicles (e.g., vehicle A, vehicle B) at a given time (e.g., time 1, 2, 3). This is indicated by the vehicle designation along with the time frame (e.g., A1 indicates vehicle A at time 1, and B2 indicates vehicle B at time 2, etc.). Scenarios 210, 220, 230, and 240 are shown, which can be considered when predicting vehicle overtaking events. The lane sequence defined in this case (query lane) is the right-hand lane. Scenario 210 depicts vehicle A and vehicle B at times 1 to 3. The system can determine that no significant interaction is occurring, as both vehicles A and B are simply driving side by side. Whether vehicle A overtakes vehicle B is irrelevant and can be determined, for example, based on their relative speeds. Scenario 220 depicts vehicle C and vehicle D at times 1 to 3. There is significant interaction between vehicle C and vehicle D, with vehicle C following closely behind vehicle D. Based on their relative positions and speeds, vehicle D can be marked as a "no overtaking" or "unovertakeable" obstacle. Scenario 230 depicts vehicle E and vehicle F at times 1 to 3. Significant interaction occurs, and vehicle E can overtake vehicle F. This can be determined based on the lateral position of vehicle E. Accordingly, vehicle F can be marked as "overtaking" or "overtakeable" obstacles. Scenario 240 presents vehicle G and vehicle H at times 1 to 4. There is a significant interaction similar to that in Scenario 230; however, the relative position between vehicle G and vehicle H is closer at time 1, allowing the system to determine that vehicle G moved slightly into the left lane to maintain sufficient distance from vehicle H. In this case, the system may still flag vehicle H as "overtaking" or an "overtakeable" obstacle, but it may add an uncertainty value given the vehicles' positions. Based on the annotations shown in Fig. 2, which include the "overtake" and "do not overtake" markers, a machine learning model can be trained by feature extraction, allowing the user to generate model training data. Each vehicle or road user can have a defined boundary (e.g., indicated by a first color), and the defined lane sequence can be highlighted (e.g., in a different color than the first). Other map features, such as road topology, can also be included in another color. The "overtake" or "do not overtake" marker can be provided. It should be noted that the specific configuration for generating the machine learning data may depend on the model and its specific implementation. Fig. 3 shows an example of a model used for vehicle overtaking prediction, according to one or more embodiments. An example of two cases, scenario 310 and scenario 320, is presented. Since the machine learning model was trained based on training data generated based on the above notes regarding the prediction of overtaking or not overtaking, the own vehicle, or ego vehicle (labeled "Ego"), can determine whether to overtake the vehicles in front of it. In scenario 310, the lane sequence is too close to the vehicles, so the relative position can cause the model to determine it as “not overtaking” (labeled “N” in Fig. 3). In scenario 320, the lane sequence is large enough that the first vehicle closest to the driver's vehicle can be marked as "Overtaking" (labeled "Y" in Fig. 3). This could be because the model determines that the vehicle is close enough to the side of the road and / or a parked vehicle. Conversely, a vehicle located in the left lane, for example, would be marked as "Not Overtaking" ("N," similar to scenario 310 above). Note that the training data can be supplemented from the notes. Fig. 4 shows an example of a query diagram for vehicle overtaking predictions according to one or more embodiments. Figure 4 illustrates how a machine learning model can determine all possible queries (query track sequences) before the result is actually calculated. A mission plan 400 can be used to limit the scope of the lanes and vehicles considered. Object 411 is excluded based on the mission plan definition. Object 412 is considered, but only for query sequence lane 401, since its position only allows interaction with query sequence lane 401. Object 413 can be considered in both query sequence lane 401 and query sequence lane 402, for example, because it is far enough back that object 413 can be considered in both lanes in an overtaking scenario. By pre-calculating the queries, the model can potentially calculate the result more efficiently. Figures 1, 2, 3 to 4 above illustrate how the annotations made can be used to generate the vehicle training data and to implement a machine learning (ML) model, in particular since feature extraction can be carried out using the annotated logbook to generate the vehicle training data, training can be performed on the ML using the generated data, and the ML model can be used after training. Fig. 5 shows an example method 500 for predicting vehicle interactions according to one or more embodiments. Referring to Fig. 5, in operation S510 a first vehicle and a second vehicle can be selected from a logbook. The first vehicle can, for example, be an "ego vehicle" (e.g., a vehicle of interest), while the second vehicle can, for example, be a vehicle that wants to overtake the first vehicle. Operation S520 can determine whether a vehicle overtaking event has occurred. This can be done based on a sequence of relative positions between the first and second vehicles on a given lane sequence from the logbook, where the vehicle overtaking event indicates that the first vehicle overtook the second vehicle on the given lane sequence. This can be done, for example, by comparing the relative position between the first vehicle and the second vehicle at two different time instances to determine whether the first vehicle (a) is following the second vehicle or (b) is moving away from the second vehicle. This can still be based on the relative speed between the first vehicle and the second vehicle, which can either be calculated based on the relative positions or provided, for example, via additional data in the logbook. In operation S530, an annotation can be added to the logbook based on the detection of a vehicle overtaking event. The annotated logbook can be a top-down view (e.g., bird's-eye view) of the first vehicle, the second vehicle, and the given lane sequence. This can be recorded, for example, as visualized data or in a format such as a database or a JSON / XML-style document. An annotation can either include an "overtake" marker for the second vehicle, based on the determination that the first vehicle overtakes the second vehicle on the given lane sequence, or a "do not overtake" marker, based on the determination that the second vehicle is not overtaken by the first vehicle on the given lane sequence. The annotations may further include a sequence of bounding frames corresponding to the position of the first and second vehicles, an outline of the given lane sequence, and road topology data. Operation S540 allows for feature extraction, model training, and deployment of the trained machine learning (ML) model. Specifically, feature extraction can be performed using annotated or commented logbook entries to generate vehicle training data. A machine learning (ML) model can then be trained based on this vehicle training data, and once trained, it can be deployed. Fig. 6 shows a diagram with example components of a system according to one or more embodiments. As shown in Fig. 6, the system 610 can comprise at least one bus 611, at least one processor 612, at least one memory 613, at least one memory component 614, at least one input component 615, at least one output component 616 and at least one communication interface 617. It is intended that the system 610 may comprise more or fewer components than shown in Fig. 6 without deviating from the scope of this disclosure. For example, in some embodiments, the system 610 may comprise a plurality of memory components 614, wherein the input component 615 and the output component 616 may be implemented as a transceiver component, the memory 613 and the memory component 614 may be implemented as a memory, and so on. Bus 611 can be configured to facilitate or enable communication between the components of System 610. Specifically, Bus 611 can communicate between the components and provide a means for data transmission and the flow of control signals between them. Bus 611 can include one or more of the following: an internal bus, an address bus, a data bus, a control bus, a Controller Area Network (CAN) bus, an Ethernet bus, a Peripheral Component Interconnect Express (PCIe) bus, and any other suitable type of bus that can be implemented in System 610 to enable real-time (or near-real-time) communication and coordination between the components within System 610. The processor 612 can be implemented in hardware, firmware, or a combination of hardware and software, and can be configured to perform real-time (or near real-time) data processing and control of the control system 610. The processor 612 can include one or more of the following: a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), a tensor processing unit (TPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and / or any other type of processing or computing component that can be implemented in the system 610. In some embodiments, the processor 612 can be programmed to perform one or more of the operations described herein.Furthermore, the 612 processor can include a large number of processing units, each of which is intended for performing a specific operation. Memory 613 can comprise one or more media for storing temporary data, runtime variables, program instructions, and buffers required for the operations of the control system 610. Memory 613 can include one or more of the following: flash memory, read-only memory (ROM), random-access memory (RAM), a dynamic or static device (such as flash memory, magnetic memory, and / or optical memory), and any other suitable type of memory that can be implemented in the system 610 to store information and / or instructions for use by the processor 612. The storage component 614 can be configured to store non-volatile data such as firmware, configuration settings, calibration data, information, and / or software relating to the operation and use of the system 610. For example, the storage component 614 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cassette, a magnetic tape, and / or another type of non-volatile, computer-readable medium, together with a suitable drive. According to exemplary embodiments, the memory component 614 can be configured to store computer-readable or computer-executable instructions for implementing one or more operations of the system 610. The memory component 614 can provide the stored information to the memory 613 for execution by the processor 612. The input component 615 can comprise one or more input components that enable the system 610 to receive information, for example, user input (e.g., a touchscreen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone). The output component 616 can comprise one or more output components that provide output information from the system 610 (e.g., a display, a speaker, a navigation device, one or more light-emitting diodes (LEDs), etc.). According to exemplary embodiments, the input component 615 and / or the output component 616 can be optional and excluded from the system 610. The at least one communication interface 617 can include a transceiver-like component (e.g., a transceiver and / or a separate receiver and transmitter) that enables the system 610 to communicate with other devices (e.g., ECUs, user devices, etc.), for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. For example, the communication interface 617 includes a controller area network (CAN) bus interface, an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like. According to one or more embodiments, the communication interface 617 can comprise at least one input / output interface (I / O interface), at least one network interface, at least one memory interface, or the like, which enables the components 612-616 to communicate with other components. Furthermore, the communication interface 617 can comprise one or more application programming interfaces (APIs) which enable the system 610 (or one or more components contained therein) to communicate with one or more software applications (e.g., software applications provided in the ECUs, etc.). Computer-executable instructions (e.g., software instructions, etc.) can be read into memory 613 and / or memory component 614 from another computer-readable medium or device (e.g., a remote server, external storage, etc.) via, for example, the communication interface 617. When executed, the computer-executable instructions stored in memory 613 and / or memory component 614 can cause the processor 612 to execute one or more of the processes described herein. Additionally or alternatively, instead of or in combination with software instructions, hard-wired circuits can be used to execute one or more of the processes described herein. Thus, the implementations described herein are not limited to a specific combination of hardware circuits and software. Based on the foregoing, it can be understood that the embodiments of the present disclosure enable decision-making based on relative position data and on a per-lane sequence basis, so that the prediction can be more accurate and robust since it is not based on state definitions, position data can be provided externally next to a data acquisition vehicle, and every possibility can be considered on a per-lane sequence basis. Furthermore, costs are reduced because the data does not need to be manually labeled by humans as in the related prior art. It is understood that the features, advantages, and significance of the embodiments described above represent only a part of the present disclosure and are not intended to be exhaustive or to limit the scope of the present disclosure. Furthermore, descriptions of the features, components, configuration, operations, and implementations of embodiments of the present disclosure, as well as the associated technical advantages and significance, are provided. It is understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein represents an illustration of example approaches. Based on design preferences, it is understood that the specific order or hierarchy of blocks in the processes / flowcharts can be rearranged. Furthermore, some blocks can be combined or omitted. The accompanying procedures represent elements of the various blocks in an example sequence and are not limited to the specific order or hierarchy shown. Some embodiments of a system, a method, and / or a computer-readable medium can occur at any possible level of technical detail of integration. As further described above, one or more of the components described above can be implemented as instructions stored on a computer-readable medium and executable by (and / or comprising) at least one processor. The computer-readable medium can comprise a computer-readable, non-volatile storage medium (or media) containing computer-readable program instructions that cause a processor (or processors) to perform operations. The computer-readable storage medium can be a tangible device capable of storing and retaining instructions for use by an instruction-executing device. The computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof.A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer floppy disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory, a floppy disk, a mechanically coded device such as punched cards or raised structures in a groove on which instructions are recorded, and any suitable combination of the foregoing. A computer-readable storage medium, as used here, is not to be understood as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g.,Light pulses that travel through a fiber optic cable), or electrical signals that are transmitted over a wire. The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to the respective computer / processing equipment or, via a network such as the internet, a local area network, a wide area network, and / or a wireless network, to an external computer or external storage device. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each piece of equipment receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within the respective piece of equipment. Computer-readable program code / instructions for performing operations can be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state data, integrated circuit configuration data, or either source code or object code written in any combination of one or more programming languages, including the object-oriented programming language Smalltalk, C++, or similar languages, and procedural programming languages such as the Organization for Standardization's "C" programming language or similar programming languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server.In the latter case, the remote computer can be connected to the user's computer via any type of network, including local area networks (LANs) or wide area networks (WANs), or the connection can be established to an external computer (for example, via the internet using an internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute the computer-readable program instructions by using information about the state of the computer-readable program instructions to personalize the electronic circuits to perform specific aspects or operations. These computer-readable program instructions can be provided to a processor of a SoC, a general-purpose computer, a special-purpose computer, or any other programmable data processing device to create a machine such that the instructions executed via the processor of the computer or other programmable data processing device create facilities for implementing the functions / actions specified in the flowchart and / or block diagram block or blocks.These computer-readable program instructions can also be stored in a computer-readable storage medium that can instruct a computer, a programmable data processing device and / or other equipment to function in a particular manner, such that the computer-readable storage medium in which the instructions are stored has a manufactured item containing instructions that implement aspects of the function / action specified in the flowchart and / or block diagram block or blocks. The computer-readable program instructions can also be loaded onto a computer, other programmable data processing device, or other facility to cause a series of operations on the computer, other programmable device, or other facility to produce a computer-implemented process, such that the instructions executed on the computer, other programmable device, or other facility implement the functions / actions specified in the flowchart and / or block diagram block or blocks. The flowchart and block diagrams in the figures represent the architecture, functionality, and operation of possible implementations of systems, procedures, and computer-readable media according to various embodiments. In this respect, each block in the flowchart or block diagrams can represent a module, segment, or part of instructions that contains one or more executable instructions for implementing the specified logical function(s). The procedure, computer system, and computer-readable medium may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those shown in the figures. In some alternative implementations, the functions specified in the blocks may occur in a different order than shown in the figures.For example, two blocks shown sequentially may actually be executed simultaneously or substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagram and / or flowchart, as well as combinations of blocks in the block diagrams and / or flowcharts, can be implemented by special hardware-based systems that perform the specified functions or actions, or by combinations of special hardware and computer instructions. It is evident that the systems and / or procedures described here can be implemented in various forms of hardware, firmware, or a combination of hardware and software. The specific control hardware or software code actually used to implement these systems and / or procedures does not restrict the implementations. Therefore, the operation and behavior of the systems and / or procedures have been described here without reference to any specific software code, assuming that software and hardware for implementing the systems and / or procedures can be developed based on the description contained herein.
Claims
A method for predicting vehicle interactions, comprising: selecting a first vehicle and a second vehicle from a logbook; determining, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and adding an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred. The method according to claim 1, wherein determining whether the vehicle overtaking event has occurred comprises: comparing the relative position between the first vehicle and the second vehicle at two different time instances to determine whether the first vehicle is following the second vehicle or whether the first vehicle is moving away from the second vehicle. Method according to claim 2, wherein determining whether the vehicle overtaking event has occurred is further based on a relative speed between the first vehicle and the second vehicle. Method according to one of claims 1 to 3, wherein the annotated logbook has a top view of the first vehicle, the second vehicle and the given track sequence. Method according to claim 4, wherein the annotation includes an overtaking marker for the second vehicle based on a determination that the first vehicle overtakes the second vehicle on the given lane sequence, and the annotation includes a non-overtaking marker for the second vehicle based on a determination that the first vehicle does not overtake the second vehicle on the given lane sequence. Method according to claim 5, wherein the annotation further comprises a sequence of boundary frames corresponding to the position of the first vehicle and the second vehicle, an outline of the given lane sequence and road topology data. Method according to any one of claims 1 to 6, further comprising: performing a feature extraction with respect to the annotated logbook in order to generate vehicle training data; training a machine learning model based on the generated vehicle training data; and deploying the trained machine learning model. Device for predicting vehicle interactions, the device comprising: at least one memory for storing computer-executable instructions; and at least one processor configured to execute the computer-executable instructions for: selecting a first vehicle and a second vehicle from a logbook; determining, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and adding an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred. Device according to claim 8, wherein the at least one processor is further configured to execute the computer-executable instructions to determine whether the vehicle overtaking event has occurred, by comparing the relative position between the first vehicle and the second vehicle at two different time instances to determine whether the first vehicle is following the second vehicle or whether the first vehicle is moving away from the second vehicle. A computer program that causes at least one processor to perform: selecting a first vehicle and a second vehicle from a logbook; determining, based on a sequence of relative positions between the first vehicle and the second vehicle on a given lane sequence from the logbook, whether a vehicle overtaking event has occurred, wherein the vehicle overtaking event indicates that the first vehicle overtakes the second vehicle on the given lane sequence; and adding an annotation to the logbook based on the determination of whether the vehicle overtaking event has occurred.