Image processing-based point position labeling method, device and equipment, and storage medium

By extracting and grouping inflection points from point cloud maps using image processing methods, and combining them with target object feature information for point labeling, the problem of low efficiency and poor accuracy in point labeling in existing technologies is solved, achieving automated, fast, and high-precision point labeling.

CN115393422BActive Publication Date: 2026-02-24北京云迹科技股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211080640.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-05
Publication Date
2026-02-24
Estimated Expiration
2042-09-05

AI Technical Summary

Technical Problem

Existing technologies for point labeling are inefficient and have poor accuracy, failing to meet the demands for high-precision, large-scale, and rapid point labeling.

Method used

By acquiring point cloud maps, lines are extracted using color differences, line widths are compressed, inflection points are determined, inflection points are grouped, and points are filtered and labeled based on the feature information of the target objects.

Benefits of technology

It has automated the point marking process, improving efficiency and accuracy, and meeting the needs for high-precision, large-scale, and rapid point marking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115393422B_ABST
    Figure CN115393422B_ABST
Patent Text Reader

Abstract

The application provides a point position labeling method and device based on image processing, equipment and a storage medium. The method comprises the following steps: obtaining a point cloud map constructed in advance, and extracting all lines from the point cloud map according to color differences; compressing the width of the lines to obtain compressed lines, determining the inflection points in the compressed lines based on the angle relationship between the pixel points in the compressed lines; grouping the inflection points based on the distance between the pixel points corresponding to the inflection points, and mapping the lines containing the grouped inflection points to the point cloud map, and according to the color information of the pixel points, each grouped inflection point corresponds to an object; filtering the objects in the point cloud map according to the pre-configured feature information of the target object, and labeling the point position based on the position of the filtered target object. The application can realize automatic point position labeling, improve the efficiency and accuracy of point position labeling.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of image processing, in particular to a point position labeling method and device based on image processing, equipment and a storage medium. BACKGROUND

[0002] In the field of robot positioning and navigation, for example, in indoor robot positioning and navigation, a point position is a virtual object attached to a map. By labeling a point position on a map, a robot can implement pose adjustment, environment prediction, map switching and other strategies through the point position. These strategies enable the robot to autonomously travel from a starting point position to a target point position, achieving functions such as robot automatic positioning, navigation and path planning.

[0003] The known point position labeling method requires manual labeling of point positions in advance at corresponding positions on the map. For example, in a hotel or hospital map scenario, to enable a robot to reach different rooms, a person needs to manually label point positions in advance at corresponding positions. Therefore, whether it is an elevator in or out point position or a room destination point position, manual labeling in advance is required. The existing point position labeling method not only reduces the efficiency of point position labeling, but also has a large number of point positions to label, complicated operation, and requires a large amount of manpower and resources. The accuracy of manual point position labeling is poor, and it cannot meet the requirements of high accuracy, large scale and rapid point position labeling. SUMMARY

[0004] Therefore, the embodiments of the present application provide a point position labeling method and device based on image processing, equipment and a storage medium to solve the problem of low efficiency and poor accuracy of the prior art, which cannot meet the requirements of high accuracy, large scale and rapid point position labeling.

[0005] In a first aspect, the embodiments of the present application provide a point position labeling method based on image processing, comprising: obtaining a point cloud map constructed in advance, and extracting all lines from the point cloud map according to color differences; compressing the width of the lines to obtain compressed lines, determining the inflection points in the compressed lines based on the angle relationship between the pixel points in the compressed lines; grouping the inflection points based on the distance between the pixel points corresponding to the inflection points, and mapping the lines containing the grouped inflection points to the point cloud map, and according to the color information of the pixel points, each grouped inflection point corresponds to an object; filtering the objects in the point cloud map according to the pre-configured feature information of the target object, and labeling the point position based on the position of the filtered target object.

[0006] In a second aspect, the embodiment of the present application provides a point labeling device based on image processing, comprising: an extraction module configured to acquire a point cloud map constructed in advance, and extract all lines from the point cloud map according to color differences; a compression module configured to compress the width of the lines to obtain compressed lines, and determine inflection points in the compressed lines based on angle relationships between pixel points in the compressed lines; a grouping module configured to group the inflection points based on distances between pixel points corresponding to the inflection points, map lines containing the grouped inflection points to the point cloud map, and cause each grouped inflection point to correspond to an object according to color information of the pixel points; and a labeling module configured to filter objects in the point cloud map according to feature information of a target object configured in advance, and label points based on positions of the filtered target objects.

