# Patent

## Title
Method for optically measuring three-dimensional coordinates and calibration of a three-dimensional measuring device

## Abstract

A method for scanning and obtaining three-dimensional (3D) coordinates is provided. The method includes providing a 3D measuring device having a projector, a first camera and a second camera. The method records images of a light pattern emitted by the projector onto an object. A deviation in a measured parameter from an expected parameter is determined. The calibration of the 3D measuring device may be changed when the deviation is outside of a predetermined threshold.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS (IF APPLICABLE)
The present application is a continuation application of U.S. patent application Ser. No. 14/844,691 filed on Sep. 3, 2015. U.S. application Ser. No. 14/844,691 claims the benefit of German Patent Application 10 2014 019 669.0 filed on Dec. 30, 2014, German Patent Application 10 2014 019 670.4 filed on Dec. 30, 2014, German Patent Application 10 2014 019 672.0 filed on Dec. 30, 2014 and German Patent Application 10 2014 019 671.2 filed on Dec. 30, 2014. The contents of all of which are incorporated by reference herein in their entirety.
U.S. application Ser. No. 14/844,691 is also a continuation-in-part application of U.S. application Ser. No. 14/826,859 filed on Aug. 14, 2015. U.S. Ser. No. 14/826,859 claims the benefit of German Patent Application 10 2014 113 015.4 filed on Sep. 10, 2014 and is also a continuation-in-part application of U.S. application Ser. No. 14/712,993 filed on May 15, 2015, which is a nonprovisional application of U.S. Provisional Application 62/161,461 filed on May 14, 2015. U.S. application Ser. No. 14/712,993 further claims the benefit of German Patent Application 10 2014 013 677.9 filed on Sep. 10, 2014. The contents of all of which are incorporated by reference herein in their entirety.
U.S. application Ser. No. 14/844,691 is further a continuation-in-part application of U.S. application Ser. No. 14/722,219 filed on May 27, 2015, which is a nonprovisional application of the aforementioned U.S. Provisional Application 62/161,461. U.S. Ser. No. 14/722,219 claims the benefit of German Application 10 2014 013 678.7 filed on Sep. 10, 2014. The contents of all of which are incorporated by reference herein in their entirety.


BACKGROUND OF THE INVENTION
The subject matter disclosed herein relates to a portable scanner, and in particular to a portable scanner having a display.
A portable scanner includes a projector that projects light patterns on the surface of an object to be scanned. The position of the projector is determined by means of a projected, encoded pattern. Two (or more) cameras, the relative positions and alignment of which are known or are determined, can record images of the surface with a further, uncoded pattern. The three-dimensional coordinates (of the points of the pattern) can be determined by means of mathematical methods which are known per se, such as epipolar geometry.
In video gaming applications, scanners are known as tracking devices, in which a projector projects an encoded light pattern onto the target to be pursued, preferably the user who is playing, in order to then record this encoded light pattern with a camera and to determine the coordinates of the user. The data are represented on an appropriate display.
A system for scanning a scene, including distance measuring, may include, in its most simplest form, a camera unit with two cameras, and illumination unit and a synchronizing unit. The cameras, which may optionally include filters, are used for the stereoscopic registration of a target area. The illumination unit is used for generating a pattern in the target area, such as by means of a diffractive optical element. The synchronizing unit synchronizes the illumination unit and the camera unit. Camera unit and illumination unit can be set up in selectable relative positions. Optionally, also two camera units or two illumination units can be used.
BRIEF DESCRIPTION OF THE INVENTION
According to one aspect of the invention, a method for optically scanning and measuring an environment is provided. The method comprising the steps of: providing a three-dimensional (3D) measurement device having a first camera, a second camera and a projector, the 3D measurement device further having a control and evaluation device operably coupled to the at least one camera and the projector, the control and evaluation device having memory; emitting a light pattern onto an object with the projector; recording a first image of the light pattern with the first camera at a first time; recording a second image of the light pattern with the second camera at the first time; producing a 3D scan of the object based at least in part on the first image and the second image; selecting at least one point in the first image and the second image; determining a first 3D coordinates of the at least one point in the first image based at least in part on a first set of calibration parameters; determining a second 3D coordinates of the at least on point in the second image based at least in part on the first set of calibration parameters; determining a deviation based at least in part on the first 3D coordinates and the second 3D coordinates; determining a second set of calibration parameters based at least in part on the deviation; and storing the second set of calibration parameters in memory.
According to another aspect of the invention, another method for optically scanning and measuring an environment is provided. The method comprising: providing a three-dimensional (3D) measurement device having a first camera, a second camera and a projector, the 3D measurement device further having a control and evaluation device operably coupled to the at least one camera and the projector, the control and evaluation device having memory; emitting at a first wavelength a light pattern onto an object with the projector; recording a first image of the light pattern with the first camera at a first time; recording a second image of the light pattern with the second camera at the first time; producing a 3D scan of the object based at least in part on the first image and the second image; selecting a first point in the center of the light pattern, the first point being in the first image and the second image; selecting a second point in the light pattern, the second point being positioned away from the second of the light pattern; determining a deviation in the first wavelength based on the first point and the second point; and storing the deviation in memory.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.



BRIEF DESCRIPTION OF THE DRAWING
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
FIG. 1 shows a perspective view of a hand-held scanner and of an object in the environment;
FIG. 2 shows a view of the front side of the hand-held scanner;
FIG. 3 shows a view of the reverse side of the hand-held scanner;
FIG. 4 shows a top view of the hand-held scanner from above;
FIG. 5 shows a view of the hand-held scanner from the right side;
FIG. 6 shows a perspective view corresponding to FIG. 1 without housing;
FIG. 7 shows a representation of the control and evaluation device with display;
FIG. 8 shows a representation of the control and evaluation device of FIG. 7 from a right side;
FIG. 9 shows the fields of view of the cameras with shaded overlap;
FIG. 10 shows the geometrical relationship of the image planes, projector plane, and epipolar lines;
FIG. 11 shows an exemplary method of autocalibration;
FIG. 12 shows a simplified situation of an inconsistency;
FIG. 13 shows a possible error field of the situation of FIG. 12;
FIG. 14 an example with one epipolar line;
FIG. 15 an example with two epipolar lines;
FIG. 16 an example with inconsistencies;
FIG. 17 a first verification of several epipolar lines;
FIG. 18 a second verification of several epipolar lines;
FIG. 19 shows a verification of the relative geometry of the cameras;
FIG. 20 shows a verification of the wavelength; and
FIG. 21 shows a typical error field of FIG. 20.



