Home | Alpha Telephone | Domain Names | Web Hosting | Get Traffic | xrEvidence | xrSoccer

United States Patent

Previous       Show 10       Next


United States Patent 7,058,213
Rubbert ,   et al. June 6, 2006

Scanning system and calibration method for capturing precise three-dimensional information of objects


Abstract

A scanning system includes a hand-held scanning device that generates two-dimensional images of a pattern reflected off an object. The system also includes a memory and processing unit. The memory stores a calibration table for the scanner and received scanned bitmap images. The processing unit generates three-dimensional information as to a scanned object.The scanning can be performed without knowledge or even precise control of the position of the object relative to the scanner. Random movement of the object during scanning is also possible. For example, the scanner is simply swept over the surface of the object by hand. Three-dimensional information of the object is obtained from the captured images using a calibration table for the scanner. A method of calibration of the scanner in X, Y and Z directions is also described. The scanner can be used for a variety of purposes, including medical and industrial purposes. The illustrated embodiment is in-vivo scanning of human teeth for purposes of orthodontic treatment planning and diagnosis.


Inventors: Rubbert; Ru (Berlin, DE), Weise; Thomas (Berlin, DE), Sporbert; Peer (Berlin, DE), Imgrund; Hans (Berlin, DE), Geerdes; Hans-Florian (Berlin, DE), Pfeil; Lutz (Berlin, DE), See; Peter (Berlin, DE)
Assignee: OraMetrix, Inc. (Richardson, TX)
Appl. No.: 10/993,323
Filed: November 18, 2004

Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
09834593Apr., 2001
09673963Nov., 20006495848
09616093Jul., 20006532299
09560131Apr., 20006744914
09560132Apr., 20006771809
09560583Apr., 20006738508
09560645Apr., 20006728423
09560644Apr., 20006413084
09560133Apr., 20006744932
09560641Apr., 20006512994
09560584Apr., 2000
09560134Apr., 20006851949
09452031Nov., 19996431870
09452034Nov., 1999
09254843Mar., 19996359680
09254755Mar., 1999

Current U.S. Class: 382/128 ; 348/207.99; 382/154
Current International Class: G06K 9/00 (20060101)
Field of Search: 382/128,313,325,154 348/66,207.99 433/24


References Cited

U.S. Patent Documents
3624347 November 1971 Todd et al.
3940822 March 1976 Emerick et al.
4327961 May 1982 Kladitis
4646724 March 1987 Sato et al.
4968124 November 1990 Deckert et al.
5558670 September 1996 Konwitz et al.
5647840 July 1997 D'Amelio et al.
5785644 July 1998 Grabover et al.
5805765 September 1998 Altman
5991437 November 1999 Migdal et al.
6000799 December 1999 Van de Velde
6103912 August 2000 Jandrue et al.
6197073 March 2001 Kadner et al.
6738508 May 2004 Rubbert et al.
2001/0047137 November 2001 Moreno et al.
2002/0186478 December 2002 Watanabe et al.
2003/0107652 June 2003 Williams
2004/0006254 January 2004 Weil et al.
2005/0024646 February 2005 Quadling et al.
Primary Examiner: Choobin; Barry
Attorney, Agent or Firm: McDonell Boehnen Hulbert & Berghoff LLP

Parent Case Text



CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of the pending U.S. patent application Ser. No. 09/834,593 filed Apr. 13, 2001 and a continuation-in-part application of the following U.S. patent applications:

Ser. No. 09/254,755 filed Mar. 8, 1999 (MBHB 00-1029), abandoned;

Ser. No. 09/254,843 filed Mar. 11, 1999 (MBHB 00-1031), now issued as U.S. Pat. No. 6,359,680;

Ser. No. 09/673,963 filed Nov. 20, 2000 (MBHB 00-1033), now issued as U.S. Pat. No. 6,495,848;

Ser. No. 09/452,031 filed Nov. 30, 1999 (MBHB 00-1022), now issued as U.S. Pat. No. 6,431,870;

Ser. No. 09/452,034 filed Nov. 30, 1999 (MBHB 00-1020), now abandoned

Ser. No. 09/560,131 filed Apr. 28, 2000 (MBHB 00-1000), now issued as U.S. Pat. No. 6,744,914;

Ser. No. 09/560,132 filed Apr. 28, 2000 (MBHB 00-1001), now issued as U.S. Pat. No. 6,771,809;

Ser. No. 09/560,583 filed Apr. 28, 2000 (MBHB 00-1002), now issued as U.S. Pat. No. 6,738,508;

Ser. No. 09/560,645 filed Apr. 28, 2000 (MBHB 00-1004), now issued as U.S. Pat. No. 6,728,423;

Ser. No. 09/560,644 filed Apr. 28, 2000 (MBHB 00-1005), now issued as U.S. Pat. No. 6,413,084;

Ser. No. 09/560,133 filed Apr. 28, 2000 (MBHB 00-1006), now issued as U.S. Pat. No. 6,744,932;

Ser. No. 09/560,641 filed Apr. 28, 2000 (MBHB 00-1023), now issued as U.S. Pat. No. 6,512,994;

Ser. No. 09/560,584 filed Apr. 28, 2000 (MBHB 00-1025), pending;

Ser. No. 09/560,134 filed Apr. 28, 2000 (MBHB 00-1027), now U.S. Pat. No. 6,851,949; and

Ser. No. 09/616,093 filed Jul. 13, 2000 (MBHB 00-1003), now issued as U.S. Pat. No. 6,532,299.

The entire contents of each of the above-referenced patent applications are fully incorporated by reference herein.
Claims



The invention claimed is:

1. A scanner for in-vivo scanning the oral cavity, the scanner comprising: a light source, a heated mirror directing light from said light source onto anatomical structures in or surrounding the oral cavity; an electronic imaging device collecting light reflected off of said anatomical structures, said electronic imaging device comprising an array of pixels; and a memory storing a three-axis (X, Y and Z) coordinate system calibration relationship for said scanner, said calibration relationship identifying: (1) pixel coordinates for said electronic imaging device, said pixel coordinates associated with distance information in a Z direction at at least two different Z distances, and (2) distance information in X and Y directions, at said at least two different Z distances; wherein the heating of said mirror prevents fogging of said mirror during in-vivo scanning.

2. The scanner of claim 1, wherein said scanner comprises a housing adapted to be held by the hand, and wherein said mirror is placed at the distal end of a probe extending from said housing.

3. The scanner of claim 1, wherein said mirror is placed in a housing and wherein said mirror housing further comprises an AC conductive heating coil that heats said mirror.

4. The scanner of claim 1, wherein said scanner further comprises a projection pattern and said light source projects said projection pattern onto said anatomical structures.

5. The scanner of claim 1, wherein said mirror comprises a square mirror.

6. The scanner of claim 1, wherein said mirror is heated to a temperature of approximately 40 degrees C. during in-vivo scanning.
Description



NOTICE REGARDING COPYRIGHT

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, at it appears in the Patent and Trademark Office files or records, but otherwise reserves all copyright rights whatsoever.

TABLE OF CONTENTS

Background Summary of the invention Brief Description of the Drawings Detailed Description of the Preferred Embodiment Part 1 Overview Part 2 Three Dimensional Image Generation Scanner Manufacture and Calibration Pattern Recognition Decoding Derivation of 3-D Point Cloud Per Image Part 3 Generation of Digital Impression Entry point into registration Frame to frame registration Cumulative registration Segment registration Landmarking Separation of teeth into individual tooth objects Part 4 Introduction to Treatment Planning Other Uses of Scanner Claims

BACKGROUND OF THE INVENTION

A. Field of the Invention

This invention relates generally to a scanning system that captures a series of two-dimensional images containing surface information of objects. The scanning system generates an accurate three-dimensional computer model of the object from the captured images. The invention also relates to method for deriving the three-dimensional information from the captured images.

The inventive scanning system and method can be used to analyze the surface and three-dimensional shape of virtually any three-dimensional object, including work pieces and manufactured objects, art objects, archaeological artifacts, and large scale structures such as rooms and buildings. The invention is particularly useful in medical-related applications, including orthodontics, and the present document discusses the invention in the context of orthodontics and the scanning of teeth (either scanning in-vivo or a scanning a physical model). However, other uses of the scanner and method are of course within the scope of the invention.

B. Description of Related Art

Scanners are devices for capturing and recording information from a surface of an object. Scanners for obtaining information from a two-dimensional surface, such as reading bar codes or characters printed on a piece of paper, are widely known. Several scanners have been proposed for recording three-dimensional information as well.

Dentistry and orthodontics is one area where precise knowledge of a patient's dentition is desirable, and hence this is one area where three-dimensional scanners have been proposed. The key to efficiency in treatment and maximum quality in results is a realistic simulation of the treatment process. Today's orthodontists have the possibility of taking plaster models of the upper and lower jaw, cutting the cast into single tooth models and sticking these tooth models into a wax bed, lining them up in the desired position, the so-called set-up. This approach allows for reaching a perfect occlusion without any guessing. The next step is to bond a bracket at every tooth model. This would tell the orthodontist the geometry of the wire to run through the bracket slots to receive exactly this result. To make sure that the brackets will be bonded at exactly this position at the real patient's teeth, small templates for every tooth would have to be fabricated that fit over the bracket and a relevant part of the tooth and allow for reliable placement of the bracket at the patient. To increase efficiency of the bonding process, another option would be to transfer each single bracket onto a model of the malocclusion and then fabricate one single transfer tray per jaw that covers all brackets and relevant portions of every tooth. Using such a transfer tray guarantees a very quick and yet precise bonding.

However, it is obvious that such an approach requires an extreme amount of time and labor, and this is the reason why it is not widely used. The typical orthodontist does not fabricate set-ups; he places the brackets directly at the patient to the best of his knowledge, uses an off-the-shelf wire and hopes for the best. While at the beginning of treatment things generally run well as all teeth start to move at least into the right direction, at the end of treatment a lot of time is lost by adaptations and corrections required due to the fact that the end result has not been properly planned at any point of time. For the orthodontist this is still preferable over the lab process described above, as the efforts for the lab process would still exceed the efforts that he has to put in during treatment. And the patient has no choice and does not know that treatment time could be significantly reduced if proper planning was done.

U.S. Pat. No. 4,837,732 and U.S. Pat. No. 4,575,805 to Brandestini and Moermann propose a scanning system for in vivo, non-contact scanning of teeth. The patents describe a procedure for optically mapping a prepared tooth with a non-contact scan-head. The scan-head delivers the contour data, converted to electrical format, to be stored in a memory. A computer reads the memory following a line scan pattern. A milling device is slaved to follow this pattern by means of position control signals and mills an implant for the prepared tooth cavity.

