The present invention relates to a method, system and software for registration of a subject data set with a reference data set. More particularly, but not exclusively, the present invention relates to a method, system and software for registering a subject data set with a reference data set for a 3D model.
Registration is defined as the process of determining a coordinate transformation on a data set in order to improve the congruence between that data set (the subject) and another (the reference).
The coordinate transformation is often required to be angle-preserving (rigid body) although may include a change of scale. At other times a non-rigid transformation (warp) may be preferred.
An example of a non-rigid transformation is the polyharmonic spline (e.g. the biharmonic, also known as the “thin-plate” spline).
Without loss of generality, the following description concerns the rigid-body registration of three dimensional surface data.
In this context, congruence may be achieved by reducing the spatial separation of the surfaces, either at defined points (“landmarks”), over the surface, or over some defined subregion(s).
In the case of landmark registration, it is usual to have explicitly defined corresponding points on both surfaces (homologous landmark pairs). At least three point pairs are required and must not be coincident or colinear. Provided these conditions are satisfied, the transformation may be determined directly (in closed-form), regardless of the initial pose of the subject with respect to the reference.
Singular value decomposition (SVD) is an example of an algorithm for direct rigid body registration of homologous landmark pairs.
The disadvantage with landmark registration is that a relatively small subset of the available data is used to determine the transformation of all points. Small errors in the specification of landmark locations can result in large mis-registration at other points on the surfaces.
In surface registration, a much larger number of the data points are used. However, the explicit point-to-point correspondence of the previous method is not available. Instead, an algorithm is required to implicitly determine the corresponding point pairs.
A commonly employed method is to simply find the closest point in the other data set. A transformation can be determined that will reduce the separation of the surfaces. This process can be repeated to iteratively converge to a condition of minimum separation.
Iterative closest point (ICP) is an example of an algorithm for iterative registration of surfaces.
However, the point-to-point correspondences produced by this kind of algorithm clearly depend at each step on the current relative pose of the subject and reference. If the initial pose is not sufficiently close to the “correct” registration, then iteration may converge to another “local” minimum.
There are several detailed descriptions of registration methods in the literature. See, particularly, An Algorithmic Overview of Surface Registration Techniques for Medical Imaging, Michel A. Audette, Frank P. Ferrie and Terry M. Peters, Medical Image Analysis (September 2000) volume 4, issue 3, pp 201-217, for a review in a medical imaging context.
It is an object of the present invention to overcome the limitations of the above methods, or to at least provide the public with a useful choice.
According to a first aspect of the invention there is provided a method of registering a first data set with a second data set, including the steps of:
It is preferred that the data sets relate to a 3D model. The data sets may relate to either a surface 3D model or a volume 3D model.
It is also preferred that the registration process in step (iii) is a direct registration method, such as singular value decomposition.
The refinement process in step (v) may include registration of surface attribute data, such as surface colour.
Preferably the landmark is approximately in the centre of the patch. The patch may be specified by the user. The patch may be a subset of the data contained within a sphere. The radius of the sphere may be specified by the user. The radius of the sphere may be related to the residual mean error resulting from the registration process in step (iii).
It is preferred that the size of all patches is equal, or approximately equal.
The patch may be specified by the user graphically. The patch may be specified by an arbitrary boundary curve. The patch may be a subset of the data contained within a projection from an arbitrary boundary curve.
Preferably the refinement process in step (v) includes matching points in the patch of the first data set with points in the patch of the second data set.
The refinement process in step (v) may include matching points in the patch of the first data set with points interpolated on the surface of the patch of the second data set.
It is preferred that a spline is used to interpolate the points. Preferably, a polyharmonic spline is used, such as a biharmonic spline.
The refinement process in step (v) may include matching points in the patch of one of the data sets with the intersection of the normal vectors of those points with the interpolated surface of the patch of the other data set.
The refinement process in step (v) may utilise an iterative registration method, such as iterative closest point.
The user may specify each landmark and corresponding landmark, or the landmarks may be specified automatically. Where the landmarks are specified automatically, it is preferred that the landmarks are specified using automatic feature recognition.
The relative position of the landmarks of the first data set may not be precisely the same as the relative position of the landmarks of the second data set.
According to a further aspect of the invention there is provided a system for registering a first data set with a second data set, including:
The processor may be further arranged for registering the landmarks in the first data set to the landmarks in the second data set using a direct registration method.
According to a further aspect of the invention there is provided software for registering a first data set with a second data set, including:
It is preferred that the code portion arranged for registering the landmarks in the first data set to the landmarks in the second data set uses a direct registration method.
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
The present invention relates to a method, software and system for registering a subject data set with a reference data set by using a combination of a landmark registration method followed by a patch registration method to provide a robust and accurate system superior to either one alone.
The present invention will be described in relation to the use of a direct registration method for registering landmarks and an iterative registration method for registering the patches. Direct registration ensures the necessary initial conditions are provided to the iterative method such that the desired minimum is attained.
However, it will be appreciated by those skilled in the art that an iterative registration method may be used for registering the landmarks.
Referring to
Alternatively, an automatic method such as feature recognition may be used to choose the landmarks.
A human operator is preferred to reduce the possibility of erroneous registrations. For example, registration may be required to be restricted to regions that are expected to be similar, excluding other regions expected to be different, especially in serial studies before and after some change event.
At least three homologous landmark pairs (20 and 21, 22 and 23, 24 and 25) are required and must not be coincident or colinear.
Some imprecision may be involved in the relative landmark positions of the subject data set compared to the relative landmark positions of the reference data set, either due to imperfection in the data or a desire to reduce the precision required by the human operator or computer algorithm in the identification process.
In the case of imprecise landmark positions, more than three landmark pairs are to be preferred. The transformation parameters are thus over-determined and less affected by errors in any one landmark location.
The initial transformation is computed by a direct method. A suitable algorithm for direct rigid body registration of homologous landmarks is singular value decomposition (SVD). This brings both objects 30 and 31 into a similar spatial orientation such as shown in
To obtain a refined registration an iterative method using more of the data and starting with the initial transformation from the direct method is used.
The range of the search for an improved registration is restricted by defining a surface region (“patch”) around each landmark. Patches 40, 41, 42, 43, 44, 45, and 46 around landmarks 1, 2, 3, 4, 5, and 6 are shown in
The boundary of a patch may be specified by the operator at the time of defining the landmark. For example, if the boundary is defined by a sphere, the radius of the sphere about the landmark (the shaded discs in
The same boundary definition can be used for all landmarks.
Patch boundaries around the landmark may also be defined by an arbitrary boundary curve drawn on the surface, or a 2D projection thereof.
Alternatively, the radius may be specified numerically by the operator. The value related to the residual root-mean-square (rms) error in the direct registration process may be presented to the operator as a guide to an appropriate radius value. For example, three times the rms value. This guide should form the lower bound of the radius of the sphere. The rms is calculated as the root-mean-square of the difference between the transformed landmarks of the subject and the landmarks of the reference.
Where the relative landmark positions of the subject data set is precisely the same as the relative landmark positions of the reference data set the rms will be zero and will not provide a helpful value radius value. In such a case a guide value may be given based on the size of the 3D model.
The iterative method is used to minimise the difference between the corresponding patches (i.e. it is a homologous patch registration method).
Iterative closest point (ICP) is an example of an algorithm for iterative registration of surfaces.
For any point in a patch in one data set, the corresponding point in the corresponding patch in the other data set is determined. It may simply be the closest data point, or may be interpolated from the known data points.
These interpolated points on the surface may be interpolated from the measured points using a spline such as a polyharmonic spline. When a polyharmonic spline is used, a biharmonic spline is preferred.
Referring to
Iteration is halted when sufficiently close registration is achieved or no further progress is being achieved.
Suitable other iterative methods as disclosed in An Algorithmic Overview of Surface Registration Techniques for Medical Imaging, Michel A. Audette, Frank P. Ferrie and Terry M. Peters, could be employed.
The method of the invention may be used for the following applications:
1. Two scans of same body part, registered to measure a change in volume, such as:
2. A scan of a manufactured object and the original design, registered to reveal deviations.
3. Registration of multiple, adjoining and overlapping scans of an object too large to be scanned in a single action.
It will be appreciated that the method of the invention has many more applications than those enumerated above.
The method of the invention can be implemented in software using a programming language such as Visual C++ or Python.
It will be appreciated that other programming languages may be used to implement the method of the invention or that the method be implemented directly in hardware.
The software of the invention can operate on a computer system such as a personal computer or a workstation. The computer system can be using a Windows operating system or a UNIX operating system.
It will be appreciated that the software of the invention may operate on many devices and that the devices could be using one of a variety of operating systems.
The present invention has several advantages including:
While the present invention has been illustrated by the description of the embodiments thereof, and while the embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departure from the spirit or scope of applicant's general inventive concept.
Number | Date | Country | Kind |
---|---|---|---|
531767 | Mar 2004 | NZ | national |