The detailed description explains embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
DETAILED DESCRIPTION OF THE INVENTION
In one embodiment, the carrying structure is stable mechanically and thermally, defines the relative distances and the relative alignments of a camera and of a projector. The arrangement on a front side of the 3D measuring device faces on the environment, has the advantage that these distances and alignments are not changed by a change of the shape of a housing.
The term “projector” is defined to generally refer to a device for producing a pattern. The generation of the pattern can take place by means of deflecting methods, such as generation by means of diffractive optical elements or micro-lenses (or single lasers), or by shading methods, for example the production by means of shutters, transparencies (as they would be used in a transparency projector) and other masks. The deflecting methods have the advantage of less light getting lost and consequently a higher intensity being available.
Depending on the number of assemblies provided for distance measuring, a corresponding number of arms of the carrying structure is provided, which protrude from a common center located at the intersection of the arms. The assemblies, which may include a combination of cameras and projectors, are provided in the area of the ends of the assigned arms. The assemblies may be arranged each on the reverse side of the carrying structure. Their respective optics are directed through an assigned aperture in the carrying structure, so that the respective assemblies are operably oriented to face towards the environment from the front side. A housing covers the reverse side and forms the handle part.
In one embodiment, the carrying structure consists of a carbon-reinforced or a glass-fiber-reinforced matrix of synthetic material or ceramics (or of another material). The material provides for stability and a low weight and can, at the same time, be configured with viewing areas. A concave (spherical) curvature of the front side of the carrying structure does not only have constructive advantages, but it also protects the optical components arranged on the front side when the front surface of the 3D measuring device is placed on a work surface.
The projector produces the projected pattern, which may or may not be within the visible wavelength range. In one embodiment, the projected pattern has a wavelength in the infrared range. The two cameras are configured to acquire images from light within this wavelength range, while also filtering out scattered light and other interferences in the visible wavelength range. A color or 2D camera can be provided as third camera for additional information, such as color for example. Such camera records images of the environment and of the object being scanned. In an embodiment where the camera captures color, the point cloud generated from the scanning process (herein referred to as the “3D-scan”) can have color values assigned from the color information contained in the color images.
During operation the 3D measuring device generates multiple 3D scans of the same scene, from different positions. The 3D scans are registered in a joint coordinate system. For joining two overlapping 3D scans, there are advantages in being able to recognizable structures within the 3D scans. Preferably, such recognizable structures are looked for and displayed continuously or, at least after the recording process. If, in a determined area, density is not at a desired level, further 3D scans of this area can be generated. A subdivision of the display used for representing a video image and the (thereto adjacent parts of the) three-dimensional point cloud helps to recognize, in which areas scan should still be generated.
In one embodiment, the 3D measuring device is designed as a portable scanner, i.e. it works at high speed and is of a size and weight suitable for carrying and use by a single person. It is, however, also possible to mount the 3D measuring device on a tripod (or on another stand), on a manually movable trolley (or another cart), or on an autonomously moving robot, i.e. that it is not carried by the user—optionally also by using another housing, for example without a carrying handle. It should be appreciated that while embodiments herein describe the 3D measuring device as being hand-held, this is for exemplary purposes and the claimed invention should not be so limited. In other embodiments, the 3D measuring device may also be configured as a compact unit, which are stationary or mobile and, if appropriate, built together with other devices.
Referring to FIGS. 1-6, a 3D measuring device 100 is provided as portable part of a device for optically scanning and measuring an environment of the 3D measuring device 100 with objects O. As used herein, the side of the device 100 which faces the user shall be referred to as the reverse side, and the side of the device 100 which faces the environment as the front side. This definition extends to the components of the 3D measuring device 100. The 3D measuring device 100 is provided (on its front side) visibly with a carrying structure 102 having three arms 102a, 102b, 102c. These arms give the carrying structure 102 a T-shape or a Y-shape, i.e. a triangular arrangement. The area in which the three arms 102a, 102b, 102c intersect and are connected with each other, and from which the three arms 102a, 102b, 102c protrude, defines the center of the 3D measuring device 100. From the user's view, the carrying structure 102 is provided with a left arm 102a, a right arm 102b and a lower arm 102c. In one embodiment, the angle between the left arm 102a and the right arm 102b is, for example, approximately 150°+20°, between the left arm 102a and the lower arm 102c approximately 105°+10°. The lower arm 102c is, in some embodiments, somewhat longer than the two other arms 102a, 102b. 
The carrying structure 102 preferably is configured from fiber-reinforced synthetic material, such as a carbon-fiber-reinforced synthetic material (CFC). In another embodiment, the carrying structure 102 is made from carbon-fiber-reinforced ceramics or from glass-fiber-reinforced synthetic material. The material renders the carrying structure 102 mechanically and thermally stable and provides at the same time for a low weight. The thickness of the carrying structure 102 is considerably smaller (for example 5 to 15 mm) than the length of the arms 102a, 102b, 102c (for example 15 to 25 cm). The carrying structure 102 hence has a flat basic shape. In some embodiments, the arms 102a, 102b, 102c, may include a reinforced back near the center of the arm. It is, however, preferably not configured to be plane, but to be curved. Such curvature of the carrying structure 102 is adapted to the curvature of a sphere having a radius of approximately 1 to 3 m. The front side (facing the object O) of the carrying structure 102 is thereby configured to be concave, the reverse side to be convex. The curved shape of the carrying structure 102 is advantageous for providing stability. The front side of the carrying structure 102 (and in one embodiment the visible areas of the reverse side) is configured to be a viewing area, i.e. it is not provided with hiders, covers, cladding or other kinds of packaging. The preferred configuration from fiber-reinforced synthetic materials or ceramics is particularly suitable for this purpose.
On the reverse side of the carrying structure 102, a housing 104 is arranged, which is connected with the carrying structure 102 within the area of the ends of the three arms 102a, 102b, 102c in a floating way, by means of appropriate connecting means, for example by means of rubber rings and screws with a bit of clearance. As used herein, a floating connection is one that reduces or eliminates the transmission of vibration from the housing 104 to the carrying structure 102. In one embodiment, the floating connection is formed by a rubber isolation mount disposed between the housing 104 and the carrying structure. In one embodiment, an elastomeric seal, such as rubber, is disposed between the outer perimeter of the carrying structure 102 and the housing 104. The carrying structure 102 and the housing 104 are then clamped together using elastomeric bushings. The seal and bushings cooperate to form the floating connection between the carrying structure 102 and the housing 104. Within the area of the left arm 102a and of the right arm 102b, the edge of the housing 104 extends into the immediate vicinity of the carrying structure 102, while the housing 104 extends from the center of the 3D measuring device 100 within the area of the lower arm 102c, at a distance to the carrying structure 102, forming a handle part 104g, bends off at the end of the handle part 104g and approaches the end of the lower arm 102c, where it is connected with it in a floating manner. The edge of the handle 104g extends into the immediate vicinity of the carrying structure 102. In some embodiments, sections of the carrying structure 102 may include a reinforced back 102r. The back 102r protrudes into the interior of the housing 104. The housing 104 acts as a hood to cover the reverse side of the carrying structure 102 and define an interior space.
The protective elements 105 may be attached to the housing 104 or to the carrying structure 102. In one embodiment, the protective elements 105 are arranged at the ends of and extend outward from the arms 102a, 102b, 102c to protect the 3D measuring device from impacts and from damage resulting thereof. When not in use, the 3D measuring device 100 can be put down with its front side to the bottom. Due to the concave curvature of the front side, on the 3D measuring device will only contact the surface at the ends of the arms 102a, 102b, 102c. In embodiments where the protective elements 105 are positioned at the ends of the arms 102a, 102b, 102c advantages are gained since the protective elements 105 will provide additional clearance with the surface. Furthermore, when the protective elements 105 are made from a soft material for example from rubber, this provides a desirable tactile feel for the user's hand. This soft material can optionally be attached to the housing 104, particularly to the handle part 104g. 
On the reverse side of the 3D measuring device 100, an control actuator or control knob 106 is arranged on the housing 104, by means of which at least optical scanning and measuring, i.e. the scanning process, can be started and stopped. The control knob 106 is arranged in the center of the housing 104 adjacent one end of the handle. The control knob 106 may be multi-functional and provide different functions based on a sequence of actions by the user. These actions may time based (e.g. multiple button pushed within a predetermined time), or space based (e.g. the button moved in a predetermined set of directions), or a combination of both. In one embodiment, the control knob 106 may be tilted in several directions in (e.g. left, right, up, down). In one embodiment, around the control knob 106 there are at least one status lamp 107. In one embodiment, there may be a plurality of status lamps 107. These status lamps 107 may be used to show the actual status of the 3D measuring device 100 and thus facilitate the operation thereof. The status lamps 107 can preferably show different colors (for example green or red) in order to distinguish several status′. The status lamps 107 may be light emitting diodes (LEDs).
On the carrying structure 102, spaced apart from each other at a defined distance, a first camera 111 is arranged on the left arm 102a (in the area of its end), and a second camera 112 is arranged on the right arm 102b (in the area of its end). The two cameras 111 and 112 are arranged on the reverse side of the carrying structure 102 and fixed thereto, wherein the carrying structure 102 is provided with apertures through which the respective camera 111, 112 can acquire images through the front side of the carrying structure 102. The two cameras 111, 112 are preferably surrounded by the connecting means for the floating connection of the housing 104 with the carrying structure 102.
Each of the cameras 111, 112 have a field of view associated therewith. The alignments of the first camera 111 and of the second camera 112 to each other are adjusted or adjustable in such a way that the fields of view overlap to allow stereoscopic images of the objects O. If the alignments are fixed, there is a desired predetermined overlapping range, depending on the application in which the 3D measuring device 100 is used. Depending on environment situations, also a range of several decimeters or meters may be desired. In another embodiment, the alignments of the cameras 111, 112 can be adjusted by the user, for example by pivoting the cameras 111, 112 in opposite directions. In one embodiment, the alignment of the cameras 111, 112 is tracked and therefore known to the 3D measuring device 100. In another embodiment, the alignment is initially at random (and unknown), and is then determined, such as be measuring the positions of the camera's for example, and thus known to the 3D measuring device 100. In still another embodiment, the alignment is set and fixed during manufacturing or calibration of the 3D measurement device 100. In embodiments where the first and second cameras 111, 112 are adjusted, a calibration may be performed in the field to determine the angles and positions of the cameras in the 3D measuring device 100. The types of calibrations that may be used are discussed further herein.
The first camera 111 and the second camera 112 are preferably monochrome, i.e. sensitive to a narrow wavelength range, for example by being provided with corresponding filters, which then filter out other wavelength ranges, including scattered light. This narrow wavelength range may also be within the infrared range. In order to obtain color information on the objects O, the 3D measuring device 100 preferably includes a 2D camera, such as color camera 113 which is preferably aligned symmetrically to the first camera 111 and to the second camera 112, and arranged in the center of the 3D measuring device 100, between the cameras 111, 112. The 2D camera 113 may include an image sensor that is sensitive to light in the visible wavelength range. The 2D camera 113 captures 2D images of the scene, i.e. the environment of the 3D measuring device 100, including the objects O therein included.
In order to illuminate the scene for the 2D camera, in the event of unfavorable lighting conditions, at least one, in the illustrated embodiment a light source, such as four (powerful) light-emitting diodes (LED) 114 are provided. One radiating element 115 is associated with each of the LEDs 114. The light emitted from the light-emitting diode 114 is deflected in correspondence with the alignment of the 3D measuring device 100, from the corresponding LED 114. Such a radiating element 115 can, for example, be a lens or an appropriately configured end of a light guide. The (in the illustrated embodiment four) radiating elements 115 are arranged equally around the color camera 113. Each LED 114 is connected with the assigned radiating element 115 by means of one light guide each. The LED 114 therefore can be structurally arranged at a control unit 118 of the 3D measuring device 100, such as by being fixed on a board thereof.
In order to later have a reference for the images recorded by the cameras 111, 112, 113, a sensor such as an inclinometer 119 is provided. In one embodiment, the inclinometer 119 is an acceleration sensor (with one or several sensitive axes), which is manufactured in a manner known per se, as MEMS (micro-electro-mechanical system). As inclinometer 119, also other embodiments and combinations are possible. The data of the 3D measuring device 100 each have (as one component) a gravitation direction provided by the inclinometer 119.
During operation images are recorded by the first camera 111 and by the second camera 112. From these images three-dimensional data can be determined, i.e. 3D-scans of the objects O can be produced, for example by means of photogrammetry. The objects O, however, may have few structures or features and many smooth surfaces. As a result, the generation of 3D-scans from the scattered light of the objects O is difficult.
To resolve this difficulty, a projector 121 may be used, which is arranged at the lower arm 102c (in the area of its end). The projector 121 is arranged within the interior space on the reverse side of the carrying structure 102 and fixed thereto. The carrying structure 102 is provided with an aperture through which the projector 121 can project a pattern of light through the front side of the carrying structure 102. In one embodiment, the projector 121 is surrounded by the connecting means to provide a floating connection between the housing 104 with the carrying structure 102. The projector 121, the first camera 111, and the second camera 112 are arranged in a triangular arrangement with respect to each other and aligned to the environment of the 3D measuring device 100. The projector 121 is aligned in correspondence with the two cameras 111, 112. The relative alignment between the cameras 111, 112 and the projector 121 is preset or can be set by the user.
In one embodiment, the cameras 111, 112 and the projector 121 form an equilateral triangle and have a common tilt angle. When arranged in this manner, and if the field of view of the cameras 111, 112 and the projector 121 are similar, the centers of the field of view will intersect at a common point at a particular distance from the scanner 100. This arrangement allows for a maximum amount of overlap to be obtained. In embodiments where the tilt or angle of the cameras 111, 112 and projector 121 may be adjusted, the distance or range to the intersection of the fields of view may be changed.
If the user places 3D measuring device 100 on a surface on its front side, i.e. with the front side to the surface, the concave curvature of the front side creates a gap between the cameras 111, 112, 113 and the projector 121 from the surface, so that the respective lenses are protected from damage.
The cameras 111, 112, 113, the projector 121, the control knob 106, the status lamps 107, the light-emitting diodes 114 and the inclinometer 119 are connected with the common control unit 118, which is arranged inside the housing 104. This control unit 118 can be part of a control and evaluation device which is integrated in the housing. In an embodiment, the control unit 118 is connected with a standardized communication interface at the housing 104, the interface being configured for a wireless connection (for example Bluetooth, WLAN, DECT) as an emitting and receiving unit, or for a cable connection (for example USB, LAN), if appropriate also as a defined interface, such as that described in DE 10 2009 010 465 B3, the contents of which are incorporated by reference herein. The communication interface is connected with an external control and evaluation device 122 (as a further component of the device for optically scanning and measuring an environment of the 3D measuring device 100), by means of said wireless connection or connection by cable. In the present case, the communication interface is configured for a connection by cable, wherein a cable 125 is plugged into the housing 104, for example at the lower end of the handle part 104g, so that the cable 125 extends in prolongation of the handle part 104g. 
The control and evaluation device 122 may include one or more processors 122a having memory. The processor 122a being configured to carry out the methods for operating and controlling the 3D measuring device 100 and evaluating and storing the measured data. The control and evaluation device 122 may be a portable computer (notebook) or a tablet (or smartphone) such as that shown in FIGS. 7 and 8, or any external or distal computer (e.g. in the web). The control and evaluation device 122 may also be configured in software for controlling the 3D measuring device 100 and for evaluating the measured data. However, the control and evaluation device 122 may be embodied in separate hardware, or it can be integrated into the 3D measuring device 100. The control and evaluation device 122 may also be a system of distributed components, at least one component integrated into the 3D measuring device 100 and one component externally. Accordingly, the processor(s) 122a for performing said methods may be embedded in the 3D measuring device 100 and/or in an external computer.
The projector 121 projects a pattern X, which it produces, for example by means of a diffractive optical element, on the objects O to be scanned. The pattern X does not need to be encoded (that is to say single-valued), but may be uncoded, for example periodically (i.e. multivalued). The multi-valuedness is resolved by the use of the two cameras 111, 112, combined with the available, exact knowledge of the shape and direction of the pattern. The uncoded pattern may, for example, be a projection of identical periodically spaced pattern elements (e.g. spots or lines of light). The correspondence between the projected pattern elements from the projector 121 and the pattern elements in the images on the photosensitive arrays of the cameras 111, 112 is determined through simultaneous epipolar constraints and using calibration parameters, as discussed further herein. The uniqueness in the correspondence of the points is achieved by the use of the two cameras 111 and 112, combined with the knowledge of the shape and direction of the pattern, the combined knowledge being obtained from a calibration of the 3D measuring device 100.
As used herein, the term “pattern element” should means the shape of an element of the pattern X, while the term “point” should indicate the position (of a pattern element or of something else) in 3D coordinates.
The uncoded pattern X (FIG. 1) is preferably a point pattern, comprising a regular arrangement of points in a grid. In the present invention, for example, approximately one hundred times one hundred points (10,000 points total) are projected over a field of view FOV (FIG. 9) at an angle of approximately 50° to a distance of approx. 0.5 m to 5 m. The pattern X can also be a line pattern or a combined pattern of points and lines, each of which is formed by tightly arranged light points. The first camera 111 comprises a first image plane B111, and the second camera 112 comprises a second image plane B112. The two cameras 111 and 112 receive at least a portion of the pattern X in their respective image planes B111 and B112, in which the photosensitive arrays (for example CMOS or CCD arrays) are arranged to capture a portion of the pattern X reflected from the object O.
There is a relationship between the point density, the distance between the projector 121 and the object O and the resolution that can be obtained with the produced pattern X. With diffractive pattern generation, the light of one source is distributed over the pattern. In that case the brightness of the pattern elements depends on the number of elements in the pattern when the total power of the light source is limited. Depending on the intensity of the light scattered from the objects and the intensity of background light it may be determined whether it is desirable to have fewer but brighter pattern elements. Fewer pattern elements means the acquired point density decreases. It therefore seems helpful to be able to generate, in addition to pattern X, at least one other pattern. Depending on the generation of the patterns, a dynamic transition between the patterns and/or a spatial intermingling is possible, in order to use the desired pattern for the current situation. In an embodiment, the projector 121 may produce the two patterns offset to each other with respect to time or in another wavelength range or with different intensity. The other pattern may be a pattern which deviates from pattern X, such as an uncoded pattern. In the illustrated embodiment the pattern is a point pattern with a regular arrangement of points having another distance (grid length) to each other.
In one embodiment, the pattern X is a monochromatic pattern. The pattern X may be produced by means of a diffractive optical element 124 in the projector 121. The diffractive optical element 124 converts a single beam of light from a light source 121a in FIG. 20 to a collection of collection of beams, each having lower optical power than the single beam. Each of the collection of beams traveling in a different direction to produce a spot when striking the object O. The light source 121a may be a laser, a superluminescent diode, or an LED, for example. In an embodiment, the wavelength of the light source 121a is in the infrared range. The lateral resolution is then limited only by the diameter and spacing of the spots of light in the projected pattern X. If the pattern X is in the infrared range, it is possible to capture the images of the object O and surrounding environment with the 2D camera 113 without interference from the pattern X. Similarly, if the pattern X is produced in the ultraviolet light wavelength range, the images acquired by the 2D camera 113 would not have interference from the pattern X.
In one embodiment, the projector 121 produces the pattern X on the objects O only during the time periods when the cameras 111, 112 (and if available 113) are recording images of the objects O. This provides advantages in energy efficiency and eye protection. The two cameras 111, 112 and the projector 121 are synchronized or coordinated with each other, with regard to both, time and the pattern X used. Each recording process starts by the projector 121 producing the pattern X, similar to a flash in photography, followed by the cameras 111, 112 (and, if available 113) acquiring pairs of images, in other words one image each from each of the two cameras 111, 112. As used herein, these pairs of images that are acquired at substantially the same time are referred to as “frames.” The recording process can comprise one single frame (shot), or a sequence of a plurality of frames (video). Such a shot or such a video is triggered by means of the control knob 106. After processing of the data, each frame then constitutes a 3D-scan consisting of a point cloud in the three-dimensional space. This point cloud is defined in the relative local coordinate system of the 3D measuring device 100.
The data furnished by the 3D measuring device 100 are processed in the control and evaluation device 122 to generate the 3D scans from the frames. The 3D scans in turn are joined or registered in a joint coordinate system. For registering, the known methods can be used, such as by identifying natural or artificial targets (i.e. recognizable structures) in overlapping areas of two 3D scans. Through identification of these targets, the assignment of the two 3D scans may be determined by means of corresponding pairs. A whole scene (a plurality of 3D scans) is thus gradually registered by the 3D measuring device 100. The control and evaluation device 122 is provided with a display 130 (display device), which is integrated or connected externally.
In the exemplary embodiment, the projector 121 is not collinear with the two cameras 111 and 112, but rather the camera's 111, 112 and projector 121 are arranged to form a triangle. As shown in FIG. 10, this triangular configuration enables the use of epipolar geometry based on mathematic methods of optics. The constraints of epipolar geometry provide that a point on the projector plane P121 of the projector 121 falls on a first epipolar line on the first image plane B111 and on a second epipolar line of the second image plane B112, the epipolar lines for each of the image planes B111 and B112 being determined by the relative geometry of the projector 121 and the two cameras 111 and 112. Further, a point on the first image plane B111 falls on an epipolar line of the projector plane P121 and on an epipolar line of the second image plane B112, the epipolar lines in the projector plane and second image plane being determined by the relative geometry of the projector 121 and cameras 111, 112. Further still, a point on the second image plane B112 falls on an epipolar line of the projector plane P121 and on an epipolar line of the first image plane B111, the epipolar lines in the projector plane and the first image plane being determined by the relative geometry of the projector 121 and cameras 111, 112. It can be seen that the use of at least two cameras and one projector provides sufficient epipolar constraints to enable a correspondence among points in the pattern X to be determined for the points on the image planes B111 and B112 and the projector plane P121, even though the projected pattern elements have no distinguishing characteristics, such as having an identical shape for example (an uncoded pattern).
In one embodiment, at least three units (e.g. projector 121 and the two cameras 111, 112) are used to generate the 3D scenes. This allows for unambiguous triangular relations of points and epipolar lines from which the correspondence of projections of the pattern (X) in the two image planes B111, B112 can be determined. Due to the additional stereo geometry relative to a pair of cameras, considerably more of the points of the pattern, which otherwise cannot be distinguished, can be identified on an epipolar line “e.” The density of features on the object O can thus simultaneously be high, and the size of the pattern X feature (e.g. the spot) can be kept very low. This contrasts with other methods that utilize encoded patterns where the size of the feature in the pattern has a lower limit based on the resolution of the projector, this size limitation in coded patterns limits the lateral resolution of the 3D scan. Once the correspondence among the points X on the projector 121 and cameras 111, 112 has been determined, the three-dimensional coordinates of the points on the surface of the object O may be determined for the 3D-scan data by means of triangulation.
Triangulation calculations may be performed between the two cameras 111, 112 based on the baseline distance between the two cameras 111, 112 and the relative angles of tilt of the two cameras 111, 112. Triangulation calculations may also be performed between the projector 121 and first camera 111 and between the projector 121 and the second camera 112. To perform these triangulation calculations, a baseline distance is needs to be determined between the projector 121 and the first camera 111 and another baseline distance is needs to be determined between the projector 121 and the second camera 112. In addition, the relative angles of tilt between the projector/first camera and projector/second camera is used.
In principle, any one of the three triangulation calculations is sufficient to determine 3D coordinates of the points X on the object O, and so the extra two triangulation relations provides redundant information (redundancies) that may be usefully employed to provide self-checking of measurement results and to provide self-calibration functionality as described further herein below. As used herein, the term “redundancy” refers to multiple determinations of 3D coordinates for a particular point or set of points on the object.
Additional three-dimensional data can be gained by means of photogrammetry methods by using several frames with different camera positions, for example from the 2D camera 113 or from a part of an image acquired by the cameras 111, 112. To perform photogrammetry calculations the objects viewed by the cameras 111, 112, 113 should be illuminated. Such illumination may be background illumination, such as from the sun or artificial lights for example. The background illumination may be provided by the 3D measuring device 100 or by another external light source. In an embodiment, the object is illuminated with light from LEDs 114. Illumination enables the two-dimensional cameras 111, 112, 113 to discern properties of the object such as color, contrast, and shadow, which facilitate identification of object features.
The measuring process may also have a temporal aspect. Typically, uncoded patterns were used with stationary devices to allow an entire sequence of patterns to be projected and images be captured in order to determine a single 3D-scan. In order for this 3D scan to be determined, both the scanner and the object needed to remain stationary relative to each other. In contrast, embodiments of the present invention generate one 3D-scan for each set of images acquired by the cameras 111, 112. In another embodiment (not shown), a second projector is arranged adjacent to the present projector 121 or a further diffractive optical element is provided. This second projector emits at least one second pattern on to the object O in addition to pattern X. In an embodiment having two projectors, it is possible to switch between the pattern X and the second pattern to capture with one set of images with the different patterns consecutively. Thus, the 3D-scan has a higher resolution by combining the evaluation results obtained from the different patterns.
In order to determine the coordinates of the entire object, the 3D-scans which are produced from the images acquired by the cameras 111, 112 need to be registered. In other words, the three-dimensional point clouds of each frame must be inserted into a common coordinate system. Registration is possible, for example, by videogrammetry, such as “structure from motion” (SFM) or “simultaneous localization and mapping” (SLAM) methods for example. The natural texture of the objects O may also be used for common points of reference. In one embodiment, a stationary pattern is projected and used for registration.
The data furnished by the 3D measuring device 100 is processed in the control and evaluation device 122 by generating 3D scans from the image frames. The 3D scans in turn are then joined or registered in a common coordinate system. As discussed above, registration methods know in the art may be used, such as by using natural or artificial targets (i.e. recognizable structures) for example. These targets can be localized and identified in order to determine the assignment or alignment of two different 3D scans relative to each other by means of corresponding pairs. The 3D scans (sometimes colloquially referred to as a “scene”) may then be gradually registered by the 3D measuring device 100. In the exemplary embodiment, the control and evaluation device 122 is provided with a display 130 (display device) to allow the user to review the 3D scans.
An embodiment is shown in FIG. 11 for the process of the optically scanning and measuring the environment of the 3D measuring device 100. In a first process block 201, the capturing of a pair of images for one frame are performed and the measured values are determined and recorded. In the exemplary embodiment, each image is a 2D array of values representing the voltages corresponding to the number of electrons in each pixel well.
The process then proceeds to a second process block 202, where the measured values are evaluated and the 3D-scan data are generated from the frame. In the second process block, the numbers are evaluated in combination with the known positions of the projected spots from the projector to determine the 3D coordinates of points on the object O. The distances for each of the pixels are obtained using the triangulation calculation (including the epipolar geometry calculation) and the two angles for each pixel are determined based on the location of the pixel and the camera geometry (lens focal length, pixel size, etc.).
The process then proceeds to a third process block 203 where multiple frames of 3D-scan data are registered in a common coordinate system. In one embodiment, videogrammetry information is obtained with the center color camera 113 to assist in the registration. In one embodiment, a representation of the 3D scan data is displayed and stored. Finally, the process proceeds to a fourth process block 204 where an auto-calibration is performed. In one embodiment, the auto-calibration performed in fourth process block 204 may occur simultaneously with the second process block 202 or may be performed sequentially therewith. As long as the operator continues operation to additional frames are acquired, such as by continuously pressing the control knob 106 for example, the process returns to the first process block 201.
In the second process block 202, images of particular points are selected in a frame for automatically determining correspondence. These selected points correspond to points on the object O, in particular to pattern elements (e.g. spots) of the pattern X. For each image of a selected point in the first image plane B111, the epipolar lines “e” are consecutively located in the second image plane B112 and in the projector plane P121. This procedure for locating the epipolar lines “e” is repeated for images of points in the second image plane B112 and for images of points in the projector plane P121. These multiple epipolar constraints enable the determination of one-to-one correspondence in each of the three planes between the projected and received pattern elements (e.g., identical spots). As shown in FIG. 10, the point X0 (of the pattern X on the object O) is visible on all three planes B111, B112, P121, and its image is on two epipolar lines “e” on each plane. The point X0 is the intersection point of three straight lines, a light beam of the projector 121, and each one light beam of the two cameras 111, 112. The point X0 can thus be identified unambiguously, if the density of the points of the pattern X is sufficiently low.
Auto-calibration performed in block 204 takes place automatically and does not require the use of external calibration objects. Starting with the initial calibration and later with the currently used calibration, the frames are examined for inconsistencies in terms of space (inconsistencies of geometry) and time (parameters change over time), in order to correct calibration, if appropriate. The inconsistencies can have thermal causes, such as due to an increase of operating temperature for example. The inconsistencies may also have mechanical causes, such as a mechanical shock caused by the 3D measuring device 100 striking a surface or the floor for example. These inconsistencies may manifest through deviations in measured positions, angles and other geometrical features of e.g. points on the objects or in the planes B111, B112, P121.
The calibration parameters which may be corrected may be extrinsic parameters, intrinsic parameters, and operating parameters. Extrinsic parameters for each unit (cameras 111, 112, 113 and projector 121) include the six degrees of freedom of rigid bodies, i.e. three positions and three angles. Particularly relevant is the relative geometry between the cameras 111, 112, 113 and the projector 131, such as the relative distances and relative angles of their alignments for example. Intrinsic parameters may be related to camera or projector device features such as but not limited to the focal length, position of principal point, distortion parameters, centering of the photosensitive array or MEMS projector array, scale of the array in each direction, rotation of the array relative to the local coordinate system of the 3D measuring device 100, and aberration correction coefficients for the camera or projector lens system. Operating parameters may be the wavelength of the light source 121a, the temperature and the humidity of the air.
With respect to FIG. 10, an inconsistency may be a deviation Δ of the actual position of the point X0 with respect to its expected theoretical position in one of the three planes.
As explained herein above, epipolar constraints are solved simultaneously to determine the correspondence of projected and imaged pattern elements (i.e. their images) on the two cameras 111, 112 and one projector 121. Some redundant information (redundancies) from these simultaneous equations is available to reveal inconsistencies in the correspondences.
In addition, as explained herein above, three separate triangulation calculations may be performed to obtain three sets of 3D coordinates. These three triangulation calculations are: 1) between the first and second cameras 111, 112 (stereo cameras); 2) between the projector 121 and first camera 111; and 3) between the projector 121 and second camera 112. The 3D coordinates obtained from the three different triangulation calculations may be compared and, if inconsistencies are seen, changes may be made to the calibration parameters. This provides a first method to perform auto-calibration.
FIG. 12 shows a simplified situation of the inconsistency with two units U1, U2. The units U1, U2 may be either between the two cameras 111, 112 or between the projector 121 and one of the cameras 111, 112 for example. Each unit U1, U2 comprises a plane, in which points may be selected. The two epipolar lines “e” are common for both planes. A selected point 236 in the plane of unit U1 is corresponding to a point 216 in the plane of unit U2. It should be appreciated that both points 216, 236 are the images of a real point on the object O. The correspondence may be detected, such as when the point 216, 236 is the image of a spot of the pattern X on the object O for example. In one embodiment, the “spot” on the object O is illuminated and adjacent area is dark or darker than the illuminated point. However, when the distance of the point 216, 236 perpendicular to the epipolar lines “e” is not the same in both planes, but a deviation Δ occurs, i.e. a deviation Δ between the position of the point 216 and an expected position 218.
In general, the deviation Δ is a vector. In an embodiment having two units U1, U2, such as the projector 121 and camera 111 for example, only the component of the deviation Δ perpendicular to the epipolar lines “e” is known. The component parallel to the epipolar lines “e” vanishes when determining the 3D coordinates. In an embodiment having more than two units, such as the projector 121 and both cameras 111, 112 for example, the components of deviation Δ in both dimensions of the planes may be determined due to the redundant measurements (redundancies in detecting deviations and in determining 3D coordinates). Having deviations Δ for several selected points, all determined deviations Δ may be drawn into a map shown in FIG. 13, the sometimes referred to as an error field. In case of only two units, only one component of each deviation Δ can be drawn into the error field. Where an inconsistency is due to a single cause or reason, the error field is typical for a certain type of inconsistency. FIG. 13 illustrates an example of an error field that is generated by the rotation of the first camera 111 about the direction of view, such as when the calibration parameter for the roll angle of the first camera 111 is incorrect.
Referring now to FIGS. 14-18, the deviations Δ are now described with respect to epipolar constraints. In general, there are two possibilities for the involved units (cameras and projectors). One possibility is that one of the units U1, U2 is a camera and the other is a projector. The other possibility is that both units U1, U2 are cameras. It should be appreciated that the use of a single projector and two cameras is for exemplary purposes and the claimed invention should not be so limited. In other embodiments additional projectors or cameras may be used. Having three of more units (for example, having two cameras and one projector) gives additional capability in automatically determining calibration parameters, as discussed in more detail herein.
Each of the units U1, U2 has an origin point sometimes referred to as the perspective center point O1, O2 or center of projection. This point represents a point through which all rays pass out of the unit (for a projector) or into the unit (for a camera). It should be appreciated that in an actual device, not all of the rays pass through the perspective center points, however corrections may be made in software to the calibration parameters of the camera system to bring the corrected rays through these points. The two perspective center points O1, O2 define the baseline distance 208 between the units U1, U2.
Each of the units U1, U2 also has a plane 210, 230 in which images are formed. In a projector, this plane is known as the projector plane P121 and, in a camera, it is known as an image plane B111, B112. Typically, in an actual projector or camera, the projector plane P121 or image plane B111, B112 is behind the perspective center O1, O2 rather than in front of it as illustrated in FIG. 14. In most cases, a hardware device such as a photosensitive array (in a camera) or a pattern generator (in a projector) is placed at the position of the plane behind the perspective center. However, it should be appreciated that the position of the planes in front of the perspective centers as shown in FIG. 14 is mathematically equivalent to the planes being positioned on the other side of the perspective centers.
The perspective centers O1, O2 are separated by a baseline distance B. The baseline 208 that connects the perspective centers O1, O2 intersects the planes 230, 210 in points E1, E2. The points of intersection are referred to as epipolar points, also known as epipoles. A line drawn through one of the epipoles on a corresponding plane is referred to as an epipolar line. For the case of the plane 210 and corresponding epipole E2, the epipolar line is 212. A point P1 on the plane 230 lies on the epipolar line 212.
As explained above, each ray such as ray 232 passes through a perspective center point O1 to arrive at a plane such as 230 in which images are formed. If the plane 230 is a projector plane, then the point P1 is projected onto an object at a point such as PA, PB, PC, or PD, depending on the distance to the object. These points PA, PB, PC, PD, which share the common ray 232, fall onto the epipolar line 212 at corresponding points QA, QB, QC, or QD on unit U2, which in this example is a camera. The ray 232 and the epipolar line 212 are both on the plane that includes the points O1, O2, and PD. If the plane 230 is a camera plane rather than a projector plane, then the point P1 received by the camera image plane may arrive from any point on the epipolar line 212, for example, from any of the points QA, QB, QC, or QD.
FIG. 15 shows an epipolar line 234 on the plane 230 of unit U1 in addition to the epipolar line 212 of the plane 210 of unit U1. Any point V1 (and WA, WB, WC) on the epipolar line 212 must have a corresponding point (image or projection point) UA, UB, UC, UD on the epipolar line 234. Similarly, any point UA, UB, UC, UD on the epipolar line 234 must have a corresponding point WA, WB, WC, V1 on the epipolar line 212. The set of points 240 represent points, e.g. VA, VB, VC, VD, in space that may intersect with an object O.
A 3D measuring device 100 is self-calibrating or auto-calibrating if, in the routine performance of measurements by the 3D measuring device 100, the measurement results are also used to obtain corrected calibration parameters (i.e. a corrected calibration). In an embodiment of the present invention, the first step to obtain corrected new calibration parameters is to detect inconsistencies in the positions of images of selected points on projection or image planes in relation to the positions expected based on epipolar constraints.
An example of such an inconsistency is shown in FIG. 16. A point 236 on the plane 230 intersects an object at the point 238. According to epipolar geometrical constraints, the point 238 should appear on the epipolar line 212 and specifically at the point 218. In this case, the actual point was observed at the position 216. In general, with only two planes 210, 230, all that is known is that, for a point 236 that falls on the epipolar line 234, a corresponding point should fall on the epipolar line 212. That the point 216 does not fall on the epipolar line 212 indicates that there is a problem with the calibration parameters, although whether the calibration parameter(s) at fault is an extrinsic parameter, intrinsic parameter, or operating parameter is difficult to say based on an observation of a single point 216.
FIG. 16 shows some errors that may be seen in extrinsic calibration parameters. One type of error that may be seen is in the baseline 208, not only the baseline distance B, but also the specific position of the perspective centers O1, O2. In other words in the coordinates of the perspective center points along the direction of the nominal baseline 208 (error 252) and in a direction perpendicular to the direction of the nominal baseline 208 (error 254). Another possible extrinsic error is in the angular orientation of unit U1 or unit U2. One way to characterize the orientation is in terms of a pitch angle 256 about an axis 255 and a yaw angle 258 about an axis 257. If the calibration parameters for the pitch and yaw angles of the planes 230 and 210 are incorrect, the points on the planes will not correspond to the expected positions based on epipolar geometrical constraints. Unit U1 and unit U2 may also have incorrect calibration parameters for the roll angle of the camera or projector. Such errors may be detected and corrected in an auto-calibration procedure as discussed further herein. The roll angle calibration parameter is sometimes considered to be an intrinsic calibration parameter rather than an extrinsic parameter.
FIG. 17 and FIG. 18 illustrate how a pattern of points on a plane such as planes 210, 230 can be used to identify and correct calibration parameter errors. The rectangular region 300 represents a projector or image plane such as the plane 210, 230. The solid lines 302 represent epipolar lines that converge in an epipole K. The dashed lines 304, 306 in FIG. 17 and FIG. 18 represent the apparent epipolar lines based on the current calibration parameters. In FIG. 17, the measured points converge to the epipole point K but the calibration parameters incorrectly indicate that the points converge to a point J. This type of error might be caused by a misplacement of the baseline position of the unit, for example. In FIG. 18, the epipolar lines are rotated relative to epipolar lines determined from the calibration parameters. This rotation 308 might result, for example, from an error in a calibration parameter associated with the orientation of the unit U1 or unit U2, for example, an error in the pitch angle, yaw angle, or roll angle.
If deviations are too large, difficulties in finding the correspondences of a point X0 might occur in simultaneously solving the epipolar constraints. In an embodiment, the pattern X consists of a large number (e.g. 10,000) of spots with a low optical intensity and a smaller number (e.g. 1,000) of spots with a high optical intensity. With this variation in optical intensities, the 3D measuring device 100 may recognize objects having surfaces with high or low reflectance. If difficulties in finding the correspondences occur, it is possible to space the spots projected in the pattern X farther apart to reduce ambiguity in determining correspondences during the fourth process block. In the embodiment having the variation in optical intensities, the spots with the lower intensity, can be filtered out or at least be reduced by reducing the exposure times and/or reducing the total power of the projector 121. In this instance, only the spots with high optical intensity (which have a higher spacing) are visible on the cameras 111, 112. This reduces the ambiguities in determining correspondences.
For fully and correctly determining the calibration parameters, it is advantageous to use the whole volume around the 3D measuring device 100 for measurements, in particular to use the depth information for determining the extrinsic parameters. As an example, FIG. 19 shows (schematically), how the relative geometry of the two cameras 111 and 112 is verified. For this purpose, the two points X1, X2 are selected with a different distance to the 3D measuring device 100 (i.e. with a different depth). With each of the points X1 or X2 and the former calibration, it can be verified whether the cameras 111 and 112 still provide consistent results. If an inconsistency occurs due to a deviation of the relative distance or of the relative alignment of the two cameras 111 and 112, it is possible to distinguish between the two kinds of error with the two different distances. Due to the high mechanical and thermal stability of the carrying structure 102, thermal deformations of the 3D measuring device 100 or deformations thereof caused by a mechanical shock would be unusual, but may occur at the mounting means of the cameras 111, 112, 113 and of the projector 121 for example. A verification of the calibration after switching initiating operation of the 3D measuring device 100 and after long intervals in terms of time is sufficient in most cases, such as after the acquisition of twenty to one hundred frames for example.
The calibration parameters may be amended according to the determined deviations Δ, for example deviations detected by means of the selected points X0, X1 or X2 may be compensated. Using the redundancies in measuring the 3D coordinates of the points, new calibration parameters may be determined. For example, the calibration parameters may be changed (corrected) according to an optimization strategy until the deviations Δ are minimized or are less than a predetermined threshold. The new calibration parameters are compared with the currently used calibration parameters and replace them, if appropriate, i.e. if the deviation between the (corrected) new calibration parameters and the currently used calibration parameters exceeds a given threshold. Thus the calibration is corrected. It should be appreciated that many of the deviations due to mechanical issues are single events and may be fixed by a permanent correction of the calibration parameters, in particular the extrinsic or intrinsic parameters.
Errors related to deviations in the operating parameters of the projector 121 may be determined much faster than deviations in the extrinsic parameters or intrinsic parameters. In an embodiment, an operating parameter to be checked is the wavelength of the light source 121a. The wavelength can change due to the warming up of the light source 121a or changes in the pump current for example. An embodiment is shown in FIG. 20 (schematically). The pattern X generated by the diffractive element 124 changes in scale with the change in wavelength. As shown in the error field of FIG. 21, in the center of the pattern X, such as the position with the zeroth order of diffraction of the laser beam, there is no deviation in the position of the central pattern element if the wavelength changes. The deviations Δ appear at locations with higher orders of diffraction, such as in the more peripheral pattern elements for example, as a shift in position. Such a shift in position of individual diffraction of the pattern elements can be recognized with a single camera 111 or 112.
If position and alignment of the 3D measuring device 100 (and consequently of the projector 121) relative to the object O remain unchanged, a selected point on the object O moves from a point with theoretical coordinates X1 (i.e. the coordinates determined by means of the latest used calibration) in the 3D scan to a point with actual coordinates X2 which differ therefrom. In other words an expected point X1 becomes an actual point X2. Using the depth information, as described above in relation to FIG. 19, the actual 3D coordinates of the selected point X2 may be determined from the frames of each single shot. In the event of a deviation Δ of the actual coordinates of point X2 from the theoretical coordinates X1 of the selected point, a change of the wavelength is detected. The new wavelength is determined from the size of the deviation Δ. In another embodiment, two frames captured at different times are compared to detect a deviation of the actual coordinates of the selected point X2 from theoretical coordinates X1.
If a change of the wavelength is observed, actions to counter the change can be taken or calibration can be corrected, if appropriate. Correction of calibration can be made by replacing the wavelength of the calibration by the new wavelength detected. In other words, the calibration parameter of the wavelength is changed. Actions to counter the change may include, for example, cooling the laser (if the light source 121a is a laser) or reducing the pump current, to return the wavelength to its unchanged (i.e. original) value. By applying feedback in a control loop to the pump current or to the laser cooling, the wavelength of the laser can be stabilized.
Some light sources 121a may drift in wavelength when no control system is used. In these embodiments, broad optical bandpass filters might be used to cover the range of possible wavelengths. However, broad optical filters may pass more undesired ambient light, which may be an issue when working outdoors. Therefore in some applications a wavelength control system is desirable. It should be appreciated that the embodiments described herein of directly observing a change in wavelength provides advantages in simplifying a wavelength control systems, which ordinarily require stabilization of both temperature and current.
Some types of semiconductor lasers such as Fabry Perot (FP) lasers emit a single spatial mode but may support multiple longitudinal modes, where each longitudinal mode having a slightly different frequency. In some cases, current may be adjusted to switch between operation with single or multiple longitudinal modes. The number of longitudinal modes of the laser may be an operating parameter of the projector 121. Ordinarily, one single wavelength is desired as this produces a single well defined pattern X. If two wavelengths are produced by the laser, the second wavelength produces a type of shadow in the desired pattern X. The result can be described with reference to FIG. 20. Depending on the difference in the wavelengths of the multiple longitudinal modes, a circular point may become an elliptical or a barbell shape or a point pair X1, X2. These deviations can be detected by applying image processing to the received pattern X. If multiple modes are observed, pump current or cooling may be adjusted to reduce the number of longitudinal modes to one.
Deviations in the intrinsic parameters of the cameras 111 and 112, for example focal length, may in some cases be automatically recognized and be compensated for. In other instances, deviations in intrinsic parameters may arise, not from thermal or mechanical causes, but due to deliberate actions by the operator or through the operation of the 3D measuring device 100. These actions may include a change in the optics of the cameras 111, 112, or by focusing or zooming (e.g. magnifying or increasing scale) the cameras 111, 112 for example.
An additional possibility of verifying calibration results is to combine the 3D scan data based on triangulation with 2D images captured by the 2D camera 113. These 2D images normally comprise colors and other features of the object O. In one embodiment, the projector 121 and the two cameras 111 and 112 are synchronized with the camera 113 to capture frames of the object O synchronously. In this embodiment, the projector 121 projects infrared light received by the cameras 111, 112 through infrared filters, while the camera 113 receives an image of the object O though a filter that blocks infrared light wavelengths and therefore pattern X. Thus the camera 113 receives a clear image of the features of the object O. By comparing object features observed by the cameras 111, 112 to those observed by the camera 113, errors in the calibration parameters of the triangulation system that includes elements 111, 112, and 121 may be determined. The method used to determine errors in the calibration parameters is similar to that described here, such as the 2D camera 113 being regarded as one of the units U1, U2 for example. Correspondences are detected in the captured frames and 3D-coordinates of the selected object features are determined. Due to the redundancies in determining the 3D coordinates, new calibration parameters may be determined, which are compared with the currently used calibration parameters. If the difference between the current calibration parameters and the new calibration parameters exceeds a threshold, the new calibration parameters replace the currently used ones.
In another embodiment, the light received by camera 113 is not filtered to exclude infrared light. Rather, in this embodiment, the camera 113 capable of detecting and acquiring an image of the pattern X if present on the object O. The camera 113 may then operate in either of two modes. In a first mode, the camera 113 collects images temporally in between pulsed projections of the pattern X by the projector 121. In this mode, the camera 113 captures images of features that may be compared to the features calculated by the triangulation system that includes 111, 112, and 121 to determine errors in the calibration parameters. In a second mode, the camera 113 acquires images when the pattern X is projected onto the object O. In this case, errors in the relative alignment of the six degrees-of-freedom of the camera 113 to the triangulation elements 111, 112, and 121 may be determined.
For the case in which the images acquired by the 2D camera 113 are received between image frames of cameras 111, 112, an interpolation of 3D and 2D coordinate data may be made to account for the interleaving of images. Such interpolations may be mathematical. In one embodiment the interpolations may be based at least in part on a Kalman filter calculation. In an embodiment, the 3D measuring device 100 is provided with an inertial measurement unit (or another position tracking device). The inertial measurement unit measures accelerations in the three directions of space with three sensors (accelerometers) and, with three further sensors (gyroscopes), the angular velocities around three coordinate axes. Movements can thus be measured on short time scales. These movement measurements allow for a compensating offset in terms of time between distance measured by the projector and cameras 111, 112 and the image acquired by the 2D camera 113. This compensating offset allows for the combination of the data.
It should be appreciated that if deviations cannot be compensated for, such as due to their extent or to their frequent change for example, then no automatic correction of the latest calibration may be performed. In an embodiment, when the auto-calibration is not performed, the deviations may be defined and displayed on the display 130 to alert the operator of an issue with the calibration to further action may be taken. In the exemplary embodiment, the 2D camera 113 continuously captures 2D images, which result in a current video live image VL (video live image).
One embodiment of the display 130 shown in FIG. 7 illustrates a subdivided image or subdivided screen. In this embodiment, the display 130 is divided into a first display part 130a and a second display part 130b. In the present embodiment, the first display part 130a is a (rectangular) central part of the display 130, and the second display part 130b is a peripheral area around the first display part 130a. In another embodiment, the two display parts may be columns. In the illustrated embodiment, the first display part 130a is shown as having a rectangular shape, however this is for exemplary purposes and the claimed invention should not be so limited. In other embodiments, the first display part 130a may have other shapes, including but not limited to circular, square, trapezoid, trapezium, parallelogram, oval, triangular, or a polygon having any number of sides. In one embodiment, the shape of the first display part 130a is user defined or selectable.
In the first display part 130a the video live image VL is displayed, such as that captured by 2D camera 113 for example. In the second display part 130b, an image of the latest 3D scan (or a plurality of 3D scans that have been registered) is displayed as at least part of a view of the three-dimensional point cloud 3DP. The size of the first display part 130a may be variable, and the second display part 130b is arranged in the area between the first display part 130a and the border 131 of the display 130. As video live image VL changes, such as when the user moves the device 100, the image of the three-dimensional point cloud 3DP changes correspondingly to reflect the change in position and orientation of the device 100.
It should be appreciated that the placement of the image of the three-dimensional point cloud 3DP around the periphery of the video live image VL provides advantages in allowing the user to easily see where additional scanning may be required without taking their eyes off of the display 130. In addition it may be desirable for the user to determine if the computational alignment of the current camera position to the already acquired 3D data is within a desired specification. If the alignment is outside of specification, it would be noticed as discontinuities at the border between the image and the three-dimensional point cloud 3DP.
The image acquired by the camera 113 is a two-dimensional (2D) image of the scene. A 2D image that is rendered into a three-dimensional view will typically include a pincushion-shaped or barrel-shaped distortion depending on the type of optical lens used in the camera. Generally, where the field of view (FOV) of the camera 113 is small (e.g. about 40 degrees), the distortion is not readily apparent to the user. Similarly, the image of the three-dimensional point cloud data may appear distorted depending on how the image is processed for the display. The point cloud data 3DP may be viewed as a planar view where the image is obtained in the native coordinate system of the scanner (e.g. a spherical coordinate system) and mapped onto a plane. In a planar view, straight lines appear to be curved. Further, the image near the center-top and center-bottom edges (e.g. the poles) may be distorted relative to a line extending along the midpoint of the image (e.g. the equator). Further, there may also be distortions created by trying to represent a spherical surface on a rectangular grid (similar to the Mercator projection problem).
It should be appreciated that it is desired to have the images within the first display part 130a appear to be similar to that in the second display part 130b to provide a continuous and seamless image experience for the user. If the image of three-dimensional point cloud 3DP is significantly distorted, it may make it difficult for the user to determine which areas could use additional scanning. Since the planar image of the point cloud data 3DP could be distorted relative to the 2D camera image, one or more processing steps may be performed on the image generated from the point cloud data 3DP. In one embodiment, the field of view (FOV) of the second display part 130b is limited so that only the central portion of the planar image is shown. In other words, the image is truncated or cropped to remove the highly distorted portions of the image. Where the FOV is small (e.g. less 120 degrees), the distortion is limited and the planar view of the point cloud data 3DP will appear as desired to the user. In one embodiment, the planar view is processed to scale and shift the planar image to provide to match the camera 113 image in the first display part 130a. 
In another embodiment, the three-dimensional point cloud data 3DP is processed to generate a panoramic image. As used herein, the term panoramic refers to a display in which angular movement is possible about a point in space (generally the location of the user). A panoramic view does not incur the distortions at the poles as is the case with a planar view. The panoramic view may be a spherical panorama that includes 360 degrees in the azimuth direction and +/−45 degrees ion the zenith. In one embodiment the spherical panoramic view may be only a portion of a sphere.
In another embodiment, the point cloud data 3DP may be processed to generate a 3D display. A 3D display refers to a display in which provision is made to enable not only rotation about a fixed point, but also translational movement from point to point in space. This provides advantages in allowing the user to move about the environment and provide a continuous and seamless display between the first display part 130a and the second display part 130b. 
In one embodiment, the video live image VL in the first display part 130a and the image of the three-dimensional point cloud 3DP in the second display part 130b match together seamlessly and continuously (with respect to the displayed contents). A part of the three-dimensional point cloud 3DP is first selected (by the control and evaluation device 122) in such a way, as it is regarded from the perspective of the 2D camera 113 or at least from a position aligned with the 2D camera 113. Then, the selected part of the three-dimensional point cloud 3DP is selected in such a way that it adjoins continuously the video live image VL. In other words, the displayed image of the three-dimensional point cloud 3DP becomes a continuation of the video live image VL for the areas beyond the field of view of the 2D camera 113 on the left, on the right, top and bottom relative to the field of view of the 2D camera). As discussed above, the selected portion of the three-dimensional point cloud 3DP may be processed to reduce or eliminate distortions. In other embodiments, the representation may correspond to the representation of a fish-eye lens, but preferably it is undistorted. The part of the three-dimensional point cloud 3DP which is located in the area occupied by the first display part 130a, in other words the portion beneath or hidden by the video live image VL, is not displayed.
It should be appreciated that the density of the points in the three-dimensional point cloud 3DP in the area where the first display part 130a is located will not be visible to the user. Normally, the video live image VL is displayed using the natural coloring. However, in order to indicate the density of the points in the area covered/behind by the video live image VL, the coloring of the video live image VL may be changed artificially such as by overlaying for example. In this embodiment, the artificial color (and, if appropriate, the intensity) used for representing the artificially colored video live image VL corresponds to the density of the points. For example, a green coloring to the video live image VL may indicate a (sufficiently) high density while a yellow coloring may be used to indicate a medium or low point density (e.g. areas which still the scan data can be improved). In another embodiment, the distant-depending precision of the data points could be displayed using this color-coding.
To support the registration of the 3D scans, flags or marks 133 (FIG. 7) may be inserted in the first display part 130a to indicate structures (i.e. possible targets) recognized by the control and evaluation device 122. The marks 133 may be a symbol, such as a small “x” or “+” for example. The recognizable structures can be points, corners, edges or textures of objects. The recognizable structures may be found by the latest 3D scan or the video live image VL being subjected to the beginning of the registering process (i.e. to the localization of targets). The use of the latest video live image VL provides advantages in that the registration process does not have to be performed as frequently. If the marks 133 have a high density, it is considered to be a successful registration of the 3D scans. If, however, a lower density of the marks 133 is recognized, additional 3D scans may be performed using a relatively slow movement of the 3D measuring device 100. By slowing the movement of the device 100 during the scan, additional or higher density points may be acquired. Correspondingly, the density of the marks 133 may be used as a qualitative measure for the success of the registration. Similarly, the density of the points of the three-dimensional point cloud 3DP may be used to indicate a successful scan. As discussed above, the density of points in the scan may be represented by the artificial coloring of the video live image VL.
The movement of the 3D measuring device 100 and processing of the captured frames may also be performed by a tracking function, i.e. the 3D measuring device 100 tracks the relative movement of its environment with the methods used during tracking. If tracking gets lost, for example, if the 3D measuring device 100 has been moved too fast, there is a simple possibility of reassuming tracking. In this embodiment, the video live image VL as it is provided by the 2D camera 113 and the last video still image from tracking provided by it may be represented adjacent to each other in a side by side arrangement on the display 130 for the user. The user may then move the 3D measuring device 100 until the two video images coincide.
In one embodiment, the 3D measuring device 100 may be controlled based on movements of the device 100. These movements or gestures by the user can also be used for controlling the representation of the video image VL or of the three-dimensional point cloud 3DP. In one embodiment, the scale of representation of the video image VL and/or of the three-dimensional point cloud 3DP on the display 130 may depend on the speed and/or acceleration of the movement of the 3D measuring device 100. The term “scale” is defined as the ratio between the size (either linear dimension or area) of the first display part 130a and the size of the complete display 130, being denoted as a percentage.
A small field of view of the 2D camera 113 is assigned to a small scale. In the present embodiment with a subdivided display 130 with a central first display part 130a showing the video live image VL, this first display part 130a then may be of smaller size than in the standard case, and the second display part 130b (about the periphery of the first display part 130a) shows a bigger part of the three-dimensional point cloud 3DP. A larger field of view is assigned to a large scale. In one embodiment, the video live image VL may fill the whole display 130.
In the event of high speeds of movement of the 3D measuring device 100 are detected, the scale of the representation may be configured smaller than with low speeds and vice versa. Similarly, this may apply to accelerations of the movement of the 3D measuring device 100. For example, the scale of the displayed image is reduced in the case of positive accelerations, and the scale is increased in the case of negative accelerations. The scale may also depend on a component of the speed and/or acceleration of the movement of the 3D measuring device 100, for example on a component which is arranged perpendicular or parallel to the alignment of the 3D measuring device 100. If the scale is determined based on a component of the movement, parallel to the alignment (i.e. in the direction of the alignment), the scale can also be made dependent on the change of an average distance to objects O from the 3D measuring device 100.
In some embodiments, the change of the scale due to movement, a standstill of the movement of the 3D measuring device 100 or a threshold speed of movement value not being achieved can be used to record a sequence of still images of the camera 113 with a low dynamic range. These images may be captured at low dynamic range but with different exposure times or illumination intensities within the sequence to generate a high dynamic range image therefrom.
In some embodiments, the direction of gravity may be defined at the beginning of the registration process by a defined movement of the 3D measuring device 100. This defined movement is carried out by the user by moving the device 100 in a vertical upward and downward movement for example. In other embodiments, the direction of gravity may be determined from a set of statistics of all movements during the registration process. A plane may be averaged from the coordinates of the positions taken by the device 100 while recording process along a path of movement through space. It is assumed that the averaged plane is located horizontally in space, meaning that the direction of gravity is perpendicular to it. As a result, the use of inclinometer 119 for determining the direction of gravity may be avoided.
The evaluation of the coordinates of the positions may also be used for determining the kind of scene and, if appropriate, to offer different representations or operating possibilities. A path of movement around a center location (with an alignment of the 3D measuring device 100 oriented towards the interior), suggests an image of a single object O (object-centered image). Similarly, a path of movement that orients the device 100 towards the outside (and particularly longer straight sections of the path of movements) makes reference to an image of rooms. Thus, where it is determined that a room is being scanned, an image of a floor plan (top view) may be inserted into the display 130.
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.

