Abstract:
A method to compensate for multi-path in time-of-flight (TOF) three dimensional (3D) cameras applies different modulation frequencies in order to calculate/estimate the error vector. Multi-path in 3D TOF cameras might be caused by one of the two following sources: stray light artifacts in the TOF camera systems and multiple reflections in the scene. The proposed method compensates for the errors caused by both sources by implementing multiple modulation frequencies.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims the benefit under 35 USC 119(e) of U.S. Provisional Application No. 61/367,091, filed on Jul. 23, 2010, which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    Three dimensional (3D) imaging time-of-flight (TOF) cameras are an active-type system. In general, systems are based on the phase-measurement technique of emitted intensity-modulated light, which is reflected by the scene. The reflected light is imaged onto a sensor. The photo-generated electrons are demodulated in the sensor, and based on the phase information, the distance for each pixel is deduced. 
         [0003]    A major problem of a TOF system is that the sensor has to handle high dynamic ranges. The modulated signal received by the camera drops with the square of the distance. Furthermore, the reflectivity of the targets might vary to a large degree. 
         [0004]      FIG. 1  illustrates a scene with a high dynamic range. The image detected by TOF camera  100  contains a bright object  10  at 30 centimeters (cm) with a reflectivity of 100% and a dark object  12  at 300 cm with a reflectivity of 10%. Therefore, the dynamic range, for objects  10 ,  12  at the same distance, becomes: 
         [0000]    
       
         
           
             DR 
             = 
             
               
                 
                   
                     300 
                     2 
                   
                   * 
                   100 
                 
                 
                   
                     30 
                     2 
                   
                   * 
                   10 
                 
               
               = 
               
                 
                   1 
                   ′ 
                 
                  
                 000 
               
             
           
         
       
     
         [0005]    Due to this high requirement on dynamic range, stray light originating from the strong signal adding to the weak signal is a dominant problem for numerous applications of the TOF technology. 
         [0006]    Stray light in TOF systems can also come from the camera itself. 
         [0007]      FIG. 2  illustrates stray light that is generated by the non-ideal optical path  14  in the camera system  100 . A non-ideal path  14  is sketched that originates from reflections between the lens (objective) system  110  and the sensor or imager chip  200 . However, stray light might also have been generated by the lenses inside the objective or by an optical filter such as a bandpass filter added in the optical path. 
         [0008]    Again, the stray light problem is exacerbated by the presence of relatively bright (reflective) objects  10  and dark (absorbing) objects  12  within the same scene. Light  16  from the bright object  10  contributes to the response detected by the pixels that receive the light  18  from the dark object  12  as illustrated by the internal reflections that give rise to the non-ideal path  14 . 
         [0009]      FIG. 3  illustrates the impact of stray light for the case of a phase-measuring 3D TOF system. 
         [0010]    Signal A from object A ( 10 ) on pixel A: strong signal=large amplitude 
         [0011]    Signal B from object B ( 12 ) on pixel B: weak signal=small amplitude 
         [0012]    S=Signal due to stray light from object A on pixel B 
         [0013]    B′=Resulting (measured) signal on pixel B 
       SUMMARY OF THE INVENTION 
       [0014]    The invention proposes the use of more than one modulation frequency in order to compensate for multi-path measurement errors, that is means phase measurement errors caused by stray light and/or multiple reflections in the scene. 
         [0015]    In general, according to one aspect, the invention features a time of flight three dimensional imaging system. This system comprises an illumination module that generates modulated light that is intensity modulated at a first frequency and at a second frequency, a sensor that detects the modulated light at the first frequency and at the second frequency, and a controller that generates a three dimensional image from the detected modulated light and compensates for multipath error in the three dimensional image. 
         [0016]    In an embodiment, the controller determines a vector associated with the multipath error and corrects a depth measured by the controller based on the vector and uses iterative approximations to determine the vector. 
         [0017]    In general, according to one aspect, the invention features a time of flight three dimensional imaging method. The method comprises generating modulated light that is intensity modulated at a first frequency and at a second frequency, detecting the modulated light at the first frequency and at the second frequency, generating a three dimensional image from the detected modulated light, and compensating the three dimensional image for multipath error. 
         [0018]    The above and other features of the invention including various novel details of construction and combinations of parts, and other advantages, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular method and device embodying the invention are shown by way of illustration and not as a limitation of the invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    In the accompanying drawings, reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale; emphasis has instead been placed upon illustrating the principles of the invention. Of the drawings: 
           [0020]      FIG. 1  is a schematic perspective drawing illustrating the situation with a high reflective object close to the camera and low reflective object far away; 
           [0021]      FIG. 2  is a schematic view showing an optical path having internal reflections (stray light) within the camera; 
           [0022]      FIG. 3A  is a phase diagram showing an ideal system without any stray light and  FIG. 3B  is a phase diagram showing stray light from a bright object (A) causing a phase shift on the measurement of dark object (B); 
           [0023]      FIG. 4  is a schematic diagram showing the operation of a TOF camera; 
           [0024]      FIGS. 5A and 5B  are plots showing light intensity as a function of time illustrating the relationship between signals for the case of continuous sinusoidal modulation and the signal sampling. 
           [0025]      FIG. 6A  illustrates multiple path reflections on a concave scene—in that case a corner between two walls, and  FIG. 6B  illustrates the apparent shape of the walls as measured by the TOF camera; 
           [0026]      FIG. 7  is a phase diagram of a 15 and 30 MHz measurement without any multi-path, showing the phase vector for 30 MHz  710  and 15 MHz  720 ; and 
           [0027]      FIG. 8  is a phase diagram showing the vectors without any multi-path (phase vector 30 MHz  810 , phase vector 15 MHz  820 ), the multi-path vectors (stray light vector 30 MHz  822 , stray light vector 15 MHz  824 ) and the resulting vectors for 15 and 30 MHz (resulting vector 30 MHz  826 , resulting vector 15 MHz  828 ). 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0028]      FIG. 4  illustrates the basic principle of a 3D-measurement camera system  100  based on a sensor  200  comprising a two dimensional array of the demodulation pixels  101 . 
         [0029]    Intensity modulated illumination light ML 1 A at a first modulation frequency from an illumination module or light source IM is sent to the object OB of a scene. A fraction of the total optical power sent out is reflected to the camera  100  and detected by the 3D imaging sensor  200  as reflected light ML 2 A. 
         [0030]    Each pixel  101  of the sensor  200  is capable of demodulating the impinging light signal ML 2  as described above. 
         [0031]    A controller C regulates the timing of the camera  100  so that the demodulation is synchronous with the modulation of light ML 1 A of the light source IM. The phase values of all pixels correspond to the particular distance information of the corresponding point in the scene. The two-dimension gray scale image with the distance information is converted into a three-dimensional image by the controller C. This is displayed to a user via display M or used as a machine vision input. 
         [0032]    The distance R for each pixel is calculated by 
         [0000]        R =( c*TOF )/2, 
         [0033]    with c as light velocity and TOF corresponding to the time-of-flight. Continuously intensity-modulated light is sent out by the illumination module or light source IM, reflected by the object and detected by the sensor  200 . With each pixel  101  of the sensor  200  being capable of demodulating the optical signal at the same time, the sensor is able to deliver 3D images in real-time, i.e., frame rates of up to 30 Hertz (Hz), or even more, are possible. Continuous sine modulation delivers the phase delay (P) between the emitted signal and the received signal, also corresponding directly to the distance R: 
         [0000]        R =( P*c )/(4*pi* fmod ), 
         [0034]    where fmod is the modulation frequency of the optical signal ML 1 A generated by light source IM. Typical state-of-the-art modulation frequencies range from a few MHz up to a few hundreds of MHz or even GHz. 
         [0035]      FIGS. 5A and 5B  show the relationship between signals for the case of continuous sinusoidal modulation and the signal sampling. 
         [0036]      FIG. 5A  shows both the modulated emitted illumination signal ML 1 A and received signal ML 2 A. The amplitude A, offset B of the received signal ML 2 A and phase P between both signals are unknown, but they can be unambiguously reconstructed with at least three samples of the received signal. BG represents the received signal part due to background light. 
         [0037]    In  FIG. 5B , a sampling with four samples per modulation period is depicted. Each sample is an integration of the electrical photo-signal in the integration gates or diffusion regions within each pixel  101  of the sensor  200 . The integration is performed over a duration dt that is a predefined fraction of the modulation period. Typically, in demodulation pixels with 4 integration sites dt corresponds to a quarter of the period. In order to increase the signal to noise ratio of each sample the photo-generated charges may be accumulated over several—up to more than 1 million—modulation periods in the integration sites. 
         [0038]    The electronic timing circuit or controller C, employing for example a field programmable gate array (FPGA), generates the signals for the synchronous channel activation in the demodulation stage. 
         [0039]    Using these four samples, the three modulation parameters amplitude A, offset B and phase shift P of the modulation signal can be extracted by the equations 
         [0000]        A =sqrt[( A 3− A 1)̂2+( A 2− A 0)̂2]/2
 
         [0000]        B=[A 0 +A 1+ A 2 +A 3]/4 
         [0000]        P =arc tan [( A 3− A 1)/( A 0− A 2)]
 
         [0040]    The distance measurement scheme is based on the assumption that the modulated illumination travels directly from the illumination LEDs IM to the object and back to the sensor  200  of the camera, so that the total distance travelled by the light is twice the distance from the camera to the object. However, it is possible that objects may be arranged in the scene such that light takes a less direct path than this. 
         [0041]    For example, the light ML 1 A from the illumination module IM may be reflected by a first object before being reflected by the measured object and finally return to the camera sensor  200 . In this situation the light travels by the direct and also indirect paths. The apparent distance is then a weighted average of the path distances, weighted by the strength of signal returned via each path. The end result is that distance measurements are wrong. 
         [0042]    Another common situation of multipath appears when measuring objects that have concave structures. A good example is when measuring a scene with a corner between two walls as illustrated in  FIGS. 6A and 6B . In that case, the region of the walls right next to the corner  610  will be seen further away than it is in reality (see  FIG. 6B , bowed grey line  600 ). This is due to the fact that a large portion of the light ML 1 A is reflected on the neighbor wall first (wall B), then on the measured wall (wall A) into the camera  100 . The worst-case overestimation is in the region where multiple reflection paths are both, maximum in number and in intensity. This empirically explains the measured shape  600  of the walls, wall A, wall B. 
         [0043]    For visualization purposes, the following description uses two modulation frequencies ML 1 A, ML 1 B for modulating the light source IM and detection by the sensor  200 , see  FIG. 4 . In one example, modulation frequencies of 15 and 30 MHz are used in order to explain the compensation approach performed by the controller C. However, any other frequencies can be applied. 
         [0044]    In some embodiments, the two modulation frequencies ML 1 A, ML 1 B are generated by the light source IM serially in time. In other embodiments, the two modulation frequencies ML 1 A, ML 1 B are generated by the light source IM simultaneously at two different wavelengths. In this later example, the sensor  200  comprises a wavelength discriminating sensor that can separately detect the two different wavelengths. One example is a sensor  200  with two different sensor pixel arrays and two bandpass filters. One of the bandpass filters passes the wavelength of the first modulation frequency to the first sensor pixel array of the sensor  200 ; and the other of the bandpass filters passes the wavelength of the second modulation frequency to the second sensor pixel array of the sensor  200 . 
         [0045]    In the absence of any multi-paths, the measured phase of a target at a range of e.g. 2 meters (m) needs to be: 
         [0000]    
       
         
           
             ϕ 
             = 
             
               2 
               * 
               pi 
               * 
               
                 
                   R 
                   target 
                 
                 
                   R 
                   
                     ma 
                      
                     
                         
                     
                      
                     x 
                   
                 
               
             
           
         
       
     
         [0046]    Where R target  is the range of the target and R max  corresponds to the non-ambiguity range, which is: 
         [0000]    
       
         
           
             
               R 
               
                 ma 
                  
                 
                     
                 
                  
                 x 
               
             
             = 
             
               c 
               
                 F 
                 mod 
               
             
           
         
       
     
         [0047]    R max : non-ambiguity range 
         [0048]    c: speed of light 
         [0049]    F mod : modulation frequency 
         [0050]    In the case of a camera modulating at 15 MHz, the non-ambiguity range becomes ˜10 m, at a modulation frequency of 30 MHz corresponds to a 5 m non-ambiguity range. 
         [0051]    In any measurement of a target smaller than 5 m, the phase measured by the 30 MHz camera has to be two times the phase measured with the 15 MHz. 
         [0052]    In 3D TOF systems, the phase is typically reconstructed based on four samples on the impinging sine, A ° , A 90° , A 180°  and A 270° . The following equation is used to calculate the phase: 
         [0000]    
       
         
           
             ϕ 
             = 
             
               
                 arctan 
                  
                 
                   ( 
                   
                     x 
                     y 
                   
                   ) 
                 
               
               = 
               
                 arctan 
                  
                 
                   ( 
                   
                     
                       
                         A 
                         
                           270 
                            
                           ° 
                         
                       
                       - 
                       
                         A 
                         
                           90 
                            
                           ° 
                         
                       
                     
                     
                       
                         A 
                         
                           0 
                            
                           ° 
                         
                       
                       - 
                       
                         A 
                         
                           180 
                            
                           ° 
                         
                       
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0053]    In case of the target being at 2 m, the phases are: 
         [0054]    φ 30MHz =144° 
         [0055]    φ 15MHz =72° 
         [0056]    Assuming now we have a close object generating stray light, a disturbing stray light vector has to be added to the vector generated by the target. The resulting vector therefore includes the error that is measured without compensating for any multi-path. 
         [0057]    The error caused by the indirect measurement (multi-path) depends on its phase and its amplitude with respect to the phase and amplitude of the direct measurement. 
         [0058]    In an analytical form, the measured vector can be described as: 
         [0059]    {right arrow over (V)} measured ={right arrow over (V)} direct +{right arrow over (V)} indirect    
         [0060]    Furthermore, we know that looking at the direct measurement only, 
         [0061]    φ 30MHZ, direct =2*φ 15MHZ, direct    
         [0062]    In the case that φ 30  is not within a certain phase noise interval around 2*φ 15 , the controller C assumes the presence of multi-path in the measurement. The phase noise interval can be determined by the estimated noise level on the measured range value. 
         [0063]    That means: 
         [0000]    
       
         
           
             
               ϕ 
               
                 
                   30 
                    
                   MH 
                    
                   
                       
                   
                    
                   z 
                 
                 , 
                 direct 
               
             
             = 
             
               
                 2 
                 * 
                 
                   ϕ 
                   
                     
                       15 
                        
                       MH 
                        
                       
                           
                       
                        
                       z 
                     
                     , 
                     direct 
                   
                 
               
               = 
               
                 
                   arctan 
                    
                   
                       
                   
                    
                   2 
                    
                   
                     ( 
                     
                       
                         
                           y 
                           
                             meas 
                             , 
                             30 
                           
                         
                         - 
                         
                           y 
                           
                             indirect 
                              
                             
                                 
                             
                             , 
                             30 
                           
                         
                       
                       ; 
                       
                         
                           x 
                           
                             meas 
                             , 
                             30 
                           
                         
                         - 
                         
                           x 
                           
                             indirect 
                             , 
                             30 
                           
                         
                       
                     
                     ) 
                   
                 
                 = 
                 
                   2 
                   * 
                   arctan 
                    
                   
                       
                   
                    
                   2 
                    
                   
                     ( 
                     
                       
                         
                           y 
                           
                             meas 
                             , 
                             15 
                           
                         
                         - 
                         
                           y 
                           
                             indirect 
                             , 
                             15 
                           
                         
                       
                       ; 
                       
                         
                           x 
                           
                             meas 
                             , 
                             15 
                           
                         
                         - 
                         
                           x 
                           
                             indirect 
                             , 
                             15 
                           
                         
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0064]    While x meas  and y meas  are known, x indirect  and y indirect  are derived from the indirect vector as: 
         [0000]        x   indirect,30   =A   indirect,30 * cos (φ indirect,30 )
 
         [0000]        y   indirect,30   =A   indirect,30 * sin (φ indirect,30 )
 
         [0000]        x   indirect,15   =A   indirect,15 * cos (φ indirect,15 )
 
         [0000]        y   indirect,15   =A   indirect,15 * cos (φ indirect,15 )
 
         [0065]    Since the indirect path is the same for the 30 MHz and the 15 MHz measurements, therefore: 
         [0000]      φ indirect,30 =2*φ indirect,15  
 
         [0066]    This means, we have the following remaining unknowns:
       φ indirect, 15      A indirect, 15      A indirect, 30          
 
         [0070]    Concerning the amplitudes, it can be further assumed that: 
         [0000]    
       
         
           
             
               
                 A 
                 
                   indirect 
                   , 
                   15 
                 
               
               
                 A 
                 
                   indirect 
                   , 
                   30 
                 
               
             
             = 
             
               
                 
                   A 
                   
                     direct 
                     , 
                     15 
                   
                 
                 
                   A 
                   
                     direct 
                     , 
                     30 
                   
                 
               
               = 
               k 
             
           
         
       
     
         [0071]    This assumption is appropriate since both amplitudes derive from measurements of the same objects. The ratio k of the direct amplitudes is generally known and constant for a 3D TOF system. 
         [0072]    In this example, the controller C assumes that both amplitudes are the same, means the ratio k=1. 
         [0073]    The result is the following equation: 
         [0000]      arc tan2 ( y   meas,30   −A   indirect,30 *sin (2*φ indirect,15 );  x   meas,30   −A   indirect,30 * cos (2*φ indirect,15 ))=2* arc tan2( y   meas,15   −A   indirect,30 * sin (φ indirect,15 );  x   meas,15   −A   indirect,30 * sin (φ indirect,15 ))
 
         [0074]    The last two unknowns are:
       φ indirect, 15      A indirect, 15          
 
         [0077]    Based on iterative approximations methods, these two unknown are found or at least estimated by the controller C. The indirect vector can therefore be determined and the measurement compensated by the controller C and the compensated image displayed on the monitor M. 
         [0078]    In another embodiment, the basic vector equation of the multi-path problems is recognized as: 
         [0000]    
       
      
       {right arrow over (V)} 
       measured 
       ={right arrow over (V)} 
       direct 
       +{right arrow over (V)} 
       indirect  
      
     
         [0079]    The measurement is compensated by the controller C by optimizing the vectors in such a way as to best possibly fulfill the following the restrictions of the direct and the indirect path: 
         [0080]    Direct path: 
         [0000]    
       
         
           
             
               ϕ 
               
                 
                   30 
                    
                   MH 
                    
                   
                       
                   
                    
                   z 
                 
                 , 
                 direct 
               
             
             = 
             
               2 
               * 
               
                 ϕ 
                 
                   
                     15 
                      
                     MH 
                      
                     
                         
                     
                      
                     z 
                   
                   , 
                   direct 
                 
               
             
           
         
       
       
         
           
             
               
                 A 
                 
                   direct 
                   , 
                   15 
                 
               
               
                 A 
                 
                   direct 
                   , 
                   30 
                 
               
             
             = 
             
               
                 k 
                  
                 
                     
                 
                  
                 or 
                  
                 
                     
                 
                  
                 if 
                  
                 
                     
                 
                  
                 k 
               
               = 
               
                 
                   1 
                    
                   
                       
                   
                    
                   
                     =&gt; 
                   
                    
                   
                       
                   
                    
                   
                     A 
                     
                       direct 
                       , 
                       15 
                     
                   
                 
                 = 
                 
                   A 
                   
                     direct 
                     , 
                     30 
                   
                 
               
             
           
         
       
     
         [0081]    Direct path: 
         [0000]    
       
         
           
             
               ϕ 
               
                 
                   30 
                    
                   MH 
                    
                   
                       
                   
                    
                   z 
                 
                 , 
                 indirect 
               
             
             = 
             
               2 
               * 
               
                 ϕ 
                 
                   
                     15 
                      
                     MH 
                      
                     
                         
                     
                      
                     z 
                   
                   , 
                   indirect 
                 
               
             
           
         
       
       
         
           
             
               
                 A 
                 
                   indirect 
                   , 
                   15 
                 
               
               
                 A 
                 
                   indirect 
                   , 
                   30 
                 
               
             
             = 
             
               
                 k 
                  
                 
                     
                 
                  
                 or 
                  
                 
                     
                 
                  
                 if 
                  
                 
                     
                 
                  
                 k 
               
               = 
               
                 
                   1 
                    
                   
                       
                   
                    
                   
                     =&gt; 
                   
                    
                   
                       
                   
                    
                   
                     A 
                     
                       indirect 
                       , 
                       15 
                     
                   
                 
                 = 
                 
                   A 
                   
                     indirect 
                     , 
                     30 
                   
                 
               
             
           
         
       
     
         [0082]    While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.