CN112526545A - Laser radar point cloud processing method and device, storage medium and terminal equipment - Google Patents

Laser radar point cloud processing method and device, storage medium and terminal equipment Download PDF

Info

Publication number
CN112526545A
CN112526545A CN201910814746.9A CN201910814746A CN112526545A CN 112526545 A CN112526545 A CN 112526545A CN 201910814746 A CN201910814746 A CN 201910814746A CN 112526545 A CN112526545 A CN 112526545A
Authority
CN
China
Prior art keywords
data point
point
queue
processed
point cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910814746.9A
Other languages
Chinese (zh)
Inventor
刘夏
刘冬山
杨珺鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suteng Innovation Technology Co Ltd
Original Assignee
Suteng Innovation Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suteng Innovation Technology Co Ltd filed Critical Suteng Innovation Technology Co Ltd
Priority to CN201910814746.9A priority Critical patent/CN112526545A/en
Publication of CN112526545A publication Critical patent/CN112526545A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/495Counter-measures or counter-counter-measures using electronic or electro-optical means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Traffic Control Systems (AREA)

Abstract

The application relates to the technical field of data processing, in particular to a laser radar point cloud processing method and device, a readable storage medium and terminal equipment. The laser radar point cloud processing method comprises the following steps: acquiring original laser radar point cloud, and acquiring a first data point queue to be processed from the original laser radar point cloud; determining a first target data point in the first queue of data points to be processed; calculating a first distance between the first target data point and other data points in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold; and when the first number is smaller than the preset number, deleting the first target data points from the original laser radar point cloud to obtain a target laser radar point cloud, so that the isolated noise points in the original laser radar point cloud are accurately determined, deleting the isolated noise points, effectively reducing the isolated noise points in the point cloud, improving the quality of the point cloud, and further ensuring the stability of the point cloud image.

Description

