Obstacle speed calculation method and device, electronic equipment and vehicle
By acquiring and transforming pose information in an autonomous driving system, filtering and matching obstacle detection results, and combining dynamic and static attributes with differentiated filtering strategies, the accuracy and stability issues of obstacle velocity estimation in complex environments are solved, thereby improving the safety and planning accuracy of the autonomous driving system.
Patent Information
- Application Number
- CN202511980345.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-25
- Publication Date
- 2026-03-06
AI Technical Summary
In complex environments, autonomous driving systems struggle to accurately and quickly estimate obstacle speeds, leading to issues with decision reliability and safety. This is especially true in scenarios with multiple dynamic disturbances, severe weather, or multiple target occlusions, where detection results are easily affected, speed estimation becomes unstable, and parking accuracy and safety are compromised.
By acquiring the pose information of vehicles and obstacles, converting it to the world coordinate system, filtering valid detection results, matching global trajectories, determining the target trajectory of obstacles, and using a differentiated filtering strategy to estimate speed based on dynamic and static attributes and current position information.
It improves the accuracy and stability of obstacle speed estimation, suppresses estimation jumps caused by occlusion, and enhances the environmental perception reliability of the autonomous driving system and the safety and planning accuracy of the driving process.
Smart Images

Figure CN121608762A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle control technology, and in particular to an obstacle speed calculation method, device, electronic equipment, and vehicle. Background Technology
[0002] With the development of autonomous driving technology, environmental perception has become crucial for driving safety. Accurate estimation of obstacle speed is essential to ensure safe obstacle avoidance and path planning. Autonomous driving systems typically acquire obstacle feature data through detection components such as visual sensors and LiDAR to estimate speed, providing a core basis for safety decisions. However, complex environmental interference and the unique characteristics of autonomous driving scenarios lead to the following problems with related speed estimation schemes: On the one hand, in scenarios with multiple dynamic interferences, severe weather, or multiple target occlusions, detection components are susceptible to electromagnetic noise, blurred target outlines, and missing data, resulting in deviations in detection results. This can lead to speed "jumps" (e.g., stationary obstacles being misjudged as suddenly moving at high speed) and "distortions" (e.g., the calculated obstacle speed in dynamic obstacle speed calculations for parking scenarios deviates significantly from the actual value), seriously threatening the reliability of decision-making. On the other hand, in parking scenarios, vehicle speeds are slow, the range of motion is limited, and the number of effective tracking frames for sensors is small (i.e., short frame tracking). Related schemes use a unified calculation strategy, which cannot adapt to the differentiated motion attributes of static and dynamic obstacles, easily causing speed misjudgments or response lags. This makes it difficult for speed estimation to converge quickly and stably, affecting parking accuracy and safety.
[0003] Therefore, there is an urgent need for an obstacle velocity estimation method to achieve stable, accurate, and fast convergence velocity estimation in complex environments, so as to provide a reliable decision-making basis for autonomous driving systems. Summary of the Invention
[0004] Therefore, it is necessary to provide an obstacle speed calculation method, device, electronic device, and vehicle that can achieve stable, accurate, and rapid convergence speed estimation in complex environments, and provide a reliable decision-making basis for autonomous driving systems, in response to the above-mentioned technical problems.
[0005] Firstly, a method for calculating the velocity of an obstacle is provided, including: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle; The second pose information is transformed into the world coordinate system. Based on the transformation result, valid obstacles and their corresponding detection results are determined. The detection results include the current position information of the obstacles. The detection results corresponding to the valid obstacles are matched with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. Based on the target trajectory, determine the dynamic and static properties of the obstacles; The speed of the obstacle is determined based on its dynamic and static properties and its current position information.
[0006] Optionally, transforming the second pose information to the world coordinate system includes: The perception moment corresponding to the second pose information is obtained. The second pose information includes the position and orientation information of the obstacle relative to the vehicle. Determine the adjacent moments of the perception moment, and perform interpolation processing on the first pose information of the vehicle at the adjacent moments to obtain the target rotation matrix and target translation vector of the vehicle relative to the world coordinate system at the perception moment. Based on the target translation vector and the target rotation matrix, the position and orientation information of the obstacle relative to the vehicle are transformed into the world coordinate system.
[0007] Optionally, obtaining the vehicle's first pose information relative to the world coordinate system includes: Acquire the vehicle's first speed data and second speed data. The first speed data includes the three-axis angular velocity and the three-axis acceleration, and the second speed data includes the vehicle's velocity in the direction of travel. The initial pose information of the vehicle is determined based on the three-axis angular velocity and three-axis acceleration. Determine the vehicle's speed observation value based on the speed in the direction of the vehicle's movement; Based on the vehicle's speed observations, the cumulative error in the initial pose information is corrected by a state estimation algorithm to obtain the vehicle's first pose information relative to the world coordinate system. The first pose information includes the rotation matrix and translation vector.
[0008] Optionally, obtaining the second pose information of the obstacle relative to the vehicle includes: Acquire environmental perception data, preprocess the environmental perception data, and obtain target environmental perception data; The target environment perception data is input into the perception model to identify obstacles and obtain the second pose information of the obstacles relative to the vehicle. The second pose information includes the position, size and orientation information of the obstacles relative to the vehicle.
[0009] Optionally, based on the transformation results, valid obstacles may be identified as follows: Based on the output of the perception model, obtain the obstacle detection confidence level corresponding to the conversion result; Based on the ratio of the visible angle of an obstacle when it is unobstructed to the actual visible angle when it is obstructed, the occlusion ratio corresponding to a single data acquisition terminal is determined, the minimum value of the occlusion ratio corresponding to all data acquisition terminals is obtained, and the minimum value of the occlusion ratio is defined as the target occlusion ratio corresponding to the conversion result. The obstacle detection confidence level is compared with a first preset threshold, and the target occlusion ratio is compared with a second preset threshold. When the obstacle detection confidence is greater than a first preset threshold and the target occlusion ratio is less than a second preset threshold, it is determined to be an obstacle with a valid conversion result.
[0010] Optionally, the detection results corresponding to valid obstacles are matched with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined, including: Determine the correlation between the detection results corresponding to valid obstacles and multiple historical tracks in the global track; Based on correlation, the detection results corresponding to valid obstacles are matched with multiple historical flight paths; In response to a successful match between a valid obstacle detection result and the first target historical track among multiple historical tracks, the first target historical track is defined as the target track, and the target track is updated based on the valid obstacle detection result.
[0011] Optionally, the detection results corresponding to valid obstacles are matched with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined, including: In response to the fact that the detection result corresponding to the valid obstacle does not match any of the multiple historical tracks, a new track is created based on the detection result corresponding to the valid obstacle, and the new track is defined as the target track; In response to any second target historical track failing to match a valid obstacle detection result among multiple historical tracks, the current position is predicted and saved based on the historical data of the second target historical track. If the second target historical track fails to match a valid obstacle detection result within a consecutive preset number of frames, the second target historical track is deleted.
[0012] Optionally, based on the target trajectory, determining the dynamic and static properties of obstacles includes: Acquire historical motion information of the target trajectory in multiple consecutive frames. The historical motion information includes position information and orientation information. Based on the location information, determine the speed and displacement information of the obstacle; Based on orientation information, determine the heading angle change information of the obstacle; Based on the obstacle's velocity information, and / or displacement information, and / or heading angle change information, determine the corresponding dynamic and static judgment rules; Based on the dynamic and static judgment rules, the dynamic and static attributes of obstacles are determined.
[0013] Optionally, based on the dynamic and static judgment rules, the dynamic and static attributes of the obstacle are determined, including: Based on the historical motion information of multiple consecutive frames in the target track, at least one dynamic and static judgment rule is executed. The dynamic and static judgment rule includes at least one of the following: dynamic and static judgment rule based on velocity and displacement, dynamic and static judgment rule based on heading angle change, and dynamic and static judgment rule based on displacement continuity. By integrating the judgment results of at least one dynamic / static judgment rule, dynamic / static attribute labels for obstacles are generated; In response to the difference between the dynamic and static attribute labels and the dynamic and static attributes of the previous moment, the state estimate of the filter associated with the target track is reset. The filter is used to determine the speed of the obstacle based on the dynamic and static attributes of the obstacle and the current position information of the obstacle.
[0014] Secondly, an obstacle velocity calculation device is provided, comprising: The data acquisition module is used to acquire the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle. The first processing module is used to convert the second pose information to the world coordinate system, and based on the conversion result, determine the valid obstacles and the detection results corresponding to the valid obstacles. The detection results include the current position information of the obstacles. The second processing module is used to match the detection results corresponding to valid obstacles with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined. The global trajectory is used to describe the data structure that dynamically maintains the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. The third processing module is used to determine the dynamic and static properties of obstacles based on the target trajectory; The result output module is used to determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0015] Thirdly, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle; The second pose information is transformed into the world coordinate system. Based on the transformation result, valid obstacles and their corresponding detection results are determined. The detection results include the current position information of the obstacles. The detection results corresponding to the valid obstacles are matched with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. Based on the target trajectory, determine the dynamic and static properties of the obstacles; The speed of the obstacle is determined based on its dynamic and static properties and its current position information.
[0016] Fourthly, a vehicle is provided, including the obstacle speed calculation method of the first aspect.
[0017] The aforementioned obstacle velocity calculation method, device, electronic equipment, and vehicle include: acquiring the vehicle's first pose information relative to the world coordinate system and the obstacle's second pose information relative to the vehicle; converting the second pose information to the world coordinate system, and based on the conversion result, determining valid obstacles and their corresponding detection results, the detection results including the obstacle's current position information; matching the detection results corresponding to the valid obstacles with a global trajectory, and based on the matching result, determining the obstacle's target trajectory, the global trajectory being a data structure used to dynamically maintain the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range; determining the obstacle's dynamic and static attributes based on the target trajectory; and determining the obstacle's velocity based on the obstacle's dynamic and static attributes and its current position information. This application accurately determines the obstacle's dynamic and static attributes through multi-rule fusion and employs a differentiated filtering strategy accordingly, combined with real-time position for dual-anchor point constraint estimation, improving the accuracy, stability, and convergence speed of velocity estimation, effectively suppressing estimation jumps caused by occlusion, providing more reliable environmental perception input for the autonomous driving system, thereby enhancing driving safety and planning accuracy. Attached Figure Description
[0018] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a schematic diagram of the overall process of the obstacle velocity calculation method in one embodiment; Figure 2 This is another overall flowchart of the obstacle velocity calculation method in one embodiment; Figure 3 This is another overall flowchart of the obstacle velocity calculation method in one embodiment; Figure 4This is a schematic diagram illustrating the occlusion ratio calculation criteria provided in one embodiment. Figure 5 This is a schematic diagram of a track matching process provided in one embodiment; Figure 6 This is a schematic diagram of track matching rules provided in one embodiment; Figure 7 This is a schematic diagram of the optimal observation area provided in one embodiment; Figure 8 This is a structural block diagram of an obstacle velocity calculation device in one embodiment; Figure 9 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0021] It should be understood that, in the description of this application, unless the context explicitly requires it, words such as "including" or "comprising" throughout the specification should be interpreted as including rather than exclusive or exhaustive; that is, meaning "including but not limited to".
[0022] It should also be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0023] It should be noted that the terms "S1," "S2," etc., are used only for descriptive purposes and do not specifically refer to the order or sequence, nor are they intended to limit this application. They are merely for the convenience of describing the method of this application and should not be construed as indicating the sequential order of the steps. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0024] In one embodiment, such as Figures 1-3 As shown, a method for calculating the velocity of an obstacle is provided, including the following steps: S1: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle.
[0025] It should be noted that the first attitude information refers to the vehicle positioning information obtained by fusing data from the Inertial Measurement Unit (IMU) and wheel speedometers. The IMU provides three-axis angular velocity and three-axis acceleration. The three-axis angular velocity refers to the rotational angular velocity around its three orthogonal coordinate axes (usually x, y, and z axes), measured by the gyroscope in the IMU, and is measured in radians per second (rad / s) or degrees per second (° / s). It describes the rate of attitude change of the vehicle (or the IMU itself) in three-dimensional space. The three-axis acceleration refers to the linear acceleration along its three orthogonal coordinate axes (x, y, and z axes), measured by the accelerometer in the IMU, and is measured in meters per second² (m / s²). It describes the degree of acceleration or deceleration of the vehicle (or the IMU itself) along each axis in three-dimensional space, including a component of gravitational acceleration. Wheel speed... The system provides the vehicle's forward velocity and then outputs the vehicle's pose relative to the origin of the world coordinate system in real time, i.e., the first pose information. This includes translation vectors x, y, and z and corresponding rotation angles (such as yaw, pich, and roll). The translation vectors x, y, and z refer to the vehicle's center of mass, which is the three-dimensional spatial coordinate of its position relative to the origin of a fixed world coordinate system. The second pose information refers to the obstacle position information generated based on images collected by visual sensors (such as cameras and LiDAR), including position and orientation, such as the coordinates of the obstacle's center point, size parameters, and relative heading angle. This information is determined by a perception model built from a deep learning model. The world coordinate system is a fixed and unified three-dimensional spatial reference system, usually with the vehicle's initial position or a global anchor point as its origin.
[0026] S2: Transform the second pose information to the world coordinate system. Based on the transformation result, determine the valid obstacles and the corresponding detection results. The detection results include the current position information of the obstacles.
[0027] It should be noted that valid obstacle detection results refer to obstacle detection data that has undergone coordinate transformation and meets the screening criteria. The screening criteria include the detection confidence threshold and the occlusion ratio threshold, namely the first preset threshold and the second preset threshold.
[0028] S3: Match the detection results of valid obstacles with the global trajectory. Based on the matching results, determine the target trajectory of the obstacle. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range.
[0029] It should be noted that the global track refers to the time-series data set established by the system for each continuously tracked obstacle, recording its historical position, motion state, attribute labels, and lifecycle information. It supports cross-frame data association and state prediction. Among them, motion state information refers to the instantaneous kinematic characteristics of the obstacle in physical space, which may include position, velocity, acceleration, and heading angle. Attribute information refers to the inherent characteristics and classification identifiers of the obstacle, which may include geometric dimensions (such as length, width, and height), category labels (such as vehicle, pedestrian, bicycle, etc.), dynamic and static labels, identification identifiers (unique numbers used for cross-frame tracking), and lifecycle status (such as newly created, actively tracked, predicted, pending deletion, etc.). The target track refers to the specific track instance identified as the current obstacle after data association and matching. This track will be updated with the latest detection results and will continue to be maintained.
[0030] S4: Determine the dynamic and static properties of obstacles based on the target trajectory.
[0031] It should be noted that the static and dynamic attributes are used to characterize the classification labels (static / dynamic) of the obstacle's motion state. They are generated based on the motion features such as position, velocity, and heading changes in multiple consecutive frames of the target track, and are determined through multi-rule fusion.
[0032] S5: Determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0033] It should be noted that a filter refers to a mathematical algorithm model used for state estimation (such as an interactive multi-model filter), which outputs a smooth and accurate obstacle velocity estimate by fusing a differentiated strategy guided by dynamic and static attributes with the current position observation.
[0034] In the above implementation, by accurately determining the dynamic and static attributes of obstacles through multi-rule fusion, and adopting a differentiated filtering strategy accordingly, combined with real-time location for dual-anchor point constraint estimation, the accuracy, stability and convergence speed of velocity estimation are improved, and estimation jumps caused by occlusion are effectively suppressed. This provides more reliable environmental perception input for the autonomous driving parking system, thereby enhancing the safety and planning accuracy of the parking process.
[0035] In some specific implementations, obtaining the vehicle's first pose information relative to the world coordinate system includes: The system acquires first velocity data output from the vehicle's inertial measurement unit and second velocity data output from the vehicle's wheel speedometer. The first velocity data includes three-axis angular velocity and three-axis acceleration, and the second velocity data includes the velocity in the vehicle's forward direction. Based on the three-axis angular velocity and three-axis acceleration, the initial pose information of the vehicle is determined. The initial pose information of the vehicle can be obtained through integration, which includes the initial translation vector and the initial yaw angle, pitch angle and roll angle. This process will generate cumulative error, i.e. drift. Based on the speed in the direction of the vehicle's movement, the observed speed of the vehicle is determined, that is, the wheel speed meter data is used as the observed value; Based on the vehicle's speed observations, the cumulative error in the initial pose information is corrected by a state estimation algorithm to obtain the vehicle's first pose information relative to the world coordinate system. The first pose information includes a rotation matrix and a translation vector (x, y, z). The rotation matrix includes yaw, pitch, and roll. The state estimation algorithm can be an extended Kalman filter (EKF), an error state Kalman filter (ESKF), or graph optimization, etc.
[0036] Specifically, the core principle of IMU and wheel speed meter fusion for position and attitude estimation is to utilize the complementary characteristics of the two sensors, dynamically fuse data through filtering algorithms, use IMU to capture high-frequency motion details, and use wheel speed meter to suppress long-term drift, and finally realize position (x, y, z) and attitude (yaw, pitch, roll) estimation. Its main process includes two stages: (1) IMU predicts pose: using the angular velocity sampled by the IMU at high frequency, the pose is updated by integration; after removing the zero bias and gravity influence from the IMU accelerometer data, it is transformed to the world coordinate system, and the velocity and position are obtained by integration, thus completing the real-time estimation of pose. In this step, cumulative drift will occur; (2) Fusion correction error: through filtering (such as EKF-extended Kalman filter / ESKF-error state Kalman filter) or optimization (as shown in the figure) algorithms, the error between the IMU prediction value and the wheel speed meter observation value is calculated, and the error is used to correct the drift of the IMU and the instantaneous error of the wheel speed meter (such as the deviation caused by slippage), and the final pose information is obtained.
[0037] In some specific implementations, obtaining the second pose information of the obstacle relative to the vehicle includes: The initial environmental perception data is acquired and preprocessed to obtain the target environmental perception data. This involves acquiring raw data (such as images or point clouds) of the surrounding environment through perception sensors (such as surround-view cameras and LiDAR) installed on the vehicle. Preprocessing may include correcting the raw images acquired by the sensors (eliminating lens distortion), resizing (adapting to the model input size), and data augmentation (such as brightness adjustment and flipping to improve robustness). The target environment perception data is input into the perception model to identify obstacles and output the position, size, and orientation information of the obstacles relative to the vehicle. The raw data is processed using deep learning models (such as CNN-ResNet and Transformer-Swin) to identify the obstacles and output their preliminary pose information in the sensor coordinate system (or vehicle coordinate system). That is, features are extracted layer by layer through the backbone network (CNN such as ResNet and Transformer such as Swin), from the bottom edge / texture features to the top target features. The output layer is designed for the specific task. The detection head outputs the target category and bounding box, and the BEV head outputs 3D spatial information. Position, size, and orientation information are defined as the second pose information of the obstacle relative to the vehicle.
[0038] In some specific implementations, converting the second pose information of the obstacle relative to the vehicle to the world coordinate system includes: The perception moment corresponding to the second pose information is obtained. The second pose information includes the position and orientation information of the obstacle relative to the vehicle. Based on the perception time, the first pose information of the vehicle at adjacent time points is interpolated to obtain the target rotation matrix and target translation vector of the vehicle relative to the world coordinate system at the perception time. Based on the target translation vector and the target rotation matrix, the position and orientation information of the obstacle relative to the vehicle are transformed into the world coordinate system.
[0039] Specifically, the obstacle pose information output by the perception model at time t1 includes the position of the obstacle's center point. Length, width, height (L, W, H) and orientation The vehicle positioning data of the nearest previous time t0 and the nearest next time t2 to time t1 are retrieved. The vehicle positioning information corresponding to time t1 is obtained through interpolation, i.e., this positioning information includes a rotation matrix of R. ego The translation vector is t ego The relationship between this positioning information and the first pose information mentioned above is as follows: ; ; ; ; ; More specifically, the translation vector, yaw, pitch, and roll angles corresponding to the vehicle pose are the averages between two time points; then, the pose of the target obstacle relative to the vehicle, i.e., the position of its center point, is calculated using the following formula. and the angle relative to the vehicle Transform to a world coordinate system with the origin as the reference to obtain the corresponding center point position pos in the world coordinate system. world and angle heading world : ; ; In some specific implementations, based on the conversion results, determining valid obstacle detection results includes: Obtain the obstacle detection confidence and occlusion ratio corresponding to the conversion result, wherein the obstacle detection confidence is output by the perception model mentioned above; The obstacle detection confidence is compared with a first preset threshold, and the occlusion ratio is compared with a second preset threshold. The first and second preset thresholds can be set according to actual needs, such as 0.3 and 0.9. The first preset threshold is used to measure the reliability of the detection result itself, and the second preset threshold is used to measure the severity of the target being occluded by other objects. If the obstacle detection confidence is greater than a first preset threshold and the occlusion ratio is less than a second preset threshold, the result is determined to be a valid obstacle detection result.
[0040] Specifically, based on the confidence level and occlusion ratio of the model output, the multiple obstacle detection results acquired in each frame are filtered out. Target obstacles with low confidence (less than 0.3) and severe occlusion (occlusion ratio greater than 0.9) are removed, i.e., obstacles with unstable detection are eliminated. For example, Figure 4 As shown, the calculation rules for the occlusion ratio include: taking the front-view camera as an example, the visible angle of target obstacle 1 in the absence of occlusion is... Considering the occlusion caused by obstacle 2, the occlusion ratio of obstacle 1 is: ,in, , The full visible angle range of target obstacle 1 in the absence of any obstruction. When the target obstacle 1 is unobstructed, the azimuth angle of the leftmost edge of the target obstacle relative to the x-axis (camera optical axis) in the camera's field of view. When the target obstacle 1 is unobstructed, the azimuth angle of the rightmost edge of the target obstacle relative to the x-axis (camera optical axis) in the camera's field of view. This refers to the azimuth angle of the leftmost edge of the remaining unobstructed portion of target obstacle 1 relative to the x-axis (camera optical axis) after it is occluded by another object (such as another obstacle 2). The azimuth angle of the rightmost edge of the remaining unobstructed portion of the target obstacle relative to the x-axis (camera optical axis) after it is occluded by other objects. Considering that multiple cameras are generally used in parking scenarios, the final occlusion ratio of obstacle 1 is the minimum occlusion ratio within each camera, and so on, without further explanation.
[0041] In some specific implementations, the effective obstacle detection results are matched with the global trajectory, and the target trajectory of the obstacle is determined based on the matching results, including: Determine the correlation between valid obstacle detection results and historical tracks in the global track; Based on correlation, valid obstacle detection results are matched with historical flight paths; In response to a successful match between a valid obstacle detection result and the historical track of the first target, the historical track of the first target is defined as the target track, and the target track is updated based on the valid obstacle detection result. In response to a failure to match a valid obstacle detection result with a historical track, a new track is created based on the valid obstacle detection result, and the new track is defined as the target track. In response to the failure of the second target's historical track to match a valid obstacle detection result, the current position is predicted and saved based on the historical data of the second target's historical track. If the second target's historical track fails to match a valid obstacle detection result within a consecutive preset number of frames, the second target's historical track is deleted. The preset number of frames can be set according to actual needs, such as 5 frames.
[0042] Specifically, the preprocessed obstacle detection results in the world coordinate system are matched with the saved global tracks based on their relative positions using center point distance or IOU (Intersection over Union) values to determine a one-to-one correspondence between multiple detection results and the target track. The global track represents all historical obstacle detection results. Specifically, a matching candidate set is constructed: all valid obstacle detection results in the current frame (including center point positions and bounding box information in the world coordinate system) are extracted, and all active historical tracks in the global track are obtained (including the latest frame / predicted center point and bounding box information for each track), forming a detection result set and a historical track set. Similarity indicators are calculated: for each detection result-historical track pair in the two sets, two types of similarity indicators are calculated (either one or a combination): Center point distance: calculates the Euclidean distance between the center point of the detection result and the center point of the historical track in the world coordinate system. The smaller the distance, the higher the similarity. IOU (Intersection over Union): calculates the ratio of the intersection area to the union area of the bounding boxes (2D / 3D). The larger the IOU, the higher the overlap and the higher the similarity. Threshold filtering and optimal matching: Set a distance threshold (e.g., 2m) or an IOU threshold (e.g., 0.3) to filter out invalid pairs with similarity below the threshold; for the remaining valid pairs, use the Hungarian algorithm or a greedy algorithm to assign a unique historical track to each detection result (prioritizing the matching of the pair with the highest similarity), while ensuring that one historical track corresponds to only one detection result; Handling unmatched items: Successfully matched detection results are bound to historical tracks, and the track status is updated; for detection results that do not match a track, a new track is created; for historical tracks that do not match a detection result, the current position is predicted using historical data and temporarily stored, and deleted if there are multiple consecutive frames (e.g., 5 frames) without a match; for example, Figure 5 and Figure 6 As shown, at time t0, the global track consists of solid obstacles 1, 2, and 3. Real-time detection of three target obstacles is received at the current time, indicated by hollow boxes a, b, and c in the figure. By matching the center point distance or IOU (Intersection over Union) value with 1, 2, and 3, the correspondences 1—a, 2—c, and 3—b can be obtained. Therefore, at time t0, tracks 1, 2, and 3 can be updated using the detection values a, c, and b, respectively. Furthermore, at time t1, a similar correspondence of 2—e and 3—d can be established, and tracks 2 and 3 can be updated accordingly. For track 1 that does not match, the current position needs to be predicted using historical values for output. If no new observation is matched for more than 5 frames, it needs to be deleted. For observation f that does not match, a new track needs to be created.
[0043] In some specific implementations, determining the dynamic and static properties of obstacles based on the target trajectory includes: Acquire historical motion information of the target trajectory in multiple consecutive frames. The historical motion information includes position information and orientation information. Based on the location information, determine the speed and displacement information of the obstacle; Based on orientation information, determine the heading angle change information of the obstacle; Based on the obstacle's velocity information, and / or displacement information, and / or heading angle change information, determine the corresponding dynamic and static judgment rules; Based on the dynamic and static judgment rules, determine the dynamic and static attributes of the obstacle; Based on the historical motion information of multiple consecutive frames in the target track, at least one dynamic and static judgment rule is executed. The dynamic and static judgment rule includes at least one of the following: dynamic and static judgment rule based on velocity and displacement, dynamic and static judgment rule based on heading angle change, and dynamic and static judgment rule based on displacement continuity. By integrating the judgment results of at least one dynamic / static judgment rule, dynamic / static attribute labels for obstacles are generated; In response to the difference between the dynamic and static attribute labels and the dynamic and static attributes of the previous moment, the state estimate of the filter associated with the target track is reset. The filter is used to determine the speed of the obstacle based on the dynamic and static attributes of the obstacle and the current position information of the obstacle.
[0044] Specifically, for each target's track that is maintained, the dynamic and static attributes of the target at the current moment are calculated, including: (1) Data preprocessing and queue update: Save the latest detection data in the world coordinate system, calculate the dynamic and static attributes of the target obstacle based on historical frames, and update the dynamic and static analysis queue: retain only the valid detection values with an occlusion ratio <0.9, and store the current frame position, the estimated velocity calculated based on the position between 5 frames, and the target orientation.
[0045] (2) Dynamic and static judgment based on speed and displacement (basic rules): Based on speed rules and displacement constraints, determine whether the obstacle vehicle changes from static to dynamic: Normal speed sign: speed along its own heading > 1.5 m / s, and the displacement direction is consistent for a period of time; Displacement sign: continuous displacement ≥ 20 cm (in the same direction, forward or backward); High speed sign: speed along its own heading > 4 m / s (14.4 km / h), and the displacement direction is consistent; Comprehensive judgment: Valid data ≥ 5 frames: obstacles that are not severely obstructed, and satisfy “normal speed sign + displacement sign” are judged as dynamic; Valid data 3~4 frames: satisfy “high speed sign + displacement sign” are judged as dynamic.
[0046] (3) Dynamic / static judgment based on heading angle (adaptation to turning scenarios): For turning vehicles, dynamic / static judgment is made by changing the heading angle: Calculate the angle difference between the historical frame and the initial frame (frame 1); if the angle difference between the historical frame and the initial frame has the same sign (both positive or both negative), the angle difference is >10°, and the Euclidean distance between the starting point and the ending point is >1m, then it is judged as dynamic; when the historical data is ≥10 frames and the target is in the optimal observation area, it is directly judged as dynamic; currently, different optimal observation areas are designed for different sensors. For laser sensors, the optimal observation area is as follows: Figure 7 The polygonal area of the forward-looking range is shown. For surround-view perception, the optimal observation area is a rectangular area of 8m to the left and right and 15m to the front and back. The optimal observation area for each sensor is within this area, which will yield the best perception effect.
[0047] (4) Dynamic and static judgment based on displacement change (adaptation to low-speed scene): For slow-moving targets (obstacle vehicles with a speed of more than 1.5 m / s that do not meet condition 2 are considered slow-moving targets, corresponding to obstacle vehicles with a speed of about 5 kph in actual situation), dynamic and static transformation (dynamic → static or vice versa) is judged by displacement continuity: at least 10 frames of detection data are required to support the calculation of this rule; the most recent 20 frames of historical data are stored in real time, and the relative displacement between the m-th frame in history and the current frame is calculated (in the local coordinate system of the obstacle vehicle); if the number of frames with displacement > position offset threshold in the past frames exceeds the number threshold, the current frame is marked as a "dynamic frame", and two consecutive "dynamic frames" are judged as dynamic as a whole; if all historical displacements are < position offset threshold, it is judged as static, otherwise it is dynamic.
[0048] (5) Comprehensive judgment: The results of the above three rules are combined to generate the dynamic and static flags at the current moment. In general, the three rules are as follows: Basic rules for speed and displacement: When there are ≥5 frames of valid data, if the speed along its own heading is >1.5m / s and the displacement direction is consistent, and the continuous displacement is ≥20cm, it is judged as dynamic; when there are 3~4 frames of valid data, if the speed along its own heading is >4m / s and the displacement direction is consistent, and the continuous displacement is ≥20cm, it is judged as dynamic; Turning scene rules for heading angle: Calculate the angle difference between the historical frame and the initial frame. If the angle difference sign is consistent, the angle difference is >10° and the Euclidean distance between the starting point and the ending point is >1m, it is judged as dynamic; When there are ≥10 frames of historical data and the target is in the best observation area of perception, it is directly judged as dynamic; Low-speed scene rules for displacement change: At least 10 frames of detection data are required. Store the most recent 20 frames of historical data, calculate the relative displacement between the historical frame and the current frame. If the number of frames whose displacement exceeds the position offset threshold exceeds the number threshold, it is marked as a "dynamic frame". Two consecutive "dynamic frames" are judged as dynamic. If all historical displacements are less than the position offset threshold, it is judged as static.
[0049] (6) State switching processing: If the obstacle vehicle undergoes a dynamic-to-static switch (dynamic → static or static → dynamic), the speed and acceleration estimates in the filter are immediately reset to ensure the accuracy of subsequent state estimates.
[0050] Furthermore, the observed values calculated based on the combined dynamic and static velocities are fed into a Kalman filter to estimate the final smooth and stable velocity and acceleration. The filter used is a filterIMM filter, which incorporates different kinematic models for stationary, constant velocity, constant acceleration, and constant angular velocity scenarios. The state equations are designed as follows: CA:[xvxaxyvyayzvzazyawLWH]; CV: [xvxyvyzvzyawLWH]; CT: [xvxyvyyawRatezvzyawLWH]; ST: [xyzyawLWH]; The observed values are: [xyz vx vy vz yaw LWH].
[0051] Where x, y, z represent the position of the center point of the target obstacle on the x, y, z axes, vx, vy, vz are the velocities in the corresponding directions, ax, ay, az are the accelerations in the corresponding directions, and yaw, L, W, H are the angular velocity, length, width, and height of the corresponding rectangle. The filtered output is obtained from the filter and then output to downstream control systems.
[0052] The above obstacle velocity calculation method includes: acquiring the first pose information of the vehicle relative to the world coordinate system and the second pose information of the obstacle relative to the vehicle; transforming the second pose information to the world coordinate system, and based on the transformation result, determining valid obstacles and their corresponding detection results, the detection results including the current position information of the obstacles; matching the detection results corresponding to the valid obstacles with the global trajectory, and determining the target trajectory of the obstacle based on the matching result, the global trajectory being a data structure used to dynamically maintain the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range; determining the dynamic and static attributes of the obstacle based on the target trajectory; and determining the speed of the obstacle based on its dynamic and static attributes and its current position information. (1) Complete data dimensions: The dynamic and static attributes of obstacles are directly parsed from the raw position data of the sensors to generate structured information of "position + dynamic and static labels", which supplements the key input dimensions for downstream control and decision-making modules. The output structured information can be directly used by downstream modules, which improves the data processing efficiency of the overall system, provides a direct basis for differentiated decision-making (such as avoiding dynamic targets and bypassing static targets), and improves the safety and reliability of the autonomous driving system.
[0053] (2) High engineering feasibility: It directly addresses the long-standing engineering problem of "jumping and distortion" in speed estimation under target occlusion scenarios, rather than generalized optimization. The problem-solving is highly targeted and can effectively eliminate the threat of speed anomalies to decision-making safety under such scenarios, filling the performance gap of traditional technologies under occlusion conditions.
[0054] (3) Dual anchor point logic works together to ensure speed accuracy: The innovative dual input fusion design of "attribute anchor point + numerical anchor point" is adopted to form dual constraints: "attribute anchor point" formulates differentiated calculation strategies (static smoothing, dynamic real-time response) based on dynamic and static identifiers, and controls the calculation direction from the attribute dimension; "numerical anchor point" uses the latest detection position calibration results to filter anomalies from the numerical dimension. The two work together to suppress jitter noise and ensure that the speed output is stable within a reasonable range. Compared with single-dimensional correction, the accuracy and stability are greatly improved.
[0055] (4) Reduce system dependence and improve adaptability: No additional sensors or complex algorithm modules are required. The optimization is achieved by simply using the fusion logic of existing dynamic and static identifiers and the latest detection location. While controlling the technical cost and complexity, it can adapt to the location data of different types of sensors (such as LiDAR and cameras), has strong compatibility, is easy to integrate into existing autonomous driving perception systems, and has high engineering feasibility.
[0056] (5) Separate static and dynamic processing branches, with targeted strategies: The “differentiated branch processing” logic is adopted. For static targets (such as fixed obstacles or stopped vehicles in the parking area), the “stable position + slow update” logic (stable speed by relying on the average of historical frames) is used to avoid single-frame fluctuation interference. For dynamic targets (such as pedestrians or vehicles that suddenly enter the parking area), the “sensitive response + fast update” logic (speed is tracked by the difference of the current frame) is used to ensure the timeliness of speed tracking. The two strategies accurately match the calculation requirements of targets with different motion attributes, and improve the adaptability of speed calculation from the underlying logic.
[0057] It should be understood that, although Figures 1-7 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figures 1-7 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0058] In one embodiment, such as Figure 8 As shown, an obstacle velocity calculation device is provided, comprising: The data acquisition module is used to acquire the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle. The first processing module is used to convert the second pose information to the world coordinate system, and based on the conversion result, determine the valid obstacles and the detection results corresponding to the valid obstacles. The detection results include the current position information of the obstacles. The second processing module is used to match the detection results corresponding to valid obstacles with the global trajectory. Based on the matching results, the target trajectory of the obstacle is determined. The global trajectory is used to describe the data structure that dynamically maintains the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. The third processing module is used to determine the dynamic and static properties of obstacles based on the target trajectory; The result output module is used to determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0059] In a preferred embodiment of the present invention, the first processing module is specifically used for: The perception moment corresponding to the second pose information is obtained. The second pose information includes the position and orientation information of the obstacle relative to the vehicle. Determine the adjacent moments of the perception moment, and perform interpolation processing on the first pose information of the vehicle at the adjacent moments to obtain the target rotation matrix and target translation vector of the vehicle relative to the world coordinate system at the perception moment. Based on the target translation vector and the target rotation matrix, the position and orientation information of the obstacle relative to the vehicle are transformed into the world coordinate system.
[0060] In a preferred embodiment of the present invention, the data acquisition module is specifically used for: Acquire the vehicle's first speed data and second speed data. The first speed data includes the three-axis angular velocity and the three-axis acceleration, and the second speed data includes the vehicle's velocity in the direction of travel. The initial pose information of the vehicle is determined based on the three-axis angular velocity and three-axis acceleration. Determine the vehicle's speed observation value based on the speed in the direction of the vehicle's movement; Based on the vehicle's speed observations, the cumulative error in the initial pose information is corrected by a state estimation algorithm to obtain the vehicle's first pose information relative to the world coordinate system. The first pose information includes the rotation matrix and translation vector.
[0061] In a preferred embodiment of the present invention, the data acquisition module is further configured to: Acquire environmental perception data, preprocess the environmental perception data, and obtain target environmental perception data; The target environment perception data is input into the perception model to identify obstacles and obtain the second pose information of the obstacles relative to the vehicle. The second pose information includes the position, size and orientation information of the obstacles relative to the vehicle.
[0062] In a preferred embodiment of the present invention, the first processing module is specifically used for: Based on the output of the perception model, obtain the obstacle detection confidence level corresponding to the conversion result; Based on the ratio of the visible angle of an obstacle when it is unobstructed to the actual visible angle when it is obstructed, the occlusion ratio corresponding to a single data acquisition terminal is determined, the minimum value of the occlusion ratio corresponding to all data acquisition terminals is obtained, and the minimum value of the occlusion ratio is defined as the target occlusion ratio corresponding to the conversion result. The obstacle detection confidence level is compared with a first preset threshold, and the target occlusion ratio is compared with a second preset threshold. When the obstacle detection confidence is greater than a first preset threshold and the target occlusion ratio is less than a second preset threshold, it is determined to be an obstacle with a valid conversion result.
[0063] In a preferred embodiment of the present invention, the second processing module is specifically used for: Determine the correlation between the detection results corresponding to valid obstacles and multiple historical tracks in the global track; Based on correlation, the detection results corresponding to valid obstacles are matched with multiple historical flight paths; In response to a successful match between a valid obstacle detection result and the first target historical track among multiple historical tracks, the first target historical track is defined as the target track, and the target track is updated based on the valid obstacle detection result.
[0064] In a preferred embodiment of the present invention, the second processing module is specifically used for: In response to the fact that the detection result corresponding to the valid obstacle does not match any of the multiple historical tracks, a new track is created based on the detection result corresponding to the valid obstacle, and the new track is defined as the target track; In response to any second target historical track failing to match a valid obstacle detection result among multiple historical tracks, the current position is predicted and saved based on the historical data of the second target historical track. If the second target historical track fails to match a valid obstacle detection result within a consecutive preset number of frames, the second target historical track is deleted.
[0065] In a preferred embodiment of the present invention, the third processing module is specifically used for: Acquire historical motion information of the target trajectory in multiple consecutive frames. The historical motion information includes position information and orientation information. Based on the location information, determine the speed and displacement information of the obstacle; Based on orientation information, determine the heading angle change information of the obstacle; Based on the obstacle's velocity information, and / or displacement information, and / or heading angle change information, determine the corresponding dynamic and static judgment rules; Based on the dynamic and static judgment rules, the dynamic and static attributes of obstacles are determined.
[0066] In a preferred embodiment of the present invention, the third processing module is specifically used for: Based on the historical motion information of multiple consecutive frames in the target track, at least one dynamic and static judgment rule is executed. The dynamic and static judgment rule includes at least one of the following: dynamic and static judgment rule based on velocity and displacement, dynamic and static judgment rule based on heading angle change, and dynamic and static judgment rule based on displacement continuity. By integrating the judgment results of at least one dynamic / static judgment rule, dynamic / static attribute labels for obstacles are generated; In response to the difference between the dynamic and static attribute labels and the dynamic and static attributes of the previous moment, the state estimate of the filter associated with the target track is reset. The filter is used to determine the speed of the obstacle based on the dynamic and static attributes of the obstacle and the current position information of the obstacle.
[0067] Specific limitations regarding the obstacle speed calculation device can be found in the limitations of the obstacle speed calculation method described above, and will not be repeated here. Each module in the aforementioned obstacle speed calculation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0068] In one embodiment, an electronic device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 9 As shown, the electronic device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for calculating obstacle speed. The display screen can be a liquid crystal display (LCD) or an e-ink display. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the device's casing, or an external keyboard, touchpad, or mouse.
[0069] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0070] In one embodiment, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps: S1: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle; S2: Transform the second pose information to the world coordinate system. Based on the transformation result, determine the valid obstacles and the detection results corresponding to the valid obstacles. The detection results include the current position information of the obstacles. S3: Match the detection results corresponding to the valid obstacles with the global trajectory. Based on the matching results, determine the target trajectory of the obstacle. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. S4: Determine the dynamic and static properties of obstacles based on the target trajectory; S5: Determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0071] In one embodiment, a vehicle is provided that includes the obstacle speed calculation method described above.
[0072] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor: S1: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle; S2: Transform the second pose information to the world coordinate system. Based on the transformation result, determine the valid obstacles and the detection results corresponding to the valid obstacles. The detection results include the current position information of the obstacles. S3: Match the detection results corresponding to the valid obstacles with the global trajectory. Based on the matching results, determine the target trajectory of the obstacle. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. S4: Determine the dynamic and static properties of obstacles based on the target trajectory; S5: Determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0073] In one embodiment, a computer program product is provided, the computer program product comprising a computer program that, when executed by a processor, performs the following steps: S1: Obtain the first pose information of the vehicle relative to the world coordinate system, and the second pose information of the obstacle relative to the vehicle; S2: Transform the second pose information to the world coordinate system. Based on the transformation result, determine the valid obstacles and the detection results corresponding to the valid obstacles. The detection results include the current position information of the obstacles. S3: Match the detection results corresponding to the valid obstacles with the global trajectory. Based on the matching results, determine the target trajectory of the obstacle. The global trajectory is a data structure used to describe the dynamic maintenance of the motion state and attribute information of multiple obstacles at different times within the vehicle's preset detection range. S4: Determine the dynamic and static properties of obstacles based on the target trajectory; S5: Determine the speed of the obstacle based on its dynamic and static attributes and its current position information.
[0074] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0075] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0076] The embodiments described above are merely examples of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application.
Claims
1. An obstacle speed calculation method characterized by, The method comprises: obtaining first pose information of a vehicle relative to a world coordinate system, and second pose information of an obstacle relative to the vehicle; converting the second pose information to the world coordinate system, and determining an effective obstacle and a detection result corresponding to the effective obstacle based on the conversion result, wherein the detection result comprises current position information of the obstacle; matching the detection result corresponding to the effective obstacle with a global track, and determining a target track of the obstacle according to a matching result, wherein the global track is used to describe a data structure for dynamically maintaining motion states and attribute information of a plurality of obstacles at different times within a preset detection range of the vehicle; determining dynamic and static attributes of the obstacle based on the target track; determining a speed of the obstacle according to the dynamic and static attributes of the obstacle and the current position information of the obstacle.
2. The obstacle speed calculation method according to claim 1, characterized by, The conversion of the second pose information to the world coordinate system comprises: obtaining a perception time corresponding to the second pose information, wherein the second pose information comprises position and orientation information of the obstacle relative to the vehicle; determining a neighboring time of the perception time, and performing interpolation processing on first pose information of the vehicle at the neighboring time to obtain a target rotation matrix and a target translation vector of the vehicle relative to the world coordinate system at the perception time; converting the position and orientation information of the obstacle relative to the vehicle to the world coordinate system based on the target translation vector and the target rotation matrix.
3. The obstacle speed calculation method according to claim 1 or 2, characterized by, The obtaining of the first pose information of the vehicle relative to the world coordinate system comprises: obtaining first speed data and second speed data of the vehicle, wherein the first speed data comprises three-axis angular velocity and three-axis acceleration, and the second speed data comprises a speed of a forward direction of the vehicle; determining initial pose information of the vehicle based on the three-axis angular velocity and the three-axis acceleration; determining a speed observation value of the vehicle based on the speed of the forward direction of the vehicle; correcting cumulative errors in the initial pose information by a state estimation algorithm based on the speed observation value of the vehicle to obtain the first pose information of the vehicle relative to the world coordinate system, wherein the first pose information comprises a rotation matrix and a translation vector.
4. The obstacle speed calculation method according to claim 1 or 2, characterized by, The obtaining of the second pose information of the obstacle relative to the vehicle comprises: obtaining environmental perception data, and performing preprocessing on the environmental perception data to obtain target environmental perception data; inputting the target environmental perception data into a perception model to identify the obstacle and obtain the second pose information of the obstacle relative to the vehicle, wherein the second pose information comprises position, size and orientation information of the obstacle relative to the vehicle.
5. The obstacle speed calculation method according to claim 1, characterized by, The determination of the effective obstacle based on the conversion result comprises: obtaining an obstacle detection confidence corresponding to the conversion result; determining a shielding ratio corresponding to a single data acquisition terminal based on a ratio of a visible angle of the obstacle when unshielded to an actual visible angle after being shielded, obtaining a minimum value of shielding ratios corresponding to all data acquisition terminals, and defining the minimum value of the shielding ratios as a target shielding ratio corresponding to the conversion result; The obstacle detection confidence is compared with a first preset threshold, and the target occlusion ratio is compared with a second preset threshold; In response to the obstacle detection confidence being greater than the first preset threshold and the target occlusion ratio being less than the second preset threshold, it is determined that the conversion result is a valid obstacle.
6. The obstacle velocity calculation method according to claim 1, characterized by, The detection result corresponding to the valid obstacle is matched with a global track, and a target track of the obstacle is determined according to a matching result, including: Determining the correlation degree between the detection result corresponding to the valid obstacle and a plurality of historical tracks in the global track; Based on the correlation degree, the detection result corresponding to the valid obstacle is matched with the plurality of historical tracks; In response to the detection result corresponding to the valid obstacle matching a first target historical track in the plurality of historical tracks successfully, the first target historical track is defined as the target track, and the target track is updated based on the detection result corresponding to the valid obstacle.
7. The obstacle speed calculation method according to claim 1 or 6, characterized by, The detection result corresponding to the valid obstacle is matched with a global track, and a target track of the obstacle is determined according to a matching result, including: In response to the detection result corresponding to the valid obstacle not matching any historical track in the plurality of historical tracks, a new track is created based on the detection result corresponding to the valid obstacle, and the new track is defined as the target track; In response to any second target historical track in the plurality of historical tracks not matching the detection result corresponding to the valid obstacle, a current position is predicted based on historical data of the second target historical track and saved, and if the second target historical track does not match the detection result corresponding to the valid obstacle successfully within a continuous preset number of frames, the second target historical track is deleted.
8. The obstacle velocity calculation method according to claim 1, characterized by, Based on the target track, the dynamic and static attribute of the obstacle is determined, including: Obtaining historical motion information of the target track in a plurality of continuous frames, the historical motion information including position information and orientation information; Based on the position information, the speed information and displacement information of the obstacle are determined; Based on the orientation information, the heading angle change information of the obstacle is determined; Based on the speed information, and / or, the displacement information, and / or, the heading angle change information of the obstacle, a corresponding dynamic and static judgment rule is determined; Based on the dynamic and static judgment rule, the dynamic and static attribute of the obstacle is determined.
9. The obstacle velocity calculation method according to claim 8, characterized by, Based on the target track, the dynamic and static attribute of the obstacle is determined, including: Based on the historical motion information of the plurality of continuous frames in the target track, at least one dynamic and static judgment rule is executed, the dynamic and static judgment rule including at least one of the following: a dynamic and static judgment rule based on speed and displacement, a dynamic and static judgment rule based on heading angle change, and a dynamic and static judgment rule based on displacement continuity; The judgment results of the at least one dynamic and static judgment rule are fused to generate a dynamic and static attribute label of the obstacle; In response to the dynamic-static attribute tag being different from a dynamic-static attribute of a previous time, a state estimation value of a filter associated with the target track is reset, the filter being used to determine a speed of the obstacle according to the dynamic-static attribute of the obstacle and current position information of the obstacle.
10. An obstacle speed calculation device characterized by comprising: The device comprises: a data acquisition module, configured to acquire first pose information of a vehicle relative to a world coordinate system, and second pose information of an obstacle relative to the vehicle; a first processing module, configured to convert the second pose information to the world coordinate system, and determine an effective obstacle and a detection result corresponding to the effective obstacle based on a conversion result, the detection result including current position information of the obstacle; a second processing module, configured to match the detection result corresponding to the effective obstacle with a global track, and determine a target track of the obstacle according to a matching result, the global track being used to describe a data structure for dynamically maintaining motion states and attribute information of a plurality of obstacles at different times within a preset detection range of the vehicle; a third processing module, configured to determine a dynamic-static attribute of the obstacle based on the target track; a result output module, configured to determine a speed of the obstacle according to the dynamic-static attribute of the obstacle and the current position information of the obstacle.
11. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor implements the method in any one of claims 1 to 9 when executing the computer program.
12. A vehicle characterized by comprising: The vehicle is used to implement the obstacle speed calculation method in any one of claims 1 to 9. The processor implements the method in any one of claims 1 to 9 when executing the computer program. The vehicle is used to implement the obstacle speed calculation method in any one of claims 1 to 9.