Claims
- 1. A system for registering an input image to a reference image comprising:
one or more imaging devices for obtaining said input image; a patch determining device for obtaining low curvature patches of said reference image, a processor adapted to register said input image to said reference image by matching said low curvature patches of said reference image to corresponding low curvature portions of said input image.
- 2. The system of claim 1 wherein said reference image is a digitized image.
- 3. The system of claim 1 wherein said reference image is stored in a memory.
- 4. The system of claim 1 wherein said processor is a programmable computer selected from the group comprising: a personal computer, a SUN workstation, a Unix computer system.
- 5. The system of claim 1 wherein said imaging devices are non contact range sensors.
- 6. The system of claim 1 wherein said imaging devices are CMMs.
- 7. The system of claim 1 wherein said device for matching includes a matched filter.
- 8. The system of claim 1 Including an output device for displaying deviations of said input image from said reference image.
- 9. The system of claim 8 wherein said output device is a computer display.
- 10. A system for registering an input image to a reference image comprising:
means for obtaining said input image; means for obtaining low curvature patches of said reference image, means for registering said input image to said reference image including means for determining corresponding low curvature portions of said input image from said low curvature patches of said reference image.
- 11. A method of registering an input image with a reference image comprising the steps of:
selecting a plurality of low curvature patches of said reference image; determining corresponding low curvature patches of said input image; aligning said low curvature patches of said reference image to said low curvature patches of said input image until registration is achieved.
- 12. The method of claim 11 wherein said step of aligning includes the steps of:
determining a surface normal vector ni, and center location pi for each of said low curvature surface patches Pi; interpolating from ni and pi to a point q on the input image.
- 13. The method of claim 11 wherein the input image is a scanned image and the reference image is a computer assisted drawing (CAD) image.
- 14. A method of registering surface measurements taken from an object to reference data representing specifications for said object, the method implemented on a programmable computer, the method comprising the steps of:
measuring said surface of said object to obtain a plurality of surface data points qi; analyzing said reference data to determine a plurality of patches Pi each comprising one or more sections having curvature corresponding to local minima; determining a surface normal vector ni, and center location pi for each of said patches Pi; projecting a line from pi, along ni to intersect a surface data point qi; and calculating a sum of distances d(P, P′) between points pi and qi for a plurality i of said low curvature surface patches to a obtain pose error.
- 15. The method of claim 14 further including the step of correcting said pose error.
- 16. The method of claim 15 wherein the step of correcting said pose error is accomplished by the steps of:
minimizing said pose error for variables W, t″, said pose error being described by the relationship: 6pose error=W,t″∑i[((I-W/2)qi-(I+W/2)pi-t″)Tni]2where I is an N×N identity matrix;and W=[1-ωzωyωz1-ωx-ωyωx1] for a 3D space;b) converting W to a rotation R and translation t, said rotation R and translation t representing pose error, by means of the following equation:R=(I−W/2)−1(I+W/2)t=(I+W/2)t″.
- 17. The method of claim 14 further comprising the step of utilizing said pose error to detect irregularities between said computer model and said surface of said object.
- 18. The method of claim 14 further comprising the step of displaying an indication of said irregularities to an operator.
- 19. A method of comparing a theoretical N dimensional model surface to N dimensional measured data surface points of an object comprising the steps of:
a) acquiring said N dimensional model; b) analyzing said model to determine a plurality of low curvature surface patches Pi, each Pi having a curvature less than a predetermined curvature threshold; c) determining a surface normal vector ni, and center location pi for each of said low curvature surface patches Pi; d) projecting a line from pi to intersect with location qi on the surface data; e) determining a pose error, being a sum of distances d(P, P′) between locations pi and qi for a plurality of patches i; f) minimizing the sum of distances d(P, P′) to result in the pose error; g) adjusting the pose of the N dimensional model relative to the N-dimensional data to according to the calculated pose error as a rough pose; h) calculating a statistical distribution of a plurality of data surface points; i) determining deviation from the calculated statistical distribution of a plurality of data surface; j) comparing the each of the plurality of data surface points to the statistical distribution; k) attributing a weight to each of the plurality of surface data points based upon the comparison to the statistical distribution, being between 1 and 0, with the weight going toward 0 as the distance from the center of the statistical distribution increases. l) multiplying each range data point by its weighting to result in weighted surface data; m) repeating steps (b) through (g) above to solve for fine pose using the weighted measured data in place of the original measured data; n) adjusting the rough pose of the N dimensional model relative to the N-dimensional surface data to according to the calculated pose error from the weighted measured data.
- 20. A system for adjusting pose registration between a theoretical N dimensional model surface to N dimensional measured data surface represented by the model comprising:
a) a patch determination device for determining a plurality of patches Pi each having less than a predetermined surface curvature; b) a patch center device functionally coupled to the patch determination device for calculating a center point pi for each of the plurality of low curvature surface patches; c) normal vector calculation device functionally coupled to the patch determination device and the patch center device for determining a vector ni normal to each patch Pi at its center point pi; d) a geometric determination device functionally coupled to the patch center, and normal vector calculation devices, and the surface data source, which extends the normal vector ni until it intersects with surface data at location qi; e) a distance minimization device functionally coupled to the patch center, normal vector calculation and geometric calculation devices for determination of rotation intermediates (ω, t″); f) rotation conversion device coupled to the distance minimization device for receiving rotation intermediates (W, t″) and for converting them into pose error (R, t); and g) an offset device coupled to the rotation conversion device, the surface data source and the model source, for receiving pose error (R, t) and adjusting the surface data and model pose according to the pose error (R, t).
- 21. The system for adjusting pose registration of claim 21, wherein the surface data source comprises:
a) a physical object to be matched; and b) a ranging device which scans the surface of the object to provide surface data.
- 22. The system for adjusting pose registration of claim 21, further comprising a weighting device functionally coupled to the surface source device, the model source and distance minimization device for determining when a pose error (R, t) has been calculated and for determining a weighting factor which becomes smaller as the distance of the point from the model surface becomes larger, and is a maximum when the surface data point coincides with the model surface, for the plurality of surface points and multiplying each surface point by its weighting factor, then storing the weighted surface points in the memory.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of application Ser. No. 08/889,070, filed Jul. 7,1997.
Government Interests
[0002] The US Government may have certain rights in this invention pursuant to contract number 70NANB5H 1085 awarded by the National Institute of Standards and Technology (NIST).
Divisions (1)
|
Number |
Date |
Country |
Parent |
09303241 |
Apr 1999 |
US |
Child |
10085158 |
Feb 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08889070 |
Jul 1997 |
US |
Child |
10085158 |
Feb 2002 |
US |