The scan-head of the '732 and '805 patents includes a light emitting diode, with integral lens that radiates light onto the cavity. Before reaching the object, the rays of light are reflected by a mirror and pass through a ruling consisting of a plurality of parallel slits, or an alternating pattern of parallel opaque and transparent stripes. The reflected light is focused by a lens onto a charge-coupled device (CCD) sensor. Depth information is determined in accordance with a principle known as "active triangulation," using parameters shown in FIG. 9 of this document and described subsequently. Basically, the object is viewed under an angle different from the incident rays due to a parallax effect. Each light stripe will have an apparent positional shift and the amount of the shift at each point along each light stripe is proportional to the vertical height of the corresponding portion of the surface on the object.

U.S. Pat. No. 5,372,502 to Massen et al. describes an optical probe for measuring teeth that works on a similar principle. As noted in the Massen et al. patent, the Brandestini et al. technique is difficult to use when there are large variations in surface topography since such large jumps displace the pattern by an amount larger than the phase constant of the pattern, making it difficult to reconstruct the pattern of lines. Furthermore, precise knowledge of the angle of incidence and angle of reflection, and the separation distance between the light source and the detector, are needed to make accurate determinations of depth. Furthermore, the scanner has to be rather carefully positioned with respect to the tooth and would be unable to make a complete model of the dentition.

U.S. Pat. No. 5,027,281 to Rekow et al. describes a scanning method using a three axis positioning head with a laser source and detector, a rotational stage and a computer controller. The computer controller positions both the rotational stage and the positioning head. An object is placed on the rotational stage and the laser beam reflects from it. The reflected laser beam is used to measure the distance between the object and the laser source. X and Y coordinates are obtained by movement of the rotational stage or the positioning head. A three-dimensional virtual model of the object is created from the laser scanning. The '281 patent describes using this scanning method for scanning a plaster model of teeth for purposes of acquiring shape of the teeth to form a dental prosthesis. The system of the '281 patent is not particularly flexible, since it requires the object to be placed on the rotational stage and precise control of the relative position of the object and the positioning head is required at all times. It is unsuited for in vivo scanning of the teeth.

U.S. Pat. No. 5,431,562 to Andreiko et al. describes a method of acquiring certain shape information of teeth from a plaster model of the teeth. The plaster model is placed on a table and a picture is taken of the teeth using a video camera positioned a known distance away from the model, looking directly down on the model. The image is displayed on an input computer and a positioning grid is placed over the image of the teeth. The operator manually inputs X and Y coordinate information of selected points on the teeth, such as the mesial and distal contact points of the teeth. An alternative embodiment is described in which a laser directs a laser beam onto a model of the teeth and the reflected beam is detected by a sensor. The patent asserts that three-dimensional information as to teeth can be acquired from this technique but does not explain how it would be done. Neither of the techniques of Andreiko have met with widespread commercial success or acceptance in orthodontics. Neither technique achieves in vivo scanning of teeth. Moreover, the video technique does not produce complete three-dimensional information as to the teeth, but rather a limited amount of two-dimensional information, requiring significant manual operator input. Even using this technique, additional equipment is required even to describe the labial surface of a tooth along a single plane.

What the art has lacked is a reliable, accurate, low-cost, and easily used scanning system that can quickly and automatically acquire three-dimensional information of an object, without requiring substantial operator input, and in particular one that can be held in the hand and used for in vivo scanning or scanning a model. The present invention meets this need.

SUMMARY OF THE INVENTION

A scanner system is provided for capturing three-dimensional information of an object. As noted above, the object can be virtually any object under scrutiny, however the present document will describe an application in which the object is the dentition of a patient suffering from a malocclusion.

The scanning system enables three-dimensional surface information to be obtained with a very high decree of precision. Moreover, the scanning system can be used without requiring precise movement of the scanner, or requiring the object under scrutiny to be fixed in space. Surprisingly, the scanner is able to generate precise three dimensional surface information by simply moving the scanner over the surface of the object, such as by hand, in any manner that is convenient for the user, even if the object moves in any random direction during the scanning within reasonable limits. Thus, the scanner can be used to capture the surface of a patient's dentition in a minute or two, even if the patient moves their head or jaw while the scanning is occurring. Precise knowledge of the spatial relationship between the scanner and the object is not required.

The scanner obtains a set of images, which are processed in a computer to calculate the surface configuration of the object in three dimensions of space automatically, quickly, with high precision, and with essentially no human involvement other than the act of scanning. The precision or accuracy will be dictated largely by the extent to which the object under scrutiny tends to have undercut or shadowed features which are difficult to detect, necessitating a narrow angle between the projection and imaging axes. For teeth, an accuracy of under 20 or 30 microns is possible. This accuracy can be further improved depending on the nature of the surface, such as if the surface does not have a lot of undercut or shadowed features, by increasing the angular separation of the projection axis and the imaging axis.

Each image captured by the scanner is converted to a virtual, three-dimensional point cloud or "frame." The illustrated embodiment has a relatively coarse resolution for any single frame, due to a coarse projection pattern, but a fine resolution is obtained by obtaining multiple images and performing a registration procedure on the frames, as described below. Since each point on the surface of the object is captured in a plurality of images (such as five or six in a typical example of scanning), the registration of frames results in a fine resolution. An even finer resolution can be obtained by scanning slower and capturing more images of the surface of the object from different perspectives and registering the resulting frames to each other.

This surface configuration of the object in three dimensions of space can be represented as a mathematical model, i.e., a virtual model of the object, which can be displayed on any workstation or computer using available software tools. The mathematical model can be viewed in any orientation in space, permitting detailed analysis of the surface. The model can be compared to template objects stored in a computer. Deviations in the object from the template can be quantified and analyzed. Further, the virtual model can be transported from one computer and another computer anywhere in the world essentially instantaneously over communications links such as the Internet. The model can be replicated in a computer and thus shared and used by multiple users simultaneously.

The scanner system is useful for a wide variety of industrial, medical, archeological, forensic, archival, or other purposes. Furthermore, the scanner can be scaled down in size such that it can be hand-held and used to scan small objects, e.g., teeth or small machined parts, or scaled up in size so that it can be used to make mathematical models of larger scale objects such as works of art, sculptures, archeological sites (e.g., the caves at Lascaux, France or the dwellings or kivas in Mesa Verde National Park), rooms or building facades.

In accordance with a preferred embodiment, the scanner system includes a projection system that projects a pattern onto the object along a first optical axis. The pattern may consist of parallel lines, parallel lines separated by shapes or colors, such as colored dots, or other suitable pattern. The projected pattern is used to gather information as to the surface characteristics of the object in accordance with the methods and procedures described in more detail below.

The scanner further includes an electronic imaging device, preferably in the form of a charge-coupled device comprising a two-dimensional array of photo-sensitive pixels. The electronic imaging device is oriented along a second optical axis different from the first optical axis. The electronic imaging device forms an image of the pattern after reflection of the pattern off of the object under scrutiny. The surface configuration of the object will cause the projection pattern to become distorted and changed, and thereby provide information as to the surface configuration. This information as to the surface is captured by the imaging device as two-dimensional images of the reflection pattern. These images are processed in accordance with procedures described herein to derive three-dimensional information as to the surface of the object.

The scanning system further includes a memory that stores data representing a three axis (X, Y, Z) calibration relationship for the scanner. The calibration relationship can be in the form of a table or in the form of a mathematical function (e.g., polynomial, spline, or other function). The calibration relationship identifies two properties of the scanner: (1) pixel coordinates for the electronic imaging device for numerous portions of the pattern, said pixel coordinates associated with distance information from the projection system in a Z direction at at least two different Z distances, and (2) distance information in X and Y directions, for the numerous portions of said pattern, at the at least two different Z distances. A method of obtaining the calibration relationship is described in detail below. While the simplest form of the relationship is a table, as described in detail below, these calibration relationships could be equivalently represented by one or more mathematical functions as will be apparent to those skilled in art.

The calibration relationship is used to derive three-dimensional coordinates for points on the surface of an object imaged by the imaging device. The generation and use of the preferred calibration table is also explained in further detail below. Other calibration tables or procedures are also possible. The use of the calibration relationship allows the scanner to operate without precise knowledge of the optical and mechanical properties of the scanner, as is required in prior art systems.

The scanning system further includes at least one data processing unit, e.g., the central processing unit of a computer or a digital signal processor, which processes the images of the projection pattern after reflection from the surface of the object. The processing unit compares data from the image (e.g., pixel locations where certain points in the projection pattern are imaged) to the calibration relationship to thereby derive spatial information, in three dimensions, of points on the object reflecting the projected pattern onto the electronic imaging device. Multiple processing units can be used to reduce the amount of time it takes to process the two-dimensional images, calculate three-dimensional coordinates for points in each image, and register frames of three-dimensional coordinates relative to each other to generate a complete virtual model of the object.

The scanning system thus derives three-dimensional information of the object from the images generated by the imaging device and from the calibration relationship stored in memory. Precise knowledge of the optical characteristics of the scanner, the angles between the first and second optical axes, the angle between the optical axis and the point in the imaging device, or the separation distance of the projection device from the imaging device are not necessary. The projection system and the imaging device can be even uncoupled relative to each other. The calibration relationship automatically and completely compensates for these issues, as well as manufacturing variations and tolerances in the scanner optics, in a highly reliable manner. Moreover, knowledge of the distance from the scanner to the object is not required. Additionally, control over the distance between the scanner and the object is not required, within reasonable limits dictated by the depth of focus of the imaging optics. Ideally, during scanning the distance from the scanner to the object is maintained within the limits of the Z distances used during calibration, and that distances is within the combined depth of focus of the projection optics and the imaging optics.

The scanning system can be constructed such that the memory, processing unit, and optical elements are in a single unit. Alternatively, the processing unit and memory can be located at a separate location, such as a scanning workstation or "scanning node", in order to reduce the size of the scanner per se. In such an embodiment, the projection system and the image-recording device can be miniaturized into a hand-held scanner device. A suitable cable connects the scanner device to the workstation to thereby supply the processing unit with scan data, and to receive commands (illumination commands, start/stop commands, etc.) from the workstation.

In an orthodontic embodiment of the scanner, it may be desirable to reduce the amount of equipment that is positioned proximate to the patient's chair. Hence, considerable latitude is possible in the configuration of the scanning system in terms of where processing, scanner illumination, or other functions are housed. Ideally, the scanner is connected via a cable to a base station for the scanner, the scanner work station, and other equipment so as to provide the minimum amount of interference with the act of scanning at the chair side. The cable could for example be suspended from the ceiling.

In an orthodontic embodiment of the invention, the projection system and the electronic imaging device are contained in a housing sized and shaped to be held in a human hand. The scanner is preferably capable of in-vivo scanning anatomical structures in the mouth. It is also suitable for scanning a plaster model of the teeth or even an impression of the teeth. All of these objects contain the same surface information, which is captured by the scanner. In a preferred embodiment, the processing of the images is performed in the scanning node, or other remote processing unit such as a back office orthodontic server. Alternatively, the computer processing of the images can be shared between two or more processing units, e.g., between the scanning workstation and the back office server, in order to reduce the amount of processing time. Furthermore, the scanning workstation may include a monitor operatively connected to the processing unit. The monitor displays three-dimensional images of the scanned object either during or after the processing unit has derived the spatial information of the object from the captured images.

