Abstract:
A method of recording 3D images of a scene based on the time-of-flight principle comprises illuminating a scene by emitting light carrying an intensity modulation, imaging the scene onto a pixel array using an optical system, detecting, in each pixel, intensity-modulated light reflected from the scene onto the pixel and determining, for each pixel, a distance value based on the phase of light detected in the pixel. The determination of the distance values comprises a phase-sensitive de-convolution of the scene imaged onto the pixel array such that phase errors induced by light spreading in the optical system are compensated for.

Description:
TECHNICAL FIELD 
       [0001]    The present invention generally relates to a method of recording 3D images of a scene based upon the time-of-flight measurement principle and to a 3D imager configured for implementing the method. 
       BACKGROUND 
       [0002]    The time-of-flight measurement principle is well known in the field of 3D imaging. 3D cameras (or range cameras) are known that acquire range images in real time based on the time-of-flight (TOF) principle. Such camera generally comprises a light source emitting sinusoidally modulated light into the scene to be imaged in 3D and a pixel array on which the scene is imaged by an optical system. The camera then correlates the light detected in the pixels with the light emitted and determines, for each pixel, the phase difference between emitted and received light. This phase difference is proportional to the radial distance between the camera and the part of the scene that is imaged onto the pixel concerned. As the demodulation is synchronously performed for all pixels of the pixel array, the camera provides an array of distance values associated each to a particular pixel and thus to a particular part of the scene. In the following, we will also use “phase” instead of “phase difference”; it is understood that the phase of the emitted light or a clock signal, used for modulating the emitted light or derived from the modulation of the emitted light, then serves as a reference phase. It should also be noted that, as used herein, “phase” and “phase difference” always refer to the phase of the modulation, not to the phase of the carrier wave that is modulated. 
         [0003]    The demodulation process, which leads to the determination of the phase of the light impinging on the pixels, can be carried out in different ways. EP 0 792 555 discloses a 3D camera with a one- or two-dimensional pixel array, each pixel thereof comprising a light-sensitive part, in which charge carriers are generated in response to light impinging thereon, and a light-insensitive part with a plurality of electrical switches and storage cells associated with a respective one of these switches. The charges that are integrated in the light-sensitive part are transferred to the storage cells by sequential actuation of the electrical switches. The electrical switches are controlled in such a way that the charges transferred to a particular storage cell belong to a time interval or time intervals at a known phase of the emitted light. The charges accumulated in the different storage cells are then used to determine the phase of the light having impinged on the pixel, its amplitude and a background light level. More details on that principle of measurement can be found in the paper “The Lock-In CCD—Two-dimensional Synchronous Detection of Light” by Spirig et al. in IEEE Journal of Quantum Electronics 31 (1995), 1705-1708. An improvement of this method of demodulation is described in EP 1 659 418. 
         [0004]    U.S. Pat. No. 6,825,455 discloses another way for demodulating the detected light. In this document, the light-sensitive part of each pixel comprises at least two modulation photogates and the light-insensitive region comprises accumulation gates, each of which is associated to a respective modulation photogate. During a first exposition interval, charge carriers generated in the light-sensitive part of the pixel in response to light impinging thereon are exposed to a first voltage gradient modulated at the frequency of the modulation of the emitted light and thereby caused to drift into a first accumulation gate when the voltage is of a first polarity and into a second accumulation gate when the voltage is of the opposite polarity. The charges q a  and q b  so accumulated in the first and second modulation gates, respectively, are determined. During a second exposition interval, charge carriers generated in the light-sensitive part of the pixel are exposed to a second voltage gradient modulated at the same frequency but shifted by a known phase with respect to the first voltage gradient. The charge carrier are again caused to drift into two different accumulation gates in accordance with the polarity of the voltage applied, giving rise to accumulated charges q c  and q d . The phase of the light impinging on the pixel is determined using the values of the accumulated charges. If the phase difference between the voltage gradients amounts to 90°, the phase of the light can be determined as φ=arctan [(q c −q d )/(q a −q b )]. Above-cited documents are herewith incorporated herein by reference in their entirety. 
         [0005]    For the sake of comprehensibility of the invention, we will briefly recall the basic mathematical concept of the measurement according to the TOF principle in a 3D camera working with continuously modulated light. 
         [0006]    An illumination unit of the camera emits a continuously modulated light intensity that can be described by the formula: 
         [0000]        S ( t )= S   0 ·(1+sin(ω t ))  (1)
 
         [0007]    where S 0  is the average light intensity and ω is given by the modulation frequency f, i.e. ω=2 πf. The scene is thus continuously illuminated with a light power density P that depends on the illumination strength S, the spatial distribution of the light and the distance between scene and camera. A part of the light power, given by a remission coefficient ρ, is then remitted by the objects in the scene. As used herein, “remission” designates reflection or scatter of light by a material. The imager optics maps the remitted light that passes through the optical system (e.g. comprising one or more lenses and/or prisms and/or filters, etc.) onto the pixel array of the camera. Assuming an ideal optical system, the received light intensity I(x,t) that arrives at time t on pixel position x=(u,v) of the pixel array thus has the following characteristics: 
         [0008]    The light intensity I(x,t) is modulated in time with the same frequency as the emitted light, however, with the phase retarded by a value φ proportional to the distance r between the camera and the part of the scene that is mapped to point x=(u,v) on the imager. Mathematically, the received light intensity is thus given by the formulas 
         [0000]        I ( x,t )= B ( x )+ A ( x )sin(ω t −φ( x ))  (2)
 
         [0000]      and 
         [0000]      φ( x )=2 r ( x ) f/c   (3)
 
         [0000]    with c denoting the speed of light, A the amplitude of the modulation of the received light and B (&gt;A) the constant offset of the modulated light and background light originating from other light sources illuminating the scene (e.g. the sun). One assumes here that A, B and φ are at most slowly varying, so that they may be regarded as constant on the timescale of the modulation. 
         [0009]    The amplitude A is thus proportional to the power density P on the part of scene that is mapped onto the corresponding pixel by the optical system, the remission coefficient ρ of that part of the scene and parameters of the optical system that are independent on the light power, like the F-number of the lens. 
         [0010]    An ideal optical system maps a point in the scene onto a point in the image plane. In practice, however, light originating from a point in the scene is spread on an area around the theoretical image point. Various physical mechanisms may cause such spread of the image point. Defocusing of the lens causes a locally confined spread area that makes an image to appear unsharp. The relation between sharpness, defocusing and the spread area is described by the concept of depth of field. Other mechanisms leading to a point spread are light diffraction (in case of a small aperture of the lens), multiple light scattering on surfaces of the optical system or light scattering due to a contamination of the surface of the optical system. These physical effects lead to a loss of contrast in the image. 
         [0011]    The effect of light spreading of a point source can be described mathematically by the so-called point spread function (PSF). If x=(u,v) and x′=(u′,v′) define two points in the image plane, the value g(x′,x) of the PSF function g indicates the relative amount of light that is mapped onto point x′ when the theoretical image point is x. Due to the superposition principle (that is valid for linear systems like an optical imaging system), the effect of the light spreading onto an image can be described by a convolution 
         [0000]        I′=g*I   (4a)
 
         [0000]      that is 
         [0000]        I ′( x )=∫ g ( x,x ′) I ( x ′) dx ′,  (4b)
 
         [0000]    where I denotes the ideal image and I′ the actual image affected by light spreading in the optical system. If an image is given as discrete points (pixels) the integral represents a sum over the pixels. 
         [0012]    In order to reconstruct the ideal image I from an image I′ provided by the optical system, convolution (4a) or (4b) has to be inverted. This inversion is called a de-convolution and is in the ideal case realized by convolution of the image I′ with a de-convolution function g′ (which fulfils, at least approximately, the condition that it&#39;s convolution with g is the Dirac-delta function). Such a de-convolution function is, however, not known in general and also not always uniquely defined. A standard approach toward de-convolution is based on the transformation of the image and the convolution function to Fourier space. However, this approach is not always applicable. In the field of image processing various approaches have been developed for de-convoluting an image at least approximately. 
         [0013]    In 2D imaging, light spreading is often negligible under normal conditions (using ambient light and well-focused optics). The point spread function g(x′,x) is then close to a delta peak, e.g.: 
         [0000]        g ( x′,x )=(1−ε)δ( x′, x )+εƒ( x′, x )  (5)
 
         [0000]    where ƒ is a function normalized to 1 and ε the relative amount of light scattered in the optical system. In a well-focused and clean optical system, E is typically small e.g. of the order 10 −3 . A blur visible for the human eye therefore occurs only if light from a very bright light source (e.g. the sun) is shining into the optical system. In this case, the contribution of the spread light from the bright light source cannot be neglected, since its intensity is many orders of magnitude higher than the light intensity reflected by an object in the scene. If the optical system is contaminated (with dirt or a scratch), the parameter ε is larger, so that light spreading visible for the human eye could result even in normal lighting conditions. 
         [0014]    The inventors have recognised that in a TOF camera system broadly illuminating the scene, an effect similar to image blurring due to scattered sun light can occur due to the active illumination. The main reason is that the light power density P on an object in the scene strongly depends on the distance d of the object to the light source (P˜1/d 2 ). The light intensity I′(x) at the corresponding pixel position x is proportional to the light power density and the remission coefficient ρ, i.e. 
         [0000]      I′(x)˜ρ/d 2   (6)
 
         [0015]    As an example, an object with a remission coefficient of 50% at a distance of 1 m will generate an intensity value, which is 1000 times larger than the intensity value generated by an object with a remission coefficient of 5% at a distance of 10 m. Therefore, when (5) is substituted into the convolution integral (4b), the contributions of intensities at points x≠x′ are no longer negligible, even if the light scattering factor ε is of the order 10 −3 . 
         [0016]    It is important to recognise that the phase measurement and thus the computed distance information is falsified by light spreading. This will now be explained in more detail first for a superposition of two modulated light intensities and then for the general case. 
         [0017]    The superposition of two modulated light intensities expressible by equation (2) yields: 
         [0000]        I ′( t )= I   1 ( t )+ I   2 ( t )=( B   1   +B   2 )+ A   1  sin(ω t−φ   1 )+ A   2  sin(ω t−φ   2 )  (7a)
 
         [0000]    I′(t) can again be expressed in the form of one modulated light intensity, i.e. 
         [0000]        I ′( t )= B′+A ′ sin(ω t −φ′)  (7b)
 
         [0000]      where 
         [0000]    
       
      
       B′=B 
       1 
       +B 
       2  
      
     
         [0000]        A ′=√{square root over ( AS′   2   +AC′   2 )}
 
         [0000]      φ′=arctan( AS′/AC′ )  (8)
 
         [0000]      with 
         [0000]        AS′=A   1  sin φ 1   +A   2  sin φ 2   =:AS   1   +AS   2  
 
         [0000]        AC′=A   1  cos cos φ 1   +A   2  cos φ 2   =:AC   1   +AC   2 .  (9)
 
         [0018]    Formulas (7a) to (9) show that the superposition of two modulated intensities with same frequency but different phases and amplitudes results in a modulated intensity with again the same frequency but whose phase depends not only on the phases but also on the amplitudes of the individual intensities being superposed. In other words, light spreading in presence of a non-ideal optical system induces errors in the measured phase values. 
         [0019]    Before turning to the general case of superposition of modulated intensities due to spreading, it shall be observed that is convenient to rewrite equation (9) in complex notation: 
         [0000]        Â′:=A′e   iφ′   =A   1   e   iφ     1     +A   2   e   iφ     2     =:Â   1   +Â   2   (10)
 
         [0000]    where AC and AS are the real and the imaginary components, respectively, of the complex amplitude Â, i.e. 
         [0000]      AS′=ImÂ′
 
         [0000]      AC′=ReÂ′  (11)
 
         [0020]    The superposition principle (9) or (10) for the amplitudes can be straightforwardly generalized for the case that the optical system spreads the light intensity with a point spread function g. Using 
         [0000]        I ( t )= B+A  sin(ω t −φ)= B−Im ( A·e   i(φ-ωt) )= B−Im ( Âe   −iωt )  (12)
 
         [0000]      and 
         [0000]        I ′( t )= B′+A ′ sin(ω t −φ′)= B′−Im ( A′·e   i(φ′-ωt) )= B′−Im (Â′ e   −iωt )  (13)
 
         [0000]    and substituting this into equation (4b), the result is 
         [0000]        A ′( x )=∫ g ( x,x ′) Â ( x ′) dx ′.  (14)
 
         [0021]    The resulting phase φ′(x) and amplitude A′(x) are again given by equation (8) using the real and imaginary parts of Â′(x) as defined in (11). 
         [0022]    As a result of the non-negligible superposition, the contrast in phase measurement is reduced. This means that the phases measured in the different pixels are shifted towards the phase of the pixel with the strongest amplitude of modulation. This effect of phase shift is the stronger, the smaller the amplitude of the corresponding pixel is. Therefore, the phase shift caused by light spreading affects mostly background pixel. The objects in the background of the scene appear thus nearer to the camera than they actually are, especially if the background part of the scene has a low remission coefficient. 
         [0023]    The invention generally seeks to reduce the effect of light spreading onto the range measurement. 
       BRIEF SUMMARY 
       [0024]    The method of recording 3D images of a scene comprises the following steps:
       illuminating a scene by emitting light carrying an intensity modulation; imaging the scene onto a pixel array using an optical system;   detecting, in each pixel, intensity-modulated light reflected from the scene onto the pixel;   and determining, for each pixel, a distance value based on the phase of light detected in the pixel.       
 
         [0028]    According to the invention, the determination of the distance values comprises a phase-sensitive de-convolution of the scene imaged onto the pixel array such that phase errors induced by light spreading in the optical system are compensated for. As indicated above, de-convoluting is a known measure for at least partially compensating the effect of light speading in a 2D imager, i.e. an imager not providing depth (or distance or range) information. However, to the knowledge of the inventors, the problem of loss of phase contrast in a 3D imager due to light spreading has not yet been addressed in the literature. The method proposed herein permits the detection of more accurate 3D images. Furthermore, the method enables accurate distance determination in more difficult lighting conditions. 
         [0029]    A first embodiment of the method is especially suitable for a 3D imager, which outputs, for each pixel an amplitude value and a phase value (optionally also the constant background intensity but this is irrelevant for the further considerations) of the light impinging on the pixel, including stray light if any. Thus, according to the first embodiment of the invention, for each pixel, an amplitude value (A′(x) using the above notation) and a phase value (φ′(x)) of the intensity-modulated light detected in the pixel are determined. The phase-sensitive de-convolution of the scene imaged onto the pixel array comprises:
       forming a first data array, each array element of the first data array being associated with a respective pixel of the pixel array and having a value corresponding to the amplitude value determined for the associated pixel, possibly weighted with a first phase factor;   forming a second data array, each array element of the second data array being associated with a respective pixel of the pixel array and having a value corresponding to the amplitude value determined for the associated pixel weighted with a second phase factor, the second phase factor depending on the phase value determined for the associated pixel;   de-convoluting the first and second arrays using a de-convolution function of the optical system.       
 
         [0033]    For each pixel, the distance value then is calculated based upon the values of the array elements of the de-convoluted first and second arrays associated to the pixel. 
         [0034]    Those skilled will appreciate that first phase factor is preferably the cosine of the phase value determined for the associated pixel (i.e. cos(φ′(x))) and the second phase factor is preferably the sine of the phase value determined for the associated pixel (i.e. sin(φ′(x))). The elements of the first data array then take the values 
         [0000]        AC ′( x )= A ′( x )·cos(φ′( x ))  (15)
 
         [0000]    and those of the second data array take the values 
         [0000]        AS ′( x )= A ′( x )·sin(φ′( x )).  (16)
 
         [0035]    Alternatively, the first and second phase factors could be approximations of the cosine and the sine of the phase value, respectively. For instance, using the so-called small-phase approximation. We will first assume that |φ′(x)|&lt;&lt;2π. In this case, the first phase factor may be set equal to 1 and the determined phase φ′(x) itself may serve as approximation of the sine of the phase. In this case, the elements of the first data array then take the values 
         [0000]        AC ′( x )= A ′( x )  (17)
 
         [0000]    and those of the second data array take the values 
         [0000]        AS ′( x )= A ′( x )·φ′( x ).  (18)
 
         [0036]    In both cases, the elements of the de-convoluted versions of the first and second data arrays may then be evaluated by: 
         [0000]        AC ( x )=∫ g ′( x,x′ ) AC ′( x ′) dx′   (19a)
 
         [0000]      and 
         [0000]        AS ( x )= ∫g ′( x,x ′) AC ′( x ′) dx′   (19b)
 
         [0000]    where g′ is the de-convolution function of the optical system. g′ may be given by a matrix if the integral is a sum over all pixels of the pixel array. Equations (19a) and (19b) may be summarised as 
         [0000]        Â ( x )= ∫g ′( x,x ′) Â ′( x ′) dx′.   (20)
 
         [0037]    For each pixel, the corresponding distance value can be calculated by evaluating a corrected phase as 
         [0000]      φ( x )=arctan( AS ( x )/ AC ( x )),  (21)
 
         [0000]    or, if the small-phase approximation is used, as 
         [0000]      φ( x )= AS ( x ) AS ( x )/ AC ( x ).  (22)
 
         [0038]    It shall be noted that the small-phase approximation may also be used if the phases of the different pixels φ′(x) do not necessarily satisfy the condition |φ′(x)|&lt;&lt;2π but lie within a relatively narrow range. One may then write φ′(x)=φ 0 ′+δφ′(x) with |δφ′(x)|&lt;&lt;2π, where φ 0 ′ is an offset common to all the pixels of the array, e.g. the average of the measured phase values φ′(x) or a predetermined constant. In this case, one may use δφ′(x) instead of φ′(x) in equations (17) and (18). The de-convolution of the first and second data arrays is achieved through equations (19a) and (19b). One finds the corrected phase φ(x) using δφ(x)=AS(x)/AC(x) and φ(x)=δφ(x)+φ 0 . Those skilled will note that the subtraction and the latter addition of φ 0  corresponds to a change of the reference phase which may be chosen arbitrarily; therefore, in the following it will be assumed that the reference phase is chosen such that φ 0 =0 (thus φ′(x)=δφ′(x)) when the small-phase approximation is used. 
         [0039]    If it is desired to express the distance in other units than units of phase, this may be done by using equation (3). 
         [0040]    According to a second preferred embodiment of the method, the detection of intensity-modulated light reflected from the scene comprises, for each pixel, determining intensity values of the intensity-modulated light impinging on the pixel at different phases of the modulation, the different phases being chosen such that amplitude and phase of the intensity-modulated light impinging on the pixel are derivable from the set of intensity values using a known relationship. However, as those skilled will appreciate, in the second embodiment it is not necessary that the uncorrected amplitude and phase values have actually been calculated using the known relationship. In this case, the phase-sensitive de-convolution of the scene comprises
       forming data arrays, each array element of the data arrays being associated with a respective pixel of the pixel array and having a value corresponding either to the intensity value of the associated pixel determined at one of the phases of modulation or to a linear combination of at least two intensity values of the associated pixel determined at different phases of the modulation;   de-convoluting the data arrays using a de-convolution function of the optical system;       
 
         [0043]    For each pixel, the distance value is then calculated based upon the values of the array elements of the de-convoluted data arrays associated to the pixel, e.g. by determining the corrected phase from the values of the array elements of the de-convoluted data arrays associated to the pixel. 
         [0044]    For each pixel, the actually determined light intensity I′(x) can be mathematically expressed as a function of time according to equation (7b) or (13) with a priori unknown parameters A′(x), B′(x) and φ′(x). To allow a determination of these parameters, the intensity values of each pixel thus have to be determined at least three different phases of the modulation, as explained in detail in the paper by Spirig cited above or according to the approach of U.S. Pat. No. 6,825,455 (where the charges q a , q b , q b  and q d  correspond to the intensity values at different phases). 
         [0045]    Preferably, the at least three phases of the modulation are regularly spaced; Most preferably, the intensity values are determined at four phases of the modulation, these four phases of the modulation being spaced by 90 degrees. In the latter case, the four data arrays may have as elements the intensity values I 0 ′(x) associated to the 0°-phase of the modulation, I 1 ′(x) associated to the 90°-phase of the modulation, I 2 ′(x) associated to the 180°-phase of the modulation and I 3 ′(x) associated to the 270°-phase of the modulation, respectively. 
         [0046]    These data arrays are then de-convoluted using the de-convolution function of the optical system, yielding the de-convoluted data arrays having as elements: 
         [0000]        I   k ( x )=∫ g ′( x,x ′) I   k ′( x ′) dx′   (23)
 
         [0000]    where k=0, 1, 2 and 3, respectively. The corrected phase may then be calculated for each pixel based upon the corrected intensity values I 0 (x), I 1 (x), I 2 (x) and I 3 (x) using 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           AS 
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                         
                           
                             
                               A 
                                
                               
                                 ( 
                                 x 
                                 ) 
                               
                             
                             · 
                             
                               sin 
                                
                               
                                 ( 
                                 
                                   ϕ 
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                                 ) 
                               
                             
                           
                           = 
                           
                             
                               1 
                               2 
                             
                              
                             
                               ( 
                               
                                 
                                   
                                     I 
                                     2 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                                 - 
                                 
                                   
                                     I 
                                     0 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           A 
                            
                           
                               
                           
                            
                           
                             C 
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         = 
                         
                           
                             
                               A 
                                
                               
                                 ( 
                                 x 
                                 ) 
                               
                             
                             · 
                             
                               cos 
                                
                               
                                 ( 
                                 
                                   ϕ 
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                                 ) 
                               
                             
                           
                           = 
                           
                             
                               1 
                               2 
                             
                              
                             
                               ( 
                               
                                 
                                   
                                     I 
                                     1 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                                 - 
                                 
                                   
                                     I 
                                     3 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   24 
                   ) 
                 
               
             
           
         
       
     
         [0000]    and equation (21). 
         [0047]    Instead of de-convoluting data arrays, the array elements of which are each associated with specific phase of the modulation and have a value corresponding to the intensity value of the associated pixel determined at one of the phases of modulation as in equation (23), one may alternatively de-convolute data arrays having as array elements linear combinations of at least two intensity values of the associated pixel determined at different phases of the modulation, e.g. AS′(x)=(I 2 ′(x)−I 0 ′(x))/2 and AC′(x)=(I 1 ′(x)−I 3 ′(x))/2. The de-convolution may in this case be effected by computing AS and AC according to equations (19a) and (19b). 
         [0048]    According to an advantageous aspect of the invention, a level of contamination of the optical system is evaluated and the phase-sensitive de-convolution is adjusted to the level of contamination. The evaluation of the level of contamination is preferably achieved as explained in European patent application 07 110 379.0. 
         [0049]    Another aspect of the invention concerns a 3D imager configured for implementing the method as described before. Such 3D imager (e.g. a 3D camera) may comprise a light source for illuminating a scene by emitting light carrying an intensity modulation, an optical system, an array of pixels configured for detecting intensity-modulated light reflected from the scene and imaged onto the pixel array, and a control and evaluation circuit configured for determining, for each pixel, a distance value based on the phase of light detected in the pixel. The control and evaluation circuit comprises means, e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) and/or a microprocessor, for carrying out a phase-sensitive de-convolution of the scene imaged onto the pixel array in such a way as to compensate for phase errors induced by light spreading in the optical system. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0050]    Further details and advantages of the present invention will be apparent from the following detailed description of several not limiting embodiments with reference to the attached drawings, wherein: 
           [0051]      FIG. 1  is a schematic view of a 3D camera operating according to the TOF-principle; 
           [0052]      FIG. 2  is an illustration of how the parameters of the intensity waveform are affected in the presence of light spreading; 
           [0053]      FIG. 3  is a flow chart of the method according to the first embodiment of the invention; 
           [0054]      FIG. 4  is a flow chart of the method according to the second embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0055]      FIG. 1  shows a 3D camera generally identified by reference numeral  10 . The 3D camera  10  comprises an illumination unit  12 , for emitting sinusoidally modulated light into a scene, a two-dimensional pixel array  14  and an optical system  16  (represented here by a lens) imaging the scene onto the pixel array  14 . The pixel array  14  may be implemented as an electronic camera chip of any suitable technology, such as CCD, CMOS and/or TFA. The pixel array comprises individual lock-in pixel sensor cells  18  (herein simply called pixels), on each of which a small portion of the scene is imaged. 
         [0056]    The illumination unit  12  may comprise one or several individual light emitting devices, e.g. light emitting diodes (LEDs), which are collectively driven by an illumination driver  20 . A clock signal source  22  (e.g. a numerically controlled oscillator) provides the input signals for the illumination driver  20  and the photo gate driver  24 , which controls the pixel array  14 . An evaluation circuit  26  (e.g. an ASIC, an FPGA, or a digital signal processor (DSP)), connected to the pixel array  14 , determines, when the 3D camera is operating, the distance information based upon the charges generated in the pixels. 
         [0057]    When the 3D camera  10  is in operation, the signal source  22  generates a modulation signal on its output and feeds this modulation signal to the illumination driver  20 . The latter drives the illumination unit  12  with a drive signal, thereby causing the illumination unit to emit light (indicated by the dash-dotted lines  13 ) carrying a sinusoidal intensity modulation into the scene. For purpose of illustration, the scene is represented here as comprising a foreground object  28  and a background object  30 . It should be noted that the drawing is not to scale and the distance between the camera  10  and the objects  28 ,  30  in the scene is preferably substantially larger than the distance between the illumination unit  12  and the optical system  16  (which are preferably integrated within a single housing). The modulated light is remitted (reflected or scattered) by the objects  28 ,  30  and a fraction of the remitted light is received by the pixel array  14 . The signal source  22  also feeds the modulation signal to the photo gate driver  24  which controls the individual pixels  18  so that they operate, for instance, as described hereinbefore with reference to EP 0 792 555 or U.S. Pat. No. 6,825,455. 
         [0058]    In the following, we will assume that the pixel array  14  and the photo gate driver  24  are configured so as to operate according to the principles of the former document. In this case, each pixel  18  comprises a light-sensitive part, in which charge carriers are generated in response to light remitted from the scene impinging thereon, and a light-insensitive part with a plurality of electrical switches and storage cells associated with a respective one of these switches. The following considerations of this paragraph are with respect to an individual pixel. The charges that are integrated in the light-sensitive part are transferred to the storage cells by sequential actuation of the electrical switches under the control of the photo gate driver  24 . The electrical switches are controlled in such a way that the charges transferred to a particular storage cell belong to a time interval or time intervals at a known phase of the emitted light.  FIG. 2  illustrates how these integration intervals may be distributed in one period of the modulation. The light intensity I′(x,t) impinging on the pixel is indicated by the dashed curve  32 . Mathematically, it may be expressed by equations (7b) or (13), where the parameters A′(x), B′(x) and φ′(x) are not known from the beginning. The charge carriers generated in the light-sensitive part of the pixel during a first time interval T 1  are transferred to a first storage cell by closing the corresponding electrical switch at a specific time. After that transfer, the first electrical switch is opened again and after a specific time interval has elapsed, the charge carriers generated during a second time interval T 2  are transferred to the second storage cell by closing the second electrical switch at a specific time. The same process is repeated for the time intervals T 3  and T 4 . It is possible to extend the process over several periods of the modulation. The charges accumulated in the different storage cells thus correspond to intensity values of the modulated light at different phases of the modulation and may be used to determine the parameters A′(x), B′(x) and φ′(x) of the light having impinged on the pixel. With respect to the timescale of the modulation, A′(x), B′(x) and φ′(x) (and thus the corrected parameters A(x), B(x) and φ(x)) are slowly varying. A typical modulation period is, for instance, 50 ns, which corresponds to a 20-MHz modulation or a camera range of 7.5 m. In applications such as occupancy detection of a vehicle seat, the above parameters may be regarded as practically constant over several modulation periods. 
         [0059]    One or more of the pixels  18  (e.g. an entire row) of the pixel array are used as reference pixels  19 . Light emitted by the illumination unit  12  is guided onto the reference pixels  19  using a light guide  15  (e.g. an optical fibre or a bundle of optical fibres) of known length. The intensity values retrieved from the reference pixel indicate a reference phase having a known offset with respect to the phase of the modulated light at the emission by the illumination unit  12 . The reference pixels  19  are appropriately protected from light remitted from the scene to avoid distortion of the reference phase. 
         [0060]    As illustrated in  FIG. 1 , light originating from point X 1  in the scene is spread on an area around the theoretical image point. The light spread around the theoretical image point of X 1  is indicated by the dashed circle  34 . Thus, part of the light that ideally should impinge at the pixel  36  corresponding to the theoretical image point of X 1  actually impinges at different pixels  18  of the pixel array  14 , such as, for instance the pixel  38  located at the theoretical image point of point X 2  in the scene. The intensity values I 0 ′, I 1 ′, I 2 ′ and I 3 ′ (resulting from the charges integrated during the different integration intervals T 1 , T 2 , T 3  and T 4 ) thus differ from the ideal intensity values (not affected by light spreading). The parameter values of A′(x), B′(x) and φ′(x) of the intensity waveform I′(x) reconstructed from the intensity values I 0 ′(x), I 1 ′(x), I 2 ′(x) and I 3 ′(x) thus differ from the ideal values of A(x), B(x) and φ(x). This is illustrated in  FIG. 2 , showing the intensity waveform  32  obtained using the actually measured intensity values I 0 ′, I 1 ′, I 2 ′ and I 3 ′ (represented by the dashed boxes  42 ) and the ideal intensity waveform (dotted curve  40 ) with corresponding ideal intensity values represented by the dotted boxes  44 . The time indications on the time axis (horizontal axis) are expressed in units of the modulation period while the intensity indications on the vertical axis are given in arbitrary units. It shall be noted that the waveforms  32  and  40  not only differ in offset and amplitude but also in phase. 
         [0061]    If the method according to the first embodiment of the invention is implemented by 3D camera  10 , the evaluation circuit  26  determines first the parameters A′(x) and φ′(x) for each pixel. This is illustrated as step S 10  in  FIG. 3 . To derive the corrected amplitudes A(x) and phases φ(x), the evaluation circuit computes the first data array [AC′(x)]=[AC′(x 1 ), . . . , AC′(x n )] and the second data array [AS′(x)]=[AS′(x 1 ), . . . , AS′(x n )], where x 1 , . . . , x n  stand for the pixels of the pixel array onto which part of the scene is actually imaged (step S 12  in  FIG. 3 ). It shall be noted that in the context of the de-convolution, the reference pixels are deemed not being part of the pixel array since no part of the scene is imaged on them. It shall further be noted that the internal representation of the first and second data arrays in the evaluation circuit  26  can differ from the representation given here for illustration purposes. The values of the array elements AC′(x) and AS′(x) may be determined as indicated before, using equations (15) and (16) or, in case of the small phase approximation, (17) and (18). The evaluation circuit  26  then determines (step S 14  in  FIG. 3 ) de-convoluted versions [AC(x)] and [AS(x)] of the first and second data arrays respectively according to 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       A 
                        
                       
                           
                       
                        
                       
                         C 
                          
                         
                           ( 
                           x 
                           ) 
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           x 
                           ′ 
                         
                       
                        
                       
                         
                           
                             g 
                             ′ 
                           
                            
                           
                             ( 
                             
                               x 
                               , 
                               
                                 x 
                                 ′ 
                               
                             
                             ) 
                           
                         
                          
                         
                           
                             AC 
                             ′ 
                           
                            
                           
                             ( 
                             
                               x 
                               ′ 
                             
                             ) 
                           
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   and 
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       AS 
                        
                       
                         ( 
                         x 
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           x 
                           ′ 
                         
                       
                        
                       
                         
                           
                             g 
                             ′ 
                           
                            
                           
                             ( 
                             
                               x 
                               , 
                               
                                 x 
                                 ′ 
                               
                             
                             ) 
                           
                         
                          
                         
                           
                             AS 
                             ′ 
                           
                            
                           
                             ( 
                             
                               x 
                               ′ 
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   26 
                   ) 
                 
               
             
           
         
       
     
         [0000]    which corresponds to equations (19a) and (19b), taking into account that the integral is in this case a sum over the pixels of the pixel array. Advantageously, the de-convolution function g′ is stored in a memory of the evaluation circuit, e.g. in form of a matrix [[g′(x,x′)]]. The evaluation circuit then determines (step S 16  in  FIG. 3 ), for each pixel (other than the reference pixels) the corrected phase φ(x) using equations (21) or (22), depending on whether the small phase approximation is used or not. The distance values are finally computed using the corrected phases φ(x) and the reference phase determined with the reference pixels  19 . 
         [0062]    The method according to the first embodiment is particularly useful if the 3D camera gives no access to the raw data (in the above example the values I 0 ′, I 1 ′, I 2 ′ and I 3 ′) or if such access would be complicated. 
         [0063]    If the method according to the second embodiment of the invention discussed hereinbefore is implemented by 3D camera  10 , the evaluation circuit  26  forms data arrays [I k ′(x)]=[I k ′(x 1 ), . . . , I k ′(x n )], k=0, . . . , 3. Each of these data arrays is thus associated to a specific phase of the modulation, each array element of the data arrays is associated with a pixel of the pixel array and has a value corresponding to the intensity value of the associated pixel at the specific phase of the modulation. These data arrays are then de-convoluted, yielding de-convoluted data arrays having array elements defined by 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       I 
                       k 
                     
                      
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         x 
                         ′ 
                       
                     
                      
                     
                       
                         
                           g 
                           ′ 
                         
                          
                         
                           ( 
                           
                             x 
                             , 
                             
                               x 
                               ′ 
                             
                           
                           ) 
                         
                       
                        
                       
                         
                           
                             I 
                             k 
                           
                           ′ 
                         
                          
                         
                           ( 
                           
                             x 
                             ′ 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   27 
                   ) 
                 
               
             
           
         
       
     
         [0000]    which corresponds to equation (23), taking into account that the integral is in this case a sum over the pixels of the pixel array. Alternatively, the evaluation circuit might also form data arrays obtainable from linearly combining the data arrays [I k ′(x)], k=0, . . . , 3 and then de-convolute these linearly combined data array, e.g. as in equation (19). In the example of  FIG. 4 , the arrays [I k ′(x)]=[I k ′(x 1 ), . . . , I k ′(x n )], k=0, . . . , 3 formed in step  20  are linearly combined to yield the data arrays [AC′(x)]=[AC′(x 1 ), . . . , AC′(x n )] and [AS′(x)]=[AS′(x 1 ), . . . , AS′(x n )] (step  22 ), e.g. using the equations AS′(x)=(I 2 ′(x)−I 0 ′(x))/2 and AC′(x)=(I 1 ′(x)−I 3 ′(x))/2, provided that the four phases of the modulation are spaced by 90 degrees. The evaluation circuit then determines (step S 24  in  FIG. 4 ) de-convoluted versions [AC(x)] and [AS(x)] of the data arrays respectively according to equation (25) and (26). The evaluation circuit then determines (step S 26  in  FIG. 4 ), for each pixel the corrected phase φ(x) using equations (21) or (22), depending on whether the small phase approximation is used or not. 
         [0064]    As in the previous example, the function g′ may be stored internally in the evaluation circuit  26  e.g. in form of a matrix. The evaluation circuit  26  than computes the corrected phases φ(x) based upon equation (21) or (22), as well as the distance values using the corrected phases φ(x) and the reference phase determined with the reference pixels  19 . 
         [0065]    It shall be noted that those skilled in art of optical imaging systems know how to determine a suitable de-convolution function for a given optical system. Nevertheless, a specific example of a point-spread function and the associated de-convolution function will now be discussed for the purpose of illustration. 
         [0066]    The present correction compensates the influence of the homogenous part of the stray light on the amplitude and phase measurement. The point-spread function g h  corresponding to such homogeneous spreading of light around the theoretical image point is given by 
         [0000]        g   h ( x′,x )=(1−ε)δ( x′,x )+ε E   V ( x )  (28)
 
         [0000]    where E V  denotes a function which is constant on an area V and 0 elsewhere: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       E 
                       V 
                     
                      
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                         
                           ∫ 
                           V 
                         
                          
                         
                            
                           x 
                         
                       
                     
                      
                     
                       { 
                       
                         
                           
                             1 
                           
                           
                             
                               x 
                               ∈ 
                               V 
                             
                           
                         
                         
                           
                             0 
                           
                           
                             
                               x 
                               ∉ 
                               V 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   29 
                   ) 
                 
               
             
           
         
       
     
         [0067]    Point spread function g h  can be inverted. The result is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         g 
                         h 
                       
                       ′ 
                     
                      
                     
                       ( 
                       
                         x 
                         , 
                         
                           x 
                           ′ 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                         1 
                         - 
                         ɛ 
                       
                     
                      
                     
                       [ 
                       
                         
                           δ 
                            
                           
                             ( 
                             
                               x 
                               , 
                               
                                 x 
                                 ′ 
                               
                             
                             ) 
                           
                         
                         - 
                         
                           ɛ 
                            
                           
                               
                           
                            
                           
                             
                               E 
                               V 
                             
                              
                             
                               ( 
                               
                                 x 
                                 ′ 
                               
                               ) 
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   30 
                   ) 
                 
               
             
           
         
       
     
         [0068]    Inserting equation (21) into (5) yields for the corrected complex amplitude the expression 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         A 
                         ^ 
                       
                        
                       
                         ( 
                         x 
                         ) 
                       
                     
                     = 
                     
                       
                         1 
                         
                           1 
                           - 
                           ɛ 
                         
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 A 
                                 ′ 
                               
                               ^ 
                             
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                           - 
                           
                             ɛ 
                              
                             
                               〈 
                               
                                 
                                   A 
                                   ^ 
                                 
                                 ′ 
                               
                               〉 
                             
                           
                         
                         ] 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   31 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where &lt;Â′&gt; denotes the average of the complex amplitude Â′ in the area V. This means that the correct complex phase is obtained by subtracting from the measured complex phase a certain portion of the average of the complex amplitude. The corrected phase and amplitude are then obtained by applying equation (20) to the real and imaginary parts of Â, respectively. The de-convolution of the first and second data arrays may thus be effected through 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           A 
                            
                           
                               
                           
                            
                           
                             C 
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         = 
                         
                           
                             1 
                             
                               1 
                               - 
                               ɛ 
                             
                           
                            
                           
                             [ 
                             
                               
                                 A 
                                  
                                 
                                     
                                 
                                  
                                 
                                   
                                     C 
                                     ′ 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                               
                               - 
                               
                                 ɛ 
                                  
                                 
                                   〈 
                                   
                                     A 
                                      
                                     
                                         
                                     
                                      
                                     
                                       C 
                                       ′ 
                                     
                                   
                                   〉 
                                 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           AS 
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                         
                           
                             1 
                             
                               1 
                               - 
                               ɛ 
                             
                           
                            
                           
                             [ 
                             
                               
                                 
                                   AS 
                                   ′ 
                                 
                                  
                                 
                                   ( 
                                   x 
                                   ) 
                                 
                               
                               - 
                               
                                 ɛ 
                                  
                                 
                                   〈 
                                   
                                     AS 
                                     ′ 
                                   
                                   〉 
                                 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   32 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where &lt;AC′&gt; and &lt;AS′&gt; denote the averages of AC′(x) and AS′(x), respectively, in the area V. Equation (32) expresses that the de-convolution may be effected in the case of homogeneous spreading by withdrawing from each array element of the first data array [AC′(x)] a fraction ε of an averaged value of the values of the array elements of the first data array and from each array element of the second data array [AS′(x)] the same fraction ε of an averaged value of the values of the array elements of the second data array. 
         [0069]    The homogenous compensation (30) combined with the small phase approximation (equations (17) and (18)) yields: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           A 
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                         
                           
                             1 
                             
                               1 
                               - 
                               ɛ 
                             
                           
                            
                           
                             [ 
                             
                               
                                 
                                   A 
                                   ′ 
                                 
                                  
                                 
                                   ( 
                                   x 
                                   ) 
                                 
                               
                               - 
                               
                                 ɛ 
                                  
                                 
                                   〈 
                                   
                                     A 
                                     ′ 
                                   
                                   〉 
                                 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           AS 
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                         
                           
                             1 
                             
                               1 
                               - 
                               ɛ 
                             
                           
                            
                           
                             [ 
                             
                               
                                 
                                   
                                     A 
                                     ′ 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                                  
                                 
                                   
                                     ϕ 
                                     ′ 
                                   
                                    
                                   
                                     ( 
                                     x 
                                     ) 
                                   
                                 
                               
                               - 
                               
                                 ɛ 
                                  
                                 
                                   〈 
                                   
                                     
                                       A 
                                       ′ 
                                     
                                      
                                     
                                       ϕ 
                                       ′ 
                                     
                                   
                                   〉 
                                 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           ϕ 
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         = 
                         
                           
                             AS 
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                           / 
                           
                             A 
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   33 
                   ) 
                 
               
             
           
         
       
     
         [0070]    The de-convolution is easy to calculate in this manner, as it requires only once the computation of the mean value of the amplitudes &lt;A′&gt; and the mean value of the amplitude-weighted phase (or phase-weighted amplitude) &lt;A′φ′&gt; in the area V. Note that the word “homogenous” refers to the stray light amplitude, not to the resulting correction term Δφ(x)=φ(x)−φ′(x). For each pixel, the correction of the phase will be strongly depend on the phase φ′(x) and the amplitude A′(x) measured in that pixel, and is thus not a homogeneous function. This become apparent by calculating the phase shift resulting from equation (33): 
         [0000]    
       
         
           
             
               
                 
                   
                     Δϕ 
                      
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           
                             
                               A 
                               ′ 
                             
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                            
                           
                             
                               ϕ 
                               ′ 
                             
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         - 
                         
                           ɛ 
                            
                           
                             〈 
                             
                               
                                 A 
                                 ′ 
                               
                                
                               
                                 ϕ 
                                 ′ 
                               
                             
                             〉 
                           
                         
                       
                       
                         
                           
                             A 
                             ′ 
                           
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                         - 
                         
                           ɛ 
                            
                           
                             〈 
                             
                               A 
                               ′ 
                             
                             〉 
                           
                         
                       
                     
                     = 
                     
                       
                         
                           
                             
                               A 
                               ′ 
                             
                              
                             
                               ( 
                               
                                 x 
                                 ′ 
                               
                               ) 
                             
                           
                            
                           
                             
                               ϕ 
                               ′ 
                             
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                         
                         - 
                         
                           ɛ 
                            
                           
                             〈 
                             
                               
                                 A 
                                 ′ 
                               
                                
                               
                                 ϕ 
                                 ′ 
                               
                             
                             〉 
                           
                         
                       
                       
                         A 
                          
                         
                           ( 
                           x 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   34 
                   ) 
                 
               
             
           
         
       
     
         [0071]    The phase shift at pixel x is thus inversely proportional to the corrected amplitude at this pixel. 
         [0072]    It shall be noted that the correction of homogeneous spreading can equally well be applied to the method that uses equations (23) or (19). Replacing g′(x,x′) in equation (23) by g h ′(x,x′) given by equation (30) yields: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           I 
                           k 
                         
                         ′ 
                       
                        
                       
                         ( 
                         x 
                         ) 
                       
                     
                     = 
                     
                       
                         1 
                         
                           1 
                           - 
                           ɛ 
                         
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 I 
                                 k 
                               
                               ′ 
                             
                              
                             
                               ( 
                               x 
                               ) 
                             
                           
                           - 
                           
                             ɛ 
                              
                             
                               〈 
                               
                                 
                                   I 
                                   k 
                                 
                                 ′ 
                               
                               〉 
                             
                           
                         
                         ] 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   35 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where &lt;I k ′&gt; denotes the average of the intensity values I k ′(x) in the area V. Equation (35) expresses that the data arrays associated to the respective phases of the modulation are de-convoluted by withdrawing from each array element I k ′(x) the fraction ε of an averaged value &lt;I′&gt; of the values of the array elements of the data array. A similar expression can easily be derived by replacing g′(x,x′) in equation (19) by g h ′(x,x′). 
         [0073]    The parameter ε quantifies the amount of light that is homogenously strayed by the optics of the system. Usually this parameter can be determined by an optical measurement and takes a fixed value for a given optics. However, in case of contamination of the optical system, the amount of scattered light can increase. If the level of contamination is dynamically determined and the parameter ε adjusted in accordance, the present method also allows correcting the loss of phase and amplitude contrast on account of the level of contamination. A method for determining the level of contamination is disclosed, for instance, in European patent application 07 110 379.0, which is herewith incorporated herein by reference in its entirety.