PORTABLE 3 -D SCANNING SYSTEM AND METHOD FOR RAPID SHAPE DIGITIZING AND ADAPTIVE MESH GENERATION
Field of the Invention
This invention relates generally to three- dimensional ("3D") scanning and measuring systems, and relates particularly to a portable 3D scanning system and method which facilitate acquisition and storage of data relating to 3D profiles of objects for subsequent computer-aided data processing and reproduction of the 3D profiles of the objects by shape digitizing and adaptive mesh generation.
Background of the Invention
Speed, accuracy, and portability have been recurrent and difficult to achieve goals for devices that scan, measure or otherwise collect data about 3D objects for purposes such as reproduction. With the advent of computers, such devices have useful application in many fields, such as digital imaging, computer animation, topography, reconstructive and plastic surgery, dentistry, architecture, industrial design, anthropology, biology, internal medicine, milling and object production, and other fields. These computer-aided systems obtain information about an object and then transform the shape, contour, color, and other information to a useful, digitized form.
The technology currently available for shape digitizing falls into two distinct but related groups: mechanical systems and optical systems. All systems within those two general categories struggle with the basic criteria of speed, accuracy, and portability in measuring and generating information about an object. A mechanical system acquires data about an object through the use of a probe that has a sensitive tip. The mechanical system scans an object by manually moving its probe tip across the object's surface and taking readings. Generally, the probe connects to a mechanical arm, and the system tracks the probe's position in space using angle measuring devices as the arm moves. The system calculates the position of the probe with coordinates known from the angle measuring devices .
Although mechanical systems scan with generally high accuracy, the rate at which a mechanical system acquires data is relatively slow and can take several hours for scanning and digitizing. A typical mechanical system measures only one point at a time and can digitize only small, solid objects.
As an alternative to mechanical systems, there are several types of optical object shape digitizers which fall into two basic categories: systems based on triangulation and alternative systems. A triangulation system projects beams of light on an object and then determines three-dimensional spatial locations for points where the light reflects from the object. Ordinarily, the reflected light bounces off the object at an angle relative to the light source. The system collects the reflection information from a location relative to the light source and then determines the coordinates of the point or points of reflection by triangulation. A single dot system projects a single beam of light which, when reflected, produces a single dot of reflection. A scan
line system sends a plane of light against the object which projects on the object on a line and reflects as a curvilinear-shaped set of points describing one contour line of the object. The location of each point in that curvilinear set of points can be determined by triangulation.
Some single dot optical scanning systems use a linear reflected light position detector to read information about the object. In such systems a laser projects a dot of light upon the object. The linear reflected light position detector occupies a position relative to the laser which allows the determination of a three dimensional location for the point of reflection. A single dot optical scanner with a linear reflected light position detector can digitize only a single point at a time. Thus, a single dot optical scanning system, like the mechanical system described above, is relatively slow in collecting a full set of points to describe an object. Single dot optical scanners are typically used for applications such as industrial engineering. The digitizing speed is usually slow and is limited by the mechanics of the scanning system, i.e., the moving and positioning of the light beam. However, accuracy of these systems can be high. A scanning head can be mounted on a high-precision, but costly, positioning system to take a digitized image of the object's shape with generally good accuracy. However, because of the high cost, slow speed, and lack of flexibility, single dot optical scanners find generally only limited application.
Scan line systems offer one solution to the speed time bottleneck of single point triangulation system. Tnose systems typically employ a 2D imager, such as a charged coupled device (CCD) camera, for signal detection. The systems project a light plane (i.e., a laser stripe) instead of just one dot and then read the
reflection of multiple points depicting the contour of an object at a location that is a distance from the CCD camera and from which the position can be triangulated. Some embodiments of the scan line -type system attach the CCD camera to a rotating arm or a moving platform.
During scanning, either the object moves on a known path relative to the camera and laser, or the camera and laser, together, move around the object. In any case, such systems usually depend on this type of fixed rotational movement and typically use a bulky, high- precision mechanical system for positioning. Because of the use of mechanical positioning devices, rescaling flexibility can be very limited, e g , a scanner designed for objects the size of a basketball may not be useful for scanning apple-sized oP ects.
Some laser stripe triangulation systems currently available are further limited because the laser stripe stays at a fixed angle relative to the camera and the system makes its calculations based on the cylindrical coordinates of its rotating platform. The mathematical simplicity in such a projection system complicates the hardware portion of these devices as they typically depend on the rotational platform mentioned. Also, the simplified geometry does not generally allow for extremely refined reproduction of topologically nontrivial objects, such as objects with holes in them (e.g . , a tea pot with a handle) . Full realization of triangulation scanning with a non-restrictive geometry has not been achieved m the available devices. Additionally, for those optical triangulation systems employing a computer, there is the further problem of processing the incoming data. The CCD camera typically outputs frames of picture information at a rate of 30 or more frames per second. Each frame is composed of a two dimensional frame matrix of pixels and contains, for example, 640 x 480 pixel values of light intensity
information. Thus, laser stripe triangulation systems must sort through many megabytes of information. These systems typically require very powerful computers and have sizeable memory requirements. In addition, they take a relatively long time to process the incoming CCD information into a viable set of points concerning the object. The points created can depict the object, but the system that create them are also limited in that they typically do not achieve a sophisticated model of the object.
Apart from optical triangulation systems (single dot or scan line systems) , there are alternative optical scanning systems which present a scanning solution different from those employing triangulation techniques. Range meters and multi-camera systems are among those categorized as "alternative" systems. Range meter systems typically use an infrared pulsed laser and mechanical scanning techniques to project a dot laser across an object and then measure the phase delay of the reflected signal. As range meter systems typically incorporate a single dot method of data collection, they generally have the speed limitations that are intrinsic to single-point scanners. Additional accuracy problems occur because depth coordinates are not sufficiently accurate, such that in some systems, when an object is large, ghosts can appear on the scan.
Another type of alternative scanning system is a stereoscopic system' which uses several CCD cameras located at known distances from each other. The captured images are processed with a pattern recognition system which maps the various points of an object captured by the cameras, thereby obtaining the shape/contour information. One advanced stereoscopic system uses 16 CCD cameras. Although each camera in such a system has a small exposure time, it takes several minutes to analyze the data for each scan. This can cause the system to
delay, sometimes up to six minutes per scan. In this type of system, the device must also project a special grid on an object to obtain reference points for gluing a complete 3D picture. In addition, accuracy is sometimes a problem because stereoscopic scanning relies on light reflecting properties. The systems make assumptions based on Lambertian reflecting properties to determine resolution surface features of the scanned objects. Different surfaces can dictate different results for the same object.
With respect to the embodiments of the 3D scanning systems which utilize a computer to control the scanning parameters, e.g., angular position of the light stripe at a given instant, much of the cost of such 3D scanning systems is attributable to the feedback circuit which allows the computer to control the scanning parameters of the system. Furthermore, because a computer is needed for scanning, practical portability may be difficult to achieve. Accordingly, an ideal, portable, inexpensive 3D scanning system should minimize the components, e.g., include just a video camera and a mechanism for variably projecting a light stripe onto a target object, and preferably not require a computer for scanning . Thus, for devices that scan, measure or otherwise collect data about an object, it would be a substantial advance if a scanner could be created that could rapidly gather highly accurate data concerning a 3D object. It would also be an advance if the device could rapidly process the data in a fashion that did not require a large computing system (and allow for portable embodiments) , and after computing, create a descriptive model from the data points collected about the object.
Summary of the Invention
The present invention provides a high speed, accurate and portable system and method for rapidly measuring objects and processing the shape, contour, color and other data it collects for display, graphic manipulation, model building -- such as through adaptive mesh generation -- and other uses Because the basic information about the object is obtained in rapid fashion, the invention is particularly suited to scan and measure objects which cannot easily stay motionless, such as people or animals The mechanical and data processing features of the present invention permit the collected data to be processed with high accuracy The present invention provides a system for rapidly scanning an object with a geometric light shape (such as a laser stripe) , recording the shape of the reflected points of light by means of an image collector {such as a camera) , and, by a triangulation technique that does not depend on the fixed direction of the light source relative to the camera, reconstructing the 3D shape of the object through a computer using the data points collected from the reflection of the laser stripes. With the collected data points, a user can, inter al a , create, display and manipulate an image of the 3D object on a computer, physically reproduce the object (through computer controlled milling machines and stereolithography) , compress the data for easy transmission (such as over the Internet), or use the data in graphic manipulation systems (such as in 3D video animators) The invention includes a model building algorithm which provides multi-resolution analysis and adaptive mesh generation, leading to significant compression of the digital shape information, which for most objects will be order of magnitude compression.
The present invention also provides embodiments which are portable (and not limited to any specific background) and can also be implemented using components readily available. A representative embodiment of the portable scanning system according to the present invention does not require a computer as part of the system because data processing contemporaneous with the data collection is obviated in this embodiment Instead, the portable system collects 3D-profιle data of objects and records the data on a storage medium The data stored on the storage medium is subsequently processed, at any desired time, by a computer system which applies the above-mentioned data-processing routines, e.g , the model building algorithm which provides multi -resolution analysis and adaptive mesh generation It should be noted, however, processing of the data collected using the portable scanning system according to the present invention need not be limited to the specific data- processing routines described herein In the portable scanning system according to the present invention, synchronization of the image- captuπng device, e.g , a video camera, and the projection mechanism for variably projecting a stripe of light is not achieved at the time of actual scanning By avoiding the synchronization issue at the time of actual scanning, the need to utilize a computer to simultaneously control the projection mechanism and the video camera is also obviated. Instead, the portable scanning system according to the present invention records on one or more data storage medium both the video data and data relating to the angular positions of the light stripe during scanning. When the recorded data is eventually processed by a computer, the angular-position data is synchronized w th the video data Several implementations of the synchronization scheme are
utilized in the portable scanning system according to the present invention.
The portable scanning system according to the present invention utilizes the principle of optical triangulation. The scanning system includes a laser- stripe generator, a video camera, a scanning mirror attached to a continuously rotating motor, and associated electronics. Optionally, the scanning system may also include an encoder or a photodiode coupled to the motor and a light source for providing ambient light. The rotating, scanning mirror reflects the laser stripe and variably positions the laser stripe across a target object. During scanning, the angular positions of the scanning mirror are encoded, and the encoded data reflecting the angular positions is recorded. The camera, which is positioned at a triangulation distance from the target object, detects the laser-stripe on the object and records the video data. If the relative geometry of the components of the scanning system and the angle of the scanning mirror relative to the object are known, the computer can calculate the depth component of the 3D profile of the target object by combining the video data and the encoded data reflecting the angular positions of the scanning mirror. The present invention provides a further aspect related to rapid processing by providing a system to compress the video camera information as it is input to the computer. In an embodiment of the present invention employing a camera as an image collector, a large amount of video signal information {bytes converted from analog signals) comes to the computer memory for processing. The present invention provides a system which rapidly processes the information by compressing the image information and keeping from each image only the information about the reflected data points collected from the positioned laser stripes.
Instead of storing megabytes of information, the data compression system of the present invention reduces the raw data down to only a few kilobytes depending upon the application. As data arrives, the computer applies an "on the fly" test as it first comes into a memory buffer, with the computer rejecting pixel values that fail the test . The compacted data allows for easier, speedier processing and alleviates the need for massive computing power to complete the scanning process. A currently available personal computer is all that is necessary to implement the data gathering system of the present invention.
The present invention also provides features that allow for more accurate measurement of the object and better display of its image. One feature provided is a system to eliminate "noise" from the image information and determine the most accurate 3D spatial location of any reflection data point on the object to the degree of "subpixel accuracy". The image of the data point created by a laser stripe reflection can be three or more pixels wide, but the most intense portion of the point will be located in only a portion of a pixel. The invention refines the collected data points to subpixel accuracy by locating the most likely center of the data point according to calculation heuristics.
Another feature of the present invention in performing shape digitization is to obtain only the essential information when collecting shape data and color information about an object. In the present invention, it is not necessary in obtaining shape data to process full color information during scanning. The present invention features the ability in an exemplary embodiment to intake laser stripe scanning information about an object with an electronic camera, and to capture that information in black and white or through a single color port, such as the red. The present invention
provides that color information about the object can be separately gathered apart from the collection of data points by laser stripe scanning and later matched and used with the three-dimensional data points.
Brief Description of the Drawings
Fig. la illustrates a first exemplary embodiment of the portable scanning system according to the present invention.
Fig. lb illustrates some of the geometric relationships among various components of the first exemplary embodiment of the portable scanning system according to the present invention shown in Fig. la. Fig. 2a illustrates a second exemplary embodiment of the portable scanning system according to the present invention which includes a mechanical switch or an encoder. Fig. 2b illustrates a modificatio of the second exemplary embodiment of the portable scanning system according to the present invention shown in Fig. 2a, which modification adds a logic electronics and a lamp . Fig. 2c illustrates a modification of the second exemplary embodiment of the portable scanning system according to the present invention shown in Fig. 2a, which modification adds a logic electronics and a telephone tone generator or a modem encoder chip. Fig. 3 illustrates a third exemplary embodiment of the portable scanning system according to the present invention which includes an optical encoder.
Fig. 4a illustrates a fourth exemplary embodiment of the portable scanning system according to the present invention which includes photodiodes .
Fig. 4b illustrates a modification of the fourth exemplary embodiment of the portable scanning system according to the present invention shown in Fig 4a, which modification adds a logic electronics and a lamp.
Fig. 4c illustrates a modification of the fourth exemplary embodiment of the portable scanning system according to the present invention shown in Fig. 4a, which modification adds a logic electronics and a telephone tone generator or a modem encoder chip.
Fig. 5 illustrates a fifth exemplary embodiment of the portable scanning system according to the present invention which includes logic electronics and a lamp
Fig. 6 illustrates a sixth exemplary embodiment of the portable scanning system according to the present invention which implements angular data encoding by utilizing a telephone tone generator or a modem encoder
Fig. 7 illustrates the sixth exemplary embodiment of the portable scanning system shown m Fig 6 connected to audio and video signal interfaces of a computer .
Fig. 8 illustrates the use of an intermediate storage medium to store 3D-profile data captured using the sixth exemplary embodiment of the portable scanning system according to the present invention shown m Fig. 6.
Detailed Description of the Invention
As shown in Fig. la, a basic embodiment of a portable scanning system according to the present invention includes a laser-stripe generator 1602, a video camera 1604, a continuously spinning motor 1603 and a scanning mirror 1601 attached to the continuously
spinning motor 1603 The rotating, scanning mirror reflects the laser stripe 1606 and variably positions the laser stripe across a target object 101 The video camera, which is positioned relative to the target object at a distance which allows triangulation calculation, detects the laser stripe 1608 reflected from the object and records a sequence of image frames each containing an image of the reflected laser-stripe The combination of the scanning mirror 1601 attached to the continuously spinning motor 1603, the laser-stripe generator 1602, and the video camera 1604 are preferably mounted on a mechanical holder 1605 The mechanical holder 1605, which allows the triangulation distance between the scanning mirror 1601 and the video camera 1604 to be varied by manipulation of the adjustment mechanism 1607, may be in turn mounted on a standard camera tripod, which is not shown
In the embodiment illustrated in Fig la, the motor 1603 may be a simple DC/AC motor with a gear head The motor 1603 rotates at a constant speed in the range of 2-4 revolutions per minute (rp ) , for example The angular velocity of the motor 1603 may be adjusted for varying levels of scanning quality and scanning time High stability of rotation speed of the motor is not required for the portable scanning system according to the present invention Because virtually no load is applied to the motor 1603, the motor may be a miniature motor such as model 2230V012S22B sold by MicroMo Corp of Clearwater, Florida The model 2230V012S22B is approximately 2" deep, including the gear head, and 0.7" in diameter.
The mirror 1601 shown in Fig la is a polygonal mirror which has, for example, 6 symmetrical facets For each degree of angular movement of the motor 1603, the laser stripe 1606 sweeps two degrees of field of view of the video camera 1604. Accordingly, each of the six
facets of the mirror 1601 sweeps 120 degrees ( (360 degrees/6) x 2) = 120 degrees) of field of view during each rotation of the motor 1603. The mirror 1601 may alternatively have 5-12 symmetrical facets If the mirror 1601 has, for example, 8 facets, each facet will sweep 90 degrees ((360 degrees/8) x 2 = 90 degrees) of field of view during each rotation of the motor 1603. Since a typical video camera has a maximum field of view of about 60 degrees, the whole field of view of the video camera will be covered by a sweep of each facet of the mirror as long as the polygonal mirror has 12 or fewer facets. The multi-faceted, polygonal mirror 1601 allows the portable embodiments of the scanning system according to present invention to achieve shorter "dead periods," i.e., periods when no laser stripe is positioned on the target object, during scanning in comparison to an embodiment utilizing a single, flat mirror mounted on a constant-speed motor.
The video camera 1604 may be any one of the commercially available video cameras as long as the chosen video camera outputs sufficiently high-resolution, real-time video signals. Typical, commercially available video cameras have a resolution ranging from 320x240 pixels per image frame up to 640x480 pixels per image frame. In addition, typical video cameras have an operating speed of 30 image frames per second, which is equivalent to 60 image fields per second. A typical, commercially available video camcorder, which combines a video camera with a recording mechanism, is adapted to record the video signals on a storage medium such as a video cassette tape.
Assuming that the video camera 1604 shown in Fig. la has a resolution of 640x480 pixels resolution and an operating speed of 60 fields per second, about 50-200 laser-stripe images should be recorded to recreate a 3D image of the scanned object. Accordingly, if one laser-
stripe image is captured in each image field, the scanning time for obtaining 50-200 laser-stripe images would be approximately 1 to 3 seconds As explained below, the time required to scan the target object will depend on the angular velocity of the motor 1603 and tne desired number of laser-stripe images for a given scan If the angular velocity of the motor is 4 rpm, for example, and the scanned object corresponds to 30 degrees within the field of view of the camera, then each of the six facets of the mirror 1601 will sweep 30 degree field of view in (30 degrees/2) x (60 seconds/ (4x360 degrees)) = .625 second. In this case, the time required to scan the object will be a function of the desired number of scan lines. If, on the other hand, the motor 1603 has an angular velocity of 2 rpm and 60 laser stripe images are desired for scanning an object which corresponds to 30 degrees within the field of view of the camera, the video camera 1604 will record 60 image fields in 1 second, but the scanning mirror will sweep across only (30 degrees/1.25 second) x (1 second) = 24 degrees in 1 second In this case, the time required to scan the target object will be dependent on the time required for the mirror to sweep 30 degrees in the camera's field of view. With respect to Fig. lb, which illustrates some of the geometric parameters of the various components of the embodiment of the portable scanning system according to the present invention illustrated in Fig. la, if the relative geometry of the components of the scanning system, e.g., distances XL and ZL between the origin of the coordinate system and the rotation axis of the motor 1603, perpendicular distance R_- between the rotation axis and a given facet of the mirror 1603, and the angle of the scanning mirror relative to the object, i.e., the angle θ of approach of the laser stripe on the object, are known, the computer can calculate the depth component
Z0 of the 3D profile of the scanned portion of the target object by performing the triangulation calculation with the two-dimensional coordinates of the scanned portion of the target object stored in the video image frames. As can be seen from Fig. lb, the three- dimensional coordinate system for the scanning system according to the present invention is centered at the focal point of the focusing lens 1604a of the camera 1604, with the Y-coordinate extending perpendicular to the plane defined by the drawing sheet. The distance d shown in Fig. lb, which may be described as the focal point location value representing the relationship between the focal point and the image plane (light collection plate) 1604b, is ascertained by a calibration procedure which is described in detail in a commonly- owned U.S. Patent Application entitled "High Accuracy Calibration for 3D Scanning and Measuring Systems" by A. Migdal, A. Lebedev, M. Petrov and A. Zhilyaev, which application is filed concurrently with the present application and expressly incorporated herein by reference. The distance R,. is determined by measurement, and the distances X and ZL are determined by the calibration procedure described in the "High Accuracy Calibration for 3D Scanning and Measuring Systems" application. Although the distance ZL illustrated in Fig. lb need not be zero, ZL may be assumed to be zero for the sake of simplicity of explanation in the following discussion. Similarly, the rotational axis of the motor 1603, which need not be coincident with the Y-axis, is assumed to be coincident with the Y-axis for the sake of simplicity of explanation in the following discussion.
Continuing with the description of the scanning system in conjunction with Fig. lb, the angle θ' can be ascertained based on the image coordinate (x,y,d) on the image plane 1604b corresponding to the scanned, actual coordinate (X0, Y„, Z„) . Since the distances XL, ZL and R,.,
17 as well as the angle θ', are known, the Z-coordinate distance Z0 of the scanned point on the target object may be ascertained if the angle θ, which indicates the angle of approach of the laser stripe relative to the target object 101 for the scanned, actual coordinate (X0, Y0, Z0) , is known. The angle θ is the angular separation between the normal vector to the given mirror facet and an axis parallel to the Z-axis of the coordinate system. Accordingly, the remaining issue in calculating the depth component of the 3D profile of the target object is how to ascertain the angle θ of the scanning mirror, i.e., the angle of approach of the laser stripe relative to the target object for a given light-stripe position as recorded in the stored video image frames. Several different approaches may be taken in addressing the issue of ascertaining the angle θ of the laser stripe relative to the target object.
Within the range of precision of measurement achieved with the embodiment illustrated in Fig. la, the speed of the motor 1603 may be assumed to be constant. With this assumption, the angular velocity of the motor 1603 and, in turn, the angular velocity of the scanning mirror 1601, may be calculated by analyzing the video data recorded by the video camera 160 . As the first step in calculating the angular velocity, a computer simply compares a sequence of stored video frames to find those frames in which the laser stripes are at identical positions. Based on the number of intervening frames between the two substantially identical video frames, the computer can calculate the angular velocity of the motor 1603 and the scanning mirror 1601. For example, if recorded video frames 7 and 100 are found to be substantially identical and the camera used to record these video frames is an NTSC format camera, then the elapsed time between these frames is 93x(l/30) seconds = 3.1 seconds. Furthermore, assuming an 8-faceted
polygonal mirror is utilized as the scanning mirror, the angle between two successive, identical scanning positions is 360/8 = 45 degrees. Accordingly, the rotational speed of the motor and the mirror may be calculated to be ((360/45) x 3.1 seconds) per revolution = 24.8 seconds per revolution, or, 1 revolution per ((60 seconds/minute) /2 .8 seconds) = 2.42 rpm.
Using the calculated rotational speed of the motor 1603, the computer can calculate the angular position φ of the motor with respect to a chosen reference point, and hence the angle θ of the given mirror facet indicating the angle of approach of the laser stripe relative to the object for a given laser- stripe position on the target object, at any given time if at least one reference angular position, φ0, of the motor 1603 at a corresponding reference time, e.g., t=0, is known. Using the above example of an 8-faceted polygonal mirror having the rotational speed of 2.42 rpm, if the angular position φ of the motor was 46 degrees from a predetermined reference line at t=0 second, then the angular position φ of the motor at t=3 seconds will be 46+ ((3 seconds) x (360 degrees/1 revolution) x (2.42 revolution/60 seconds)) = 89.56 degrees. The value of the angle θ at time t=0 may be calculated from the value of φ0 because the orientation of each facet of the mirror 1601 relative to the angular position of the motor is known from the calibration procedure described in the "High Accuracy Calibration for 3D Scanning and Measuring Systems" application incorporated herein by reference. Since the value of the angle θ at any given time may be calculated based on ω, the rotational velocity of the motor 1603, and the value of the angle θ at time t=0, the computer can associate the two-dimensional coordinate points recorded in the video image frames with the corresponding angle θ of the laser stripe to calculate
the depth component of the 3D profile of the scanned portion of the target object.
With respect to the embodiment of the portable scanning system illustrated in Fig. la, it is not possible to ascertain the reference angle φ0 corresponding to time t=0 because no mechanism for indicating the angular position of the motor 1603 is provided. Accordingly, it is difficult to make absolute size measurements using the embodiment of the scanning system shown in Fig. la. However, if the main purpose of the scanning system is to obtain a 3D image of an object without obtaining absolute size measurements, then the computer may be programmed to make an estimation of the reference angle φ0 at time t=0. For example, if the scanned object is substantially symmetric, e.g., a human face, then the computer may implement an optimization program with the angle φ0 at t=0 as a parameter to find the angular position of φ for which the object looks symmetric. In addition, for certain applications, e.g., scanning human faces for subsequent incorporation of 3D images into a computer game or a page on the World Wide Web, high precision in finding the angle φ0 at t=0 may not be very important. In this case, the angle φ0 may be manually "adjusted" by means of a 3-D editor, i.e., by performing graphic manipulation.
Illustrated in Fig. 2a is another exemplary embodiment of the portable scanning system according to the present invention, which embodiment provides an angular position value φ0 for the motor 1603 at time t=0. The embodiment illustrated in Fig. 2a is substantially identical to the embodiment of Fig. 16, with the addition of a pulse-generating mechanism 1701. The pulse- generating mechanism 1701, which may be a mechanical switch or a low-resolution encoder, is used to provide one or several pulses per rotation of the motor 1603.
Each pulse corresponds to a reference angle. The pulses
may be fed via connection 1701a to, and recorded on, a separate recording medium, which is not shown, and subsequently processed with the recorded video image frames containing laser-stripe images. For example, the video camera may be adapted to include digital memory for the purpose of storing the encoder pulses. Alternatively, the pulses, along with the video data, may be fed directly to a computer. When the pulses and the video data are processed by the computer, the computer zeroes the time counter at each occurrence of the pulse, thereby synchronizing the recorded video image frames with corresponding angular positions of the motor 1603.
Shown in Fig. 3 is yet another exemplary embodiment of the portable scanning system according to the present invention, which embodiment provides an angular position φ0 for the motor 1603 at time t=0, as well as at regular time intervals thereafter, by means of an optical encoder 1801. With the exception of the optical encoder 1801, the embodiment of Fig. 18 is substantially identical to the embodiment shown in Fig.
16. The optical encoder 1801 includes a disk ("code wheel") with holes which is attached to the shaft of the motor 1603, one or more light emitting diodes (LEDs) , a set of photodetectors and a signal -processing circuit. As the disk rotates with the shaft of the motor 1603, light emitted from the set of LEDs travels through the holes in the disk and is detected by the photodetectors. The signals from the photodetectors are processed by the signal -processing circuit, and the resulting output signals indicating the angular position φ of the motor
1603 are produced on channels 1802 and 1803, for example. The output signals on channels 1802 and 1803 are square waveforms representing binary numbers; the output signal on channel 1802 is 90 degrees out of phase with the output signal on channel 1803.
Exemplary, low-cost optical encoders which may be incorporated in the exemplary embodiment of Fig. 3 are HEDS/HEDM series of optical encoders made by Hewlett- Packard Co. These encoders provide 360-1024 counts per revolution, as reflected by output signals on the channels 1802 and 1803. HEDS-5540/5640 encoders generate three-channel , digital output, with the output signal on channel 1804 being an index pulse P0 which is generated once for each full rotation of the motor 1603. The output signals on channels 1802-1804 may be recorded on a recording medium or fed directly to a computer. By interpolating between adjacent, recorded counts, the computer can calculate the angular position φ of the motor 1603 at any given time with high precision. In this manner, the angular positions of the motor 1603 corresponding to the recorded video image frames may be ascertained.
As shown in Fig. 4a, yet another exemplary embodiment of the portable scanning system according to the present invention utilizes photodiodes for the purpose of facilitating eventual synchronization between the laser-stripe images recorded as video data and the corresponding angular positions of the motor 1603. The embodiment of Fig. 4a is substantially similar to the embodiment shown in Fig. 16, with the addition of two photodiodes 1901 each located at a known position from the scanning mirror 1601. Alternatively, a single photodiode may be used. As the mirror 1601 rotates, the photodiodes 1901 detect the laser stripe 1606 reflected from the mirror 1601, in response to which the photodiodes 1901 generate detection signals. For each photodiode 1901, the detection signal indicates orientation of the scanning mirror 1601 at the particular known angle relative to the photodiode. The detection signals may be recorded on a recording medium or fed directly to a computer. By combining the recorded laser-
stripe images with the time sequence of corresponding detection signals, the angle θ of the scanning mirror 1601 relative to the target object corresponding to a given laser-stripe image may be ascertained. Still another exemplary embodiment of the portable scanning system according to the present invention, shown in Fig. 5, is substantially similar to the embodiment of Fig. 3, with the addition of logic electronics 2001, a relay 2002 and a lamp 2003. The logic electronics 2001 triggers the lamp 2003 in response to the output signal of the encoder 1801 when the motor 1603 reaches one or more predetermined reference angle (s) . Since the lamp 2003 turns on only at specific angular positions of the motor 1603, the angular position φ of the motor corresponding to a given image frame may be ascertained by comparing total brightness of adjacent recorded image frames, i.e., determining when the lamp 2003 is turned on. Based on the angular position of the motor corresponding to an image frame in which the lamp 2003 was turned on, the computer can then calculate the angular position φ of the motor for any other recorded image frame .
Although Fig. 5 shows the output signal of the encoder 1801, transmitted via channels 1802-1804, as the input signal for the logic electronics 2001, the logic electronics 2001 may be designed to trigger the lamp 2003 in response to other input signals which indicate that the motor 1603 has reached a predetermined reference angle. For example, output signals from the mechanical switch 1701, shown in Fig. 2a, or signals from the photodiodes 1901, shown in Fig. 4a, may serve as the input signals for the logic electronics 2001, i.e., the embodiments of Figs. 2a and 4a may be modified by adding the logic electronics 2001, the relay 2002 and the lamp 2003. These alternative embodiments are illustrated in Figs. 2b and 4b.
In the exemplary embodiment of Fig. 5, the lamp 2003 also serves the function of providing light for taking texture-map image, in addition to the function of generating information about the angular position of the motor. The lamp 2003 is useful for the purpose of taking texture-map image because increased uniformity of illumination of the scanned object is desirable. Meanwhile, because the dynamic range of commercially available video cameras is limited, i.e., 256 gradations of gray for a typical low-cost camera, reduced background illumination relative to the object illumination usually results in a more efficient 3D scanning process.
Shown in Fig. 6 is yet another exemplary embodiment of the portable scanning system according to the present invention, which system records the angular positions of the motor 1603 preferably in audio format. The exemplary embodiment of Fig. 6 includes substantially similar components as the exemplary embodiment of Fig. 5, with the addition of an audio-signal generator 2101. The angular positions of the motor 1603 may be encoded into audio type electrical signals by the audio-signal generator 2101, which may be a telephone tone generator or a modem encoder chip. For example, the telephone tone generator, used in modern touch-tone telephones, generates audio type electrical signals by mixing two electrical signals of different frequencies. The bandwidth of the resultant signal falls well within the telephone signal bandwidth of 4kHz .
As shown in Fig. 6, the logic electronics 2001 triggers the telephone tone generator or the modem encoder chip 2101 in response to the output of the optical encoder 1801 transmitted via output channels 1802-1804, such that every count generated by the optical encoder 1801 is represented by a sequence of telephone tone pulses. The logic electronics 2001 and the telephone tone generator (or the modem encoder chip) 2101
may be viewed as components of audio electronics 2102. The logic electronics 2001 includes a quartz generator for triggering the tone generator or the modem encoder chip 2101. Assuming the optical encoder 1801 generates 360 counts per revolution, for example, then the modem encoder chip 2101 needs to encode 360 different numbers, which means using as many as three bits of the modem encoder chip 2101 for encoding the value of a single angle. The quartz generator provides timing signal for outputting the multiple bits of the modem encoder chip
2101. Assuming the motor 1603 has an angular velocity of 2-4 rpm and the optical encoder 1801 generates 360 counts per revolution, any commonly used telephone tone generator will be sufficient for the purposes of encoding angular positions of the motor 1603.
Although Fig. 6 shows the output signal of the encoder 1801, transmitted via channels 1802-1804, as the input signal for the logic electronics 2001, the logic electronics 2001 may be designed to trigger the tone generator 2101 in response to other input signals which indicate that the motor 1603 has reached one or more predetermined reference angles. For example, output signals from the mechanical switch 1701, shown in Fig. 2a, or signals from the photodiodes 1901, shown in Fig. 4a, may serve as the input signals for the logic electronics 2001, i.e., the embodiments of Figs. 2a and 4a may be modified by adding the logic electronics 2001 and the tone generator 2101. These alternative embodiments are illustrated in Figs. 2c and 4c. In the exemplary embodiment shown in Fig. 6, as well as in the embodiments shown in Figs. 2c and 4c, the lamp 2003 is an optional component of the scanning system. In these embodiments, the lamp 2003 is utilized to enhance the illumination of the target object for taking texture-map image. The illumination provided by the lamp 2003 reduces the probability that the recorded
25 images frames of the scanned object are too dark, or the probability that the computer processing the recorded image frames will have problems in identifying the laser stripe positioned on the scanned object from bright 5 background.
The video image frames from the video camera 1604 and the audio signals from the audio electronics 2102 may be fed directly to a computer 2205, as shown in Fig. 7, or recorded on a storage medium and processed
10 later by a computer, as shown in Fig. 8. As shown in
Fig. 7, the video signals representing the captured image frames are fed from the video camera 1604 via channel 2104 to a video capture device 2206 of the computer 2205. Similarly, the audio signals representing the angular
15 positions of the motor 1603 are fed from the audio electronics 2102 via channel 2103 to an audio capture device 2207 of the computer 2205. For a PC type computer, the video capture device 2206 is a plug-in frame grabber board, while the audio capture device 2207
20 is an input terminal of a sound board.
For modern PC type computers having a PCI type internal bus, video frame gabbers capable of capturing NTSC format video images with 640x480 pixels resolution at a rate of 30 frames (60 fields) per second are readily 25 available. For example, Meteor™ video frame grabber board manufactured by Matrox, Inc. takes advantage of high bandwidth of the PCI bus by transferring the video data directly to the main processor/memory of the computer without buffering it on the board. Since the
30 main processor of a typical PC type computer is capable of directly processing the captured video data in order to determine the recorded laser stripe image and perform the triangulation calculation, no additional buffering of data is necessary for performing the triangulation 35 calculation and determining the 3D coordinates representing the profile of the scanned object.
Λ Λ«.,«-.-, „ O 98/02764
26
Because the sound boards of modern PC type computers typically have a 16-bit resolution and a bandwidth much higher than the bandwidth of the telephone tone generator incorporated in the audio electronics 5 2102, such sound boards are very well suited for handling audio data representing the angular positions of the motor 1603. Furthermore, due to its limited bandwidth, these sound boards consume just a small fraction of the bus and processor time.
10 As shown in Fig. 8, video image frames from the camera 1604 and audio signals representing the angular positions of the motor 1603 may be recorded on a storage medium 2302 by means of a recording device 2301. In Fig. 8, the storage medium 2302 is, for example, a cassette
15 tape for recording both video and audio signals. A typical camcorder, which is designed to record both video and audio signals, combines the video camera 1604 and the recording device 2301. For example, camcorders manufactured by Sony have an audio input for recording
20 audio signals from an auxiliary microphone. The audio input can be used to record audio signals generated by the audio electronics 2102. The video and audio signals recorded on the storage medium 2302 may be reproduced by means of a VCR 2303, for example, and fed to the video
25 capture device 2206 and the audio capture device 2207, respectively, of the computer 2205. The computer then performs the triangulation calculation and determines the 3D coordinates representing the profile of the scanned object, as well as performing other post-scanning tasks,
30 e.g., data simplification and adaptive-mesh generation. It should be emphasized that, for each of the embodiments illustrated in Figs, la-8, video image frames containing the images of laser stripes reflected from the scanned object and signals representing the angular
35 positions of the motor 1603 may be recorded on an intermediate storage medium. By utilizing the
intermediate storage medium, the exemplary embodiments of the scanning system according to the present invention shown in Figs, la-8 eliminate the need to have a computer present at the scanning site, thereby achieving practical portability and added flexibility in scanning. For the exemplary embodiments of the portable scanning system according to the present invention, the computer is ust a passive device used to process the data obtained from the scanning process: the computer need not participate in the data acquisition process.
Although the exemplary embodiments of the portable scanning system according to the present invention shown in Figs, la-8 achieve practical portability and enhanced flexibility of scanning, these embodiments of the portable scanning system do not sacrifice the quality of resulting 3D profile of the scanned object or significantly increase the time required to process the laser-stripe image data and data reflecting the angular positions of the laser stripe. Once the angular positions of the laser stripe corresponding to the recorded laser-stripe images have been ascertained from the recorded audio and/or video data, the computer performs various program routines, e.g., 3D reconstruction, data simplification, mesh generation and stitching, all of which are described in U.S. Patent Application Serial Number 08/620,689 filed on March 21, 1996 by A. Migdal, M. Petrov and A. Lebedev, to generate the 3D model of the scanned object. U.S. Patent Application Serial Number 08/620,689 is expressly incorporated herein by reference as if fully set forth at length herein.
For each of the exemplary embodiments of the portable scanning system illustrated in Figs, la-8, the calibration procedures for setting the initial scanning parameters are described in detail in "High Accuracy Calibration for 3D Scanning and Measuring Systems"
application, which is filed concurrently with the present application and has been expressly incorporated herein by reference. As previously mentioned, the calibration procedures described in the "High Accuracy Calibration for 3D Scanning and Measuring Systems" application include, among others, calibrations for camera lens distortion and the focal point value d. These calibration procedures are briefly discussed below.
Calibration for camera lens distortion may be accomplished by scanning a flat reference surface with a repeated and evenly spaced pattern of laser lines and capturing the image of these laser lines. Alternatively, a frame grabber associated with a computer may be used to collect from the camera 1604 the image of a rectilinear grid pattern drawn on a flat surface. If the image of the rectilinear grid pattern is used for calibration, for example, since the lines forming the rectilinear grid are known to be straight, the deviation between the captured image of the grid lines and the actual grid lines may be used to generate a correction matrix.
Referring to Fig. lb, the focal point value d of the camera 1604 may be ascertained by one of several different calibration procedures. One calibration procedure involves capturing the image of a flat reference surface on which an equilateral triangle of known dimensions is drawn. When the image of the triangle is captured, each of the three vertices generates a corresponding image point on the camera image plane 1604b, and the imaginary line connecting the vertex of the triangle on the flat reference surface and the corresponding image point on the camera image plane may be expressed as a line equation. By simultaneously solving three line equations corresponding to the three vertices of the equilateral triangle, the focal distance d may be ascertained.
In addition to the calibration for the camera lens distortion and the camera focal distance d shown in Fig. lb, the portable scanning system according to the present invention is calibrated for the following parameters: relative positions of the image collector and the light source (the XL and ZL settings) ; and, for each facet of the multi-faceted mirror 1601, an initial (or reference) mirror angle θ0 corresponding to a known motor position. The initial mirror angle θ0 indicates the orientation of a given mirror facet relative to the motor position. The calibration procedures for the XL, ZL and θ0 parameters are described in detail in "High Accuracy Calibration for 3D Scanning and Measuring Systems" application . While the present invention has been described in connection with specific embodiments, it should be understood that these embodiments are exemplary in nature and not to be construed as limiting the scope of protection for the invention as set forth in the appended claims, as certain changes may be made to the exemplary embodiments without departing from the clear teachings of the present invention. For example, although the preferred embodiments utilize the multi-faceted mirror 1601 to reflect and variably position the laser stripe across a target object, other laser-stripe positioning devices such as a holographic disc may be utilized. Accordingly, reference should be made to the following claims which alone define the invention.