[0007] In a third aspect, the embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the above method when executing the program.

[0008] In a fourth aspect, the embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the above method when executed by a processor.

[0009] The above at least one technical solution adopted by the embodiment of the present application can achieve the following beneficial effects:

[0010] By acquiring a point cloud map constructed in advance, all lines are extracted from the point cloud map according to color differences; the width of the lines is compressed to obtain compressed lines, and inflection points in the compressed lines are determined based on angle relationships between pixel points in the compressed lines; the inflection points are grouped based on distances between pixel points corresponding to the inflection points, and lines containing the grouped inflection points are mapped to the point cloud map, and each grouped inflection point corresponds to an object according to color information of the pixel points; and objects in the point cloud map are filtered according to feature information of a target object configured in advance, and points are labeled based on positions of the filtered target objects. The present application uses a computer image processing method to realize automatic labeling of points, improves the efficiency and accuracy of point labeling, is simple and fast to operate, and can meet the requirements of high-precision, large-scale, and rapid point labeling. BRIEF DESCRIPTION OF DRAWINGS

[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings in the following description only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.

[0012] Figure 1 is a flowchart of a point labeling method based on image processing provided by the embodiments of the present application;

[0013] Figure 2 is a schematic diagram of a point cloud map in an actual application scenario provided by the embodiments of the present application;

[0014] Figure 3 is a schematic diagram of a point cloud map in another actual application scenario provided by the embodiments of the present application;

[0015] Figure 4 is a schematic diagram of a point cloud map in another actual application scenario provided by the embodiments of the present application;

[0016] Figure 5 is a structural schematic diagram of a point labeling device based on image processing provided by the embodiments of the present application;

[0017] Figure 6 is a structural schematic diagram of an electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION

[0018] In the following description, specific details such as specific system structures, techniques, etc. are presented in order to thoroughly understand the embodiments of the present application, but it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits and methods are omitted to avoid unnecessary details that hinder the description of the present application.

[0019] As described above, taking indoor robot positioning and navigation as an example, the point is a virtual object attached to the map. By labeling the point on the map, the robot can implement pose adjustment, environment prediction, map switching and other strategies through the point, and can also implement path planning, mobile navigation, obstacle avoidance and other technical means between points. These strategies and technical means enable the robot to autonomously reach the target point from the starting point, and realize the functions of robot automatic positioning, navigation, path planning, etc.

[0020] In most indoor scenes, there are generally multiple point positions in the point cloud map, and the types of point positions are not completely the same. Different positions and different types of point positions can have different functions and bear different responsibilities. For example, in a multi-floor scene, an elevator is an essential tool for cross-floor transportation. The robot needs to take different strategies inside and outside the elevator. It is a relatively reasonable choice to make judgments and implementations by combining point positions with environmental factors. For example, in a hotel or hospital scene, in order to make the robot reach different rooms, a person needs to manually label point positions in advance at corresponding positions. Therefore, whether it is a point position inside or outside the elevator, or a destination point position such as a room, manual labeling is required in advance. Moreover, whether the point position is labeled during the scanning and construction of the point cloud map or uniformly labeled after the scanning and construction of the point cloud map, additional manpower and resources are required.

[0021] Therefore, the embodiment of the present application provides an improved point position labeling method based on image processing. The method extracts lines from a point cloud map based on color differences, compresses the width of the lines to obtain compressed lines, determines the inflection points in the compressed lines based on the angle relationship between the pixel points, groups the inflection points based on the distance between the pixel points corresponding to the inflection points, respectively corresponds each group of inflection points to an object based on the color information of the pixel points in the point cloud map, and finally screens the objects in the point cloud map according to the preconfigured characteristic information of the target object, and labels the point positions based on the positions of the screened target objects. The present application realizes automatic labeling of point positions, improves the efficiency and accuracy of point position labeling, is simple and fast to operate, and can meet the requirements of high-precision, large-scale and rapid point position labeling. Next, the technical solutions of the present application will be described in detail in combination with specific embodiments.

[0022] Figure 1 FIG. 1 is a flowchart of a point position labeling method based on image processing provided by the embodiment of the present application. Figure 1 The point position labeling method based on image processing can be executed by a robot or a server. As shown in FIG. 1, the point position labeling method based on image processing can specifically include the following steps. Figure 1

[0023] S101, obtaining a point cloud map constructed in advance, and extracting all lines from the point cloud map based on color differences;

[0024] S102, compressing the width of the lines to obtain compressed lines, and determining the inflection points in the compressed lines based on the angle relationship between the pixel points in the compressed lines;

[0025] S103, grouping the inflection points based on the distance between the pixel points corresponding to the inflection points, mapping the lines containing the grouped inflection points to the point cloud map, and respectively corresponding each group of inflection points to an object based on the color information of the pixel points.​

[0026] S104: Based on the pre-configured feature information of the target objects, filter the objects in the point cloud map and mark the points based on the positions of the filtered target objects.

[0027] Specifically, in this application embodiment, the points refer to points marked on a point cloud map, such as marking corresponding points at locations the robot needs to reach, like room doors or elevators. Based on the marked points, the robot can perform functions such as localization, navigation, and path planning. These functions rely on the points marked on the point cloud map to be executed. For example, by placing a point at the door of a hotel room, the robot can successfully reach the target location.

[0028] In some embodiments, acquiring a pre-built point cloud map and extracting all lines from the point cloud map based on color differences includes: acquiring a point cloud map obtained by scanning the external environment using a LiDAR, and extracting all black lines from the point cloud map, wherein the black lines are used to represent the contours corresponding to obstacles in the point cloud map.

[0029] Specifically, in a point cloud map, pixels of different colors represent different content. For example, black pixels represent obstacle boundaries, gray pixels represent unknown areas (i.e., areas that cannot be detected by LiDAR), and white pixels represent pathways (i.e., areas that the robot can traverse). The following explanation uses a point cloud map from a real-world scenario as an example to illustrate the extracted black lines. Figure 2 This is a schematic diagram of a point cloud map in a practical application scenario provided by an embodiment of this application. For example... Figure 2 As shown, the point cloud map may specifically include:

[0030] Based on the content represented by the pixels of various colors in the point cloud map, since black pixels are used to represent the boundaries of obstacles in the point cloud map, the lines in the point cloud map are extracted according to the color. That is, by using the color difference, all black lines symbolizing the outline of obstacles in the point cloud map are extracted. By extracting all the black lines, an image containing black lines is obtained.

[0031] In some embodiments, compressing the width of the line to obtain a compressed line includes: compressing the width of the black line using a preset image processing algorithm to compress the width of the black line to the width corresponding to one or more pixels.

[0032] Specifically, after extracting all black lines from the point cloud map to obtain an image containing the black lines, image processing algorithms are used to thin (i.e., compress) the extracted black lines, narrowing their width. For example, initially wider black lines can be simplified, compressing their width to one pixel by simplifying line features. In practical applications, a reasonable width can be set according to the accuracy requirements of the point labeling.

[0033] In some embodiments, determining the inflection points in the compressed line based on the angular relationship between pixels in the compressed line includes: randomly selecting a pixel from the compressed line as a starting point, selecting a pixel at intervals along the starting point, calculating the angular difference between the preceding and following pixels, and when the angular difference is less than an angle threshold, taking the selected pixel as an inflection point, until all inflection points in the compressed line are obtained.

[0034] Specifically, after thinning the black lines, this application uses angle calculation to find all the inflection points in the thinned black lines. In practical applications, a pixel is randomly selected from the thinned (compressed) lines as the starting point, and a direction is randomly selected from the directions of the lines corresponding to that starting point as the starting direction. Pixels are selected at equal intervals along the starting direction. For each selected pixel, the angle difference between the selected and unselected pixels is calculated. When the angle difference is less than the angle threshold, for example, the angle between the unselected and unselected pixels is less than 120°, it indicates that the black line has an inflection point at that pixel. The currently selected pixel is taken as the inflection point, and the process continues until all the inflection points in the black lines have been selected.

[0035] In some embodiments, inflection points are grouped based on the distance between the pixels corresponding to the inflection points, including: selecting adjacent inflection points along a fixed direction, calculating the distance between adjacent inflection points, and when the distance is less than a distance threshold, dividing the adjacent inflection points into the same group, until all inflection points are traversed once to obtain all grouped inflection points.

[0036] Specifically, after extracting all the inflection points from the black lines, inflection points with similar positions are grouped together based on the distance information between the pixels corresponding to each inflection point. In practical applications, adjacent inflection points are selected along a fixed direction, and the distance between adjacent inflection points is calculated. Based on the comparison between the distance and a distance threshold, it is determined whether adjacent inflection points should be grouped into the same group. The following uses a point cloud map in a real-world scenario as an example to illustrate the objects corresponding to grouped inflection points in the point cloud map. Figure 3 This is a schematic diagram of a point cloud map in another practical application scenario provided in this application embodiment. Figure 4 This is a schematic diagram of a point cloud map in another practical application scenario provided in this application embodiment. For example...Figures 3 to 4 As shown, the point cloud map may specifically include:

[0037] Figure 3 The point cloud map shown contains a corridor (white area) and an elevator (area enclosed by three black lines). Assuming the elevator in the point cloud map has at least four inflection points, by sequentially selecting inflection points along one direction of the black lines and calculating the distance between adjacent inflection points, when the distance is less than a distance threshold, the two inflection points are divided into the same set of inflection points corresponding to the same object (i.e., grouped inflection points). For example, in the point cloud map, the elevator is an object with a white passable area in the middle enclosed by three black lines. That is, the middle of the elevator is a white area, the three sides are black lines, and four or six adjacent inflection points form an elevator.

[0038] For example Figure 4 This represents a local point cloud map of a corridor, which includes a door to a room and some obstacles. The door is characterized by having more than four inflection points and being surrounded by white pixels. Although the obstacles also have about four inflection points, the surrounding pixels are gray. This can be used as a basis for distinguishing different objects.

[0039] Furthermore, after determining all the group inflection points, the images containing these inflection points are mapped back to the original map. This involves remapping the images containing the inflection points back to the initially constructed point cloud map. Combined with the color information in the point cloud map, each group of pixels represents a related object on the map. In practical applications, white in the point cloud map represents pathways, black represents obstacle boundaries (i.e., obstacle outlines), and gray represents unknown areas (areas undetectable by LiDAR). For example, an elevator in the point cloud map is represented by a white central area and black lines corresponding to its three sides.

[0040] In some embodiments, objects in a point cloud map are filtered based on pre-configured feature information of target objects, including: determining the feature information corresponding to the objects in the point cloud map, comparing the pre-configured feature information of the target objects with the feature information corresponding to the objects in the same feature dimension, and determining whether the object is a target object based on the comparison result, so as to filter out the target objects among the objects; wherein, the feature information includes shape information, line information, color information, and the number, distribution, distance and angle information of inflection points.

[0041] Specifically, in order to filter out the target object from all objects and then mark the position of the target object to obtain the effective position, this application embodiment determines whether it is a valid position based on the characteristic information of the target object (such as the number, distribution, and angular relationship between inflection points).

[0042] Furthermore, in this embodiment of the application, the feature information of the target object that needs to be marked is configured, and then the feature information corresponding to all objects in the actual point cloud map is obtained. Then, the feature information of the target object under the same feature dimension is compared with the feature information of the object in the point cloud map to determine the similarity between the object in the point cloud map and the target object, and then to determine whether the object in the point cloud map is the target object. The objects in the point cloud map that match the feature information of the target object are then filtered out.

[0043] In practical applications, feature information includes environmental features in the point cloud map, such as shape, lines, and color. Additionally, it includes the number of inflection points, whether they surround white pixels, and the distance and angle between inflection points. This application's embodiments automatically label the points corresponding to the target location by identifying the features of different environments in the point cloud map.

[0044] In some embodiments, point marking is performed based on the location of the filtered target objects, including: determining the location of the target object in the point cloud map, determining the point marking location corresponding to each target object based on the location of the target object and the preset point marking location selection method, and placing the point at the corresponding point marking location in the point cloud map.

[0045] Specifically, after all target objects are obtained through filtering, point marking is performed based on the location of each target object in the point cloud map. In practical applications, the selection of specific points for point marking includes, but is not limited to, the following two methods:

[0046] The first method involves selecting the center point of the target object as the point marking location based on its position in the point cloud map, and then placing the point at that point marking location.

[0047] The second method involves determining the location of the target object in the point cloud map, placing a point on any point within the passable area corresponding to the target object, and adding an offset to the point when placing it.

[0048] Furthermore, after marking all target objects in the point cloud map, the marked points can be classified according to the category of the target object and the function corresponding to different points. For example, elevator points can be classified into the same category.

[0049] According to the technical solution provided in this application embodiment, this application embodiment utilizes color difference to extract black lines from a point cloud map. Using relevant image processing algorithms, the extracted black lines are refined, and based on the angular relationships between pixels, all inflection points on the black lines are found. Then, based on the distance information between the inflection points, they are grouped so that each set of inflection points represents a relevant object in the point cloud map. Finally, based on pre-configured feature information of the target objects, all target objects are selected from the relevant objects in the point cloud map. Based on the position of each target object in the point cloud map, the corresponding point labeling position is determined, and a point is placed at each labeling position to complete the automatic point labeling. This application embodiment can automatically identify most points and achieve automatic point labeling and classification. This application improves the efficiency and accuracy of point labeling, is simple and quick to operate, and can meet the needs of high-precision, large-scale, and rapid point labeling.

[0050] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0051] Figure 5 This is a schematic diagram of the image processing-based point labeling device provided in the embodiments of this application.