## Claims

1. Method for optically scanning and measuring an environment, the method comprising:
providing a three-dimensional (3D) measurement device having a first camera, a second camera and a projector, the 3D measurement device further having a control and evaluation device operably coupled to the at least one camera and the projector, the control and evaluation device having memory;
emitting a light pattern onto an object with the projector, the light pattern including a plurality of pattern elements;
recording a first image of the light pattern with the first camera at a first time;
recording a second image of the light pattern with the second camera at the first time;
producing a 3D scan of the object based at least in part on the first image and the second image;
selecting at least one pattern element in the first image and the second image;
determining a first 3D coordinates of the at least one pattern element in the first image based at least in part on a first set of calibration parameters;
determining a second 3D coordinates of the at least one pattern element in the second image based at least in part on a first calibration parameter, the first calibration parameter including at least one of an extrinsic calibration parameter, an intrinsic calibration parameter and an operational calibration parameters;
determining a deviation based at least in part on the first 3D coordinates and the second 3D coordinates;
determining a second calibration parameter based at least in part on the deviation; and
storing the second calibration parameter in memory.

2. The method of claim 1, wherein:
the determination of the first 3D coordinates includes:
determining a second 3D coordinate based at least in part on a triangulation calculation between the first camera and the second camera;
determining a third 3D coordinate based at least in part on a triangulation calculation between the first camera and the projector;
determining a fourth 3D coordinate based at least in part on a triangulation calculation between the second camera and the projector; and