Laser radar point cloud processing method and device, storage medium and terminal equipment
Technical Field
The application belongs to the technical field of data processing, and particularly relates to a laser radar point cloud processing method and device, a computer readable storage medium and terminal equipment.
Background
The point cloud of the laser radar is generally obtained according to a time of flight (tof) principle, that is, a transmitter transmits a detection signal (laser) to a target, a high-sensitivity silicon photomultiplier (sipm) (silicon photo multiplexer) or other devices are used as a photodetector to receive an echo signal reflected from the target, and then the received echo signal is compared with the detection signal to obtain the point cloud corresponding to the target. Although the detection capability of the laser radar can be greatly improved by using the SiPM device as the photoelectric detector, more false echo signals are generated at the same time, so that more isolated noise points are generated in the spatial point cloud, and the quality of the point cloud is influenced.
Disclosure of Invention
The embodiment of the application provides a laser radar point cloud processing method and device, a computer readable storage medium and terminal equipment, and can solve the problems that a lot of isolated noise points exist in laser radar point cloud and the quality of the point cloud is influenced.
In a first aspect, an embodiment of the present application provides a laser radar point cloud processing method, including:
acquiring original laser radar point cloud, and acquiring a first data point queue to be processed from the original laser radar point cloud;
determining a first target data point in the first queue of data points to be processed;
calculating a first distance between the first target data point and other data points in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold;
and when the first number is smaller than the preset number, deleting the first target data point from the original laser radar point cloud to obtain a target laser radar point cloud.
In a possible implementation manner of the first aspect, before obtaining the first queue of data points to be processed from the original lidar point cloud, the method includes:
acquiring a second data point queue to be processed from the original laser radar point cloud;
determining a second target data point in the second data point queue to be processed, and determining whether the second target data point meets a first preset condition;
if the second target data point does not meet the first preset condition, acquiring a first candidate data point meeting the first preset condition in the second data point queue to be processed;
determining a first number corresponding to each first candidate data point and a second number corresponding to the second target data point;
and determining whether the first candidate data point meets a second preset condition according to the magnitude relation between the first numbers and the second numbers.
Optionally, after determining whether the first candidate data point satisfies a second preset condition, the method includes:
if the first candidate data point meets the second preset condition, determining a largest first candidate data point and a smallest first candidate data point in the first candidate data points;
calculating a second distance between the largest first candidate data point and the smallest first candidate data point;
if the second distance is smaller than a second threshold value, calculating a first average value corresponding to the first candidate data point;
and performing interpolation processing on the second target data point by using the first average value to obtain an interpolated original laser radar point cloud.
In a possible implementation manner of the first aspect, before obtaining the first queue of data points to be processed from the original lidar point cloud, the method further includes:
acquiring a third data point queue to be processed from the original laser radar point cloud;
determining a third target data point in the third data point queue to be processed, and calculating a third distance between the third target data point and each other data point in the third data point queue to be processed;
determining slopes corresponding to the third target data point and other data points in the third to-be-processed data point queue according to the third distances;
and smoothing the third target data point according to the slope and the third data point queue to be processed to obtain smoothed original laser radar point cloud.
Optionally, the smoothing of the third target data point according to the slope and the third to-be-processed data point queue to obtain a smoothed original lidar point cloud includes:
determining a slope range to which the slope belongs, and acquiring a second number of data points corresponding to the slope range;
selecting the second number of second candidate data points from the third to-be-processed data point queue according to a preset selection mode;
acquiring a third candidate data point which meets a first preset condition in the second candidate data points;
determining a largest third candidate data point and a smallest third candidate data point of the third candidate data points;
calculating a fourth distance between the largest third candidate data point and the smallest third candidate data point;
and if the fourth distance is smaller than a third threshold value, calculating a second average value corresponding to the third candidate data point, and updating the third target data point by using the second average value to obtain the smoothed original laser radar point cloud.
In a possible implementation manner of the first aspect, the determining, according to each of the third distances, a slope corresponding to each of the third target data point and other data points in the third queue of data points to be processed includes:
determining a maximum distance and a minimum distance of the third distances;
and calculating a distance difference between the maximum distance and the minimum distance, and determining the distance difference as the slope corresponding to the third target data point and each other data point in the third to-be-processed data point queue.
In a second aspect, an embodiment of the present application provides a laser radar point cloud processing apparatus, including:
the system comprises an original point cloud acquisition module, a first point cloud processing module and a second point cloud processing module, wherein the original point cloud acquisition module is used for acquiring an original laser radar point cloud and acquiring a first data point queue to be processed from the original laser radar point cloud;
a first target data point determination module for determining a first target data point in the first queue of data points to be processed;
the first quantity counting module is used for calculating a first distance between the first target data point and each other data point in the first to-be-processed data point queue and counting a first quantity of the first distance smaller than a first threshold value;
and the first target data point deleting module is used for deleting the first target data points from the original laser radar point cloud to obtain a target laser radar point cloud when the first number is smaller than a preset number.
In a third aspect, an embodiment of the present application provides a terminal device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the computer program, the processor implements the lidar point cloud processing method according to any one of the first aspect.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the laser radar point cloud processing method according to any one of the first aspect is implemented.
In a fifth aspect, an embodiment of the present application provides a computer program product, which, when run on a terminal device, causes the terminal device to execute the laser radar point cloud processing method according to any one of the above first aspects.
It is understood that the beneficial effects of the second aspect to the fifth aspect can be referred to the related description of the first aspect, and are not described herein again.
Compared with the prior art, the embodiment of the application has the advantages that:
in the embodiment of the application, an original laser radar point cloud is obtained firstly, and a first data point queue to be processed is obtained from the original laser radar point cloud; secondly, determining a first target data point in the first to-be-processed data point queue; then, calculating a first distance between the first target data point and each other data point in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold; and when the first number is smaller than the preset number, deleting the first target data points from the original laser radar point cloud to obtain a target laser radar point cloud, so that the isolated noise points in the original laser radar point cloud are accurately determined, and deleting the isolated noise points to effectively reduce the isolated noise points in the laser radar point cloud, improve the quality of the laser radar point cloud and ensure the stability of the point cloud image.
Drawings
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 the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a laser radar point cloud processing method according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a point cloud scanning performed by a lidar according to an embodiment of the present disclosure;
fig. 4 is a schematic flowchart of interpolation processing performed in an application scene by the laser radar point cloud processing method according to an embodiment of the present application;
fig. 5 is a schematic flow chart of a smoothing process performed in an application scene by the laser radar point cloud processing method according to an embodiment of the present application;
fig. 5a is a schematic flowchart of a smoothing process performed in another application scenario by the laser radar point cloud processing method according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a laser radar point cloud processing apparatus according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to" determining "or" in response to detecting ". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
The laser radar point cloud processing method provided by the embodiment of the application can be applied to terminal devices such as a mobile phone, a tablet personal computer, a wearable device, a vehicle-mounted device, an Augmented Reality (AR)/Virtual Reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a Personal Digital Assistant (PDA) and the like, and the embodiment of the application does not limit the specific types of the terminal devices at all.
Fig. 1 is a schematic structural diagram of a terminal device according to an embodiment of the present application. As shown in fig. 1, the terminal device 1 of the embodiment includes: at least one processor 10 (only one shown in fig. 1), a memory 11, and a computer program 12 stored in the memory 11 and executable on the at least one processor 10, the processor 10 implementing the steps in any of the various lidar point cloud processing method embodiments described above when executing the computer program 12.
The terminal device 1 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal device may include, but is not limited to, a processor 10, a memory 11. Those skilled in the art will appreciate that fig. 1 is only an example of the terminal device 1, and does not constitute a limitation to the terminal device 1, and may include more or less components than those shown, or combine some components, or different components, for example, and may further include an input/output device, a network access device, and the like.
The Processor 10 may be a Central Processing Unit (CPU), and the Processor 10 may be other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, a discrete hardware component, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 11 may in some embodiments be an internal storage unit of the terminal device 1, such as a hard disk or a memory of the terminal device 1. In other embodiments, the memory 11 may also be an external storage device of the terminal device 1, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like provided on the terminal device 1. Further, the memory 11 may also include both an internal storage unit and an external storage device of the terminal device 1. The memory 11 is used for storing an operating system, an application program, a BootLoader (BootLoader), data, and other programs, such as program codes of the computer program. The memory 11 may also be used to temporarily store data that has been output or is to be output.
Fig. 2 shows a schematic flowchart of a laser radar point cloud processing method provided in an embodiment of the present application, and as shown in fig. 2, the laser radar point cloud processing method includes:
step S201, acquiring original laser radar point cloud, and acquiring a first to-be-processed data point queue from the original laser radar point cloud;
the execution main part of this application embodiment can be terminal equipment, terminal equipment integration has laser scanning device such as laser radar or terminal equipment can be connected with laser scanning device such as laser radar, laser scanning device such as laser radar can include laser emitter, galvanometer and photoelectric detector etc. wherein, laser emitter is as light source transmission detected signal (like laser spot) to surveyed the target, photoelectric detector then receives the echo signal of being surveyed the target reflection back to can obtain each data point that the surveyed target corresponds according to echo signal and detected signal, can gather and obtain the laser radar point cloud that the surveyed target corresponds. Here, the galvanometer may be a Micro-Electro-Mechanical Systems (MEMS) galvanometer for controlling the deflection of laser light, so as to realize the scanning function of a laser device such as a laser radar. The terminal equipment can acquire laser radar point cloud scanned and collected by scanning devices such as laser radars and the like, and the laser radar point cloud is the original laser radar point cloud.
It should be noted that each data point of the original lidar point cloud may include a number corresponding to the emission sequence of the laser point. For example, as shown in fig. 3, in a specific application scenario, the laser radar sequentially transmits laser points 1, 2, 3, 4, 5, 6, 7, 8, and 9 to the target to be measured, so that the number of the data point obtained according to the laser point 1 is 1, the number of the data point obtained according to the laser point 2 is 2, the number of the data point obtained according to the laser point 3 is 3, the number of the data point obtained according to the laser point 4 is 4, and so on, the number of the data point obtained according to the laser point 9 is 9.
Specifically, after acquiring the original lidar point cloud, the terminal device may acquire a first to-be-processed data point queue from the original lidar point cloud, where the number of data points in the first to-be-processed data point queue may be 9, that is, 9 data points with consecutive numbers may be acquired from the original lidar point cloud at a time as the first to-be-processed data point queue, for example, data points with numbers of 1 to 9 may be acquired from the original lidar point cloud for the first time as the first to-be-processed data point queue, data points with numbers of 2 to 10 may be acquired from the original lidar point cloud for the second time as the first to-be-processed data point queue, data points with numbers of 3 to 11 may be acquired from the original lidar point cloud for the third time as the first to-be-processed data point queue, and so on.
In a possible implementation manner, a queue buffer may be disposed in the terminal device, the buffering number of the queue buffer may be set to 9, when the raw lidar point cloud is acquired, data points may be sequentially placed in the queue buffer according to the acquisition order of the data points in the raw lidar point cloud, and the data points in the queue buffer may be formed into the first to-be-processed data point queue, that is, the 9 data points in the queue buffer may be formed into the first to-be-processed data point. For example, data points numbered 1-9 may be first sequentially placed in the queue buffer as a first to-be-processed data point queue for the first time, after the first to-be-processed data point queue for the first time is processed, a data point numbered 10 may be continuously placed in the queue buffer, at this time, the data point numbered 1 may be squeezed out from the queue buffer, so that the queue buffer has data points numbered 2-10, and the data points numbered 2-10 may be determined as a first to-be-processed data point queue for the second time; after the second time of the first to-be-processed data point queue is processed, the data point numbered 11 can be continuously put into the queue buffer, at this time, the data point numbered 2 can be extruded out of the queue buffer, so that the data point numbered 3-11 is in the queue buffer, the data point numbered 3-11 can be determined as the third time of the first to-be-processed data point queue, and so on until all the data points in the original lidar point cloud are taken as the data points in the first to-be-processed data point queue.
It should be understood that the number of the data points in the first to-be-processed data point queue is 9, which is only schematically explained and should not be construed as a limitation to the embodiment of the present application, and in the embodiment of the present application, the number of the data points in the first to-be-processed data point queue may also be determined as other empirical values such as 7, 11, and the like. The following will be described in detail with reference to the number of data points in the first queue of processed data points being 9, and when the number of data points in the first queue of processed data points is 7, 11, or other empirical values, similar processing can be performed with reference to the description of 9.
Step S202, determining a first target data point in the first to-be-processed data point queue;
in this embodiment of the application, after the first to-be-processed data point queue is obtained, the terminal device may determine a first target data point from the first to-be-processed data point queue to perform specific deletion processing. Specifically, the terminal device may determine the first target data point according to a number corresponding to each data point in the first to-be-processed data point queue, for example, a data point numbered in an intermediate position in the first to-be-processed data point queue may be determined as the first target data point, and for example, a data point numbered 5 in the first to-be-processed data point queue numbered 1 to 9 may be determined as the first target data point; in the first queue of data points to be processed numbered 2-10, the data point numbered 6 may be determined to be the first target data point, and so on.
Step S203, calculating a first distance between the first target data point and each other data point in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold;
it can be understood that each data point in the original lidar point cloud may include a coordinate value corresponding to the data point, that is, when the terminal device acquires the first to-be-processed data point queue, the terminal device may immediately acquire the coordinate value corresponding to each data point in the first to-be-processed data point queue, and therefore, after the terminal device determines the first target data point, the terminal device may respectively calculate a first distance between the first target data point and each other data point in the first to-be-processed data point queue according to the coordinate value of each data point, where each other data point in the first to-be-processed data point queue refers to all data points in the first to-be-processed data point queue except the first target data point.
For example, when the data point No. 1-9 is the first to-be-processed data point queue and the data point No. 5 is the first target data point, the first distance between the data point No. 5 and the data point No. 1 may be calculated from the coordinate value R5 corresponding to the data point No. 5 and the coordinate value R1 corresponding to the data point No. 1, the first distance between the data point No. 5 and the data point No. 2 may be calculated from the coordinate value R5 corresponding to the data point No. 5 and the coordinate value R2 corresponding to the data point No. 2, the first distance between the data point No. 5 and the data point No. 3, … … may be calculated from the coordinate value R5 corresponding to the data point No. 5 and the coordinate value R3 corresponding to the data point No. 3, and the first distance between the data point No. 5 and the data point No. 9 may be calculated from the coordinate values R5 corresponding to the data point No. 5 and the coordinate value R9 corresponding to the data point No. 9, so that the first distance set { R5-R1, i, | R5-R2|, | R5-R3|, | R5-R4|, | R5-R6|, | R5-R7|, | R5-R8|, | R5-R9| }.
It should be noted that noise points in the lidar point cloud often occur randomly and conform to the feature of random distribution of the spatial point cloud, that is, noise points often appear in the lidar point cloud in an isolated manner, and there are no other adjacent data points around the noise points, so that a first threshold may be set in advance to determine whether there are adjacent data points around the first target data point to determine whether the first target data point appears in the lidar point cloud in an isolated manner, where the first threshold may be between 40 cm and 80 cm. Preferably, the first threshold may be 60 centimeters, that is, when the distance between the first target data point and a certain data point is less than 60 centimeters, the data point may be considered as an adjacent data point around the first target data point.
Specifically, after the terminal device calculates the first distance between the first target data point and each of the other data points in the first to-be-processed data point queue, it may count a first number of the first distances smaller than a first threshold, for example, count a first number of the first distances smaller than 60 centimeters, that is, count a first number smaller than 60 centimeters in a first distance set { | R5-R1|, | R5-R2|, | R5-R3|, | R5-R4|, | R5-R6|, | R5-R7|, | R5-R8|, | R5-R9| }.
And S204, deleting the first target data point from the original laser radar point cloud when the first number is smaller than the preset number to obtain a target laser radar point cloud.
In order to ensure the accuracy of determining the isolated noise points, in the embodiment of the present application, a preset number may be set in advance, and when the number of adjacent data points around the first target data point is smaller than the preset number, that is, when the first number obtained through statistics is smaller than the preset number, the first target data point may be considered as an isolated noise point; when the number of adjacent data points around the first target data point is greater than or equal to the preset number, that is, when the counted first number is greater than or equal to the preset number, the first target data point is considered not to be an isolated noise point. The preset number may be set to 3 according to practical conditions, and may be set to other empirical values according to practical conditions. After the terminal equipment determines that the first target data point is an isolated noise point, the first target data point can be deleted from the original laser radar point cloud, namely, the isolated noise point in the original laser radar point cloud is deleted to obtain a target laser radar point cloud, so that the isolated noise point in the target laser radar point cloud is reduced, the point cloud quality is improved, and the stability of a point cloud image is ensured.
In a possible implementation manner, missing data points may exist in original lidar point cloud collected by a laser scanning device such as a laser radar, and in order to ensure the point cloud quality, the embodiment of the application may further perform interpolation processing on the missing data points in the original lidar point cloud in advance to complete the original lidar point cloud. Specifically, as shown in fig. 4, before acquiring the first queue of data points to be processed from the original lidar point cloud, the method may further include:
s401, acquiring a second data point queue to be processed from the original laser radar point cloud;
here, the number of the data points in the second to-be-processed data point queue is preferably 5, where an obtaining manner of the second to-be-processed data point queue is similar to that of the first to-be-processed data point queue, and a basic principle is the same, and for brevity, details are not repeated here.
It should be understood that the number of data points in the second queue of data points to be processed is only schematically illustrated, and should not be construed as a limitation to the embodiment of the present application, and in the embodiment of the present application, the number of data points in the second queue of data points to be processed may also be determined as other empirical values such as 7, 9, and the like. The following will be described in detail with reference to 5 data points in the second queue of data points to be processed, and similar processing can be performed with reference to 5 data points in the second queue of data points to be processed with other empirical values such as 7 data points, 9 data points, and the like.
Step S402, determining a second target data point in the second to-be-processed data point queue, and determining whether the second target data point meets a first preset condition;
specifically, the terminal device may determine the second target data point according to the number corresponding to each data point in the second to-be-processed data point queue, for example, a data point in the second to-be-processed data point queue with a middle number may be determined as the second target data point, and for example, in the second to-be-processed data point queue with numbers of 1 to 5, a data point with a number of 3 may be determined as the second target data point; in the second queue of pending data points numbered 2-6, the data point numbered 4 may be determined to be the second target data point, and so on.
It can be understood that, when a laser scanning device such as a laser radar scans a certain position of a target to be measured, if a situation occurs that a laser point emitted by a laser emitter does not receive a corresponding echo signal, and the like, a data point generated by the position scanning does not exist, at this time, a coordinate value corresponding to the data point generated by the position scanning may be set to a predetermined value, where the predetermined value may be 5555, that is, a coordinate value corresponding to the nonexistent data point may be set to 5555, so as to indicate that the data point generated by the position scanning is a missing data point. Here, the first preset condition may be a valid data point, that is, the coordinate value of the data point is not the predetermined value 5555. For example, after determining a second target data point in the second queue of data points to be processed, it may be determined whether the second target data point meets a first preset condition according to a coordinate value of the second target data point, that is, it is determined whether the second target data point is a valid data point.
It should be understood that the predetermined value 5555 is only schematically illustrated, and should not be construed as a limitation to the embodiment of the present application, and the embodiment of the present application may be set to other values according to actual needs.
Step S403, if the second target data point does not satisfy the first preset condition, acquiring a first candidate data point satisfying the first preset condition in the second to-be-processed data point queue;
it should be noted that, if the second target data point does not satisfy the first preset condition, that is, if the second target data point is not a valid data point but a missing data point, the terminal device may obtain a first candidate data point in the second to-be-processed data point queue, which satisfies the first preset condition, that is, the first candidate data point is a valid data point in the second to-be-processed data point queue.
Step S404, determining a first number corresponding to each first candidate data point and a second number corresponding to the second target data point;
step S405, determining whether the first candidate data point satisfies a second preset condition according to a magnitude relationship between each of the first numbers and the second numbers.
For the above steps S404 and S405, after the first candidate data point is obtained, the terminal device may further determine whether the first candidate data point meets a second preset condition, so as to determine whether interpolation processing needs to be performed on the second target data point. Specifically, when the first candidate data point satisfies the second preset condition, it indicates that interpolation processing needs to be performed on the second target data point; when the first candidate data point does not satisfy the second preset condition, it indicates that the data points on the left and right sides of the second target data point do not come from the same object, so that interpolation processing on the second target data point is not required, at this time, the subsequent operation on the second target data point can be ended, and a next second target data point can be determined to perform interpolation operation on the next second target data point.
Here, the second preset condition may be a condition to be satisfied between a first number corresponding to the first candidate data point and a second number corresponding to the second target data point. Specifically, the second preset condition may be that at least one first number larger than the second number exists in the first numbers, and at least one first number smaller than the second number also exists in the first numbers. For example, when the data point 1-5 is the second queue of data points to be processed and the data point 3 is the second target data point, it is determined that the first candidate data point satisfies the second preset condition only when at least one valid data point needs to exist in the data points 1 and 2 and at least one valid data point needs to exist in the data points 3 and 4, and at this time, it is determined that interpolation processing needs to be performed on the data point 3 (i.e., the second target data point), otherwise, it is determined that interpolation processing does not need to be performed on the data point 3.
As shown in fig. 4, if it is determined that interpolation processing needs to be performed on the second target data point, the embodiment of the present application may further include:
step S406, if the first candidate data point satisfies the second preset condition, determining a largest first candidate data point and a smallest first candidate data point in the first candidate data points;
step S407, calculating a second distance between the maximum first candidate data point and the minimum first candidate data point;
step S408, if the second distance is smaller than a second threshold, calculating a first average value corresponding to the first candidate data point;
and S409, performing interpolation processing on the second target data point by using the first average value to obtain an interpolated original laser radar point cloud.
With respect to the above steps S406 to S409, it should be understood that, if the terminal device determines that the second target data point needs to be interpolated, it may first determine a maximum first candidate data point and a minimum first candidate data point in the first candidate data points, and then calculate a second distance between the maximum first candidate data point and the minimum first candidate data point, and if the second distance is smaller than a second threshold, where the second threshold is preferably 50 cm, it indicates that the second target data point can be interpolated by using the first candidate data point, at this time, the terminal device may calculate a first average value corresponding to the first candidate data point, and may interpolate the second target data point by using the first average value, that is, the first average value may be assigned to the second target data point, and completing all lost data points in the original laser radar point cloud through interpolation processing, so as to obtain the completed original laser radar point cloud. Here, if the second distance is greater than or equal to the second threshold, it may be determined that the data points on the left and right sides of the second target data point do not come from the same object, and at this time, the interpolation process may not be performed on the second target data point.
Here, the setting of the second threshold to 50 cm is only schematically explained, and should not be construed as a limitation to the embodiment of the present application, and the embodiment of the present application may also be set to other empirical values according to actual needs.
In a possible implementation manner, the distance fluctuation in the laser radar point cloud is too large due to the jitter characteristic in the original laser radar point cloud collected by the laser scanning devices such as the laser radar, so that the ranging precision of the laser radar point cloud is reduced, and therefore, for improving the ranging precision of the laser radar point cloud to ensure the point cloud quality, the embodiment of the application can also perform smoothing treatment on the original laser radar point cloud in advance. As shown in fig. 5, before acquiring the first queue of data points to be processed from the original lidar point cloud, the method may further include:
s501, acquiring a third data point queue to be processed from the original laser radar point cloud;
it can be understood that, after obtaining the original lidar point cloud, the terminal device may obtain a third queue of data points to be processed from the original lidar point cloud, where the number of data points in the third queue of data points to be processed is preferably 9, that is, 9 data points with consecutive numbers may be obtained from the original lidar point cloud at a time as the third queue of data points to be processed, for example, data points with numbers of 1 to 9 may be obtained from the original lidar point cloud for the first time as the third queue of data points to be processed, data points with numbers of 2 to 10 may be obtained from the original lidar point cloud for the second time as the third queue of data points to be processed, data points with numbers of 3 to 11 may be obtained from the original lidar point cloud for the third time as the third queue of data points to be processed, and so on.
It should be understood that, in the embodiment of the present application, the smoothing processing may also be performed on the interpolated original lidar point cloud, that is, a third to-be-processed data point queue may be obtained from the interpolated original lidar point cloud to perform the smoothing processing, that is, in the embodiment of the present application, the original lidar point cloud that is not subjected to the interpolation processing may be subjected to the smoothing processing alone, and the original lidar point cloud that is subjected to the interpolation processing may also be subjected to the smoothing processing.
Step S502, determining a third target data point in the third data point queue to be processed, and calculating a third distance between the third target data point and each other data point in the third data point queue to be processed;
in this embodiment of the application, after the third to-be-processed data point queue is obtained, the terminal device may determine a third target data point from the third to-be-processed data point queue to perform specific smoothing processing. Specifically, the terminal device may determine the third target data point according to the number corresponding to each data point in the third to-be-processed data point queue, for example, a data point with a middle number in the third to-be-processed data point queue may be determined as the third target data point, and for example, in the third to-be-processed data point queue with numbers of 1 to 9, a data point with a number of 5 may be determined as the third target data point; in the third queue of pending data points numbered 2-10, the data point numbered 6 may be determined to be the third target data point, and so on.
Further, after the terminal device determines the third target data point, it may respectively calculate a third distance between the third target data point and each of the other data points in the third to-be-processed data point queue according to the third target data point and each of the coordinate values corresponding to each of the other data points in the third to-be-processed data point queue, where each of the other data points in the third to-be-processed data point queue refers to all data points in the third to-be-processed data point queue except for the third target data point.
For example, when the data point No. 2-10 is the third queue of data points to be processed and the data point No. 6 is the third target data point, the third distance between the data point No. 6 and the data point No. 2 may be calculated from the coordinate value R6 corresponding to the data point No. 6 and the coordinate value R2 corresponding to the data point No. 2, the third distance between the data point No. 6 and the data point No. 3 may be calculated from the coordinate value R6 corresponding to the data point No. 6 and the coordinate value R3 corresponding to the data point No. 3, the third distance between the data point No. 6 and the data point No. 4 may be calculated from the coordinate value R6 corresponding to the data point No. 6 and the coordinate value R4 corresponding to the data point No. 4, … …, and the third distance between the data point No. 6 and the data point No. 10 may be calculated from the coordinate values R6 corresponding to the data point No. 6 and the coordinate value R10 corresponding to the data point No. 10, so that the third distance set R6-2 { R8632, 2| R2, | R6-R3|, | R6-R4|, | R6-R5|, | R6-R7|, | R6-R8|, | R6-R9|, | R6-R10| }.
Step S503, determining slopes corresponding to the third target data point and other data points in the third to-be-processed data point queue according to the third distances;
it should be noted that, after obtaining each third distance between the third target data point and each other data point in the third to-be-processed data point queue, the terminal device may determine, according to each third distance, a slope corresponding to each third target data point and each other data point in the third to-be-processed data point queue. Here, the maximum distance KR and the minimum distance KL of the third distances may be determined first; then, a distance difference between the maximum distance KR and the minimum distance KL may be calculated, and the distance difference is determined as a slope corresponding to the third target data point and each of the other data points in the third to-be-processed data point queue.
For example, if a third distance set { | R6-R2|, | R6-R3|, | R6-R4|, | R6-R5|, | R6-R7|, | R6-R8|, | R6-R9|, | R6-R10| } is determined that the maximum distance KR is | R6-R10|, and the minimum distance KL is | R6-R2|, then the slope K ═ KR-KL | R6-R10| - | R6-R2| of the third target data point corresponding to each of the other data points in the third queue of data points to be processed may be determined.
And step S504, smoothing the third target data point according to the slope and the third data point queue to be processed to obtain a smoothed original laser radar point cloud.
In this embodiment of the application, after obtaining slopes corresponding to the third target data point and other data points in the third to-be-processed data point queue, the terminal device may perform smoothing processing on the third target data point according to the slope and the third to-be-processed data point queue, so as to obtain a smoothed original lidar point cloud. Specifically, as shown in fig. 5a, the smoothing the third target data point according to the slope and the third to-be-processed data point queue to obtain a smoothed original lidar point cloud may include:
step S5041, determining a preset range to which the slope belongs, and acquiring a second number of data points corresponding to the slope range;
step S5042, selecting the second number of second candidate data points from the third to-be-processed data point queue according to a preset selection manner;
as for the above step S5041 and step S5042, in this embodiment of the application, a plurality of preset ranges may be preset, and a second number of data points corresponding to each preset range may be set, so that different numbers of data points may be adopted according to different preset ranges to which the slope belongs to perform different smoothing processes on the third target data point. For example, in a specific application scenario, 3 preset ranges may be preset, and a first preset range may be set to [0, 20 ], a second preset range may be set to [20, 50), and a third preset range may be set to [50, 100], and meanwhile, the second number of data points corresponding to the first preset range may also be set to 9, the second number of data points corresponding to the second preset range may be set to 7, and the second number of data points of the third preset range may also be set to 5, so when the slope belongs to the first preset range, 9 data points may be selected from the third to-be-processed data point queue according to a preset selection manner to perform smoothing processing on the third target data point; when the slope belongs to the second preset range, selecting 7 data points from the third to-be-processed data point queue according to a preset selection mode to perform smoothing processing on the third target data point; and when the slope belongs to the third preset range, selecting 5 data points from the third to-be-processed data point queue according to a preset selection mode to perform smoothing processing on the third target data point.
The preset selection mode may be a selection mode for sequentially removing the data points with the largest number and the smallest number in the third to-be-processed data point queue. For example, in an application scenario where number 1-9 data points are the third to-be-processed data point queue, and the second number of data points corresponding to the first preset range is 9, the second number of data points corresponding to the second preset range is 7, and the second number of data points of the third preset range is 5, when the slope belongs to the first preset range, all data points in the third to-be-processed data point queue may be taken as the second candidate data point to perform smoothing processing on the third target data point; when the slope belongs to the second preset range, selecting a data point number 2-8 from the third to-be-processed data point queue as the second candidate data point to perform smoothing processing on the third target data point; when the slope belongs to the third preset range, 3-7 data points may be selected from the third to-be-processed data point queue as the second candidate data points to perform smoothing on the third target data point.
It should be understood that the setting of the preset range to 3, the setting of the first preset range to [0, 20 ], the setting of the second preset range to [20, 50), and the setting of the third preset range to [50, 100] are only exemplary and should not be construed as a limitation to the embodiment of the present application, and in the embodiment of the present application, the preset range may be set to any other value, such as 2, 4, etc., according to actual needs, and the first preset range, the second preset range, and the third preset range may also be set to other values.
Step S5043, obtaining a third candidate data point satisfying a first preset condition from the second candidate data points;
here, after acquiring the second candidate data points, the terminal device may acquire a third candidate data point that satisfies a first preset condition in the second candidate data points, that is, the third candidate data point is a valid data point whose coordinate value in the second candidate data point is not a preset value 5555.
Step S5044, determining a largest third candidate data point and a smallest third candidate data point of the third candidate data points;
step S5045, calculating a fourth distance between the maximum third candidate data point and the minimum third candidate data point;
step S5046, if the fourth distance is smaller than a third threshold, calculating a second average value corresponding to the third candidate data point, and updating the third target data point by using the second average value to obtain a smoothed original lidar point cloud.
As for the above steps S5044 to S5046, after the terminal device obtains the third candidate data points, the terminal device may determine a maximum third candidate data point and a minimum third candidate data point in the third candidate data points, and may calculate a fourth distance between the maximum third candidate data point and the minimum third candidate data point, and when the fourth distance is smaller than a third threshold, where the third threshold may be empirically set to 50 cm, the third queue of data points to be processed may be considered to be relatively smooth, at this time, the terminal device may calculate a second average corresponding to the third queue of data points to be processed, and may update the third target data point by using the second average, that is, the second average may be assigned to the third target data point, so as to perform smoothing processing on the third target data point, thereby obtaining the smoothed original laser radar point cloud.
For example, when the data point No. 2-10 is the third to-be-processed data point queue and the data point No. 6 is the third target data point, if the slopes corresponding to the data point No. 6 and other data points in the third to-be-processed data point queue belong to the first preset range, and if the slopes belong to [0, 20 ], the terminal device may first take the data points No. 2-10 as the second candidate data points; secondly, effective data points in the data points 2 to 10 can be obtained to serve as the third candidate data points, and for example, the obtained effective data points 2 to 7, 8 and 10 can be used as the third candidate data points; then, the terminal device may determine a maximum third candidate data point and a minimum third candidate data point among the data points 2 to 7, 8 and 10, and calculate a fourth distance between the maximum third candidate data point and the minimum third candidate data point, and may calculate a fourth distance | R10-R2| between the data point 10 and the data point 2, assuming that the determined maximum third candidate data point is the data point 10 and the minimum third candidate data point is the data point 2, and if the fourth distance | R10-R2| is smaller than the third threshold (e.g., 50 cm), the terminal device may calculate a second average value corresponding to the data points 2 to 7, 8 and 10, and may assign the calculated second average value to the data point 6, thereby smoothing the data point 6, the effectiveness of smoothing treatment is ensured, and the point cloud quality is improved.
For another example, when the data point No. 2-10 is the third to-be-processed data point queue and the data point No. 6 is the third target data point, if the slopes corresponding to the data point No. 6 and other data points in the third to-be-processed data point queue belong to the second preset range, e.g. belong to [20, 50 ], the terminal device may first select the data point No. 3-9 from the data points No. 2-10 as the second candidate data point, and may then acquire a valid data point of the 7 second candidate data points No. 3-9 as the third candidate data point, e.g. acquire the 6 valid data points No. 3 and No. 5-9 as the third candidate data point; then, the terminal device can determine the maximum third candidate data point and the minimum third candidate data point in the data points 3 and 5-9, and a fourth distance between the maximum third candidate data point and the minimum third candidate data point may be calculated, assuming that the determined maximum third candidate data point is data point No. 8 and the minimum third candidate data point is data point No. 3, a fourth distance | R8-R3| between data point No. 8 and data point No. 3 may be calculated, if the fourth distance | R8-R3| is less than the third threshold (e.g., 50 centimeters), the terminal device can calculate the second average values corresponding to the data points 3 and 5-9, and the second average value obtained by calculation can be assigned to the data point No. 6, so that the data point No. 6 is subjected to smoothing processing.
For another example, when the data point number 2-10 is the third to-be-processed data point queue and the data point number 6 is the third target data point, if the slope of the data point number 6 corresponding to the other data points in the third to-be-processed data point queue belongs to the third preset range, e.g. belongs to [50, 100], the terminal device may first select the data point number 4-8 from the data points number 2-10 as the second candidate data point, and may then acquire valid data points of the 5 third candidate data points 4-8 as the third candidate data points, e.g. may acquire the 5 valid data points of the 5 third candidate data points 4-8 as the third candidate data points; then, the terminal device may determine a maximum third candidate data point and a minimum third candidate data point of the data points 4 to 8, and may calculate a fourth distance between the maximum third candidate data point and the minimum second candidate data point, and if the determined maximum third candidate data point is the data point 8 and the minimum third candidate data point is the data point 4, may calculate a fourth distance | R8-R4| between the data point 8 and the data point 4, and if the fourth distance | R8-R4| is smaller than the third threshold (e.g., 50 centimeters), the terminal device may calculate a second average value corresponding to the data point 4 to 8, and may assign the calculated second average value to the data point 6, so as to perform a smoothing process on the data point 6.
Further, if the slope is not within any preset range, or if the fourth distance is greater than or equal to the third threshold, the third target data point itself may be considered as a data point with a range distance variation, and at this time, the terminal device may not perform smoothing processing on the third target data point, so as to ensure validity of the data point.
Here, by presetting a plurality of preset ranges, different smoothing processes can be performed on the third target data point with too large distance fluctuation caused by the jitter characteristic according to the preset range to which the slope belongs, so that more data points can be used for smoothing at a smoother position, and fewer data points are used for smoothing at a general smoother or less smoother position, thereby ensuring the effectiveness of the smoothing process, improving the ranging accuracy of the point cloud, and improving the quality of the point cloud.
It should be understood that, in an application scenario where interpolation and smoothing of an original lidar point cloud are required, in the embodiment of the present application, the deletion operation performed on a first target data point of the original lidar point cloud is preferably a deletion operation performed on an interpolation and a smoothed original lidar point cloud on the first target data point, that is, after a certain original lidar point cloud is obtained, interpolation may be performed on the original lidar point cloud first, then the interpolated original lidar point cloud may be smoothed, and finally the first target data point may be deleted on the smoothed original lidar point cloud.
In the embodiment of the application, an original laser radar point cloud is obtained firstly, and a first data point queue to be processed is obtained from the original laser radar point cloud; secondly, determining a first target data point in the first to-be-processed data point queue; then, calculating a first distance between the first target data point and each other data point in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold; and when the first number is smaller than the preset number, deleting the first target data points from the original laser radar point cloud to obtain a target laser radar point cloud, so that the isolated noise points in the original laser radar point cloud are accurately determined, and deleting the isolated noise points to effectively reduce the isolated noise points in the laser radar point cloud, improve the quality of the laser radar point cloud and ensure the stability of the point cloud image.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Corresponding to the laser radar point cloud processing method described in the foregoing embodiment, fig. 6 shows a structural block diagram of the laser radar point cloud processing apparatus provided in the embodiment of the present application, and for convenience of description, only the relevant portions of the embodiment of the present application are shown.
Referring to fig. 6, the laser radar point cloud processing apparatus includes:
an original point cloud obtaining module 601, configured to obtain an original lidar point cloud, and obtain a first to-be-processed data point queue from the original lidar point cloud;
a first target data point determining module 602, configured to determine a first target data point in the first to-be-processed data point queue;
a first quantity counting module 603, configured to calculate a first distance between the first target data point and each of the other data points in the first to-be-processed data point queue, and count a first quantity that the first distance is smaller than a first threshold;
a first target data point deleting module 604, configured to delete the first target data point from the original lidar point cloud to obtain a target lidar point cloud when the first number is smaller than a preset number.
In one possible implementation, the lidar point cloud processing apparatus may further include:
the second data point queue acquisition module is used for acquiring a second data point queue to be processed from the original laser radar point cloud;
the second target data point determining module is used for determining a second target data point in the second to-be-processed data point queue and determining whether the second target data point meets a first preset condition;
a first candidate data point obtaining module, configured to obtain a first candidate data point that satisfies the first preset condition in the second to-be-processed data point queue if the second target data point does not satisfy the first preset condition;
a number determining module, configured to determine a first number corresponding to each of the first candidate data points and a second number corresponding to the second target data point;
and the first candidate data point judging module is used for determining whether the first candidate data point meets a second preset condition according to the magnitude relation between the first number and the second number.
Optionally, the lidar point cloud processing apparatus may further include:
a maximum first candidate data point determining module, configured to determine a maximum first candidate data point and a minimum first candidate data point in the first candidate data points if the first candidate data point satisfies the second preset condition;
a second distance calculation module for calculating a second distance between the largest first candidate data point and the smallest first candidate data point;
a first average value calculating module, configured to calculate a first average value corresponding to the first candidate data point if the second distance is smaller than a second threshold;
and the interpolation processing module is used for carrying out interpolation processing on the second target data point by utilizing the first average value to obtain an interpolated original laser radar point cloud.
In one possible implementation, the lidar point cloud processing apparatus may further include:
the third data point queue acquisition module is used for acquiring a third data point queue to be processed from the original laser radar point cloud;
a third target data point determining module, configured to determine a third target data point in the third to-be-processed data point queue, and calculate a third distance between the third target data point and each of the other data points in the third to-be-processed data point queue;
a slope determining module, configured to determine, according to each of the third distances, a slope corresponding to each of the third target data point and each of the other data points in the third to-be-processed data point queue;
and the smoothing processing module is used for smoothing the third target data point according to the slope and the third data point queue to be processed to obtain smoothed original laser radar point cloud.
Optionally, the smoothing module may include:
a slope range determining unit, configured to determine a slope range to which the slope belongs, and obtain a second number of data points corresponding to the slope range;
a second candidate data point selecting unit, configured to select, according to a preset selection manner, the second number of second candidate data points from the third to-be-processed data point queue;
a third candidate data point obtaining unit, configured to obtain a third candidate data point that satisfies a first preset condition in the second candidate data points;
a maximum third candidate data point determination unit for determining a maximum third candidate data point and a minimum third candidate data point of the third candidate data points;
a fourth distance calculation unit for calculating a fourth distance between the maximum third candidate data point and the minimum third candidate data point;
and the smoothing processing unit is used for calculating a second average value corresponding to the third candidate data point if the fourth distance is smaller than a third threshold value, and updating the third target data point by using the second average value to obtain a smoothed original laser radar point cloud.
In a possible implementation manner, the slope determining module may include:
a maximum distance determination unit configured to determine a maximum distance and a minimum distance among the third distances;
and the slope determining unit is used for calculating a distance difference between the maximum distance and the minimum distance and determining the distance difference as the slope corresponding to the third target data point and each other data point in the third to-be-processed data point queue.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/units, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and specific reference may be made to the part of the embodiment of the method, which is not described herein again.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements the steps in the above-mentioned method embodiments.
The embodiments of the present application provide a computer program product, which when running on a terminal device, enables the terminal device to implement the steps in the above method embodiments when executed.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A laser radar point cloud processing method is characterized by comprising the following steps:
acquiring original laser radar point cloud, and acquiring a first data point queue to be processed from the original laser radar point cloud;
determining a first target data point in the first queue of data points to be processed;
calculating a first distance between the first target data point and other data points in the first to-be-processed data point queue, and counting a first number of the first distances smaller than a first threshold;
and when the first number is smaller than the preset number, deleting the first target data point from the original laser radar point cloud to obtain a target laser radar point cloud.
2. The lidar point cloud processing method of claim 1, further comprising, prior to obtaining a first queue of data points to be processed from the original lidar point cloud:
acquiring a second data point queue to be processed from the original laser radar point cloud;
determining a second target data point in the second data point queue to be processed, and determining whether the second target data point meets a first preset condition;
if the second target data point does not meet the first preset condition, acquiring a first candidate data point meeting the first preset condition in the second data point queue to be processed;
determining a first number corresponding to each first candidate data point and a second number corresponding to the second target data point;
and determining whether the first candidate data point meets a second preset condition according to the magnitude relation between the first numbers and the second numbers.
3. The lidar point cloud processing method of claim 2, wherein after determining whether the first candidate data point satisfies a second preset condition, comprising:
if the first candidate data point meets the second preset condition, determining a largest first candidate data point and a smallest first candidate data point in the first candidate data points;
calculating a second distance between the largest first candidate data point and the smallest first candidate data point;
if the second distance is smaller than a second threshold value, calculating a first average value corresponding to the first candidate data point;
and performing interpolation processing on the second target data point by using the first average value to obtain an interpolated original laser radar point cloud.
4. The lidar point cloud processing method of any of claims 1 to 3, further comprising, prior to obtaining the first queue of data points to be processed from the original lidar point cloud:
acquiring a third data point queue to be processed from the original laser radar point cloud;
determining a third target data point in the third data point queue to be processed, and calculating a third distance between the third target data point and each other data point in the third data point queue to be processed;
determining slopes corresponding to the third target data point and other data points in the third to-be-processed data point queue according to the third distances;
and smoothing the third target data point according to the slope and the third data point queue to be processed to obtain smoothed original laser radar point cloud.
5. The lidar point cloud processing method according to claim 4, wherein smoothing the third target data point according to the slope and the third to-be-processed data point queue to obtain a smoothed original lidar point cloud comprises:
determining a slope range to which the slope belongs, and acquiring a second number of data points corresponding to the slope range;
selecting the second number of second candidate data points from the third to-be-processed data point queue according to a preset selection mode;
acquiring a third candidate data point which meets a first preset condition in the second candidate data points;
determining a largest third candidate data point and a smallest third candidate data point of the third candidate data points;
calculating a fourth distance between the largest third candidate data point and the smallest third candidate data point;
and if the fourth distance is smaller than a third threshold value, calculating a second average value corresponding to the third candidate data point, and updating the third target data point by using the second average value to obtain the smoothed original laser radar point cloud.
6. The point cloud processing method of claim 4, wherein the determining the slope corresponding to the third target data point and each of the other data points in the third queue of data points to be processed according to each of the third distances comprises:
determining a maximum distance and a minimum distance of the third distances;
and calculating a distance difference between the maximum distance and the minimum distance, and determining the distance difference as the slope corresponding to the third target data point and each other data point in the third to-be-processed data point queue.
7. A laser radar point cloud processing apparatus, comprising:
the system comprises an original point cloud acquisition module, a first point cloud processing module and a second point cloud processing module, wherein the original point cloud acquisition module is used for acquiring an original laser radar point cloud and acquiring a first data point queue to be processed from the original laser radar point cloud;
a first target data point determination module for determining a first target data point in the first queue of data points to be processed;
the first quantity counting module is used for calculating a first distance between the first target data point and each other data point in the first to-be-processed data point queue and counting a first quantity of the first distance smaller than a first threshold value;
and the first target data point deleting module is used for deleting the first target data points from the original laser radar point cloud to obtain a target laser radar point cloud when the first number is smaller than a preset number.
8. The lidar point cloud processing apparatus of claim 7, further comprising:
the second data point queue acquisition module is used for acquiring a second data point queue to be processed from the original laser radar point cloud;
the second target data point determining module is used for determining a second target data point in the second to-be-processed data point queue and determining whether the second target data point meets a first preset condition;
a first candidate data point obtaining module, configured to obtain a first candidate data point that satisfies the first preset condition in the second to-be-processed data point queue if the second target data point does not satisfy the first preset condition;
a number determining module, configured to determine a first number corresponding to each of the first candidate data points and a second number corresponding to the second target data point;
and the first candidate data point judging module is used for determining whether the first candidate data point meets a second preset condition according to the magnitude relation between the first number and the second number.
9. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the lidar point cloud processing method according to any of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out a lidar point cloud processing method according to any one of claims 1 to 6.
CN201910814746.9A 2019-08-30 2019-08-30 Laser radar point cloud processing method and device, storage medium and terminal equipment Pending CN112526545A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910814746.9A CN112526545A (en) 2019-08-30 2019-08-30 Laser radar point cloud processing method and device, storage medium and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910814746.9A CN112526545A (en) 2019-08-30 2019-08-30 Laser radar point cloud processing method and device, storage medium and terminal equipment