In yet another aspect, the processing unit executes certain software commands to extract spatial information from the captured two-dimensional images. These software commands perform three specific tasks in a preferred embodiment:

(1) pattern recognition of images captured by the electronic imaging device, i.e., to determine where features of the projection pattern are recorded in the imaging device;

(2) decoding of patterns detected by the pattern recognition software to identify specific portions of the projected pattern captured by the electronic imaging device; and

(3) calculation of spatial coordinates in three dimensions for the specific identified and decoded portions of the pattern in accordance with the calibration relationship stored in the memory.

These three processes are also explained in further detail below. These functions or tasks can be performed independently by multiple processors. For example, one processor performs the pattern recognition process and writes a file to disk containing the results of the pattern recognition process. Another process accesses that file and performs a decoding process and writes the results of that process in a file on the disk. A third processor accesses that decoding output file and performs the calculation of spatial coordinates and writing the output file to the disk.

In another aspect of the invention, a method is provided for obtaining three-dimensional surface information of an object. The method includes the step of positioning a scanner proximate to the object. The term "proximate" here means that the distance between the scanner and the object is within the depth of focus of the optics of the scanner. The scanner has a projection system for projecting a pattern onto the object and an electronic imaging device generating two dimensional images of the reflection of the pattern off of the object's surface. The scanner and object are then moved relative to each other. For example, the object remains essentially stationary (or even moves slightly in some random manner) and the scanner is moved over the surface. The method continues with the step of capturing, with the electronic imaging device, a series of two dimensional images of the projected pattern after reflection of the pattern off of the object, while the scanner and the object move relative to each other. The method further includes the step of processing the series of images to obtain a series of frames of the object, each frame comprising spatial coordinates for a portion of the surface of the object in three dimensions. The frames are then registered to each other to thereby generate a virtual model of the object that is consistent with all the frames.

The processing of the two dimensional images preferably comprises the steps of: a) performing pattern recognition of the series of images to detect features of the projected pattern in each of the images, b) decoding of patterns detected by the pattern recognition step to identify specific portions of the projected pattern captured by the electronic imaging device; and c) calculation of spatial coordinates in three dimensions for the specific portions of the decoded patterns. Preferably, the step of calculation comprises comparing decoded points of the projected pattern captured by the electronic imaging device with calibration values obtained from the calibration relationship (mathematical functions or calibration table) stored in a memory for the scanner.

In yet another aspect of the invention, a method is provided for calibration of a scanner. The scanner comprises a projection system for projecting a pattern and an electronic imaging device for generating an image of the pattern after reflection of the pattern from an object. The method comprises the steps of:

projecting the pattern onto at least one Z calibration surface at two different distances from the scanner and generating first and second images with the electronic imaging device of the pattern at the two distances;

imaging a set of objects of known spatial X-Y relationship at said two different differences;

generating a three-axis (X, Y and Z) coordinate system calibration relationship for the scanner, the calibration relationship indicating: (1) pixel coordinates for numerous portions of the pattern when the pattern is projected onto the at least one surface at the two different distances, and (2) distance information in X and Y directions for the portions of the pattern for the two different distances; and

storing the calibration relationship in a memory associated with the scanner.

The objects of known spatial X-Y relationship at the two different differences could be incorporated into the Z calibration surface(s), or could be incorporated into a separate device. One possible embodiment is a calibration apparatus in which the objects of known spatial X-Y relationship comprise an array of points or dots which are formed on a surface. The dots could be apertures backlit by an illumination source.

The memory storing the calibration relationship (e.g., table) can be in the scanner itself or in a workstation for the scanner. Multiple calibration relationships for multiple scanners can be stored in a general-purpose computer (e.g., scanner workstation) used for the calculation of the 3-D values. When images are generated by the scanner and written to a memory, a code is included indicating the serial number of the scanner that generated the images. The computer retrieves the proper calibration relationship for the scanner per the code or serial number. In this way, the computer (e.g., scanning work station) can perform the required calculations of surface geometry without regard to which specific scanning device is used to capture the images of the object, such as in the case where one of the scanners is being used elsewhere and a new one is used, the regular scanner is out for repair and a new scanner is obtained, multiple scanners are shared in the same office, etc.

When the scanner is later used to scan an object of an unknown surface geometry, the captured images of the projection pattern after reflection off the surface of the object are processed using the calibration relationship to generate three dimensional information for each image, i.e., frames or clouds of points, each point having an X, Y and Z coordinate.

In a preferred embodiment, during calibration the distance information in X and Y directions is obtained by generating two images of an array of points lying in a plane and separated from each other by a known distance, with the array of points positioned at the two different distances for the two images, and interpolating the X-Y distance information for the portions of the projection pattern from the two images of the array of points. A calibration station for a scanner useful for calibrating a scanner in accordance with this method is also described herein.

In yet another aspect, the invention comprises a machine-readable memory for a scanner used to calculate three-dimensional information of an object scanned by the scanner. The memory stores a three dimensional (X,Y,Z) calibration relationship for the scanner. The calibration relationship identifies (1) pixel coordinates for numerous portions of a pattern projected onto a calibration surface located at the two different distances from the scanner, and (2) distance information in X and Y directions for the portions of the pattern for the two different distances. The distance in X and Y directions can be obtained from the array of points as described above and in further detail later in this document.

These and various other aspects of the invention will be more readily appreciated from the following detailed description of a presently preferred embodiment of the invention. It will be understood that the scope of the invention is as set forth in the appended claims and that the invention is not considered limited to the various implementation details of the preferred and alternative embodiments described at length below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an orthodontic care system incorporating a hand-held scanner system in accordance with a representative embodiment of the invention. The hand-held scanner is used by the orthodontist or the assistant to acquire three-dimensional information of the dentition and associated anatomical structures of a patient and provide a base of information to diagnose and plan treatment for the patient.

FIG. 2 is a block-diagram of a scanning system, suitable for use in the orthodontic care system of FIG. 1.

FIG. 3 is a perspective view of a hand-held scanner used to acquire information of an object under scrutiny, suitable for use in the orthodontic care system of FIG. 1.

FIG. 4 is an illustration of a patient being scanned with the hand-held scanner of FIG. 3.

FIG. 5 is a block diagram of the back office server of FIG. 1 showing the elements used to calculate the digital model of the patient's dentition and display the digital model on a screen display of the server.

FIG. 6 is a flow diagram illustrating the sequence of steps used by the processing unit in the scanning station to calculate three-dimensional information of an object from images captured by the scanner.

FIG. 7 is a cross-sectional view of the scanner of FIG. 3, showing the optical elements of the projection and imaging aspects of the scanner.

FIG. 8 is a perspective view of a scanner calibration apparatus of station that is used to calibrate the scanner and obtain data for entry in a calibration table stored in the memory of the scanner system.

FIG. 8A is a perspective view of an alternative embodiment of a calibration device for the scanner in which the Z direction and X-Y calibration surfaces of FIG. 8 are combined into a single surface.

FIG. 9 is an illustration of the relevant parameters that can be used to calculate surface configuration of the object in accordance with a known fashion.

FIG. 9A is an illustration of an electronic imaging device of a scanner, associated imaging lens system, and an object reflecting a projection pattern onto the imaging device at two different distances.

FIG. 9B is an illustration of how the different position of the object reflecting a given ray causes the ray to impinge on a different location of the imaging device (CCD chip).

FIG. 9C is an illustration of pixel coordinates in X and Y directions for portions of the pattern (crosses A, L, C, E, G, etc.) at a certain Z distances, with a best fit line or mathematical function connecting the portions together.

FIG. 10 is a illustration of an arbitrary ray R.sub.n,m which is projected from the projection system onto a calibration surface and captured by the electronic imaging device, with the calibration surface positioned at two different distances from the scanner, Z1 and Z2 and separated by a distance .DELTA.Z. FIG. 10 illustrates a fundamental principle of the technique that is used for calibration of the scanner and generation of three-dimensional information of an object, which is considered to be an improvement over the calculations required by the method of FIG. 9.

FIG. 11 is an illustration of a portion of a pattern that is projected from the scanner of FIG. 3 onto an object, the projection pattern comprising an array of parallel lines separated from each other by colored dots, it being understood that other types of projection patterns are possible.

FIG. 12 is an illustration showing that the various rays of the projection system through the pattern of FIG. 11 can be represented by an array of N.times.M points.

FIG. 13 is a illustration of the X-Y calibration surface of FIG. 8, showing the array of Q.times.P points in the calibration surface being organized into a coordinate system having an origin at the center of the surface and breaking the surface up into four quadrants I IV.

FIG. 14 is an illustration of the electronic imaging device, comprising an array of pixels arranged in X columns and Y rows.

FIG. 15 is an illustration showing the interpolation of pixel addresses in X and Y directions for given ray R.sub.2,3 from a scanned object from two points of the X-Y calibration plane previously imaged by the electronic imaging device during calibration.

FIG. 16 is a more detailed illustration of the location of the ray R.sub.2,3 from the scanned object relative to the points of the X-Y calibration plane.

FIGS. 17, 18 and 19 illustrate the pattern recognition process for captured two dimensional images, as a first step in deriving three-dimensional information as to the object.

FIG. 20 illustrates the points of the X-Y calibration plane from the calibration station of FIG. 7 at two positions relative to the optical elements of the electronic imaging device.

FIG. 21 illustrates the relationship between the projection of ray R.sub.2,3 from the projection system and the X-Y calibration surface of the calibration station.

FIG. 22 is an illustration showing the relationship between the unknown distance Z' of the object from the scanning device and the locations where ray R.sub.n,m is imaged by the electronic imaging device at distances Z.sub.1 and Z.sub.2.

FIG. 23 is an illustration showing the coordinate system that used for the X-Y calibration surface in generating the entries for the calibration tables for the scanner.

FIG. 24 is an illustration of a first calibration table for the scanner after completion of the Z calibration step;

FIG. 25 is an illustration of a second calibration table for the scanner after completion of the X-Y calibration step. The entries in the second calibration table of FIG. 25 are used to complete the mm entries in the calibration table of FIG. 24.

FIG. 26 is an illustration of the first calibration table for the scanner after the calculations from the table of FIG. 25 have been performed for ray R.sub.2,3 and the results entered in the first table. It will be understood that a similar calculation from calibration table # 2 (FIG. 25) is done for each ray at both distances and the entries in mm for each ray are entered in calibration table # 1 (FIG. 24).

FIG. 27 is an illustration of a two-dimensional bitmap image of a tooth and associated anatomical structures captured by the electronic imaging device of the scanner of FIGS. 1, 2, 3 and 4, prior to any signal processing in the scanning node or workstation.

FIG. 28 is an illustration of the image of FIG. 27 after pattern recognition and filtering operations have been performed.

