Data labeling method, device, electronic device and storage medium
By determining the target point cloud area in point cloud data and labeling, the problem of data labeling accuracy in point cloud data applications is solved, and more efficient data labeling is achieved.
Patent Information
- Application Number
- CN202210173902.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-24
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2042-02-24
AI Technical Summary
In the process of point cloud data application, how to accurately mark data to improve application effect and applicable scenarios has become an urgent problem.
The target point cloud region including the target position is determined in the point cloud data to be processed, and the target data is labeled based on the target point cloud data corresponding to the area.
This method not only reduces the difficulty of data annotation, but also improves the accuracy of data annotation.
Smart Images

Figure CN114549644B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing, and more specifically to artificial intelligence and autonomous parking technology, and can be used in scenarios such as autonomous parking. Background Art
[0002] Point cloud data is a collection of point data obtained by scanning the surface of a target object through relevant measuring instruments. Since point cloud data carries information such as direction and distance, it is widely used in autonomous parking, autonomous driving, high-precision maps, power inspection, topographic mapping, engineering surveys, and 3D modeling.
[0003] In practical applications, in order to improve the application effect and applicable scenarios of point cloud data, it is often necessary to annotate point cloud data. Therefore, how to accurately annotate point cloud data has become an urgent problem to be solved in the application of point cloud data. Summary of the invention
[0004] The present disclosure provides a data labeling method, device, electronic device, readable storage medium and computer program product to improve the accuracy of data labeling.
[0005] According to one aspect of the present disclosure, a data annotation method is provided, which may include the following steps:
[0006] Determine a target point cloud area including a target position in the point cloud data to be processed, the point cloud data to be processed is point cloud data acquired for a target object, the target object includes an element to be annotated, the target position is a position corresponding to the element to be annotated in the point cloud data to be processed, and the target point cloud area is a point cloud area that meets a preset area range;
[0007] The target data is labeled based on the target point cloud data, the target point cloud data is the point cloud data corresponding to the target point cloud area in the point cloud data to be processed, and the target data includes data for describing the elements to be labeled.
[0008] According to a second aspect of the present disclosure, a data annotation device is provided, which may include:
[0009] A target point cloud region determination unit is used to determine a target point cloud region including a target position in the point cloud data to be processed, the point cloud data to be processed is point cloud data acquired for a target object, the target object includes elements to be annotated, the target position is a position corresponding to the elements to be annotated in the point cloud data to be processed, and the target point cloud region is a point cloud region that meets a preset region range;
[0010] The target data annotation unit is used to annotate the target data based on the target point cloud data. The target point cloud data is the point cloud data corresponding to the target point cloud area in the point cloud data to be processed. The target data includes data for describing the elements to be annotated.
[0011] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0012] at least one processor; and
[0013] a memory communicatively connected to the at least one processor; wherein,
[0014] The memory stores instructions that can be executed 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 execute the method in any embodiment of the present disclosure.
[0015] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided. The computer instructions are used to enable a computer to execute the method in any embodiment of the present disclosure.
[0016] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instruction, wherein the computer program / instruction implements the method in any embodiment of the present disclosure when executed by a processor.
[0017] The technology disclosed in the present invention first determines the target point cloud area including the target position in the point cloud data to be processed, and then annotates the target data based on the target point cloud data corresponding to the target point cloud area in the point cloud data to be processed. Since the target position is the position corresponding to the element to be annotated in the point cloud data to be processed, the target point cloud area is the point cloud area in the point cloud data to be processed that includes the target position and meets the preset area range. Therefore, annotating the target data based on the target point cloud data corresponding to the target point cloud area in the point cloud data to be processed can not only reduce the difficulty of data annotation, but also improve the accuracy of data annotation.
[0018] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0020] Figure 1 A flowchart of a data labeling method is provided in an embodiment of the present disclosure;
[0021] Figure 2A flowchart of a method for determining a target point cloud area provided in an embodiment of the present disclosure;
[0022] Figure 3 A flowchart of another target point cloud area determination method provided in an embodiment of the present disclosure;
[0023] Figure 4 A flowchart of a method for determining a target position provided in an embodiment of the present disclosure;
[0024] Figure 5 A flowchart of another data annotation method provided in an embodiment of the present disclosure;
[0025] Figure 6 A schematic diagram of a data labeling device is provided for an embodiment of the present disclosure;
[0026] Figure 7 A schematic diagram of an electronic device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0027] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0028] This disclosure provides a data annotation method. Please refer to Figure 1 , which is a flow chart of a data labeling method provided in an embodiment of the present disclosure. The method may include the following steps:
[0029] Step S101: determining a target point cloud area including a target position in the point cloud data to be processed, wherein the point cloud data to be processed is point cloud data acquired for a target object, the target object includes elements to be annotated, the target position is a position corresponding to the elements to be annotated in the point cloud data to be processed, and the target point cloud area is a point cloud area that conforms to a preset area range.
[0030] Step S102: annotating the target data based on the target point cloud data, wherein the target point cloud data is the point cloud data corresponding to the target point cloud area in the point cloud data to be processed, and the target data includes data for describing the elements to be annotated.
[0031] The data annotation method provided in the embodiment of the present disclosure first determines the target point cloud area including the target position in the point cloud data to be processed, and then annotates the target data based on the target point cloud data corresponding to the target point cloud area in the point cloud data to be processed. Since the target position is the position corresponding to the element to be annotated in the point cloud data to be processed, the target point cloud area is the point cloud area in the point cloud data to be processed that includes the target position and meets the preset area range. Therefore, annotating the target data based on the target point cloud data corresponding to the target point cloud area in the point cloud data to be processed can not only reduce the difficulty of data annotation, but also improve the accuracy of data annotation.
[0032] In the embodiments of the present disclosure, the point cloud data is generally laser point cloud data, and may also be other types of point cloud data, such as point cloud data obtained using a photographic scanner. Specifically, in the embodiments of the present disclosure, the type of point cloud data is not specifically limited.
[0033] The so-called target object is an object pre-selected for a preset application field. The so-called preset application field is a scene applied to point cloud data, including but not limited to autonomous parking scenes, autonomous driving scenes, high-precision map generation scenes, and terrain mapping scenes.
[0034] Specifically, when the preset application scenario is a parking lot memory parking (Valet Parking Assist, VPA) scenario, the target object at least includes a pre-selected parking lot. For another example: when the preset application scenario is a terrain mapping scenario, the target object at least includes an area to be mapped.
[0035] The so-called element to be annotated is at least one element included in the target object. Specifically, it may refer to: an element pre-selected in the target object according to a preset application scenario. Among them, the so-called element may be an entity used to constitute the target object.
[0036] For example, when the preset application scenario is a VPA scenario, the elements include at least parking posts, walls, speed bumps, ground lane lines, and traffic signs. Traffic signs include but are not limited to traffic signs posted or hung on the surface of parking posts (hereinafter referred to as posts), and traffic signs posted or hung on the surface of walls (hereinafter referred to as walls).
[0037] In the VPA scenario, since parking posts, walls, speed bumps, lane lines, and traffic signs in the parking lot will affect the parking route, in the VPA scenario, data related to parking posts, walls, speed bumps, lane lines, or traffic signs need to be displayed to the vehicles and drivers waiting to park.
[0038] In this scenario, elements such as parking pillars, walls, speed bumps, ground lane lines or traffic signs in the parking lot can be used as elements to be labeled. After obtaining the point cloud data to be processed, the relevant data can be identified as target data for data labeling, so that vehicles to be parked and drivers can obtain and understand the relevant data through the point cloud data carrying the target data.
[0039] For another example, when the preset application scenario is a terrain mapping scenario, the elements at least include the landforms in the area to be mapped, such as hills, rivers, and plains.
[0040] In the terrain surveying and mapping scenario, hills, rivers, plains and other features need to be drawn during the terrain map drawing stage, and corresponding elevation data need to be assigned to the hills, rivers, plains and other features.
[0041] In this scenario, hills, rivers, plains and other features can be taken as elements to be labeled, and after obtaining the point cloud data to be processed, the elevation data of hills, rivers, plains and other features are determined as target data for data annotation to ensure that in the process of drawing topographic maps, the elevation data of hills, rivers, plains and other features can be obtained based on the point cloud data carrying elevation data.
[0042] In the embodiments of the present disclosure, the data used to describe the element to be annotated includes at least one of data used to describe the basic attributes of the element to be annotated and data used to describe the content identified by the element to be annotated. The basic attributes of the element to be annotated include but are not limited to the name, type, purpose, etc. of the element to be annotated, and the identified content refers to the content that the element to be annotated can identify. The content that the element to be annotated can identify can be determined by the text, symbols, etc. carried on the element to be annotated.
[0043] The so-called target position refers to the distribution space corresponding to the element to be annotated in the point cloud data to be processed, which can be a point position or a regional position.
[0044] The so-called preset area range includes the area range preset for the target location, and the preset area range needs to meet the following requirements: the area difference between the maximum area in the preset area range and the area where the target location is located cannot exceed the specified threshold, and the area area of the minimum area in the preset area range must be larger than the area area of the area where the target location is located.
[0045] Taking the preset application scenario as the VPA scenario as an example, the elements to be annotated may include lane lines on the ground, and traffic signs on walls or cylinders. The ground, wall, and cylinder in the target object are reflected in the point cloud data to be processed as planes, facades, and elevations, respectively. In other words, the target position may be located on a plane or elevation in the point cloud data to be processed. In the case where both planes and elevations exist in the point cloud data to be processed, it is often impossible to accurately select the target position based on the point cloud data to be processed, which will result in the inability to accurately annotate the target data.
[0046] In addition, when there are both planes and elevations in the point cloud data to be processed, the process of selecting the target position based on the point cloud data to be processed will be more complicated, which will make the entire data standard process more complicated.
[0047] In addition, in other scenarios, or other situations in the VPA scenario, there may also be a problem that the implementation process of selecting the target position based on the point cloud data to be processed is more complicated.
[0048] However, if the target point cloud area including the target position is first determined in the point cloud data to be processed, and then the target data is annotated based on the target point cloud data corresponding to the target point cloud area in the point cloud data to be processed. Since the target point cloud area is the point cloud area in the point cloud data to be processed that includes the target position and meets the preset area range, the target position can be conveniently and accurately selected based on the target point cloud data. This can reduce the difficulty of data annotation and improve the accuracy of data annotation.
[0049] In the embodiment of the present disclosure, the specific implementation method of determining the target point cloud area in the point cloud data to be processed can be as follows: Figure 2 As shown, Figure 2 The present invention is a flowchart of a method for determining a target point cloud area provided in an embodiment of the present invention. Figure 2 The method shown in comprises the following steps:
[0050] Step S201: determining a first point cloud region including a target position in the point cloud data to be processed.
[0051] Step S202: when the first point cloud area does not conform to the preset area range, obtaining first point cloud data, the first point cloud data being point cloud data corresponding to the first point cloud area in the point cloud data to be processed.
[0052] Step S203: determining a target point cloud area in the first point cloud data.
[0053] First, the first point cloud area is determined in the point cloud data to be processed. If the first point cloud area does not meet the preset area range, the target point cloud area is further determined in the first point cloud data, which can reduce the workload in the process of determining the target point cloud area. And the target point cloud area can be more conveniently determined in the first point cloud data.
[0054] In an embodiment of the present disclosure, if the first point cloud area meets the preset area range, the first point cloud area is directly determined as the target point cloud area.
[0055] In addition, after the target point cloud area is determined, the target point cloud area can be manually adjusted to improve the accuracy of the target point cloud area.
[0056] In order to ensure that the target position can be included in the first point cloud area, the area of the determined first point cloud area will generally be relatively large. In this way, there is a high probability that the first point cloud area will not conform to the preset area range. Therefore, in order to be able to determine the target point cloud area that conforms to the preset area range, when the first point cloud area does not conform to the preset area range, it is also necessary to adjust the first point cloud area to obtain the target point cloud area. The specific adjustment process is: obtain the first point cloud data corresponding to the first point cloud area in the point cloud data to be processed, and determine the target point cloud area in the first point cloud data.
[0057] In the embodiment of the present disclosure, the specific implementation method of determining the target point cloud area in the first point cloud data can be as follows: Figure 3 As shown, Figure 3 The present invention is a flowchart of another method for determining a target point cloud area provided in an embodiment of the present disclosure. Figure 3 The method shown in comprises the following steps:
[0058] Step S301: determining a second point cloud region including a target position in the first point cloud data.
[0059] Step S302: When the second point cloud region meets the preset region range, the second point cloud region is determined as a target point cloud region.
[0060] When the second point cloud region conforms to the preset region range, the second point cloud region is determined as the target point cloud region, which can ensure that the target point cloud region conforms to the preset region range.
[0061] In the embodiment of the present disclosure, if the second point cloud area still does not conform to the preset area range, the second point cloud data can be further obtained, and the target point cloud area can be determined in the third point cloud data, wherein the third point cloud data is the point cloud data corresponding to the first point cloud area in the point cloud data to be processed.
[0062] It should be noted that the process of determining the target point cloud area in the third point cloud data is substantially the same as the process of determining the target point cloud area in the first point cloud data, and will not be described in detail here.
[0063] In the embodiment of the present disclosure, based on the target point cloud data, a specific implementation method of labeling the target data may include the following steps: first, the point cloud data to be labeled is selected in the target point cloud data, and the point cloud data to be labeled is the point cloud data corresponding to the target position in the point cloud data to be processed. Then, the target data is labeled on the point cloud data to be labeled.
[0064] After selecting the point cloud data to be annotated, the target data is annotated on the point cloud data to ensure the accuracy of the target data annotation. And because the target point cloud area is the point cloud area that includes the target position in the point cloud data to be processed and meets the preset area range, selecting the point cloud data to be annotated in the marked point cloud data can make the selection operation of the point cloud data to be processed more convenient, and can more accurately select the point cloud data to be processed, thereby improving the accuracy of data annotation.
[0065] In the embodiment of the present disclosure, the target position can be determined as follows: Figure 4 As shown, Figure 4 The present invention is a flowchart of a method for determining a target position provided in an embodiment of the present invention. Figure 4 The method shown in comprises the following steps:
[0066] Step S401: determining the image position of the element to be annotated in the target image, where the target image is an image associated with the point cloud data to be processed.
[0067] Step S402: Determine the target position based on the image position.
[0068] Since the target image is an image associated with the point cloud data to be processed, determining the target position based on the image position of the element to be annotated in the target image can increase the probability that the target position is the position corresponding to the annotated element in the point cloud data to be processed.
[0069] The target image being an image associated with the point cloud data to be processed may mean that the target image is an image acquired synchronously with the point cloud data to be processed. The target image being an image associated with the point cloud data to be processed may also mean that the target image is an image obtained by projecting or mapping the point cloud data to be processed.
[0070] In the embodiments of the present disclosure, the specific implementation method for determining the target position based on the image position can be: first, determine the two-dimensional coordinates corresponding to the target image in the image coordinate system, and obtain the three-dimensional coordinates corresponding to the point cloud data to be processed in the three-dimensional coordinate system of the space. Secondly, obtain the coordinate transformation relationship between the two-dimensional coordinates and the three-dimensional coordinates. Thirdly, obtain the target two-dimensional coordinates corresponding to the image position, and find the coordinate transformation relationship to determine the target three-dimensional coordinates corresponding to the target two-dimensional coordinates in the three-dimensional coordinates. Finally, use the target three-dimensional coordinates to determine the target position in the point cloud data to be processed.
[0071] In the embodiments of the present disclosure, the specific implementation method of determining the target position based on the image position can also be: first, determine the point projection (or point mapping) relationship between the point cloud data to be processed and the target image. Then, use the point projection (or point mapping) relationship to determine the candidate position corresponding to the image position in the point cloud data to be processed. Finally, determine the candidate position as the target position.
[0072] It should be noted that the method for determining the target position is not specifically limited in the embodiments of the present disclosure. Figure 4 In addition to the method shown in , other methods can also be used to determine the target position. For example, the target position can be determined by visual inspection.
[0073] In an embodiment of the present disclosure, when the element to be labeled includes a traffic sign, the method for determining the target data may include the following steps: first, determining the traffic content identified by the traffic sign. Then, determining the traffic content as the target data.
[0074] Although the point cloud data to be processed can be used to represent the appearance of the target object and the element to be annotated, when the element to be annotated is a traffic sign, the traffic content of the traffic sign can often provide more and more accurate information for road traffic than the appearance of the traffic sign. Therefore, the traffic content is determined as the target data to annotate the target data, so that more and more accurate information for road traffic can be reflected through the point cloud data to be processed that carries the target data.
[0075] The so-called traffic content includes: the traffic regulations and road information that the traffic sign wants to identify through the graphics, text, numbers, symbols and their combination. Specifically, the traffic content may include a speed limit of 50 kilometers per hour, a height limit of 3 meters, parking is allowed here, and parking is prohibited here. The traffic content can be obtained by performing image recognition on the target image.
[0076] In an embodiment of the present disclosure, after the target data is labeled, the unprocessed point cloud data carrying the target data can also be determined as processed point cloud data, and the processed point cloud data can be further visualized and rendered to be displayed on a preset data display page or interface.
[0077] In the embodiments of the present disclosure, data annotation can also be achieved in the following ways. Figure 5 , Figure 5 The present invention is a flowchart of another data labeling method provided in an embodiment of the present invention. Figure 5 The method shown in comprises the following steps:
[0078] Step S501: Visually render and display the point cloud data to be processed. Specifically, in response to the user's first trigger operation on the human-computer interaction interface, the client obtains the point cloud data to be processed, visually renders the point cloud data to be processed, and displays the visually rendered point cloud data to be processed on the human-computer interaction interface.
[0079] The so-called user terminal is an electronic device that is used to run the target application or software and is equipped with a human-computer interaction interface. The target application or software is an application or software with a data annotation function. The implementation of the electronic device includes but is not limited to: a computer. The so-called application or software may exist in the form of: a mobile phone application, a computer application or software, and a web application or software.
[0080] The so-called first trigger operation is a trigger operation for instructing the user end to perform visual rendering and display on the point cloud data to be processed.
[0081] Step S502: Determine the target position. Specifically, the client determines the target position in the to-be-processed point cloud data in response to the second trigger operation of the user on the human-computer interaction interface.
[0082] The so-called first trigger operation is a trigger operation used to instruct the user terminal to determine the target location.
[0083] Step S503: Determine a first point cloud region. Specifically, the user terminal determines a first point cloud region in the point cloud data to be processed in response to a rectangular frame determined by the user through the human-computer interaction interface.
[0084] The rectangular frame is used to instruct the user end to select a point cloud area corresponding to the rectangular frame in the point cloud data to be processed. In addition, the rectangular frame can be transformed into other shapes according to requirements.
[0085] Step S504: Determine whether the first point cloud area meets the preset area range. If the determination result is yes, execute step S505, and if the determination result is no, execute step S506.
[0086] The specific implementation method of judging whether the first point cloud region conforms to the preset region range is as follows: judging whether the region area of the first point cloud region is within the region area corresponding to the preset region range.
[0087] Step S505: labeling the target data. Specifically, if the first point cloud area meets the preset area range, the first point cloud area is directly determined as the target point cloud area, and the target data is labeled based on the target point cloud data.
[0088] Step S506: Determine the second point cloud area. Specifically, the first point cloud data is cut out from the point cloud data to be processed, and the first point cloud data is visually rendered and displayed. The user terminal again responds to the rectangular frame determined by the user through the human-computer interaction interface and selects the second point cloud area in the first point cloud data.
[0089] In addition, the method of cutting out the first point cloud data from the point cloud data to be processed includes displaying the first point cloud data separately, or shielding other data in the first point cloud data except the first point cloud data.
[0090] Step S507: Determine whether the second point cloud area meets the preset area range, and execute step S505 if the judgment result is yes, and execute step S508 if the judgment result is no.
[0091] Step S508: Continue to determine the target point cloud area based on the third point cloud data.
[0092] In the embodiments of the present disclosure, different elements in the target object may be sequentially determined as elements to be annotated to perform annotating of the target data.
[0093] like Figure 6 As shown, an embodiment of the present disclosure provides a data labeling device, the device comprising:
[0094] The target point cloud region determining unit 601 is used to determine a target point cloud region including a target position in the point cloud data to be processed, wherein the point cloud data to be processed is point cloud data acquired for a target object, the target object includes an element to be annotated, the target position is a position corresponding to the element to be annotated in the point cloud data to be processed, and the target point cloud region is a point cloud region that meets a preset area range;
[0095] The target data labeling unit 602 is used to label the target data based on the target point cloud data, wherein the target point cloud data is the point cloud data corresponding to the target point cloud area in the point cloud data to be processed, and the target data includes data for describing the elements to be labeled.
[0096] In one implementation, the target point cloud area determination unit 601 may include:
[0097] A first point cloud region determining subunit, configured to determine a first point cloud region including the target position in the point cloud data to be processed;
[0098] A first point cloud data obtaining subunit is used to obtain first point cloud data when the first point cloud area does not conform to the preset area range, wherein the first point cloud data is point cloud data corresponding to the first point cloud area in the point cloud data to be processed;
[0099] The target point cloud area determination subunit is used to determine the target point cloud area in the first point cloud data.
[0100] In one implementation, the target point cloud area determination subunit may include:
[0101] A first point cloud region determining subunit, configured to determine a second point cloud region including the target position in the first point cloud data;
[0102] The target point cloud region obtaining subunit is used to determine the second point cloud region as the target point cloud region when the second point cloud region conforms to the preset region range.
[0103] In one implementation, the target data labeling unit 602 may include:
[0104] A point cloud data to be annotated selection subunit is used to select point cloud data to be annotated in the target point cloud data, wherein the point cloud data to be annotated is the point cloud data corresponding to the target position in the point cloud data to be processed;
[0105] The target data labeling subunit is used to label the target data on the point cloud data to be labeled.
[0106] In one implementation, the target data labeling unit 602 may include:
[0107] An image position determination subunit, used to determine the image position of the element to be annotated in a target image, wherein the target image is an image associated with the point cloud data to be processed;
[0108] The target position determination subunit is used to determine the target position based on the image position.
[0109] In one implementation, when the element to be annotated includes a traffic sign, the target data annotating unit 602 may include:
[0110] A traffic content determination subunit, used to determine the traffic content indicated by the traffic sign;
[0111] The target data determination subunit is used to determine the traffic content as the target data.
[0112] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0113] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.
[0114] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment 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 can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0115] like Figure 7 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0116] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0117] The computing unit 701 may be a variety of general and / or special 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 dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as data annotation methods. For example, in some embodiments, the data annotation method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the data annotation method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the data annotation method in any other appropriate manner (e.g., by means of firmware).
[0118] Various implementations 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 chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0119] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data annotation device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0120] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0121] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the 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 acoustic input, voice input, or tactile input).
[0122] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0123] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0124] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0125] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A data annotation method, comprising: A target point cloud area including a target position is determined in the point cloud data to be processed, the point cloud data to be processed is point cloud data acquired for a target object, the target object includes an element to be annotated, the target position is a position corresponding to the element to be annotated in the point cloud data to be processed, and the target point cloud area is a point cloud area that conforms to a preset area range; wherein the requirements that the preset area range needs to meet include: the area difference between the maximum area in the preset area range and the area where the target position is located cannot exceed a specified threshold, and the area area of the minimum area in the preset area range must be larger than the area area of the area where the target position is located; Based on the target point cloud data, the target data is annotated, wherein the target point cloud data is point cloud data corresponding to the target point cloud area in the point cloud data to be processed, and the target data includes data for describing the elements to be annotated; Wherein, determining the target point cloud area including the target position in the point cloud data to be processed includes: Determining a first point cloud area including the target location in the point cloud data to be processed; When the first point cloud area does not conform to the preset area range, first point cloud data is obtained, where the first point cloud data is point cloud data corresponding to the first point cloud area in the point cloud data to be processed; Determining the target point cloud area in the first point cloud data; Wherein, determining the target point cloud area in the first point cloud data includes: Determining a second point cloud area including the target location in the first point cloud data; When the second point cloud area meets the preset area range, the second point cloud area is determined as the target point cloud area.
2. According to the method of claim 1, the step of labeling the target data based on the target point cloud data comprises: Selecting point cloud data to be annotated from the target point cloud data, the point cloud data to be annotated is point cloud data corresponding to the target position in the point cloud data to be processed; The target data is labeled on the point cloud data to be labeled.
3. According to the method of claim 1, the method of determining the target position comprises: Determining an image position of the element to be annotated in a target image, wherein the target image is an image associated with the point cloud data to be processed; Based on the image position, the target position is determined.
4. According to the method of claim 1, when the element to be labeled includes a traffic sign, the method of determining the target data includes: Determining the traffic content indicated by the traffic sign; The traffic content is determined as the target data.
5. A data annotation device, comprising: A target point cloud area determination unit is used to determine a target point cloud area including a target position in the point cloud data to be processed, wherein the point cloud data to be processed is point cloud data acquired for a target object, the target object includes elements to be annotated, the target position is a position corresponding to the elements to be annotated in the point cloud data to be processed, and the target point cloud area is a point cloud area that conforms to a preset area range; wherein the requirements that the preset area range needs to meet include: the area difference between the maximum area in the preset area range and the area where the target position is located cannot exceed a specified threshold, and the area area of the minimum area in the preset area range must be larger than the area area of the area where the target position is located; A target data labeling unit, used for labeling target data based on target point cloud data, wherein the target point cloud data is point cloud data corresponding to the target point cloud area in the point cloud data to be processed, and the target data includes data for describing the elements to be labeled; Wherein, the target point cloud area determination unit includes: A first point cloud region determining subunit, configured to determine a first point cloud region including the target position in the point cloud data to be processed; A first point cloud data obtaining subunit is used to obtain first point cloud data when the first point cloud area does not conform to the preset area range, wherein the first point cloud data is point cloud data corresponding to the first point cloud area in the point cloud data to be processed; a target point cloud region determining subunit, configured to determine the target point cloud region in the first point cloud data; Wherein, the target point cloud area determination subunit includes: A first point cloud region determining subunit, configured to determine a second point cloud region including the target position in the first point cloud data; The target point cloud region obtaining subunit is used to determine the second point cloud region as the target point cloud region when the second point cloud region conforms to the preset region range.
6. The device according to claim 5, wherein the target data labeling unit comprises: A point cloud data to be annotated selection subunit is used to select point cloud data to be annotated in the target point cloud data, wherein the point cloud data to be annotated is the point cloud data corresponding to the target position in the point cloud data to be processed; The target data labeling subunit is used to label the target data on the point cloud data to be labeled.
7. The device according to claim 5, wherein the target data labeling unit comprises: An image position determination subunit, used to determine the image position of the element to be annotated in a target image, wherein the target image is an image associated with the point cloud data to be processed; The target position determination subunit is used to determine the target position based on the image position.
8. The device according to claim 5, when the element to be annotated includes a traffic sign, the target data annotating unit comprises: A traffic content determination subunit, used to determine the traffic content indicated by the traffic sign; The target data determination subunit is used to determine the traffic content as the target data.
9. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; 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 method according to any one of claims 1 to 4.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 4.
11. A computer program product comprising a computer program / instructions, wherein: When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Point cloud labeling method, device and system
CN112950785A
Point cloud labeling method and device, storage medium and electronic equipment
CN113160349A
Data labeling method and device, equipment, storage medium and computer program product
CN113191279A