[0052] like Figure 5 As shown, the image processing-based point labeling device includes:

[0053] Extraction module 501 is configured to acquire a pre-built point cloud map and extract all lines from the point cloud map based on color differences;

[0054] Compression module 502 is configured to compress the width of the line to obtain a compressed line, and to determine the inflection point in the compressed line based on the angular relationship between the pixels in the compressed line.

[0055] The grouping module 503 is configured to group inflection points based on the distance between pixels corresponding to the inflection points, and map the lines containing the grouped inflection points onto the point cloud map. Based on the color information of the pixels, each grouped inflection point corresponds to an object.

[0056] The annotation module 504 is configured to filter objects in the point cloud map based on the pre-configured feature information of the target objects, and to annotate the points based on the positions of the filtered target objects.

[0057] In some embodiments, Figure 5The extraction module 501 acquires the point cloud map obtained by scanning the external environment using LiDAR, and extracts all the black lines from the point cloud map. The black lines are used to represent the contours of obstacles in the point cloud map.

[0058] In some embodiments, Figure 5 The compression module 502 uses a preset image processing algorithm to compress the width of the black lines so as to compress the width of the black lines to the width corresponding to one or more pixels.

[0059] In some embodiments, Figure 5 The compression module 502 randomly selects a pixel from the compressed line as the starting point, and selects a pixel at intervals along the starting point. It calculates the angle difference between the preceding and following pixels. When the angle difference is less than the angle threshold, the selected pixel is taken as the inflection point, until all the inflection points in the compressed line are obtained.

