CN109684297B - Three-dimensional laser scanning mass point data storage method - Google Patents

Three-dimensional laser scanning mass point data storage method Download PDF

Info

Publication number
CN109684297B
CN109684297B CN201810352546.1A CN201810352546A CN109684297B CN 109684297 B CN109684297 B CN 109684297B CN 201810352546 A CN201810352546 A CN 201810352546A CN 109684297 B CN109684297 B CN 109684297B
Authority
CN
China
Prior art keywords
laser
data
point
current
scanning line
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.)
Active
Application number
CN201810352546.1A
Other languages
Chinese (zh)
Other versions
CN109684297A (en
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.)
Hebei Xiong'an Xingnuo Technology Service Co ltd
Original Assignee
Hebei Xiong'an Xingnuo Technology Service 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 Hebei Xiong'an Xingnuo Technology Service Co ltd filed Critical Hebei Xiong'an Xingnuo Technology Service Co ltd
Priority to CN201810352546.1A priority Critical patent/CN109684297B/en
Publication of CN109684297A publication Critical patent/CN109684297A/en
Application granted granted Critical
Publication of CN109684297B publication Critical patent/CN109684297B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides a three-dimensional laser scanning mass point data storage method, which comprises the following steps: s1, configuring mobile intelligent terminal equipment capable of assisting a main server to store, and carrying out coordinate transformation on laser points on each scanning line; s2, detecting coordinate values of laser points subjected to coordinate transformation, and comparing to judge whether the currently detected laser points are starting points of new scanning lines or not; s3, when judging that the currently detected laser point is not the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the laser point on the current scanning line; otherwise, the scanning line is used as a new scanning line; s4, establishing an edge data storage utility maximum model and judging value, carrying out inverse transformation of coordinate transformation on each laser point on a current scanning line in a central buffer area, storing, and taking the new scanning line as the current scanning line; and S5, taking the next laser point of the current laser point on the current scanning line as the current laser point, and continuing to execute the steps S2 to S4 until all the original laser mass point data are stored.

Description

