CN111105490A - Rapid normal vector orientation method for scattered point clouds - Google Patents

Rapid normal vector orientation method for scattered point clouds Download PDF

Info

Publication number
CN111105490A
CN111105490A CN202010082581.3A CN202010082581A CN111105490A CN 111105490 A CN111105490 A CN 111105490A CN 202010082581 A CN202010082581 A CN 202010082581A CN 111105490 A CN111105490 A CN 111105490A
Authority
CN
China
Prior art keywords
point
normal vector
priority
priority queue
orientation
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
CN202010082581.3A
Other languages
Chinese (zh)
Other versions
CN111105490B (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.)
Wuhan Xuanjing Technology Co Ltd
Original Assignee
Wuhan Xuanjing 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 Wuhan Xuanjing Technology Co Ltd filed Critical Wuhan Xuanjing Technology Co Ltd
Priority to CN202010082581.3A priority Critical patent/CN111105490B/en
Publication of CN111105490A publication Critical patent/CN111105490A/en
Application granted granted Critical
Publication of CN111105490B publication Critical patent/CN111105490B/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The invention provides a method for rapidly orienting a normal vector of scattered point clouds, which comprises the steps of initializing a normal vector orientation data structure of the scattered point clouds; selecting a normal vector oriented seed point; selecting a region growing direction and adjusting a normal vector direction based on the priority queue. The invention can realize the quick normal vector orientation of the scattered point cloud by utilizing the priority queue structure and the priority strategy in combination with the region growing principle, and overcomes the problems of slow orientation speed and non-robustness orientation to the singular condition of the traditional method for orienting the normal vector of the scattered point cloud.

Description

Rapid normal vector orientation method for scattered point clouds
Technical Field
The invention belongs to the technical field of computer graphics, and relates to a method for orienting a normal vector of scattered point clouds.
Background
In recent years, point cloud data has been widely used in various fields such as industrial inspection, reverse engineering, human body scanning, cultural relic protection, computer games, digital movies, and physical simulation. Point-based models have become an important direction in the field of computer graphics. The normal vector of the point cloud model is the basis for data processing such as point cloud model drawing, fairing, curved surface reconstruction and the like, and the accurate estimation of the normal vector of the point cloud is crucial.
At present, the estimation of the point cloud normal vector mostly adopts a 'plane method', namely, the normal vector of a point is approximated by the normal vector of a plane through fitting the plane by a neighborhood point. However, the direction of the normal vector directly estimated cannot be determined, and part of the normal vector points to one side of the point cloud surface and part of the normal vector points to the other side. This will inevitably cause confusion in subsequent related data processing, so the normal vector directions must be adjusted so that the normal vector directions of all the points are consistently directed to the same side of the point cloud surface, which is called normal vector orientation.
Conventional normal vector orientation algorithms include three categories: a minimum spanning tree method, a photometric stereo method, and a curved surface reconstruction method. The first method, the minimum spanning tree method, is the most widely applied method, but when singular conditions (thin wall, vertical, adjacent curved surfaces, etc.) exist in the point cloud, errors are easy to occur. Many algorithms improved based on the method solve the directional errors of the singular conditions, but still cannot solve the most essential problems, namely low operation efficiency and long time consumption, so that the algorithms cannot be put into practical production and application. The second type of photometric stereo vision method needs to utilize considerable prior knowledge, is greatly influenced by the outside and has poor stability. The third method, curved surface reconstruction method, can correctly adjust the point cloud under singular conditions, but the operation efficiency is lower than the minimum spanning tree and the time consumption is more.
In general, the conventional scattered point cloud normal vector orientation method has the following defects:
1. under the singular condition of point cloud, the problem of normal vector orientation is easy to occur, and the targeted improvement method is complex, large in calculation amount and not robust;
2. the traditional method has low operation efficiency and long consumed time, and cannot be used in actual production work.
Disclosure of Invention
The invention provides a quick normal vector orientation method for scattered point clouds, aiming at the problems of low orientation speed and non-robustness to singular condition orientation of the traditional method for orienting the normal vector of the scattered point clouds, and the process comprises the following steps:
step 1, initializing a scattered point cloud normal vector orientation data structure;
step 2, selecting normal vector oriented seed points;
and 3, selecting a region growing direction based on the priority queue and adjusting the normal vector direction.
On the basis of the above technical solution, the preferred implementation manner of step 1 is: creating an index priority queue L and a mark array B (default value is False) with the same number as the point clouds, and simultaneously constructing a priority threshold value table T according to the angle threshold value number N. The design of the priority queue L data structure speeds up the import and export of queue elements.
On the basis of the above technical solution, the preferable step 2 specifically includes the following steps: :
step 2.1, traversing and searching a point with the minimum z value, selecting the point as an initial seed point S, and enabling the normal direction of the seed point S to be consistent with (0,0, -1.0);
and 2.2, setting the priority of the seed point S as the highest level, introducing the index value of the seed point S into a priority queue L, and marking the seed point S as True in a marking array B.
On the basis of the above technical solution, the preferable step 3 specifically includes the following steps:
step 3.1, taking out an index value H of a point with the highest priority from the priority queue L;
step 3.2, searching k neighbor points of the reference point H according to a k neighbor algorithm, judging whether the k neighbor points in the mark array B are adjusted in direction, if True, returning to the step 3.1, otherwise, continuing to perform;
step 3.3, traversing the neighboring points of which the normal vector directions are not adjusted, enabling the normal vector directions of the neighboring points to be consistent with the reference point H, calculating the priority of the neighboring points, introducing indexes into the priority queue, and marking the neighboring points as True in the marking array B;
step 3.4, judging whether the priority queue L is empty, if not, returning to the step 3.1;
and 3.5, traversing the marked array B, acquiring the unprocessed point S _, marking True, importing the unprocessed point S _andthe marked True into the priority queue L, and returning to the step 3.1 for circular processing until all values in the marked array B are True.
On the basis of the technical scheme, the step 3 has the advantages that: a priority strategy is introduced to combine with a priority queue data structure, the calculation complexity of a normal vector orientation algorithm is reduced to linear complexity, and the orientation speed is greatly accelerated. .
On the basis of the above technical scheme, the preferable advantages of step 1, step 2 and step 3 are as follows: and the priority strategy and the region increase, so that the point cloud is guided to carry out normal vector orientation along the flattest direction, the normal orientation of the point cloud under the singular condition is ensured, and the consistency of the overall normal vector direction of the point cloud is ensured.
Compared with the traditional scattered point cloud normal vector orientation method, the method has two significant advantages.
Firstly, the singularity of point cloud is processed, the traditional method needs more complex processing such as feature extraction and the like, so that the orientation is not robust enough, and the method adopts a priority and region growing strategy, so that the algorithm is simple, easy to implement and high in universality, and the robustness of the orientation under the singularity condition is ensured.
Secondly, the directional method provided by the invention is significantly superior to the traditional method in the aspect of operation efficiency. The traditional method has long time consumption for processing point cloud, and cannot be applied to production practice, but the method reduces the calculation complexity to linear complexity based on a newly designed priority queue structure, greatly accelerates the normal vector orientation process, and can be directly applied to production practice.
Drawings
FIG. 1: a flow chart of a method for rapidly orienting normal vectors of scattered point clouds.
FIG. 2: the structure of the region growing priority queue is shown schematically.
FIG. 3: the introduction flow diagram of the priority queue seed point.
FIG. 4: and the flow chart of the priority queue export is shown.
FIG. 5: the general point import flow diagram of the priority queue is shown.
Detailed Description
The technical solution of the present invention is described in detail below with reference to the accompanying drawings and examples.
Aiming at the problems that the traditional scattered point cloud normal vector orientation method is low in operation efficiency and is not robust in processing under the condition of singular point cloud, the invention provides a scattered point cloud rapid normal vector orientation method, and aims to improve the singular point cloud normal vector orientation condition and accelerate the whole normal vector orientation speed. According to the method, the point cloud is guided to carry out normal vector adjustment along the flattest direction by adopting a priority strategy and a region growing method, the principle of the method is simple, the method is easy to implement, and the universality is strong, so that the problem that the traditional method is not robust in orientation under the condition of singular point cloud is solved. Different from the traditional method for carrying out normal vector adjustment based on the minimum spanning tree, the method designs a novel priority queue data structure, greatly accelerates the overall orientation speed, can be directly used for production practice, and solves the problem of low operation efficiency of the traditional method.
The embodiment of the invention provides a method for rapidly orienting a normal vector of scattered point clouds, which has a process shown in fig. 1 and comprises the following steps:
step 1, initializing a scattered point cloud normal vector orientation data structure. Creating an index priority queue L and a mark array B (default value is False) with the same number as the point clouds, and simultaneously constructing a priority threshold value table T according to the angle threshold value number N.
The structure of the priority queue L is shown in fig. 2, and mainly includes:
a base queue int queue [ sz ] for recording point cloud index, wherein the point clouds recorded in the queue are arranged according to priority order, the priority of the queue tail is lowest, the priority of the queue head is highest, the points in the priority have no sequential difference, and sz is equal to the number of the point clouds;
an address queue int First [ N ] for recording the First element position of each priority in the queue, N being the angle threshold number;
a variable int iq for recording the head of line position.
Wherein, the priority threshold value table T is used for judging the boundary value of the interval where the priorities of the cosine values of the two normal vector included angles are located, the construction mode is as follows,
for i=0:(N-1)do
T[i]=cos((M_PI/2)/N*(i+1));
end
m _ PI is a circumferential ratio, and the smaller i is, the higher the priority is, which shows that the two normal vectors are more nearly parallel.
And 2, selecting a normal vector oriented seed point.
Step 2.1, traversing and searching a point with the minimum z value, selecting the point as an initial seed point S, and enabling the normal direction of the seed point S to be consistent with (0,0, -1.0);
and 2.2, setting the priority of the seed point S as the highest level, introducing the index value of the seed point S into a priority queue L, and marking the seed point S as True in a marking array B.
As shown in fig. 3, the seed point import priority queue obtains a point p, where the normal vector is n and the index is id, and the seed point import step is as follows:
(1)iq=0;
(2)queue[iq]=id;
(3)First[0]=0。
and 3, selecting a region growing direction based on the priority queue and adjusting the normal vector direction.
Step 3.1, taking out an index value H of a point with the highest priority from the priority queue L;
the priority queue export process is shown in fig. 4, and includes the following steps:
(1)H=queue[iq];
(2) iq — wherein, for a priority address pair, First [ i ] > iq, First [ i ] ═ iq; otherwise the First [ i ] value is unchanged.
Step 3.2, searching k neighbor points of the reference point H according to a k neighbor algorithm, judging whether the k neighbor points in the mark array B are adjusted in direction, if True, returning to the step 3.1, otherwise, continuing to perform;
step 3.3, traversing the neighboring points of which the normal vector directions are not adjusted, enabling the normal vector directions of the neighboring points to be consistent with the reference point H, calculating the priority of the neighboring points, introducing indexes into the priority queue, and marking the neighboring points as True in the marking array B;
the calculation method of the priority comprises the following steps: and the cosine value of the normal vector included angle between the reference point H and the adjacent point is tmp, and when tmp is greater than or equal to T [ i +1] and tmp is less than T [ i ], the priority of the current point to be processed is i.
The flow of importing the general point into the priority queue is shown in fig. 5, and taking the case that the priority of the insertion point is 1 as an example, the reference point index is H; obtaining an adjacent point index p, wherein the normal vector of the adjacent point index p is n, and the index is id, and the importing step is as follows:
(1)iq++;
queue[iq]=queue[First[0]];
First[0]++;
(2)queue[First[0]-1]=p。
when the general point is imported with other priorities, the inserting process is the same, only the first element in each priority is moved, the priority is firstly high, then the priority is low, the inserting point is moved to the direction of the head of the queue in sequence until the end, corresponding to the priority, of the inserting point, which is closest to the head of the queue is empty, the index of the point to be inserted is assigned to the idle element, and then the importing operation of the general point is completed.
According to the process, only one element in each priority is moved in each import operation, and the operation efficiency is greatly improved.
Step 3.4, judging whether the priority queue L is empty, if not, returning to the step 3.1;
step 3.5, traversing the marking array B, acquiring an unprocessed point S _, marking the unprocessed point S _astrue, importing the unprocessed point S _intoa priority queue L, and returning to the step 3.1 for circular processing; and ending until all values in the tag array B are True.
The normal vector direction adjustment is always performed from the point with the highest priority in the priority queue, so that the normal vector direction adjustment of the point cloud along the flattest direction on the whole is ensured.
Compared with the traditional scattered point cloud normal vector orientation method, the method has two remarkable advantages.
Firstly, the singularity of point cloud is processed, the traditional method needs more complex processing such as feature extraction and the like, so that the orientation is not robust enough, and the method adopts a priority and region growing strategy, so that the algorithm is simple, easy to implement and high in universality, and the robustness of the orientation under the singularity condition is ensured.
Secondly, the directional method provided by the invention is significantly superior to the traditional method in the aspect of operation efficiency. The traditional method has long time consumption for processing point cloud, and cannot be applied to production practice, but the method reduces the calculation complexity to linear complexity based on a newly designed priority queue structure, greatly accelerates the normal vector orientation process, and can be directly applied to production practice. In specific implementation, the above processes can be automatically operated by adopting a computer software mode.
The specific embodiments described herein are merely illustrative of the spirit of the invention. Various modifications or additions may be made to the described embodiments or alternatives may be employed by those skilled in the art without departing from the spirit or ambit of the invention as defined in the appended claims.
Reference to the literature
[1]Hoppe H,Derose T,Duchamp T,et al.Surface reconstruction fromunorganized points[J].ACM SIGGRAPH Computer Graphics,1992,26(2):71-78.
[2] Sun gold Tiger, Weekly, Anlunling, Point cloud model vector adjustment optimization algorithm [ J ] Chinese image graphic report, 2013(07): 118-.
[3] Liu Da Feng, Dyning, Sunzun quan Ping, et al. tangent plane normal vector direction adjustment algorithm facing curved surface reconstruction [ J ]. mechanical science and technology, 2008(02):58-63.
[4] He Hua, Lizongchun, Yan Rong Xin, et al, introduction of surface variational to achieve consistency adjustment of point cloud normal vector [ J ] survey and drawing, 2018.

Claims (6)

1. A method for rapidly orienting normal vectors of scattered point clouds is characterized by comprising the following steps: the scattered point cloud normal vector orientation process comprises the following steps:
step 1, initializing a scattered point cloud normal vector orientation data structure;
step 2, selecting normal vector oriented seed points;
and 3, selecting a region growing direction based on the priority queue and adjusting the normal vector direction.
2. The method as claimed in claim 1, wherein the method comprises: the implementation mode of the step 1 is to create an index priority queue L and a mark array B (default value is False) which are the same as the number of point clouds, and simultaneously construct a priority threshold table T according to the number N of angle thresholds; the design of the priority queue L data structure speeds up the import and export of queue elements.
3. The method as claimed in claim 1, wherein the method comprises: the step 2 specifically comprises the following steps:
step 2.1, traversing and searching a point with the minimum z value, selecting the point as an initial seed point S, and enabling the normal direction of the seed point S to be consistent with (0,0, -1.0);
and 2.2, setting the priority of the seed point S as the highest level, introducing the index value of the seed point S into a priority queue L, and marking the seed point S as True in a marking array B.
4. The method as claimed in claim 1, wherein the method comprises: the step 3 specifically comprises the following steps:
step 3.1, taking out an index value H of a point with the highest priority from the priority queue L;
step 3.2, searching k neighbor points of the reference point H according to a k neighbor algorithm, judging whether the k neighbor points in the mark array B are adjusted in direction, if True, returning to the step 3.1, otherwise, continuing to perform;
step 3.3, traversing the neighboring points of which the normal vector directions are not adjusted, enabling the normal vector directions of the neighboring points to be consistent with the reference point H, calculating the priority of the neighboring points, introducing indexes into the priority queue, and marking the neighboring points as True in the marking array B;
step 3.4, judging whether the priority queue L is empty, if not, returning to the step 3.1;
and 3.5, traversing the marked array B, acquiring the unprocessed point S _, marking True, importing the unprocessed point S _andthe marked True into the priority queue L, and returning to the step 3.1 for circular processing until all values in the marked array B are True.
5. The method as claimed in claim 1, wherein the method comprises: in the step 3, the priority strategy is combined with the priority queue data structure, the calculation complexity of the normal vector orientation algorithm is reduced to linear complexity, and the orientation speed is greatly accelerated.
6. The method as claimed in claim 1, wherein the method comprises: the priority strategy and the region growth are introduced in the steps 1, 2 and 3, the point cloud is guided to carry out normal vector orientation along the flattest direction, normal orientation of the point cloud under the singular condition is guaranteed, and consistency of the overall normal vector direction of the point cloud is guaranteed.
CN202010082581.3A 2020-02-07 2020-02-07 Rapid normal vector orientation method for scattered point clouds Active CN111105490B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010082581.3A CN111105490B (en) 2020-02-07 2020-02-07 Rapid normal vector orientation method for scattered point clouds

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010082581.3A CN111105490B (en) 2020-02-07 2020-02-07 Rapid normal vector orientation method for scattered point clouds

