Pose determination method, feature descriptor construction method and apparatus
By constructing feature descriptors that include semantic and geometric features, the problem of inaccurate pose determination in lidar scene recognition is solved, and high-precision pose determination is achieved in environments with few semantic objects.
Patent Information
- Application Number
- CN202210493582.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-07
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2042-05-07
AI Technical Summary
When using LiDAR for scene recognition, if there are few semantic objects, it is impossible to accurately determine the current pose of the vehicle.
By acquiring feature descriptors of objects in the current sub-map, including semantic and geometric features, a feature descriptor is constructed. The current pose of the vehicle is determined by matching the geometric features of the semantic and historical feature descriptors.
When semantic objects are scarce, the current pose of the vehicle can be determined more accurately, thus improving the accuracy of scene recognition.
Smart Images

Figure CN114972507B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this application relate to the field of artificial intelligence technology, and in particular to a pose determination method, a feature descriptor construction method, and an apparatus. Background Technology
[0002] Scene recognition is the process by which a robot uses sensor data to determine if it has been to its surroundings before and performs preliminary relocalization. When using LiDAR for scene recognition, if semantic objects are scarce, the vehicle's current pose cannot be accurately determined. Summary of the Invention
[0003] To more accurately determine the current pose of a vehicle, embodiments of this application provide a pose determination method, a feature descriptor construction method, and an apparatus.
[0004] In a first aspect of this application, a pose determination method is provided, comprising:
[0005] Obtain feature descriptors of objects in the current sub-map, wherein the feature descriptors include semantic features representing the category to which the object belongs and geometric features representing the environment surrounding the object;
[0006] Based on the semantic features, a historical feature descriptor is determined to represent the object corresponding to the semantic features;
[0007] The vehicle's current pose is determined based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor.
[0008] In one possible implementation, obtaining feature descriptors of objects in the current sub-map includes:
[0009] Extract semantic features of objects in the current sub-map and geometric features within a preset range around the objects. The semantic features include the semantic labels and the volume of the object's bounding cube, and the geometric features include line features and surface features.
[0010] A feature descriptor is constructed based on the semantic label, the circumscribed cube volume, the line features, and the face features.
[0011] In one possible implementation, extracting the semantic features of objects in the current sub-map includes:
[0012] Perform semantic segmentation and clustering on the current sub-map to determine the semantic labels of objects in the current sub-map;
[0013] Based on the outer edge of the object, determine the circumscribed cube of the object and calculate the volume of the circumscribed cube, wherein the circumscribed cube of the object is perpendicular to the ground;
[0014] The semantic label and the volume of the circumscribed cube are used as the semantic features.
[0015] In one possible implementation, the current sub-map is constructed from keyframes in laser point cloud data;
[0016] Extracting geometric features within a preset range around an object in the current sub-map includes:
[0017] Calculate the smoothness of laser points within a preset range around an object in the current sub-map;
[0018] Among the laser points within a preset range of the object, the line feature is determined based on the two laser points with lower smoothness, and the surface feature is determined based on the three laser points with higher smoothness, wherein both the line feature and the surface feature are perpendicular to the ground.
[0019] The line features and the surface features are used as the geometric features.
[0020] In one possible implementation, determining the vehicle's current pose based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor includes:
[0021] Determine whether the feature descriptor and the historical feature descriptor match;
[0022] If so, the current pose of the vehicle is determined based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor.
[0023] In one possible implementation, when only one feature descriptor exists in the current sub-map, determining whether the feature descriptor and the historical feature descriptor match includes:
[0024] Determine the first similarity between a feature descriptor and its corresponding historical feature descriptor, and the first angle between the principal direction of a feature descriptor and the principal direction of a historical feature descriptor;
[0025] Based on the first similarity and the first included angle, it is determined whether a feature descriptor and a historical feature descriptor match.
[0026] In one possible implementation, determining whether a feature descriptor and a historical feature descriptor match based on the first similarity and the first angle includes:
[0027] Determine the magnitude of the first similarity and the preset threshold;
[0028] Determine whether the first included angle satisfies the preset limiting relationship;
[0029] If the first similarity is higher than the preset threshold and the first included angle satisfies the preset limiting relationship, then a feature descriptor and a historical feature descriptor are determined to match.
[0030] In one possible implementation, when at least two feature descriptors exist in the current sub-map, determining whether the feature descriptors and the historical feature descriptors match includes:
[0031] Select the two feature descriptors closest to the vehicle, and determine the second similarity between the two feature descriptors and the second included angle between the principal directions of the two feature descriptors;
[0032] Determine a first subset of historical feature descriptions that are similar to one of the feature descriptors, and a second subset of historical feature descriptions that are similar to the other feature descriptor.
[0033] Choose one first historical feature descriptor from the first historical feature descriptor set that belongs to the same semantic category as one of the feature descriptors, and choose one second historical feature descriptor from the second historical feature descriptor set that belongs to the same semantic category as the other feature descriptor;
[0034] Determine the third similarity between the first historical feature descriptor and the second historical feature descriptor, and the third included angle between the principal direction of the first historical feature descriptor and the principal direction of the second historical feature descriptor;
[0035] Based on the second and third similarities, the second and third included angles, it is determined whether two feature descriptors and a feature descriptor group consisting of the first historical feature descriptor and the second historical feature descriptor match.
[0036] In one possible implementation, determining whether two feature descriptors and a feature descriptor group consisting of the first historical feature descriptor and the second historical feature descriptor match based on the second similarity and the third similarity, and the second included angle and the third included angle, includes:
[0037] Calculate the first difference between the second and third similarities, and the second difference between the second and third included angles;
[0038] When the product of the first difference and the second difference is minimized, a matching of two feature descriptors and a feature descriptor group consisting of the first historical feature descriptor and the second historical feature descriptor is determined.
[0039] In one possible implementation, the similarity between feature descriptors and historical feature descriptors is calculated as follows:
[0040]
[0041] Where distance represents the similarity, V current V is the feature descriptor vector. before Describe the historical features using sub-vectors.
[0042] In one possible implementation, the preset limiting relationship is as follows:
[0043] -γ<θ current -θ history <γ
[0044] Where, θ current θ is the angle of the principal direction of the feature descriptor. histo γ is the angle of the main direction of the historical feature descriptor, and γ is the preset angle.
[0045] In one possible implementation, the main direction of the feature descriptor is determined as follows:
[0046] Determine the first geometric center of the line feature and the second geometric center of the surface feature;
[0047] The main direction of the feature descriptor is determined by taking the first geometric center as the starting point and the second geometric center as the ending point.
[0048] In one possible implementation, determining the vehicle's current pose based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors includes:
[0049] When only one feature descriptor exists in the current sub-map, the current pose of the vehicle is determined using the following set of equations:
[0050]
[0051]
[0052]
[0053] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, l0 is the distance between the center point of the current feature descriptor line feature and the center point of the current feature descriptor surface feature, l1 is the distance between the center of the vehicle body and the center point of the line feature, and l2 is the distance between the center of the vehicle body and the center point of the surface feature.
[0054] In one possible implementation, determining the vehicle's current pose based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors includes:
[0055] When at least two of the feature descriptors exist in the current sub-map, the current pose of the vehicle is determined using the following set of equations:
[0056] (x-x1)2 +(y-y1) 2 =l1
[0057] (x-x2) 2 +(y-y2) 2 =l2
[0058]
[0059] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, x1 and y1 are the positions of the first feature descriptor, x2 and y2 are the positions of the second feature descriptor, l1 is the distance from the vehicle to the center of the first feature descriptor, l2 is the distance from the vehicle to the center of the second feature descriptor, and l3 is the distance between the first feature descriptor and the origin of the world coordinate system.
[0060] In a second aspect of this application, a method for constructing a feature descriptor is provided, comprising:
[0061] Extract semantic features of objects in the current sub-map and geometric features within a preset range around the objects. The semantic features include the semantic labels and the volume of the object's bounding cube, and the geometric features include line features and surface features.
[0062] A feature descriptor is constructed based on the semantic label, the circumscribed cube volume, the line features, and the face features.
[0063] In one possible implementation, extracting the semantic features of objects in the current sub-map includes:
[0064] Perform semantic segmentation and clustering on the current sub-map to determine the semantic labels of objects in the current sub-map;
[0065] Based on the outer edge of the object, determine the circumscribed cube of the object and calculate the volume of the circumscribed cube, wherein the circumscribed cube of the object is perpendicular to the ground;
[0066] The semantic label and the volume of the circumscribed cube are used as the semantic features.
[0067] In one possible implementation, the current sub-map is constructed from keyframes in laser point cloud data;
[0068] Extracting geometric features within a preset range around an object in the current sub-map includes:
[0069] Calculate the smoothness of laser points within a preset range around an object in the current sub-map;
[0070] Among the laser points within a preset range of the object, the line feature is determined based on the two laser points with lower smoothness, and the surface feature is determined based on the three laser points with higher smoothness, wherein both the line feature and the surface feature are perpendicular to the ground.
[0071] The line features and the surface features are used as the geometric features.
[0072] In a third aspect of this application, a pose determination device is provided, comprising:
[0073] The feature acquisition module is used to acquire feature descriptors of objects in the current sub-map. The feature descriptors include semantic features representing the category to which the object belongs and geometric features representing the surrounding environment of the object.
[0074] The descriptor determination module is used to determine, based on the semantic features, a historical feature descriptor for representing the object corresponding to the semantic features;
[0075] The pose determination module is used to determine the current pose of the vehicle based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor.
[0076] In a fourth aspect of this application, a feature descriptor construction apparatus is provided, comprising:
[0077] The feature extraction module is used to extract the semantic features of objects in the current sub-map and the geometric features within a preset range around the objects. The semantic features include the semantic labels and the volume of the object's bounding cube, and the geometric features include line features and surface features.
[0078] The descriptor construction module is used to construct feature descriptors based on the semantic labels, the circumscribed cube volume, the line features, and the face features.
[0079] In a fifth aspect of this application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method as described in any one of the first aspects or the method as described in any one of the second aspects.
[0080] In a sixth aspect of this application, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of the first aspects or the method as described in any one of the second aspects.
[0081] In the pose determination method, feature descriptor construction method, and apparatus provided in the embodiments of this application, since the feature descriptor includes semantic features representing the category to which an object belongs and geometric features representing the surrounding environment of the object, when determining the current pose of a vehicle, historical feature descriptors representing the objects corresponding to the semantic features can be determined based on the semantic features, and the current pose of the vehicle can be calculated based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors, thus determining the current pose of the vehicle more accurately. Especially when only one feature descriptor exists in the current sub-map, the method provided in the embodiments of this application can determine the current pose of the vehicle more accurately.
[0082] It should be understood that the description in the Summary Section is not intended to limit the key or essential features of the embodiments of this application, nor is it intended to restrict the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description
[0083] The above and other features, advantages, and aspects of the embodiments of this application will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0084] Figure 1 A schematic diagram of a system to which an embodiment of this application applies is shown.
[0085] Figure 2 A flowchart of a pose determination method according to an embodiment of this application is shown.
[0086] Figure 3 A schematic diagram of a feature descriptor according to an embodiment of this application is shown.
[0087] Figure 4 This diagram illustrates a feature descriptor that retains only line features and surface features in an embodiment of this application.
[0088] Figure 5 yes Figure 4 Top view.
[0089] Figure 6 A schematic diagram illustrating the calculation rules for the included angle difference and distance difference in an embodiment of this application is shown.
[0090] Figure 7 This diagram illustrates a scenario where there is only one feature descriptor in an embodiment of this application.
[0091] Figure 8 A schematic diagram is shown in the scenario of an embodiment of this application when there are two feature descriptors.
[0092] Figure 9A flowchart of a feature descriptor construction method according to an embodiment of this application is shown.
[0093] Figure 10 A block diagram of a pose determination device according to an embodiment of this application is shown.
[0094] Figure 11 A block diagram of a feature descriptor construction apparatus according to an embodiment of this application is shown.
[0095] Figure 12 A schematic diagram of the structure of an electronic device suitable for implementing embodiments of this application is shown. Detailed Implementation
[0096] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0097] Figure 1 A schematic diagram of a system to which an embodiment of this application applies is shown. The system includes a vehicle 100 and a control device 200. (See diagram below.) Figure 1 As shown, vehicle 100 can receive information from control device 200, and vehicle 100 can also transfer acquired information to control device 200. Information from vehicle 100 (e.g., various data) can be transmitted to control device 200 via a network for further processing or storage. The network and intermediate nodes can include various configurations and protocols, including the Internet, World Wide Web, Intranet, Virtual Private Network, Wide Area Network, Local Area Network, Private Network using one or more proprietary communication protocols, Ethernet, Wireless Fidelity (WiFi), and Hypertext Transfer Protocol (HTTP), as well as various combinations thereof. This communication can be conducted by any device capable of transmitting data to and from other computers, such as modems and wireless interfaces.
[0098] In one example, server 200 can be a server comprising multiple computers, such as a load balancing server cluster. To receive, process, and transmit data from vehicle 100, server 200 can exchange information with different nodes in the network. Figure 1 As shown, server 200 includes processor 210 and memory 220, wherein memory 220 is used to store instructions 221 and / or data 222.
[0099] For example, the data 222 stored by server 200 may include information related to road conditions around the vehicle, such as map data, road type, traffic signs, traffic markings, and information on pedestrians, other vehicles, and obstacles around the vehicle. For example, server 200 may receive, detect, store, update, and transmit information related to road conditions around the vehicle.
[0100] For example, when instruction 221 stored in server 200 is executed, server 200 can implement the pose determination method or feature descriptor construction method provided in the embodiments of this application to directly or indirectly estimate the pose of vehicle 100, thereby performing loop closure detection or relocalization based on the estimated pose. It should be understood that server 200 is merely an example of a device that interacts with vehicle 100. Figure 1 The structural block diagram of server 200 shown is merely an exemplary functional block diagram. Vehicle 100 can also interact with other types of cloud devices, such as cloud-side computing devices, cloud-side storage devices, cloud service centers, etc., and this application embodiment does not impose any particular limitations on this.
[0101] Taking the interaction between vehicle 100 and the cloud service center as an example, the cloud service center can receive information from vehicle 100 (such as data collected by vehicle 100's sensors or other information) via a network such as a wireless communication network. Based on the received data, the cloud service center runs its stored programs. In some examples, the cloud service center estimates the vehicle's pose and performs loop closure detection or relocalization based on the estimated pose.
[0102] It should be understood that the aforementioned vehicle 100 can be a car, truck, bus, airplane, helicopter, construction equipment, train, etc., and the embodiments of this application do not impose any special limitations.
[0103] In one possible implementation, the above Figure 1 The vehicle 100 shown may be an autonomous vehicle. Before introducing the pose determination method provided in the embodiments of this application, the process of constructing the pose graph will be introduced first.
[0104] When constructing the pose map, SLAM-related data can be obtained through wheel speed encoders, inertial measurement units, cameras, lidar, millimeter-wave radar, and global positioning systems installed on the vehicle.
[0105] Because vehicles are mostly in motion during the acquisition of laser point cloud data, and due to the limited laser frequency, the same frame of laser point cloud data is not acquired at the same time. The starting and ending laser beams of the same laser frame correspond to different positions of the moving object, and therefore different laser points correspond to different coordinate systems. Localization and mapping without considering laser point cloud distortion will result in significant errors; therefore, point cloud distortion compensation and elimination are necessary.
[0106] In one example, point cloud distortion compensation mainly involves extrapolating the coordinates of all laser points in the same frame to the coordinate system of the initial laser beam according to the motion model. Typically, the vehicle's motion speed provided by other sensors is used and integrated to obtain the relative motion position. Then, a transformation matrix is calculated based on the relative relationship to transform all laser points to the coordinate system of the initial point.
[0107] Since the point cloud data of a single needle of different LiDAR models will be different, the common problem is that the point cloud volume is large, the real-time calculation pressure is high, and the excessive density of point cloud data will also lead to noise. Therefore, downsampling is required to reduce the amount of calculation.
[0108] In one example, voxel filtering is used for downsampling, which involves dividing the 3D space into multiple cubes of fixed volume. Within each cube, a small number of points or only one point is retained according to certain rules, while the rest of the laser points are discarded. In another example, point-based curvature filtering or normal vector variance filtering can also be used.
[0109] After acquiring the laser point cloud data, feature extraction is required. In one example, the smoothness of each point in the current frame's point cloud data is calculated, and the laser points are classified into planar points and edge points based on the smoothness. Planar points are points located on smooth planes in three-dimensional space, with higher smoothness; edge points are points located on sharp edges, with lower smoothness.
[0110] For all keyframes, the keyframe poses are used as nodes in the pose graph, and spatial constraints are used as edges to construct the pose graph. Edges between adjacent nodes represent mileage constraints, and the remaining edges represent loop closure constraints. As the vehicle continuously sends keyframes to the control module, constraints increase. The pose graph can optimize node poses by minimizing the least squares error of the constraints. Projecting all keyframes onto the map according to the optimized poses yields the global map. In this embodiment, the sub-map is obtained by projecting the optimized poses from the keyframes.
[0111] The following is combined with Figure 2 The pose determination method is described in detail.
[0112] Figure 2 A flowchart illustrating a pose determination method according to an embodiment of this application is shown. See also... Figure 2 The pose determination method includes the following steps:
[0113] Step 201: Obtain the feature descriptors of objects in the current sub-map.
[0114] In this embodiment, the object may include pedestrians, other vehicles, and obstacles around the vehicle. The feature descriptor may include semantic features representing the category to which the object belongs and geometric features representing the environment surrounding the object. Further, the semantic features include a semantic label representing the category to which the object belongs and the bounding cube volume of the object; the geometric features include line features and surface features within a preset range around the object.
[0115] In some embodiments, the semantic features of objects in the current sub-map and the geometric features of objects within a preset range around the objects are obtained.
[0116] Specifically, when extracting semantic features of objects in the current submap, it is necessary to perform semantic segmentation and clustering on the current submap to determine the semantic labels of the objects in the current submap. It is also necessary to determine the circumscribed cube of the object based on its outer edge and calculate the volume of the circumscribed cube, where the circumscribed cube is selected as the cube perpendicular to the ground. After obtaining the semantic labels of the objects and the volume of the circumscribed cube, these can be used as the semantic features of the objects.
[0117] In one example, the semantic segmentation category can be determined based on the usage scenario. For example, the main selection principle is to select stationary, highly discriminative objects in the scene. Therefore, people, animals, and moving objects are not considered semantic categories. However, stationary vehicles, although potentially mobile, have high discriminativeness and can be included in the semantic category.
[0118] For example, the corresponding laser point cloud semantic dataset can be used to train the semantic segmentation network RangeNet++. The trained RangeNet++ network is used to perform pixel-level semantic segmentation on the point cloud data of the submap, and K-Means clustering is used to determine the semantic labels of objects.
[0119] For example, other semantic segmentation networks can also be used, such as RandLA-Net, SalsaNet, KPConv, Cylinder3D, PolarNet, etc.
[0120] Specifically, when extracting geometric features within a preset range around an object in the current sub-map, it is necessary to calculate the smoothness of the laser points within that preset range. Among the laser points within the preset range, line features are determined based on the two laser points with the lowest smoothness, and surface features are determined based on the three laser points with the highest smoothness. After obtaining the line and surface features within the preset range around the object, these are used as the object's geometric features. Specifically, line and surface features perpendicular to the ground are selected.
[0121] Line features and surface features can reflect the surrounding environment. Surface features are formed by planar laser points, which are laser points located on smooth surfaces in three-dimensional space and have high smoothness. Line features are formed by edge laser points, which are laser points located on sharp edges and have low smoothness. Therefore, by calculating the smoothness of the laser points, planar laser points and edge laser points can be determined, thus obtaining line features and surface features.
[0122] In one example, the smoothness of the laser point can be calculated using the following formula:
[0123]
[0124] Where c is the smoothness and s is the set of laser points near laser point i. This represents the distance from the corresponding point to the center of the laser beam.
[0125] In one example, the corner with the lowest smoothness can be calculated by measuring smoothness. Two or more corners can identify line features. In this embodiment, only line features perpendicular to the ground are selected for the line features in the feature descriptor. This is because perpendicular line features are more stable and can more stably represent the characteristics of the feature descriptor.
[0126] In one example, the smoothest point can be calculated by smoothness calculation. Three or more planar points can form a surface feature, and the surface feature is also selected to be perpendicular to the ground.
[0127] After obtaining the semantic features of the object and the geometric features within a preset range around the object, feature descriptors need to be generated based on the semantic features and geometric features.
[0128] In one example, with the object's centroid as the center, {L S W S H S} Use length, width, and height to create feature descriptors.
[0129] For example, the length, width, and height of the feature descriptor can be fixed. This method involves making the parameters n times the bounding cube of the largest object in the scene.
[0130] For example, the length, width, and height of the feature descriptor can be adaptively adjusted. Assume the length, width, and height of the outer cube of object i in the scene are respectively... The length, width, and height of the feature descriptor are then: Wherein, n is a hyperparameter, the value of which varies with the application scenario, and the influencing factors generally include semantic object density, volume, etc.
[0131] See Figure 3 The figure shows the completed feature descriptor. The completed feature descriptor includes not only the semantic features of the object, but also its geometric features. Geometric features are generally non-object features within a preset range around the semantic object, such as vertical or horizontal line features, planar features, etc.
[0132] When using feature descriptors for pose estimation, semantic features can be used for differentiation first. If the semantic features are the same, geometric features can be used for further differentiation. Since the environment around each object in the scene is mostly different, differentiation based on feature descriptors has high recognizability and can reduce the difficulty of recognition.
[0133] In one example, feature descriptors can be coded into an encoding vector, which consists of:
[0134] Semantic tag t i Semantic object volume v i ;
[0135] Total number of line feature points Average distance between line feature points and semantic volume centroid
[0136] Total number of feature points on the surface Average distance between surface feature points and semantic volume centroid
[0137] The average reflection intensity r of lasers at line feature points and surface feature points i ;
[0138] The average height h of ground points within the feature descriptor i Ground point height variance D i ;
[0139] Therefore, the feature descriptor encoding vector can be represented as follows:
[0140]
[0141] By expressing feature descriptors as feature descriptor encoding vectors, in the subsequent pose estimation process, the feature descriptor encoding vector of each semantic object in the sub-map can be calculated, thereby enabling a faster and more accurate determination of whether a vehicle has passed through the scene.
[0142] In one example, the distribution range of each value in the feature descriptor encoding vector is not the same. To facilitate subsequent calculations, normalization is required. When calculating the above parameters of each feature descriptor encoding vector, the corresponding maximum value is calculated, denoted as v. i For example, the database stores v max If v i >v max Then update v max That is, v max =v i When calculating the similarity of feature descriptors, v needs to be used. i Divide by v max This ensures that the value of the corresponding dimension is within the range of [0,1].
[0143] For example, analogous to v i The maximum value for other dimensions is:
[0144]
[0145] It should be noted that the feature descriptor encoding vector can be composed in various ways, and only one of them is given as an example in this embodiment.
[0146] Step 202: Determine the historical feature descriptor used to represent the object corresponding to the semantic feature based on the semantic feature.
[0147] In this embodiment of the application, the object represented by the semantic feature is determined based on the semantic label in the semantic feature, and the feature descriptor used to represent the object is determined in the historical feature descriptor as the historical feature descriptor corresponding to the semantic feature.
[0148] After determining the historical feature descriptors, it is first necessary to determine whether the feature descriptors and historical feature descriptors match. If they match, the current pose of the vehicle can be determined based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors.
[0149] Determining whether feature descriptors and historical feature descriptors match can be divided into the following cases:
[0150] There is only one feature descriptor in the current sub-map.
[0151] First, determine the similarity between the feature descriptor and its corresponding historical feature descriptor, and determine the angle between the principal direction of the feature descriptor and the principal direction of its corresponding historical feature descriptor.
[0152] In one example, the similarity between a feature descriptor and historical feature descriptors can be calculated using the following formula:
[0153]
[0154] Where distance represents the similarity, V current V is the feature descriptor vector. before Describe the historical features using sub-vectors.
[0155] It should be noted that since the values in the feature descriptor encoding vector in this application are all non-negative numbers, the similarity value ranges from [0,1]. The smaller the similarity value, the more similar the similarity.
[0156] In one example, for a feature descriptor, there may be zero to multiple vertical line features inside. When the number of vertical line features is greater than or equal to 1, the geometric center of the vertical line feature can be calculated using the following formula:
[0157]
[0158] Where, n line n is the total number of vertical line features in this feature descriptor. line >0.
[0159] In one example, the geometric center of a vertical surface feature can be calculated using the following formula:
[0160]
[0161] Where, n surf This represents the total number of vertical line features in the feature descriptor.
[0162] The geometric centers of vertical line features and vertical plane features are usually two non-coincident points. Therefore, a straight line can be determined through these two points, with its starting point being the geometric center of the vertical line feature and its ending point being the geometric center of the plane feature. The direction of this line can be determined through the starting and ending points, and this direction is taken as the main direction of the feature descriptor.
[0163] See Figure 4 and Figure 5 , Figure 4 This diagram illustrates the feature descriptor that retains only line and surface features. Figure 5 for Figure 4 The top view shows the main orientation of the feature descriptor.
[0164] Then, the similarity and angle are used to determine whether the feature descriptor matches its corresponding historical feature descriptor.
[0165] Specifically, the similarity is compared with the preset threshold, and the angle is compared with the preset constraint. If the similarity is higher than the preset threshold and the angle satisfies the preset constraint, then the feature descriptor and the historical feature descriptor can be matched.
[0166] In one example, a preset threshold is set to ε, and the preset constraint relationship is within the range of [-γ, γ], which means that distance < ε and -γ < θ must be satisfied. current -θ history Only when θ < γ can a match between the feature descriptor and the historical feature descriptor be determined. current θ is the angle of the principal direction of the feature descriptor. history γ is the angle of the main direction of the historical feature descriptor, and γ is the preset angle.
[0167] There are at least two feature descriptors in the current sub-map
[0168] Select the two feature descriptors closest to the vehicle, determine the first historical feature descriptor subset similar to one of the feature descriptors, and determine the second historical feature descriptor subset similar to the other of the feature descriptors.
[0169] First, calculate the similarity between the two feature descriptors closest to the vehicle and the angle between their principal directions. The calculation method is the same as described above and will not be repeated here.
[0170] Then, select one first historical feature descriptor from the first feature descriptor subset and one second historical feature descriptor from the second historical feature descriptor subset, and calculate the similarity between the first historical feature descriptor and the second historical feature descriptor and the angle between the principal directions.
[0171] Iterate through the first and second historical feature description subsets. See one example. Figure 6 The two feature descriptors closest to the vehicle include feature descriptor superobject1 and feature descriptor superobject2. The first historical feature descriptor subset is candidates 1-1, 1-2, and 1-3 of superobject1, and the second historical feature descriptor subset is candidates 2-1 and 2-2 of superobject2. It is necessary to calculate the distance and main direction angle between 1-1 and 2-1, 1-2 and 2-1, 1-3 and 2-1, 1-1 and 2-2, 1-2 and 2-2, and 1-3 and 2-2.
[0172] Then, calculate the first difference between the similarity between the two feature descriptors closest to the vehicle and the similarity between the first historical feature descriptor and the second historical feature descriptor, and calculate the second difference between the angle between the principal directions of the two feature descriptors closest to the vehicle and the angle between the principal directions of the first historical feature descriptor and the second historical feature descriptor.
[0173] When the product of the first difference and the second difference is minimized, the matching of two feature descriptors and the feature descriptor group consisting of the first historical feature descriptor and the second historical feature descriptor is determined.
[0174] In one example, the product of the first and second differences can be calculated using the following formula:
[0175] score=Δd·Δθ
[0176] Where Δd is the first difference and Δθ is the second difference.
[0177] The lower the score, the closer the combination of historical feature descriptors is to the combination of current feature descriptors.
[0178] Step 203: Determine the current pose of the vehicle based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors.
[0179] Determining the current pose of a vehicle based on geometric features described by feature descriptors and geometric features from historical feature descriptors can be achieved through the following:
[0180] There is only one feature descriptor in the current sub-map.
[0181] See Figure 7 The current pose of the vehicle can be obtained using the following system of equations:
[0182]
[0183]
[0184]
[0185] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, l0 is the distance between the center point of the current feature descriptor line feature and the center point of the current feature descriptor surface feature, l1 is the distance between the center of the vehicle body and the center point of the line feature, and l2 is the distance between the center of the vehicle body and the center point of the surface feature.
[0186] There are at least two of the aforementioned feature descriptors in the current sub-map.
[0187] See Figure 8 The current pose of the vehicle can be obtained using the following system of equations:
[0188] (x-x1) 2 +(y-y1) 2 =l1
[0189] (x-x2) 2 +(y-y2) 2 =l2
[0190]
[0191] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, x1 and y1 are the positions of the first feature descriptor, x2 and y2 are the positions of the second feature descriptor, l1 is the distance from the vehicle to the center of the first feature descriptor, l2 is the distance from the vehicle to the center of the second feature descriptor, and l3 is the distance between the first feature descriptor and the origin of the world coordinate system.
[0192] In one example, relocalization can be performed based on the vehicle's current pose, that is, the vehicle's current pose can be used as the vehicle's initial pose.
[0193] In one example, loop closure detection can be performed based on the vehicle's current pose. That is, the pose difference is calculated based on the current pose given by SLAM and the current pose of the vehicle determined by the above method, and the pose difference is fed back to the server for optimization.
[0194] Figure 9 A flowchart illustrating the feature descriptor construction method provided in an embodiment of this application is shown. See also... Figure 9 The method includes the following steps:
[0195] Step 901: Extract the semantic features of objects in the current sub-map and the geometric features within a preset range around the objects. The semantic features include semantic labels and the volume of the object's circumscribed cube. The geometric features include line features and surface features.
[0196] Step 902: Construct a feature descriptor based on semantic labels, circumscribed cube volume, line features, and surface features.
[0197] In some embodiments, extracting semantic features of objects in the current sub-map includes:
[0198] Perform semantic segmentation and clustering on the current sub-map to determine the semantic labels of objects in the current sub-map;
[0199] Based on the outer edge of the object, determine the circumscribed cube of the object and calculate the volume of the circumscribed cube, where the circumscribed cube of the object is perpendicular to the ground;
[0200] Semantic labels and the volume of the bounding cube are used as semantic features.
[0201] In some embodiments, the current sub-map is constructed from keyframes in laser point cloud data; extracting geometric features within a preset range around objects in the current sub-map includes:
[0202] Calculate the smoothness of laser points within a preset range around objects in the current sub-map;
[0203] Within a preset range of laser points on an object, line features are determined based on the two laser points with lower smoothness, and surface features are determined based on the three laser points with higher smoothness. Both line and surface features are perpendicular to the ground.
[0204] Line features and surface features are used as geometric features.
[0205] It should be noted that the details of the feature descriptor construction method have been described in the foregoing embodiments and will not be repeated here.
[0206] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0207] The above is an introduction to the method embodiments. The following describes the solution described in this application through device embodiments.
[0208] Figure 10 A block diagram of a pose determination device provided in an embodiment of this application is shown. See also Figure 10 The pose determination device includes a feature acquisition module 1001, a descriptor determination module 1002, and a pose determination module 1003.
[0209] The feature acquisition module 1001 is used to acquire feature descriptors of objects in the current sub-map. The feature descriptors include semantic features representing the category to which the object belongs and geometric features representing the surrounding environment of the object.
[0210] The descriptor determination module 1002 is used to determine a historical feature descriptor for representing the object corresponding to the semantic feature based on the semantic feature.
[0211] The pose determination module 1003 is used to determine the current pose of the vehicle based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor.
[0212] In some embodiments, the feature acquisition module 1001 is specifically used to: extract semantic features of objects in the current sub-map and geometric features within a preset range around the objects, wherein the semantic features include the semantic label and the circumscribed cube volume of the objects, and the geometric features include line features and surface features; and construct a feature descriptor based on the semantic label, the circumscribed cube volume, the line features and the surface features.
[0213] In some embodiments, the feature acquisition module 1001 is specifically used to: perform semantic segmentation and clustering on the current sub-map to determine the semantic labels of objects in the current sub-map; determine the circumscribed cube of the object based on the outer edge of the object and calculate the volume of the circumscribed cube, wherein the circumscribed cube of the object is perpendicular to the ground; and use the semantic labels and the volume of the circumscribed cube as the semantic features.
[0214] In some embodiments, the feature acquisition module 1001 is specifically used to: calculate the smoothness of laser points within a preset range around an object in the current sub-map; among the laser points within the preset range of the object, determine the line feature based on the two laser points with lower smoothness, and determine the surface feature based on the three laser points with higher smoothness, wherein the line feature and the surface feature are both perpendicular to the ground; and use the line feature and the surface feature as the geometric feature.
[0215] In some embodiments, the pose determination module 1003 is specifically used to: determine whether the feature descriptor and the historical feature descriptor match; if so, determine the current pose of the vehicle based on the geometric features of the feature descriptor and the geometric features of the historical feature descriptor.
[0216] In some embodiments, the pose determination module 1003 is specifically used to: determine a first similarity between a feature descriptor and a corresponding historical feature descriptor, a first angle between the main direction of a feature descriptor and the main direction of a historical feature descriptor; and determine whether a feature descriptor and a historical feature descriptor match based on the first similarity and the first angle.
[0217] In some embodiments, the pose determination module 1003 is specifically used to: determine the size of the first similarity and the preset threshold; determine whether the first angle satisfies the preset limiting relationship; if the first similarity is higher than the preset threshold and the first angle satisfies the preset limiting relationship, then determine that a feature descriptor and a historical feature descriptor match.
[0218] In some embodiments, the pose determination module 1003 is specifically configured to: select the two feature descriptors closest to the vehicle, and determine a second similarity between the two feature descriptors and a second included angle between the principal directions of the two feature descriptors; determine a first historical feature descriptor subset similar to one of the feature descriptors and a second historical feature descriptor subset similar to the other of the feature descriptors; randomly select one first historical feature descriptor from the first historical feature descriptor subset belonging to the same semantic category as one of the feature descriptors and randomly select one second historical feature descriptor from the second historical feature descriptor subset belonging to the same semantic category as the other of the feature descriptors; determine a third similarity between the first historical feature descriptor and the second historical feature descriptor, and a third included angle between the principal directions of the first historical feature descriptor and the second historical feature descriptor; and determine whether the two feature descriptors and the feature descriptor group composed of the first historical feature descriptor and the second historical feature descriptor match based on the second similarity and the third similarity, the second included angle and the third included angle.
[0219] In some embodiments, the pose determination module 1003 is specifically used to: calculate a first difference between the second similarity and the third similarity, and a second difference between the second included angle and the third included angle; when the product of the first difference and the second difference is minimized, determine that the two feature descriptors and the feature descriptor group composed of the first historical feature descriptor and the second historical feature descriptor are matched.
[0220] In some embodiments, the similarity between feature descriptors and historical feature descriptors is calculated as follows:
[0221]
[0222] Where distance represents the similarity, V current V is the feature descriptor vector. before Describe the historical features using sub-vectors.
[0223] In some embodiments, the preset limiting relationship is as follows:
[0224] -γ<θ current -θ history <γ
[0225] Where, θ current θ is the angle of the principal direction of the feature descriptor. history γ is the angle of the main direction of the historical feature descriptor, and γ is the preset angle.
[0226] In some embodiments, the main direction of the feature descriptor is determined by: determining a first geometric center of the line feature and a second geometric center of the surface feature; and determining the main direction of the feature descriptor with the first geometric center as the starting point and the second geometric center as the ending point.
[0227] In some embodiments, the pose determination module 1003 is specifically used to: determine the current pose of the vehicle using the following set of equations when only one feature descriptor exists in the current sub-map:
[0228]
[0229]
[0230]
[0231] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, l0 is the distance between the center point of the current feature descriptor line feature and the center point of the current feature descriptor surface feature, l1 is the distance between the center of the vehicle body and the center point of the line feature, and l2 is the distance between the center of the vehicle body and the center point of the surface feature.
[0232] In some embodiments, the pose determination module 1003 is specifically used to: determine the current pose of the vehicle using the following set of equations when at least two of the feature descriptors exist in the current sub-map:
[0233] (x-x1) 2 +(y-y1) 2 =l1
[0234] (x-x2) 2 +(y-y2) 2 =l2
[0235]
[0236] Where x, y, and θ are the two-dimensional poses of the vehicle that need to be calculated, x1 and y1 are the positions of the first feature descriptor, x2 and y2 are the positions of the second feature descriptor, l1 is the distance from the vehicle to the center of the first feature descriptor, l2 is the distance from the vehicle to the center of the second feature descriptor, and l3 is the distance between the first feature descriptor and the origin of the world coordinate system.
[0237] Figure 11 A block diagram of a feature descriptor construction apparatus provided in an embodiment of this application is shown. See also Figure 11 The feature descriptor construction device includes a feature extraction module 1101 and a descriptor construction module 1102.
[0238] The feature extraction module 1101 is used to extract the semantic features of objects in the current sub-map and the geometric features within a preset range around the objects. The semantic features include the semantic labels and the volume of the object's circumscribed cube, and the geometric features include line features and surface features.
[0239] The descriptor construction module 1102 is used to construct a feature descriptor based on the semantic label, the circumscribed cube volume, the line feature, and the surface feature.
[0240] In some embodiments, the feature extraction module 1101 is specifically used to: perform semantic segmentation and clustering on the current sub-map to determine the semantic labels of objects in the current sub-map; determine the circumscribed cube of the object based on the outer edge of the object and calculate the volume of the circumscribed cube, wherein the circumscribed cube of the object is perpendicular to the ground; and use the semantic labels and the volume of the circumscribed cube as the semantic features.
[0241] In some embodiments, the feature extraction module 1101 is specifically used to: calculate the smoothness of laser points within a preset range around an object in the current sub-map; among the laser points within the preset range of the object, determine the line feature based on the two laser points with lower smoothness, and determine the surface feature based on the three laser points with higher smoothness, wherein the line feature and the surface feature are both perpendicular to the ground; and use the line feature and the surface feature as the geometric feature.
[0242] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the described module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0243] This application provides an electronic device, such as... Figure 12 As shown, Figure 12 The illustrated electronic device 1200 includes a processor 1201 and a memory 1203. The processor 1201 and the memory 1203 are connected, for example, via a bus 1202. Optionally, the electronic device 1200 may also include a transceiver 1204. It should be noted that in practical applications, the transceiver 1204 is not limited to one unit, and the structure of this electronic device 1200 does not constitute a limitation on the embodiments of this application.
[0244] Processor 1201 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 1201 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0245] Bus 1202 may include a pathway for transmitting information between the aforementioned components. Bus 1202 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 1102 may be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 12 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0246] The memory 1203 may be a ROM (Read Only Memory) or other type of static storage device capable of storing static information and instructions, RAM (Random Access Memory) or other type of dynamic storage device capable of storing information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto.
[0247] The memory 1203 is used to store application code that executes the solution of this application, and its execution is controlled by the processor 1201. The processor 1201 is used to execute the application code stored in the memory 1203 to implement the content shown in the foregoing method embodiments.
[0248] Among them, electronic devices include, but are not limited to: mobile terminals such as mobile phones, laptops, digital radio receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and in-vehicle terminals (such as in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 12 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0249] This application provides a computer-readable storage medium storing a computer program that, when run on a computer, enables the computer to execute the corresponding content in the aforementioned method embodiments. Compared with the prior art, in this application embodiment, since the feature descriptor includes semantic features representing the category to which an object belongs and geometric features representing the object's surrounding environment, when determining the vehicle's current pose, historical feature descriptors representing the objects corresponding to the semantic features can be determined based on the semantic features, and the vehicle's current pose can be calculated based on the geometric features of the feature descriptors and the geometric features of the historical feature descriptors, thus more accurately determining the vehicle's current pose. Especially when only one feature descriptor exists in the current sub-map, the method provided in this application embodiment can more accurately determine the vehicle's current pose.
[0250] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures 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, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0251] The above description is only a partial embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method of pose determination, the method comprising: The method comprises: obtaining a feature descriptor of an object in a current submap, the feature descriptor comprising a semantic feature representing a category to which the object belongs and a geometric feature representing an environment around the object, the geometric feature comprising a line feature and a plane feature; determining a historical feature descriptor of the object corresponding to the semantic feature according to the semantic feature; determining a current pose of a vehicle based on the geometric feature of the feature descriptor and the geometric feature of the historical feature descriptor, determining the current pose of the vehicle based on the geometric feature of the feature descriptor and the geometric feature of the historical feature descriptor comprises: determining whether the feature descriptor and the historical feature descriptor match; if yes, determining the current pose of the vehicle according to the geometric feature of the feature descriptor and the geometric feature of the historical feature descriptor, when there are at least two feature descriptors in the current submap, determining whether the feature descriptor and the historical feature descriptor match comprises: selecting the two closest feature descriptors to the vehicle, and determining a second similarity of the two feature descriptors and a second included angle between principal directions of the two feature descriptors; determining a first set of historical feature descriptors similar to one of the feature descriptors and a second set of historical feature descriptors similar to the other of the feature descriptors; selecting an optional first historical feature descriptor from the first set of historical feature descriptors belonging to the same semantic category as the one of the feature descriptors and an optional second historical feature descriptor from the second set of historical feature descriptors belonging to the same semantic category as the other of the feature descriptors; determining a third similarity between the first historical feature descriptor and the second historical feature descriptor and a third included angle between the principal direction of the first historical feature descriptor and the principal direction of the second historical feature descriptor; determining whether the two feature descriptors and a feature descriptor group composed of the first historical feature descriptor and the second historical feature descriptor match according to the second similarity and the third similarity, the second included angle and the third included angle.
2. The method of claim 1, wherein, The method comprises: extracting a semantic feature of an object in the current submap and a geometric feature within a preset range around the object, the semantic feature comprising a semantic label and a volume of an outer cuboid of the object; constructing the feature descriptor according to the semantic label, the volume of the outer cuboid, the line feature and the plane feature.
3. The method of claim 2, wherein, The method comprises: performing semantic segmentation and clustering on the current submap to determine the semantic label of the object in the current submap; determining an outer cuboid of the object and calculating the volume of the outer cuboid based on an outer edge of the object, wherein the outer cuboid of the object is perpendicular to the ground; taking the semantic label and the volume of the outer cuboid as the semantic feature.
4. The method of claim 2, wherein, The current submap is constructed from key frames in laser point cloud data; The method comprises: calculating smoothness of laser points within a preset range around the object in the current submap; In the laser points within the preset range of the object, the line feature is determined according to the two laser points with lower smoothness, and the surface feature is determined according to the three laser points with higher smoothness, wherein the line feature and the surface feature are both perpendicular to the ground; The line feature and the surface feature are taken as the geometric features.
5. The method of claim 1, wherein, When there is only one feature descriptor in the current submap, determining whether the feature descriptor and the historical feature descriptor match includes: determining a first similarity of one feature descriptor and one historical feature descriptor, a first included angle of a main direction of one feature descriptor and a main direction of one historical feature descriptor; and determining whether one feature descriptor and one historical feature descriptor match according to the first similarity and the first included angle.
6. The method of claim 5, wherein, Determining whether one feature descriptor and one historical feature descriptor match according to the first similarity and the first included angle includes: judging the size of the first similarity and a preset threshold value; judging whether the first included angle satisfies a preset limited relationship; and if the first similarity is higher than the preset threshold value and the first included angle satisfies the preset limited relationship, determining that one feature descriptor and one historical feature descriptor match.
7. The method of claim 1, wherein, Determining whether two feature descriptors and a feature descriptor group composed of a first historical feature descriptor and a second historical feature descriptor match according to the second similarity and the third similarity, the second included angle and the third included angle includes: calculating a first difference value of the second similarity and the third similarity, and a second difference value of the second included angle and the third included angle; and when the product of the first difference value and the second difference value is the smallest, determining that two feature descriptors and a feature descriptor group composed of a first historical feature descriptor and a second historical feature descriptor match.
8. The method of claim 1 or 6, wherein, The calculation manner of the similarity of the feature descriptor and the historical feature descriptor: wherein distance is the similarity, V current is the feature descriptor vector, V before is the historical feature descriptor vector.
9. The method of claim 6, wherein, The preset limited relationship is as follows: - γ < θ current - θ history < γ wherein θ current is an angle of a principal direction of the feature descriptor, θ history is an angle of a principal direction of the historical feature descriptor, and γ is a preset angle.
10. The method of claim 1 or 6, wherein, The manner of determining the main direction of the feature descriptor is as follows: determining a first geometric center of the line feature and a second geometric center of the surface feature; taking the first geometric center as a starting point and the second geometric center as a terminal point, determining the main direction of the feature descriptor.
11. The method of claim 1, wherein, Determining the current pose of the vehicle according to the geometric features of the feature descriptor and the geometric features of the historical feature descriptor includes: when there is only one feature descriptor in the current submap, determining the current pose of the vehicle by using the following equation group: wherein x, y and θ are the two-dimensional pose of the vehicle which needs to be calculated at present, l0 is the distance between the center point of the line feature and the center point of the surface feature of the current feature descriptor, l1 is the distance between the center of the vehicle body and the center point of the line feature, and l2 is the distance between the center of the vehicle body and the center point of the surface feature.
12. The method of claim 1, wherein, Determining the current pose of the vehicle according to the geometric features of the feature descriptor and the geometric features of the historical feature descriptor includes: when there are at least two feature descriptors in the current submap, determining the current pose of the vehicle by using the following equation group: (x - x1) 2 + (y - y1) 2 = l1 (x - x2) 2 + (y - y2) 2 = l2 Wherein, x, y and θ are the two-dimensional pose of the vehicle which needs to be calculated at present, x1 and y1 are the position of the first feature descriptor, x2 and y2 are the position of the second feature descriptor, l1 is the distance from the vehicle to the center of the first feature descriptor, l2 is the distance from the vehicle to the center of the second feature descriptor, and l3 is the distance from the first feature descriptor to the origin of the world coordinate system.
13. A feature descriptor construction method, characterized by, The method comprises: extracting semantic features of objects in the current submap and geometric features within a preset range around the objects, the semantic features including semantic labels and the outer cuboid volume of the objects, and the geometric features including line features and surface features; constructing a feature descriptor according to the semantic labels, the outer cuboid volume, the line features and the surface features; determining a historical feature descriptor for representing the objects corresponding to the semantic features according to the semantic features, and calculating the current pose of the vehicle according to the geometric features of the feature descriptor and the geometric features of the historical feature descriptor; Specifically, when there are at least two feature descriptors in the current submap, determining whether the feature descriptors and the historical feature descriptors match comprises: selecting the two closest feature descriptors to the vehicle, and determining the second similarity of the two feature descriptors and the second included angle between the main directions of the two feature descriptors; determining a first set of historical feature descriptors similar to one of the feature descriptors and a second set of historical feature descriptors similar to the other feature descriptor; selecting an optional first historical feature descriptor from the first set of historical feature descriptors belonging to the same semantic category as the one of the feature descriptors, and selecting an optional second historical feature descriptor from the second set of historical feature descriptors belonging to the same semantic category as the other feature descriptor; determining the third similarity between the first historical feature descriptor and the second historical feature descriptor and the third included angle between the main direction of the first historical feature descriptor and the main direction of the second historical feature descriptor; determining whether the two feature descriptors and the feature descriptor group composed of the first historical feature descriptor and the second historical feature descriptor match according to the second similarity and the third similarity, the second included angle and the third included angle.
14. The method of claim 13, wherein, The extraction of the semantic features of the objects in the current submap comprises: performing semantic segmentation and clustering on the current submap to determine the semantic labels of the objects in the current submap; determining the outer cuboid of the objects and calculating the outer cuboid volume based on the outer edges of the objects, wherein the outer cuboid of the objects is perpendicular to the ground; taking the semantic labels and the outer cuboid volume as the semantic features.
15. The method of claim 13, wherein, The current submap is constructed from key frames in laser point cloud data. The extraction of the geometric features within a preset range around the objects in the current submap comprises: calculating the smoothness of laser points within a preset range around the objects in the current submap; determining the line features from the two laser points with lower smoothness and the surface features from the three laser points with higher smoothness among the laser points within the preset range of the objects, wherein the line features and the surface features are both perpendicular to the ground; taking the line features and the surface features as the geometric features.
16. A pose determination apparatus, characterized in that The method comprises: The feature acquisition module is configured to acquire a feature descriptor of an object in a current submap, the feature descriptor comprising a semantic feature representing a category to which the object belongs and a geometric feature representing an environment around the object. The descriptor determination module is configured to determine a historical feature descriptor representing the object corresponding to the semantic feature according to the semantic feature. The pose determination module is configured to determine a current pose of the vehicle based on the geometric feature of the feature descriptor and the geometric feature of the historical feature descriptor. The pose determination module is configured to determine whether the feature descriptor and the historical feature descriptor match; if so, determine the current pose of the vehicle based on the geometric feature of the feature descriptor and the geometric feature of the historical feature descriptor. The pose determination module is configured to select two feature descriptors closest to the vehicle, determine a second similarity of the two feature descriptors and a second included angle between main directions of the two feature descriptors, determine a first set of historical feature descriptors similar to one of the two feature descriptors and a second set of historical feature descriptors similar to the other of the two feature descriptors, determine a third similarity between an optional first historical feature descriptor from the first set of historical feature descriptors and an optional second historical feature descriptor from the second set of historical feature descriptors, and determine whether the two feature descriptors and a feature descriptor group composed of the first historical feature descriptor and the second historical feature descriptor match based on the second similarity and the third similarity and the second included angle and the third included angle.
17. A feature descriptor construction apparatus characterized by comprising: The feature extraction module is configured to extract a semantic feature of an object in a current submap and a geometric feature within a preset range around the object, the semantic feature comprising a semantic label and a circumscribed cube volume of the object, and the geometric feature comprising a line feature and a surface feature. The descriptor construction module is configured to construct a feature descriptor based on the semantic label, the circumscribed cube volume, the line feature and the surface feature. The descriptor construction module is configured to determine a historical feature descriptor representing an object corresponding to a semantic feature according to the semantic feature, and calculate a current pose of the vehicle based on a geometric feature of the feature descriptor and a geometric feature of the historical feature descriptor. Specifically, when there are at least two feature descriptors in the current submap, determining whether the feature descriptor and the historical feature descriptor match comprises: selecting two feature descriptors closest to the vehicle, determining a second similarity of the two feature descriptors and a second included angle between main directions of the two feature descriptors; determining a first set of historical feature descriptors similar to one of the two feature descriptors and a second set of historical feature descriptors similar to the other of the two feature descriptors; and from an optional first historical feature descriptor of a first historical feature descriptor set in which one of the feature descriptors belongs to the same semantic category, from an optional second historical feature descriptor of a second historical feature descriptor set in which another of the feature descriptors belongs to the same semantic category; determining a third similarity between the first historical feature descriptor and the second historical feature descriptor, a third included angle between a principal direction of the first historical feature descriptor and a principal direction of the second historical feature descriptor; determining whether the two feature descriptors, a feature descriptor group consisting of the first historical feature descriptor and the second historical feature descriptor, match according to the second similarity and the third similarity, the second included angle and the third included angle.
18. An electronic device comprising a memory and a processor, said memory having stored thereon a computer program, characterized in that, The processor implements the method of any one of claims 1-12 or the method of any one of claims 13-15 when executing the computer program.
19. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program implements the method of any one of claims 1-12 or the method of any one of claims 13-15 when executed by the processor.
Citation Information
Patent Citations
Fingerprint identification method and fingerprint identification device
CN104156707A
Target object positioning method and device
CN111862146A
Semantic relocation method and device based on known map, electronic equipment and medium
CN114088099A