Trajectory filtering methods, devices, electronic equipment and media in high-precision map production
By filtering the trajectory of straight-through intersection areas and optimizing the smoothness in the production of high-precision maps, the problems of insufficient map accuracy and efficiency in existing technologies are solved, and higher accuracy and more efficient high-precision map construction is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2026-03-10
AI Technical Summary
In the process of producing high-precision maps, existing technologies are unable to effectively filter out trajectories that go straight through intersection areas, resulting in insufficient map accuracy and construction efficiency.
By acquiring multiple driving trajectories, the intersection area is determined, and the trajectories that go straight through the intersection area are filtered out. The trajectories are truncated and filtered based on their smoothness and turning position, and the trajectories with high smoothness are selected first for point cloud stitching.
It improves the accuracy and construction efficiency of high-precision maps, ensuring accurate representation of intersection areas and integrity of map data.
Smart Images

Figure CN116086471B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computers, and particularly relates to the fields of high-definition maps and automatic driving. BACKGROUND
[0002] The high-definition map is also called as a high-definition map, which is an electronic map with higher precision and more data dimensions in common language. The high-definition map not only includes road information, but also includes surrounding static information related to traffic, such as lane information, traffic signs, and position information of roads, and can provide all-around assistance for automatic driving applications.
[0003] In the production process of the high-definition map, a collection vehicle needs to travel along a road, and a sensor device carried on the collection vehicle is used to collect environmental information of the road and its surroundings. For example, a laser radar carried on the collection vehicle can be used to collect point cloud data, and a positioning device carried on the collection vehicle can be used to obtain trajectory data in the travel process of the collection vehicle. Based on the trajectory data, the point cloud data, and other data, the high-definition map can be produced. SUMMARY
[0004] The present disclosure provides a trajectory screening method and device in high-definition map production, an electronic device, and a medium.
[0005] According to an aspect of the present disclosure, a trajectory screening method in high-definition map production is provided, which includes: obtaining a plurality of travel trajectories from a first location to a second location; determining an intersection region according to positions of trajectory points in the travel trajectories; and screening, in a case where there is a travel trajectory passing through the intersection region, a travel trajectory that straightly passes through the intersection region as a target travel trajectory.
[0006] According to another aspect of the present disclosure, a trajectory screening device in high-definition map production is provided, which includes: a first trajectory obtaining module configured to obtain a plurality of travel trajectories from a first location to a second location; a first region determining module configured to determine an intersection region according to positions of trajectory points in the travel trajectories; and a first trajectory screening module configured to screen, in a case where there is a travel trajectory passing through the intersection region, a travel trajectory that straightly passes through the intersection region as a target travel trajectory.
[0007] According to another aspect of the present disclosure, a trajectory screening method in high-definition map production is provided, which includes: obtaining a plurality of travel trajectories from a first location to a second location; truncating, for each travel trajectory, the travel trajectory according to a turning position to obtain at least one sub-trajectory corresponding to the travel trajectory; determining a smoothness of the travel trajectory according to a smoothness of each sub-trajectory corresponding to the travel trajectory; and screening a target travel trajectory according to the smoothness of the travel trajectory.
[0008] According to another aspect of this disclosure, a trajectory filtering device for high-precision map production is provided, comprising: a second trajectory acquisition module for acquiring multiple driving trajectories from a first location to a second location; a trajectory truncation module for truncating each driving trajectory according to turning positions to obtain at least one pass trajectory corresponding to the driving trajectory; a smoothness determination module for determining the smoothness of the driving trajectory based on the smoothness of each pass trajectory corresponding to the driving trajectory; and a second trajectory filtering module for filtering target driving trajectories based on the smoothness of the driving trajectories.
[0009] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the trajectory screening method described above.
[0010] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the trajectory filtering method described above.
[0011] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the trajectory filtering method described above.
[0012] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0013] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0014] Figure 1 This is a schematic diagram of a trajectory filtering method in high-precision map production according to an embodiment of the present disclosure;
[0015] Figure 2 This is a schematic diagram of step S102 according to an embodiment of the present disclosure;
[0016] Figure 3 This is a scene diagram that can implement the trajectory filtering method in the production of high-precision maps according to the embodiments of this disclosure;
[0017] Figure 4 This is a structural block diagram of a trajectory filtering device in high-precision map production according to an embodiment of the present disclosure;
[0018] Figure 5 This is a schematic diagram of a trajectory filtering method in high-precision map production according to another embodiment of the present disclosure;
[0019] Figure 6 This is a structural block diagram of a trajectory filtering device in high-precision map production according to another embodiment of the present disclosure;
[0020] Figure 7 This is a block diagram of an electronic device used to implement the trajectory filtering method in high-precision map production according to embodiments of the present disclosure. Detailed Implementation
[0021] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0022] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0023] According to an embodiment of this disclosure, an embodiment of a trajectory filtering method in high-precision map production is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0024] Figure 1 This is a flowchart of a trajectory filtering method in high-precision map production according to an embodiment of the present disclosure, such as... Figure 1 As shown, the method includes the following steps S101 to S103:
[0025] Step S101: Obtain multiple driving trajectories from the first location to the second location.
[0026] Here, the first location and the second location are different locations. In specific implementation, for all driving trajectories from the first location to the second location, the most recent driving trajectory can be obtained based on the timestamp of the driving trajectory. The high-precision map constructed using the most recent driving trajectory can ensure its high freshness.
[0027] Step S102: Determine the intersection area based on the position of the trajectory points in the driving trajectory.
[0028] Each driving trajectory includes several trajectory points, and the intersection area is determined based on the positions of these trajectory points within different driving trajectories. In specific implementations, the intersection area can be a crossroads, a T-junction, or a multi-way intersection, such as a three-way intersection.
[0029] Step S103: If there is a driving trajectory that passes through the intersection area, then the driving trajectory that goes straight through the intersection area is selected as the target driving trajectory.
[0030] It should be noted that the area outside the intersection area is the non-intersection area. The driving trajectory through the non-intersection area is usually a straight driving trajectory, so there is no need to filter the straight driving trajectory.
[0031] In this embodiment, for driving trajectories passing through intersection areas, straight driving trajectories are prioritized. Point cloud stitching using straight driving trajectories can yield a high-precision map with higher accuracy.
[0032] In one alternative embodiment, such as Figure 2 As shown, step S102 specifically includes:
[0033] Step S1021: Determine the intersection location based on the position of the trajectory points in the driving trajectory.
[0034] Step S1022: Cluster all intersection locations according to a preset distance to obtain at least one group of intersection locations. The preset distance can be set according to the size of the intersection; for example, if the intersection size is 40m, the preset distance can be set to 50m. Intersection locations with spacing within the preset distance are clustered into a group corresponding to the same intersection.
[0035] Step S1023: For each group of intersection locations, determine the corresponding mutually perpendicular driving trajectories. The mutually perpendicular driving trajectories differ between different groups of intersection locations. For example, for group A intersection location corresponding to intersection A, the corresponding mutually perpendicular driving trajectories are LA1 and LA2; for group B intersection location corresponding to intersection B, the corresponding mutually perpendicular driving trajectories are LB1 and LB2.
[0036] Step S1024: Determine the corresponding intersection area based on the intersection positions in the group of intersection locations and the mutually perpendicular driving trajectories. Different groups of intersection positions correspond to different intersection areas, and the direction of the mutually perpendicular driving trajectories is used to represent the direction of the two perpendicular roads within the corresponding intersection area.
[0037] In this embodiment, the intersection location is first determined based on the location of the trajectory points, then the mutually perpendicular driving trajectories corresponding to the same set of intersection locations are determined, and finally the intersection area is determined based on these two driving trajectories and the corresponding intersection locations.
[0038] In an optional embodiment, step S1021 specifically includes: determining a first target trajectory point and a second target trajectory point in the driving trajectory; wherein the distance between the first target trajectory point and the second target trajectory point is greater than a first threshold, and the difference in timestamps between the first target trajectory point and the second target trajectory point is greater than a second threshold; if the curvature of the driving trajectory between the first target trajectory point and the second target trajectory point is greater than a third threshold, then the positions of all trajectory points between the first target trajectory point and the second target trajectory point on the driving trajectory are determined as intersection positions.
[0039] The first, second, and third thresholds can be set according to the actual situation of the intersection. In a specific example, the first threshold is 20m, the second threshold is 5s, the distance between trajectory point P1 and trajectory point P8 in the driving trajectory L1 is 22m, and the difference in timestamps between trajectory point P1 and trajectory point P8 is 5.5s. Since the distance between trajectory point P1 and trajectory point P8 is greater than the first threshold, and the difference in timestamps between trajectory point P1 and trajectory point P8 is greater than the second threshold, trajectory point P1 and trajectory point P8 can be determined as the first target trajectory point and the second target trajectory point, respectively.
[0040] The greater the curvature of the driving trajectory between the first target trajectory point and the second target trajectory point, the greater the degree of curvature of the driving trajectory between the first target trajectory point and the second target trajectory point. If the degree of curvature reaches a certain value, i.e., the curvature is greater than a third threshold, then the driving trajectory between the first target trajectory point and the second target trajectory point is considered to be within the intersection area. At this time, the positions of all trajectory points between the first target trajectory point and the second target trajectory point that meet the distance and timestamp requirements on the same driving trajectory can be determined as the intersection location. In this embodiment, determining the intersection location based on the first target trajectory point and the second target trajectory point that meet the distance and timestamp requirements on the same driving trajectory can ensure the accuracy of the intersection location.
[0041] In one optional embodiment, step S1021 specifically includes: projecting the driving trajectory onto the target image; determining the trajectory point corresponding to the upper corner position of the target image; and determining the position of the trajectory point as the intersection position.
[0042] When the driving trajectory is projected onto the target image, the grayscale values of the locations with and without the driving trajectory are different, allowing the driving trajectory to be distinguished in the target image. In a specific example, the grayscale value of the locations with the driving trajectory is 1, and the grayscale value of the locations without the driving trajectory is 0.
[0043] In this embodiment, different driving trajectories are projected onto a target image. The intersection points of the driving trajectories on the target image can be determined by the corner points on the target image. The intersection locations are then determined based on the intersection locations of the driving trajectories, ensuring the accuracy of the intersection locations. Typically, multiple driving trajectories correspond to multiple intersection points; this embodiment can determine multiple intersection locations.
[0044] It should be noted that, to further ensure the accuracy of the determined intersection location, before projecting the driving trajectory onto the target image, different driving trajectories need to be grouped according to their corresponding heights. Then, the driving trajectories in different groups are projected onto different target images. For example, driving trajectories within a first height range are grouped together and projected onto one target image. Driving trajectories within a second height range are grouped together and projected onto another target image. The second height range is larger than the first height range. Driving trajectories within the second height range can correspond to driving trajectories in scenarios such as overpasses or viaducts, while driving trajectories within the first height range can correspond to driving trajectories in scenarios such as ground level or under bridges.
[0045] In an optional embodiment, step S1023 specifically includes: for each set of intersection locations, searching for driving trajectories around each intersection location; and determining corresponding mutually perpendicular driving trajectories based on the orientation of the searched driving trajectories.
[0046] In a specific example, if the angle between the orientations of two driving trajectories is close to 90°, then the two driving trajectories are determined to be perpendicular to each other.
[0047] To improve mapping efficiency, all driving trajectories can be divided into blocks, and mapping can be performed according to these blocks. The size of a block can be set according to actual needs, typically a one-kilometer square. In practice, an array structure can be constructed using the current block and driving trajectories within a certain outward expansion range. For example, a kd-tree can be built to search for driving trajectories within this array structure. The expansion range can be set according to the size of the intersection; for example, if the intersection is 30 meters in size, the current block can be expanded outwards by 40 meters.
[0048] In an optional embodiment, step S1024 specifically includes: projecting all intersection positions in the group of intersection positions onto the directions of the mutually perpendicular driving trajectories; determining the two farthest projection positions in each direction of the mutually perpendicular driving trajectories; and determining the intersection area corresponding to the group of intersection positions based on the area enclosed by the four determined projection positions.
[0049] Among them, the area enclosed by the four projection positions at the farthest points in two mutually perpendicular directions can be close to a rectangular area, close to a square area, or other irregular areas.
[0050] In practice, the area enclosed by these four projection positions can be directly defined as the intersection area. To improve the accuracy of the intersection area, the enclosed area can be extended outwards by a certain distance, and the extended area can be defined as the intersection area.
[0051] In an optional embodiment, the trajectory filtering method further includes: if the curvature of the target sub-trajectory is less than a fourth threshold, then determining that the target sub-trajectory's trajectory passes straight through the intersection area; wherein, the target sub-trajectory is the trajectory within the intersection area. In a specific example, if the curvature of the target sub-trajectory is close to 0, then determining that the target sub-trajectory's trajectory passes straight through the intersection area. In this embodiment, the curvature of the target sub-trajectory determines whether the trajectory passes straight through the intersection area. The smaller the curvature of the target sub-trajectory, the less curved it is, thus determining whether the target sub-trajectory is straight, and further determining whether the trajectory passes straight through the intersection area.
[0052] In an optional embodiment, the above trajectory filtering method further includes step S104: for each driving trajectory, the driving trajectory is truncated according to the turning position to obtain at least one pass trajectory corresponding to the driving trajectory; the smoothness of the driving trajectory is determined according to the smoothness of each pass trajectory corresponding to the driving trajectory. In this embodiment, step S102 specifically includes: filtering driving trajectories that meet the smoothness requirements, and determining the intersection area according to the position of the trajectory points in the driving trajectory.
[0053] The turning positions include U-turn positions. The travel trajectory is a travel trajectory obtained by truncating the original travel trajectory. In a specific example, a travel trajectory can be truncated according to three turning positions, resulting in five travel trajectories.
[0054] Specifically, the smoothness of the driving trajectory can be determined based on the average smoothness of all passes corresponding to the driving trajectory. In a specific implementation, the smoothness of the pass can be determined based on the angle between the orientations of two adjacent frames in the pass. For ease of calculation, the angle can be normalized, for example, by dividing the angle by 180° to obtain a smoothness score characterizing the smoothness. The smoothness score is between 0 and 1; the smaller the smoothness score, the better the smoothness.
[0055] The smoothness requirement can be defined as a driving trajectory that achieves a certain level of smoothness. Alternatively, driving trajectories can be sorted from best to worst smoothness, and a preset number of trajectories at the top of the sorted list can be selected as those meeting the smoothness requirement. The preset number can be set according to actual needs, for example, it can be set to 3 trajectories.
[0056] In this embodiment, driving trajectories with better smoothness are selected first, followed by driving trajectories that proceed straight through intersection areas. Using driving trajectories with better smoothness for point cloud stitching can further improve the accuracy of the constructed high-precision map.
[0057] In an optional embodiment, the trajectory filtering method further includes: among all trajectories with the same orientation corresponding to the target driving trajectory, if the number of trajectories with a spacing less than a fifth threshold exceeds the target number, then retaining the target number of trajectories with a spacing less than the fifth threshold. The fifth threshold and the target number can be set according to actual conditions; for example, the fifth threshold can be set to 10m, and the target number can be set to 2.
[0058] In a specific example, for such Figure 3 (a) shows the trajectories. Specifically, for trajectories with the same orientation, only two trajectories with a spacing of less than 10m are retained, resulting in the following:Figure 3 (b) shows the lap trajectory. Wherein, Figure 3 In (a) and (b), 2 represents the intersection area, while 1, 3, 4 and 5 all represent non-intersection areas.
[0059] In this embodiment, for trajectories with the same orientation, trajectories with a target number of intervals less than the fifth threshold are retained. The driving trajectories after filtering are used to stitch point clouds together to construct a high-precision map. This not only ensures the accuracy of the high-precision map but also improves the construction efficiency of the high-precision map.
[0060] According to embodiments of this disclosure, an embodiment of a trajectory filtering device for high-precision map production is also provided, wherein... Figure 4 This is a schematic diagram of a trajectory filtering device for high-precision map production according to an embodiment of the present disclosure. The device includes a first trajectory acquisition module 401, a first region determination module 402, and a first trajectory filtering module 403. The first trajectory acquisition module 401 is used to acquire multiple driving trajectories from a first location to a second location; the first region determination module 402 is used to determine intersection regions based on the positions of trajectory points in the driving trajectories; and the first trajectory filtering module 403 is used to filter driving trajectories that travel straight through the intersection regions as target driving trajectories when there are driving trajectories that pass through the intersection regions.
[0061] It should be noted that the first trajectory acquisition module 401, the first region determination module 402, and the first trajectory filtering module 403 mentioned above correspond to steps S101 to S103 in the above embodiments. These three modules are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the content disclosed in the above embodiments.
[0062] In an optional embodiment, the first region determination module includes: a location determination unit, configured to determine the intersection location based on the location of trajectory points in the driving trajectory; a clustering unit, configured to cluster all intersection locations according to a preset distance to obtain at least one set of intersection locations; a trajectory determination unit, configured to determine a corresponding mutually perpendicular driving trajectory for each set of intersection locations; and a first determination unit, configured to determine a corresponding intersection region based on the intersection locations in the set of intersection locations and the mutually perpendicular driving trajectories.
[0063] In an optional embodiment, the location determination unit is specifically used to determine a first target trajectory point and a second target trajectory point in the driving trajectory; wherein the distance between the first target trajectory point and the second target trajectory point is greater than a first threshold, and the difference in timestamps between the first target trajectory point and the second target trajectory point is greater than a second threshold; and when the curvature of the driving trajectory between the first target trajectory point and the second target trajectory point is greater than a third threshold, the positions of all trajectory points between the first target trajectory point and the second target trajectory point on the driving trajectory are determined as intersection positions.
[0064] In one optional embodiment, the position determination unit is specifically used to project the driving trajectory onto the target image; determine the trajectory point corresponding to the upper corner position of the target image; and determine the position of the trajectory point as the intersection position.
[0065] In one optional embodiment, the trajectory determination unit is specifically used to search for driving trajectories around each intersection location for each group of intersection locations, and to determine corresponding mutually perpendicular driving trajectories based on the orientation of the searched driving trajectories.
[0066] In one optional embodiment, the first determining unit is specifically configured to project all intersection positions in the group of intersection positions onto the directions of the mutually perpendicular driving trajectories; determine the two farthest projection positions in each direction of the mutually perpendicular driving trajectories; and determine the intersection area corresponding to the group of intersection positions based on the area enclosed by the four determined projection positions.
[0067] In an optional embodiment, the device further includes a second region determination module, configured to determine that the target sub-trajectory passes through the intersection region if the curvature of the target sub-trajectory is less than a fourth threshold; wherein the target sub-trajectory is a travel trajectory within the intersection region.
[0068] In an optional embodiment, the device further includes a first trajectory truncation module, used to truncate each driving trajectory according to the turning position to obtain at least one pass trajectory corresponding to the driving trajectory; and a first smoothness determination module, used to determine the smoothness of the driving trajectory based on the smoothness of each pass trajectory corresponding to the driving trajectory. In this embodiment, the first region determination module is specifically used to filter driving trajectories that meet the smoothness requirements, and to determine the intersection region based on the position of the trajectory points in the driving trajectory.
[0069] In an optional embodiment, the device further includes a first retention module, configured to retain the target number of trajectories with a spacing less than the fifth threshold if the number of trajectories with a spacing less than the fifth threshold exceeds the target number, for all trajectories with the same orientation corresponding to the target driving trajectory.
[0070] The device embodiments described above are merely illustrative. The modules or units described as separate components may or may not be physically separate, and may be located in one place or distributed across multiple network units. Some or all of the modules or units can be selected to achieve the purpose of this disclosure according to actual needs.
[0071] According to an embodiment of this disclosure, another embodiment of a trajectory filtering method in high-precision map production is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0072] Figure 5 This is a flowchart of a trajectory filtering method in high-precision map production according to an embodiment of the present disclosure, such as... Figure 5 As shown, the method includes the following steps S501 to S504:
[0073] Step S501: Obtain multiple driving trajectories from the first location to the second location. Step S501 corresponds to step S101 in the above embodiments, and the examples and application scenarios implemented are the same as those in step S101 in the above embodiments, but are not limited to the content disclosed in the above embodiments.
[0074] Step S502: For each driving trajectory, the driving trajectory is truncated according to the turning position to obtain at least one trip trajectory corresponding to the driving trajectory.
[0075] Step S503: Determine the smoothness of the driving trajectory based on the smoothness of each trip corresponding to the driving trajectory.
[0076] Wherein, the above steps S502~S503 correspond to step S104 in the above embodiments, and the examples and application scenarios implemented are the same as those in step S104 in the above embodiments, but are not limited to the content disclosed in the above embodiments.
[0077] Step S504: Filter the target driving trajectory based on the smoothness of the driving trajectory. In specific implementation, driving trajectories that meet the smoothness requirements can be filtered as target driving trajectories. Specifically, driving trajectories that meet the smoothness requirements can be driving trajectories with a certain level of smoothness. Alternatively, driving trajectories can be sorted from best to worst smoothness, and a preset number of driving trajectories at the top of the sorted list can be filtered as driving trajectories that meet the smoothness requirements. The preset number can be set according to actual conditions, for example, it can be set to 3.
[0078] In this embodiment, the driving trajectory is filtered according to its smoothness, and the point cloud is stitched using the driving trajectory with better smoothness, which can improve the accuracy of the constructed high-precision map.
[0079] In an optional embodiment, the method further includes: among all the same-orientation trajectories corresponding to the target driving trajectory, if the number of trajectories with a spacing less than a fifth threshold exceeds the target number, then retaining the target number of trajectories with a spacing less than the fifth threshold. The fifth threshold and the target number can be set according to actual conditions; for example, the fifth threshold can be set to 10m, and the target number can be set to 2.
[0080] In this embodiment, driving trajectories with good smoothness are selected first. Then, for trajectories with the same direction, the target number of trajectories with a spacing of less than the fifth threshold are retained. The driving trajectories after selection are used to stitch point clouds together to construct a high-precision map. While ensuring the accuracy of the high-precision map, the construction efficiency of the high-precision map can also be improved.
[0081] According to embodiments of this disclosure, another embodiment of a trajectory filtering device for high-precision map production is also provided, wherein... Figure 6 This is a schematic diagram of a trajectory filtering device for high-precision map production according to an embodiment of the present disclosure. The device includes a second trajectory acquisition module 601, a second trajectory truncation module 602, a second smoothness determination module 603, and a second trajectory filtering module 604. The second trajectory acquisition module 601 is used to acquire multiple driving trajectories from a first location to a second location; the second trajectory truncation module 602 is used to truncate each driving trajectory according to the turning position to obtain at least one pass trajectory corresponding to the driving trajectory; the second smoothness determination module 603 is used to determine the smoothness of the driving trajectory based on the smoothness of each pass trajectory corresponding to the driving trajectory; and the second trajectory filtering module 604 is used to filter target driving trajectories based on the smoothness of the driving trajectories.
[0082] It should be noted that the second trajectory acquisition module 601, the second trajectory truncation module 602, the second smoothness determination module 603, and the second trajectory filtering module 604 mentioned above correspond to steps S501 to S504 in the above embodiments. These four modules are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the content disclosed in the above embodiments.
[0083] In an optional embodiment, the device further includes a second retention module, which is used to retain the target number of trajectories with a spacing less than the fifth threshold when the number of trajectories with a spacing less than the fifth threshold exceeds the target number, for all trajectories with the same orientation corresponding to the target driving trajectory.
[0084] The device embodiments described above are merely illustrative. The modules or units described as separate components may or may not be physically separate, and may be located in one place or distributed across multiple network units. Some or all of the modules or units can be selected to achieve the purpose of this disclosure according to actual needs.
[0085] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0086] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0087] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0088] like Figure 7As shown, device 700 includes a computing unit 701, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 702 or a computer program loaded into random access memory (RAM) 703 from storage unit 708. The RAM 703 may also store various programs and data required for the operation of device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.
[0089] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0090] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the trajectory filtering method. For example, in some embodiments, the trajectory filtering method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the trajectory filtering method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the trajectory filtering method by any other suitable means (e.g., by means of firmware).
[0091] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0092] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0093] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0094] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0095] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0096] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0097] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this disclosure can be achieved, and this is not limited herein.
[0098] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A trajectory screening method in high-definition map production, comprising: obtaining a plurality of driving trajectories from a first location to a second location; determining intersection regions according to positions of trajectory points in the driving trajectories; screening a driving trajectory that straightly passes through the intersection regions as a target driving trajectory if there is a driving trajectory that passes through the intersection regions; wherein the determining of the intersection regions according to the positions of the trajectory points in the driving trajectories comprises: determining intersection positions according to the positions of the trajectory points in the driving trajectories; clustering all the intersection positions according to a preset distance to obtain at least one group of intersection positions; determining corresponding mutually perpendicular driving trajectories for each group of intersection positions; determining corresponding intersection regions according to the intersection positions in the group of intersection positions and the mutually perpendicular driving trajectories.
2. The trajectory screening method of claim 1, wherein, The determining of the intersection positions according to the positions of the trajectory points in the driving trajectories comprises: determining a first target trajectory point and a second target trajectory point in the driving trajectories; wherein a distance between the first target trajectory point and the second target trajectory point is greater than a first threshold, and a time stamp difference between the first target trajectory point and the second target trajectory point is greater than a second threshold; if a curvature of the driving trajectory between the first target trajectory point and the second target trajectory point is greater than a third threshold, then determining positions of all the trajectory points between the first target trajectory point and the second target trajectory point on the driving trajectory as the intersection positions.
3. The trajectory screening method of claim 1, wherein, The determining of the intersection positions according to the positions of the trajectory points in the driving trajectories comprises: projecting the driving trajectory onto a target image; determining a trajectory point corresponding to a corner position on the target image; determining a position of the trajectory point as an intersection position.
4. The trajectory screening method of claim 1, wherein, The determining of the corresponding mutually perpendicular driving trajectories for each group of intersection positions comprises: searching for driving trajectories around each intersection position for each group of intersection positions; determining the corresponding mutually perpendicular driving trajectories according to orientations of the searched driving trajectories.
5. The trajectory screening method of claim 1, wherein, The determining of the corresponding intersection regions according to the intersection positions in the group of intersection positions and the mutually perpendicular driving trajectories comprises: projecting all the intersection positions in the group of intersection positions onto directions of the mutually perpendicular driving trajectories, respectively; determining two farthest projection positions in each direction for the directions of the mutually perpendicular driving trajectories, respectively; determining an intersection region corresponding to the group of intersection positions according to a region surrounded by the four determined projection positions. 6.The trajectory screening method of claim 1, further comprising: if a curvature of a target sub-driving trajectory is less than a fourth threshold, then determining that a driving trajectory in which the target sub-driving trajectory is located straightly passes through the intersection regions; wherein the target sub-driving trajectory is a driving trajectory in the intersection regions. 7.The trajectory screening method of any one of claims 1-6, further comprising: truncating each driving trajectory according to a turning position to obtain at least one track trajectory corresponding to the driving trajectory; determining a smoothness of the driving trajectory according to a smoothness of each track trajectory corresponding to the driving trajectory. The determining the intersection region according to the positions of the trajectory points in the driving trajectory comprises: screening a driving trajectory with a smooth degree meeting a requirement, and determining the intersection region according to the positions of the trajectory points in the driving trajectory.
8. The trajectory screening method of claim 7, further comprising: In all same-direction trajectories corresponding to the target driving trajectory, if the number of trajectories with a distance less than the fifth threshold value exceeds a target number, the target number of trajectories with a distance less than the fifth threshold value are retained.
9. A trajectory screening device in high-precision map production, comprising: a first trajectory acquisition module configured to acquire a plurality of driving trajectories from a first location to a second location; a first region determination module configured to determine an intersection region according to positions of trajectory points in the driving trajectory; a first trajectory screening module configured to, in a case where there is a driving trajectory passing through the intersection region, screen a driving trajectory that straightly passes through the intersection region as a target driving trajectory; The first region determination module comprises: a position determination unit configured to determine an intersection position according to the positions of the trajectory points in the driving trajectory; a clustering unit configured to cluster all intersection positions according to a preset distance to obtain at least one group of intersection positions; a trajectory determination unit configured to determine, for each group of intersection positions, corresponding mutually perpendicular driving trajectories; a first determination unit configured to determine a corresponding intersection region according to an intersection position in the group of intersection positions and the mutually perpendicular driving trajectories.
10. The trajectory screening apparatus of claim 9, wherein, The position determination unit is specifically configured to determine a first target trajectory point and a second target trajectory point in the driving trajectory; the distance between the first target trajectory point and the second target trajectory point is greater than a first threshold value, and the difference between the time stamps of the first target trajectory point and the second target trajectory point is greater than a second threshold value; and in a case where the curvature of the driving trajectory between the first target trajectory point and the second target trajectory point is greater than a third threshold value, the positions of all trajectory points between the first target trajectory point and the second target trajectory point on the driving trajectory are determined as intersection positions.
11. The trajectory screening apparatus of claim 9, wherein, The position determination unit is specifically configured to project the driving trajectory onto a target image, determine a trajectory point corresponding to a corner position on the target image, and determine the position of the trajectory point as an intersection position.
12. The trajectory screening apparatus of claim 9, wherein, The trajectory determination unit is specifically configured to, for each group of intersection positions, search for driving trajectories around each intersection position, and determine corresponding mutually perpendicular driving trajectories according to the orientations of the searched driving trajectories.
13. The trajectory screening apparatus of claim 9, wherein, The first determination unit is specifically configured to project all intersection positions in the group of intersection positions onto directions of the mutually perpendicular driving trajectories, respectively; determine two projection positions at the farthest ends in each direction with respect to the directions of the mutually perpendicular driving trajectories, respectively; and determine an intersection region corresponding to the group of intersection positions according to a region enclosed by the four determined projection positions.
14. The trajectory screening apparatus according to claim 9, further comprising a second region determining module configured to determine that the target sub-driving trajectory is straight through the intersection region if a curvature of the target sub-driving trajectory is less than a fourth threshold value; wherein, The target sub-driving trajectory is a driving trajectory in the intersection region.
15. The trajectory screening device of any one of claims 9-14, further comprising: a first trajectory truncation module configured to, for each driving trajectory, truncate the driving trajectory according to a turning position to obtain at least one sub-trajectory corresponding to the driving trajectory; a first smoothness determination module configured to determine a smoothness of the driving trajectory according to a smoothness of each sub-trajectory corresponding to the driving trajectory; wherein the first region determination module is specifically configured to screen the driving trajectory with a smoothness meeting a requirement, and determine a region of an intersection according to a position of a trajectory point in the driving trajectory.
16. The trajectory screening device according to claim 15, further comprising a first reservation module configured to, for all sub-trajectories of a same orientation corresponding to the target driving trajectory, reserve a target number of sub-trajectories with a spacing less than a fifth threshold value in a case that a number of the sub-trajectories with the spacing less than the fifth threshold value exceeds the target number.
17. An electronic device, comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the trajectory screening method according to any one of claims 1-8.
18. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the trajectory screening method according to any one of claims 1-8.
19. A computer program product comprising a computer program which, when executed by a processor, implements the trajectory screening method according to any one of claims 1-8.
Citation Information
Patent Citations
Road generation method, electronic device and storage medium
CN112579924A