[0060] In some embodiments, Figure 5 The grouping module 503 selects adjacent inflection points along a fixed direction, calculates the distance between adjacent inflection points, and when the distance is less than the distance threshold, divides the adjacent inflection points into the same group until all inflection points are traversed once to obtain all grouped inflection points.

[0061] In some embodiments, Figure 5 The annotation module 504 determines the feature information corresponding to the objects in the point cloud map, compares the feature information of the pre-configured target objects with the feature information corresponding to the objects in the same feature dimension, and determines whether the object is the target object based on the comparison result, so as to filter out the target objects in the objects; wherein, the feature information includes shape information, line information, color information, as well as the number of inflection points, distribution information, distance information and angle information.

[0062] In some embodiments, Figure 6 The annotation module 504 determines the position of the target object in the point cloud map. Based on the position of the target object and the preset point annotation position selection method, it determines the point annotation position corresponding to each target object and places the point at the corresponding point annotation position in the point cloud map.

[0063] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0064] Figure 6 This is a schematic diagram of the structure of the electronic device 6 provided in an embodiment of this application. Figure 6As shown, the electronic device 6 of this embodiment includes a processor 601, a memory 602, and a computer program 603 stored in the memory 602 and executable on the processor 601. When the processor 601 executes the computer program 603, it implements the steps in the various method embodiments described above. Alternatively, when the processor 601 executes the computer program 603, it implements the functions of each module / unit in the various device embodiments described above.