Three-dimensional laser scanning mass point data storage method
Technical Field
The invention relates to the field of mass data storage and processing, in particular to a method for storing mass point data obtained in a three-dimensional laser scanning technology.
Background
The three-dimensional laser scanning technology is a new technology which appears in recent years, and is attracting attention in the research field in China. The method utilizes the principle of laser ranging, and can quickly reconstruct three-dimensional models, lines, planes, volumes and other various drawing data of the measured object by recording the information such as the three-dimensional coordinates, reflectivity, textures and the like of a large number of dense points on the surface of the measured object. Since three-dimensional laser scanning systems can densely acquire a large number of data points of a target object, three-dimensional laser scanning techniques are also referred to as revolutionary technological breakthroughs from single point measurement to surface measurement, as opposed to conventional single point measurement. The technology has many attempts, applications and exploration in the fields of cultural relic ancient site protection, construction, planning, civil engineering, factory transformation, indoor design, building monitoring, traffic accident handling, legal evidence collection, disaster assessment, ship design, digital city, military analysis and the like. The three-dimensional laser scanning system comprises a hardware part for data acquisition and a software part for data processing. According to different carriers, three-dimensional laser scanning systems can be divided into airborne, vehicle-mounted, ground and hand-held types. The scanning technology is applied to measure the size, shape and other principles of the workpiece. The method is mainly applied to reverse engineering and is responsible for curved surface copying number and three-dimensional measurement of workpieces, and can rapidly measure contour set data of an object, construct, edit and modify the contour set data to generate a curved surface digital model in a general output format aiming at the existing three-dimensional real object (sample or model) under the condition of no technical document.
At present, the ground three-dimensional laser scanning system collects data in a line scanning mode, a line-by-line or column-by-column scanning mode is adopted to collect data, the collected three-dimensional laser mass point data has a certain structural relationship, but most of the current storage methods for the collected three-dimensional laser mass point data only conduct pyramid blocking on mass points, the simple processing is beneficial to displaying the mass points, but the storage space is limited after all due to the fact that the data volume is too large, the speed for responding to the request of a terminal user can be reduced, the subsequent data processing efficiency can be greatly reduced, and the traditional cloud storage mode is not suitable for storing the mass data points of the ground three-dimensional scanning.
Disclosure of Invention
In order to overcome the defects in the prior art, the application provides a three-dimensional laser scanning mass point data storage method capable of saving storage space and improving subsequent data processing efficiency. In order to achieve the technical purpose, the application is realized by the following technical scheme:
the application provides a three-dimensional laser scanning mass point data storage method, which comprises the following steps:
s1, configuring mobile intelligent terminal equipment capable of assisting a main server to store, and carrying out coordinate transformation on laser points on each scanning line in the original laser scanning massive point data according to the acquired original laser scanning massive point data to obtain coordinate values of all laser points after coordinate transformation;
s2, detecting coordinate values of the laser points subjected to coordinate transformation, and comparing the coordinate values of the laser points detected currently with the coordinate values of the laser points detected previously to judge whether the laser points detected currently are starting points of new scanning lines or not;
s3, when judging that the currently detected laser point is not the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the laser point on the current scanning line;
when judging that the currently detected laser point is the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the starting point on the new scanning line,
s4, establishing an edge data storage utility maximum model and judging value: judging whether the current laser point data is data which can provide the maximum value for the terminal, if so, storing the current laser point data into an edge storage node, if not, storing the current laser point data into a central buffer area, carrying out inverse transformation of the coordinate transformation on each laser point on the current scanning line in the central buffer area, storing the inverse transformation, and taking the new scanning line as the current scanning line;
and S5, taking the next laser point of the currently detected laser point on the current scanning line as the current laser point, and continuing to execute the steps S2 to S4 until all the original laser mass point data are stored.
Preferably, the performing coordinate transformation on the laser point on each scan line in the original laser scanning mass point data in step S1 includes:
converting three-dimensional rectangular coordinates (x, y, z) of each laser point in original laser scanning mass point data into spherical coordinates (r, theta, phi) taking a three-dimensional laser scanner as a center, wherein r is the distance from the laser point to the scanner, theta is the included angle between a laser line and a horizontal plane, and phi is the horizontal rotation angle when the scanner works.
Preferably, the step S2 of comparing the coordinate value of the currently detected laser spot with the coordinate value of the previously detected laser spot to determine whether the currently detected laser spot is the start point of the new scan line includes:
(S2-1) comparing the coordinate value of the currently detected laser spot with the coordinate value of the previously detected laser spot to determine whether the currently detected laser spot can be a preselected point of a start point of a new scan line;
(S2-2) further judging whether the currently detected laser spot is the start point of the new scan line after judging that the currently detected laser spot can be the pre-selected spot of the start point of the new scan line.
Preferably, the step (S2-1) includes:
by regarding laser mass point data of the same scanning line as a stable time sequence of each state, an operator template is used for detecting the magnitude relation between the theta value of the currently detected laser point and the theta value of the last laser point to judge whether the currently detected laser point can be used as a pre-selected point of a starting point of a new scanning line;
preferably, the step (S2-2) includes:
the current detected laser point is determined by detecting a magnitude relation between θ values of N subsequent laser points of the current detected laser point, and/or whether the current detected laser point is a start point of a new scan line is determined by comparing a value of Φ of the current detected laser point with an average value of Φ values of all laser points on the current scan line, where N is a positive integer.
Preferably, the maximum model of the edge data storage utility in step S4 is: assuming that the edge storage node cache size is V, the node contains n data objects and the size is d= { data i I=1, 2,..n }, the number of times a data object is requested is time i The initial time of storing the data object i into the storage node is time i The current time is time current The length of time that an available data object is i stored at a compute node is:
time length =time current -time i (1)
the data object i is requested on average for the number of times:
the storage utility of the data is measured by the average number of times that data object i is requested, i.e., the utility of data object i is:
the maximum utility model for an edge store data object is expressed as:
wherein, data will For the size of the data object to be stored soon, if a new data object is to be stored at an edge node, the vacated edge cache space must be larger than data will Is capable of caching new data objects to be stored, and the sum of the sizes of the data objects selected to be stored continuously in the edge storage node is less than or equal to V-data will
Preferably, the value determining criteria in step S4 include: the hit rate of the data object requested by the terminal user and the average time delay of the response of the computing node are used for measuring the storage value of the data point, wherein the hit rate of the data requested by the terminal user is that the total number of data requests sent by the mobile intelligent terminal user is k in a given time, the hit times in the edge storage node is m, and the hit rate of the data object requested by the terminal user is r=m/k; the corresponding average delay of the compute nodes is the time taken by the end user to send a data request to receive a compute node response within a given period of time.
Preferably, the storing in the central buffer in step S5, performing the inverse transformation of the coordinate transformation on each laser point on the current scan line in the central buffer, and storing includes:
(S5-1) storing coordinate data and attribute data in the laser scanning mass point data on the current scanning line in a central buffer area, respectively, and then performing inverse transformation of the coordinate transformation on the coordinate data of each laser point on the current scanning line in the central buffer area;
(S5-2) after the inverse transformation of the coordinate data of each laser point on the current scan line, creating a spatial index table for the current scan line and storing.
Preferably, the step (S5-2) of establishing a spatial index table for the current scan line and storing the spatial index table after performing the inverse transformation of the coordinate transformation on the coordinate data of each laser point on the current scan line includes:
(S5-2 a) compressing the coordinate data and the attribute data after the inverse transformation of the coordinate transformation in the buffer;
(S5-2 b) after compressing the coordinate data and the attribute data in the buffer area, encoding the current scanning line, wherein the current scanning line corresponds to a unique number;
(S5-2 c) establishing a spatial index table for the numbered current scanning line, wherein the key word of the spatial index table is the number of the current scanning line, and the index item value corresponding to the key word in the spatial index table is the storage address of the laser mass point data on the current scanning line;
and (S5-2 d) after the space index table is established for the current scanning line, writing back the coordinate data and the attribute data of the buffer area compressed on the current scanning line and storing according to the storage address in the space index table corresponding to the current scanning line.
The above, as well as additional objectives, advantages, and features of the present invention will become apparent to those skilled in the art from the following detailed description of a specific embodiment of the present invention when read in conjunction with the accompanying drawings.
Drawings
Some specific embodiments of the invention will be described in detail hereinafter by way of example and not by way of limitation with reference to the accompanying drawings. The same reference numbers will be used throughout the drawings to refer to the same or like parts or portions. It will be appreciated by those skilled in the art that the drawings are not necessarily drawn to scale. The objects and features of the present invention will become more apparent in view of the following description taken in conjunction with the accompanying drawings in which:
fig. 1 is a flow chart of a method for storing mass point data by three-dimensional laser scanning according to an embodiment of the invention.
Fig. 2 is a flow chart of a method for storing laser scanning mass point data in the first embodiment of the application.
Fig. 3a,3b,3c are data graphs of three-dimensional laser scanning mass point data according to an embodiment of the present invention.
Fig. 4 is a flowchart of a first method for scanning mass point data by a three-dimensional laser according to an embodiment of the present invention.
Fig. 5 is a flowchart of a second method for scanning mass point data with a three-dimensional laser according to an embodiment of the present invention.
Detailed Description
The application adopts the technical scheme of scanning line detection, stores the original laser scanning mass point data by taking the scanning line as a basic unit, and comprises the following steps as shown in fig. 1:
s1, configuring mobile intelligent terminal equipment capable of assisting a main server to store, and carrying out coordinate transformation on laser points on each scanning line in the original laser scanning massive point data according to the acquired original laser scanning massive point data to obtain coordinate values of all laser points after coordinate transformation;
s2, detecting coordinate values of the laser points subjected to coordinate transformation, and comparing the coordinate values of the laser points detected currently with the coordinate values of the laser points detected previously to judge whether the laser points detected currently are starting points of new scanning lines or not;
s3, when judging that the currently detected laser point is not the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the laser point on the current scanning line;
when judging that the currently detected laser point is the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the starting point on the new scanning line,
s4, establishing an edge data storage utility maximum model and judging value: judging whether the current laser point data is data which can provide the maximum value for the terminal, if so, storing the current laser point data into an edge storage node, if not, storing the current laser point data into a central buffer area, carrying out inverse transformation of the coordinate transformation on each laser point on the current scanning line in the central buffer area, storing the inverse transformation, and taking the new scanning line as the current scanning line;
and S5, taking the next laser point of the currently detected laser point on the current scanning line as the current laser point, and continuing to execute the steps S2 to S4 until all the original laser mass point data are stored.
Compared with the conventional mass point data storage method, the method has the advantages that mass points are stored according to the sequence of scanning lines, the space structure information of the mass points is kept, storage space efficiency and storage effectiveness are considered in the storage process, and subsequent data processing is facilitated.
Specific implementations of embodiments of the present application are described in detail below with specific examples.
Example 1
Fig. 2 is a flow chart of a method for storing massive point data of a laser radar in the present embodiment, where the method aims at a ground three-dimensional laser scanning system to collect three-dimensional coordinate points of a ground object in a line-by-line or line-by-line scanning manner, and the three-dimensional coordinate points are spatially arranged in a form of line scanning massive points, and the method includes the following steps:
step S101, configuring mobile intelligent terminal equipment capable of assisting a main server to store, carrying out coordinate transformation on laser points on each scanning line in the original laser scanning massive point data according to the acquired original laser scanning massive point data, and obtaining coordinate values of all laser points after coordinate transformation.
In this embodiment, since the coordinates of the laser spot on each scan line in the collected original laser mass points are three-dimensional rectangular coordinates (x, y, z), it is preferable to convert the three-dimensional rectangular coordinates (x, y, z) of each laser spot into spherical coordinates (r, θ, Φ) centered on the three-dimensional laser scanner, where r is the distance from the laser spot to the scanner, θ is the angle between the laser line and the horizontal plane, and Φ is the horizontal rotation angle when the scanner is in operation. The conversion relationship between the spherical coordinates (r, θ, Φ) of the laser spot and the three-dimensional rectangular coordinates (x, y, z) is as follows:
the coordinate transformation is not limited to the transformation between the three-dimensional rectangular coordinates and the spherical coordinates, and the transformation of the three-dimensional rectangular coordinates of the laser spot into the spherical coordinates is due to the great difference between the θ values of the end point of the current scanning line and the start point of the next scanning line in the spherical coordinates, and it is easy to determine which scanning line the currently detected laser spot belongs to by using the abrupt change of the θ values. It is obvious that the coordinate of the laser spot is not limited to be converted into spherical coordinates in the present embodiment, as long as it is easy to determine which scan line the currently detected laser spot belongs to, for example, cylindrical coordinates.
Step S102, detecting the coordinate value of the laser spot after coordinate transformation, comparing the coordinate value of the currently detected laser spot with the coordinate value of the previous laser spot to preliminarily judge whether the currently detected laser spot is a preselected point of the starting point of the new scanning line.
When a new scan line starts, the coordinate values of the laser spot on the new scan line will be different from the coordinate values of the laser spot on the previous scan line, and one of the coordinate values in one direction will generate a great mutation, so that the feature can be used to compare the coordinate values of the currently detected laser spot with the coordinate values of the previous laser spot, thereby preliminarily judging whether the currently detected laser spot is a preselected point of the starting point on the new scan line. The starting point here refers to the first laser spot on the scan line.
For the case that the coordinates of the laser spot are spherical coordinates, when a new scan line starts, the θ value of the laser spot on the new scan line will be suddenly changed relative to the θ value of the laser spot on the previous scan line, and by using this feature, the θ value of the currently detected laser spot is compared with the θ value of the previous laser spot, so as to preliminarily determine whether the currently detected laser spot is a preselected point of the start point of the new scan line.
In this embodiment, data generated when the three-dimensional laser scanner continuously works is regarded as a stable time sequence which each state passes through, the problem of searching the starting point of the scanning line is reduced to the problem of searching the abrupt point of the time sequence, a sliding operator template method is adopted to detect the change of the theta value of the laser point, and the operator template is utilized to continuously slide the theta value of the massive laser point sequence.
And defining theta (A), theta (B) and theta (C) as theta values at three positions of A, B, C in the operator template respectively. The θ value of the laser spot on the same scan line has a linearly decreasing trend, while the θ value of the start point on the next scan line is far greater than the θ value of the end point on the current scan line, where the start point and the end point refer to the first laser spot on the next scan line and the last laser spot on the current scan line, respectively. Thus, if the A, B, C three points are on the same scan line and the three points are arranged sequentially from front to back, then θ (B) - θ (a) should be negative and θ (C) - θ (B) should also be negative as the operator template slides within the scan line. Whereas if A, B are on the same scan line, the position of point a is in front of point B and point C is on the next scan line, then θ (B) - θ (a) is negative and θ (C) - θ (B) is positive, and |θ (C) - θ (B) | > |θ (B) - θ (a) |, where the symbol "> > >" means "much greater than". That is, when the operator template slides along the scan line, if the following formula (2) is satisfied, it can be primarily determined that the operator template has slid to the end of the current scan line, and the position corresponding to the point C is a preselected point of the start point of the new scan line.
Where k is a constant and represents the degree of jump in the value θ.
If it is determined in this step that the currently detected laser spot is not the preselected point of the start point of the new scan line, the coordinate value of the current laser spot is taken as the coordinate data of the laser spot on the current scan line, and then the next laser spot is continuously detected until it can be determined that the detected laser spot can be the preselected point of the start point on the new scan line, and then the following step S103 is performed.
Step S103, after the preliminary judgment that the currently detected laser point is the pre-selected point of the starting point of the new scanning line, further determining whether the laser point can be used as the starting point of the new scanning line.
Because the collected original laser mass point data not only has laser points, but also has noise points caused by hardware and the like, whether the currently detected laser point is the starting point of a new scanning line cannot be completely determined only by the detection, therefore, after detecting that the theta value of the current laser point has mutation, whether the currently detected laser point is the noise point needs to be further determined, if so, the noise point is removed, and the next laser point is continuously detected; if not, the currently detected laser spot may be determined to be the starting point of the new scan line, which may be accomplished by two methods:
(1) And detecting the subsequent N laser points of the current laser point, wherein N is a positive integer, and in order to ensure that the subsequent N laser points are all on the same scanning line, the value of N cannot be too large. If the current laser spot is the starting point of the next scan line, rather than the noise point, then the θ values of the subsequent N laser spots should be "nearly" monotonically decreasing. In this embodiment, the operator template is used to detect the subsequent N laser points (N is 5), and the θ difference between two adjacent laser points is calculated, where the θ difference between 10 pairs of laser points can be calculated, and in an ideal case, the θ differences between 10 pairs of laser points should be negative, but due to the existence of noise points, as long as the θ difference between most of the "point pairs" is negative, it is defined as follows:
of these 5 adjacent points, 10 pairs of points (N i ,N j I1 > i), the 10 pairs of points are calculated using equation (3). Preferably, if f (N i ,N j ) When the number of times of 1 is greater than or equal to 7, the subsequent 5 points can be considered to be 'almost' monotonically decreasing, and the current laser point can be judged not to be a noise point, so that the point is taken as the starting point of a new scanning line, if f (N i ,N j ) If the number of times of 1 is less than 7, the currently detected laser point can be considered as a noise point, and the noise point is eliminated. Here with f (N) i ,N j ) The relationship between the number of times of 1 and 7 is a measure, but is not limited to this value in this application for empirical reasons. It is stated herein that the current laser spot refers to the currently detected laser spot in this application.
(2) The phi value of the current laser spot is detected and compared with the average value of the phi values of all laser spots on the previous scanning line, and if the detected scanning line is the 1 st scanning line, the phi value of the current laser spot is compared with the average value of the phi values of all laser spots detected previously, thereby determining whether the current detected laser spot can be used as the starting point of a new scanning line. Ideally, the horizontal rotation angle phi of the three-dimensional laser scanner should be uniform within the same scan line, but often due to hardware reasons, the phi values are not exactly uniform, but it can be assumed that the phi values of the laser points on the same scan line are random sequences that satisfy a normal distribution. If the current laser spot is the starting point of a new scan line, then the value of phi for the current laser spot should be atNearby, where phi old Is the average value of phi values of the last scan line,/-, for>Is the average value of the horizontal included angles of two adjacent scanning lines. When the phi value of the current laser spot meets the condition of the following formula (4), judging that the current laser spot is the starting point of the next scanning line, otherwise, eliminating the current laser spot as a noise point.
Where E is a random variable satisfying normal distribution, namely E-N (0, sigma) 2 )。
In order to ensure that noise points can be truly removed, the two methods are combined, but only one method can be selected to determine the currently detected laser point as the starting point of a new scanning line according to actual conditions.
As can be seen from step S103, the present application eliminates noise points while detecting laser points, that is, implements a filtering function, so that in subsequent data processing, there is no need to perform filtering processing, thereby improving the efficiency of subsequent data processing.
If it is found after this step that the currently detected laser spot is not the start point of the new scan line, the coordinate value of the currently detected laser spot is taken as the coordinate data of the current laser spot on the current scan line, and the next laser spot is continuously detected until it can be determined that the detected laser spot is the start point of the new scan line, and the following step S104 is performed.
S104, establishing an edge data storage utility maximum model and judging value: judging whether the current laser point data can provide the maximum value for the terminal, if so, storing the current laser point data into an edge storage node, if not, storing the current laser point data into a central buffer area, carrying out inverse transformation of the coordinate transformation on each laser point on the current scanning line in the central buffer area, storing the inverse transformation, and taking the new scanning line as the current scanning line.
Step S104, the maximum model of the edge data storage utility is as follows: assuming edge storage node cachingWith size V, the node contains n data objects and has size d= { data i I=1, 2,..n }, the number of times a data object is requested is time i The initial time of storing the data object i into the storage node is time i The current time is time current The length of time that an available data object is i stored at a compute node is:
time length =time current -time i (1)
the data object i is requested on average for the number of times:
the storage utility of the data is measured by the average number of times that data object i is requested, i.e., the utility of data object i is:
the maximum utility model for an edge store data object is expressed as:
wherein, data will For the size of the data object to be stored soon, if a new data object is to be stored at an edge node, the vacated edge cache space must be larger than data will Is capable of caching new data objects to be stored, and the sum of the sizes of the data objects selected to be stored continuously in the edge storage node is less than or equal to V-data will
The value judgment criteria of step S104 include: the hit rate of the data object requested by the terminal user and the average time delay of the response of the computing node are used for measuring the storage value of the data point, wherein the hit rate of the data requested by the terminal user is that the total number of data requests sent by the mobile intelligent terminal user is k in a given time, the hit times in the edge storage node is m, and the hit rate of the data object requested by the terminal user is r=m/k; the corresponding average delay of the compute nodes is the time taken by the end user to send a data request to receive a compute node response within a given period of time.
S105, when the currently detected laser points are determined to be the starting points of the new scanning lines, coordinate values of the current laser points are used as coordinate data of the starting points of the new scanning lines, mass point data of all the laser points on the current scanning lines are stored in a central buffer area, and inverse transformation of coordinate transformation is carried out on each laser point on the current scanning lines in the central buffer area.
After determining that the currently detected laser point is the starting point of the new scanning line, storing mass point data of all laser points on the current scanning line into a buffer area, wherein in the embodiment, the mass point data mainly refer to coordinate data and attribute data, the coordinate data is coordinate values of the laser point, and the attribute data comprises laser intensity, color value, return number and the like; the spherical coordinates of all laser points on the current scan line are then converted back to three-dimensional rectangular coordinates using the inverse of the coordinate transformation described in step S101.
S106, after carrying out inverse transformation of coordinate transformation on each laser point on the current scanning line in the buffer zone, compressing massive point data of the laser points on the current scanning line in the buffer zone, and then establishing a spatial index table for the current scanning line and writing back for storage.
After converting the coordinates of the laser points back to three-dimensional rectangular coordinates, compressing mass point data of the laser points on the current scanning line in the buffer area. In this embodiment, the zlib is an open software library that provides compression functions, and provides a very convenient interface, and compresses and outputs the mass point data in the buffer into new buffer data, and returns the compressed data length and data address. In this example, the specific process of compressing massive point data by zlib is as follows: firstly, separating coordinate data and attribute data of a laser spot on a current scanning line in a buffer area, respectively storing the coordinate data and the attribute data in two independent buffer areas, then calling a function of a zlib library to compress the coordinate data and the attribute data, outputting new coordinate data and attribute data, and simultaneously returning data length and data address of the compressed coordinate data and attribute data.
After compressing massive point data of laser points on the current scanning line in the buffer area, a spatial index table is built for the current scanning line and written back for storage. The establishment process of the spatial index table is as follows: firstly, coding a current scanning line, wherein the scanning line corresponds to a unique number; and then establishing an index table, wherein the key word of the index table is the number of the current scanning line, and the index item value corresponding to the key word in the index table is the storage address of massive point data of the laser points on the current scanning line.
After a space index table is established for the current scanning line, writing back mass point data of laser points on the compressed current scanning line and storing the mass point data according to a storage address in the space index table corresponding to each scanning line. In this embodiment, the coordinate data and the attribute data of the laser spot on the current scan line are mainly written back and saved respectively.
By establishing a spatial index table for the scanning lines, triangle construction is only needed on two adjacent scanning lines in subsequent data processing, so that the problem of searching nearest neighbor points in scattered massive points in the process of establishing an irregular triangle grid (TIN) by using a Delaunay algorithm is avoided, and the efficiency of subsequent data processing is further improved.
S107, processing the next scanning line, and repeating the steps S102 and S106 until all the scanning lines in the original laser mass points are processed.
Specifically, a new scanning line is used as a current scanning line, the next laser point of the starting point on the new scanning line is used as a current laser point, and then steps S102 to S106 are continuously executed, namely, the current laser point is detected, whether the current laser point is the starting point of the new scanning line or not is judged, after the starting point of the new scanning line is determined, mass point data of all laser points on the current scanning line are stored in a buffer area to perform inverse transformation of coordinate transformation, then the mass point data in the buffer area are compressed, a spatial index table is established for the current scanning line, and finally the compressed mass point data are written back for storage. Repeating the steps S102 and S105 until all the original laser mass point data are stored.
In this example, after all laser points on the current scan line are detected, mass point data on the scan line is stored, and then the next scan line is detected, and if necessary, the next scan line can be detected while the mass point data on the current scan line is stored.
By using the storage method of the laser radar mass point data in the embodiment, interlaced extraction or thinning can be conveniently performed at intervals of M rows according to the precision appointed by the space digital product, M is a positive integer greater than 1, and therefore the efficiency of subsequent data processing is improved. In addition, the space structure information is added to the discrete laser mass points, so that the efficiency of the subsequent three-dimensional modeling is improved.
While the present invention has been described with reference to the particular illustrative embodiments, it is not to be restricted by the embodiments but only by the appended claims. It will be appreciated by those skilled in the art that changes and modifications may be made to the embodiments of the invention without departing from the scope and spirit thereof.

Claims (1)

1. The three-dimensional laser scanning mass point data storage method is characterized by comprising the following steps of:
s1, configuring mobile intelligent terminal equipment capable of assisting a main server to store, and carrying out coordinate transformation on laser points on each scanning line in the original laser scanning massive point data according to the acquired original laser scanning massive point data to obtain coordinate values of all laser points after coordinate transformation;
s2, detecting coordinate values of the laser points subjected to coordinate transformation, and comparing the coordinate values of the laser points detected currently with the coordinate values of the laser points detected previously to judge whether the laser points detected currently are starting points of new scanning lines or not;
s3, when judging that the currently detected laser point is not the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the laser point on the current scanning line;
when judging that the currently detected laser point is the starting point of the new scanning line, taking the coordinate value of the current laser point after coordinate transformation as the coordinate data of the starting point on the new scanning line,
s4, establishing an edge data storage utility maximum model and judging value: judging whether the current laser point data is data which can provide the maximum value for the terminal, if so, storing the current laser point data into an edge storage node, if not, storing the current laser point data into a central buffer area, carrying out inverse transformation of the coordinate transformation on each laser point on the current scanning line in the central buffer area, storing the inverse transformation, and taking the new scanning line as the current scanning line;
s5, taking the next laser point of the currently detected laser point on the current scanning line as the current laser point, and continuing to execute the steps S2 to S4 until all the original laser mass point data are stored;
the step S1 of performing coordinate transformation on the laser point on each scan line in the original laser scanning mass point data includes:
converting three-dimensional rectangular coordinates (x, y, z) of each laser point in original laser scanning mass point data into spherical coordinates (r, theta, phi) taking a three-dimensional laser scanner as a center, wherein r is the distance from the laser point to the scanner, theta is the included angle between a laser line and a horizontal plane, and phi is the horizontal rotation angle when the scanner works;
the step S2 of comparing the coordinate value of the currently detected laser spot with the coordinate value of the previously detected laser spot to determine whether the currently detected laser spot is the start point of the new scan line includes:
s2-1, comparing the coordinate value of the currently detected laser point with the coordinate value of the previously detected laser point to judge whether the currently detected laser point can be used as a pre-selected point of a starting point of a new scanning line;
step S2-2, after judging that the currently detected laser point can be used as a pre-selected point of the starting point of the new scanning line, further judging whether the currently detected laser point is the starting point of the new scanning line;
the step S2-1 comprises the following steps:
by regarding laser mass point data of the same scanning line as a stable time sequence of each state, an operator template is used for detecting the magnitude relation between the theta value of the currently detected laser point and the theta value of the last laser point to judge whether the currently detected laser point can be used as a pre-selected point of a starting point of a new scanning line;
the step S2-2 comprises the following steps:
judging the current detected laser point by detecting the size relation among theta values of the subsequent N laser points of the current detected laser point, and/or judging whether the current detected laser point is a starting point of a new scanning line or not by comparing phi values of the current detected laser point with an average value of phi values of all laser points on the current scanning line, wherein N is a positive integer;
the maximum model of the edge data storage utility in the step S4 is as follows: assuming that the edge storage node cache size is V, the node contains n data objects and the size is d= { data i I=1, 2,..n }, the number of times a data object is requested is time i The initial time of storing the data object i into the storage node is time i The current time is time current The length of time that an available data object is i stored at a compute node is:
time length =time current -time i
the data object i is requested on average for the number of times:
the storage utility of the data is measured by the average number of times that data object i is requested, i.e., the utility of data object i is:
the maximum utility model for an edge store data object is expressed as:
wherein, data will For the size of the data object to be stored soon, if a new data object is to be stored at an edge node, the vacated edge cache space must be larger than data will Is capable of caching new data objects to be stored, and the sum of the sizes of the data objects selected to be stored continuously in the edge storage node is less than or equal to V-data will
The value judgment criteria of step S4 include: the hit rate of the data object requested by the terminal user and the average time delay of the response of the computing node are used for measuring the storage value of the data point, wherein the hit rate of the data requested by the terminal user is that the total number of data requests sent by the mobile intelligent terminal user is k in a given time, the hit times in the edge storage node is m, and the hit rate of the data object requested by the terminal user is r=m/k; the corresponding average time delay of the computing nodes is the time taken for the terminal user to send out the data request until the response of the computing nodes is received in a given certain period of time;
the step S5 of storing it in a central buffer, and performing the inverse transformation of the coordinate transformation on each laser point on the current scan line in the central buffer and storing it includes:
s5-1, respectively storing coordinate data and attribute data in mass point data of laser scanning on a current scanning line into a central buffer area, and then carrying out inverse transformation on the coordinate data of each laser point on the current scanning line in the central buffer area;
s5-2, after carrying out inverse transformation on the coordinate data of each laser point on the current scanning line, establishing a space index table for the current scanning line and storing the space index table;
after the step S5-2 of performing the inverse transformation of the coordinate transformation on the coordinate data of each laser point on the current scan line, establishing a spatial index table for the current scan line and storing the spatial index table includes:
s5-2a, compressing coordinate data and attribute data after the inverse transformation of the coordinate transformation in a buffer area;
s5-2b, after compressing coordinate data and attribute data in the buffer area, encoding a current scanning line, wherein the current scanning line corresponds to a unique number;
step S5-2c, a space index table is established for the current scanning line after numbering, wherein the key word of the space index table is the number of the current scanning line, and the index item value corresponding to the key word in the space index table is the storage address of the laser mass point data on the current scanning line;
and step S5-2d, after a spatial index table is established for the current scanning line, writing back coordinate data and attribute data of the buffer area compressed on the current scanning line and storing the coordinate data and the attribute data according to a storage address in the spatial index table corresponding to the current scanning line.
CN201810352546.1A 2018-04-19 2018-04-19 Three-dimensional laser scanning mass point data storage method Active CN109684297B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810352546.1A CN109684297B (en) 2018-04-19 2018-04-19 Three-dimensional laser scanning mass point data storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810352546.1A CN109684297B (en) 2018-04-19 2018-04-19 Three-dimensional laser scanning mass point data storage method

Publications (2)

Publication Number Publication Date
CN109684297A CN109684297A (en) 2019-04-26
CN109684297B true CN109684297B (en) 2024-01-09

Family

ID=66184393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810352546.1A Active CN109684297B (en) 2018-04-19 2018-04-19 Three-dimensional laser scanning mass point data storage method

Country Status (1)

Country Link
CN (1) CN109684297B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282314B (en) * 2021-05-12 2024-04-12 聚融医疗科技(杭州)有限公司 Ultrasonic scanning control parameter issuing method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761711A (en) * 2014-01-13 2014-04-30 青岛秀山移动测量有限公司 Vehicle-mounted laser scanning pavement point cloud non-uniform vacuation method
CN104408055A (en) * 2014-10-29 2015-03-11 中国石油天然气股份有限公司 Storage method and device for laser radar point cloud data
US20180003825A1 (en) * 2016-06-30 2018-01-04 Topcon Corporation Laser Scanner System And Registration Method Of Point Cloud Data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761711A (en) * 2014-01-13 2014-04-30 青岛秀山移动测量有限公司 Vehicle-mounted laser scanning pavement point cloud non-uniform vacuation method
CN104408055A (en) * 2014-10-29 2015-03-11 中国石油天然气股份有限公司 Storage method and device for laser radar point cloud data
US20180003825A1 (en) * 2016-06-30 2018-01-04 Topcon Corporation Laser Scanner System And Registration Method Of Point Cloud Data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《雾计算中的数据边缘存储优化技术研究》;张德孚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170615;正文第1-34页 *

Also Published As

Publication number Publication date
CN109684297A (en) 2019-04-26

Similar Documents

Publication Publication Date Title
CN104408055B (en) The storage method and device of a kind of laser radar point cloud data
CN108920765B (en) Hypothetical plane fitting method based on building three-dimensional line segment model
CN103080982B (en) The method and apparatus of the repetitive structure in detection three-dimensional grid model
CN109658431B (en) Rock mass point cloud plane extraction method based on region growth
CN108804714A (en) Point cloud data storage method and device
CN112819962B (en) Non-uniform grid division and local grid density method in digital image correlation
CN112365529B (en) Tunnel point cloud registration method and device based on gravity center deviation
CN109389553B (en) Meteorological facsimile picture contour interpolation method based on T spline
CN109684297B (en) Three-dimensional laser scanning mass point data storage method
JP5577312B2 (en) Data analysis apparatus, data analysis method, and program
CN104517280A (en) Three-dimensional imaging method
CN110458938B (en) Real-time three-dimensional reconstruction method and system for bulk material pile
CN116727691A (en) Metal 3D printing method and system based on digital management
CN111337877A (en) Reflector matching positioning method
CN111583406A (en) Pole tower foot base point coordinate calculation method and device and terminal equipment
CN110517220A (en) A kind of surface of aggregate quantity detection method based on laser three-D data
CN110675501A (en) Efficient conversion method from TIN to Grid model under DEM framework
CN113192204B (en) Three-dimensional reconstruction method for building in single inclined remote sensing image
Zhu et al. Potentials of RGB-D cameras in as-built indoor environment modeling
CN111291662B (en) Vehicle-mounted point cloud rod-shaped object extraction method based on plane selection
CN111813775A (en) Tunnel point cloud data processing method and device and storage medium
CN107677237B (en) Calculation method of azimuth angle of three-dimensional observation system
CN110751657A (en) Image three-dimensional fractal dimension calculation method based on triangular coverage
EP3761192A1 (en) A method of performing k-nearest neighbour spatial queries on a spatial database
CN112284287A (en) Stereoscopic vision three-dimensional displacement measurement method based on structural surface gray scale characteristics

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
TA01 Transfer of patent application right

Effective date of registration: 20231208

Address after: 071799 Baoding City, Hebei Province Xiong'an New Area, Anxin County, Hebei Province, No. 67 Youyou East Road, B2303 (self declared)

Applicant after: Hebei Xiong'an Xingnuo Technology Service Co.,Ltd.

Address before: 061001 Building 5, Science and Technology Park, Hebei University of Technology, High tech Zone, Cangzhou City, Hebei Province 1122

Applicant before: CANGZHOU ZIQIN INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant