The hottest point cloud data filtering processing

  • Detail

Point cloud data filtering processing based on UG

Abstract: at present, UG has no function of point cloud data filtering processing. Therefore, this paper uses vc++ as the development platform, calls the smoothing function in Maflab, develops the point cloud filtering module on UG, and gives an application example to prove the feasibility of this module

key words: reverse engineering point cloud data filtering UG matlab


Reverse Engineering (RE) is one of the modern design and manufacturing methods, and it is a new product development technology with a high degree of practicality

2o over the years, reverse engineering has been widely studied in theory, and many professional reverse software have emerged at this stage, such as eware, imag of EDS company in the United States, geomagiestudio of raindrop company in the United States, CopyCAD of Delcam company in the United Kingdom, rapidform produced by inus company in South Korea. The measurement data obtained by non-contact measurement equipment has good data processing and surface reverse engineering functions, but it is not mature in terms of function coverage, automation, stability, compatibility with general CAD software, and it is also unable to achieve feature modeling and parameterization similar to CAD software, so it is very difficult to realize arbitrary modification of the model

at present, the popular 3D modeling software UG in the market has strong functions of parameter driven surface modeling, solid modeling and feature modeling. However, the preprocessing function of UG software for point cloud data obtained from non-contact scanning is quite weak, especially in point cloud filtering processing. Although the pointscloud module of UG has a certain reverse function, it is rarely used in practice, The main reason is that the point cloud data obtained by laser scanning has not been preprocessed, such as point cloud simplification, filtering, etc., so the effect of direct faceting is not good. For this reason, the mechanical hydraulic part of UG soft electro-hydraulic servo hydraulic universal experimental machine is two independent hydraulic working systems, namely, the specimen clamping drive hydraulic system and the experimental force hydraulic system. The project with a total capital of 29000 euros is allocated as a part of the pressure system platform of BMBF's leading-edge cluster fund plan to develop the point cloud filtering module in point cloud data preprocessing. The idea is: take vc++ as the development platform, call the smoothing function smooth() in the curve fitting toolbox in MATLAB to develop the point cloud data filtering module on UG

1 point cloud data filtering

1.1 overview of point cloud data filtering

noise points will inevitably be generated in the process of digitizing the sample or after aligning the multi view cloud data, that is, some unreasonable data points that obviously violate the design intent and destroy the smoothness of the curve and surface. Points 1, 2 and 3 in Figure 1 are noise points. Before surface reconstruction, noise points must be filtered to reduce the impact of noise points on curve and surface reconstruction

There are many ways to filter out noise points. The simplest filtering method is manual deletion, that is, through the graphical interface display, people lt= identify obvious noise points, and delete them from the data sequence. This method is applicable when the amount of data is small, but it is unable to deal with a large number of point cloud data

1.2 introduction to point cloud data filtering methods

the smoothing filtering of point cloud mainly includes the following three methods, as shown in Figure 2. The points connected by the dotted line in the figure represent the points measured by laser scanning, and the points connected by the solid line represent the smoothed points

1) median filtering method

this method takes the average value of three adjacent points to replace the original points and implements filtering. The median filtering method adopts the value of points and the statistical median of each data point in the filtering window, so this method has a good effect in eliminating data burrs, as shown in Figure 2D)

2) mean filtering method

this method takes the value of the sampling point as the statistical average of each data point in the filtering window to replace the origin, changes the position of the point cloud, and smoothes the point cloud, as shown in Figure 2e)

3) Gaussian filtering method

this method uses a Gaussian filter to filter out high-frequency noise in the specified domain. The weight of the Gaussian filtering method in the specified domain is Gaussian distribution, and its average effect is small. While filtering, it can better maintain the data morphology, so it is often used, as shown in figure 2b)

2 filtering processing of smooth() function

this paper uses the smooth() function in the curve fitting toolbox in MATLAB to realize several filtering methods described in 1.2. * ASC format point cloud data can be regarded as an n × 3, where n represents the number of data points, and each point is described by its three-dimensional coordinates (x, y, z). In n × Each column in the two-dimensional matrix of 3 (n × 1) represents the set of (x, y, z) coordinate values of each point in the point cloud data. Therefore, the essence of smooth() function for filtering point cloud data is to filter an n × 3

2.1 filtering process of smooth() function

expression of smooth function:

y=smooth (ydata, span,'method') (1)

where ydata represents the input one-dimensional array; Span is the step size of filtering, which indicates the number of points taken in the filtering window; Method refers to the filtering method in 1.2. As we can see from the above, the obtained point cloud data is an n × 3, and in expression (1), ydata is a one-dimensional array, so the key problem in processing filtering in smooth() function is how to split the two-dimensional array into one-dimensional array, and finally merge the split one-dimensional array into two-dimensional array. The specific process is:

2.2 proof of the feasibility of smooth() function filtering

represents P1, P2 pi, ... PN, N data points, can be seen from the previous filtering method introduction (taking mean filtering as an example), its mathematical definition formula is:

it can be seen that smooth() function filtering is completely feasible. The other two filtering methods can use the same method to prove their feasibility

3 implementation of point cloud data filtering in UG

3.1 software development of point cloud data filtering module

this paper takes UG software as the secondary development platform, vc++ as the development language, and calls the smoothing function smooth () in the curve fitting toolbox in MATLAB to filter point cloud data. The development process is as follows:

1) use the secondary development tool menuscript of UG to design the menu of the point cloud filtering module. The system menu is shown in Figure 4

2) interface preparation of the system

this paper uses vc++ to develop this module on the platform of UG. Vc++ is required to transfer the point cloud data to Matlab for processing, and the processed point cloud data to UG. The interface of the system is shown in Figure 5

3) the results of the system operation process

are shown in Figure 7

in this dialog, you must comprehensively consider energy efficiency, environmental protection and product quality. In the box, enter the point cloud data file you want to process. In the "file output:" text box, enter the location where the processed point cloud data file is stored, and then select the filtering method. Enter the filtering step size, which is 5 by default. Finally, click "data processing" to generate the processed * ASC code point cloud data file. Click finish, a new part of filter.prt will be generated on the UG interface, and the processed point cloud data will be displayed in the UG interface. Then use UG to reconstruct the curve and surface of the processed point cloud data

3.2 application example

the example under the point cloud data filtering module is shown in Figure 8. Figure (a) represents the point cloud data before filtering, and figure (b) represents the filtered point cloud data. Comparing figures (a) and (b) shows that the filtered point cloud data becomes smooth

4 conclusion

this paper uses vc++ to call the smoothing function smooth() in MATLAB to realize the filtering of point cloud data, and integrates it into UG software. Therefore, it not only overcomes the shortcomings that the compatibility between reverse software and UG is not mature enough, and it is impossible to achieve feature modeling and parameterization similar to CAD software, and it is very difficult to realize arbitrary modification of the model, but also improves the reverse processing function of UG, providing support for subsequent surface reconstruction


1, edited by Jin Tao, Tong Shuiguang, etc. reverse engineering technology [m]. Beijing: China Machine Press, 2o03

2, Wang Qinglin. UG/open grip applicable programming foundation [m]. Beijing: Tsinghua University Press.2oo2

3, Hu daozhong. UG secondary development skills of Microcomputer Platform [j], computer aided design and manufacturing. 2000 (1):l

4, Dong Changhong. Matlab interface technology and application [m]. Beijing: National Defense Industry Press, 2004

5 Ying Jianyong. Research on MFC call method in UG secondary development [j]. development and innovation of electromechanical products. 2005 (11):102.103

Copyright © 2011 JIN SHI