Publications (2)

Publication Number Publication Date
CN111105490A true CN111105490A (en) 2020-05-05
CN111105490B CN111105490B (en) 2023-03-31

Family

ID=70427917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010082581.3A Active CN111105490B (en) 2020-02-07 2020-02-07 Rapid normal vector orientation method for scattered point clouds

Country Status (1)

Country Link
CN (1) CN111105490B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882598A (en) * 2020-06-11 2020-11-03 广州万维创新科技有限公司 Point cloud normal vector consistency calibration method based on point-by-point growth
CN115830269A (en) * 2022-12-08 2023-03-21 中铁工程设计咨询集团有限公司 Tunnel point cloud normal direction adjusting method, device and equipment and readable access medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130181983A1 (en) * 2010-06-25 2013-07-18 Kabushiki Kaisha Topcon Point cloud data processing device, point cloud data processing system, point cloud data processing method, and point cloud data processing program
CN103701466A (en) * 2012-09-28 2014-04-02 上海市政工程设计研究总院(集团)有限公司 Scattered point cloud compression algorithm based on feature reservation
CN105096379A (en) * 2014-05-23 2015-11-25 南京理工大学 Triangular mesh surface reconstruction method based on k-neighborhood
CN106548484A (en) * 2016-10-27 2017-03-29 济宁学院 Product model dispersion point cloud Boundary characteristic extraction method based on two-dimentional convex closure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130181983A1 (en) * 2010-06-25 2013-07-18 Kabushiki Kaisha Topcon Point cloud data processing device, point cloud data processing system, point cloud data processing method, and point cloud data processing program
CN103701466A (en) * 2012-09-28 2014-04-02 上海市政工程设计研究总院(集团)有限公司 Scattered point cloud compression algorithm based on feature reservation
CN105096379A (en) * 2014-05-23 2015-11-25 南京理工大学 Triangular mesh surface reconstruction method based on k-neighborhood
CN106548484A (en) * 2016-10-27 2017-03-29 济宁学院 Product model dispersion point cloud Boundary characteristic extraction method based on two-dimentional convex closure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙金虎等: "点云模型法矢调整优化算法", 《中国图象图形学报》 *
曾锋等: "基于SOM的散乱点云法矢计算", 《计算机工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882598A (en) * 2020-06-11 2020-11-03 广州万维创新科技有限公司 Point cloud normal vector consistency calibration method based on point-by-point growth
CN115830269A (en) * 2022-12-08 2023-03-21 中铁工程设计咨询集团有限公司 Tunnel point cloud normal direction adjusting method, device and equipment and readable access medium
CN115830269B (en) * 2022-12-08 2023-06-06 中铁工程设计咨询集团有限公司 Tunnel point cloud normal direction adjustment method, device, equipment and readable access medium

Also Published As

Publication number Publication date
CN111105490B (en) 2023-03-31

Similar Documents

Publication Publication Date Title
CN109409437B (en) Point cloud segmentation method and device, computer readable storage medium and terminal
CN111105490B (en) Rapid normal vector orientation method for scattered point clouds
CN110348496B (en) Face image fusion method and system
CN106529573A (en) Real-time object detection method based on combination of three-dimensional point cloud segmentation and local feature matching
TWI497450B (en) Visual object tracking method
CN105303616B (en) Embossment modeling method based on single photo
CN101371273A (en) Video sequence partition
CN109509211A (en) Positioning simultaneously and the feature point extraction and matching process and system built in diagram technology
CN109712160B (en) Method for realizing image threshold segmentation based on generalized entropy combined improved lion group algorithm
CN110536142B (en) Interframe interpolation method for non-rigid image sequence
CN110110687B (en) Method for automatically identifying fruits on tree based on color information and three-dimensional contour information
CN106709931A (en) Method of mapping facial makeup to face, and facial makeup mapping device
Yuan et al. Watershed-based superpixels with global and local boundary marching
CN111161267A (en) Segmentation method of three-dimensional point cloud model
CN110992481B (en) Building white mold consistency merging method based on nearest connecting line
CN109461197B (en) Cloud real-time drawing optimization method based on spherical UV and re-projection
Yuan et al. Superpixels with content-adaptive criteria
CN102306173B (en) Image similarity comparison method
CN113409332B (en) Building plane segmentation method based on three-dimensional point cloud
CN104361625A (en) Ray principle based cloud data compaction algorithm with boundary reservation
Battiato et al. A Survey of Digital Mosaic Techniques.
CN109829459A (en) Based on the vision positioning method for improving RANSAC
CN111127622B (en) Three-dimensional point cloud outlier rejection method based on image segmentation
CN107610216B (en) Particle swarm optimization-based multi-view three-dimensional point cloud generation method and applied camera
CN113763280B (en) Region growing method based on space hierarchy topological relation for point cloud denoising

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