FIG. 29 is an illustration of a single "frame" of data, that is, a three-dimensional point cloud of a scanned object which has been calculated from a single two dimensional image by the pattern recognition, decoding, and 3-D calculations described herein.

FIG. 30 is an illustration of the points of the cloud of FIG. 29 in which three adjacent points of the cloud are joined together to form triangle surfaces.

FIG. 31 is a view of the three-dimensional surface formed from the triangle surfaces shown in FIG. 30.

FIG. 32 is a view of the surface of FIG. 31, smoothed by a smoothing algorithm to give a smoother representation of the surface of the object.

FIG. 33 is another example of a bitmap image obtained by the electronic imaging device of the scanner.

FIG. 34 is a plan view of the three-dimensional surface obtained from the two-dimensional bitmap image of FIG. 33.

FIG. 35 is a perspective view of the three-dimensional surface shown in FIG. 34.

FIG. 36 is a flow chart shown illustrating the steps performed to generate a complete three-dimensional model of the dentition of a patient from a series of scans of the upper and lower jaws.

FIG. 37A is an illustration of a mathematical model of a surface of an object after generation of several frames of data and registration of such frames relative to each other to generate a complete model of the surface of the object.

FIG. 37B is a illustration of one small three-dimensional section of the model of FIG. 38A, showing points from three different frames that are located in approximately the same position in three dimensional space after the registration of these frames has been completed.

FIG. 37C is a screen shot on the user interface of a back office work station of FIG. 1, showing triangle surfaces for points comprising one frame obtained from scanning a tooth.

FIG. 37D is a screen shot showing a registration of a large number of overlapping frames on the tooth, of which the frame of FIG. 37C is one frame. FIG. 37D illustrates that the low resolution of the scanner's projection pattern, as indicated by the widely spaced points in FIG. 37C, is compensated by registration of large overlap of frames, as illustrated in FIG. 37C, and results in a high resolution surface.

FIGS. 38A 38C are an illustration of a two-dimensional cross-correlation procedure in the X and Y directions. The procedure, along with the procedure in FIGS. 37A and 37B, is used to find an initial entry point into a registration algorithm between successive frames of data.

FIG. 39A and 39B are an illustration of a one-dimensional correlation procedure in the Z direction for two successive frames.

FIGS. 40A 40D are an illustration of a frame to frame registration process for a set of frames, each frame consisting of a three-dimensional point cloud of a scanned object. Each frame is typically generated from a different spatial orientation of the scanner relative to the object due to movement of the scanner during image capture, hence the frames overlap to at least some extent. The registration process is used to find a best fit between the frames relative to each other, and thereby provide a complete three-dimensional virtual model of the surface of the object from all of the frames.

FIG. 41 illustrates the normal vectors used in the process of FIG. 40.

FIG. 42 illustrates the summation of the normal vectors from frame 1 to reach a net normal vector N.sub.net.

FIG. 43 illustrates the vectors Vi and Ni from the process of FIG. 40;

FIG. 44 illustrates the cross product of vectors Vi and Ni;

FIG. 45 illustrates the parameter R, which is used in the frame registration process to discard or filter out points which are greater than a distance R from the triangle surfaces.

FIG. 46 is an illustration of the closeness factor or quality index, measured as the magnitude of the net normal vector N.sub.net, as a function of iterations of the process of FIG. 40, showing how the quality index improves with successive iterations of the registration process.

FIGS. 47A and 47B are an illustration of a cumulative registration procedure, which is an alternative to the frame to frame registration procedure of FIG. 40.

FIGS. 48A 48C are a flow diagram of a cumulative registration process.

FIG. 49 is an illustration of a set of frames illustrating a different order for frame registration than frame to frame registration, with the order based on the location on the surface of the object for a given frame relative to the location on the surface for other frames.

FIG. 50 is a simplified illustration of a set of frames, showing the order in which the frames were obtained, with the neighborliness of the frames relative to other frames being the basis for the registration order shown in FIG. 49.

FIG. 51 is another illustration of a set of frames, with registration of frames performed in accordance with the method of FIG. 49, with the marking in frames 2, 3 6 and 7 etc. indicating that that frame has been registered. The marking is just a way of illustrating that the computer keeps track of which frames have not been registered, as a check to insure that no frames are omitted during the registration procedure of FIG. 49.

FIG. 52 is an illustration of cumulative registration based on the first captured frame (F1) as being the base line for all successive registrations.

FIG. 53 illustrates an alternative registration procedure in which each frame in the set of frames is registered to a cumulative registration 3-dimensional model of the object, in sequential order, with one iteration of the frame registration process. This is followed by an updating of the cumulative 3-dimensional model and a repeat of the registration process with updated values for the transformation matrix [T] for each frame.

FIG. 54 is a screen shot of a workstation computer (either scanning station or back office server workstation), showing the available registration parameters and variables that can be changed by the user when performing either a frame to frame registration or a cumulative registration.

FIG. 55 is a screen shot from a workstation computer showing a frame to frame registration in accordance with FIG. 40 for two frames in a set of frames.

FIG. 56 is a screen shot showing the results after forty five iterations of the frame to frame registration process of FIG. 40, and with the right hand side of the screen shot showing the two frames superimposed on each other.

FIG. 57 is a screen shot showing a graphical representation of a three-dimensional model of a patient's upper front teeth after a frame to frame registration. The user is applying landmarks to the teeth as a preliminary step in treatment planning, and as a step in registering overlapping segments of a scanned upper jaw relative to each other to calculate a complete model of the upper jaw and associated dentition.

FIG. 58A 58F are a series of illustrations showing the generation of an individual tooth model from a scanned tooth, shown in FIG. 58A, and a template tooth, shown in FIG. 58B. A library of template teeth similar to FIG. 58A are stored as three-dimensional computer models in computer memory. The individual tooth model is a three-dimensional tooth object having a single set of points defining the boundaries of the tooth. The individual tooth model reduces the amount of data required to represent the tooth, as compared to the data representing the tooth after a cumulative registration of a large number of frames. Individual tooth models are also invaluable in interactive orthodontic treatment planning since they can be independently moved relative to each other in simulation of treatment scenarios.

FIG. 59 is an illustration of the tooth model of FIG. 58D positioned in the computer model of the patient's dentition, surrounded by other anatomical structures.

FIG. 60 is a screen shot from an orthodontic workstation showing the computer model of the patient's teeth positioned in a target or desired condition, as a result of the user selecting an archform for the patient and the computer placing the teeth along the arch selected by the user. FIG. 60 also shows the various parameters by which the orthodontist can adjust the shape of the arch, the distance between the teeth, the distance between the molars, and other parameters, so as to provide a unique and customized target situation for the patient.

FIG. 61 is another screen shot showing the computer model of the patient's teeth in a target situation, also showing the numerous parameters available to the orthodontist to customize the tooth position, orientation, angulation, torque, and other parameters on a tooth by tooth basis for the target archform.

FIG. 62 is another screen shot showing a front view of the target situation and additional parameters available to the orthodontist for moving teeth relative to each other in planning treatment for the patient.

FIG. 63 is a screen shot of a target situation for the patient showing the virtual tooth in a target position, a set of virtual brackets placed on the teeth, and a virtual archwire.

FIGS. 64A 64D are four views of a virtual model of a portion of the dentition generated by the scanning system of FIG. 1, illustrating alternative methods for separating teeth from associated anatomical structure, e.g., other teeth and gingival tissue, as a part of the process described in conjunction with FIG. 58A 58F.

FIG. 65 is an illustration of an interpolation procedure that can be used in the process described in conjunction with FIGS. 58A 58F to fill in holes in scan data from a template object.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

Part 1. Overview

FIG. 1 is an illustration of an orthodontic care system 10 incorporating a scanner system 12 in accordance with a representative embodiment of the invention. The scanner system 12 includes a hand-held scanner 14 that is used by the orthodontist or his assistant to acquire three-dimensional information of the dentition and associated anatomical structures of a patient. The images are processed in a scanning node or workstation 16 having a central processing unit, such as a general-purpose computer. The scanning node 16, either alone or in combination with a back-office server 28, generates a three-dimensional computer model 18 of the dentition and provides the orthodontist with a base of information for diagnosis, planning treatment, and monitoring care for the patient. The model 18 is displayed to the user on a monitor 20 connected to the scanning node 16.

As noted above, the scanner system 12 described in detail herein is optimized for in-vivo scanning of teeth, or alternatively, scanning a plaster model of the teeth and/or an impression of the teeth. However, it will be apparent to persons skilled in the art that the scanning system 12 can by readily optimized for a variety of other diagnostic and/or treatment planning and/or monitoring uses in the medical arena. An example is scanning the face or head and planning plastic or orthopedic surgery. It can be readily adapted to virtually limitless number of applications in industrial, manufacturing, forensic, archeological, scientific, archival or other applications.

The orthodontic care system consists of a plurality of orthodontic clinics 22 which are linked via the Internet or other suitable communications medium 24 (such as the public switched telephone network, cable network, etc.) to a precision appliance service center 26. Each clinic 22 has a back office server work station 28 having its own user interface, including a monitor 30. The back office server 28 executes an orthodontic treatment planning software program. The software obtains the three-dimensional digital data of the patient's teeth from the scanning node 16 and displays the model 18 for the orthodontist. The treatment planning software includes features to enable the orthodontist to manipulate the model 18 to plan treatment for the patient. For example, the orthodontist can select an archform for the teeth and manipulate individual tooth positions relative to the archform to arrive at a desired or target situation for the patient. The software moves the virtual teeth in accordance with the selections of the orthodontist. The software also allows the orthodontist to selectively place virtual brackets on the tooth models and design a customized archwire for the patient given the selected bracket positions. When the orthodontist has finished designing the orthodontic appliance for the patient, digital information regarding the patient, the malocclusion, and a desired treatment plan for the patient are sent over the communications medium to the appliance service center 26. A customized orthodontic archwire and a device for placement of the brackets on the teeth at the selected location is manufactured at the service center and shipped to the clinic 22. The invention is also applicable to other types of appliance systems; brackets and archwires are shown in the illustrated embodiment but other types of appliance systems can benefit from the scanning system described herein, such as removable aligning devices; retainers, Herbst appliances, etc.

As shown in FIG. 1, the precision appliance service center 26 includes a central server 32, an archwire manufacturing system 34 and a bracket placement manufacturing system 36. These details are not particularly important to the scanning system 12 per se and are therefor omitted from the present discussion for sake of brevity. For more details on these aspects of the illustrated orthodontic care system, the interested reader is directed to the patent application of Rudger Rubbert et al., filed on the same date as the instant application, entitled INTERACTIVE AND ARCHWIRE-BASED ORTHODONTIC CARE SYSTEM BASED ON INTRA-ORAL SCANNING OF TEETH, U.S. Pat. No. 6,648,640, the contents of which are incorporated by reference herein.

FIG. 2 is a more detailed block-diagram of the scanning system 12, suitable for use in the orthodontic care system of FIG. 1. The scanning system 12 is a mechanism for capturing three-dimensional information of an object 40, which in the present example is the dentition and surrounding anatomical structures of a human patient, e.g., gums, bone and/or soft tissue. The scanning system 12 includes a scanner 14 which is used for image capture, and a processing system, which in the illustrated example consists of the main memory 42 and central processing unit 44 of the scanning node or workstation 16.

The scanner 14 includes a projection system 46 that projects a pattern onto the object 40 along a first projection axis 48. The projected pattern is formed on a slide 50 which is placed in front of a light source 53. In the illustrated embodiment, the light source 53 comprises the terminus of a fiber optic cable 51. The cable 51 carries a high intensity flash generated by a flash lamp 52 located in a base unit 54 for the scanner. A suitable flash lamp is the model FX-1160 flash unit available from Perkin Elmer. The illuminations of the flash lamp 52 cause the pattern contained in the slide 50 to be projected onto the three-dimensional surface of the object. Further details on the types of patterns suitable for the pattern are set forth in the following co-pending patent applications of Rudger Rubbert et al:, Ser. No. 09/254,755 filed Mar. 9, 1999; Ser. No. 09/560,131 filed Apr. 28, 2000, and Ser. No. 09/673,863 filed Nov. 30, 2000 assigned to the assignee of the present invention, the contents of which are incorporated by reference herein. A presently preferred projection pattern is described below. The details on the optics of the projection system 46 are set forth in further detail below.

The scanner 14 further includes an electronic imaging device 56 comprising an array of photo-sensitive pixels. A preferred embodiment is an off-the-shelf, color-sensitive, charged-coupled device (CCD) of a size of 1,028.times.1,028 pixels arranged in an array of rows and columns. The Sony ICX205AK CCD chip is a suitable electronic imaging device. The electronic imaging device 56 is oriented perpendicular to a second imaging axis 58, which is off-set from the projection axis 48. The angle .PSI. between the projection and imaging axes need not be known in a preferred embodiment of the invention. However, if the 3D calculations are made in accordance with the parameters of FIG. 9, then the angle and the separation distance between the center of the imaging device 56 and the center of the light source 53 need to be known.

The angle .PSI. will be optimized during design and manufacture of the scanner depending on the desired resolution required by the scanner. This, in turn, is dependent on the degree to which the surface under scrutiny has undercuts and shadowing features which would result in the failure of the imaging device to detect the projection pattern. The greater the angle .PSI., the greater the accuracy of the scanner. However, as angle T increases, the presence of undercuts and shadowing features will block the reflected pattern and prevent capture of the pattern and subsequent three-dimensional analysis of those portions of the surface. Angle .PSI. is shown somewhat exaggerated in FIG. 2, and will generally range between 10 and 30 degrees for most applications.

The electronic imaging device 56 forms an image of the projection pattern after reflection of the pattern off of the surface of the object 40. The reflected patterns imaged by the imaging device contain three-dimensional information as to the surface of the object, and this information needs to be extracted from the images. The scanning system therefore includes a processing subsystem which is used to extract this information and construct a three-dimensional virtual model of the object 40. In the preferred embodiment, this processing subsystem consists of a memory 42 storing calibration information for the scanner, and at least one processing unit, such as the central processing unit 44 of the scanning workstation 16. The location of the memory and the processing unit is not important. They can be incorporated into the scanner 14 per se. Alternatively, all processing of the images can take place in the back office server 28 or in another computer. Alternatively, two or more processing units could share the processing in order to reduce the amount of time required to generate the three-dimensional information.

The memory 42 stores a calibration relationship for the scanner 14. The calibration relationship, which can be in the form of a table or one more mathematical functions, comprises information used to compute three-dimensional coordinates of points on the object that reflected the projection pattern onto the imaging device. The information for the table is obtained during a calibration step, performed at the time of manufacture of the scanner 14. The calibration table includes an array of data storage locations that contain two pieces of information. Firstly, the calibration table stores pixel coordinates in X and Y directions for numerous portions of the projection pattern that are imaged by the electronic imaging device 56, when the pattern is projected onto a calibration surface at two different distances during a calibration procedure. Secondly, the table stores distance information, (e.g., in units of tenths of millimeters), in X and Y directions, for the portions of the projection pattern imaged at the two different distances. A preferred method for generation and use of the calibration table is explained in further detail below.

The scanning system requires at least one processing unit to perform image processing, three-dimensional calculations for each image, and registration of frames to each other. The processing unit 44 in the illustrated embodiment is the central processing unit (CPU) of the scanning work station 16. The CPU 44 processes the image of the pattern after reflection of the pattern off the surface of the object 40 and compares data from the image to the entries in the calibration table. From that comparison (or, more precisely, interpolation relative to the entries in the table, as explained below), the processing unit 44 derives spatial information, in three dimensions, of points on the object that reflect the projected pattern onto the electronic imaging device.

Basically, during operation of the scanner to scan an object of unknown surface configuration, hundreds or thousands of images are generated of the projection pattern as reflected off of the object in rapid succession as the scanner and object are moved relative to each other. For each image, pixel locations for specific portions, i.e., points, of the reflected pattern are compared to entries in the calibration table. X, Y and Z coordinates (i.e., three dimensional coordinates) are obtained for each of these specific portions of the reflected pattern. For each picture, the sum total of all of these X, Y and Z coordinates for specific points in the reflected pattern comprise a three-dimensional "frame" or virtual model of the object. When hundreds or thousands of images of the object are obtained from different perspectives, as the scanner is moved relative to the object, the system generates hundreds or thousands of these frames. These frames are then registered to each other to thereby generate a complete and highly accurate three-dimensional model of the object 40.

Stray data points are preferably canceled out in generating the calibration table or using the calibration table to calculate three-dimensional coordinates. For example, a smoothing function such as a spline can be calculated when generating the entries for the calibration table, and the spline used to cancel or ignore data points that deviate significantly from the spline.

FIG. 2 also shows a few other features of the presently preferred scanning system 12. After the CCD imaging device 56 captures a single image, the analog voltage signals from the device 56 are amplified in an amplifier 57 and fed along a conductor 59 to an analog to digital converter 60. The digital signal is converted into a bitmap stream of digital image data. The data is formatted by a module 61 into an IEEE 1394 "firewire" format for transmission over a second conductor 62 to the main memory 42 of the scanner work station 16. The scanning system includes an optical scanner holder 64 for the user to place the scanner after the scanning of the dentition is complete. These details are not particularly important and can vary considerably from the illustrated embodiment. As noted earlier, preferably the scanning system is constructed to provide a minimum of equipment and clutter at the chair side. Hence, the scanning work station 16 is preferably located some distance away from the chair where the patient sits. The cable leading from the scanner 14 to the base station and/or workstation 16 could be suspended from the ceiling to further eliminate chairside clutter.

The scanning work station 16 also includes the monitor 20 for displaying the scanning results as a three-dimensional model 18 of the dentition in real time as the scanning is occurring. The user interface also includes a keyboard and mouse for manipulating the virtual model of the object, and for entering or changing parameters for the scanning, identifying sections or segments of scans that have been obtained, and other features. The scanning station may also include a foot switch, not shown, for sending a signal to the CPU 44 indicating that scanning is commencing and scanning has been completed. The base station may alternatively include a voice recognition module that is trained to recognize a small set of voice commands such as START, STOP, AGAIN, REPEAT, SEGMENT, ONE, TWO, THREE, FOUR, etc., thereby eliminating the need for the foot switch. Scanner start and stop commands from the CPU 44, in the form of control signals, are sent to the light source 52, thereby controlling the illumination of the lamp 52 during scanning.

The light source 52 operates at a suitable frequency, preferably at least greater than one flash per second, such as six flashes per second, and the frame rate of the CCD imaging device 56 is synchronized with the flash rate. With a frame rate of 6 frames per second, and a scanning motion of say 1 2 centimeters per second, a large of overlap between images is obtained. The size of the mirror at the tip 68 of the scanner influences the speed at which scanning is possible. The illustrated embodiment of the mirror at the tip 68 is 18 mm square. A larger mirror reflects more surface of the object and enables faster scanning. A smaller mirror requires slower scanning. The larger the mirror, the more difficult in-vivo scanning becomes, so some trade-off between size and utility for in-vivo scanning exists.

This overlap between images generated by the scanner 14, and resulting three dimensional frames, allow a smooth and accurate registration of frames relative to each other. The frame rate and permissible rate of scanner motion will depend on many factors and can of course vary within the scope of the invention. Flashing a high intensity flash lamp for a brief period of time is a preferred embodiment since it is desirable to reduce the exposure time of the CCD imaging device 56 to reduce blurring since relative motion exists between the scanner and the object. A high intensity lamp is desirable to achieve sufficient signal strength from the imaging device. A preferred embodiment uses 5 .mu.sec flash times with similar exposure periods. An alternative embodiment would use a constant illumination source of high intensity, and control exposure of the imaging device using a shutter, either a physical shutter or using electronic shutter techniques, such as draining charge accumulating in the pixels prior to generating an image. Scanning using longer exposures would be possible without image blur, using electronic image motion compensation techniques described in Lareau, et al., U.S. Pat. No. 5,155,597.

FIG. 3 is a perspective view of a hand-held scanner 14 used to acquire information of an object under scrutiny, suitable for use in the orthodontic care system of FIG. 1. The projection system 46 and the electronic imaging device 56 of FIG. 2 are contained in the housing 65 for the scanner. The housing 65 is sized and shaped to be held in a human hand. The scanner 14 includes an elongate distal portion 66 having a tip 68. The tip 68 is sized and shaped such that it can be inserted into and moved within an oral cavity of a human so as to enable scanning of anatomical structures inside the oral cavity. A heating mirror (not shown) is placed on the underside of the tip 68 to direct the projection pattern from the optics of the scanner onto the object and to direct the reflected pattern from the object towards the imaging optics 108 of FIG. 7 associated with the electronic imaging device 56. The mirror housing has A/C conductive heating coil that heats the mirror. The mirror is heated to approximately 40 degrees to prevent fogging of the mirror while the scanner is used in-vivo.

FIG. 4 is an illustration of a patient 70 being scanned with the hand-held scanner 14 of FIG. 3. The checks and lips are retracted from the teeth and the tip 68 of the scanner is moved over all the surfaces of the teeth in a sweeping motion at a velocity of perhaps 1 2 centimeters per second. The entire upper or lower jaw may need to be scanned in a series of scans, one for the left side, one for the right side, and one for the front. These individual scans are registered to each other as described below. Voice commands or activation of the foot switch (not shown) indicates when each scanning segment is initiated and terminated. The entire process takes just a few minutes. Depending on the color and translucency of the object and the illumination intensity and frequency of the light source in the scanner, it may be necessary to apply a very thin coating of a bright reflective substance such as Titanium Dioxide to the object.

While FIG. 4 illustrates in-vivo scanning of a human patient, the scanner can of course be used to scan a plaster model of the dentition if that is preferred, or an impression taken from the patient. When scanning an impression or a plaster model, the scanning may be formed in a single pass, without the need for registering scan segments to each other. It is also possible that a scan of a patient may be partially taken in vivo and the remainder from a model or an impression.

FIG. 5 is a block diagram of the back office server of FIG. 1 showing the elements used to calculate the digital model of the patient's dentition. After the scanning workstation has processed all the images captured by the scanner and generated a set of three dimensional frames, the frame data is transmitted to the back office server 28. The back office server 28 performs a cumulative registration process for the frames and ultimately generates and displays the digital model on a screen display 30. The raw scanner data in the form of three-dimensional frames is stored in the main computer memory 72. The frame data for N captured images, i=1 . . . N from the scanner is stored in the hard disk 74. The hard disk also stores a set of (N-1) transformation matrices [T].sub.i, for i=2-N. The transformation matrices basically contain information as to how each frame of three-dimensional points needs to be translated and rotated in a three-axis Cartesian coordinate system in order to be registered with the other frames in a best-fit manner. One of the frames, such as the first frame in the series, is a starting point for registration and no transformation matrix is obtained for that frame. The generation of the transformation matrices, and use of the matrices with the frame data to generate the three dimensional model, is described in further detail below.

Part 2. Three-Dimensional Image Generation

With the above general introduction and overview in mind, a presently preferred process of capturing two dimensional images with the scanner and generation of a three-dimensional model for each image will now be described in detail in this section. FIG. 6 is a flow diagram illustrating the sequence of steps used by the processing unit 44 in the scanning station 16 (FIG. 2) to calculate three-dimensional information of an object for a single image captured by the scanner 14. This process shown in FIG. 6 is performed for each image.

This process can be executed in one processor, or may be performed or shared by multiple DSP processors sharing access to a memory storing the captured two-dimensional bitmap images from the scanner, e.g., memory 42 of FIG. 2. The type of processor is of course not important. The goal of distributed processing is to reduce the time required for processing the scanned image. For example, one processor could perform the cross-correlation process described below, another perform the pattern recognition, another decoding, and another 3-D calculation. These processes could be performed independently, each process associated with independent files shared on a disk memory. The processor assigned to one or more of the processes of FIG. 6 accesses the files as needed. For example, the output file from the decoding process is written on a disk or memory available to the other processing units. The processing units are on a network in this example. The processor assigned to 3-D calculation access the decoding output file and writes the result, a set of coordinates for N frames and N-1 transformation matrices, onto the disk or memory. Any one of the processors assigned to perform registration could then access the N frame data and the N-1 transformation matrices and perform the registration procedures described below.

The process of FIG. 6 consists of four principal steps: a pattern recognition process 80, a decoding process 82, a process 84 of derivation or calculation of three-dimensional coordinates for each point in the detected and decoded pattern, and finally a step 86 of storing the three dimensional coordinates in a memory, such as the memory 42 of the scanning work station 16. Again, this process is performed for each captured image during the scanning process. In a typical scanning scenario, hundreds or even thousands of images may be captured, hence this process of FIG. 6 may be performed hundreds of times. The result of the process is the storage of a large number of sets of three-dimensional coordinates, each set or "frame" associated with a single captured image. The registration of these frames relative to each other to generate a complete virtual model of the object is described in Part 3 of this document.

As the scanner is moved over the dentition, the imaging device acquires a series of bitmap images. The acquired bitmaps are analyzed using pattern recognition. Pattern recognition detects the median lines of the projected lines, endpoints of the lines and the centers of the colored dots. Other types of patterns are of course possible, such as using triangles, squares, or other coding features. The coding is in the vertical direction (in the direction of the parallel lines), since the distortion of the projection pattern provided by the surface of the object is in this direction, as explained more fully in the Rubbert et al. patent application Ser. No. 09/560,131 filed Apr. 28, 2000, incorporated by reference herein.

The pattern recognition process uses sub-pixel-precision. The color of every dot is analyzed as well. Based on the knowledge of the pattern structure and using the colored dots, the origin in the pattern for every recognized line is determined. This is necessary, as significant portions of the projected pattern may not be visible to the imaging optics due to shadowing, undercuts and un-sharp areas. A two-dimensional to three-dimensional conversion algorithm uses the knowledge of the origin of each imaged line with respect to the pattern to compute three-dimensional coordinates of the points in the object. As the lines are often captured only as fragments, the decoding algorithm does not always have sufficient information on each line to unequivocally assign that line to the pattern. The algorithm therefore examine several scenarios of possible affiliations and looks for conflicts. In this way the inconsistent scenarios are filtered out. The lines in the projection pattern do not change their order in the image. For example, if the lines in the projection pattern are sequentially numbered 1 80, and line 43 is to the left of line 44, in the captured image line 43 will be always be to the left of line 44 and never to the right of line 44. Inconsistent scenarios are indicated where the order of lines is violated. The correct order of the lines can be deduced by a suitable algorithm that examines the scenarios based on line order and eliminates all those where conflicts or inconsistent line numberings exists. A unique solution will be found.

While the preferred embodiment of the three-dimensional conversion algorithm is based on a sophisticated calibration process and does not make use of any knowledge of the optical parameters, an alternative embodiment could use general principle of analytical triangulation assuming that we do have such knowledge. Analytical triangulation will be explained with reference to FIG. 9. The projecting device projects a pattern of distinguishable elements onto a surface. This projected pattern is imaged. For each captured element, is must be possible to tell its origin at the pattern. This allows us to determine the angle .alpha. between the optical axis of the projection device and the one ray that has projected that element. The location of the pixel at the CCD chip that has captured that element allows us to determine the angle .beta. between the optical axis of the imaging system and the one ray that leads from the projected element at the surface to the CCD pixel. Knowing those two angles, the angles of the two optical axes with respect to the baseline and the length of the baseline, allows us to calculate the spatial position of the element relatively to the scanning device. This calculation can be done for every detected element within one captured image and leads to a plurality of three-dimensional points. It is important to understand that as a result from this calculation we receive an undistorted, true to scale representation of the surface. While every two dimensional image shows distortions due to parallax effects, the triangulation process eliminates this effect.

The analytical triangulation method requires precise knowledge of optical parameters. The preferred embodiment using a calibration table for the scanner does not require this knowledge.

A. Scanner Manufacture and Calibration

Before describing the details of the process steps shown in FIG. 6, an illustrative embodiment of the scanner 14 itself and its manner of calibration will be described first.

FIG. 7 is a cross-sectional view of a portion of the hand-held scanner 14 of FIG. 3, showing the optical elements of the projection and imaging aspects of the scanner. The scanner includes the fiber-optic cable 51 carrying flashes from a flash lamp in the base station 54 of FIG. 2 to a condenser system consisting of a group of lenses 53A. Light from the light source 53 illuminates a pattern formed in a slide 50. Wide variation is possible in the choice of the pattern. A presently preferred embodiment is described subsequently in conjunction with FIG. 11. The pattern is directed by a projection lens system 102 out of the scanner to the mirror housed at the tip 68 of the scanner (FIG. 3) and towards the object under investigation. The scanner further includes a several LED light sources 106 (e.g., 2 or 6), which are used to provide general illumination of the object during scanning to assist the user in scanning the dentition. A prism 104 surrounds the LED light sources. The axis of the projection system is shown as axis 48.

The projection pattern is reflected off of the object, reflected by the mirror in the tip 68 and received by an imaging lens system 108 centered about an imaging axis 58. The received pattern is reflected off a mirror 110 onto the CCD electronic imaging device 56. The CCD 56 produces a voltage signal for each pixel in the device. The level of the signal is an indication of the level of light impinging on that pixel, allowing an image to be produced from the CCD. The signals are read out of the CCD using known circuitry and amplified. The amplified analog signal is collected and transmitted along conductors 59 to the base unit for conversion to digital form. The signal from the CCD is converted into a colored bitmap image in the illustrated embodiment. Color is used in the projection pattern in the illustrated embodiment, therefore a CCD chip is selected which can detect colors. A black and white system is of course also possible.

In the illustrated embodiment, the separation distance between the light source and the projection pattern is not known or needed, nor is the angle between the axes 48 and 58. However, some non-zero angle between the axes is required in order to obtain depth information. The angle selected will depend on the type of surface or object the scanner will be used for. These types of implementation details will vary considerably depending on the application. Furthermore, it is possible to make the two axes 48 and 58 completely independent of each other by locating the projection and imaging in separate, independently moveable devices. This is described in more detail in the patent application of Rudger Rubbert et al, Ser. No. 09/254,843, the contents of which are incorporated by reference herein. The calibration procedures described herein are of particular advantage when the projection device and the imaging device are in two separate, independently moveable units.

FIG. 8 is a perspective view of a presently preferred scanner calibration station 120 that is used to calibrate the scanner 14 at the time of manufacture. The purpose of the station 120 is to obtain data for a calibration relationship for the scanner, such as a calibration table, which is stored in the memory of the scanner system. Some variation in the design of the calibration station is possible; the principle of operation of the calibration station is that the scanner is calibrated by projecting the pattern onto a reference object of precisely known geometry at two known distances (in the Z direction) and known spatial extent (X and Y directions). A planar reference object is preferred, but it is theoretically possible to use any object of known geometry, but more computationally complex to use such objects. The goal of the calibration procedure is to compile a set of information (e.g., in the form of a table) that completely calibrates the scanner and places it in condition for use to scan objects of unknown surface geometry, without the need for precise knowledge of the mechanical or optical properties of the scanner. While the present embodiment describes a calibration table as the result of the calibration process, the information may be in other equivalent forms, such as mathematical relationships or formulae between pixel address and distance, which are operated on to derive distance information at the time of use.

Before discussing the presently preferred calibration device and calibration relationship, a discussion of the principles of the calibration invention will be set forth for ease of understanding.

A 3D imaging device as disclosed in this application does initially not deliver 3D information, but only 2D information as the CCD chip is a 2D imaging device. Information on the 3.sup.rd dimension therefore has to be determined in an extra processing step. The additional information that we can use to perform such a 3D calculation is the spatial arrangement of the optical components, such as shown in FIG. 9A. FIG. 9A shows a schematic arrangement of components. One portion of the pattern is indicated with a small square, and the ray along which this portion would be projected is also displayed. The point, where this ray would intersect with the surface of the object, is displayed as a circle. At the center of this circle, the portion of the pattern would be projected onto the surface of the object. One of the reflected rays will run through the imaging lens system and such be projected onto the surface of the CCD chip, which will cause a corresponding signal. In this figure, only the center rays are displayed, e. g. the rays that run through the center of the lens systems.

