Vehicle lane changing judgment method, device and system and storage medium
By calculating the vertex position and lane line of the vehicle lane line when changing lane, accurately identifying the vehicle lane change behavior, the problem of lane change false alarm in the prior art is solved and the accuracy of detection is improved.
Patent Information
- Application Number
- CN202411579261.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-02-25
AI Technical Summary
The prior art is prone to false alarms when identifying vehicle lane change behavior, especially when the vehicle is in a state of driving with a line or lane change is not completed.
By calculating the positions of each vertex at the current moment of the vehicle, and determining the first vector of the lane starting point and end point corresponding to the lane line passing by the vehicle when the vehicle changes lane, then crossing with the second vector of the lane line, and determining whether the vehicle changes lane based on the crossing result.
This method can accurately identify the vehicle lane change behavior, reduce the probability of lane change false alarms, and improve the accuracy of lane change detection by monitoring the relative position of the vehicle apex position and lane line in real time.
Smart Images

Figure CN119516486A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of lane change detection technology, and in particular to a vehicle lane change determination method, device, system and storage medium. Background Art
[0002] Traffic event detection refers to the real-time monitoring of traffic conditions on the road, such as traffic accidents, traffic jams, etc., through sensors and equipment installed on both sides of the road. As autonomous driving technology matures, efficient and accurate traffic event detection is crucial. Among them, vehicle lane changes not only affect the smoothness of road traffic, but also have a vital impact on the safety of road traffic. Therefore, lane change monitoring is a basic element for realizing intelligent road traffic. In the prior art, when a vehicle moves laterally and the range of movement exceeds a preset distance, it is considered that the vehicle has changed lanes. However, due to the different positions and widths of the vehicles, when the vehicle is in a state of driving on the line or the lane change is not completed, it is easy to be identified as a vehicle lane change, resulting in a false alarm.
[0003] Therefore, how to provide a vehicle lane change judgment method to accurately identify the vehicle lane change behavior and reduce the false alarm probability of the vehicle lane change has become a technical problem that needs to be solved urgently. Summary of the invention
[0004] The present application provides a vehicle lane change judgment method, device, system and storage medium for accurately identifying vehicle lane change behavior and reducing the probability of false alarm of vehicle lane change.
[0005] The present application provides a vehicle lane change judgment method, comprising:
[0006] When a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated;
[0007] The first vector is determined by taking the starting point of the lane corresponding to the lane line that the vehicle passes through when changing lanes as the starting point and the vertex position of the vehicle at the current moment as the end point;
[0008] Cross-product the first vector with a second vector corresponding to the lane line that the vehicle passes through when changing lanes;
[0009] Determine whether the vehicle changes lanes based on the fork product calculation result.
[0010] The beneficial effects of the present application are: when a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated; the starting point of the lane corresponding to the lane line that the vehicle passes through when changing lanes is used as the starting point, and the vertex position of the vehicle at the current moment is used as the end point to determine the first vector; the first vector is cross-multiplied with the second vector corresponding to the lane line that the vehicle passes through when changing lanes; and whether the vehicle changes lanes is determined based on the cross-multiplication calculation result. Since the positions of each vertex of the vehicle can be monitored in real time, and the relative position relationship between the vertex position of the vehicle and the lane line is determined by calculation, the vehicle's lane change behavior can be accurately identified, and the probability of false alarms of vehicle lane changes can be reduced.
[0011] In one embodiment, the method further comprises:
[0012] Generate a bird's-eye view of the lane;
[0013] Monitoring the vehicle status on the bird's-eye view, and determining whether the vehicle is likely to change lanes based on the monitoring result;
[0014] When it is detected that the vehicle may change lanes, a lane change detection event is triggered.
[0015] In one embodiment, generating a bird's-eye view corresponding to a lane includes:
[0016] The lane coordinates are converted into pixel coordinates of the bird's-eye view according to a preset formula;
[0017] The lanes are drawn into a bird's-eye view according to the pixel coordinates converted into the bird's-eye view; wherein, in the bird's-eye view, one lane corresponds to one color.
[0018] In one embodiment, converting the lane coordinates into pixel coordinates of the bird's-eye view according to a preset formula includes:
[0019] The lane coordinates are converted into pixel coordinates of the bird's-eye view according to the following preset formula:
[0020] pix x =floor((xx min )*pix2dist);
[0021] pix y =height-floor((yy min )*pix2dist);
[0022] Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (x min , x max ) is the x-coordinate of interest; (y min ,y max ) is the y-coordinate of interest; (pixx ,pix y ) is the conversion of the point (x, y) into pixel coordinates in the bird's-eye view; height is the height of the bird's-eye view.
[0023] In one embodiment, the method further comprises:
[0024] In the pre-drawn lane bird's-eye view, the colors blocked by the vehicle are monitored;
[0025] When the vehicle occludes multiple colors at the same time, it is determined that the vehicle occludes multiple areas at the same time;
[0026] Determine the occlusion areas of multiple areas occluded by the vehicle;
[0027] The area with the largest occlusion area is determined to be the lane where the vehicle is located.
[0028] In one embodiment, the method further comprises:
[0029] When the area with the largest occlusion area changes, the lane number corresponding to the vehicle is updated to change the lane number to the lane corresponding to the area with the largest occlusion area;
[0030] The determining, based on the monitoring result, whether the vehicle has a possibility of changing lanes includes:
[0031] When the lane number assigned to the vehicle changes, it is determined that the vehicle may change lanes.
[0032] In one embodiment, judging whether the vehicle changes lanes according to the fork product calculation result includes:
[0033] When all cross product results are positive or negative, determine whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event;
[0034] If the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event, it is determined that the vehicle has not changed lanes;
[0035] If the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event, it is determined that the vehicle has changed lanes.
[0036] The present application also provides a vehicle lane change judgment device, comprising:
[0037] A calculation module, used to calculate the positions of each vertex of the vehicle at the current moment when a lane change detection event is triggered;
[0038] A first determination module is used to determine a first vector by taking the starting point of a lane corresponding to the lane line that the vehicle passes through when changing lanes as a starting point and taking the vertex position of the vehicle at a current moment as an end point;
[0039] A cross product module, used for cross producting the first vector with a second vector corresponding to the lane line passed by the vehicle when changing lanes;
[0040] The first judgment module is used to judge whether the vehicle changes lanes according to the fork product calculation result.
[0041] In one embodiment, the apparatus further comprises:
[0042] A generation module, used to generate a bird's-eye view corresponding to the lane;
[0043] A second judgment module is used to monitor the vehicle status on the bird's-eye view and judge whether the vehicle is likely to change lanes according to the monitoring result;
[0044] The trigger module is used to trigger a lane change detection event when it is detected that the vehicle may change lanes.
[0045] In one embodiment, the generating module comprises:
[0046] A conversion submodule, for converting lane coordinates into pixel coordinates of a bird's-eye view according to a preset formula;
[0047] The drawing submodule is used to draw the lane into a bird's-eye view according to the pixel coordinates converted into the bird's-eye view; wherein, in the bird's-eye view, one lane corresponds to one color.
[0048] In one embodiment, the conversion submodule is further used for:
[0049] The lane coordinates are converted into pixel coordinates of the bird's-eye view according to the following preset formula:
[0050] pix x =floor((xx min )*pix2dist);
[0051] pix y =height-floor((yy min )*pix2dist);
[0052] Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (x min , x max ) is the x-coordinate of interest; (y min ,y max ) is the y-coordinate of interest; (pix x ,pix y ) is the conversion of the point (x, y) into pixel coordinates in the bird's-eye view; height is the height of the bird's-eye view.
[0053] In one embodiment, the apparatus further comprises:
[0054] A monitoring module for monitoring the colors obscured by the vehicle in the pre-drawn lane bird's-eye view;
[0055] A second determination module is used to determine that the vehicle simultaneously blocks multiple areas when the vehicle blocks multiple colors simultaneously;
[0056] A third judgment module is used to judge the blocked areas of the multiple areas blocked by the vehicle;
[0057] The third determination module is used to determine that the area with the largest blocked area is the lane where the vehicle is located.
[0058] In one embodiment, the apparatus further comprises:
[0059] An updating module, used for updating the lane number corresponding to the vehicle when the area with the largest occlusion area changes, so as to modify the lane number to the lane corresponding to the area with the largest occlusion area;
[0060] The second judgment module is further used for:
[0061] When the lane number assigned to the vehicle changes, it is determined that the vehicle may change lanes.
[0062] In one embodiment, the first determination module includes:
[0063] A judgment submodule is used to judge whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event when all cross product results are all positive or all negative;
[0064] A fourth determination module, configured to determine that the vehicle has not changed lanes if the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event;
[0065] The fifth determination module is used to determine that the vehicle has changed lanes if the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event.
[0066] The present application also provides a vehicle lane change judgment system, comprising:
[0067] at least one processor; and,
[0068] a memory communicatively connected to the at least one processor; wherein,
[0069] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to implement the vehicle lane change judgment method recorded in any of the above embodiments.
[0070] The present application also provides a computer-readable storage medium. When the instructions in the storage medium are executed by a processor corresponding to the vehicle lane change judgment system, the vehicle lane change judgment system can implement the vehicle lane change judgment method recorded in any of the above embodiments.
[0071] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings.
[0072] The technical solution of the present application is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] The accompanying drawings are used to provide a further understanding of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the accompanying drawings:
[0074] Figure 1 This is a flow chart of a vehicle lane change determination method in one embodiment of the present application;
[0075] Figure 2 This is a schematic diagram of a vehicle changing lanes in one embodiment of the present application;
[0076] Figure 3 This is a schematic diagram of a bird's-eye view corresponding to a lane in an embodiment of the present application;
[0077] Figure 4 This is a structural schematic diagram of a vehicle lane change judgment device in one embodiment of the present application;
[0078] Figure 5 Schematic diagram of the hardware structure of a vehicle lane change judgment system in one embodiment of the present application. DETAILED DESCRIPTION
[0079] The preferred embodiments of the present application are described below in conjunction with the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application.
[0080] Figure 1 Flowchart of a method for determining a vehicle lane change in one embodiment of the present application. Figure 1 As shown, the method can be implemented as the following steps S101-S104:
[0081] In step S101, when a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated;
[0082] In step S102, a first vector is determined by taking the starting point of a lane corresponding to the lane line that the vehicle passes through when changing lanes as the starting point and taking the vertex position of the vehicle at the current moment as the end point;
[0083] In step S103, the first vector is cross-multiplied with a second vector corresponding to the lane line that the vehicle passes through when changing lanes;
[0084] In step S104, it is determined whether the vehicle changes lanes based on the fork product calculation result.
[0085] In the present application, the execution entity may be a cloud-based lane change event detection device, which performs real-time detection of lane change events on the road based on data uploaded in real time by sensors installed on both sides of the road.
[0086] When a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated. The lane change detection event can be triggered in various ways, for example, the lane change detection function can be turned on manually and automatically, or the lane change detection can be triggered when the vehicle deviates from the original driving lane during the vehicle's driving process. Among them, the positions of each vertex of the vehicle at the current moment can be directly obtained by using a variety of sensors to obtain the coordinate positions of each vertex; in one embodiment of the present application, the positions of each vertex are calculated based on the center coordinates of the vehicle. First, the status information of the vehicle is obtained, wherein the status information includes information such as the center point position, size, heading angle and vehicle ID of the vehicle; then, the status information of the vehicle is substituted into the following formula to determine the positions of each vertex of the vehicle at the current moment:
[0087]
[0088] Among them, (x, y) is the vertex position of each vertex of the vehicle at the current moment; θ is the heading angle of the vehicle; (x0, y0) is the original vertex position of each vertex; (x c ,y c ) is the center point information of the vehicle at the current moment. Assuming that the length of the vehicle is l and the width of the vehicle is w, the original vertex position of the left front vertex can be set to (-0.5*l, 0.5*w), the original vertex position of the right front vertex can be set to (0.5*l, 0.5*w), the original vertex position of the left rear vertex can be set to (-0.5*l, -0.5*w), and the original vertex position of the right rear vertex can be set to (0.5*l, -0.5*w).
[0089] Then, the lane starting point corresponding to the lane line that the vehicle passes through when changing lanes is taken as the starting point, and the vertex position of the vehicle at the current moment is taken as the end point to determine the first vector; for example, A is the lane starting point corresponding to the lane line that the vehicle passes through when changing lanes, and B is the vertex position of the vehicle at the current moment, then the vector The calculation method is as follows:
[0090]
[0091] Among them, (x1, y1) is the coordinate of the starting point A; (x2, y2) is the coordinate of the end point B.
[0092] There are many ways to determine the starting point of a lane line, as long as the angle between the line from the starting point to the end point of the lane line and the direction of travel of the vehicle is an acute angle, and the angle between the lane line and the line from the starting point of the lane line to each vertex of the vehicle is an acute angle. In one embodiment of the present application, when determining the coordinates of the starting point and the end point of the lane, the positions of each vertex of the vehicle in the previous frame image and the current moment image when the vehicle triggers lane change monitoring are obtained; in the previous frame image and the current moment image, vertical lines are drawn through each vertex position of the vehicle to the lane line to obtain the intersection points of the vertical lines corresponding to each vertex and the lane line; assuming that the direction of travel of the vehicle is positive, the intersection point with the smallest coordinate along the direction of the lane line in the previous frame image can be determined as the starting point of the lane; the intersection point with the largest coordinate along the direction of the lane line in the current moment image is determined as the end point of the lane.
[0093] Figure 2 Schematic diagram of a vehicle changing lanes in one embodiment of the present application, such as Figure 2 As shown, the vertices of the target are traversed in pairs. Taking vertices p1 and p2 as examples, the lane starting point l corresponding to the lane line passed by the vehicle when changing lanes is generated. start The first vector formed by the positions of each vertex of the vehicle and The second vector corresponding to the lane line that the vehicle passes through when changing lanes
[0094] The first vector is cross-multiplied with the second vector corresponding to the lane line that the vehicle passes through when changing lanes; and whether the vehicle changes lanes is determined based on the cross-multiplication calculation result. In this application, the cross-multiplication operation rule is defined as follows: With vector For example, the calculation formula for the cross product is as follows:
[0095] dir=x a *y b -y a *x b ;
[0096] Among them, dir represents the result of cross product, (x a ,y a ) represents a vector (x b ,y b ) represents a vector
[0097] The relative position of two vectors can be determined by the positive or negative value of dir. In vector If dir is negative, it means vector In vector If dir is 0, it means vector In vector in the direction of.
[0098] Based on this, Figure 2 As shown, the positional relationship between vertices p1 and p2 and the lane can be determined in turn. When the vertices are on both sides of the lane line, the lane line is pressed; otherwise, vertices p2 and p3, p3 and p4, and p4 and p1 are determined in turn to see if they are on both sides of the lane line. When all vertices are on one side, it is a lane change.
[0099] Therefore, when all cross product results are positive or negative, determine whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event; if the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event, determine that the vehicle has not changed lanes; if the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event, determine that the vehicle has changed lanes. When there are both positive and negative cross product results, it is determined that the vehicle has crossed the line.
[0100] The beneficial effects of the present application are: when a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated; the starting point of the lane corresponding to the lane line that the vehicle passes through when changing lanes is used as the starting point, and the vertex position of the vehicle at the current moment is used as the end point to determine the first vector; the first vector is cross-multiplied with the second vector corresponding to the lane line that the vehicle passes through when changing lanes; and whether the vehicle changes lanes is determined based on the cross-multiplication calculation result. Since the positions of each vertex of the vehicle can be monitored in real time, and the relative position relationship between the vertex position of the vehicle and the lane line is determined by calculation, the vehicle's lane change behavior can be accurately identified, and the probability of false alarms of vehicle lane changes can be reduced.
[0101] In one embodiment, the above step S101 may be implemented as the following steps A1-A2:
[0102] In step A1, the state information of the vehicle is obtained, wherein the state information includes the center point position, size and heading angle of the vehicle;
[0103] In step A2, the state information of the vehicle is substituted into the following formula to determine the position of each vertex of the vehicle at the current moment:
[0104]
[0105] Among them, (x, y) is the vertex position of each vertex of the vehicle at the current moment; θ is the heading angle of the vehicle; (x0, y0) is the original vertex position of each vertex; (x c ,y c ) is the center point information of the vehicle at the current moment. Assuming that the length of the vehicle is l and the width of the vehicle is w, the original vertex position of the left front vertex can be set to (-0.5*l, 0.5*w), the original vertex position of the right front vertex can be set to (0.5*l, 0.5*w), the original vertex position of the left rear vertex can be set to (-0.5*l, -0.5*w), and the original vertex position of the right rear vertex can be set to (0.5*l, -0.5*w).
[0106] In one embodiment, the above method can also be implemented as the following steps B1-B3:
[0107] In step B1, a bird's-eye view corresponding to the lane is generated;
[0108] In step B2, the vehicle status is monitored on the bird's-eye view, and it is determined whether the vehicle is likely to change lanes based on the monitoring result;
[0109] In step B3, when it is detected that the vehicle may change lanes, a lane change detection event is triggered.
[0110] In this application, in order to distinguish lanes, a bird's-eye view corresponding to the lanes is generated. First, the lane coordinates are converted into pixel coordinates of the bird's-eye view according to a preset formula; if the high-precision map contains lane information, the lane coordinates can be converted into pixel coordinates of the bird's-eye view according to the following preset formula:
[0111] pix x =floor((xx min )*pix2dist);
[0112] pix y =height-floor((yy min )*pix2dist);
[0113] Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (x min , x max ) is the x-coordinate of interest; (y min ,y max ) is the y-coordinate of interest; (pix x ,pix y ) is the conversion of the point (x, y) into pixel coordinates in the bird's-eye view; height is the height of the bird's-eye view.
[0114] Width is the width of the bird's-eye view, width = floor ((x max -x min )*pix2dist);
[0115] height is the height of the bird's eye view, height = floor ((y max -y min )*pix2dist).
[0116] Then, the lanes are drawn into the bird's-eye view according to the pixel coordinates converted into the bird's-eye view; Figure 3 Schematic diagram of a bird's-eye view corresponding to a lane in one embodiment of the present application, such as Figure 3 As shown in the figure, different color areas represent different lanes, and one color represents one lane. In order to determine the lane number when the vehicle is traveling at different positions in the lane, first set the corresponding lane numbers for different positions in the lane. Specifically, set a matrix with the same size as the bird's-eye view as the lane number query matrix; by traversing the pixel positions of each bird's-eye view, the lane number is assigned to the corresponding position of the lane number query matrix according to the color of the pixel position. Furthermore, when determining the lane number in which the vehicle is traveling, the color blocked by the vehicle is monitored in the pre-drawn lane bird's-eye view, that is, the position of the vehicle is projected into the bird's-eye view, and the color of the area covered by the current vehicle is determined to determine the lane number in which the vehicle is located. When the vehicle blocks multiple colors at the same time, it is determined that the vehicle blocks multiple areas at the same time. At this time, the blocked areas of the multiple areas blocked by the vehicle are judged, and the area with the largest blocked area is determined to be the lane in which the vehicle is located.
[0117] The vehicle status is monitored on the bird's-eye view, and it is determined whether the vehicle has the possibility of changing lanes based on the monitoring results; for example, based on the current driving direction and driving speed of the vehicle, it is determined based on a preset model whether the vehicle has the possibility of changing lanes. In one embodiment of the present application, when monitoring a moving vehicle, when the area with the largest blocked area changes, the lane number assignment corresponding to the vehicle is updated to modify the lane number to the lane corresponding to the area with the largest blocked area. At this time, it indicates that the overall position of the vehicle has deviated from the original lane. Therefore, when the lane number assignment corresponding to the vehicle changes, it is determined that the vehicle has the possibility of changing lanes.
[0118] When it is detected that the vehicle may change lanes, a lane change detection event is triggered.
[0119] In one embodiment, the above step B1 can also be implemented as the following steps B11-B12:
[0120] In step B11, the lane coordinates are converted into pixel coordinates of the bird's-eye view according to a preset formula;
[0121] In step B12, the lanes are drawn into a bird's-eye view according to the pixel coordinates converted into the bird's-eye view; wherein, in the bird's-eye view, one lane corresponds to one color.
[0122] In one embodiment, the above step B11 can also be implemented as the following steps:
[0123] The lane coordinates are converted into pixel coordinates of the bird's-eye view according to the following preset formula:
[0124] pix x =floor((xx min )*pix2dist);
[0125] pix y =height-floor((yy min )*pix2dist);
[0126] Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (x min , x max ) is the x-coordinate of interest; (y min ,y max ) is the y-coordinate of interest; (pix x ,pix y ) is the conversion of the point (x, y) into pixel coordinates in the bird's-eye view; height is the height of the bird's-eye view.
[0127] In one embodiment, the above method can also be implemented as the following steps C1-C2:
[0128] In step C1, a matrix with the same size as the bird's-eye view is set as the lane number query matrix;
[0129] In step C2, the pixel positions of each bird's-eye view are traversed, and a lane number is assigned at the corresponding position of the lane number query matrix according to the color of the pixel position.
[0130] In one embodiment, the above method can also be implemented as the following steps D1-D3:
[0131] In step D1, the color obscured by the vehicle is monitored in the pre-drawn lane bird's-eye view;
[0132] In step D2, when the vehicle simultaneously blocks multiple colors, it is determined that the vehicle simultaneously blocks multiple areas;
[0133] In step D3, the blocked areas of the plurality of regions blocked by the vehicle are determined;
[0134] In step D4, the area with the largest blocked area is determined to be the lane where the vehicle is located.
[0135] In one embodiment, the above method can also be implemented as the following step D5:
[0136] When the area with the largest occlusion area changes, the lane number corresponding to the vehicle is updated to change the lane number to the lane corresponding to the area with the largest occlusion area;
[0137] The above step B2 can also be implemented as the following steps:
[0138] When the lane number assigned to the vehicle changes, it is determined that the vehicle may change lanes.
[0139] In one embodiment, the above step S104 may be implemented as the following steps E1-E3:
[0140] In step E1, when all cross product results are positive or negative, it is determined whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event;
[0141] In step E2, if the lane number at the current moment is consistent with the lane number in the previous frame image before the lane change detection event is triggered, it is determined that the vehicle has not changed lanes;
[0142] In step E3, if the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event, it is determined that the vehicle has changed lanes.
[0143] In one embodiment, the method may be implemented as follows:
[0144] When the cross product result is both positive and negative, it is determined that the vehicle is crossing the line.
[0145] Figure 4 Schematic diagram of the structure of a vehicle lane change judgment device in one embodiment of the present application. Figure 4 As shown, the device comprises:
[0146] A calculation module 401 is used to calculate the positions of each vertex of the vehicle at the current moment when a lane change detection event is triggered;
[0147] A first determination module 402 is used to determine a first vector by taking the starting point of a lane corresponding to the lane line that the vehicle passes through when changing lanes as a starting point and taking the vertex position of the vehicle at a current moment as an end point;
[0148] A cross product module 403, configured to perform a cross product of the first vector and a second vector corresponding to the lane line that the vehicle passes through when changing lanes;
[0149] The first judgment module 404 is used to judge whether the vehicle changes lanes according to the fork product calculation result.
[0150] In one embodiment, the apparatus further comprises:
[0151] A generation module, used to generate a bird's-eye view corresponding to the lane;
[0152] A second judgment module is used to monitor the vehicle status on the bird's-eye view and judge whether the vehicle is likely to change lanes according to the monitoring result;
[0153] The trigger module is used to trigger a lane change detection event when it is detected that the vehicle may change lanes.
[0154] In one embodiment, the generating module comprises:
[0155] A conversion submodule, for converting lane coordinates into pixel coordinates of a bird's-eye view according to a preset formula;
[0156] The drawing submodule is used to draw the lane into a bird's-eye view according to the pixel coordinates converted into the bird's-eye view; wherein, in the bird's-eye view, one lane corresponds to one color.
[0157] In one embodiment, the conversion submodule is further used for:
[0158] The lane coordinates are converted into pixel coordinates of the bird's-eye view according to the following preset formula:
[0159] pix x =floor((xx min )*pix2dist);
[0160] pix y =height-floor((yy min )*pix2dist);
[0161] Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (x min , x max ) is the x-coordinate of interest; (y min ,y max ) is the y-coordinate of interest; (pix x ,pix y ) is the conversion of the point (x, y) into pixel coordinates in the bird's-eye view; height is the height of the bird's-eye view.
[0162] In one embodiment, the apparatus further comprises:
[0163] A monitoring module for monitoring the colors obscured by the vehicle in the pre-drawn lane bird's-eye view;
[0164] A second determination module is used to determine that the vehicle simultaneously blocks multiple areas when the vehicle blocks multiple colors simultaneously;
[0165] A third judgment module is used to judge the blocked areas of the multiple areas blocked by the vehicle;
[0166] The third determination module is used to determine that the area with the largest blocked area is the lane where the vehicle is located.
[0167] In one embodiment, the apparatus further comprises:
[0168] An updating module, used for updating the lane number corresponding to the vehicle when the area with the largest occlusion area changes, so as to modify the lane number to the lane corresponding to the area with the largest occlusion area;
[0169] The second judgment module is further used for:
[0170] When the lane number assigned to the vehicle changes, it is determined that the vehicle may change lanes.
[0171] In one embodiment, the first determination module includes:
[0172] A judgment submodule is used to judge whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event when all cross product results are all positive or all negative;
[0173] A fourth determination module, configured to determine that the vehicle has not changed lanes if the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event;
[0174] The fifth determination module is used to determine that the vehicle has changed lanes if the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event.
[0175] Figure 5 FIG. 1 is a schematic diagram of the hardware structure of a vehicle lane change judgment system in one embodiment of the present application. Figure 5 As shown, the vehicle lane change judgment system includes:
[0176] at least one processor 520; and,
[0177] A memory 504 in communication with the at least one processor 520; wherein,
[0178] The memory 504 stores instructions that can be executed by the at least one processor 520, and the instructions are executed by the at least one processor 520 to implement the vehicle lane change determination method recorded in any of the above embodiments.
[0179] Reference Figure 5The vehicle lane change judgment system 500 may include one or more of the following components: a processing component 502, a memory 504, a power component 506, a multimedia component 508, an audio component 510, an input / output (I / O) interface 512, a sensor component 514, and a communication component 516.
[0180] The processing component 502 generally controls the overall operation of the vehicle lane change determination system 500. The processing component 502 may include one or more processors 520 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 502 may include one or more modules to facilitate the interaction between the processing component 502 and other components. For example, the processing component 502 may include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.
[0181] The memory 504 is configured to store various types of data to support the operation of the vehicle lane change judgment system 500. Examples of such data include instructions for any application or method operating on the vehicle lane change judgment system 500, such as text, pictures, videos, etc. The memory 504 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0182] The power component 506 provides power to various components of the vehicle lane change determination system 500. The power component 506 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the vehicle lane change determination system 500.
[0183] The multimedia component 508 includes a screen that provides an output interface between the vehicle lane change judgment system 500 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 508 may also include a front camera and / or a rear camera. When the vehicle lane change judgment system 500 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0184] The audio component 510 is configured to output and / or input audio signals. For example, the audio component 510 includes a microphone (MIC), and when the vehicle lane change judgment system 500 is in an operation mode, such as an alarm mode, a recording mode, a voice recognition mode, and a voice output mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 504 or sent via the communication component 516. In some embodiments, the audio component 510 also includes a speaker for outputting audio signals.
[0185] I / O interface 512 provides an interface between processing component 502 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0186] The sensor assembly 514 includes one or more sensors for providing various aspects of status evaluation for the vehicle lane change judgment system 500. For example, the sensor assembly 514 may include a sound sensor. In addition, the sensor assembly 514 may detect the open / closed state of the vehicle lane change judgment system 500, the relative positioning of the components, such as the display and keypad of the vehicle lane change judgment system 500, and the sensor assembly 514 may also detect the operating state of the vehicle lane change judgment system 500 or a component of the vehicle lane change judgment system 500, such as the operating state of the air distribution plate, the structural state, the operating state of the discharge scraper, etc., the orientation or acceleration / deceleration of the vehicle lane change judgment system 500 and the temperature change of the vehicle lane change judgment system 500. The sensor assembly 514 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 514 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 514 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, etc.
[0187] The communication component 516 is configured to enable the vehicle lane change judgment system 500 to provide the ability to communicate with other devices and cloud platforms in a wired or wireless manner. The vehicle lane change judgment system 500 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0188] In an exemplary embodiment, the vehicle lane change judgment system 500 can be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to execute the vehicle lane change judgment method described in any of the above embodiments.
[0189] The present application also provides a computer-readable storage medium. When the instructions in the storage medium are executed by a processor corresponding to the vehicle lane change judgment system, the vehicle lane change judgment system can implement the vehicle lane change judgment method recorded in any of the above embodiments.
[0190] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0191] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0192] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0193] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0194] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for determining a vehicle lane change, characterized in that: include: When a lane change detection event is triggered, the positions of each vertex of the vehicle at the current moment are calculated; The first vector is determined by taking the starting point of the lane corresponding to the lane line that the vehicle passes through when changing lanes as the starting point and the vertex position of the vehicle at the current moment as the end point; Cross-product the first vector with a second vector corresponding to the lane line that the vehicle passes through when changing lanes; Determine whether the vehicle changes lanes based on the fork product calculation result.
2. The method according to claim 2, characterized in that The method further comprises: Generate a bird's-eye view of the lane; Monitoring the vehicle status on the bird's-eye view, and determining whether the vehicle is likely to change lanes based on the monitoring result; When it is detected that the vehicle may change lanes, a lane change detection event is triggered.
3. The method according to claim 2, characterized in that The generating of the bird's-eye view corresponding to the lane includes: The lane coordinates are converted into pixel coordinates of the bird's-eye view according to a preset formula; The lanes are drawn into a bird's-eye view according to the pixel coordinates converted into the bird's-eye view; wherein, in the bird's-eye view, one lane corresponds to one color.
4. The method according to claim 3, characterized in that The converting the lane coordinates into pixel coordinates of the bird's-eye view according to a preset formula includes: The lane coordinates are converted into pixel coordinates of the bird's-eye view according to the following preset formula: pixx=floo((x-xmin)*pix2dist); pixy=height-floor((y-ymin)*pix2dist); Among them, floor() is a rounding function; pix2dist indicates how many pixels there are in 1m; (xmi n ,xma x ) is the x-coordinate of interest; (ymin, ymax) is the y-coordinate of interest; (pixx, pixy) is the pixel coordinate of the point (x, y) converted into the bird's-eye view; height is the height of the bird's-eye view.
5. The method according to claim 3, characterized in that The method further comprises: In the pre-drawn lane bird's-eye view, the colors blocked by the vehicle are monitored; When the vehicle occludes multiple colors at the same time, it is determined that the vehicle occludes multiple areas at the same time; Determine the occlusion areas of multiple areas occluded by the vehicle; The area with the largest occlusion area is determined to be the lane where the vehicle is located.
6. The method according to claim 5, characterized in that The method further comprises: When the area with the largest occlusion area changes, the lane number corresponding to the vehicle is updated to change the lane number to the lane corresponding to the area with the largest occlusion area; The determining, based on the monitoring result, whether the vehicle has a possibility of changing lanes includes: When the lane number assigned to the vehicle changes, it is determined that the vehicle may change lanes.
7. The method according to claim 1, characterized in that The step of judging whether the vehicle changes lanes according to the fork product calculation result includes: When all cross product results are positive or negative, determine whether the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event; If the lane number at the current moment is consistent with the lane number in the previous frame image that triggered the lane change detection event, it is determined that the vehicle has not changed lanes; If the lane number at the current moment is inconsistent with the lane number in the previous frame image that triggered the lane change detection event, it is determined that the vehicle has changed lanes.
8. A vehicle lane change judgment device, characterized in that: include: A calculation module, used to calculate the positions of each vertex of the vehicle at the current moment when a lane change detection event is triggered; A determination module, used to determine a first vector by taking a lane starting point corresponding to a lane line passed by the vehicle when changing lanes as a starting point and taking a vertex position of the vehicle at a current moment as an end point; A cross product module, used for cross producting the first vector with a second vector corresponding to the lane line passed by the vehicle when changing lanes; The judgment module is used to judge whether the vehicle changes lanes according to the fork product calculation result.
9. A vehicle lane change judgment system, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to implement the vehicle lane change judgment method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor corresponding to the vehicle lane change judgment system, the vehicle lane change judgment system can implement the vehicle lane change judgment method as described in any one of claims 1 to 7.