the determination of the deviation comparing the second 3D coordinate, the third 3D coordinate and the fourth 3D coordinate.

3. The method of claim 1, further comprising generating an error field of the at least one pattern element, and wherein the deviation is a vector.

4. The method of claim 1, wherein the first calibration parameter includes an extrinsic calibration parameter, the extrinsic calibration parameter including at least one parameter selected from a group comprising: a baseline distance calibration parameter; an angular orientation calibration parameter; a pitch angle calibration parameter; a yaw angle calibration parameter; and a roll angle calibration parameter.

5. The method of claim 1, wherein light pattern includes a first portion having a first optical intensity and a second portion having a second optical intensity, the first optical intensity being less than the second optical intensity.

6. The method of claim 5, further comprising filtering the first portion from the first image and the second image.

7. The method of claim 6, wherein the filtering of the first portion includes reducing the exposure time of the first camera and the second camera.

8. The method of claim 6, wherein the filtering of the first portion includes reducing the total power of the projector.

9. The method of claim 6, wherein the first portion has a first number of pattern elements and the second portion has a second number of pattern elements, the first number being larger than the second number.

10. The method of claim 1, wherein the determination of the deviation is performed on a periodic basis.

11. The method of claim 10, wherein the periodic basis is every 20-200 image acquisitions by the first camera and second camera.

