Positioning method, electronic device, medium, and program product

By matching the centroid coordinates of semantic objects obtained from vehicle environment images in an indoor environment with the centroid map, and using the iterative nearest point algorithm to optimize the vehicle pose, the low-precision positioning problem caused by GNSS signal occlusion is solved, and higher-precision vehicle positioning is achieved.

CN122429786APending Publication Date: 2026-07-21ZHIJIA MAINLAND (BEIJING) INTELLIGENT TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHIJIA MAINLAND (BEIJING) INTELLIGENT TECHNOLOGY CO LTD
Filing Date
2026-04-22
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In indoor environments such as underground parking lots, GNSS signals are blocked, resulting in low initial pose accuracy of the vehicle, making it impossible to obtain high-precision positioning through GNSS.

Method used

By obtaining the centroid coordinates of semantic objects in the vehicle's environmental image and matching them with a pre-built centroid map, the vehicle pose is optimized using an iterative nearest-point algorithm, thereby improving positioning accuracy.

Benefits of technology

It improves the vehicle's pose accuracy in indoor scenarios and enhances the positioning accuracy of the autonomous driving system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122429786A_ABST
    Figure CN122429786A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data processing, and discloses a positioning method and device, electronic equipment, a medium and a program product. The method comprises the following steps: acquiring a first environment picture collected by a vehicle at a first time, wherein the vehicle at the first time has a first pose; determining that n first semantic objects exist in the first environment picture and that n first centroid coordinates respectively correspond to the n first semantic objects, n being an integer greater than or equal to 1; based on the n first centroid coordinates, matching k1 second centroid coordinates corresponding to k1 second semantic objects from a first centroid map, wherein k1 is a positive integer less than or equal to n; and based on the k1 second centroid coordinates, adjusting the first pose of the vehicle to a second pose. The method can improve the accuracy of the acquired vehicle pose.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a positioning method, electronic device, medium, and program product. Background Technology

[0002] In indoor positioning for autonomous driving, the signals of the Global Navigation Satellite System (GNSS) are blocked in indoor environments such as underground parking lots, making it impossible to obtain high-precision positioning through GNSS. The initial pose of the vehicle is often obtained through a combination of inertial navigation sensors, but the accuracy of the obtained initial pose is low. Summary of the Invention

[0003] The purpose of this application is to provide a positioning method, electronic device, medium, and program product that can improve the positioning accuracy of vehicles in indoor scenarios.

[0004] The first aspect of this application provides a localization method, the method comprising: acquiring a first environmental image captured by a vehicle at a first moment, wherein the vehicle at the first moment has a first pose; determining that there are n first semantic objects and n first centroid coordinates corresponding to the n first semantic objects in the first environmental image, where n is an integer greater than or equal to 1; matching k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map based on the n first centroid coordinates, where k1 is a positive integer less than or equal to n; and adjusting the vehicle's pose at the first moment from the first pose to the second pose based on the k1 second centroid coordinates.

[0005] The above positioning method can correct the vehicle's pose based on the correlation between the captured first environmental image and the first centroid map, thereby improving the accuracy of the vehicle's pose.

[0006] In one possible implementation of the first aspect above, the first centroid map is obtained by: acquiring a point cloud semantic map at a first moment; and generating the first centroid map based on the second centroid coordinates of each second semantic object in the point cloud semantic map.

[0007] In one possible implementation of the first aspect above, based on n first centroid coordinates, matching k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map includes: determining n1 second centroid coordinates within a first range in the first centroid map, where n1 is a positive integer; the first range is the range obtained based on the first pose; calculating distance scores between the n first centroid coordinates and the n1 second centroid coordinates in sequence to obtain M first matching pairs, where M is a positive integer, each first matching pair includes a first centroid coordinate and a second centroid coordinate, and the distance score between the first centroid coordinate and the second centroid coordinate in the first matching pair is greater than a distance threshold; constructing a first matrix based on the similarity scores of every two first matching pairs, inputting the first matrix into a first matching library to obtain k1 second matching pairs, each second matching pair including a first centroid coordinate and a second centroid coordinate.

[0008] In one possible implementation of the first aspect above, adjusting the vehicle's first pose to a second pose based on k1 second centroid coordinates includes: obtaining the second pose based on k1 first centroid coordinates, k1 second centroid coordinates, and a first algorithm in k1 second matching pairs, wherein the first algorithm includes an iterative nearest point algorithm.

[0009] In one possible implementation of the first aspect above, before acquiring the third pose collected by the vehicle sensors at the first moment, and matching k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map based on n first centroid coordinates, the method further includes: matching k2 second centroid coordinates corresponding to k2 second semantic objects from the second centroid map based on n first centroid coordinates, where k2 is a positive integer less than or equal to n; and adjusting the vehicle's pose at the first moment from the third pose to the first pose based on the k2 second centroid coordinates.

[0010] In one possible implementation of the first aspect above, the first centroid map and the second centroid map are obtained as follows: obtaining a point cloud semantic map at a first moment; generating the first centroid map based on the second centroid coordinates of each second semantic object in the point cloud semantic map; obtaining the third centroid coordinates based on the second centroid coordinates, and generating the second centroid map.

[0011] In one possible implementation of the first aspect above, k1 is greater than or equal to the number of matches threshold.

[0012] In one possible implementation of the first aspect above, the first environment image includes an environment image captured by the vehicle at a first moment, wherein the number of semantic objects in the first environment image is greater than or equal to a semantic quantity threshold.

[0013] In one possible implementation of the first aspect above, the first environment image includes environment images captured by the vehicle at a first moment and moments prior to the first moment, wherein the number of semantic objects in the environment image captured by the vehicle at the first moment is less than a semantic quantity threshold.

[0014] The second aspect of this application provides an electronic device, including a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices. The processor implements the positioning method as described in the first aspect and any implementation thereof through logic circuits or executing code instructions.

[0015] A third aspect of this application provides a computer-readable storage medium storing a computer program or instructions that, when executed by a communication device, implement the positioning method as described in the first aspect and any implementation thereof.

[0016] The fourth aspect of this application provides a program product including instructions that, when executed, cause the positioning method as described in the first aspect and any implementation thereof to be implemented.

[0017] The fifth aspect of this application provides a vehicle including a processor and a memory, the memory for storing program instructions, and the processor for invoking the program instructions to execute a positioning method as described in the first aspect and any implementation thereof. Attached Figure Description

[0018] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0019] Figure 1 A schematic flowchart of a positioning method is shown according to an embodiment of this application;

[0020] Figure 2 An embodiment of this application illustrates a schematic diagram of merging the centroid coordinates of semantic objects at different times;

[0021] Figure 3 An embodiment of this application illustrates a schematic diagram of semantic object centroid matching;

[0022] Figure 4 A schematic diagram of the structure of an electronic device 200 is shown according to an embodiment of this application;

[0023] Figure 5 A schematic diagram of the structure of a vehicle 100 is shown according to an embodiment of this application. Detailed Implementation

[0024] The illustrative embodiments of this application include, but are not limited to, a positioning method, an electronic device, a medium, and a program product.

[0025] As mentioned earlier, GNSS signals are currently blocked indoors, such as in underground parking lots, making it impossible to obtain high-precision positioning through GNSS. Therefore, during autonomous driving, the initial pose of the vehicle is often obtained through a combination of inertial navigation sensors, which has low accuracy.

[0026] In view of this, embodiments of this application provide a positioning method. This method can determine, based on a first environmental image acquired by the vehicle at a first moment, that there are n first semantic objects and n first centroid coordinates corresponding to the n first semantic objects in the first environmental image, where n is an integer greater than or equal to 1; based on the n first centroid coordinates, k1 second centroid coordinates corresponding to k1 second semantic objects are matched from the first centroid map, where k1 is a positive integer less than or equal to n; based on the k1 second centroid coordinates, the vehicle's first pose is adjusted to a second pose. This method corrects the vehicle pose based on the association between the captured image and the point cloud semantic map, improving the accuracy of the acquired vehicle pose.

[0027] The method provided in this application can be applied to any electronic device, including but not limited to in-vehicle terminals of various vehicles, mobile devices located in vehicles, etc. This application does not limit the specific form of the electronic device.

[0028] In the embodiments of this application, "electronic device" can refer to the electronic device itself, or a component in the electronic device (e.g., a processor, chip, or chip system), or a logic module or software that can realize all or part of the functions of the electronic device.

[0029] The following section first introduces the terminology used in the embodiments of this application:

[0030] 1. Point Cloud Semantic Map: This is an important form of environmental representation in the fields of autonomous driving and robotics. It combines 3D point cloud data with semantic information (such as lane lines, vehicles, pedestrians, etc.) to provide the system with a structured and understandable environmental model. Point cloud data is typically acquired by sensors such as LiDAR and contains positional information (x, y, z) in 3D space as well as attributes such as reflection intensity, directly expressing the geometric shape and spatial relationships of objects. Semantic maps, by assigning semantic labels (such as "road," "lane line," "streetlight") to each point or region in the point cloud, achieve a high-level understanding of the environment, thereby supporting tasks such as localization, path planning, and decision-making.

[0031] 2. Pose: A term describing the position and orientation of an object in three-dimensional space, consisting of position (coordinates) and orientation (rotation matrix, Euler angles, etc.). Its core functions include: describing pose: accurately depicting the state of an object in space; coordinate system mapping: realizing the transformation between different coordinate systems; motion control: supporting the precise operation of robots, spacecraft, and other equipment. The pose in this application includes position coordinates x and y, and heading angle yaw.

[0032] To better understand the technical solutions of the embodiments of this application, the positioning method provided by the embodiments of this application will be described in detail below, taking vehicle 100 as an example.

[0033] Figure 1 A schematic flowchart of a positioning method is shown according to an embodiment of this application. It can be understood that... Figure 1 The execution entities for each step of the process shown are electronic devices. For simplicity, the following description... Figure 1 The execution entity for each step in the illustrated process will not be described again. For example... Figure 1 As shown, this process includes, but is not limited to, the following:

[0034] S110 acquires the first environmental image collected by the vehicle at the first moment, wherein the vehicle at the first moment has the first pose.

[0035] In some embodiments, at the first moment when initial positioning is required, an environmental image can be acquired using onboard cameras, such as four-way surround-view cameras, as the first environmental image. The number of semantic objects in the first environmental image is greater than or equal to a semantic quantity threshold. For example, a bird's-eye view (BEV) image at the first moment, i.e., time t1, can be acquired as the first environmental image.

[0036] In some embodiments, the first pose is the vehicle's pose at a first moment. For example, the first pose may be the pose acquired by the combined inertial navigation sensors at the first moment. Alternatively, the first pose may be an optimized pose obtained from the pose acquired by the combined inertial navigation sensors at the first moment. The following embodiments will specifically describe how to optimize the first pose from the pose acquired by the combined inertial navigation sensors at the first moment; details will not be elaborated here. That is, the embodiments of this application do not specifically limit the method of acquiring the first pose.

[0037] S120, determine that there are n first semantic objects and n first centroid coordinates corresponding to the n first semantic objects in the first environment image. n is an integer greater than or equal to 1.

[0038] In some embodiments, a first semantic object and its first centroid coordinates in a first environmental image can be obtained through a segmentation algorithm. The first semantic object may include various types of elements such as arrows, lane lines, and curbs; however, this embodiment does not impose specific limitations on these elements.

[0039] In some embodiments, the semantic objects perceived at the current time are related to the surrounding scene. Therefore, the number of semantic objects in the BEV image at the first time, i.e., time t1, may be relatively small. That is, the number of semantic objects in the environment image at time t1 is less than the semantic quantity threshold. Therefore, referring to Figure 2 As shown, the environmental images from the previous time step, such as time t0, and time step t1 can be selected together as the first environmental image. It is understood that in some embodiments, environmental images from more time steps can be used together as the first environmental image. This application does not impose specific limitations on these embodiments.

[0040] That is, in some embodiments, the first environmental image may include an environmental image collected at a first moment (e.g., time t1) and an environmental image collected at a moment before the first moment (e.g., time t0). Accordingly, the first semantic object and the first centroid coordinates of the first semantic object are determined based on the environmental image collected at the first moment (e.g., time t1) and the environmental image collected at a moment before the first moment (e.g., time t0).

[0041] For example, when a vehicle is in motion, the semantic information determined at time t1 based on the environmental images collected at time t0 and time t1 includes S0 and S1, where S0 represents the information of all semantic objects in the environmental image at time t0, and S1 represents the information of all semantic objects in the environmental image at time t1.

[0042] It should be noted that, in order to obtain richer semantic information, adjacent frame environmental images that meet certain conditions regarding changes in physical distance and heading angle can be selected. For example, at adjacent times, i.e., at time t0 and time t1, the physical distance between the vehicles is greater than threshold 1, and the difference in heading angle is greater than threshold 2. Here, threshold 1 can be 1m, and threshold 2 can be 20 degrees. In this embodiment of the application, threshold 1 and threshold 2 are not specifically limited.

[0043] In some embodiments, the set S00 of the first centroid coordinates of all first semantic objects in S0 at time t0, and the set S01 of the first centroid coordinates of all first semantic objects in S1 at time t1 can be calculated. The calculation method for the first centroid coordinates is as follows:

[0044] First, calculate the centroid coordinates of each connected component in the images at time t0 and t1. A connected component refers to a set of connected elements with the same properties; a connected component can be understood as a semantic object. For example, in an image, regions with the same pixel value constitute a connected component. An arrow corresponds to a connected component. Calculate the mean coordinates of each connected component in the images at time t0 and t1, respectively, and use these as the centroid coordinates pi(xi, yi) of that connected component. pi is the centroid of the connected component in the image coordinate system (i.e., corresponding to the image format), xi is the x-coordinate of the centroid of the connected component in the image coordinate system, and yi is the y-coordinate of the centroid of the connected component in the image coordinate system.

[0045] pi(xi, yi) =

[0046] Where n is the index of the pixel in the connected component, pj is the pixel with index j in the connected component, xj is the x-coordinate of pj, and yj is the y-coordinate of pj.

[0047] Then, since the centroid coordinates of all connected components (i.e., semantic objects) at times t0 and t1 are in image format (i.e., coordinates in the image coordinate system), the centroid coordinates of all semantic objects at times t0 and t1 can be transformed to the map coordinate system using the transformation matrix Ti2m, yielding the first centroid coordinates of all semantic objects at times t0 and t1 in the map coordinate system. The map coordinate system is a Cartesian coordinate system. It can be understood that the first centroid coordinates of all semantic objects at times t0 and t1 in the map coordinate system can constitute an environmental centroid map.

[0048] The transformation matrix Ti2m includes the rotation matrix Ri2m and the translation matrix ti2m. Ri2m = [cos(yaw), -sin(yaw); sin(yaw), cos(yaw)], ti2m = [s*x; s*y]. yaw is the heading angle, x is the x-coordinate of the origin in the image coordinate system in the image format, and y is the y-coordinate of the origin in the image coordinate system in the image format. s is the actual physical scale corresponding to one pixel in the image. For example, assuming an image is 640*480 pixels and corresponds to a map area of ​​640m*480m, with the image coverage area and map area completely corresponding, then one pixel in the image corresponds to a 1m*1m space in the map, and s is 1m.

[0049] For example, all semantic objects at times t0 and t1 are converted from their coordinates pi (xi, yi) in the image coordinate system to their first centroid coordinates in the map coordinate system according to the following formula:

[0050] pm ( , = Ti2m * pi(xi,yi) = Ri2m*pi(xi,yi) + ti2m

[0051] = [cos(yaw), -sin(yaw); sin(yaw), cos(yaw)]*[xi;yi]+ [s*x;s*y].

[0052] Where pm is the centroid of the semantic object in the map coordinate system, and xm is the x-coordinate of the centroid of the connected component in the map coordinate system. The ordinate is the centroid of the connected domain in the map coordinate system.

[0053] Then, the first centroid coordinates of all semantic objects at time t0 and time t1 can be merged to obtain the set S of the first centroid coordinates of all semantic objects in the first environment image (including the environment image at time t0 and the environment image at time t1):

[0054] S =Ti2m(t0)*S00+Ti2m(t1)*S01.

[0055] Where S is the set of first centroid coordinates of all first semantic objects in the environmental centroid map. Ti2m(t0) is the transformation matrix at time t0, and Ti2m(t1) is the transformation matrix at time t1.

[0056] In some embodiments, the first semantic object in the environment image at time t0 and the first semantic object in the environment image at time t1 may be duplicated. For overlapping first semantic objects, during synthesis, such as when constructing the environment centroid map, S00 can be added first, followed by S01. When adding S01, if the corresponding coordinates have already been added, it will not be added again. If the distance between the first centroid coordinates of the same type of first semantic objects in S00 and S01 is less than or equal to a threshold of 3, such as 0.5m, they are considered to be the same first semantic object, and the average of the centroid coordinates of the two first semantic objects is calculated as the first centroid coordinate.

[0057] S130: Based on n first centroid coordinates, match k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map. k1 is a positive integer less than or equal to n.

[0058] In some embodiments, reference may be made to Figure 3 First, a first centroid map is pre-constructed for matching and locating semantic objects in the environment image. For example, the first centroid map may include multiple second semantic objects. Then, based on n first centroid coordinates, k1 second semantic objects and their corresponding k1 second centroid coordinates are matched from the first centroid map.

[0059] The first centroid map will be introduced below.

[0060] In some embodiments, a point cloud semantic map at a first moment can be obtained; and a first centroid map can be generated based on the second centroid coordinates of each second semantic object in the point cloud semantic map.

[0061] It is understandable that the point cloud semantic map is the foundational data for generating the first centroid map. Taking a vehicle driving in a parking lot as an example, the point cloud semantic map can be pre-constructed in the following way: First, multiple frames of images are captured using the vehicle's 360-degree surround-view cameras (e.g., including the front, rear, left, and right cameras); simultaneously, the pose corresponding to each frame of image is obtained using the vehicle's wheel speed sensors and inertial navigation sensors; then, based on a deep learning algorithm, the semantic object information of each frame of image is extracted; finally, using a mapping device, the multiple frames of images are stitched and fused together according to the semantic object information and the pose corresponding to each frame of image to generate a complete point cloud semantic map, which is then stored in the vehicle's memory. In this embodiment, the method for generating the point cloud semantic map is not specifically limited.

[0062] In some embodiments, when initial positioning is required, a point cloud semantic map of the current parking lot can be obtained from the vehicle's memory. In this application embodiment, the method for obtaining the point cloud semantic map is not specifically limited.

[0063] In some embodiments, the point cloud semantic map is an image. The mean coordinates of each second semantic object (i.e., a connected component) in the point cloud semantic map can be calculated as the centroid coordinates of that connected component. Then, similar to the environment image, the centroid coordinates of each connected component (i.e., the second semantic object) in the image coordinates of the point cloud semantic map are transformed to the map coordinate system using the transformation matrix Ti2m to obtain the second centroid coordinates of each second semantic object based on the map coordinate system, generating a first centroid map. That is, the first centroid map may include the second centroid coordinates of each second semantic object.

[0064] In some embodiments, to improve the success rate of semantic matching and the accuracy of vehicle pose, two, three, or more centroid maps can be constructed based on the point cloud semantic map, with each centroid map having a different level of precision. For example, the first centroid map generated based on the point cloud semantic map at the first moment is a high-precision map.

[0065] It is understood that the accuracy (or resolution) of the map described in the embodiments of this application can refer to the size of the physical area in the real world corresponding to one pixel (or one smallest map unit) in the centroid map. The higher the accuracy of the centroid map, the smaller the physical area in the real world corresponding to each pixel.

[0066] For example, each pixel in the first centroid map corresponds to a physical region of 0.25m × 0.25m in the real world. That is, the smallest positional difference that can be distinguished on the first centroid map is 0.25m. For example, if two centroid coordinates differ by 1 pixel on the first centroid map, the actual distance in the real world is 0.25m.

[0067] In some embodiments, a second centroid map with a lower resolution can be further obtained based on the first centroid map, where each pixel in the second centroid map corresponds to a physical area of ​​0.5m × 0.5m in the real world. A third centroid map with an even lower resolution can also be obtained based on the second centroid map, where each pixel in the third centroid map corresponds to a physical area of ​​1m × 1m in the real world. And so on. In this embodiment, the number of centroid map layers is not specifically limited.

[0068] For example, suppose a centroid has coordinates pm1 (4.35, 5.50) in the first centroid map. After rounding the coordinates in the first centroid map, since 4.35 is closer to 4.5 than 4.0, the coordinates of this centroid in the second centroid map are pm2 (4.5, 5.5). Similarly, after rounding the coordinates in the second centroid map, the coordinates of this centroid in the third centroid map are pm3 (5, 6), that is, 4.5 is rounded to 5.0 and 5.5 is rounded to 6.0.

[0069] The matching process between the first centroid coordinates and the first centroid map is described below.

[0070] In some embodiments, as mentioned above, the vehicle pose T(t1) at the first time, such as time t1, can be the pose acquired by the combined inertial navigation sensor. However, the pose error is relatively large, such as 1m. Therefore, it is necessary to optimize the pose error acquired by the combined inertial navigation sensor, for example, to reduce the pose error to 0.25m.

[0071] In some embodiments, the first centroid coordinates of the first semantic object corresponding to the first environmental image and the second centroid coordinates of the second semantic object in the first centroid map are correlated and matched. The vehicle pose T(t1) is corrected based on the correlation matching, and the effect of the correction depends on the accuracy of the correlation matching. The specific steps are as follows: S1 to S1:

[0072] S1: Based on the vehicle pose T(t1) obtained by the combined inertial navigation sensor, obtain n1 second semantic objects and their second centroid coordinates in the first centroid map within a first range, such as 50m. n1 is a positive integer.

[0073] S2: Iterate through the first centroid coordinates of all n first semantic objects in the first environment image, where n is a positive integer. Assume the corresponding labels of the n first semantic objects are i0, i1, i2, ..., in. Calculate the distance scores between the first centroid coordinates of the n first semantic objects and the second centroid coordinates of the n1 second semantic objects, where n1 is a positive integer and the corresponding labels of the n1 second semantic objects are j0, j1, j2, ..., jn1.

[0074] If the first semantic object and the second semantic object are of the same semantic type, and the centroid distance d between them is less than the centroid threshold, such as 2.0m, a distance score is obtained. , The value is a scoring parameter, such as 0.3. If the centroid distance d between two objects is greater than or equal to the centroid threshold, the distance score is 0. All two centroid coordinates (first centroid coordinate and second centroid coordinate) with a distance score greater than 0 are filtered out and used as the first matching pair, resulting in M+1 first matching pairs, where M+1 is a positive integer. For example, the M+1 first matching pairs include: m0(i0, j0), m1(i1, j1), ..., mM(iM, jM), etc., where i0, i1, ..., iM are the first centroid coordinates of the first semantic object, and j0, j1, ..., jM are the second centroid coordinates of the second semantic object in the first centroid map.

[0075] S3: Calculate the similarity score for each pair of first matches. For example, the steps for calculating the similarity score between m0(i0, j0) and m1(i1, j1) are as follows:

[0076] First, calculate the distance (i01) and angle (i01) between the first centroid coordinates i0 and i1, respectively, as distance(i01) = atan(dy(i01), dx(i01)). Here, dy(i01) is the difference between the ordinates of the two first centroid coordinates (i0 and i1), and dx(i01) is the difference between the abscissas of the two first centroid coordinates (i0 and i1).

[0077] Next, calculate the distance (j01) and angle (j01) between the second centroid coordinates j0 and j1, where angle (j01) = atan(dyj01, dxj01). Here, dy(j01) is the difference between the ordinates of the two second centroid coordinates (j0 and j1), and dx(j01) is the difference between the abscissas of the two second centroid coordinates (j0 and j1).

[0078] Then, the similarity score Q01 between m0(i0, j0) and m1(i1, j1) is calculated according to the following formula:

[0079]

[0080] Where W01 represents the combined weight of m0(i0,j0) and m1(i1,j1), for example, W01 = weight_d* |distance(i01)-distance(j01)|+ weight_a* |angle(i01)-angle(j01)|, where weight_d represents the distance weight, for example, it can be 0.6; weight_a represents the angle weight, for example, it can be 0.4.

[0081] It is understandable that the similarity score and overall weight of each pair of first matching pairs can be calculated in the same way as m0(i0,j0) and m1(i1,j1) mentioned above, and will not be elaborated further.

[0082] S4: Based on the M+1 first matching pairs and their corresponding similarity scores, construct the first matrix (such as the affinity matrix A), which is an (M+1)*(M+1) matrix.

[0083] For example, the similarity scores of every two first-match pairs are filled into the corresponding elements of the affinity matrix A. For instance, the affinity matrix A can be filled in the following way:

[0084] m0 m1 m2 ... mM

[0085] m0 Q00 Q10 Q20 ... QM0

[0086] m1 Q10 Q11 Q21 ... QM1

[0087] m2 Q20 Q21 Q22 ... QM2 ... ... ... ... ... ...

[0089] Mm Qm0 Qm1 Qm2 ... Qmm

[0090] Where Q10 = m1, m0 is the similarity score; Q10 = Q01; Q00 = Q11 = ... = 1, and so on.

[0091] S5: Call the first matching library to get k1 second matching pairs.

[0092] After constructing the affinity matrix A, input A into a graph matching library (such as the Clipper graph matching library). This library can filter out the better matching pairs from all candidate matching pairs, maximizing the geometric consistency among the better matching pairs. For example, after filtering M+1 first matching pairs, the Clipper graph matching library outputs k1 second matching pairs, each containing a first centroid coordinate and a second centroid coordinate.

[0093] Next, it is necessary to determine whether k1 is greater than the matching quantity threshold (e.g., 10). If it is greater than the threshold, the matching is considered valid, and the resulting k1 second matching pairs can be used for subsequent pose optimization steps. If k1 is less than or equal to the threshold, the matching result is unreliable, and the matching is abandoned. The vehicle continues to drive until the environmental image and vehicle pose at the next time step (e.g., t2) are obtained, and the above matching process is repeated until a successful match is obtained, resulting in k1 second matching pairs that are greater than the matching quantity threshold.

[0094] S140, based on k1 second centroid coordinates, adjusts the vehicle's pose from the first pose to the second pose at the first moment.

[0095] In some embodiments, the optimized second pose can be obtained based on k1 second matching pairs using the iterative closest point (ICP) algorithm. The specific steps are as follows:

[0096] First, obtain the first PointsA set and the first PointsB set based on k1 second matching pairs. k1 is an integer greater than 10. The first PointsA set includes k1 first centroid coordinates, and the first PointsB set includes k1 second centroid coordinates in the first centroid map.

[0097] Then, calculate the centroid coordinates Pa for the first set of PointsA and Pb for the first set of PointsB. Here, the centroid coordinate Pa can represent the average coordinate of the k1 first centroid coordinates in the first set of PointsA; the centroid coordinate Pb can represent the average coordinate of the k1 second centroid coordinates in the first set of PointsB. Subtract the centroid coordinate Pa from each first centroid coordinate in the first set of PointsA to obtain the second set of PointsA. Subtract the centroid coordinate Pb from each second centroid coordinate in the first set of PointsB to obtain the second set of PointsB.

[0098] Then, construct a 2x2 optimization matrix H. H += ph*(pk) T Where T represents the matrix transpose, Ph is the centroid coordinate of each centroid in the second set of PointsA, and pk is the centroid coordinate of each centroid in the second set of PointsB. That is, iterate through each centroid coordinate ph in the second set of PointsA and each centroid coordinate pk in the second set of PointsB. Here, ph and pk are both 2x1 matrices, and ph*(pk) is performed on ph and pk. T The calculation is performed, and the 2x2 matrices calculated for each centroid ph and each centroid pk are added together to obtain H.

[0099] Then, the second pose is obtained based on the optimization matrix H.

[0100] Specifically, singular value decomposition (SVD) is performed on matrix H to obtain orthogonal matrix U, diagonal matrix Σ, and orthogonal matrix V. Then, according to the formula R = V * (U)... T Calculate the rotation matrix R. After obtaining the rotation matrix R, calculate the translation vector t = Pb - R * Pa. Finally, the heading angle yaw2 in the optimized second pose can be determined from the rotation matrix R, and the x-coordinate x2 and y-coordinate y2 in the optimized second pose can be determined from the translation vector t.

[0101] In some embodiments, when the accuracy of the vehicle pose T(t1) is low, in order to improve the matching success rate and the accuracy of the pose, a centroid map corresponding to a point cloud semantic map with 2, 3 or more layers of resolution can be constructed. The optimization steps can be adjusted according to the centroid map with different accuracy corresponding to the point cloud semantic map.

[0102] For example, when constructing centroid maps of different precisions, matching can begin with the lowest precision centroid map and proceed sequentially to the highest precision centroid map. For instance, when constructing two layers of centroid maps of different precisions, the first range can be determined on the lower precision second centroid map based on the vehicle pose T(t1), and then matching can be performed to obtain the optimized vehicle pose Ta(t1). Then, the first range can be determined on the higher precision first centroid map based on the vehicle pose Ta(t1), and matching can be performed to obtain the further optimized vehicle pose Tb(t1). When three centroid maps of different precisions are constructed, the first range can be determined on the third centroid map with lower precision based on the vehicle pose T(t1) and then matched to obtain the optimized vehicle pose Tc(t1). Then, the first range can be determined on the second centroid map with higher precision based on the vehicle pose Tc(t1) and then matched to obtain the optimized vehicle pose Td(t1). Finally, the first range can be determined on the first centroid map with higher precision based on the vehicle pose Td(t1) and then matched to obtain the optimized vehicle pose Te(t1).

[0103] For example, based on n first centroid coordinates, k2 second centroid coordinates corresponding to k2 second semantic objects can be matched from the range determined by the third pose acquired by the vehicle's sensors in the second centroid map, where k2 is a positive integer less than or equal to n; then, based on the k2 second centroid coordinates, the third pose acquired by the vehicle's sensors is adjusted to the first pose; then, based on n first centroid coordinates, k1 second centroid coordinates corresponding to k1 second semantic objects can be matched from the range determined by the first pose in the first centroid map, where k1 is a positive integer less than or equal to n; based on the k1 second centroid coordinates, the vehicle's pose at the first moment is adjusted from the first pose to the second pose. Further details are omitted here.

[0104] The aforementioned localization method matches the first semantic object corresponding to the environmental image captured at the first moment with the second semantic objects within a first range in the centroid map corresponding to the point cloud semantic map. The first range is related to the first pose. The method obtains the second centroid coordinates of several corresponding second semantic objects and then adjusts the first pose to the second pose based on these second centroid coordinates. This method can correct the vehicle pose based on the correlation between the captured environmental image and the point cloud semantic map, thus improving the accuracy of the obtained vehicle pose.

[0105] It is understood that in other embodiments, depending on actual needs, the steps shown in the above embodiments can be combined, deleted, or replaced with other steps that are beneficial to achieving the purpose of this application, and this application does not impose any restrictions here.

[0106] This application also provides a positioning system. The control system may include at least one processor that executes instructions stored in a non-transitory computer-readable medium such as memory. The processor may be any conventional processor, such as a commercially available central processing unit (CPU). Alternatively, the processor may be a dedicated device such as an application-specific integrated circuit (ASIC) or other hardware-based processor.

[0107] In some embodiments, the memory may contain instructions (e.g., program logic) that can be executed by a processor to perform various functions of the electronic device 200, including the functions of the embodiments described above.

[0108] This application also provides an electronic device that may include at least one processor that executes instructions stored in a non-transitory computer-readable medium such as memory. The processor may be any conventional processor, such as a commercially available CPU. Optionally, the processor may be a special-purpose device such as an ASIC or other hardware-based processor. The memory may contain instructions (e.g., program logic) that can be executed by the processor to perform various functions of the vehicle 100, including the functions of the embodiments described above.

[0109] Next, combine Figure 4 The structure of electronic device 200 will be described.

[0110] like Figure 4 As shown, the electronic device 200 includes one or more processors 101, system memory 102, non-volatile memory (NVM) 103, communication interface 104, input / output device 105, and system control logic unit 106 for coupling the processor 101, system memory 102, non-volatile memory 103, communication interface 104, and input / output (I / O) device 105. Wherein:

[0111] Processor 101 may include one or more processing units, such as processing modules or circuits that include a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), microprocessor (MCU), artificial intelligence (AI) processor, field programmable gate array (FPGA), neural network processing unit (NPU), etc., and may include one or more single-core or multi-core processors. In some embodiments, the CPU may be used to optimize the neural network model to be run, and the NPU may be used to run the neural network model to be run. Processor 101 is used to execute any of the above-described data processing methods.

[0112] System memory 102 is volatile memory, such as random-access memory (RAM), double data rate synchronous dynamic random access memory (DDR SDRAM), etc. System memory is used for temporary storage of data and / or instructions. For example, in some embodiments, system memory 102 can be used to store data provided by the aforementioned different services, such as sensor data, image data, or video data, and can also be used to store instructions for the data processing methods provided in the aforementioned embodiments.

[0113] The non-volatile memory 103 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, the non-volatile memory 103 may include any suitable non-volatile memory and / or any suitable non-volatile storage device, such as a hard disk drive (HDD), compact disc (CD), digital versatile disc (DVD), solid-state drive (SSD), etc. In some embodiments, the non-volatile memory 103 may also be a removable storage medium, such as a secure digital (SD) memory card. In other embodiments, the non-volatile memory 103 may be used to store instructions for the data processing methods provided in the foregoing embodiments.

[0114] Specifically, system memory 102 and non-volatile memory 103 may each include a temporary copy and a permanent copy of instruction 107. Instruction 107 may include, when executed by at least one of processors 101, causing electronic device 200 to implement the data processing methods provided in the embodiments of this application.

[0115] The communication interface 104 may include a transceiver for providing a wired or wireless communication interface for the electronic device 200, thereby enabling communication with any other suitable device via one or more networks. In some embodiments, the communication interface 104 may be integrated into other components of the electronic device 200, for example, the communication interface 104 may be integrated into the processor 101. In some embodiments, the electronic device 200 may communicate with other devices through the communication interface 104, for example, the electronic device 200 may obtain relevant data from other devices through the communication interface 104.

[0116] Input / output (I / O) device 105 can be an input device such as a keyboard or mouse, and an output device such as a monitor. Users can interact with electronic device 200 through input / output (I / O) device 105.

[0117] The system control logic unit 106 may include any suitable interface controller to provide any suitable interface to other modules of the electronic device 200. For example, in some embodiments, the system control logic unit 106 may include one or more memory controllers to provide an interface to the system memory 102 and the non-volatile memory 103.

[0118] In some embodiments, at least one of the processors 101 may be packaged together with the logic of one or more controllers for the system control logic unit 106 to form a system in package (SiP). In other embodiments, at least one of the processors 101 may also be integrated on the same chip with the logic of one or more controllers for the system control logic unit 106 to form a system-on-chip (SoC).

[0119] Understandable. Figure 4 The structure of the electronic device 200 shown is merely an example. In other embodiments, the electronic device 200 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0120] This application also provides a vehicle that may include at least one processor that executes instructions stored in a non-transitory computer-readable medium such as memory. The processor may be any conventional processor, such as a commercially available CPU. Alternatively, the processor may be a special-purpose device such as an ASIC or other hardware-based processor. The memory may contain instructions (e.g., program logic) that can be executed by the processor to perform various functions of the vehicle 100, including the functions of the embodiments described above.

[0121] Next, combine Figure 5 The structure of the vehicle will be described. Figure 5 A schematic diagram of a vehicle structure provided in an embodiment of this application is shown.

[0122] Figure 5 This is a schematic diagram illustrating a possible functional framework of a vehicle 00 provided in an embodiment of this application. For example... Figure 5As shown, the functional framework of vehicle 00 may include various subsystems, such as the sensor system 10, control system 20, one or more peripheral devices 30 (one is shown as an example), power supply 40, and computer system 50. Optionally, vehicle 00 may also include other functional systems, such as an engine system that provides power to vehicle 00, etc., which are not limited here. The sensor system 10 may include several detection devices that can sense the measured information and convert the sensed information into electrical signals or other required forms of information output according to a certain rule. As shown, these detection devices may include a global positioning system 11 (GPS), a vehicle speed sensor 12, an inertial measurement unit 13 (IMU), etc., which are not limited here. The global positioning system GPS 11 is a system that uses GPS positioning satellites to perform real-time positioning and navigation globally. In this application, the global positioning system GPS 11 can be used to realize the real-time positioning of vehicle 00 and provide the geographical location information of vehicle 00. The vehicle speed sensor 12 is used to detect the driving speed of vehicle 00. The inertial measurement unit 13 may include a combination of an accelerometer and a gyroscope, and is a device for measuring the angular rate and acceleration of the vehicle 00. For example, during the movement of the vehicle 00, the inertial measurement unit can measure the changes in the position and angle of the vehicle body based on the inertial acceleration of the vehicle 00, such as measuring the acceleration and angular rate of the vehicle 00. The control system 20 may include a steering unit 21, a braking unit 22, etc. The steering unit 21 may represent a system for adjusting the direction of travel of the vehicle 00, which may include, but is not limited to, a steering wheel, or any other structural device for adjusting or controlling the direction of travel of the vehicle 00. The braking unit 22 may represent a system for slowing down the speed of the vehicle 00, and may also be called the vehicle 00 braking system. It may include, but is not limited to, a brake controller, a reducer, or any other structural device for slowing down the vehicle 00. In practical applications, the braking unit 22 may use friction to slow down the tires of the vehicle 00, thereby slowing down the speed of the vehicle 00. The peripheral equipment 30 may include several components, such as the communication system 31, touch screen 32, user interface 33, etc. shown in the figure. The communication system 31 is used to enable network communication between the vehicle 00 and other devices besides the vehicle 00, such as electronic devices 2. In practical applications, the communication system 31 can use wireless communication technology or wired communication technology to enable network communication between the vehicle 00 and other devices. The wired communication technology can refer to communication between the vehicle 00 and other devices via network cables or optical fibers.The wireless communication technologies include, but are not limited to, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), and Time Division Code Division Multiple Access (TDMA). division code division multiple access, TD SCDMA, Long Term Evolution (LTE), Wireless Local Area Networks (WLAN) (such as Wireless Fidelity, Wi-Fi) The system includes various technologies such as Fi (Fi) networks, Bluetooth (BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), and Infrared (IR). The touchscreen 32 can be used to detect operation commands displayed on it. For example, a user can perform touch operations on the content displayed on the touchscreen 32 according to actual needs to achieve the corresponding function, such as playing music, video, or other multimedia files. The user interface 33 can specifically be a touch panel for detecting operation commands on it. The user interface 33 can also be a physical button or a mouse. The user interface 33 can also be a display screen for outputting data and displaying images or data. Optionally, the user interface 33 can also be at least one device belonging to the category of peripheral devices, such as a touchscreen, microphone, and speaker. Several functions of the vehicle 00 are controlled and implemented by the computer system 50. The computer system 50 may include multiple processors such as a general-purpose processor 51, CDC 52, MDC 53, T... BOX 54, as well as memory 55 (also known as storage device) and gateway 56.

[0123] In practical applications, the memory 55 can be located either inside or outside the computer system 50, such as as a cache in the vehicle 00; this application does not limit its location. The general-purpose processor 51 can be, for example, a graphics processing unit (GPU). General-purpose processor 51, CDC 52, MDC 53, T BOX 54 can be used to run relevant programs or corresponding instructions stored in memory 55 to implement the corresponding functions of vehicle 00, such as network switching functions based on services. Memory 55 may include volatile memory, such as RAM; memory may also include non-volatile memory. Memory 55 may include volatile memory, such as ROM, flash memory, HDD, or SSD; memory 55 may also include combinations of the above types of memory. Memory 55 can be used to store a set of program code or instructions corresponding to program code, so that the general-purpose processor 51 can call the program code or instructions stored in memory 55 to implement the corresponding functions of vehicle 00. This function includes, but is not limited to, […]. Figure 5 The schematic diagram of the vehicle 00 functional framework shown includes some or all of the functions. In this application, the memory 55 can store a set of program code for vehicle 00 control, and the general-purpose processor 51, CDC 2, MDC 3, and T... BOX 4 can call this program code to control vehicle 00 to switch vehicle networks.

[0124] Optionally, in addition to storing program code or instructions, memory 55 may also store road maps, driving lines, or other structural devices used to adjust or control the direction of travel of vehicle 00. Braking unit 22 may represent a system for slowing down the vehicle 00, and may also be referred to as the vehicle 00 braking system. It may include, but is not limited to, a brake controller, a reducer, or other structural devices used for slowing down vehicle 00. In practical applications, braking unit 22 may utilize friction to slow down the tires of vehicle 00, thereby reducing the vehicle 00's speed.

[0125] Peripheral device 30 may include several components, such as the communication system 31, touch screen 32, user interface 33, etc., as shown in the figure. The communication system 31 is used to realize network communication between vehicle 00 and other devices besides vehicle 00, such as electronic device 2. In practical applications, the communication system 31 can use wireless communication technology or wired communication technology to realize network communication between vehicle 00 and other devices. The wired communication technology can refer to communication between vehicle 00 and other devices via network cable or fiber optic cable. The wireless communication technology includes, but is not limited to, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), and Time Division Code Division Multiple Access (TDMA). division code divisionmultiple access, TD SCDMA, Long Term Evolution (LTE), Wireless Local Area Networks (WLAN) (such as Wireless Fidelity, Wi-Fi) This includes technologies such as Fi (Fi) networks, Bluetooth (BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), and Infrared (IR).

[0126] The touchscreen 32 can be used to detect operation commands on the touchscreen 32. For example, the user can perform touch operations on the content data displayed on the touchscreen 32 according to actual needs to achieve the corresponding function, such as playing music, video, or other multimedia files. The user interface 33 can specifically be a touch panel, used to detect operation commands on the touch panel. The user interface 33 can also be a physical button or a mouse. The user interface 33 can also be a display screen, used to output data and display images or data. Optionally, the user interface 33 can also be at least one device belonging to the category of peripheral devices, such as a touchscreen, microphone, and speaker.

[0127] Several functions of vehicle 00 are controlled and implemented by computer system 50. Computer system 50 may include multiple processors such as general-purpose processor 51, CDC 52, MDC 53, T... BOX 54, memory 55 (also referred to as storage device), and gateway 56. In practical applications, the memory 55 may be located inside or outside the computer system 50, such as as a cache in the vehicle 00; this application does not limit this. The general-purpose processor 51 may be, for example, a graphics processing unit (GPU). General-purpose processor 51, CDC 52, MDC 53, T BOX 54 can be used to run relevant programs or instructions stored in memory 55 to implement the corresponding functions of vehicle 00, such as network switching functions based on services.

[0128] Memory 55 may include volatile memory, such as RAM; memory may also include non-volatile memory. Memory 55 may include volatile memory, such as ROM, flash memory, HDD, or SSD; memory 55 may also include combinations of the above types of memory. Memory 55 can be used to store a set of program code or instructions corresponding to program code, so that the general-purpose processor 51 can call the program code or instructions stored in memory 55 to implement any of the above-mentioned data processing methods, and to implement the corresponding functions of vehicle 00. This function includes, but is not limited to, […]. Figure 5 The schematic diagram of the vehicle 00 functional framework shown includes some or all of the functions. In this application, the memory 55 can store a set of program code for vehicle 00 control, and the general-purpose processor 51, CDC 52, MDC 53, and T... The BOX 54 can call this program code to control vehicle 00 to switch vehicle networks.

[0129] Optionally, in addition to storing program code or instructions, the memory 55 may also store information such as road maps, driving routes, and sensor data. The computer system 50 can be combined with other components in the functional framework diagram of the vehicle 00, such as sensors in the sensor system and GPS, to realize the relevant functions of the vehicle 00. For example, the computer system 50 can control the driving direction or speed of the vehicle 00 based on the data input from the sensor system 10; this application does not impose limitations on this.

[0130] It should be noted that the above Figure 5This is merely a schematic diagram of one possible functional framework for vehicle 00. In practical applications, vehicle 00 may include more or fewer systems or components, and this application is not limiting. Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0131] It should be understood that Figure 5 The structure of the vehicle 100 shown is only an example. In other embodiments, the vehicle 100 may include more or fewer modules, which is not limited herein.

[0132] In some embodiments, this application also provides a computer-readable storage medium storing at least one computer program instruction, at least one program segment, code set, or instruction set, which is loaded and executed by a model training system to implement the data processing methods provided in the above-described method embodiments.

[0133] In some embodiments, this application also provides a computer program product, which includes computer program instructions that, when executed by a model training system, enable the device to implement the data processing methods provided in the above-described method embodiments.

[0134] Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or combinations of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0135] Program code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.

[0136] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0137] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on one or more transient or non-transitory machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or through other computer-readable media. Therefore, computer-readable media may include: USB flash drives, external hard drives, read-only memory (ROMs), etc. Various media that can store program code, such as ROM (ROM only memory), RAM (random access memory), magnetic disks, or optical disks.

[0138] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.

[0139] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit / module can be a physical unit / module, a part of a physical unit / module, or a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important factor; the combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above-described device embodiments of this application have not introduced units / modules that are not closely related to solving the technical problems proposed in this application. This does not mean that the above-described device embodiments do not contain other units / modules.

[0140] It should be noted that in the examples and description of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0141] Although this application has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art should understand that various changes in form and detail may be made thereto without departing from the spirit and scope of this application.

Claims

1. A positioning method applied to an in-vehicle terminal, characterized in that, The method includes: The first environmental image captured by the vehicle is acquired at the first moment, where the vehicle has the first pose at the first moment; It is determined that there are n first semantic objects and n first centroid coordinates corresponding to the n first semantic objects in the first environment image, where n is an integer greater than or equal to 1; Based on the n first centroid coordinates, k1 second centroid coordinates corresponding to k1 second semantic objects are matched from the first centroid map, where k1 is a positive integer less than or equal to n; Based on the k1 second centroid coordinates, the vehicle's pose at the first moment is adjusted from the first pose to the second pose.

2. The positioning method according to claim 1, characterized in that, The first centroid map was obtained in the following way: Obtain the point cloud semantic map at the first moment; A first centroid map is generated based on the second centroid coordinates of each second semantic object in the point cloud semantic map.

3. The positioning method according to claim 1 or 2, characterized in that, The step of matching k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map based on the n first centroid coordinates includes: Determine n1 second centroid coordinates within a first range in the first centroid map, where n1 is a positive integer; the first range is the range obtained based on the first pose; The n first centroid coordinates are sequentially compared with the n1 second centroid coordinates to calculate the distance score, and M first matching pairs are obtained, where M is a positive integer. Each first matching pair includes a first centroid coordinate and a second centroid coordinate, and the distance score between the first centroid coordinate and the second centroid coordinate in the first matching pair is greater than the distance threshold. A first matrix is ​​constructed based on the similarity score of each pair of first matching pairs. The first matrix is ​​then input into a first matching library to obtain k1 second matching pairs. Each second matching pair includes a first centroid coordinate and a second centroid coordinate.

4. The positioning method according to claim 3, characterized in that, The step of adjusting the vehicle's first pose to a second pose based on the k1 second centroid coordinates includes: Based on the k1 first centroid coordinates, k1 second centroid coordinates, and the first algorithm in the k1 second matching pairs, the second pose is obtained; The first algorithm includes the iterative nearest point algorithm.

5. The positioning method according to claim 1, characterized in that, Before matching the k1 second centroid coordinates corresponding to k1 second semantic objects from the first centroid map based on the n first centroid coordinates, the process further includes: The third pose acquired by the vehicle sensors is obtained at the first moment; Based on the n first centroid coordinates, k2 second centroid coordinates corresponding to k2 second semantic objects are matched from the second centroid map, where k2 is a positive integer less than or equal to n; Based on the k2 second centroid coordinates, the vehicle's pose at the first moment is adjusted from the third pose to the first pose.

6. The positioning method according to claim 5, characterized in that, The first centroid map and the second centroid map were obtained in the following manner: Obtain the point cloud semantic map at the first moment; A first centroid map is generated based on the second centroid coordinates of each second semantic object in the point cloud semantic map; The third centroid coordinates are obtained based on the second centroid coordinates, and a second centroid map is generated.

7. The positioning method according to claim 1, characterized in that, k1 is greater than or equal to the number of matches threshold.

8. The positioning method according to claim 1, characterized in that, The first environment image includes the environment image collected by the vehicle at the first moment, and the number of semantic objects in the first environment image is greater than or equal to the semantic quantity threshold.

9. The positioning method according to claim 1, characterized in that, The first environmental image includes environmental images captured by the vehicle at the first time and at times prior to the first time, wherein the number of semantic objects in the environmental image captured by the vehicle at the first time is less than the semantic quantity threshold.

10. An electronic device, characterized in that, It includes a processor and an interface circuit, the interface circuit being used to receive signals from other communication devices and transmit them to the processor, or to send signals from the processor to other communication devices, the processor implementing the positioning method as described in any one of claims 1 to 8 through logic circuits or executing code instructions.

11. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a communication device, implement the positioning method as described in any one of claims 1 to 9.

12. A program product, characterized in that, The program product includes instructions that, when executed, cause the positioning method as described in any one of claims 1 to 9 to be implemented.

13. A vehicle, characterized in that, It includes a processor and a memory, the memory being used to store program instructions, and the processor being used to invoke the program instructions to execute the positioning method according to any one of claims 1-9.