Assuming that there is precise knowledge of the geometrical arrangement of the components, it would be possible to precisely calculate the spatial coordinates of the part of the surface of the object that reflects the considered portion of the pattern. This calculation is only possible under three preconditions: (i) The geometric arrangement of all components of the scanning system must be precisely known, (ii) The exact characteristics of all components must be known (true x/y-coordinates of all CCD pixels, including precise knowledge of the dimensions of the pattern; and (iii) The lens systems must be 'ideal' which means that the center ray must be an ideal straight line.

In mass production scenario for a scanner, it will be almost impossible to guarantee these preconditions. One possible approach would be to calibrate the individual devices, which means that the deviations of the characteristics from the ideal configuration are determined and noted ("compensative calibration"). The 3D calculation will then base on algorithms like described before, but will additionally take into account known deviations to compensate for individual characteristics of each device. However, this compensational calculation has to be set up very carefully, and errors in terms of plus/minus signs will not easily be detected especially when the deviations are minor.

Another challenge is presented by scanning devices like disclosed in PCT/DE97/01797 by Rubbert, where imaging device and projection device are not physically connected to each other, and therefore the geometrical relationship may be completely unknown.

The calibration procedure that is described herein does not require any pre-knowledge of any dimensions of the optical and mechanical components, and thus can be termed "independent calibration". Furthermore, even any knowledge of the angle formed by the two optical axes (angle of triangulation) is not required.

The background of this procedure can be described best by again just looking at one specific portion of the pattern that is being projected along a ray onto the surface to be measured like indicated in FIG. 9B. It is important to understand that this portion of the pattern will always be projected along this specific ray R, which is defined by the optical characteristics of the lens system and the arrangement of the pattern and the lens system with respect to each other. If this portion of the pattern is being reflected from any surface sitting in the field of view, we can be absolutely sure that this point of the surface will be located somewhere along this ray R. However, we do not know at which position along this ray the point is located. To be able to determine this, the "independent calibration" method basically takes samples. The first sample will be a surface that is located at a certain distance Z.sub.1 from the projection device. The reflected portion of the pattern will show up at a specific pixel at the CCD chip (or perhaps over several pixels depending on the size of the portion of the pattern). It is important to understand that every surface that is ever being hit by this ray at this Z-distance will always cause a reflection of this ray R directed to this pixel (we are dealing with diffuse reflection, so every point being reflected will send rays into many directions, regardless of the angle between ray and surface). This implies that every time when this portion of the pattern is being reflected onto the pixel, we know exactly that this point of the surface is located at distance Z.sub.1.

Knowledge of the distance between Z.sub.1 and the scanner is not required as long as the scanner will not be used as an absolute measuring system. If we want to use the scanning system as an absolute measuring system, which means that we want to measure the location of points relative to the scanner and not only relative to each other, we would then need to use the Z-values with respect to the origin of the coordinate system of the scanner. The illustrated embodiment is not an absolute measuring system, but nevertheless generates accurate virtual models of the object true to scale.

During the calibration process, we will acquire a plurality of such "samples" for different portions of the pattern reflected off a calibration surface at different Z-distances, where the relative Z-distances of these levels with respect to each other must be known. It will be discussed further below, how many samples will typically be required to receive a complete calibration. The result of this sampling process is the first calibration relationship that is derived for the scanner: (1) pixel coordinates for the electronic imaging device for numerous portions of the pattern, said pixel coordinates associated with distance information from the projection system in a Z direction at at least two different Z distances.

Having this first part of the calibration procedure done, we can determine the Z-component of every part of the measured surface that is reflecting the pattern onto the CCD chip. However, we do not have knowledge of the X- and Y-coordinates. To get this information, we need to perform the second part of the calibration.

Again, we will take "samples", but this time we will not make use of the pattern that is being projected onto the object during normal use of the scanner (the projection unit will be switched off). Rather, images are obtained of a reference object in the field of view that is equipped with features of a known geometry, i.e., known X-Y spatial relationship. The simplest implementation would be a point. In FIG. 9C, such a feature is a plurality of cross-hairs. The feature being projected onto the CCD chip will show up at a specific pixel (or several pixels depending on the size of the feature). The X/Y-coordinates of the pixel at the CCD chip are then assigned to the X/Y-value of the location of the feature (and assigned to a certain Z-distance).

It is obvious that if the feature is being moved in Z-direction, the location of the projection of the reference object at the CCD chip will change. We therefore have a dependence on the Z coordinate, which signifies that the Z-location of the feature must have a known reference to the Z-location(s) of the surfaces that have been used in the first part of the calibration. For instance, such a feature could be located at Z.sub.1; other features might be located with a known reference to Z.sub.1.

The first feature being captured in this manner would serve as a reference. A certain X- and Y-value (in mm or inches) would be assigned to the location of this feature. If such a feature would be placed close to the optical axis of the imaging system, it would be preferable to assign X=0 mm and Y=0 mm to this location. If we want to use the scanning system as an absolute measuring system, which means that we want to measure the location of points relative to the scanner and not only relative to each other, we would then need to use the X/Y/Z-values of this feature with respect to the origin of the coordinate system of the scanner.

During the calibration process, we will again acquire a plurality of such "samples" at different X- Y- and Z-locations, where the relative X-, Y- and Z-values of the locations of these features with respect to each other and with respect to the Z-values of the first part of the calibration must be known. It will be discussed further below, how many samples will typically be required to receive a complete calibration.

It is important to understand that the determined relationship between the X- and Y-coordinates of any feature being captured and specific pixel coordinates at the CCD chip exists only with respect to the Z-coordinate of the feature. A movement in Z will change the X/Y-value. Therefore, during normal operation of the scanner, when the calibration results are being used to calculate 3D coordinates, we first have to calculate the Z-coordinate of any point on a surface using the calibration values acquired in part 1, and basing on these results we can then perform the X/Y calculation, using the calibration results of part 2 of the calibration process.

There are several options with regard to the number of "samples" to take during calibration and the way how the results may be stored. The most straightforward approach would be to collect pixel coordinates for at least two Z-levels of the projected pattern. The number of pixel coordinates will depend on the resolution of the pattern. The Z-levels will preferably be defined within the depth of focus of the scanner projection lens systems and imaging lens systems, but close to the boundaries of this depth. Having collected pixel coordinates for at least two levels, would allow for interpolation of all other Z-levels. Part 2 of the calibration procedure could also comprise features (points) distributed evenly across the field of view, and those features could again be placed at two different Z-levels, which would allow for an easy interpolation of X- and Y-values. The pixel coordinates acquired in both parts of the calibration process could in the simplest embodiment be stored in a table.

However, this straightforward approach has certain disadvantages. First of all, an apparatus is required. Otherwise it would not be possible, to place the surfaces required for part 1 in a controllable manner with respect o each other, and the features being captured in part 2 also need to be precisely placed with respect to each other and to the calibration surface used in part 1. Usage of such a calibration apparatus is not a problem within an industrial production environment. But if scanners need to be calibrated for instance in an orthodontic office, it is not recommendable to always ship such a device to the location.

But there is no need to calibrate each portion of the pattern in various Z-levels. If a device is used, that comprises surfaces at different Z-levels, portions of the pattern will be projected onto levels that are closer to the scanner, and portions will be projected onto levels that are further away. It is well possible, to interpolate also the pixel coordinates that are not acquired during calibration.

Assuming that portions A and C of the pattern will be projected onto level Z.sub.1, while portions C and D will be projected onto level Z.sub.2, we will receive pixel coordinates for portion A and C assigned to Level Z.sub.1 (x.sub.A1 and y.sub.A1 for A, x.sub.C1 and y.sub.C1 for C) and pixel coordinates for portion B and D assigned to Level Z.sub.2 (x.sub.B2 and y.sub.B2 for B, x.sub.D2 and y.sub.D2 for D). It is well possible to linearly interpolate for instance x.sub.A2 (which has not been acquired) from y.sub.B2 and y.sub.D2. In the same manner y.sub.B1 could be interpolated from y.sub.A1 and y.sub.C1. Another way to receive calibration values that have not been acquired directly would be to draw the acquired pixel coordinates for a certain Z-level onto a sheet of paper and then to construct a best-fit line (either straight or curved) through those points. If the mathematical function of this best-fit line is stored, the pixel coordinates can be calculated using that function instead of storing them separately. The operation of determining a best-fit line can of course also be done directly in the computer. The best fit line concept is illustrated in FIG. 9C.

This procedure would work as well for part 2 of the calibration procedure where pixel coordinates are being acquired for specific features assigned to X-, Y- and Z-values. Again only a subset of features has to be captured at each Z-level, and the remaining values can be interpolated in the way described above. It would therefore also be possible to use just one calibration device that provides surfaces at least two Z-levels to perform part 1 of the calibration and comprises features at those surfaces that allow for part 2. The density of portions of the pattern, i.e., features to be captured, depends on the optical quality of the components of the scanner. We should capture at least four portions of the pattern, preferably close to the corners of the CCD imaging device 56 to provide a reliable interpolation.

The advantage of this calibration process is that it requires absolutely no pre-knowledge of the mechanical and optical characteristics of the scanner and automatically compensates for irregularities of the optical components, this including the CCD chip and the pattern. It is therefore useful to calibrate scanners that are made from cheap parts, and in can be used on scanners that have no known relationship between the imaging and the projection device.

With the foregoing discussion of the principles of the invention in mind, a representative embodiment of a scanner calibration device and method will be described with particularity with reference to FIG. 8. The presently preferred scanner calibration system includes mount or holder 122 for holding the scanner fixed in position during calibration. The holder is affixed to the top of a table 124. A calibration apparatus is positioned directly in front of the scanner 14. The calibration apparatus consists of a Z-direction carrier 126 having one portion 128 fixedly mounted to the table and a second portion 130 which can move back and forth in the Z direction between two different positions Z1 and Z2. An X-direction carrier 131 is mounted to the moveable portion 130 of the Z-direction carrier. The X-direction carrier consists a first portion 132 which is mounted to the moveable portion 130, and a second portion 134 which is moveable in the X direction relative to the first portion 132, as indicated.

The X-direction carrier 131 has mounted to its upper surface 136 two calibration devices: (1) a smooth, planar calibration surface 138 used for calibration of the scanner in the Z-direction, and (2) an X-Y calibration surface 140 used for calibration of the scanner in the X and Y direction. The X-direction carrier also contains a light 142 for providing back illumination of the X-Y calibration surface 140.

To calibrate the scanner 14, carriers 126 and 131 are moved such that the Z-direction calibration surface 138 is positioned in front of the scanner 14. An image is taken of the projection pattern reflecting off the surface with the surface 138 at some arbitrary distance Z1 from the scanner. Then the carrier 130 is moved a distance away (.DELTA.Z) to a new position Z2, and a second image is taken. Pixel addresses where the specific locations of the pattern are imaged in the electronic imaging device are determined and stored in a calibration table in a memory. The distance .DELTA.Z is also known precisely and stored in the scanner memory or in the computer that performs the scanner calibration.

Then, the carriers 126 and 131 are moved such that the X-Y calibration grid 140 is placed at the distance Z1 and an image is taken. The image is generated by activating the source 142, with light from the source 142 passing through numerous tiny apertures 143 in the calibration surface 140 and impinging on the electronic imaging device 56. (The pattern illumination source is not used in this part of the calibration). The carrier portion 130 is moved to the position Z2, and another image is generated. Using the known separation distance between points in the X-Y calibration grid 140, X and Y distance information for points in the pattern imaged in the first part of the calibration procedure is computed. The results are stored in the calibration table. This process is described in further detail below. When the scanner calibration is finished, the scanner serial number and scanner calibration table (or other representation of the calibration relationship, such as a set of mathematical equations) are stored in memory in the scanner or in a computer associated with the scanner that processes the scanned images.

An alternative configuration of the calibration surfaces is shown in FIG. 8A. The calibration device consists of a set of reflective, planar, parallel planes 144, 144', 144'' and 144''', of known distance from each other and from the scanner, with apertures 143 spaced at known distances along the surfaces of the planes and at known distances from adjacent planar surfaces. A cross feature 145 at the center forms the origin of the calibration surface, and is used as explained below. Two of the surfaces 144, 144', 144'' and 144''' are used for the Z calibration surface. For X and Y calibration, the backlighting illumination source 142 is activated and light passes through the apertures 143 onto the electronic imaging device. The entire two-dimensional focal plane of the electronic imaging device is calibrated from an interpolation of known points in the surfaces 144, 144', 144'' and 144''', in accordance with teachings described in detail herein. The embodiment of FIG. 8A is considered more cumbersome than the embodiment of FIG. 8, but is offered to illustrate that other configurations for a calibration surface are possible. In fact, curved surfaces or sloping surfaces could even be used, but the simplest surface is a planar surface oriented directly at the electronic imaging device.

Thus, in one possible alternative embodiment of the invention a calibration device is provided for a scanner projecting a pattern onto an object and receiving a reflection of the pattern off the object. The calibration devices comprise a calibration surface 144 receiving said projected pattern comprising two or more parallel surfaces (e.g., 144 and 144'') of known separation distance and spatial extent and a plurality of point sources of light 143 provided in the two or more parallel surfaces. As described herein the point sources of light are apertures which allow light to pass through the surfaces 144 from the light source 142, but other configurations are possible. For example, the point sources of light could be light emitting diodes arranged in an array in the surface 144. The apertures 143 are formed in a precise and known spatial relationship relative to each other, such as by forming the holes with a precision high powered laser on a sheet of metal. Alternatively, instead of apertures 143, black dots could be formed on paper using a highly accurate printing process, and the black dots imaged by the CCD 56.

The calibration procedure described herein represents an alternative, and more preferred way of computing three-dimensional information for images as compared to prior art methods. FIG. 9 is an illustration of the relevant parameters that can be used to calculate surface configuration of the object in accordance with a known fashion. The method of FIG. 9 requires knowledge of the separation distance D or baseline between the detector and the light source, the angle between the axes 48 and 58, and the angles .alpha. and .beta. shown in the Figure. The present calibration method and method of calculation of three-dimensional information does not require any of this information. The calibration procedure compensates for imperfections in the optics in the optical paths, and therefore eliminates the need for high precision optics. Further, there is no need for precise knowledge of the placement of the scanner relative to the calibration planes. There is no need to know the angle between the axes 48 and 58, the separation distance between the scanner and the object being scanned, or any absolute value of the location of the object in any global coordinate system. The scanner allows for truly reference independent scanning, yet it gives very precise description of the three-dimensional surface.

The calibration will typically be performed once during manufacturing, which should be enough to last the life of the scanner. However the scanner can simply and quickly re-calibrated if the need arises.

A representative example of the calibration of the scanner will be better understood from FIG. 10 and the following discussion. FIG. 10 is a illustration of an arbitrary, unique ray R.sub.n,m which is projected from the projection system of the scanner onto the smooth, planar calibration surface 138 of FIG. 8 during the first part of the calibration procedure. The ray R.sub.n,m is captured by the electronic imaging device 56, with the calibration plane positioned at two different distances from the scanner, Z1 and Z2. The distance between the two locations is .DELTA.Z. Distance Z1 need not be known, however the separation distance .DELTA.Z is known. The separation distance .DELTA.Z will vary depending on the depth of focus of the imaging optics 108 in the scanner 14.

FIG. 10 illustrates a fundamental principle of the technique that is used for calibration of the scanner and generation of three-dimensional information of an object, which is considered to be an improvement over the calculations required by the method of FIG. 9. FIG. 10 illustrates that when the plane 136 is at a distance Z1, the ray R.sub.n,m impinges on the imaging device at the location 150. When the calibration surface 136 is moved to position Z2, the ray R.sub.n,m impinges on the detector at point 152. The pixel coordinates for ray R.sub.n,m at both positions is stored in a calibration table. In actuality, the pixel coordinates for a large number of rays from the projection pattern are stored for Z1 and Z2. These pixel coordinates, along with X and Y dimension measurements from a second part of the calibration procedure, give all the information needed to create a calibration table necessary to compute three-dimensional coordinates for an object that has been scanned with the projection pattern.

Ray R.sub.n,m corresponds to a single point in the projection pattern. Knowledge of where in the projection pattern ray R.sub.n,m originated from is required. Hence, some pattern recognition and decoding of the detected pattern is needed to identify the specific portions of the pattern that are being imaged by the various portions of the CCD electronic imaging device. To understand the pattern recognition process, the reader is directed to FIGS. 11, 12, 17, 18 and 19 and the following discussion.

Pattern Recognition

FIG. 11 is an illustration of a portion of a pattern that is projected from the scanner of FIG. 3 onto an object (including the calibration surface 138). The projection pattern comprises an array of parallel lines 156 separated from each other by red, green and yellow colored dots 158, it being understood that other types of projection patterns are possible. The sequence of the colored dots 158 vary along the length of the lines 156, and in the direction perpendicular to the lines. This technique is used such that using pattern recognition and decoding processes, described herein, every region in the projection pattern can be decoded from the pixel data from the imaging device. FIG. 11 illustrates that Ray.sub.n,m can be taken to have originated at the intersection on one particular line and one particular colored dot, and this location can be determined precisely form the pattern recognition and decoding process. Similarly, the ray along the line L one row below ray R.sub.n,m can also be identified. In the present example, the pattern is constructed such that there are N columns or lines, and M rows of colored dots. FIG. 12 illustrates showing that the various rays of light passing through the pattern of FIG. 11 can be represented by an array of N.times.M points.

This array of points representing the projection pattern of FIG. 11 is imaged by an electronic imaging device or CCD 56 arranged in an array of row and columns, as shown in FIG. 14. There are X columns of pixels in the X direction and Y rows of pixels in the Y direction. In the illustrated embodiment there are 1,028 pixels in each direction.

FIGS. 17, 18 and 19 illustrate the pattern recognition process for captured two-dimensional images. FIG. 17 shows the signal level from one row of pixels in the electronic imaging device. The signal indicates that line L of the projection pattern is imaged at pixels 20 23 of a particular row of the pixels. Averaging of the pixel values over the four pixels allows the center point of the line relative to pixel 21 to be calculated, with sub-pixel resolution. FIG. 18 shows how the line L and adjacent colored dots are imaged on the surface of the imaging device in this example. Note that the line is not necessaryily centered over any column of the pixels and hence the averaging must be performed to determine the center point in the line. A similar pattern recognition process is performed for the colored dots, as indicated in FIG. 19. The center of each colored dot is located, as is the center points of the lines for every line and colored dot imaged by the imaging device.

The pattern recognition process thus takes the output signals of the imaging device (in the form of a colored bitmap image) and returns a set of pixel locations for centers of lines and centers of particular colored dots. The next step in the process is correlating these pixel locations for lines and colored dots to particular lines and colored dots in the projection pattern. This process is referred to as decoding (process 82 in FIG. 6), and is described in detail below. Decoding is not normally needed during the calibration procedure described in conjunction with FIG. 8, since the Z calibration surface is planar and the arrangement of the projection pattern on the CCD 56 is preserved. Decoding is used however during use of the scanner to scan an object of unknown surface configuration.

Decoding

The decoding process is the process of converting a set of pixel addresses for lines imaged by the imaging device, and a set of pixel addresses for particular colored dots imaged by the imaging device, to particular lines and colored dots in the projection pattern. Decoding is not absolutely required during calibration particularly where the Z calibration surface is a planar surface). It is used, however, during processing of images on an object having undercuts, shadow features, or other irregularities. It may be possible to decode only a portion of the received pattern, since ordering of lines in the projection pattern is preserved. For example, if lines 13 and 16 are decoded, lines 14 and 15 are also decoded since their spatial relationship relative to lines 13 and 16 are preserved.

The imaging analysis process needs to know that a particular pixel is imaging a particular line or a particular colored dot. The projection pattern or screen 50 (FIG. 2) varies continuously in both directions, due to the unique and continually varying sequence of the colored dots. The decoding process simply examines where the red, yellow and green dots are being imaged in the imaging device, and compares these results with the known sequence of red, yellow and green dots in the projection pattern, and thereby locates or identifies each ray with reference to the projection pattern. For example, the process knows that, for example, pixel 21 in row N of the imaging device is imaging the center of line 13, row 55, in the projection pattern.

Referring again to the calibration set-up of FIGS. 8 and 10, the scanner takes two images of the Z-calibration surface 138, one at distance Z1 and the other at distance Z2. The pixel addresses where each ray R.sub.n,m in the projection pattern is imaged by the array is stored in a calibration table referred to herein as calibration table # 1, shown in FIG. 24. At this point, we know how the imaging of the projection pattern varies as the calibration surface is moved in the Z direction relative to some imaginary plane Z1 in front of the scanner. However, the X and Y relationship is not yet known. Therefore, the scanner must be calibrated in the X and Y direction using a pattern of known geometry. This is explained in conjunction with FIGS. 8 and 13 16.

FIG. 13 is a illustration of the X-Y calibration surface 140 of FIG. 8, showing the array of Q.times.P points (tiny apertures 143) in the calibration surface 140 being organized into a coordinate system having an origin at the center of the surface 140, in the shape of a cross 145. The calibration surface 140 is conceptualized as consisting of four quadrants I IV. FIG. 23 shows one possible numbering convention of the points in the surface at the origin. In the illustrated embodiment, the points of the X-Y calibration surface 140 are actually tiny apertures spaced from each other a known distance (e.g., 1 mm). The apertures act as a plurality of point sources of light when the light source 142 positioned behind the surface 140 is activated. These points of light are imaged by the electronic imaging device 56 during the second part of the calibration step. By counting pixel signals (indicating the imaging of a point source in the surface 140) over from the origin in the X and Y directions, it is possible to determine which point in the surface 140 is being imaged by which pixel, again with subpixel resolution. Since we know the address of the pixels which illuminate the specific portions of the projection pattern, and we can know the