12. The method of claim 1, further comprising comparing the deviation to a threshold.

13. The method of claim 12, wherein the determination of the second calibration parameter is performed on an iterative basis until the deviation is less than the threshold.

14. The method of claim 1, wherein the projector includes a light source that selectively emits during operation multiple longitudinal modes, each longitudinal mode having a different frequency.

15. The method of claim 14, wherein the emitting of the light pattern further comprises:
emitting a first light pattern with the light source operating at a first longitudinal mode;
recording a third image of the first light pattern;
emitting a second light pattern with the light source operating at a second longitudinal mode;
recording a fourth image of the first light pattern; and
wherein the determination of the deviation includes using image analysis to determine a difference in the shape of the at least one pattern element between the third image and the fourth image.

16. The method of claim 15, wherein the light source is a laser light source.

17. The method of claim 16, further comprising changing at least one of a pump current or a cooling setting of the laser light source when the shape of the at least one pattern element changes between the third image and the fourth image.

18. The method of claim 16, wherein the laser light source is a Fabry Perot laser.

19. The method of claim 1, further comprising transmitting an alert to an operator based on the deviation being greater than a threshold after storing the second calibration parameter.

20. The method of claim 1, further comprising transmitting an alert to an operator based on a frequency of the deviation being greater than a threshold.