Publications (1)

Publication Number Publication Date
CN112526545A true CN112526545A (en) 2021-03-19

Family

ID=74974096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910814746.9A Pending CN112526545A (en) 2019-08-30 2019-08-30 Laser radar point cloud processing method and device, storage medium and terminal equipment

Country Status (1)

Country Link
CN (1) CN112526545A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113341396A (en) * 2021-05-28 2021-09-03 深圳市优必选科技股份有限公司 Robot and charging pile identification method and device thereof
CN113359103A (en) * 2021-05-12 2021-09-07 武汉中仪物联技术股份有限公司 Laser radar data point processing method and device
CN113902632A (en) * 2021-09-23 2022-01-07 追觅创新科技(苏州)有限公司 Method and device for removing laser data noise point, storage medium and electronic device
CN115015875A (en) * 2022-08-08 2022-09-06 探维科技(北京)有限公司 Point cloud data processing method and device and electronic equipment
CN115469330A (en) * 2022-10-28 2022-12-13 深圳市云鼠科技开发有限公司 Subgraph construction method and device, terminal device and storage medium
CN115792864A (en) * 2023-01-30 2023-03-14 探维科技(北京)有限公司 Laser radar control method and device, electronic equipment and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103081A (en) * 2016-03-02 2017-09-13 경기대학교 산학협력단 3 dimension object labeling device and method
CN107610084A (en) * 2017-09-30 2018-01-19 驭势科技(北京)有限公司 A kind of method and apparatus that information fusion is carried out to depth image and laser spots cloud atlas
CN108280840A (en) * 2018-01-11 2018-07-13 武汉理工大学 A kind of road real time method for segmenting based on three-dimensional laser radar
US20180341836A1 (en) * 2017-05-24 2018-11-29 General Electric Company Neural network point cloud generation system
CN109345523A (en) * 2018-09-21 2019-02-15 中国科学院苏州生物医学工程技术研究所 Surface defects detection and three-dimensional modeling method
CN109597096A (en) * 2018-12-01 2019-04-09 北醒(北京)光子科技有限公司 A kind of laser radar point cloud processing system and method
CN109839119A (en) * 2017-11-24 2019-06-04 高德软件有限公司 The acquisition methods and device in across road and bridge beam bridge floor regions
CN109919955A (en) * 2019-03-11 2019-06-21 南京林业大学 The tunnel axis of ground formula laser radar point cloud extracts and dividing method
CN110031822A (en) * 2019-04-22 2019-07-19 上海禾赛光电科技有限公司 It can be used for noise recognition methods and the laser radar system of laser radar
CN110174771A (en) * 2019-05-10 2019-08-27 深圳市速腾聚创科技有限公司 A kind of light-source system and laser radar

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103081A (en) * 2016-03-02 2017-09-13 경기대학교 산학협력단 3 dimension object labeling device and method
US20180341836A1 (en) * 2017-05-24 2018-11-29 General Electric Company Neural network point cloud generation system
CN107610084A (en) * 2017-09-30 2018-01-19 驭势科技(北京)有限公司 A kind of method and apparatus that information fusion is carried out to depth image and laser spots cloud atlas
CN109839119A (en) * 2017-11-24 2019-06-04 高德软件有限公司 The acquisition methods and device in across road and bridge beam bridge floor regions
CN108280840A (en) * 2018-01-11 2018-07-13 武汉理工大学 A kind of road real time method for segmenting based on three-dimensional laser radar
CN109345523A (en) * 2018-09-21 2019-02-15 中国科学院苏州生物医学工程技术研究所 Surface defects detection and three-dimensional modeling method
CN109597096A (en) * 2018-12-01 2019-04-09 北醒(北京)光子科技有限公司 A kind of laser radar point cloud processing system and method
CN109919955A (en) * 2019-03-11 2019-06-21 南京林业大学 The tunnel axis of ground formula laser radar point cloud extracts and dividing method
CN110031822A (en) * 2019-04-22 2019-07-19 上海禾赛光电科技有限公司 It can be used for noise recognition methods and the laser radar system of laser radar
CN110174771A (en) * 2019-05-10 2019-08-27 深圳市速腾聚创科技有限公司 A kind of light-source system and laser radar

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈炜楠;朱蕾;张宏;林旭滨;管贻生;: "稀疏视觉SLAM对平面激光雷达传感的稠密化模拟", 机器人, no. 03, 12 February 2018 (2018-02-12) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113359103A (en) * 2021-05-12 2021-09-07 武汉中仪物联技术股份有限公司 Laser radar data point processing method and device
CN113341396A (en) * 2021-05-28 2021-09-03 深圳市优必选科技股份有限公司 Robot and charging pile identification method and device thereof
CN113341396B (en) * 2021-05-28 2023-12-15 深圳市优必选科技股份有限公司 Robot and charging pile identification method and device thereof
CN113902632A (en) * 2021-09-23 2022-01-07 追觅创新科技(苏州)有限公司 Method and device for removing laser data noise point, storage medium and electronic device
CN115015875A (en) * 2022-08-08 2022-09-06 探维科技(北京)有限公司 Point cloud data processing method and device and electronic equipment
CN115469330A (en) * 2022-10-28 2022-12-13 深圳市云鼠科技开发有限公司 Subgraph construction method and device, terminal device and storage medium
CN115792864A (en) * 2023-01-30 2023-03-14 探维科技(北京)有限公司 Laser radar control method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN112526545A (en) Laser radar point cloud processing method and device, storage medium and terminal equipment
CN111950543B (en) Target detection method and device
CN112255636A (en) Distance measuring method, system and equipment
CN114424240B (en) Target detection method and device, equipment and storage medium
CN109828250B (en) Radar calibration method, calibration device and terminal equipment
CN111142514B (en) Robot and obstacle avoidance method and device thereof
CN112255635B (en) Distance measurement method, system and equipment
CN112348777A (en) Human body target detection method and device and terminal equipment
CN115038989A (en) Distance measuring method and apparatus, electronic device, and storage medium
CN114862929A (en) Three-dimensional target detection method and device, computer readable storage medium and robot
WO2022188884A1 (en) Distance measurement method, system and device
CN113515132B (en) Robot path planning method, robot, and computer-readable storage medium
CN112184828A (en) External parameter calibration method and device for laser radar and camera and automatic driving vehicle
CN109031333B (en) Distance measuring method and device, storage medium, and electronic device
CN113740870B (en) Multi-frequency fusion ToF ranging method, system, device and storage medium
CN111275087A (en) Data processing method and device, electronic equipment and motor vehicle
CN117173324A (en) Point cloud coloring method, system, terminal and storage medium
CN112902911A (en) Monocular camera-based distance measurement method, device, equipment and storage medium
CN112367476B (en) Exposure time determining method and device of TOF camera and terminal equipment
WO2022160622A1 (en) Distance measurement method, device, and system
CN116413683A (en) Laser radar, scanning method thereof and readable storage medium
US6526157B2 (en) Image processing apparatus, image processing method and transmission medium
CN115205845A (en) Target detection method, computer program product and electronic equipment
CN112218098A (en) Data compression method and device, electronic equipment and storage medium
CN113112551A (en) Camera parameter determination method and device, road side equipment and cloud control platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination