CN111754421A - Improved guide filtering three-dimensional scattered point cloud quick fairing method - Google Patents

Improved guide filtering three-dimensional scattered point cloud quick fairing method Download PDF

Info

Publication number
CN111754421A
CN111754421A CN202010483771.6A CN202010483771A CN111754421A CN 111754421 A CN111754421 A CN 111754421A CN 202010483771 A CN202010483771 A CN 202010483771A CN 111754421 A CN111754421 A CN 111754421A
Authority
CN
China
Prior art keywords
point cloud
point
cloud data
fairing
dimensional
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.)
Granted
Application number
CN202010483771.6A
Other languages
Chinese (zh)
Other versions
CN111754421B (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.)
Xian Technological University
Original Assignee
Xian Technological University
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 Xian Technological University filed Critical Xian Technological University
Priority to CN202010483771.6A priority Critical patent/CN111754421B/en
Publication of CN111754421A publication Critical patent/CN111754421A/en
Application granted granted Critical
Publication of CN111754421B publication Critical patent/CN111754421B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • 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
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention discloses an improved guide filtering three-dimensional scattered point cloud rapid fairing method, which comprises the steps of arranging point cloud data to be processed in an ascending order according to an axis, solving the maximum point cloud number in quasi-block data according to the total point cloud number and the quasi-block number, calculating expansion processing points according to the maximum point cloud number, partitioning the point cloud data according to the maximum point cloud number and the expansion processing points in the quasi-block data, enabling the partitioned point clouds to generate an overlapping area, effectively solving the splitting phenomenon generated by the point cloud data, processing the partitioned point cloud data through a parallel three-dimensional guide filtering point cloud fairing algorithm to improve the operation rate, recovering and integrating the processed point cloud data, and outputting results. The method can effectively solve the problem of gradient inversion in the bilateral filtering fairing method and can effectively improve the operation speed of the algorithm.

Description

Improved guide filtering three-dimensional scattered point cloud quick fairing method
Technical Field
The invention relates to the field of reverse engineering of computer vision technology and three-dimensional reconstruction, and particularly provides an improved guide filtering rapid fairing method for three-dimensional scattered point clouds.
Background
Three-dimensional point cloud is widely concerned as data capable of expressing geometric information of object surfaces, and the acquisition of point cloud data is an important link of reverse engineering. However, due to the defects of the acquisition device, the interference of system noise, environmental factors and the like, noise generally exists in the acquired point cloud data, and the point cloud data containing the noise can have adverse effects on subsequent point cloud processing, so that the denoising of the three-dimensional point cloud data becomes one of the hot problems in the field of reverse engineering research.
The noise contained in the three-dimensional point cloud data can be divided into drift noise points and mixed noise points. The drift noise points are represented in the form of noise points which are obviously far away from the point cloud main body and float near the point cloud main body, and the mixed noise points are represented in the form of noise points mixed with the point cloud main body. The methods used by the scholars in the field to process the mixed noise points are mainly a bilateral filtering fairing method and a guided filtering fairing method. The bilateral filtering point cloud fairing method can effectively reduce image noise and maintain edge information to the maximum extent, but when a plurality of similar points are arranged around one point (usually on the edge), the average Gaussian weighting is unstable, and the gradient inversion problem possibly exists, so that the fairing effect is poor. The guiding filtering fairing method can effectively solve the problem of gradient inversion in the bilateral filtering fairing method, but the operation time of the algorithm is still not ideal. The prior two methods have the problem of slow running speed.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides an improved guide filtering three-dimensional scattered point cloud quick fairing method, thereby solving the problem of low operation speed in the prior art.
The invention provides an improved guide filtering three-dimensional scattered point cloud quick fairing method, which solves the technical scheme of the problem and comprises the following steps:
step 1: inputting three-dimensional scattered point cloud data P ═ P containing noisei},i=1,2,...,n,piRepresenting each point in the point cloud P, wherein n is the total number of the point clouds;
step 2: partitioning the three-dimensional point cloud data P containing the noise obtained in the step 1 to form point cloud data Pj
(2-1) arranging the point cloud data to be processed in ascending order according to the Z axis;
(2-2) calculating the maximum point cloud number M according to the formula (1), calculating the expanded processing point number M according to the formula (2),
Figure BDA0002518158100000011
Figure BDA0002518158100000012
wherein N represents the total number of point clouds P, N represents the number of quasi-blocks, and a represents the percentage of expansion processing point number M in the maximum point cloud number M
Figure BDA0002518158100000021
Represents rounding up;
(2-3) determining a partitioning range according to M and M, wherein the partitioning range of each processed point cloud is shown as a formula (3),
Figure BDA0002518158100000022
in the formula PjJ-th block, j ═ 1,2,. ·, N, representing the point cloud P;
and step 3: for the partitioned point cloud data P in the step 2jProcessing the parallel three-dimensional guiding filtering point cloud fairing algorithm to obtain fairing point cloud data Qj
And 4, step 4: point cloud data Q processed in the step 3jRecovering and integrating to output result Q
According to the M in the step 3, the processed point cloud data QjIntegration into an output point cloud Q ═ Q j1,2, N, as in formula (9),
according to the parameter M in the step 2, the point cloud data Q processed in the step 3jIntegration into an output point cloud Q ═ QjJ is 1,2, N, as shown in formula (9),
Figure BDA0002518158100000023
and (4) recovering and integrating the partitioned point clouds according to a formula (9), and finally outputting a result graph processed by an algorithm.
The step 3 comprises the following steps:
(3-1) inputting three-dimensional point cloud data P to be processed after being partitionedjSetting the number K of search neighborhoods to 10 and the coefficient of unit matrix to 0.1, PjAre transmitted into different processing units to realize the parallel operation of the algorithm;
(3-2) searching for p by using K-D Tree algorithmiK neighborhood of points, wherein K is the number of neighborhood points and is less than the total number of each point cloud, and a neighborhood point set is set to be N (p) according to a formula (3)i)={pik∈pjIn which p isikIs piK neighborhood points, K1, 2,., K;
(3-3) from the neighborhood set, we can calculate a quantity
Figure BDA0002518158100000028
Referred to as point piThe centroid of the neighborhood, as shown in equation (4);
Figure BDA0002518158100000024
(3-4) calculating a of the point according to the formula (5) and the formula (6)iAnd bi
Figure BDA0002518158100000025
Figure BDA0002518158100000026
Thereby obtaining the optimal solution of formula (7);
Figure BDA0002518158100000027
(3-5) equation (7) minimizes the reconstructed residual error of equation (8), i.e. the spatial position of the point is updated according to equation (8), qi=aipi+bi(8)
Wherein p isiAnd q isiIs a point before and after the guided filtering, aiIs a scalar quantity, biIs a vector of 3 x 1;
(3-6) traversing and updating all data points in each block; judging whether the data point is the last data point, if so, finishing the filtering fairing algorithm, otherwise, returning to the step (3-2) and performing iteration;
(3-7) outputting three-dimensional point cloud data Q after fairingj
Compared with the prior art, the method has the following beneficial effects:
compared with the traditional three-dimensional guide filtering point cloud fairing algorithm, the improved guide filtering three-dimensional scattered point cloud rapid fairing method provided by the invention improves fairing capacity and algorithm speed, blocks point cloud data to realize parallel processing, and greatly shortens the operation time of the algorithm.
Drawings
FIG. 1 is a flow chart of the present invention;
FIG. 2 is a schematic diagram of three-dimensional point cloud data of a rabbit model;
FIG. 3 is a schematic diagram of three-dimensional point cloud data containing noise;
FIG. 4 is a schematic block diagram of three-dimensional scattered point cloud data;
FIG. 5 is a flow chart of a three-dimensional point cloud guided filtering fairing algorithm;
FIG. 6 is a three-dimensional point cloud guide filtering fairing algorithm result diagram;
FIG. 7 is a diagram of the result of an improved guided filtering three-dimensional scattered point cloud fast fairing method.
Detailed Description
The invention is described in further detail below with reference to the following figures and specific embodiments:
referring to fig. 1, the invention provides an improved method for guiding and filtering three-dimensional scattered point cloud rapid fairing, which comprises the following steps:
step 1: taking a rabbit point cloud model of the stanford university standard point cloud library as an example, referring to fig. 2, mixed noise is added thereto, which is denoted as P, and the number n of point clouds is 40256, referring to fig. 3.
Step 2: partitioning the three-dimensional point cloud data P containing the noise obtained in the step 1 into 7 blocks with N
The specific operation steps comprise:
(2-1) firstly, ordering the point cloud data to be processed from small to large according to the Z axis.
(2-2) then, according to the formula (1), calculating the maximum point cloud number M to be 5751, and according to the formula (2), calculating the expanded processing point number M to be 575, and taking a to be 0.1.
Figure BDA0002518158100000031
Figure BDA0002518158100000032
Wherein N represents the total number of point clouds P, N represents the number of quasi-blocks, and a represents the percentage of expansion processing point number M in the maximum point cloud number M
Figure BDA0002518158100000033
Represents rounding up;
(2-3) the partition range can then be determined from M and M, and the partition range is determined according to equation (3) as shown in Table 1.
Figure BDA0002518158100000041
TABLE 1 Point cloud data specific division Range
Block j Processing point cloud ranges Specific range
1 [1,1×M+m] [1,6326]
2 [1×M-m,2×M+m] [5176,12077]
3 [2×M-m,3×M+m] [10927,17828]
4 [3×M-m,4×M+m] [16678,23579]
5 [4×M-m,5×M+m] [22433,29360]
6 [5×M-m,6×M+m] [28180,35081]
7 [6×M-m,n] [33931,40256]
The point cloud is divided according to the method, and the block diagram is shown in fig. 4. The overlapping part exists between the blocks, so that the design has the advantage that the phenomenon of splitting cannot occur when different blocks are processed.
And step 3: for the partitioned point cloud data P in the step 2jThe parallel three-dimensional guiding filtering point cloud fairing algorithm processing is carried out, referring to fig. 5, and the specific steps comprise:
(3-1) inputting three-dimensional point cloud data P to be processed after being partitionedjSetting the number K of search neighborhoods to 10 and the coefficient of unit matrix to 0.1, PjAre transmitted into different processing units to realize the parallel operation of the algorithm.
(3-2) searching for p by using K-D Tree algorithmiK neighborhood of points, wherein K is the number of neighborhood points and is less than the total number of each point cloud, and a neighborhood point set is set to be N (p) according to a formula (3)i)={pik∈pjIn which p isikIs piK neighborhood points, K1, 2.
(3-3) from the neighborhood set, we can calculate a quantity
Figure BDA0002518158100000042
Referred to as point piThe centroid of the neighborhood is given by the formula (4).
Figure BDA0002518158100000043
(3-4) calculating a of the point according to the formula (5) and the formula (6)iAnd bi
Figure BDA0002518158100000044
Figure BDA0002518158100000045
Thereby obtaining the optimal solution of equation (7).
Figure BDA0002518158100000046
(3-5) equation (7) minimizes the reconstructed residual error of equation (8), i.e. the spatial position of the point can be updated according to equation (8),
qi=aipi+bi(8)
wherein p isiAnd q isiIs a point before and after the guided filtering, aiIs a scalar quantity, biIs a vector of 3 x 1.
(3-6) go through and update all data points in each block. And (4) judging whether the data point is the last data point, if so, finishing the filtering fairing algorithm, otherwise, returning to the step (3-2) and performing iteration.
(3-7) outputting three-dimensional point cloud data Q after fairingj
And 4, step 4: point cloud data Q processed in the step 3jAnd recovering and integrating, and outputting a result Q.
Processing the point cloud data Q according to the result that M is 5751 in the step 3jIntegration into an output point cloud Q ═ Q j1,2, N, as in formula (9),
Figure BDA0002518158100000051
and restoring and integrating the partitioned point clouds according to the method, wherein the point taking range of the restored point clouds is shown in a table 2.
TABLE 2 Point cloud recovery partition Range
Block j Processing point cloud ranges Specific range
1 [1,1×M] [1,5751]
2 [1×M+1,2×M] [5752,11502]
3 [2×M+1,3×M] [11503,17253]
4 [3×M+1,4×M] [17254,23004]
5 [4×M+1,5×M] [23005,28755]
6 [5×M+1,6×M] [28756,34506]
7 [6×M+1,n] [34507,40256]
And finally, outputting a result graph processed by the algorithm, and referring to a graph 7 for an improved guide filtering three-dimensional scattered point cloud rapid fairing method experimental simulation result. Fig. 6 is a diagram of experimental simulation results of an unblocked three-dimensional guided filtering fairing method.
The comparison results of the three-dimensional guide filtering fairing method and the improved guide filtering three-dimensional scattered point cloud rapid fairing method under the condition of certain total number of point clouds and noise adding degree are shown in the table 3:
TABLE 3 comparison of results of different algorithms
Figure BDA0002518158100000052
As can be seen from Table 3, the improved method for guiding and filtering the three-dimensional scattered point cloud fast fairing is obviously improved in operation speed and is consistent with the three-dimensional guiding and filtering method in the aspect of filtering precision. Thus demonstrating the feasibility of the present invention.

Claims (2)

1. The improved guide filtering three-dimensional scattered point cloud fast fairing method is characterized by comprising the following steps: the method comprises the following steps:
step 1: inputting three-dimensional scattered point cloud data P ═ P containing noisei},i=1,2,...,n,piRepresenting each point in the point cloud P, wherein n is the total number of the point clouds;
step 2: partitioning the three-dimensional point cloud data P containing the noise obtained in the step 1 to form point cloud data Pj
(2-1) sequencing the point cloud data to be processed from small to large according to a Z axis;
(2-2) calculating the maximum point cloud number M according to the formula (1), calculating the expanded processing point number M according to the formula (2),
Figure FDA0002518158090000011
Figure FDA0002518158090000012
wherein N represents the total number of point clouds P, N represents the number of quasi-blocks, and a represents the percentage of expansion processing point number M in the maximum point cloud number M
Figure FDA0002518158090000013
Represents rounding up;
(2-3) determining the partitioning range according to M and M, wherein the partitioning range of each processed point cloud is shown as the formula (3),
Figure FDA0002518158090000014
in the formula PjJ-th block, j ═ 1,2,. ·, N, representing the point cloud P;
and step 3: for the partitioned point cloud data P in the step 2jProcessing the parallel three-dimensional guiding filtering point cloud fairing algorithm to obtain fairing point cloud data Qj
And 4, step 4: point cloud data Q processed in the step 3jRecovering and integrating, and outputting a result Q;
according to the M in the step 3, the processed point cloud data QjIntegration into an output point cloud Q ═ Qj},j=1,2,...,N;
According to the parameter M in the step 2, the point cloud data Q processed in the step 3jIntegration into an output point cloud Q ═ Qj},j=1,2,...,N
Figure FDA0002518158090000015
And (4) recovering and integrating the partitioned point clouds according to a formula (9), and finally outputting a result graph processed by an algorithm.
2. The improved guide filtering three-dimensional scattered point cloud fast fairing method as claimed in claim 1, characterized in that: the step 3 comprises the following steps:
(3-1) inputting three-dimensional point cloud data P to be processed after being partitionedjSetting the number K of search neighborhoods to 10 and the coefficient of unit matrix to 0.1, PjAre transmitted into different processing units to realize the parallel operation of the algorithm;
(3-2) searching for p by using K-D Tree algorithmiK neighborhood of points, wherein K is the number of neighborhood points and is less than the total number of each point cloud, and a neighborhood point set is set to be N (p) according to a formula (3)i)={pik∈pjIn which p isikIs piK neighborhood points, K1, 2,., K;
(3-3) from the neighborhood set, we can calculate a quantity piReferred to as point piThe centroid of the neighborhood, as shown in equation (4);
Figure FDA0002518158090000021
(3-4) calculating a of the point according to the formula (5) and the formula (6)iAnd bi
Figure FDA0002518158090000022
Figure FDA0002518158090000023
Thereby obtaining the optimal solution of formula (7);
Figure FDA0002518158090000024
(3-5) equation (7) minimizes the reconstructed residual error of equation (8), i.e. the spatial position of the point can be updated according to equation (8),
qi=aipi+bi(8)
wherein p isiAnd q isiIs a point before and after the guided filtering, aiIs a scalar quantity, biIs a vector of 3 x 1;
(3-6) traversing and updating all data points in each block; judging whether the data point is the last data point, if so, finishing the filtering fairing algorithm, otherwise, returning to the step (3-2) and performing iteration;
(3-7) outputting three-dimensional point cloud data Q after fairingj
CN202010483771.6A 2020-06-01 2020-06-01 Improved guiding filtering three-dimensional scattered point cloud rapid fairing method Active CN111754421B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010483771.6A CN111754421B (en) 2020-06-01 2020-06-01 Improved guiding filtering three-dimensional scattered point cloud rapid fairing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010483771.6A CN111754421B (en) 2020-06-01 2020-06-01 Improved guiding filtering three-dimensional scattered point cloud rapid fairing method

Publications (2)

Publication Number Publication Date
CN111754421A true CN111754421A (en) 2020-10-09
CN111754421B CN111754421B (en) 2023-08-18

Family

ID=72674529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010483771.6A Active CN111754421B (en) 2020-06-01 2020-06-01 Improved guiding filtering three-dimensional scattered point cloud rapid fairing method

Country Status (1)

Country Link
CN (1) CN111754421B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843563A (en) * 2023-06-25 2023-10-03 成都飞机工业(集团)有限责任公司 Point cloud noise reduction processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007146069A2 (en) * 2006-06-07 2007-12-21 Carnegie Mellon University A sketch-based design system, apparatus, and method for the construction and modification of three-dimensional geometry
CN102629367A (en) * 2012-01-17 2012-08-08 安徽建筑工业学院 Bilateral filtering de-noising method of point cloud data based on KDTree
WO2018036138A1 (en) * 2016-08-24 2018-03-01 大连理工大学 Method for processing actually measured three-dimensional morphology point cloud data of thin-wall shell obtained for digital photography
CN109146817A (en) * 2018-08-23 2019-01-04 西安工业大学 A kind of method for processing noise of non-iterative single object scattered point cloud data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007146069A2 (en) * 2006-06-07 2007-12-21 Carnegie Mellon University A sketch-based design system, apparatus, and method for the construction and modification of three-dimensional geometry
CN102629367A (en) * 2012-01-17 2012-08-08 安徽建筑工业学院 Bilateral filtering de-noising method of point cloud data based on KDTree
WO2018036138A1 (en) * 2016-08-24 2018-03-01 大连理工大学 Method for processing actually measured three-dimensional morphology point cloud data of thin-wall shell obtained for digital photography
CN109146817A (en) * 2018-08-23 2019-01-04 西安工业大学 A kind of method for processing noise of non-iterative single object scattered point cloud data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李仁忠;杨曼;冉媛;张缓缓;景军锋;李鹏飞;: "基于方法库的点云去噪与精简算法", 激光与光电子学进展, no. 01 *
郑鹏;霍洪旭;姜兴宇;: "大型复杂锻铸件三维扫描点云数据去噪及光顺研究", 重型机械, no. 03 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843563A (en) * 2023-06-25 2023-10-03 成都飞机工业(集团)有限责任公司 Point cloud noise reduction processing method

Also Published As

Publication number Publication date
CN111754421B (en) 2023-08-18

Similar Documents

Publication Publication Date Title
CN108665491B (en) Rapid point cloud registration method based on local reference points
CN105654483A (en) Three-dimensional point cloud full-automatic registration method
CN111553858B (en) Image restoration method and system based on generation countermeasure network and application thereof
CN105760588B (en) SPH fluid surface reconstruction method based on two-layer regular grid
CN113052955B (en) Point cloud completion method, system and application
CN108053483A (en) A kind of Wei Nuotu three-dimensional grid reconstructing methods accelerated based on GPU
CN108629809B (en) Accurate and efficient stereo matching method
CN104992403A (en) Hybrid operator image redirection method based on visual similarity measurement
CN112241676A (en) Method for automatically identifying terrain sundries
CN113538689A (en) Three-dimensional model mesh simplification method based on feature fusion of neural network
CN113159287A (en) Distributed deep learning method based on gradient sparsity
CN114756974A (en) Wall distance calculation method considering object plane normal information
CN111754421A (en) Improved guide filtering three-dimensional scattered point cloud quick fairing method
CN116823885A (en) End-to-end single target tracking method based on pyramid pooling attention mechanism
Jeong et al. A fast eikonal equation solver for parallel systems
CN116091771A (en) Method, device and equipment for partitioning point cloud of cavity of complex casing
Durasov et al. Debosh: Deep bayesian shape optimization
CN109074348A (en) For being iterated the equipment and alternative manner of cluster to input data set
CN108510591A (en) A kind of improvement Poisson curve reestablishing method based on non-local mean and bilateral filtering
Shen et al. Hexahedral mesh adaptation based on posterior-error estimation
CN117523236B (en) Automatic fault plane identification method and device based on matching pursuit and storage medium
Li et al. Fast, High-precision Subregion Stereo Matching Method
CN111127473B (en) High-speed high-precision area blocking wavefront reconstruction method based on optimization strategy
CN117725354B (en) Rapid forward and backward modeling method and system combining large data volume gravity and gravity gradient
Jie et al. LOD methods of large-scale urban building models by GPU accelerating

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
GR01 Patent grant
GR01 Patent grant