Map data drawing method, device, equipment, medium and program product
By selecting the first point cloud location in the point cloud data space, obtaining the marker parameters, and constructing the bounding box, the problem of cumbersome ground arrow drawing steps in the existing technology is solved, achieving the effect of simplifying operations and improving drawing efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2024-12-31
- Publication Date
- 2026-07-03
AI Technical Summary
The existing technology for drawing ground arrows involves cumbersome steps and has low efficiency.
By receiving the selection operation of the first point cloud position in the point cloud data space, the marker parameters of the ground markers are obtained, a bounding box is constructed, and the distribution range of the ground markers is determined by traversing the range of the bounding box, generating the drawing area, and finally generating the map drawing data of the ground markers.
It simplifies the drawing process, improves map drawing efficiency, accurately defines the drawing range of ground markers, and reduces the need for operators to adjust the drawing area.
Smart Images

Figure CN122336067A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, medium, and program product for drawing map data. Background Technology
[0002] A map editor is software used for map creation. It includes a point cloud data space, which is a three-dimensional space obtained by collecting point cloud data from the physical environment. Operators can edit ground arrow data within the point cloud data space of the map editor; this ground arrow data is used to draw ground arrows on the map.
[0003] In related technologies, operators can select four points on the screen by observing the distribution of point cloud data of ground arrows. The map editor will then map the four screen points selected by the operator onto the ground in the point cloud data space using ray picking to obtain ground arrow data. The ground arrow data can be regarded as the drawing area of the ground arrows. Then, the map editor will draw ground arrows in the drawing area corresponding to the ground arrow data according to the ground arrow type configured by the operator.
[0004] However, the steps for drawing ground arrows in the aforementioned related technologies are rather cumbersome, resulting in low efficiency in ground drawing. Summary of the Invention
[0005] This application provides a method, apparatus, device, medium, and program product for drawing map data. The technical solution is as follows:
[0006] On the one hand, a method for drawing map data is provided, the method comprising:
[0007] The system receives a selection operation for a first point cloud location in a point cloud data space, the point cloud data space including point cloud data of ground markers, the point cloud data of ground markers being point cloud data collected from ground markers in the physical environment, and the first point cloud location being within the marking range of the ground markers.
[0008] Based on the first point cloud location, the marker parameters corresponding to the ground marker are obtained. The marker parameters are used to characterize the attitude and size information of the ground marker in the point cloud data space.
[0009] Construct a bounding box corresponding to the marker parameters, the bounding box being used to enclose the point cloud data of the ground markers;
[0010] Traverse the bounding box's bounding area to determine the distribution range of the ground marker's point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range;
[0011] Map drawing data for the ground markers is generated based on the drawing area, and the map drawing data is used to draw icons for the ground markers on the map.
[0012] On the other hand, a map data plotting apparatus is provided, the apparatus comprising:
[0013] The receiving module is used to receive the selection operation of the first point cloud position in the point cloud data space, the point cloud data space including the point cloud data of ground markers, the point cloud data of ground markers being the point cloud data collected from ground markers in the physical environment, and the first point cloud position being within the marking range of the ground markers.
[0014] The processing module is used to obtain the marker parameters corresponding to the ground marker based on the first point cloud position. The marker parameters are used to characterize the attitude information and size information of the ground marker in the point cloud data space.
[0015] The processing module is used to construct a bounding box corresponding to the marker parameters, and the bounding box is used to enclose the point cloud data of the ground marker;
[0016] The generation module is used to traverse the bounding box's bounding range, determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range;
[0017] The generation module is used to generate map drawing data of the ground markers based on the drawing area, and the map drawing data is used to draw the icons of the ground markers in the map.
[0018] On the other hand, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the map data drawing method described above.
[0019] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction, at least one program, code set, or instruction set is stored therein, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the map data drawing method described above.
[0020] On the other hand, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the map data drawing methods described above.
[0021] The beneficial effects of the technical solutions provided in this application include at least the following:
[0022] On the one hand, compared to the operation steps that require selecting four screen points in related technologies, in this application, the operator only needs to select a specific point cloud location to obtain the map drawing data of the ground markers, which simplifies the drawing operation steps and improves the efficiency of map drawing. On the other hand, by constructing and traversing bounding boxes to generate the drawing area of the ground markers, the bounding boxes can accurately surround the point cloud data of the ground markers, thereby accurately defining the drawing range of the ground markers, reducing the operator's adjustment operations on the drawing area, and further improving the efficiency of map drawing. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a schematic diagram of a computer system provided in an exemplary embodiment of this application;
[0025] Figure 2 This is a schematic diagram of a map data drawing method provided in an exemplary embodiment of this application;
[0026] Figure 3 This is a flowchart of a map data drawing method provided in an exemplary embodiment of this application;
[0027] Figure 4 This is a flowchart of a map data drawing method provided in another exemplary embodiment of this application;
[0028] Figure 5 This is a schematic diagram of arrow dimensions provided in an exemplary embodiment of this application;
[0029] Figure 6 This is a schematic diagram of arrow dimensions provided in another exemplary embodiment of this application;
[0030] Figure 7This is a schematic diagram illustrating the selection range of a selected operation provided in an exemplary embodiment of this application;
[0031] Figure 8 This is a flowchart of a method for drawing map data provided in yet another exemplary embodiment of this application;
[0032] Figure 9 This is a flowchart of a map data drawing method provided in another exemplary embodiment of this application;
[0033] Figure 10 This is a schematic diagram of traversing the bounding box provided in an exemplary embodiment of this application;
[0034] Figure 11 This is a schematic diagram of traversing the bounding box provided in another exemplary embodiment of this application;
[0035] Figure 12 This is a schematic diagram of a fine-tuning interface provided in an exemplary embodiment of this application;
[0036] Figure 13 This is a structural block diagram of a map data drawing apparatus provided in an exemplary embodiment of this application;
[0037] Figure 14 This is a structural block diagram of a computer device provided in an exemplary embodiment of this application. Detailed Implementation
[0038] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0039] In this application, the terms "first" and "second" are used to distinguish between identical or similar items that have essentially the same function. It should be understood that there is no logical or temporal dependency between "first" and "second", nor is there any limitation on the quantity or execution order.
[0040] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of related user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0041] Figure 1 A structural block diagram of a computer system 100 provided in an exemplary embodiment of this application is shown. The computer system 100 can implement a system architecture for a method of drawing map data. The computer system 100 includes a terminal 110 and a server 120.
[0042] In some embodiments, terminal 110 may be a smartphone, tablet computer, laptop computer, desktop computer, smart home appliance, smart vehicle terminal, etc., but is not limited thereto. Terminal 110 has a client application of the target application installed. Indicatively, the target application may be a traditional application, a cloud application, a mini-program or application module within a host application, or a web platform; this embodiment does not limit this. The target application provides map data drawing functionality. Optionally, the target application may include, but is not limited to, map editors (such as high-precision map editors), 3D modeling, architectural design, virtual reality, and augmented reality applications.
[0043] Terminal 110 is connected to server 120 via wireless or wired network.
[0044] In some embodiments, server 120 provides background services for the client of the target application installed on the terminal. It is worth noting that server 120 can be a standalone physical server, a server cluster or distributed system consisting of at least two physical servers, a cloud server providing basic cloud computing services, or a node in a blockchain system.
[0045] For example, server 120 includes processor 124 and memory 122. Memory 122 includes receiving module 1221, control module 1222 and sending module 1223. Receiving module 1221 is used to receive requests sent by terminal 110; control module 1222 is used to control the rendering of the screen; sending module 1223 is used to send responses to terminal 110.
[0046] Optionally, server 120 undertakes the main computing work and terminal 110 undertakes the secondary computing work; or, server 120 undertakes the secondary computing work and terminal 110 undertakes the main computing work; or, server 120 and terminal 110 adopt a distributed computing architecture for collaborative computing.
[0047] The map data drawing method provided in this application embodiment can be executed by a computer device, which refers to an electronic device with data computing, processing, and storage capabilities. Figure 1 Taking the computer system shown as an example, the map data drawing method can be executed by terminal 110 (e.g., the map data drawing method is executed by the client of the target application installed and running in terminal 110), or by server 120, or by interaction and cooperation between terminal 110 and server 120. This application does not limit this.
[0048] A map editor is software used for map creation. It includes a point cloud data space, a three-dimensional space obtained by collecting point cloud data from the physical environment. Operators can edit ground arrow data within this point cloud data space, which is used to draw ground arrows on the map. In related technologies, operators can select four points on the screen by observing the distribution of the point cloud data for the ground arrows. The map editor then maps these four selected points onto the ground in the point cloud data space using ray casting, obtaining the ground arrow data. This ground arrow data can be considered as a selection of the drawing area for the ground arrows. The map editor then draws the ground arrows within the corresponding drawing area based on the ground arrow type configured by the operator. However, the steps for drawing ground arrows in the aforementioned technologies are cumbersome and inefficient.
[0049] Based on this, this application provides a method for drawing map data. The following description uses the method of drawing map data executed by terminal 110 as an example. This is illustrative and can be referred to for reference only. Figure 2The terminal 110 is equipped with a high-precision map editor client 111, which displays a point cloud data space, including the point cloud data of the ground arrow. The terminal receives the operator's selection operation for the first point cloud position in the point cloud data space, and the first point cloud position is within the range of the ground arrow.
[0050] After receiving the selection operation, client 111 first determines the marker parameters based on the selected first point cloud location. The marker parameters are used to characterize the attitude and size information of the ground arrow in the point cloud data space. Based on the attitude and size information represented by the marker parameters, client 111 constructs a bounding box to enclose the point cloud data of the ground arrow. Then, client 111 traverses the bounding box's range to determine the distribution range of the ground arrow's point cloud data on the ground in the point cloud data space, obtaining the drawing area corresponding to the distribution range. The drawing area is also the ground arrow data. Finally, based on the ground arrow data, client 111 generates map drawing data for the ground arrow, which is used to draw the ground arrow icon on the map.
[0051] In summary, the map drawing method provided in this application has several advantages. First, compared to the operation steps in related technologies that require selecting four screen points, in this application, the operator only needs to select a specific point cloud location to obtain the map drawing data of the ground arrows, simplifying the drawing operation steps and improving map drawing efficiency. Second, by constructing and traversing bounding boxes to generate the drawing area of the ground arrows, the bounding boxes can accurately surround the point cloud data of the ground arrows, thereby precisely defining the drawing range of the ground arrows, reducing the operator's adjustment operations on the drawing area, and further improving map drawing efficiency.
[0052] Next, the process of drawing the map data provided in this application will be introduced.
[0053] Based on the above introduction, Figure 3 This is a flowchart illustrating a map data drawing method provided in an embodiment of this application. The method is described using a computer device as an example. The computer device can be... Figure 1 The terminal 110 shown includes steps 310 to 350.
[0054] Step 310: Receive the selection operation for the first point cloud location in the point cloud data space.
[0055] Point cloud data space is a virtual three-dimensional space composed of a large number of discrete three-dimensional coordinate points, which are also known as point cloud data. Each point cloud data has precise three-dimensional coordinate values, which are used to represent the position of the point cloud data in three-dimensional space. Illustratively, the point cloud data space is used to indicate the workspace in a high-precision map editor, which is used to edit high-precision map data; high-precision map data includes traffic signs, lane lines, ground arrows, etc.
[0056] Optionally, point cloud data in the point cloud data space is collected from objects in the physical environment. The point cloud data in the point cloud data space collectively constitutes the basic geometric shape of the objects, and the point cloud data space can be regarded as a digital simulation space of the physical environment. Illustratively, in a high-precision map editor, point cloud data in the point cloud data space refers to point cloud data collected from buildings, vehicles, traffic signs, lane lines, ground arrows, etc., in the physical environment.
[0057] The point cloud data space includes point cloud data of ground markers, which are point cloud data collected from ground markers in the physical environment. Ground markers refer to markers on the ground in the physical environment. Optionally, ground markers include at least one of the following: directional arrows (i.e., ground arrows), roundabout markers, speed markers, warning markers, lane lines, etc., without limitation here.
[0058] Optionally, the method for acquiring point cloud data includes at least one of the following methods:
[0059] (1) Laser scanning method: A laser scanning system installed on aircraft or other aircraft emits laser pulses from the air to the ground. The laser scanning system uses the flight path of the aircraft as a baseline and records the time and angle information of the return of each laser pulse, thereby calculating the three-dimensional coordinates of each point on the ground mark and generating point cloud data of the ground mark.
[0060] (2) Millimeter-wave radar method: Millimeter-wave radar emits electromagnetic waves in the millimeter-wave frequency band. When the electromagnetic waves encounter an object, they are reflected back. The radar calculates parameters such as the distance, speed, and angle of the object based on information such as the time delay and frequency change of the reflected waves. Through at least two antennas and complex signal processing algorithms, the three-dimensional coordinates of each point on the ground marker are determined, and point cloud data of the ground marker is generated.
[0061] Operators can draw map data using point cloud data space. Taking the map data as a ground representation as an example, the operator can select the first point cloud position in the point cloud data space. The first point cloud position is within the marked area of the ground marker.
[0062] To illustrate, taking ground markings as directional arrows as an example, the marking range of the ground markings refers to the range marked by the arrow of the directional arrow. The operator selects the position of a point cloud data within the range marked by the arrow as the first point cloud position.
[0063] Optionally, receiving a selection operation on a first screen position of a computer screen is regarded as a selection operation on a first point cloud position, and a point cloud data space is displayed on the computer screen; the first screen position is mapped to the point cloud data space to obtain the first point cloud position.
[0064] Schematic illustration: A computer screen corresponds to a screen coordinate system, which is a two-dimensional coordinate system (i.e., the xy coordinate system). A point cloud data space corresponds to a point cloud coordinate system, which is a three-dimensional coordinate system (i.e., the xyz coordinate system). Mapping the first screen position to the point cloud data space, that is, converting the screen coordinates of the first screen position in the screen coordinate system to point cloud coordinates in the point cloud coordinate system, is the process of obtaining the first point cloud position by mapping the first screen position to the point cloud data space.
[0065] (1) Convert screen coordinates to normalized device coordinates: Normalized device coordinates refer to coordinates in the normalized device coordinate system. The normalized device coordinate system is a three-dimensional coordinate system with a fixed range, where the x, y, and z axes are all in the range of [-1, 1]. The unit of the screen coordinate system is screen pixels. When converting screen coordinates to normalized device coordinates, the x and y values of the screen coordinates are normalized to obtain the normalized x and y values as the x and y values of the normalized device coordinates. For the z value of the normalized device coordinates, the z value can be a pre-set value in the range of [-1, 1], for example, setting the z value to 1.
[0066] (2) Obtain the projection matrix corresponding to the point cloud data space: The projection matrix is used to project the point cloud data from the point cloud data space onto a screen plane.
[0067] (3) Obtain point cloud coordinates through inverse projection matrix transformation: Solve for the inverse of the projection matrix to obtain the inverse projection matrix. For the normalized device coordinates obtained from the previous transformation, perform coordinate transformation on the normalized device coordinates through the inverse projection matrix to obtain the point cloud coordinates.
[0068] In some embodiments, the first point cloud location refers to the location of a point cloud data marked on the ground. Optionally, after obtaining the first screen location, the first screen location is mapped to the point cloud data space to obtain candidate point cloud locations; candidate point cloud data within a preset range of the candidate point cloud locations are obtained, the preset range being within the marked range of the ground; point cloud features of the candidate point cloud data are extracted; the location of the candidate point cloud data whose point cloud features meet the target feature requirements is taken as the first point cloud location, the target feature requirements referring to the point cloud feature requirements corresponding to the ground-marked point cloud data, and the candidate point cloud data that meets the target feature requirements belongs to the ground-marked point cloud data.
[0069] The process of mapping the first screen position to the point cloud data space to obtain the candidate point cloud position can be referred to the explanation above on mapping the first screen position to the point cloud data space to obtain the first point cloud position, and will not be repeated here. To improve the accuracy of the subsequently obtained marking parameters, the first point cloud position can be defined as the position of a certain point cloud data of the ground marker. Then, after mapping the first screen position to the point cloud data space, the mapped position is designated as the candidate point cloud position. A preset range is constructed with the candidate point cloud position as the center and a preset distance as the radius. Point cloud data within the preset range in the point cloud data space are acquired as candidate point cloud data. Feature extraction is performed on each candidate point cloud data to obtain its point cloud features. These features include the distance of the candidate point cloud data from the ground and the reflection intensity of the candidate point cloud data. After obtaining the point cloud features of the candidate point cloud data, it is determined whether the point cloud features meet the target feature requirements corresponding to the ground marker point cloud data. For example, it is determined whether the distance of the candidate point cloud data from the ground is less than a preset distance (the preset distance refers to the pre-defined distance between the ground marker point cloud data and the ground); and whether the reflection intensity of the candidate point cloud data is within a preset intensity range (the preset intensity range refers to the pre-defined range of reflection intensity of the ground marker point cloud data). If it is determined that the distance between the candidate point cloud data and the ground is less than a preset distance and the reflection intensity of the candidate point cloud data is within a preset intensity range, then the position of the candidate point cloud data is also the first point cloud position.
[0070] In the above embodiments, the candidate point cloud data determined based on the first point cloud position is filtered by the target feature requirements, which eliminates the interference of point cloud data that does not belong to the ground marker to the greatest extent. This ensures that the finally determined first point cloud position can accurately represent the accurate position of the ground marker in the point cloud data space, thereby helping to improve the accuracy of the marker parameters obtained subsequently based on this position.
[0071] Step 320: Obtain the marker parameters corresponding to the ground marker based on the location of the first point cloud.
[0072] The marker parameters are used to characterize the attitude and size information of the ground marker in the point cloud data space. The attitude information describes the attitude of the ground marker relative to the point cloud coordinate system of the point cloud data space, and the size information includes, but is not limited to, the width, length, and thickness (height) of the ground marker.
[0073] In some embodiments, a distribution feature representation of the point cloud data of ground markers within a first spherical range is extracted in the point cloud data space. The first spherical range is a spherical range with the first point cloud position as the center and a preset first distance as the radius. The first distance is greater than or equal to a first required threshold corresponding to the ground marker. The distribution feature representation is used to characterize the distribution of the point cloud data of ground markers within the first spherical range. The marker parameters corresponding to the ground markers are obtained based on the distribution feature representation.
[0074] This is illustrative, illustrating a first distance threshold corresponding to a ground marker. Different types of ground markers have different first distance thresholds, and these thresholds are related to the size of the ground marker. Optionally, the first distance threshold is the maximum size value corresponding to the ground marker. Assuming the size information of the ground marker includes length, width, and thickness, then the maximum size value of the ground marker is the maximum value among length, width, and thickness. The first distance can be set to the maximum size value of the ground marker or slightly larger than the maximum size value.
[0075] In the above scheme, by extracting point cloud data of ground markers within a spherical range with the first point cloud location as the center and a preset first distance (which is related to the features of the ground markers and is greater than or equal to its corresponding first requirement threshold) as the radius, it is possible to accurately focus on the data range related to the ground markers, avoid interference from irrelevant point cloud data, and thus improve the accuracy of the final determined map drawing data.
[0076] Optionally, to ensure that the point cloud within the first spherical area belongs to the point cloud data marked by the ground, the point cloud data within the first spherical area can be filtered using the reflection intensity characteristics of the ground markers to obtain a point cloud set containing only the point cloud data marked by the ground. Optionally, step 320 can also be implemented as follows:
[0077] Step 1: Construct a first spherical range with the first point cloud position as the center and the preset first distance as the radius.
[0078] Indicatively, the first point cloud location is within the marked area of the ground marker. The first point cloud location is the center of the sphere, and the radius of the first spherical range is the maximum size value of the ground marker. Thus, the first spherical range can completely cover the point cloud data of the ground marker in the point cloud data space.
[0079] Step 2: Obtain the reflectance data of the point cloud data within the first spherical area.
[0080] Reflectivity data is used to characterize the reflection intensity of point cloud data. Illustratively, the reflectivity data of point cloud data refers to a quantitative representation of the intensity of the light signal reflected back after a beam of light emitted by a lidar or other active sensor illuminates the surface of an object. Reflectivity data reflects the reflection characteristics of an object's surface to laser (or other probe light). In this application, each point cloud data set includes reflectivity data in addition to coordinate information. Reflectivity data helps distinguish objects of different materials, serving as an auxiliary feature for object identification and classification. Optionally, the material of ground markers in the currently acquired physical environment is obtained, and the reflectivity range of the ground markers is determined based on the material of the ground markers as a preset reflectivity range.
[0081] Step 3: Obtain point cloud data within the preset reflectivity range in the first spherical area of the point cloud data space to obtain the target point cloud set.
[0082] The preset reflectivity range is the reflectivity range corresponding to the pre-defined ground markers. The point cloud data contained in the target point cloud set is located within the first spherical region of the point cloud data space, and the reflectivity data is within the preset reflectivity range.
[0083] The point cloud data within the first spherical range is filtered by using a preset reflectivity range corresponding to the ground markers, thereby ensuring that the obtained target point cloud set contains only the point cloud data of the ground markers.
[0084] Step 4: Extract the distribution feature representation of the point cloud data in the target point cloud set, and obtain the marker parameters corresponding to the ground markers based on the distribution feature representation.
[0085] In a schematic manner, after obtaining the target point cloud set, the distribution characteristics of the point cloud data in the target point cloud set are analyzed to obtain a distribution characteristic representation. This distribution characteristic representation is used to characterize the distribution of the point cloud data of the ground markers. Then, the distribution characteristic representation is used to obtain the marker parameters corresponding to the ground markers, such as the attitude information and size information of the ground markers in the point cloud data space.
[0086] Optionally, the method for obtaining labeling parameters by performing distribution feature analysis on the point cloud data in the target point cloud set includes at least one of the following methods:
[0087] Method 1: Determine the labeling parameters based on plane fitting.
[0088] Optionally, the plane where the ground marker is located is fitted based on the point cloud data in the target point cloud set to obtain the plane feature representation as the distribution feature representation, and the marker parameters are determined based on the plane feature representation.
[0089] In some embodiments, a covariance matrix is constructed for the point cloud data in the target point cloud set, and the eigenvalues and eigenvectors corresponding to the covariance matrix are determined as planar feature representations; based on the eigenvalues and eigenvectors corresponding to the covariance matrix, labeling parameters are determined.
[0090] Intuitively, a covariance matrix is constructed from the point cloud coordinate data of the target point cloud set. Then, the eigenvalues and eigenvectors of the covariance matrix are solved. These eigenvalues and eigenvectors can be used to characterize the planar features of the plane in which the ground marker is located. The marker parameters can be determined using the eigenvalues and eigenvectors. This explanation is based on an example where the marker parameters include the attitude and size information of the ground marker.
[0091] Regarding the pose information of ground markers: the vector directions of the eigenvectors represent the main directions of the point cloud data distribution, and the eigenvalues represent the variance in the corresponding directions. For point cloud data of ground markers in 3D space, solving the covariance matrix yields three eigenvectors. The vector directions of these three eigenvectors represent the main extension directions of the point cloud data in 3D space. For ground markers, the vector directions of the three eigenvectors correspond to the length, width, and height directions of the ground markers. By comparing the magnitudes of the eigenvalues of the three eigenvectors, we can determine the changes in the ground markers in different directions. For example, the vector directions of the eigenvectors corresponding to the eigenvalues from largest to smallest correspond to the length, width, and height directions of the ground markers (for regular shapes). The length and width directions of the ground markers constitute the plane on which the ground markers lie, i.e., the ground. The height direction of the ground markers can be used to represent the normal direction of the ground on which the ground markers lie. Therefore, the vector directions of the three eigenvectors can be used to represent the pose of the ground markers relative to the point cloud coordinate system corresponding to the point cloud data space (which can be understood as the placement of the ground markers in the point cloud data space), i.e., the pose information of the ground markers.
[0092] Regarding the size information of ground markers: The distribution difference of the point cloud data of ground markers distributed along the vector direction of the feature vector can be determined, and the size information of the ground markers can be determined based on this distribution difference. For example, when the vector direction of the feature vector represents the length direction of the ground marker, assuming the vector direction of the feature vector is the coordinate axis, the point cloud coordinates of all ground markers distributed along the vector direction of the feature vector (including the positive and negative directions of the feature vector) are obtained. The maximum and minimum coordinate values are then obtained, and the difference between the maximum and minimum coordinate values is the distribution difference. This distribution difference can be considered as the length of the ground marker, i.e., the size information of the ground marker.
[0093] Method 2: Determine labeling parameters based on feature points.
[0094] Optionally, the distribution feature representation corresponding to the point cloud data in the target point cloud set is extracted, and key point cloud data is determined as feature points based on the distribution feature representation. The key point cloud data includes corner points, edge midpoints, etc. marked on the ground; and the marking parameters are determined based on the key point cloud data.
[0095] In a schematic representation, after acquiring keypoint cloud data, the attitude information of the ground markers is determined based on the preset geometry corresponding to the ground markers. Taking a rectangular marker as an example, connecting the keypoint cloud data corresponding to the midpoints of two sets of opposite sides forms two straight lines. The vectors (which can be called planar vectors) corresponding to these two lines can be used to represent the plane in which the ground marker is located. The perpendicular vector to this plane is also called the normal vector, which can be used to represent the attitude of the ground marker relative to the spatial coordinate system of the point cloud data. In addition, by calculating the distance between the two corner points on the diagonal, the diagonal length of the rectangular marker can be obtained. Combining the obtained planar vector and normal vector, the length and width of the rectangle can be calculated using trigonometric functions. The length and width of the rectangle are used as the size information of the ground marker.
[0096] Feature points are determined by extracting the distribution characteristics of the target point cloud set, focusing on key point cloud data such as corner points and edge midpoints of ground markers. This method can accurately extract the most valuable information for determining the marker parameters from massive point cloud data. It avoids indiscriminate processing of all point cloud data and reduces unnecessary data computation.
[0097] Step 330: Construct the bounding box corresponding to the label parameters.
[0098] Bounding boxes are used to enclose point cloud data for ground markings.
[0099] Indicatively, after obtaining the marker parameters, a bounding box that can surround the ground marker can be determined based on the attitude and size information of the ground marker indicated by the marker parameters.
[0100] In some embodiments, multiple preset bounding box sizes corresponding to ground markers are obtained; a preset bounding box size that matches the size information of the ground markers is determined from the multiple preset bounding box sizes; and a bounding box corresponding to the preset bounding box size that matches the size information of the ground markers is constructed in the point cloud data space according to the position of the first point cloud and the attitude information of the ground markers.
[0101] In illustration, different ground markings correspond to bounding boxes of different sizes. Multiple bounding boxes of different sizes are pre-set to distinguish different ground markings. For example, a left-turn arrow corresponds to bounding box size 1, so the bounding box of bounding box size 1 corresponds to the left-turn arrow. A bounding box is a rectangular space that can accommodate a ground marking.
[0102] After obtaining multiple preset bounding box dimensions, the preset bounding box dimension that matches the ground marker's dimension information is determined. For example, if the ground marker's dimension information is a width of 5, and preset bounding box dimension 1 has a width of 11 and a width of 22, then preset bounding box dimension 1 is determined to match the ground marker's dimension information. In the point cloud data space, with the first point cloud location as the bounding box center, a bounding box is constructed based on the ground marker's pose information and the preset bounding box dimension that matches the ground marker's dimension information. The plane containing the bounding box is parallel to the plane indicated by the ground marker's pose information (i.e., the ground).
[0103] Step 340: Traverse the bounding box range, determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range.
[0104] In some embodiments, a first bounding region is determined by traversing the bounding box with a preset bounding box. The first bounding region is used to indicate the region containing point cloud data with ground markings. The distribution range of the point cloud data with ground markings on the ground in the point cloud data space is determined according to the first bounding region, and a drawing region corresponding to the distribution range is generated.
[0105] The preset bounding box has a preset size and shape. Illustratively, the preset bounding box is a square with fixed sides. Starting from a certain position in the bounding box (e.g., the top left corner), it sequentially covers the entire bounding box's area according to preset movement rules (e.g., row-by-row, column-by-column translation). During the movement, it is determined whether the bounding box contains point cloud data of ground markers. If it does, the bounding area corresponding to that bounding box is recorded as the first bounding region; otherwise, it is recorded as the second bounding region.
[0106] After the traversal is completed, a minimum regular shape range (e.g., a rectangular range) that can cover all the first enclosed regions is determined. This regular shape range is also the distribution range of the ground cloud data of the ground markers on the ground in the point cloud data space. The ground area corresponding to this regular shape range is used as the drawing area.
[0107] In the above scheme, the first bounding area is determined by traversing the bounding box using a preset traversal box. This can more accurately filter out the area containing the point cloud data with ground markers from the overall bounding area, thereby improving the accuracy of the determined drawing area.
[0108] Step 350: Generate map drawing data with ground markings based on the drawing area.
[0109] Optionally, map drawing data with ground markings can be generated based on the global coordinate information of the drawing area.
[0110] This example illustrates how the global coordinates of the drawing area are used as map drawing data for ground markers. After determining the drawing area, the global coordinates of the drawing area are obtained. Global coordinates refer to the coordinates of the drawing area in the point cloud coordinate system corresponding to the point cloud data space (where the point cloud coordinate system can also be called the global coordinate system, and the coordinates in the point cloud coordinate system are called global coordinates). For example, the global coordinates of the boundary points of the drawing area are used as map drawing data for ground markers.
[0111] Map drawing data is used to draw icons for ground markers on the map. For example, once the map drawing data is determined, i.e., the area for drawing ground markers is identified, the icons for those ground markers can be drawn within that area.
[0112] In some embodiments, drawing areas of different sizes indicate different types of ground markers, and the icon type of the ground markers can be automatically determined based on the area size of the drawing area.
[0113] Optionally, based on the area size range corresponding to the area size of the drawing area, an identifier type matching the drawing area is determined from at least two preset identifier types, wherein different identifier types correspond to different area size ranges.
[0114] For illustration purposes, at least two identifier types are pre-defined, and each identifier type corresponds to a different range of area size. For example, the width range corresponding to identifier type 1 is 10 to 20, and the width range corresponding to identifier type 2 is 21 to 30. If the width of the drawing area is 15, then identifier type 1 is determined to match the drawing area.
[0115] The identifier type determines the icon type of the ground markers drawn on the map. Illustratively, after determining the drawing area, an identifier type is configured for that area, using both the global coordinates and the identifier type as map drawing data. When creating the map, icons corresponding to the identifier type can be drawn within the drawing area on the map.
[0116] In the above embodiments, the icon type of the ground markers is automatically determined according to the size of the drawing area, avoiding the process of operators manually configuring the icon type of the ground markers and improving the overall efficiency of map drawing.
[0117] Optionally, the map in this application can be implemented as a two-dimensional map or a three-dimensional map; no limitation is made here.
[0118] In summary, the map drawing method provided in this application has several advantages. First, compared to the operation steps in related technologies that require selecting four screen points, in this application, the operator only needs to select a specific point cloud location to obtain the map drawing data of the ground markers, simplifying the drawing operation steps and improving map drawing efficiency. Second, by constructing and traversing bounding boxes to generate the drawing area of the ground markers, the bounding boxes can accurately surround the point cloud data of the ground markers, thereby precisely defining the drawing range of the ground markers, reducing the operator's adjustment operations on the drawing area, and further improving map drawing efficiency.
[0119] The following explanation uses ground markings, including directional arrows, as an example.
[0120] This is illustrative; please refer to it. Figure 4 The above Figure 3 The illustrated embodiment can also be implemented as follows: steps 410 to 450.
[0121] Step 410: Receive the selection operation for the first point cloud location in the point cloud data space.
[0122] The first point cloud is located within the area marked by the directional arrow.
[0123] The point cloud data space includes point cloud data of directional arrows, which are point cloud data collected from directional arrows in the physical environment. Directional arrows refer to arrow markings on the road surface in the physical environment, also known as ground arrows.
[0124] Regarding directional arrows, it should be noted that there are many types, including straight arrows, left-turn arrows, right-turn arrows, straight + left-turn arrows, straight + right-turn arrows, left-slanting forward arrows, right-slanting forward arrows, left-turn arrows, left-turn + left-turn arrows, and straight + left-turn arrows. Statistics show that in actual use, straight arrows, left-turn arrows, right-turn arrows, straight + left-turn arrows, and straight + right-turn arrows account for 91.32% of all arrows. Therefore, this application mainly uses the drawing methods of these five types of arrows as examples for explanation.
[0125] Optionally, in this application, the five types of arrows described above have the following four size specifications:
[0126] Specification 1: Length 300cm, Arrow width 15cm
[0127] For Specification 1, the overall widths of the five types of arrows—straight arrow, left-turn arrow, right-turn arrow, straight + left-turn arrow, and straight + right-turn arrow—are 45cm, 75cm, 75cm, 150cm, and 150cm, respectively.
[0128] Specification 2: Length 450cm, Arrow width 23cm
[0129] For Specification 2, the overall widths of the five types of arrows—straight arrow, left-turn arrow, right-turn arrow, straight + left-turn arrow, and straight + right-turn arrow—are 69cm, 113cm, 113cm, 226cm, and 226cm, respectively.
[0130] Specification 3: Length 600cm, Arrow width 30cm
[0131] For Specification 3, the overall widths of the five types of arrows—straight arrow, left-turn arrow, right-turn arrow, straight + left-turn arrow, and straight + right-turn arrow—are 90cm, 150cm, 150cm, 180cm, and 180cm, respectively.
[0132] Specification 4: Length 900cm, Arrow width 45cm
[0133] For specification four, the overall widths of the five types of arrows—straight arrow, left-turn arrow, right-turn arrow, straight + left-turn arrow, and straight + right-turn arrow—are 135cm, 225cm, 225cm, 270cm, and 270cm, respectively.
[0134] Indicative, the dimensions of the directional arrows corresponding to specification one are as follows: Figure 5 As shown, 501 is a straight arrow, 502 is a straight arrow plus a left turn arrow, 503 is a straight arrow plus a right turn arrow, 504 is a left turn arrow, and 505 is a right turn arrow. Figure 5 The units for the numerical dimensions shown are cm (centimeter).
[0135] Indicative, the dimensions of the directional arrows corresponding to specification three are as follows: Figure 6 As shown, 601 is a straight arrow, 602 is a straight arrow plus a left turn arrow, 603 is a straight arrow plus a right turn arrow, 604 is a left turn arrow, and 605 is a right turn arrow. Figure 6 The units for the numerical dimensions shown are cm (centimeter).
[0136] In some embodiments, the first point cloud location is within the range of the directional arrowhead. Optionally, a selection operation is received in the point cloud data space for the first point cloud location within the range of the directional arrowhead.
[0137] The directional arrow consists of the arrowhead and the shaft; the shaft area is the region where the arrowhead is located. (For illustrative purposes, please refer to the provided text.) Figure 7 In the directional arrow, the area within the black frame 701 is also the range of the arrow's body.
[0138] Step 421: Extract the distribution feature representation of the point cloud data of the directional guide arrows within the first spherical range in the point cloud data space.
[0139] The first spherical range is a spherical range with the first point cloud position as the center and a preset first distance as the radius. The first distance is greater than or equal to the first requirement threshold corresponding to the directional arrow. The distribution feature represents the distribution of the point cloud data of the directional arrow within the first spherical range.
[0140] In some embodiments, to ensure that the point cloud data within the first spherical area belongs to the point cloud data corresponding to the directional arrow, the following method may be performed:
[0141] Step 1: Obtain the reflectance data of the point cloud data within the second spherical area.
[0142] The second spherical range is a spherical range with the first point cloud position as the center and a preset second distance as the radius. The second distance is greater than or equal to the second requirement threshold corresponding to the ground marker. The following explanation mainly uses the implementation of the ground marker as a directional arrow as an example.
[0143] Schematic illustration: A second spherical range is constructed with the first point cloud location as the center and a preset second distance as the radius. Regarding the second required threshold, this threshold indicates that the second spherical range can cover all point cloud data corresponding to the directional arrow. Schematic illustration: Referring to the description of the directional arrow size in step 410, the maximum length of the directional arrow is 9 meters. Therefore, the second distance can be set to 9 meters or slightly greater than 9 meters, ensuring that the second spherical range can cover all point cloud data corresponding to the directional arrow within the point cloud data space, provided the center of the sphere is located within the arrow's body.
[0144] The reflectivity data is used to characterize the reflection intensity of the point cloud data. In this application, different directional arrows have different reflectivities. For example, the reflectivity of arrows on ordinary painted ground is in the range of 0.05-0.3, the reflectivity of arrows on reflective painted ground is in the range of 0.6-0.7, and the reflectivity of arrows on reflective tape ground is between 0.4-0.8.
[0145] Optionally, the material of the directional arrow in the currently collected physical environment is obtained, and the reflectivity range of the directional arrow is determined based on the material of the directional arrow as a preset reflectivity range.
[0146] Step 2: Remove point cloud data whose reflectance data is outside the preset reflectance range within the second spherical range from the point cloud data space to obtain the second point cloud set.
[0147] Indicatively, the point cloud data space contains point cloud data in addition to the point cloud data of the directional arrows. Point cloud data within the second spherical range can be removed according to the preset reflectivity range of the directional arrows, thus obtaining a second point cloud set. The second point cloud set includes the point cloud data within the second spherical range after the removal process. That is, the second point cloud set only contains the point cloud data of the directional arrows. Since the second point cloud set removes other irrelevant point cloud data and only retains the point cloud data corresponding to the directional arrows, the accuracy of subsequent distribution feature analysis is ensured, and the accuracy of the obtained labeling parameters is improved.
[0148] Step 3: Determine the point cloud data that is within the first spherical area and belongs to the second point cloud set as the third point cloud set.
[0149] The first spherical range is a spherical range with the first point cloud position as the center and a preset first distance as the radius. The first distance is greater than or equal to the first required threshold corresponding to the ground marker. The second distance is greater than or equal to the first distance.
[0150] When the second distance equals the first distance, the first spherical range equals the second spherical range. The second point cloud obtained in step 2 is directly used as the third point cloud.
[0151] If the second distance is greater than the first distance, a first spherical range is constructed with the first point cloud location as the center and the preset first distance as the radius. The data in the second point cloud set is further filtered using this first spherical range to obtain a third point cloud set. Regarding the first required threshold, this threshold indicates that the first spherical range can cover all point cloud data corresponding to the arrow's body range. For illustration, referring to the description of the directional arrow's size in step 410, the arrow's width is 0.45 meters. Since the center of the sphere is within the arrow's body range, the first distance can be set to 0.225 meters or slightly greater, thus ensuring that the first spherical range can cover all point cloud data corresponding to the arrow's body range.
[0152] The third point cloud is used to indicate the point cloud data of the ground markers within the first spherical area; that is, the third point cloud is used to indicate the point cloud data of the directional arrows within the first spherical area.
[0153] Step 4: Extract the distribution feature representation of the point cloud data in the third point cloud set.
[0154] The distribution characteristics represent the distribution of point cloud data used to characterize the directional guide arrows within the first spherical region.
[0155] In some embodiments, the distribution feature representation refers to the covariance matrix. Illustratively, the mean vectors of the third point set in the x, y, and z directions are calculated; the elements of the covariance matrix corresponding to the third point set are determined based on the mean vectors; and the covariance matrix is constructed as the distribution feature representation based on the covariance matrix elements.
[0156] Step 422: Determine the normal feature vector, arrow feature vector, and arrow body feature vector based on the distribution feature representation; determine the distribution difference of the point cloud data of the ground markers located in the vector direction of the arrow body feature vector.
[0157] Among them, the normal feature vector is used to characterize the normal direction of the ground where the directional arrow is located, the arrow feature vector is used to characterize the arrowhead orientation of the directional arrow, and the arrow shaft feature vector is used to characterize the width direction of the arrow shaft. The normal feature vector, arrow shaft feature vector, arrowhead feature vector, and distribution difference are used as labeling parameters.
[0158] To illustrate, after calculating the covariance matrix as a representation of the distribution characteristics, the eigenvalues and eigenvectors corresponding to the covariance matrix are calculated. In three-dimensional space, the covariance matrix has three eigenvectors: the eigenvector with the smallest eigenvalue is the normal eigenvector, the eigenvector with the largest eigenvalue is the arrow eigenvector, and the eigenvector with the middle eigenvalue is the arrow body eigenvector.
[0159] The distribution difference is used to indicate the width of the arrow shaft of the directional guide arrow.
[0160] Indicatively, using the vector direction of the arrow body feature vector as the coordinate axis, the point cloud coordinates of all directional guide arrows distributed along the vector direction of the arrow body feature vector (including the positive and negative directions of the arrow body feature vector) are obtained. The maximum and minimum coordinate values are obtained, and the difference between the maximum and minimum coordinate values is the distribution difference, which can be regarded as the width of the directional guide arrow.
[0161] Step 431: Construct a marker coordinate system with the first point cloud position as the origin, the first vector direction of the normal feature vector as the first axis, the second vector direction of the arrow feature vector as the second axis, and the third vector direction of the arrow body feature vector as the third axis.
[0162] Schematic diagram: Using the first point cloud position as the origin, the first vector direction of the normal feature vector is the z-axis (perpendicular to the ground in the point cloud data space), the second vector direction of the arrow feature vector is the y-axis (indicating orientation), and the third vector direction of the arrow body feature vector is the x-axis (indicating width), thus constructing a marker coordinate system. The marker coordinate system is relative to the point cloud coordinate system in the point cloud data space. If the point cloud coordinate system is considered the global coordinate system, then the marker coordinate system is a local coordinate system, and the coordinates in the marker coordinate system can be called local coordinates.
[0163] By constructing a marker coordinate system, a clear and standardized reference frame can be provided for the directional arrows in the point cloud data space. This allows the spatial information such as the position and orientation of the directional arrows to be clearly and accurately described and located, facilitating subsequent data processing related to the arrows within a unified coordinate framework and avoiding spatial information chaos caused by the lack of a standard coordinate system.
[0164] Step 432: Determine the arrow body width range based on the distribution difference, and determine the enclosing box size corresponding to the distribution difference from at least two preset enclosing box sizes.
[0165] For example, regarding directional arrows, the preset at least two bounding box dimensions corresponding to the directional arrows can be set according to the four size specifications introduced in step 410. Taking a rectangular bounding box as an example, the preset at least two bounding box dimensions include the following dimensions:
[0166] The dimensions a of the enclosure box set according to specification one are: 240cm (width), 600cm (length), and 54cm (height);
[0167] The dimensions b of the enclosure box corresponding to specification two are: 400cm (width), 900cm (length), and 80cm (height);
[0168] The dimensions c of the enclosure box corresponding to specification three are: 300cm (width), 1200cm (length), and 100cm (height).
[0169] The dimensions d of the enclosure set for specification four are: 450cm (width), 1800cm (length), and 160cm (height).
[0170] Different encasing box sizes correspond to different arrow width ranges. For illustration, encasing box size a corresponds to arrow width range 1 (10cm, 18cm), encasing box size b corresponds to arrow width range 2 (18cm, 26cm), encasing box size c corresponds to arrow width range 3 (26cm, 37cm), and encasing box size a corresponds to arrow width range 4 (37cm, 50cm).
[0171] If the arrow width indicated by the distribution difference is within the arrow width range 1, then select bounding box size a; if the arrow width indicated by the distribution difference is within the arrow width range 2, then select bounding box size b; if the arrow width indicated by the distribution difference is within the arrow width range 3, then select bounding box size c; if the arrow width indicated by the distribution difference is within the arrow width range 4, then select bounding box size d.
[0172] It should be noted that the above-mentioned bounding box can also be implemented as a bounding box of other shapes, such as a spherical bounding box, etc., which are not limited here.
[0173] Step 433: Using the origin of the coordinate system as the center of the bounding box, construct the bounding box corresponding to the direction guide arrow in the marked coordinate system according to the bounding box size corresponding to the distribution difference.
[0174] Indicatively, in the marked coordinate system, the origin is used as the center of the bounding box, the first axis is the direction of building the height of the bounding box, the second axis is the direction of building the length of the bounding box, and the third axis is the direction of building the width of the bounding box. The bounding box is constructed in the marked coordinate system according to the bounding box size corresponding to the distribution difference.
[0175] In the above embodiments, the arrow shaft width range is determined based on the arrow shaft width, and a corresponding size is selected from at least two preset bounding box sizes to construct the bounding box. This fully considers the different width forms that directional arrows may have in actual situations. Arrows in different scenarios often have different shaft widths due to factors such as manufacturing standards and intended use. This adaptive approach allows the constructed bounding box to better fit the actual size of the specific arrow, thereby more accurately defining the directional arrow.
[0176] Step 440: Traverse the bounding box's bounding area, determine the distribution range of the point cloud data of the directional guide arrow on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range.
[0177] In some embodiments, a first bounding region is determined by traversing the bounding box with a preset bounding box. The first bounding region is used to indicate the area containing point cloud data with directional arrows. The distribution range of the point cloud data with directional arrows on the ground in the point cloud data space is determined according to the first bounding region, and a drawing area corresponding to the distribution range is generated.
[0178] After the traversal is completed, a minimum regular shape range (e.g., a rectangular range) that can cover all the first enclosed areas is determined. This regular shape range is also the distribution range of the point cloud data of the directional arrow on the ground in the point cloud data space. The ground area corresponding to this regular shape range is used as the drawing area.
[0179] In some embodiments, after obtaining the point cloud data in the directional guide arrows within the first spherical range, since the directional guide arrows are ground-based markers, the point cloud data in the directional guide arrows within the first spherical range can be filtered based on the distance between the point cloud data and the ground.
[0180] Optionally, the distance between the point cloud data of the directional guide arrows within the first spherical range and the distance between the first point cloud position and the direction of the first vector, where the first vector direction is the direction of the normal feature vector, is obtained. Point cloud data of directional guide arrows whose distance is greater than a preset distance are removed from the first spherical range to obtain a first point cloud set. The first point cloud set includes the point cloud data of the directional guide arrows within the first spherical range after the removal process. The bounding box is traversed to determine the distribution range of the first point cloud set on the ground in the point cloud data space. The preset distance can be set to a small value, such as 5cm.
[0181] In the above embodiments, point cloud data is filtered based on the distance between it and the ground to further remove abnormal point cloud data that are within the first spherical range but deviate from the actual directional arrows marked on the ground in the height direction. For example, some point clouds may be incorrectly identified as directional arrows due to measurement errors, environmental interference, or other factors. Their distance from the ground does not conform to the normal height range of arrows. After filtering, the data retained in the first point cloud set more accurately reflects the actual directional arrow situation on the ground.
[0182] Step 450: Generate map drawing data with directional arrows based on the drawing area.
[0183] Mapping data is used to draw directional arrow icons on a map.
[0184] Optionally, map drawing data with ground markings can be generated based on the global coordinate information of the drawing area.
[0185] To illustrate, the drawing area is obtained by traversing the bounding box. Since the bounding box is constructed based on the marker coordinate system, the coordinate information of the drawing area is local coordinate information, that is, the coordinates of the drawing area in the marker coordinate system. Therefore, it is necessary to convert the local coordinate information of the drawing area into the global coordinate information of the drawing area. The global coordinate information refers to the coordinates of the drawing area in the point cloud coordinate system corresponding to the point cloud data space (where the point cloud coordinate system can also be called the global coordinate system, and the coordinates in the point cloud coordinate system are called global coordinates).
[0186] Map drawing data is used to draw icons for ground markers on the map. For example, once the map drawing data is determined, i.e., the area for drawing ground markers is identified, the icons for those ground markers can be drawn within that area.
[0187] In summary, the map data drawing method provided in this application can be applied to drawing directional arrows. When determining the marking parameters of the directional arrow, the corresponding vector is used to represent its attitude information in different dimensions, and the arrow body width is determined based on the distribution difference of the point cloud data. Thus, the bounding box constructed based on the marking parameters can achieve a high degree of spatial fit with the directional arrow, accurately defining the specific range of the directional arrow in the point cloud data space, and improving the drawing accuracy of the directional arrow.
[0188] This is illustrative; please refer to it. Figure 8 The above Figure 4 Step 450 can also be implemented as steps 801 to 803.
[0189] Step 801: Based on the area size range corresponding to the area size of the drawing area, determine the identifier type that matches the drawing area from at least two preset identifier types.
[0190] Different identifier types correspond to different area size ranges, and the identifier type is used to determine the icon type of the directional arrows drawn on the map.
[0191] Indicatively, at least two different sign types are pre-set, and each sign type corresponds to a different area size range. For example: Specification 1 includes a directional arrow of type a with a length of 300cm, and the corresponding area size range is [300cm, 450cm); Specification 2 includes a directional arrow of type b with a length of 450cm, and the corresponding area size range is [450cm, 600cm); Specification 3 includes a directional arrow of type c with a length of 600cm, and the corresponding area size range is [600cm, 900cm); Specification 4 includes a directional arrow of type d with a length of 900cm, and the corresponding area size range is greater than or equal to 900cm.
[0192] When the length of the drawing area (i.e., the length along the second axis) is in the range [300cm, 450cm), the identifier type matching the drawing area is directional arrow type a; when the length of the drawing area is in the range [450cm, 600cm), the identifier type matching the drawing area is directional arrow type b; when the length of the drawing area is in the range [600cm, 900cm), the identifier type matching the drawing area is directional arrow type c; when the length of the drawing area is greater than or equal to 900cm, the identifier type matching the drawing area is directional arrow type d.
[0193] Furthermore, taking directional arrow type a as an example, directional arrow type a includes straight arrows, left-turn arrows, right-turn arrows, straight + left-turn arrows, and straight + right-turn arrows. Among them: the area size range corresponding to the straight arrow is the overall width range of the arrow (45cm, 75cm); the area size range corresponding to the left-turn arrow or right-turn arrow is the overall width range of the arrow (75cm, 150cm); and the area size range corresponding to the straight + left-turn arrow or straight + right-turn arrow is the overall width of the arrow greater than or equal to 150cm.
[0194] When the width of the drawing area (i.e., the width along the third axis) is in the range [45cm, 75cm), the matching identifier type is a straight arrow; when the width of the drawing area is in the range [75cm, 150cm), the matching identifier type is a left-turn arrow or a right-turn arrow; when the width of the drawing area is greater than or equal to 150cm, the matching identifier type is a straight + left-turn arrow or a straight + right-turn arrow.
[0195] To further distinguish between left-turn arrows and right-turn arrows, as well as straight-ahead + left-turn arrows and straight-ahead + right-turn arrows, the local coordinates of the center point of the drawing area in the marker coordinate system can be obtained. If the x-value of the local coordinate (i.e., the value along the third axis) is positive, then when the width of the drawing area is in the range [75cm, 150cm), the matching identifier type is a right-turn arrow; when the width of the drawing area is in the range [75cm, 150cm), the matching identifier type is a straight-ahead + right-turn arrow. If the x-value of the local coordinate (i.e., the value along the third axis) is negative, then when the width of the drawing area is in the range [75cm, 150cm), the matching identifier type is a left-turn arrow; when the width of the drawing area is in the range [75cm, 150cm), the matching identifier type is a straight-ahead + left-turn arrow.
[0196] The identifier type determines the icon type of the ground markers drawn on the map. Illustratively, after determining the drawing area, an identifier type is configured for that area, using both the global coordinates and the identifier type as map drawing data. When creating the map, icons corresponding to the identifier type can be drawn within the drawing area on the map.
[0197] Step 802: Transform the first reference coordinate in the marker coordinate system to the point cloud coordinate system to obtain the first coordinate; calculate the angle between the first coordinate and the second reference coordinate in the point cloud coordinate system as angle correction information.
[0198] The point cloud coordinate system is used to indicate the coordinate system corresponding to the point cloud data space. The first reference coordinate is the coordinate of the reference position in the marker coordinate system. The angle correction information is used to correct the direction of the direction guide arrow in the map.
[0199] Schematic illustration: The first and second reference coordinates can be implemented as coordinates representing true north, such as (0, 1, 0). Transforming the first reference coordinates from the marker coordinate system to the point cloud coordinate system yields the true north angle. The true north angle is primarily used to correct the drawing direction of the directional arrow on the map. During map drawing, due to factors such as coordinate system transformation, the original direction of the directional arrow may deviate. By calculating the true north angle, the arrow's direction can be precisely adjusted with true north as the reference.
[0200] In the above scheme, the first reference coordinate in the marker coordinate system is transformed to the point cloud coordinate system to obtain the first coordinate, and the angle between the first reference coordinate and the second reference coordinate in the point cloud coordinate system is further calculated to obtain angle correction information. The angle correction information is used to correct the drawing direction of the directional arrow on the map, which can effectively avoid the problem that the arrow drawing direction does not match the actual direction of the arrow in the actual physical environment due to coordinate system differences, thereby significantly improving the accuracy of the directional arrow direction on the map.
[0201] Step 803: Generate map drawing data with directional arrows based on the drawing area, the identifier type matching the drawing area, and angle correction information.
[0202] Optionally, when the drawing area is implemented as a rectangular area, the global coordinates corresponding to the four corner points of the drawing area, the identifier type matching the drawing area, and the angle correction information are used as the map drawing data for ground markings.
[0203] In summary, the map data drawing method provided in this embodiment can automatically generate the drawing area of the directional arrows, as well as the drawing type and correction angle information of the directional arrows, thereby eliminating the need for manual configuration of the drawing type and correction angle information of the directional arrows and improving the drawing efficiency of the directional arrows.
[0204] The map data drawing method provided in this application embodiment can be used in a high-precision map editor. Operators can edit ground arrow data in the high-precision map editor, where the ground arrow data is the drawing area mentioned above, and the ground arrows are the directional indicator arrows mentioned above. For illustrative purposes, please refer to... Figure 9 It illustrates a flowchart for creating ground arrow data in a high-precision map editor, which includes the following steps:
[0205] Step 901: Select the Add Ground Arrow tool.
[0206] In the high-precision map editor, select the Add Ground Arrow tool to trigger the process of adding ground arrow data.
[0207] Step 902: In the 3D scene, select the point cloud data of the arrow shaft part on the ground.
[0208] The 3D scene refers to the workspace in the high-precision map editor, that is, the point cloud data space mentioned above, which includes the point cloud data of the ground arrows in the 3D scene. To illustrate, let's take a high-precision map editor running on a desktop computer as an example. The desktop computer is connected to a keyboard and mouse. The operator can hold down the "shift" key on the keyboard and place the mouse on the body of the ground arrow in the 3D scene; the mouse placement point is the selected point cloud data.
[0209] Step 903: Generate ground arrow data in the 3D scene.
[0210] After the operator places the mouse cursor over the body of the ground arrow in the 3D scene, the high-precision map editor will automatically generate and display the ground arrow data in the 3D scene (that is, display a preview of the ground arrow data). The process of generating the ground arrow data includes the following steps:
[0211] Step 1: Automatically read the screen position selected by the operator.
[0212] Step 2: Use the GPU Picking (Graphics Processing Unit Picking) method in computer graphics to convert the screen coordinates into geocentric coordinates and mark the geocentric coordinates as pos.
[0213] Step 3: Using the geocentric coordinate point pos obtained in Step 2 as the center, read all point cloud data with a reflectivity greater than 0.5 (point cloud data, in addition to location information x, y, and z, has reflectivity information on the fourth dimension w) within a 9-meter range. Record these point cloud data as AllPoints. Step 3 requires reading data from the GPU, so it is read into memory at once for later use. (Referring to the description of ground arrow sizes in Step 410, all ground arrow sizes will not exceed 9 meters. The specific value can be set in the settings menu of the high-precision map editor, and subsequent values can be customized by the operator.)
[0214] Step 4: Using pos as the center, select point cloud data within a radius of 0.5 meters from AllPoints (the maximum radius for the arrow body is 0.45 meters, which, after dividing by 2, is 0.225 meters. For subsequent calculations of the principal direction, a radius larger than 0.225 is needed). These point cloud data are denoted as SpherePoints. The specific process for fitting a plane using SpherePoints is as follows:
[0215] (1) Calculate the covariance matrix corresponding to SpherePoints.
[0216] (2) Use the Jacobi iteration method to calculate the eigenvalues and eigenvectors corresponding to the covariance matrix.
[0217] (3) The eigenvector corresponding to the smallest eigenvalue is the normal to the plane, denoted as up; the eigenvector corresponding to the largest eigenvalue is the main direction of the arrow, denoted as lookat; the other eigenvector is the direction of the arrow width, denoted as right.
[0218] It should be noted that, due to unavoidable noise during the calculation process, the calculated up direction of the plane may be incorrect. In this application, since the ground arrow is generated by creating a preview image through mouse movement, when such an error is encountered, the current result is discarded, and the result with the correct up direction after the last mouse movement is used. The method for judging an incorrect up direction is: calculate the angle between the up direction and the ground up direction. If the angle is greater than 5°, the normal is incorrect (the maximum slope of the road is 9%, which is approximately 5°).
[0219] Step 5: Establish a coordinate system with pos as the origin, right as the x-axis, lookat as the y-axis, and up as the z-axis (the transformation matrix of this coordinate system is denoted as m). Transform all points in SpherePoints to this coordinate system, retaining only points whose absolute z-value is less than 0.05, denoted as FilteredSpherePoints. The coordinate transformation process is as follows:
[0220] (1) Subtract the coordinates of pos from all points in SpherePoints.
[0221] (2) Multiply all points by the transformation matrix m to obtain the transformed coordinates.
[0222] Step 6: Calculate the bounding box of FilteredSpherePoints, denoted as ThresholdBox. Since the z-value has been filtered, only the x and y directions need to be considered. The size of the x-direction is the width of the arrow shaft. As described in Step 410 regarding the dimensions of the ground arrows, the arrow shaft widths are 15cm, 23cm, 30cm, and 45cm. Based on the arrow shaft width, using pos as the origin and the coordinate system from Step 5, set the bounding box. That is, when the arrow shaft width is less than 0.18 meters, the radius of the bounding box in the x-direction (or considered as half the width) is 1.2 meters, the radius in the y-direction (or considered as half the length) is 3 meters, and the radius in the z-direction (or considered as half the height) is 0. 27 meters; when the arrow shaft width is less than 0.26 meters, the radius of the encirclement box in the x-direction is 2 meters, the radius in the y-direction is 4.5 meters, and the radius in the z-direction is 0.4 meters; when the arrow shaft width is less than 0.37 meters, the radius of the encirclement box in the x-direction is 1.5 meters, the radius in the y-direction is 6 meters, and the radius in the z-direction is 0.5 meters; when the arrow shaft width is less than 0.5 meters, the radius of the encirclement box in the x-direction is 2.25 meters, the radius in the y-direction is 9 meters, and the radius in the z-direction is 0.8 meters.
[0223] It should be noted that due to unavoidable noise during the calculation process, the arrow width may be incorrect. In this application, since the ground arrow is generated by creating a preview image through mouse movement, when such an error is encountered, the current result is discarded, and the correct arrow width result after the last mouse movement is used. The method for judging an incorrect arrow width calculation is: the calculated arrow width is greater than 0.5 meters or less than 0.1 meters.
[0224] Step 7: Based on the bounding box calculated in Step 6, extract the points located within the bounding box from AllPoints, and denote them as FilteredArrowPoints. Then, using the method in Step 5, transform all points in FilteredArrowPoints to the coordinate system established in Step 5.
[0225] Step 8: Using the bounding box calculated in Step 6, disregard the z-direction and only consider the x and y directions. Divide the bounding box into 0.05m by 0.05m grids along both the x and y directions. Iterate through all FilteredArrowPoints, calculate which grid a point belongs to, and then set the value of that grid to 1, indicating that there is a point cloud in that grid. For example... Figure 10 , Figure 11 As shown, black grids represent point cloud data, white grids represent no point cloud data, and the point cloud data selected by the operator is... Figure 10 The grid number containing the identifier "1" is 1001 and Figure 11 The grid marked "2" is 1101.
[0226] Step 9: After the mesh is filled, the point cloud data selected by the operator (i.e., ...) Figure 10 The grid where the identifier "1" is located and Figure 11 Starting from the grid marked "2", traverse outwards until a grid with a value other than 1 is encountered. During the traversal, record all the grids visited to obtain a two-dimensional array.
[0227] Step 10: Traverse the two-dimensional array obtained in Step 9 and calculate the four boundaries of all grids with a value of 1. This will give you a rectangular range. The four points of this rectangle are the local coordinates of the four points of the ground arrow data.
[0228] Step 11: Perform coordinate transformation on the four local coordinates obtained in Step 10 to obtain ground arrow data.
[0229] The process of performing coordinate transformation on local coordinates is as follows:
[0230] (1) Calculate the inverse matrix of the transformation matrix m, denoted as inv_m.
[0231] (2) Multiply the local coordinates by inv_m to obtain the product result.
[0232] (3) Add pos to the product result.
[0233] The final coordinate transformation results of the four local coordinates are also the ground arrow data.
[0234] Step 904: Determine if the generated ground arrow data is correct.
[0235] After generating the ground arrow data, the operator can determine whether the ground arrow data generated by the high-precision map editor is correct. For illustration, if the ground arrow data completely selects the ground arrows in the 3D scene, it is considered correct; otherwise, it is considered incorrect.
[0236] Step 905: If not, fine-tune the ground arrow data or reselect the point cloud data until the generated ground arrow data is correct.
[0237] If the ground arrow data does not completely select the ground arrows in the 3D scene, the result will be incorrect. In this case, you can select the fine-tuning tool and adjust the shape of the ground arrows. (For illustration purposes, please refer to the provided text.) Figure 12 The diagram shows a fine-tuning interface for ground arrow data. After selecting the fine-tuning tool, the adjustment point 1202, coordinate axis 1203, and circular marker 1204 of the ground arrow data 1201 are displayed in the 3D scene 1200.
[0238] For adjustment point 1202, the operator can move the mouse near adjustment point 1202 and drag the edge of ground arrow data 1201 to change the size of ground arrow data 1201.
[0239] For coordinate axis 1203, the operator can drag coordinate axis 1203, thereby dragging the ground arrow data 1201 as a whole in the virtual scene 1200.
[0240] For the circular marker 1204, the operator can drag the circular marker 1204 to rotate around the axis 1205 that is perpendicular to the ground arrow data 1201, thereby adjusting the orientation of the ground arrow data 1201.
[0241] Alternatively, the operator can move the mouse and place it on other point cloud data of the ground arrow shaft in the 3D scene, thereby regenerating and displaying new ground arrow data according to the generation process described in step 903.
[0242] Fine-tune the currently generated ground arrow data using the fine-tuning tool or regenerate the ground arrow data until the ground arrow data is correct, that is, the ground arrows in the 3D scene are completely selected. Then, perform the following step 906.
[0243] Step 906: If yes, add ground arrow data.
[0244] If the ground arrow data completely selects the ground arrows in the 3D scene, it is considered correct, and the ground arrow data is then added to the 3D scene. For illustration, double-click the left mouse button to complete the addition of the ground arrow data. After the ground arrow data is added, the high-precision map editor will automatically calculate the ground arrow category and the north-north angle attribute, and fill them into the attribute field of the ground arrow data. This allows the ground arrows to be automatically drawn on the map based on the attribute information of the ground arrow data.
[0245] The process by which the high-precision map editor automatically calculates the type of ground arrows includes the following:
[0246] Obtain the local coordinates of four points of the ground arrow data obtained in step 10 of step 904, determine the width and length information based on the four local coordinates, and determine the ground arrow type based on the width and length information.
[0247] As described in step 410 regarding the dimensions of the ground arrows, each type of ground arrow has a different width. For example, for a ground arrow with a length of 300cm, the width of a straight arrow is 45cm, the width of a left-turn or right-turn arrow is 75cm, and the width of a straight + left-turn or straight + right-turn arrow is 150cm. Therefore, the width information can be used to distinguish between straight, left-turn, right-turn, straight + left-turn, and straight + right-turn arrows. However, further confirmation is needed for left-turn or right-turn arrows, and the confirmation method is as follows:
[0248] Calculate the coordinates of the center point of the area formed by the local coordinates of these four points, and determine the sign of the x-coordinate of the center point. If it is positive, it means that the point selected by the operator is on the left, which is a right-turn arrow; otherwise, it is a left-turn arrow.
[0249] The process by which the high-precision map editor automatically calculates the north angle includes the following:
[0250] Obtain the coordinate system obtained in step 5 of step 904, and perform coordinate transformation on the local coordinates (0, 1, 0) in the coordinate system according to the method in step 11 of step 904 to obtain the transformed coordinates. The transformed coordinates refer to the global direction of the ground arrow. Finally, calculate the angle between the global direction and the true north method. The result is the true north angle.
[0251] This is illustrative; please refer to it. Figure 13 It shows a structural block diagram of a map data drawing device, such as Figure 13 As shown, the device includes:
[0252] The receiving module 1310 is used to receive a selection operation of a first point cloud location in a point cloud data space, wherein the point cloud data space includes point cloud data of ground markers, the point cloud data of ground markers is point cloud data collected from ground markers in the physical environment, and the first point cloud location is within the marking range of the ground markers.
[0253] Processing module 1320 is used to obtain the marker parameters corresponding to the ground marker based on the first point cloud position, wherein the marker parameters are used to characterize the attitude information and size information of the ground marker in the point cloud data space;
[0254] The processing module 1320 is used to construct a bounding box corresponding to the marker parameters, the bounding box being used to enclose the point cloud data of the ground marker;
[0255] The generation module 1330 is used to traverse the bounding box's bounding range, determine the distribution range of the ground marker's point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range.
[0256] The generation module 1330 is used to generate map drawing data of the ground markers based on the drawing area, and the map drawing data is used to draw the icons of the ground markers in the map.
[0257] In some embodiments, the processing module 1320 is configured to:
[0258] The distribution feature representation of the point cloud data of the ground marker within a first spherical range is extracted from the point cloud data space. The first spherical range is a spherical range with the first point cloud position as the center and a preset first distance as the radius. The first distance is greater than or equal to a first requirement threshold corresponding to the ground marker. The distribution feature representation is used to characterize the distribution of the point cloud data of the ground marker within the first spherical range.
[0259] The marker parameters corresponding to the ground markers are obtained based on the distribution characteristics.
[0260] In some embodiments, the ground markings include directional arrows, and the first point cloud is located within the range of the directional arrow; the processing module 1320 is configured to:
[0261] Based on the distribution feature representation, an arrow body feature vector is determined, which is used to characterize the arrow body width direction of the directional guide arrowhead;
[0262] The distribution difference of the point cloud data of the ground markers along the vector direction of the arrow body feature vector is determined as the marker parameter, and the distribution difference is used to indicate the width of the arrow body of the directional guide arrow.
[0263] In some embodiments, the processing module 1320 is configured to:
[0264] Based on the distribution feature representation, the normal feature vector and the arrow body feature vector are determined. The normal feature vector is used to characterize the normal direction of the ground where the direction guide arrow is located, and the arrow feature vector is used to characterize the arrow orientation of the direction guide arrow.
[0265] Using the first point cloud position as the origin of the coordinate system, the first vector direction of the normal feature vector as the first axis, the second vector direction of the arrow feature vector as the second axis, and the third vector direction of the arrow body feature vector as the third axis, a marker coordinate system is constructed.
[0266] The arrow shaft width range is determined based on the distribution difference, and the enclosed box size corresponding to the distribution difference is determined from at least two preset enclosed box sizes; wherein, different enclosed box sizes correspond to different arrow shaft width ranges.
[0267] Using the origin of the coordinate system as the center of the bounding box, the bounding box corresponding to the directional arrow is constructed in the marker coordinate system according to the bounding box size corresponding to the distribution difference.
[0268] In some embodiments, the processing module 1320 is configured to:
[0269] The first reference coordinates in the marker coordinate system are transformed to the point cloud coordinate system to obtain the first coordinates. The first reference coordinates are the coordinates of the reference position in the marker coordinate system. The point cloud coordinate system is used to indicate the coordinate system corresponding to the point cloud data space.
[0270] The angle between the first coordinate and the second reference coordinate in the point cloud coordinate system is calculated as angle correction information, where the second reference coordinate is the coordinate of the reference position in the point cloud coordinate system; the angle correction information is used to correct the drawing direction of the directional guide arrow in the map.
[0271] In some embodiments, the processing module 1320 is configured to:
[0272] Obtain the point cloud data of the directional guide arrow in the first spherical range and the distance between the position of the first point cloud and the first vector direction, where the first vector direction is the direction of the normal feature vector;
[0273] Within the first spherical range, the point cloud data of the directional guide arrows whose distance is greater than a preset distance are removed to obtain a first point cloud set; the first point cloud set includes the point cloud data of the directional guide arrows within the first spherical range after the removal process.
[0274] Traverse the bounding box to determine the distribution range of the first point cluster on the ground in the point cloud data space.
[0275] In some embodiments, the processing module 1320 is configured to:
[0276] The reflectance data of point cloud data within a second spherical range is obtained, and the reflectance data is used to characterize the reflection intensity of the point cloud data; the second spherical range is a spherical range with the first point cloud position as the center and a preset second distance as the radius, and the second distance is greater than or equal to the second requirement threshold corresponding to the ground mark; wherein, the second distance is greater than or equal to the first distance.
[0277] In the point cloud data space, point cloud data whose reflectance data is outside the preset reflectance range within the second spherical range are removed to obtain a second point cloud set, which includes the point cloud data within the second spherical range after the removal process.
[0278] The point cloud data that is within the first spherical range and belongs to the second point cloud set in the point cloud data space is determined as the third point cloud set, and the third point cloud set is used to indicate the point cloud data of the ground marker within the first spherical range;
[0279] Extract the distribution feature representation corresponding to the point cloud data in the third point cloud set.
[0280] In some embodiments, the processing module 1320 is configured to:
[0281] Key point cloud data is determined based on the distribution feature representation, and the key point cloud data includes at least one of the corner points and edge midpoints of the ground markings;
[0282] The marking parameters are determined based on the key point cloud data points.
[0283] In some embodiments, the processing module 1320 is configured to:
[0284] Based on the area size range corresponding to the area size of the drawn area, a marker type matching the drawn area is determined from at least two preset marker types, wherein different marker types correspond to different area size ranges, and the marker type is used to determine the icon type of the ground mark drawn on the map.
[0285] In some embodiments, the generation module 1330 is configured to:
[0286] The bounding box is traversed using a preset traversal box to determine a first bounding region within the bounding box. The first bounding region is used to indicate the area containing the point cloud data of the ground marker.
[0287] Based on the first enclosed region, determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range.
[0288] In summary, the map data drawing apparatus provided in this application has several advantages. First, compared to the operation steps in related technologies that require selecting four screen points, in this application, the operator only needs to select a specific point cloud location to obtain the map drawing data of the ground markers, simplifying the drawing operation steps and improving map drawing efficiency. Second, by constructing and traversing bounding boxes to generate the drawing area of the ground markers, the bounding boxes can accurately surround the point cloud data of the ground markers, thereby precisely defining the drawing range of the ground markers, reducing the operator's adjustment operations on the drawing area, and further improving map drawing efficiency.
[0289] It should be noted that the map data drawing device provided in the above embodiments is only an example of the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the map data drawing device and map data drawing method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0290] Figure 14 A structural block diagram of a computer device provided in an exemplary embodiment of this application is shown.
[0291] The computer device 1400 can be a portable mobile terminal, such as a smartphone, tablet, MP3 player (Moving Picture Experts Group Audio Layer III), or MP4 player (Moving Picture Experts Group Audio Layer IV). The computer device 1400 may also be referred to as a gaming device, portable terminal, or other names.
[0292] Typically, computer device 1400 includes a processor 1401 and a memory 1402.
[0293] Processor 1401 may include one or at least two processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1401 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1401 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1401 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1401 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0294] The memory 1402 may include one or at least two computer-readable storage media, which may be tangible and non-transitory. The memory 1402 may also include high-speed random access memory and non-volatile memory, such as one or at least two disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1402 are used to store at least one instruction, which is executed by the processor 1401 to implement the map data drawing method provided in the embodiments of this application.
[0295] In some embodiments, the computer device 1400 may also optionally include: a peripheral device interface 1403 and at least one peripheral device. Specifically, the peripheral device includes at least one of: a radio frequency circuit 1404, a touch display screen 1405, a camera 1406, an audio circuit 1407, and a power supply 1408.
[0296] Peripheral device interface 1403 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1401 and memory 1402. In some embodiments, processor 1401, memory 1402 and peripheral device interface 1403 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1401, memory 1402 and peripheral device interface 1403 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0297] The radio frequency (RF) circuit 1404 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1404 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1404 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1404 includes: an antenna system, an RF transceiver, one or at least two amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a player identity module card, etc. The RF circuit 1404 can communicate with other terminals via at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1404 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0298] The touch display screen 1405 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 1405 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 1401 for processing. The touch display screen 1405 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 1405, located on the front panel of the computer device 1400; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the computer device 1400 or in a folded design; in some embodiments, the touch display screen 1405 may be a flexible display screen, located on a curved or folded surface of the computer device 1400. Furthermore, the touch display screen 1405 may also be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display 1405 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0299] The camera assembly 1406 is used to acquire images or videos. Optionally, the camera assembly 1406 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR (Virtual Reality) shooting by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 1406 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0300] Audio circuitry 1407 provides an audio interface between the player and computer device 1400. Audio circuitry 1407 may include a microphone and a speaker. The microphone is used to collect sound waves from the player and the environment, converting the sound waves into electrical signals that are input to processor 1401 for processing, or input to radio frequency circuitry 1404 for voice communication. For stereo sound acquisition or noise reduction purposes, there may be at least two microphones, each located at a different location on computer device 1400. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 1401 or radio frequency circuitry 1404 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuitry 1407 may also include a headphone jack.
[0301] Power supply 1408 is used to supply power to the various components in computer device 1400. Power supply 1408 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 1408 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0302] In some embodiments, the computer device 1400 further includes one or at least two sensors 1409. The one or at least two sensors 1409 include, but are not limited to: an accelerometer 1410, a gyroscope 1411, a pressure sensor 1412, an optical sensor 1413, and a proximity sensor 1414.
[0303] Accelerometer 1410 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established by computer device 1400. For example, accelerometer 1410 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 1401 can control touchscreen display 1405 to display the player interface in landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 1410. Accelerometer 1410 can also be used to collect game or player motion data.
[0304] The gyroscope sensor 1411 can detect the orientation and rotation angle of the computer device 1400. The gyroscope sensor 1411 can work in conjunction with the accelerometer sensor 1410 to collect the player's 3D movements on the computer device 1400. Based on the data collected by the gyroscope sensor 1411, the processor 1401 can perform the following functions: motion sensing (e.g., changing the UI based on the player's tilt), image stabilization during shooting, game control, and inertial navigation.
[0305] Pressure sensor 1412 can be disposed on the side bezel of computer device 1400 and / or on the lower layer of touch display screen 1405. When pressure sensor 1412 is disposed on the side bezel of computer device 1400, it can detect the player's grip signal on computer device 1400 and perform left / right hand recognition or quick operation based on the grip signal. When pressure sensor 1412 is disposed on the lower layer of touch display screen 1405, it can control operable controls on the UI interface based on the player's pressure operation on touch display screen 1405. Operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0306] Optical sensor 1413 is used to collect ambient light intensity. In one embodiment, processor 1401 can control the display brightness of touch display screen 1405 based on the ambient light intensity collected by optical sensor 1413. Specifically, when the ambient light intensity is high, the display brightness of touch display screen 1405 is increased; when the ambient light intensity is low, the display brightness of touch display screen 1405 is decreased. In another embodiment, processor 1401 can also dynamically adjust the shooting parameters of camera assembly 1406 based on the ambient light intensity collected by optical sensor 1413.
[0307] The proximity sensor 1414, also known as a distance sensor, is typically located on the front of the computer device 1400. The proximity sensor 1414 is used to detect the distance between the player and the front of the computer device 1400. In one embodiment, when the proximity sensor 1414 detects that the distance between the player and the front of the computer device 1400 is gradually decreasing, the processor 1401 controls the touchscreen display 1405 to switch from a screen-on state to a screen-off state; when the proximity sensor 1414 detects that the distance between the player and the front of the computer device 1400 is gradually increasing, the processor 1401 controls the touchscreen display 1405 to switch from a screen-off state to a screen-on state.
[0308] Those skilled in the art will understand that Figure 14 The structure shown does not constitute a limitation on the computer device 1400, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0309] In an exemplary embodiment, this application provides a chip that includes programmable logic circuits and / or program instructions. When the chip is run on a computer device, it is used to implement the map data drawing method provided in the above method embodiments.
[0310] This application provides a computer-readable storage medium storing a computer program, which is loaded and executed by a processor to implement the map data drawing method provided in the above-described method embodiments.
[0311] This application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the processor of the computer device to load and execute the map data drawing method provided in the above-described method embodiments.
[0312] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0313] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0314] Those skilled in the art will recognize that, in one or at least two of the examples described above, the functions depicted in the embodiments of this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or at least two instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium accessible to a general-purpose or special-purpose computer.
[0315] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for drawing map data, characterized in that, The method includes: The system receives a selection operation for a first point cloud location in a point cloud data space, the point cloud data space including point cloud data of ground markers, the point cloud data of ground markers being point cloud data collected from ground markers in the physical environment, and the first point cloud location being within the marking range of the ground markers. Based on the first point cloud location, the marker parameters corresponding to the ground marker are obtained. The marker parameters are used to characterize the attitude and size information of the ground marker in the point cloud data space. Construct a bounding box corresponding to the marker parameters, the bounding box being used to enclose the point cloud data of the ground marker; Traverse the bounding box's bounding area to determine the distribution range of the ground marker's point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range; Map drawing data for the ground markers is generated based on the drawing area, and the map drawing data is used to draw icons for the ground markers on the map.
2. The method according to claim 1, characterized in that, The step of obtaining the marker parameters corresponding to the ground marker based on the first point cloud location includes: The distribution feature representation of the point cloud data of the ground marker within a first spherical range is extracted from the point cloud data space. The first spherical range is a spherical range with the first point cloud position as the center and a preset first distance as the radius. The first distance is greater than or equal to a first requirement threshold corresponding to the ground marker. The distribution feature representation is used to characterize the distribution of the point cloud data of the ground marker within the first spherical range. The marker parameters corresponding to the ground markers are obtained based on the distribution characteristics.
3. The method according to claim 2, characterized in that, The ground markings include directional arrows, and the location of the first point cloud is within the range of the directional arrow. The step of obtaining the marker parameters corresponding to the ground marker based on the distribution feature representation includes: Based on the distribution feature representation, an arrow body feature vector is determined, which is used to characterize the arrow body width direction of the directional guide arrowhead; The distribution difference of the point cloud data of the ground markers along the vector direction of the arrow body feature vector is determined as the marker parameter, and the distribution difference is used to indicate the width of the arrow body of the directional guide arrow.
4. The method according to claim 3, characterized in that, The method further includes: Based on the distribution feature representation, the normal feature vector and the arrow body feature vector are determined. The normal feature vector is used to characterize the normal direction of the ground where the direction guide arrow is located, and the arrow feature vector is used to characterize the arrow orientation of the direction guide arrow. The construction of the bounding box corresponding to the marker parameters includes: Using the first point cloud position as the origin of the coordinate system, the first vector direction of the normal feature vector as the first axis, the second vector direction of the arrow feature vector as the second axis, and the third vector direction of the arrow body feature vector as the third axis, a marker coordinate system is constructed. The arrow shaft width range is determined based on the distribution difference, and the enclosed box size corresponding to the distribution difference is determined from at least two preset enclosed box sizes; wherein, different enclosed box sizes correspond to different arrow shaft width ranges. Using the origin of the coordinate system as the center of the bounding box, the bounding box corresponding to the directional arrow is constructed in the marker coordinate system according to the bounding box size corresponding to the distribution difference.
5. The method according to claim 4, characterized in that, The method further includes: The first reference coordinates in the marker coordinate system are transformed to the point cloud coordinate system to obtain the first coordinates. The first reference coordinates are the coordinates of the reference position in the marker coordinate system. The point cloud coordinate system is used to indicate the coordinate system corresponding to the point cloud data space. The angle between the first coordinate and the second reference coordinate in the point cloud coordinate system is calculated as angle correction information, where the second reference coordinate is the coordinate of the reference position in the point cloud coordinate system; the angle correction information is used to correct the drawing direction of the directional guide arrow in the map.
6. The method according to claim 4, characterized in that, Before constructing the bounding box corresponding to the marker parameters, the following steps are included: Obtain the point cloud data of the directional guide arrow in the first spherical range and the distance between the position of the first point cloud and the first vector direction, where the first vector direction is the direction of the normal feature vector; Within the first spherical range, the point cloud data of the directional guide arrows whose distance is greater than a preset distance are removed to obtain a first point cloud set; the first point cloud set includes the point cloud data of the directional guide arrows within the first spherical range after the removal process. The step of traversing the bounding box to determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space includes: Traverse the bounding box to determine the distribution range of the first point cluster on the ground in the point cloud data space.
7. The method according to claim 2, characterized in that, Before extracting the distribution feature representation of the ground marker point cloud data within the first spherical range in the point cloud data space, the process includes: The reflectance data of point cloud data within a second spherical range is obtained, and the reflectance data is used to characterize the reflection intensity of the point cloud data; the second spherical range is a spherical range with the first point cloud position as the center and a preset second distance as the radius, and the second distance is greater than or equal to the second requirement threshold corresponding to the ground mark; wherein, the second distance is greater than or equal to the first distance. In the point cloud data space, point cloud data whose reflectance data is outside the preset reflectance range within the second spherical range are removed to obtain a second point cloud set, which includes the point cloud data within the second spherical range after the removal process. The step of extracting the distribution feature representation of the ground marker point cloud data within a first spherical range in the point cloud data space includes: The point cloud data that is within the first spherical range and belongs to the second point cloud set in the point cloud data space is determined as the third point cloud set, and the third point cloud set is used to indicate the point cloud data of the ground marker within the first spherical range; Extract the distribution feature representation corresponding to the point cloud data in the third point cloud set.
8. The method according to claim 2, characterized in that, The step of obtaining the marker parameters corresponding to the ground marker based on the distribution feature representation includes: Key point cloud data is determined based on the distribution feature representation, and the key point cloud data includes at least one of the corner points and edge midpoints of the ground markings; The marking parameters are determined based on the key point cloud data points.
9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: Based on the area size range corresponding to the area size of the drawn area, a marker type matching the drawn area is determined from at least two preset marker types, wherein different marker types correspond to different area size ranges, and the marker type is used to determine the icon type of the ground mark drawn on the map.
10. The method according to any one of claims 1 to 8, characterized in that, The process of traversing the bounding box to determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generating the drawing area corresponding to the distribution range, includes: The bounding box is traversed using a preset traversal box to determine a first bounding region within the bounding box. The first bounding region is used to indicate the area containing the point cloud data of the ground marker. Based on the first enclosed region, determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range.
11. A map data plotting device, characterized in that, The device includes: The receiving module is used to receive the selection operation of the first point cloud position in the point cloud data space, the point cloud data space including the point cloud data of ground markers, the point cloud data of ground markers being the point cloud data collected from ground markers in the physical environment, and the first point cloud position being within the marking range of the ground markers. The processing module is used to obtain the marker parameters corresponding to the ground marker based on the first point cloud position. The marker parameters are used to characterize the attitude information and size information of the ground marker in the point cloud data space. The processing module is used to construct a bounding box corresponding to the marker parameters, and the bounding box is used to enclose the point cloud data of the ground marker; The generation module is used to traverse the bounding box's bounding range, determine the distribution range of the ground marker point cloud data on the ground in the point cloud data space, and generate the drawing area corresponding to the distribution range; The generation module is used to generate map drawing data of the ground markers based on the drawing area, and the map drawing data is used to draw the icons of the ground markers in the map.
12. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the map data drawing method as described in any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one program, which is loaded and executed by a processor to implement the map data drawing method as described in any one of claims 1 to 10.
14. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the method for drawing map data as described in any one of claims 1 to 10.