[0065] For example, computer program 603 may be divided into one or more modules / units, which are stored in memory 602 and executed by processor 601 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 603 in electronic device 6.

[0066] Electronic device 6 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 6 may include, but is not limited to, processor 601 and memory 602. Those skilled in the art will understand that... ​ This is merely an example of electronic device 6 and does not constitute a limitation on electronic device 6. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device may also include input / output devices, network access devices, buses, etc.

[0067] The processor 601 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0068] The memory 602 can be an internal storage unit of the electronic device 6, such as a hard disk or RAM. The memory 602 can also be an external storage device of the electronic device 6, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 602 can include both internal and external storage units of the electronic device 6. The memory 602 is used to store computer programs and other programs and data required by the electronic device. The memory 602 can also be used to temporarily store data that has been output or will be output.

[0069] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0070] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0071] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0072] In the embodiments provided in this application, it should be understood that the disclosed apparatus / computer devices and methods can be implemented in other ways. For example, the apparatus / computer device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0073] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0074] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0075] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0076] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A point labeling method based on image processing, characterized in that, include: Obtain a pre-built point cloud map and extract all lines from the point cloud map based on color differences; The width of the line is compressed to obtain a compressed line. Based on the angular relationship between pixels in the compressed line, the inflection points in the compressed line are determined. Based on the distance between the pixels corresponding to the inflection points, the inflection points are grouped, and the lines containing the grouped inflection points are mapped onto the point cloud map. According to the color information of the pixels, each grouped inflection point corresponds to an object. Based on the pre-configured feature information of the target objects, the objects in the point cloud map are filtered, and the positions of the filtered target objects are marked.

