METHOD FOR RECOGNIZING THE GEOMETRY OF A PARTIAL AREA OF AN OBJECT
Patent Information
- Application Number
- DE502018015860
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-09-22
- Filing Date
- 2018-09-11
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2038-09-11
AI Technical Summary
Existing methods for recognizing partial geometries of objects require numerous user interactions, leading to insufficient statistics and large errors in measurement results, as well as a lack of reproducibility.
A computer-implemented method that determines the geometry of a partial area of an object by selecting a starting point, adapting a test geometry to a set of pixels, and iteratively refining the pixel set based on user input and geometric element fitting.
The method significantly reduces the need for user interactions, improves measurement accuracy, and enhances reproducibility by automatically determining the geometry and dimensions of object sub-areas with minimal user input.
Description
[0001] The invention relates to a computer-implemented method for recognizing a geometry of a partial area of an object according to the preamble of claim 1, as well as a computer program product according to claim 10.
[0002] Dimensional metrology generally deals with the task of determining properties, such as dimensions of specific sub-geometries of the object, from a digital representation of an object. For this purpose, it is known in the prior art to segment the digital representation of the object so that the pixels of the digital representation belonging to a sub-geometry can be grouped. From the segmentations of the object representation thus obtained, the corresponding dimensions of the geometry can then be determined by fitting a reference geometry. In this way, for example, for an object that has a large number of holes, edges, extrusions or other geometries, it is possible to determine exactly which dimensions these geometries have and whether the corresponding dimensions correspond to a specification that had to be taken into account when creating the object.For example, a workpiece inspection can be carried out by means of a tomographic or optical measurement of a workpiece and subsequent evaluation of the obtained digital object representation.
[0003] From Ahn et al., "Automatic segmentation and model identification in unordered 3D-point cloud", Visual communications and image processing; Vol. 4902, January 1, 2002, pages 723-733, it is known to determine a 3D point cloud of an object and display it on a display device. A first user input is received, which specifies a first position in the 3D point cloud as the starting point. A first set of pixels in the vicinity of the starting point is determined, the first set of pixels representing the geometry of the sub-area in the area of the starting point. A test geometry is then determined based on the first set of pixels by adapting a geometry element to the pixels of the first set of pixels. Finally, a second set of pixels in the vicinity of the starting point is determined, the second set of pixels representing the geometry of the sub-area in the area of the test geometry.Furthermore, DE 199 14 862 A1 discloses a method for measuring the contour of a workpiece, in particular a tool, comprising the following steps: determining at least one target position of a contour point of the contour to be measured and entering the target position into a computing device, arranging the workpiece such that the actual position of the contour point corresponds to its target position, tracing the contour with contour detection means and determining any number of actual positions of points of the contour relative to the determined target position, and calculating a contour line on the basis of the determined target position and the determined actual positions. In the publication by Julia Kroll, Ira Effenberger, Alexander Verl, "New solutions for industrial inspection based on 3D computer tomography," Proc.SPIE 7000, Optical and Digital Image Processing, 700006 (25 April 2008) presents methods for efficient industrial 3D CT image processing.
[0004] To recognize partial geometries of an object, it is known from the prior art that, for example, a user selects a set of points from the digital representation of the object via an interface. Furthermore, the user can specify which basic geometric shape is involved—i.e., whether it is a cylinder, a surface, a curve, or any other shape. The selected basic shape is then adapted to the points selected by the user, and an analysis of the corresponding properties of the object is performed from the adapted basic shape.
[0005] However, this approach has the disadvantage that a large number of user interactions are necessary to obtain a satisfactory result. For example, the user must specify the basic geometry shape and the points to be used for the adjustment. In doing so, the user typically only defines a small subset of all points that actually represent the geometry to be measured. Consequently, due to the small number of measurement data, insufficient statistics are often available, resulting in a measurement result with a comparatively large error. Furthermore, a user will usually not always select the same points for two consecutive analysis processes, thus preventing reproducibility of the analysis.
[0006] In contrast, the present application is based on the object of creating a computer-implemented method for recognizing a geometry of a partial area of an object, which overcomes the aforementioned disadvantages of the prior art.
[0007] Main features of the invention are defined in claim 1 and claim 10. Embodiments are subject of claims 2 to 9.
[0008] In a first aspect, the invention relates to a computer-implemented method according to claim 1 for recognizing a geometry of a partial region of an object in a three-dimensional digital representation of the object, wherein the digital representation has a plurality of pixels. The pixels of the digital representation represent at least one material interface of the object. The method comprises the steps described below.
[0009] First, the object representation is determined and displayed on at least one display device. Subsequently, at least one first user input is received, wherein the user input specifies at least one first position in the object representation as a starting point. A first set of pixels is then determined in the vicinity of the starting point, wherein the first set of pixels represents the geometry of the sub-area in the area of the starting point.
[0010] Based on the pixels of the first set of pixels, a test geometry is determined by adapting at least one geometry element to the pixels of the first set of pixels. Subsequently, a second set of pixels in the vicinity of the starting point is determined, wherein the second set of pixels maps the geometry of the sub-area in the area of the test geometry. The second set of pixels is then inserted into at least one target set of pixels, and the pixels of the target set of pixels are displayed in the object representation on the at least one display means.
[0011] Subsequently, a second user input is received, indicating whether the displayed pixels correctly represent the geometry of the sub-area of the object. If the second user input indicates that the geometry is correctly represented, at least one dimension of the geometry is determined, and the dimension is output. If, however, the second user input indicates that the geometry is not correctly represented, the previous steps that led to the determination of the first and second sets of pixels and the determination of the test geometry are repeated. The dimension can be output both visually and in the form of a corresponding file.
[0012] The method described above has the advantage that, ideally, the simple definition of a starting point by a user, for example by selecting a point in a representation of the object on a display device such as a computer monitor, results in the geometry of a sub-area being determined completely correctly.
[0013] For this purpose, starting from a starting point, a set of pixels is first determined which describes the geometry of the sub-area in the immediate vicinity of the starting point. The position selected by a user in the object representation, which is subsequently used as the starting point, can be identical to one of the pixels in the object representation. However, it is also possible for a user to select a position between the existing pixels. In this case, interpolation over the pixels adjacent to the selected position can be carried out to determine the local parameters of the material interface of the displayed object. Alternatively, if a position is selected which does not correspond to an existing pixel, the user input can be interpreted in such a way that the pixel closest to the position is assumed to be the starting point.
[0014] Based on the set of pixels thus obtained, a test geometry is then determined which probably correctly describes the geometry of the sub-area of the object within which the starting point lies. For this purpose, standard geometries such as circles, lines, planes, spheres, tori, cylinders, cones, or similar are preferably used as geometric elements and are adapted to the pixels of the target set in such a way that the geometric elements match the pixels as closely as possible. Furthermore, it can also be provided that free-form lines and / or free-form surfaces are adapted. For this purpose, a fitting method such as the Gaussian least squares method or a Chebyshev fit can be used. When adapting a geometric element to the pixels of the target set, not all pixels in the target set necessarily have to be taken into account.Rather, a representative subset of pixels can be selected from the target set beforehand, which are arranged, for example, equidistant from each other.
[0015] The test geometry thus determined is then used to determine further pixels, which probably also belong to the sub-area or the geometry of the sub-area that should be selected by the user input.
[0016] The set of pixels determined in this way is then displayed to a user on a display device, such as a monitor. For example, it can be provided that the pixels that were selected during the process are colored in the object representation. In addition to the determined pixels, according to one embodiment the user can also be shown which geometric element was adapted to the pixels. A user can then easily see whether the algorithm has determined the correct pixels, so that the geometry was probably recognized correctly. At this point the user has the option of confirming that the pixels were determined correctly. In this case an exact fit of the geometric element to the determined pixels can be carried out and from the result the dimensions of the geometry can be determined and output.
[0017] However, if a user recognizes that incorrect or not all relevant pixels have been determined by the program, the user can inform the program of this by making a corresponding input so that the algorithm for determining the pixels is run again.
[0018] In addition to outputting the measured dimensions and other parameters determined during the process, such as the geometric element used, its final position and orientation, and the values and tolerance intervals of the parameters considered, these values can also be stored in a corresponding data storage device. The values determined in this way can then be used, for example, to create an automatic test plan for further measurements on objects of the same type or nominal geometry. For this purpose, the determined information can preferably also be exported from the data processing system used.
[0019] The initial determination of the object representation can be achieved either by measuring the object or by reading a storage medium in which the object representation is stored. The measurement can be a computed tomography measurement, an optical measurement, for example, using a laser scanner, a measurement using fringe projection, or a tactile measurement. In general, any measurement method that outputs data that can be used to determine material interfaces and, in particular, surfaces of an object under investigation is suitable.
[0020] It is provided that determining the first set of pixels comprises determining at least one first parameter of the material interface at the location of the starting point, wherein the respective first parameters of the material interface at the positions of the pixels of the first set of pixels correspond to the at least one first parameter at the location of the first pixel.
[0021] The first parameter is a curvature value, which indicates how strongly a material interface of the displayed object is curved at the position represented by the pixel. In addition to a curvature, any other parameter can be used that is suitable for characterizing a surface represented by the pixels. If additional pixels are detected in the immediate vicinity of this starting point that are assigned a comparable curvature, it can be assumed that these pixels belong to the same geometry as the pixel selected by the user input. The aforementioned "correspondence" of parameters is given if the parameters of the additional pixels found lie within a defined value interval around the parameter of the starting point. The values for the first parameter and the corresponding value orTolerance intervals can be continuously recalculated or adjusted taking into account the pixels already found.
[0022] Furthermore, according to a further embodiment, it is provided that determining the second set of pixels comprises determining reference values of at least one second parameter for pixels in the environment of the test geometry, wherein the respective second parameters of the pixels of the second set of pixels correspond to the determined reference values.
[0023] For this purpose, a further parameter is selected and reference values for further image points are determined, which can then be used to determine the test geometry. Such reference values can be, for example, the position of the image points relative to the surface specified by the test geometry or the deviation of the direction of a normal on the surface of the test geometry in relation to the surface normal of the material interface of the object. Using the second additional parameter, further image points can then be determined and assigned to the target set if they correspond to the reference values while taking an error tolerance into account. When determining further points, the parameter previously used to determine the first set of image points, such as a surface curvature, can also be used again.For example, the surface curvature, the relative directional deviation of a surface normal of the test geometry from the material interface and the deviation of image points from the test geometry can be used to determine the second set of image points.
[0024] The tolerances or value intervals described above, which are used to determine image points, can, for example, be statistical measures derived from the image points determined so far. For example, when using the surface curvature as a parameter, an average value of the curvatures and the corresponding standard deviation can be determined from the curvatures of the material interface for the image points determined so far. The standard deviation, or an n-fold of the standard deviation, can then be used as an error tolerance when selecting further image points. Similarly, for the relative position of an image point to the surface of the test geometry, the mean square deviation of the position of image points from the test geometry can be used to define the tolerance range.If, however, the directional deviation of a surface normal of the test geometry from the surface normal of the material interface of the component at the position of an image point is to be used as a parameter, a heuristic value can be used as the tolerance range, for example 20 degrees.
[0025] As already explained above, the second user input can indicate that the geometry of the pixels of the target set displayed in the object representation is not correctly represented. To indicate this, one embodiment provides that the second user input specifies at least one further pixel as a starting point. In a simple implementation, it could be provided that the selection of a further starting point by the user automatically leads to the determination of the pixels for the target set of pixels being restarted. The initial determination of the first set of pixels can be based on all starting points that were previously selected by a user.In this way, additional information regarding the geometric element to be determined is introduced for the execution of the algorithm and the determination of image points, which usually leads to a more accurate result. A user can specify any number of starting points, provided they deem this necessary based on the displayed determined image points of the target set. If the second user input defines another position as a starting point, the receipt of a first user input, which also defines a position in the object representation as a starting point, can be omitted in the subsequent iteration of the process.
[0026] According to a further embodiment, the second user input can further specify a geometric element to indicate that the geometry was not correctly reproduced. In this case, only the geometric element specified by the second user input is taken into account during the subsequent determination of the test geometry. The selection of a geometric element by a user can, for example, be implemented by displaying the geometric elements suitable for fitting in addition to the determined pixels of the target set, for example in the form of a pop-up window. The user can then select a corresponding geometric element with knowledge of the actual geometry of the displayed object. By specifying the geometric element, a source of error in the further determination of pixels of the target set is excluded, thus enabling a more precise determination of the geometry and consequently also of the dimensions of the object.
[0027] In order to be able to present the user with the most precise result possible after just one run of the algorithm, a further embodiment provides for the determination of the test geometry, the determination of reference values of the second parameter, the determination of the second set of pixels, and the insertion of the determined pixels of the second set of pixels into the target set of pixels to be carried out iteratively several times within one run of the method steps. This means that within a single run of the method, pixels are determined several times based on a fitted geometry before the pixels are displayed to a user. The pixels determined in a previous iteration step are used to perform a new fitting of the previously determined geometric element.A subsequent iteration is preferably always carried out based on the geometry element that was already determined in a previous iteration step and used to determine the further image points.
[0028] Based on the test geometry determined in this way, new image points are then determined, which can then be used to refine the test geometry. In this process, new target values and tolerance intervals for the parameters to be determined can be determined in each iteration based on the newly determined image points. This iteration can, for example, be repeated until the target set of image points converges, i.e. only a few further image points are determined which can be added to the target set based on the given criteria. Alternatively, a defined number of iterations can be specified, for example through further user input. The iterative determination of image points and test geometries has the advantage that, ideally, all relevant image points have already been recorded after a single run of the process, meaning that no further user input is necessary.In this way, the efficiency of the described process can be improved.
[0029] Another possibility for increasing the efficiency of the method or reducing the required computational effort, according to one embodiment, is that the determination of the first set of pixels is aborted as soon as the number of pixels in the first set of pixels reaches a predefined number. For example, it can be specified that the determination of the first set of pixels is aborted as soon as 300 pixels have been determined. In this way, the duration of the method and the computational effort can be reduced. The selection of the number of pixels above which no further pixels are determined is preferably made such that a sufficient number of measurement points is available to be able to determine an initial test geometry.At this point, a larger number of pixels does not yet contribute significantly to the accuracy of the pixel determination, since when determining the first set of pixels only a single parameter is checked, without taking into account a possible shape of a geometric element.
[0030] The pixels required to reach the previously described set of pixels are preferably distributed evenly among the available starting points. For example, it can be specified that a maximum of 300 pixels are determined during the determination of the first set of pixels. If three starting points have been defined for determining the first set of pixels, exactly 100 pixels are determined around each of these starting points before the determination of the pixels is aborted. Accordingly, with two starting points, exactly 150 pixels would be allocated to each of the starting points. This approach has the advantage that even very small geometries, such as a rounded transition between two planes, which can be viewed locally as a cylinder, can be well delimited by selecting multiple starting points.If a large number of pixels were determined for each starting point, there would be a risk that pixels from adjacent planes that do not actually belong to the geometry being examined would also be mistakenly included. This would distort the final measurement result and lead to misinterpretations.
[0031] According to a further embodiment, determining the test geometry comprises the steps described below: First, a geometric element is determined. The determined geometric element is then adapted to the pixels of the target set of pixels by applying a fitting method, and at least one deviation of the adapted geometric element from the pixels of the target set of pixels is determined. This sequence of steps is repeated for at least two geometric elements. Finally, the adapted geometric element with the smallest determined deviation is defined as the test geometry. In this way, a large number of geometric elements can be automatically checked against the determined pixels, with the method automatically selecting the adapted geometric element that fits the determined pixels of the target set of pixels with the highest probability.This has the effect of further improving the degree of automation of the process and thus its efficiency, since ideally no further user interaction is necessary to select a basic geometry shape.
[0032] The geometric elements can be read, for example, from a storage medium of the computer system on which the method according to the invention is implemented. Any fitting method, such as the Gaussian least squares method or a Chebyshev fit, can be used to adapt the geometric elements to the pixels of the target set of pixels. As already explained above, not all pixels of the target set necessarily have to be used when adapting the geometric elements.
[0033] The geometric elements taken into account when determining the test geometry can depend on the user input made beforehand in such a way that, for example, two-dimensional geometric elements are only taken into account if all the starting points specified by a user input lie within a common plane. Furthermore, according to one embodiment, it can be provided that during the first user input, a user first defines a section plane of the object representation and then only starts points are specified in this section plane. In this case, initially only two-dimensional geometric elements in the section plane can be checked. If the user subsequently specifies further starting points outside the section plane, the determination of the test geometry is extended to include three-dimensional geometric elements. The previously determined image points can still be taken into account.By preselecting geometric elements in this way, computational effort can be further reduced, as the number of possible variables is reduced. Furthermore, ambiguity regarding whether a two-dimensional or three-dimensional geometric element should be adjusted can be avoided. For example, in some cases, it may not be possible to distinguish, based on the selected starting points, whether a circle or a cylinder is to be adjusted. Only by selecting a section plane, it is possible to perform targeted measurements in a specific, clearly defined plane of the object.
[0034] The previously described check of different geometric elements is of course not necessary and is not carried out according to the invention if a geometric element has already been defined by the second user input, as previously described.
[0035] The previously described determination of the deviation of the adjusted geometric element can be carried out according to a further embodiment as described below: First, the mean square distance of the adjusted geometric element from the target set of pixels is determined as the position error. Furthermore, the mean square sine of the angular difference between the respective normal vectors of the adjusted target geometry and the target set of pixels is determined as the directional error. The corresponding product is then determined from the previously determined position error and the directional error, with the determined product subsequently being weighted with a defined weighting factor that depends on the respective geometric element. The product thus weighted is then defined as the deviation of the adjusted geometric element.
[0036] The weighting factors are preferably heuristic factors, which are generally determined by a geometry element. For example, the "sphere" geometry element can be assigned a different weighting factor than the "cylinder" geometry element.
[0037] The determination of a deviation of an adapted geometry element from the pixels of a target set of pixels described above is particularly robust against noise in the information of the pixels that is usually present in a digital representation of an object.
[0038] The efficiency of the method according to the invention can be further increased according to a further embodiment in that, after the pixels of the second set of pixels have been inserted into the target set of pixels, pixels are selectively deleted from the target set of pixels, so that the pixels remaining in the target set of pixels are distributed evenly, in particular equidistantly, in a regular grid in space. It can also be provided that, for the pixels of the target set, with now refined information, a re-check is carried out during resampling to determine whether the parameters of the pixels continue to correspond to the conditions specified by the corresponding target values and tolerance intervals. During resampling, additional points not previously considered can also be included in the target set, provided that they meet the respective requirements with regard to their parameters.In this way, the computational effort of the method can be reduced due to a reduced number of data points to be considered, without having to accept a significant loss of information or accuracy of the method. Thus, the additional pixels of a locally dense distribution of pixels do not contribute significantly to the accuracy of the geometric element fit, but may significantly increase the computational effort.
[0039] The previously described method for determining the geometry of a sub-area of an object can, according to a further embodiment, also be used to determine all local geometries of an object. For this purpose, for example, the surface of an object or its material interfaces can be covered with a uniform grid of starting points. The grid's mesh size is preferably adjusted so that at least one pixel is defined as a starting point in each partial geometry of the object. The described determination of the respective local partial geometries is then carried out for all starting points found in this way. In this way, a complete measurement of a component with regard to all existing geometries can effectively be realized in a single, fully automated process.
[0040] In a further aspect, the invention relates to a computer program product with instructions executable on a computer, which, when executed on a computer, cause the computer to carry out the method according to one of the preceding claims.
[0041] Further features, details, and advantages of the invention will become apparent from the wording of the claims and from the following description of exemplary embodiments with reference to the drawings. It shows: Fig. 1 a flowchart of an embodiment of the method
[0042] The Figure 1shows a flowchart of an embodiment of the method according to the invention for recognizing geometries of sub-regions in object representations. In a first method step 102, the object representation is first determined. An object representation is understood to be a digital representation of an object, such as a workpiece. In the object representation, the material interfaces of the object are encoded by corresponding pixels which, through their relative position to one another, reproduce the geometry of the object. A material interface is generally understood to be any surface of an object at the position of which a transition from a first material of the object to a second material takes place.For example, such a material interface can describe the surface of the object, since here a transition from the actual material of the object, for example metal, to the ambient air takes place and consequently the material of the object is limited here.
[0043] However, a material interface can also be understood as a surface where, for example, a first material of an object, such as aluminum, is in contact with a second material of an object, such as a plastic. Such a situation occurs, for example, with objects that are composed of several partial workpieces, each of which is made of different materials. To determine the object representation, for example, a measurement of the object can be carried out, or the object representation can be read from a storage medium. To measure an object, for example, a computed tomography examination of the object can be provided. In this case, internal geometries of the object under investigation can also be determined.However, it is also possible to scan the surface of an object, for example with a laser scanner, a device for performing a stripe projection, or a tactile measuring device, in order to obtain a digital surface model of the object under investigation, which also represents an object representation within the meaning of the present invention.
[0044] After the object representation has been determined, it is presented to a user on a display in step 104. A display can generally be any device suitable for visualizing the object representation in such a way that it can be visually perceived by a user. For example, the display can be a monitor connected to a computer system programmed to execute the method. Furthermore, the display can also be VR glasses or the like.
[0045] A visualized object representation typically contains a multitude of geometric elements. For example, the object might be an engine block. This object contains a multitude of holes, curved and straight surfaces, extrusions, channels, and the like. Each of these elements can be described, at least in part, by a corresponding geometric element. Standard geometric elements such as circles, lines, planes, spheres, tori, cylinders, cones, or even freeform lines or freeform surfaces are preferably used as geometric elements. A user can then, for example, use the visualized object representation to check whether a particular hole corresponds to the dimensions specified during production.
[0046] To this end, the user can select at least one first starting point in the visualized object representation, which lies on the surface of the geometry to be examined, so that in step 106 a corresponding first user input is received that identifies at least one pixel of the object representation as the starting point. In a simple embodiment, the user can select a location on the surface of the displayed object, for example, using a cursor. The method then involves determining a pixel that is closest to the selected location and defining this pixel as the starting point.
[0047] Starting from this starting point, a first set of pixels in the immediate vicinity of the starting point is then determined in method step 108, which pixels most likely belong to the same geometry as the starting point. For this purpose, at least a first parameter of the material interface at the location of the starting point is first determined. The local curvature of the material interface at the location of the starting point is used. This can already be stored in the digital object representation, or it can be calculated at this point using methods known in the prior art. This local curvature then serves as the starting point for the search for further pixels in the immediate vicinity.
[0048] Furthermore, a tolerance interval is defined for the curvature value, which specifies the range around the determined curvature value within which further curvature values should still be interpreted as "sufficiently close to the curvature value." To determine the tolerance interval for the curvature, for example, pixels located in the immediate vicinity of the starting point can be determined. From the set of pixels thus determined, a tolerance interval can then be determined, for example, as n times the standard deviation of the curvatures of the pixels thus determined. If another pixel is then determined in the vicinity of the starting point that is assigned a curvature value that is sufficiently close to the curvature value of the starting point, this pixel is included in the first set of pixels. All pixels that lie outside the specified tolerance are ignored.The respective values for the target curvature value and the corresponding tolerance interval can be iteratively recalculated or further adjusted on the basis of the pixels already determined while searching for further pixels.
[0049] By choosing a tolerance interval equal to n times the standard deviation, the determination of additional points for the first set of pixels can be adapted to a series of boundary conditions. If, for example, a simple standard deviation were selected as the tolerance interval, the search for additional points would terminate relatively quickly, since the addition of additional pixels that already lie within the previously determined standard deviation would result in the subsequently determined standard deviation becoming steadily smaller. Consequently, fewer and fewer pixels would meet the search criteria. However, this can be counteracted by choosing a multiple of the standard deviation, for example twenty times the standard deviation, as the tolerance interval. The choice of the factor n for determining the tolerance interval can vary depending on the application.
[0050] The search for additional pixels for the first set of pixels can, for example, be limited such that the search is aborted as soon as the number of pixels in the first set of pixels reaches a certain limit. For example, the search for pixels in step 108 can be aborted as soon as 200 or 300 corresponding pixels have been identified.
[0051] This process step is based on the assumption that pixels describing a common geometry will always be assigned the same or at least a very similar curvature value. For example, all pixels on the surface of a hole will have a more or less identical local radius of curvature, since the radius of curvature is determined by the inner radius of the hole. Similar considerations apply to the other possible geometric elements.
[0052] The pixels of the first set of pixels are then used in step 110 to determine a first test geometry. A "test geometry" is a geometric element adapted to the pixels of the target set, i.e., a basic geometric shape whose parameters have been adjusted to achieve the greatest possible match with the pixels of the target set. According to a preferred embodiment, the following procedure is used to determine such a test geometry.
[0053] First, a specific geometric element, for example, a cylinder, is selected from a multitude of geometric elements. Its parameters—in this case, its radius and the position and orientation of the central axis—are initially still unknown. Applying a fitting method, such as the Gaussian least squares method or a Chebyshev fit, this geometric element is then adapted to the pixels of the target set. The result is a cylinder with a defined radius and a defined position and orientation of the central axis.
[0054] For the adjusted geometric element, the deviation of the adjusted geometric element from the pixels of the target set is then determined. A variety of parameters can be used to determine the target set. According to a preferred embodiment, a position error and a direction error are used to determine the deviation.
[0055] To determine the position error, the mean square distance of the adjusted geometry element from the image points of the target set is determined. The directional error also takes into account the difference between a surface normal of the adjusted geometry element and a corresponding surface normal of the material interface of the object according to its digital representation at a corresponding image point. The difference between the corresponding surface normals can be given, for example, by the angle between the normal directions. The directional error of the entire adjusted geometry is then calculated from the mean square sine of these local differences in the normal directions.
[0056] The total deviation of the adjusted geometry from the pixels can then be determined by multiplying the position error and the direction error by a heuristic weighting factor, where the weighting factor depends on the original geometry element. For example, the weighting factor for a plane might be 0.8, while the weighting factor for a torus might be 1.2 and for a cylinder 1.0.
[0057] The previously described steps of determining a geometric element, adjusting the geometric element, and determining the deviation of the geometric element from the pixels of the target set can be repeated for multiple geometric elements, so that in the end, respective sets of parameters and deviations are available for cylinders, torus, spheres, etc. The adjusted geometric element whose deviation from the pixels of the target set is the smallest is then adopted as the test geometry.
[0058] Based on the test geometry thus determined, further pixels are then determined in step 112. These pixels, taking into account the determined test geometry, most likely also belong to the set of points that represent the relevant area of the geometry in the object representation. As with the previously described determination of the first set of pixels, the at least one previously defined starting point is again used as the starting point for determining the second set of pixels.
[0059] A second set of test parameters is used to determine the pixels of the second set of pixels. For example, the local curvature of the surface of the displayed object can again be used to determine additional pixels. In addition, based on knowledge of the preliminary test geometry, a directional deviation of the surface normal and relative position deviations can be used to determine additional pixels. Therefore, tolerance values are again determined for the corresponding test parameters based on the previously known pixels of the target set of pixels. For the curvature, for example, the standard deviation of the curvatures for the previously determined pixels can be used to determine the tolerance range.For the directional deviation of the surface normal, a heuristic value, for example 20 degrees, can be used, while for the tolerance for the position deviation, the mean position deviation of the previously determined points from the test geometry or a multiple of this value can be used.
[0060] The advantage of using the previously mentioned statistical measures is that the width of the correspondingly determined tolerance ranges is primarily defined by the noise of the pixels. If an object representation is only slightly noisy, only narrow tolerance limits are applied for the selection of pixels. If these tolerance limits were also applied to highly noisy areas of the object representation, too few pixels would be allowed to obtain a reliable result when determining the geometry. However, since the tolerance ranges scale with the intensity of the noise, the described method for determining additional pixels is very robust against noise in the object representation.
[0061] It should be noted at this point, however, that the previously described options for determining tolerance intervals for detecting pixels are merely examples and should not be understood as limiting. Rather, there are numerous ways to define tolerance intervals for the parameters considered in detecting pixels. In a very simple case, such tolerance intervals can also be freely defined. Furthermore, it is also conceivable to determine tolerance intervals from other suitable parameters of an object image.
[0062] In the vicinity of the object representation, all further pixels are then successively determined which are suitable for the representation of the selected geometry, taking into account the determined reference values for curvature, position deviation and direction of the surface normal. According to one embodiment, while further pixels are determined, the reference values for the search parameters are iteratively adapted to the set of pixels found so far, so that the search is gradually refined. This leads to fewer and fewer pixels being found which match the applied search criteria, so that the search for further pixels stops at a certain point because no more pixels can be determined. The determined pixels are then stored in the target set of pixels.
[0063] As indicated by arrow 120, according to a further embodiment, it can also be provided that after a certain number of pixels have been determined based on the search parameters, the test geometry is determined again by once again adapting the geometric element to the now determined pixels. In this way, the search for further pixels converges more and more. Preferably, the same geometric element is used that was previously adapted to the determined pixels. Only the geometric properties describing the geometric element are adapted to the additional determined pixels.
[0064] Once the search for additional pixels has been completed in step 112, the determined result is displayed to the user in step 114. For example, it can be provided that the determined pixels of the target set of pixels are colored in the visualized object representation so that a user can recognize them. For example, the corresponding pixels can be colored green. Furthermore, it can be provided that pixels are classified based on a corresponding color coding according to how well they match the search criteria. For example, pixels whose parameters deviate only slightly from the corresponding target values can be displayed in green. The further the parameters of a pixel are from the actual target parameters, a corresponding color coding can be provided, for example, from the color yellow to the color red in the sense of a "status light."Furthermore, it can be provided that information regarding the adapted geometry element is also displayed to the user, so that the user is informed, for example, that the algorithm has recognized the selected geometry as a cylinder or torus.
[0065] The user can then use their knowledge of the object to check whether the correct and complete pixels of the corresponding area of the object representation have been determined, and whether the correct geometric element was used as a basis. If this is the case, the user can, for example, commission a final fit of the test geometry to the pixels in step 116 using a corresponding second user input, so that ultimately, after a corresponding evaluation in step 118, the dimensions of the examined area of the displayed object are output based on the corresponding fit parameters. Furthermore, the determined fit parameters, as well as the other geometric properties of the fitted test geometry, can be saved and / or exported. For example, this information can be used to create a test plan for subsequent objects of the same nominal geometry.
[0066] However, if the user detects that the geometry was not correctly recognized, or that pixels have been included that do not belong to the corresponding area of the object representation, they can indicate this with a corresponding second user input. The second user input can, for example, define another starting point on the desired surface, whereupon the method returns to step 108 and repeats steps 108, 110, 112, and 114.
[0067] Furthermore, when displaying the results of the previous analysis in step 114, the user can also be presented with a selection of possible geometric elements. In this case, the second user input can further include a selection of the geometric element, so that the geometric element to be used is determined for the further process. In this case, the adjustment of the geometric element takes place in step 110 exclusively for the specified geometric element. The remaining geometric elements are then no longer checked, so that the determination of a deviation of the adjusted geometric elements and their comparison can also be omitted.
[0068] Steps 108 to 114 are repeated until the user indicates in step 116 that the result of the analysis is correct.
[0069] The invention is not limited to one of the embodiments described above, but can be modified in many ways.
[0070] For example, during the first user input in step 106, the user can first define a section plane of the displayed object in which to search for certain geometries. The user can then specify corresponding starting points in the selected section plane. As long as the user specifies starting points exclusively in the selected two-dimensional section plane, only two-dimensional geometric elements, i.e. lines, curves and circles, are taken into account when determining the test geometry. However, if the user defines at least one starting point outside the selected section plane in the further course of the process, only three-dimensional geometric elements, i.e. spheres, cylinders, toruses, etc., are taken into account in the further course of the process. The results from previous iterations when determining geometries in the section plane can be incorporated into the subsequent determination of three-dimensional test geometries.
[0071] Alternatively or additionally, the object to be examined can be presented to a user in multiple windows with different views. For example, an isometric or freely rotatable three-dimensional view of the object can be presented in a first window, while another window only presents a two-dimensional view along a defined section plane. As long as the user defines starting points exclusively in the two-dimensional representation, the search for corresponding test geometries is limited to two-dimensional geometric elements. If, however, the user selects starting points in the three-dimensional view, only three-dimensional test geometries are automatically determined.
Claims
1. Computer-implemented method for identifying a geometry of a portion of an object in a three-dimensional digital representation of the object on the basis of reading a storage medium, on the basis of a computer tomography measurement, an optical measurement or a measurement by means of fringe projection or on the basis of a measurement method which outputs data that can be used to ascertain material interfaces of the examined object, the digital representation having a multiplicity of pixels, the pixels of the digital representation representing at least one material interface of the object, the method including the following steps: a) ascertaining (102) the object representation, b) presenting (104) the object representation on at least one display means, c) receiving (106) at least one first user input, the user input specifying at least one first position in the object representation as a starting point, d) ascertaining (108) a first set of pixels in the surroundings of the starting point, the first set of pixels representing the geometry of the portion in the region of the starting point, wherein the ascertainment of the first set of pixels includes the ascertainment of at least one first parameter of the material interface of the object at the location of the starting point, the respective first parameters of the material interface at the positions of the pixels of the first set of pixels corresponding to the at least one first parameter at the location of the first pixel, wherein mentioned correspondence of parameters is given when the parameters of the further pixels found are within a defined value interval around the parameter of the starting point, wherein the at least one first parameter is a curvature value that indicates how strongly a material interface of the presented object is curved at the position represented by the pixel, e) ascertaining (110) a test geometry on the basis of the first set of pixels by fitting at least one geometric element to the pixels of the first set of pixels, f) ascertaining (112) a second set of pixels in the surroundings of the starting point, the second set of pixels representing the geometry of the portion in the region of the test geometry, g) inserting the second set of pixels into at least one target set of pixels, h) displaying (114) the pixels of the target set of pixels in the object representation on the at least one display means, i) receiving (116) at least one second user input after displaying (114) the pixels of the target set of pixels in the object representation on the at least one display means, the second user input indicating whether the displayed pixels correctly reproduce the geometry of the portion of the object, j) should the second user input indicate that the geometry is correctly reproduced, determining (118) at least one dimension of the geometry and outputting the dimension, k) should the second user input indicate that the geometry is not reproduced correctly, repeating steps c) to i).
2. Method according to Claim 1, characterized in that the ascertainment of the second set of pixels includes the ascertainment of reference values of at least one second parameter for pixels in the surroundings of the test geometry, the respective second parameters of the pixels of the second set of pixels corresponding to the ascertained reference values.
3. Method according to any of the preceding claims, characterized in that the second user input for indicating that the geometry has not been reproduced correctly specifies at least one further position of the object representation as a starting point.
4. Method according to any of the preceding claims, characterized in that the second user input for indicating that the geometry has not been reproduced correctly sets the geometric element such that only the geometric element set by the second user input is taken into account when ascertaining the test geometry.
5. Method according to any of the preceding claims, characterized in that the sequence of steps e), f) and g) is run through at least twice within one iteration of steps c) to i).
6. Method according to any of the preceding claims, characterized in that the ascertainment of the first set of pixels is terminated as soon as the number of pixels in the first set of pixels reaches a predefined number of pixels.
7. Method according to any of the preceding claims, characterized in that the ascertainment of the test geometry includes the following steps: p) ascertaining a geometric element, q) fitting the geometric element to the pixels of the target set of pixels by applying a fit method, r) ascertaining at least one deviation of the fitted geometric element from the pixels of the target set of pixels, wherein the sequence of steps p) to r) is repeated for at least two geometric elements, wherein the fitted geometric element with the smallest ascertained deviation is set as the test geometry.
8. Method according to Claim 7, characterized in that the ascertainment of the deviation of the fitted geometric element includes the following steps: u) ascertaining a mean square distance of the fitted geometric element from the target set of pixels as position error, v) ascertaining a mean square sine of a difference in direction between a normal of the fitted intended geometry and the target set of pixels as directional error, w) ascertaining a product of position error and directional error, x) weighting the product with a defined weighting factor, the weighting factor depending on the geometric element, y) defining the weighted product as the deviation of the fitted geometric element.
9. Method according to any of the preceding claims, characterized in that pixels from the target set of pixels are selectively deleted after step g) has been carried out such that the pixels remaining in the target set of the pixels are distributed uniformly in space.
10. Computer program product comprising instructions able to be executed on a computer, which instructions, when executed on a computer, prompt the computer to carry out the method according to any of the preceding claims.