This application claims priority to Chinese Patent Application No. 201310559452.9 filed on Nov. 12, 2013 in the China Intellectual Property Office, the contents of which are incorporated by reference herein.
The present disclosure relates to three-dimensional scanning technology, and, more particularly to three-dimensional scanning technology which uses a contact probe to make up a deficiency of points for a point cloud to create an accurate and complete contour of a scanned object.
Three-dimensional scanning technology is now useful for a wide variety of applications. This technology is used extensively by the entertainment industry in the production of movies and video games. Other common applications of this technology include industrial design, orthotics and prosthetics, reverse engineering and prototyping, quality control/inspection and documentation of cultural artifacts.
The three-dimensional scanning technology uses a three-dimensional scanner to scan a surface of an object to create a point cloud of geometric samples on the surface of the subject. These points can then be used to extrapolate the shape of the subject (a process called reconstruction). A non-contact active three-dimensional scanner (for example, a triangulation based 3D laser scanner) has advantages that it can more quickly complete the scanning process than a contact three-dimensional scanner. However, the non-contact 3D scanner has its limitations: for a surface which is located in a deep hole or behind another surface, the surface cannot be properly scanned whereby the point cloud created by the scanning will have a discontinuity (hole). Such a discontinuity (hole) lowers the quality of the point cloud and affects the effectiveness of the measurement.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the present three-dimensional scanning system and method. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
Referring to
The contact probe 2 has a contact ball 20. The contact probe 2 can be a portable contact probe whereby a user can use his (her) hand to hold the contact probe 2 to directly measure a contour of the object by having the ball 20 contact with the surface of the object. Since some parts of the surface cannot be effectively scanned by the light from the scanner 13 due to their hidden positions, position data of these parts of the surface cannot be effectively obtained. The contact probe 2 can be used to probe these parts of the surface of the object to complement the measurement of these hidden parts of the surface to make up the deficiency in the point cloud, wherein such a process is called “hole-filling”.
Referring to
Referring to
In block 202, the contact probe 2 is measured by using a measuring device which can be a three-dimensional measuring device, a three-dimensional scanning device or a three-dimensional image measuring device, separated from the scanner 13 of the 3D scanning system 1 of the present disclosure.
In block 204, the original 3D coordinates of the positioning dots A, O, C are obtained by the contact probe measuring module 100 from the measuring device. The original 3D coordinates of the positioning dots A, O, C can be obtained from the coordinate system of the measuring device.
In block 206, a 3D coordinate system for the contact probe 2 is created by the contact probe measuring module 100 and initial coordinates of the positioning dots A, O, C in the 3D coordinate system of the contact probe 2 are established in accordance with the obtained original coordinates of the positioning dots A, O, C.
Then, in block 208, the initial 3D coordinate of the contact ball 20 of the contact probe 2 is obtained by the calculation module 102.
In block 210, the contact ball 20 of the contact probe 2 is used to measure the hidden parts of the surface of the contour of the object, while the contact probe 2 is photographed by the charge coupled device (CCD) of the scanner 13 to obtain an image of the contact probe 2. The image is stored in the image catch module 104.
In block 212, the two dimensional coordinates of the positioning dots A, O, C in the image are calculated by the calculation module 102.
In block 214, the 2D coordinates of the positioning dots A, O, C are converted into 3D coordinates by the calculation module 102 using a conversion matrix stored in the 3D scanning system 1. The conversion matrix can be a 4*4 matrix.
In block 216, the change of the coordinates of the positioning dots A, O, C from the initial 3D coordinates to the converted 3D coordinates is calculated out by the calculation module 102.
In block 218, the present 3D coordinate of the contact ball 20 of the contact probe 2 is calculated out by the calculation module 102, and the present 3D coordinate is output as a coordinate for the hole-filling of the point cloud by the output module 106. The calculation of the present 3D coordinate of the contact ball 20 is based on the initial 3D coordinate of the contact ball 20 and the change of the 3D coordinates of the positioning dots A, 0 C from the initial 3D coordinates to the converted 3D coordinates thereof.
Referring to
For example, suppose that the original 3D coordinate of positioning dot O is (1, 1, 1,), positioning dot A is (5, 1, 1) and positioning dot C is (1, 5, 1), then when the positioning dot O is setup by the contact probe measuring module 100 to become the original point of the 3D coordinate system of the contact probe 2 which has the initial coordinate of (0, 0, 0), the initial coordinate of the positioning dot A at the 3D coordinate system of the contact probe 2 becomes (4, 0, 0) and the positioning dot C becomes (0, 4, 0).
Alternatively, the contact probe measuring module 100 can directly copy the 3D coordinate system of the measuring device to be as the 3D coordinate system of the contact probe 2 whereby the initial 3D coordinates of the positioning dots A, O, C at the 3D coordinate system of the contact probe 2 are the same as the original 3D coordinates of the positioning dots A, O, C obtained by the measuring device.
There can be an additional block between blocks 208 and 210. The additional block includes using the scanner 13 to scan the object to obtain data of the point cloud by the processing module 108. Alternatively, the additional block can be performed between block 204 and block 206. Then, the data of the point cloud is processed by the processing module 108 obtain a contour surface, and the contour surface is further processed by the processing module 108 to obtain a triangle mesh.
The triangle mesh is obtained by the following manner. A point of the point cloud is arbitrarily chosen as a first point. A point which is nearest to the first point is chosen as a second point, wherein a distance between the first and second points should be smaller than a set value. The first and second points are connected together to establish a line. A third point neighboring the line is identified and the first, second and third points are connected together to establish a triangle. The triangle is checked to decide whether the triangle meets a requirement by the following steps. A circle is created to circumscribe the first, second and third points, wherein the triangle meets the requirement when there is no point other than the first, second and third points in the circle. If there is a point in the circumscribed circle, the processing module 108 will cancel the triangle and choose another third point to create another triangle and repeat the above check step. If there is no point in the circumscribed circle, then an inclusive angle between two normal vectors of the triangle and a neighboring triangle is measured, wherein the triangle meets the requirement when the inclusive angle is smaller than a predetermined value. If the inclusive angle is larger than the predetermined value, the processing module 108 will cancel the triangle and choose another third point to create another triangle and repeat the above two check steps.
The processing module 108, after processing the contour surface of the point cloud by the above described manner, can quickly create the triangle mesh consisting of a plurality of triangles and output the triangle mesh to the display device 14, wherein a user can visually perceive whether the point cloud has any holes which correspond to the parts of the surface of the scanned object which are located in deep holes or blocked by other parts and cannot be properly scanned by the scanner 13.
It is to be understood that the above-described embodiments are intended to illustrate rather than limit the disclosure. Variations may be made to the embodiments without departing from the scope of the disclosure as claimed. The above-described embodiments illustrate the scope of the disclosure but do not restrict the scope of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2013105594529 | Nov 2013 | CN | national |