2. The method according to claim 1, characterized in that, The process of acquiring a pre-built point cloud map and extracting all lines from the point cloud map based on color differences includes: A point cloud map is obtained by scanning the external environment using a lidar. All black lines are extracted from the point cloud map, whereby the black lines are used to represent the contours of obstacles in the point cloud map.

3. The method according to claim 2, characterized in that, The compression of the line width to obtain the compressed line includes: The width of the black line is compressed using a preset image processing algorithm to reduce the width of the black line to the width corresponding to one or more pixels.

4. The method according to claim 1, characterized in that, Determining the inflection points in the compressed line based on the angular relationships between pixels in the compressed line includes: Randomly select a pixel from the compressed line as the starting point, and select a pixel at intervals along the starting point. Calculate the angle difference between the preceding and following pixels. When the angle difference is less than the angle threshold, the selected pixel is taken as the inflection point, until all the inflection points in the compressed line are obtained.

5. The method according to claim 1, characterized in that, The step of grouping the inflection points based on the distance between the pixels corresponding to the inflection points includes: Select adjacent inflection points along a fixed direction, calculate the distance between the adjacent inflection points, and when the distance is less than a distance threshold, divide the adjacent inflection points into the same group until all inflection points have been traversed once to obtain all the grouped inflection points.

6. The method according to claim 1, characterized in that, The step of filtering objects in the point cloud map based on pre-configured feature information of target objects includes: The feature information corresponding to the object in the point cloud map is determined, and the feature information of the pre-configured target object is compared with the feature information corresponding to the object in the same feature dimension. Based on the comparison result, it is determined whether the object is a target object, so as to filter out the target objects in the object. The feature information includes shape information, line information, color information, and information on the number, distribution, distance, and angle of inflection points.

7. The method according to claim 1, characterized in that, The point labeling based on the location of the filtered target object includes: The location of the target object in the point cloud map is determined. Based on the location of the target object and the preset point labeling location selection method, the point labeling location corresponding to each target object is determined, and the point is placed at the point labeling location corresponding to the point cloud map.

8. A point marking device based on image processing, characterized in that, include: The extraction module is configured to acquire a pre-built point cloud map and extract all lines from the point cloud map based on color differences. A compression module is configured to compress the width of the line to obtain a compressed line, and to determine the inflection point in the compressed line based on the angular relationship between pixels in the compressed line. The grouping module is configured to group the inflection points based on the distance between the pixels corresponding to the inflection points, and map the lines containing the grouped inflection points onto the point cloud map, and assign each grouped inflection point to an object according to the color information of the pixels; The annotation module is configured to filter objects in the point cloud map based on the pre-configured feature information of the target objects, and to annotate the points based on the positions of the filtered target objects.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements the method of any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Path planning method, device and mobile device

    CN109541634A

  • Laser system control method and device, electronic equipment and readable storage medium

    CN114236566A