The disclosure relates to a time-of-flight camera and a method for detecting a point spread function for correcting the detected signals of a time-of-flight sensor.
This section provides background information related to the present disclosure which is not necessarily prior art.
The time-of-flight camera or time-of-flight camera systems in particular relate to all time-of-flight or 3D TOF camera systems that derive time-of-flight information from the phase shift of emitted and received radiation. As time-of-flight or 3D TOF cameras in particular PMD cameras including photo mix detectors (PMD) are suited as described for example in DE 197 04 496 C2 and available from the company ‘ifm electronic GmbH’ or ‘pmdtechnologies ag’ as Frame Grabber 03D or as CamCube. The PMD camera allows in particular a flexible arrangement of the light source and the detector which can be arranged both in a housing and separately.
This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.
It is the object of the disclosure to further improve the compensation of phase errors.
This object is achieved in an advantageous manner by the time-of-flight camera system according to the disclosure as specified in the independent claims.
Particularly advantageous is a time-of-flight camera for a time-of-flight camera system provided with a time-of-flight sensor comprising a plurality of time-of-flight pixels for determining a phase shift of emitted and received light, wherein based on the detected phase shifts distance values are determined, wherein the time-of-flight camera comprises a memory in which at least the parameters of a point spread function are stored, wherein the point spread function takes into account a scattered light behavior and signal crosstalk of the time-of-flight camera and the time-of-flight sensor, comprising an evaluation unit, which is designed such that on the basis of the stored point spread function a detected image (I(x)) is deconvoluted and a corrected image (I0(x)) is determined, and wherein the determination of the phase shifts or distance values is implemented on the basis of the corrected image (I0(x)).
It is also useful when the deconvolution of the detected image and the stored point spread function is done in the Fourier space.
Preferably, the point spread function is complex-valued.
It is also useful when the deconvolution of the detected image and the stored point spread function is done in the Fourier space.
In a further embodiment it is provided that the detected image is reduced in resolution and a correction is determined with this reduced resolution, and thereafter the correction is scaled up to the original resolution of the detected image and the detected image is corrected with the scaled-up correction.
As a result, the computational effort for the corrections can be significantly reduced.
It is further contemplated to perform the reduction in resolution by averaging amplitudes of adjacent pixels and upscaling by duplicating the amplitudes.
Preferably, the point spread function is stored in the memory as a matrix or a lookup table and/or a Fourier transform.
It is particularly useful if the point spread function stored in the memory is determined according to one of the following methods.
Preferably, a method for determining a point spread function is provided in which a point light source and a time-of-flight camera are arranged such that a time-of-flight sensor of the time-of-flight camera detects the point light source, wherein a distance between the point light source and the time-of-flight camera and/or a beam profile of the point light source are selected such that less than 5 time-of-flight pixels in a pixel row or column or a maximum of 16×16 pixels are illuminated, wherein the point spread function is determined at least on the basis of a subset of the time-of-flight pixels of the time-of-flight sensor.
This procedure has the advantage that for the determination of a point spread function the light source can be constructed in a simple manner within certain limits.
In one embodiment, it is provided to operate the point light source unmodulated.
In this case, the modulation gates of the time-of-flight pixels of the time-of-flight sensor are driven in such a way that charge carriers in the time-of-flight pixel are primarily accumulated only at one integration node. This procedure ensures that the generated photoelectrons are preferably collected at one integration node.
According to a further embodiment, it is provided to drive the point light source and the time-of-flight sensor in phase with a modulation signal and to determine sensor difference signals with respect to at least three different phase positions.
It is particularly useful that at least two image frames with different integration times of the time-of-flight sensor and/or different light intensities of the point light source are provided for determining the point spread function.
In a further embodiment, a method for determining a point spread function for a time-of-flight camera of a time-of-flight camera system is provided in which a first 3D image I1(x) of a reference scene and a second 3D image I2(x) with an object in the foreground of the reference scene are detected by means of the time-of-flight camera, wherein the second 3D image I2(x) or at least a partial area of the second 3D image I2(x) is corrected by means of a point spread function, and based on a difference between the first and the corrected second 3D image I′2(x) parameters of the point spread function are changed until the difference between the two images I1(x), I′2(x)) at least in the selected partial areas is minimal and/or falls below a threshold, wherein the resulting point spread function can be reused as a correction point spread function.
Likewise, a method for determining a point spread function for a time-of-flight camera of a time-of-flight camera system can be provided in which by means of the time-of-flight camera a single image I(x) of a reference scene with an object in the foreground is detected under the assumption that the reference scene is formed as a flat surface, wherein the single image I(x) is corrected by means of a first point spread function, wherein for determining a correction point spread function parameters of the first point spread function are changed until a difference between the corrected image I′(x) and an expected image I0(x) is minimal and/or falls below a threshold.
In another embodiment, a method for determining a point spread function for a time-of-flight camera of a time-of-flight camera system is provided, in which a 3D image IT(x) of a step of a reference object is detected by means of the time-of-flight camera, wherein the reference object has a step of defined height and the surfaces of the step are planar and arranged plane-parallel to one another, and the reference object is disposed in relation to the time-of-flight camera so that at the edge of the step a distance jump to the more distant step level is present, wherein the detected 3D image IT(x) is first corrected by use of a first model point spread function, wherein, when the distance values d of the thus corrected 3D image IT(x) are outside a maximum allowable distance error, parameters of the model point spread function are changed until the distance values d of the corrected 3D image IT(x) are minimal and/or are below an allowable distance error, wherein the resulting point spread function can be reused as a correction point spread function.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
The disclosure will be explained hereinafter in more detail by means of exemplary embodiments with reference to the drawings.
In the drawings:
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
In the following description of the preferred embodiments like reference symbols designate the same or similar components.
The time-of-flight camera system 1 comprises an emitting unit or an illumination module 10 comprising a light source 12 and an associated beam-shaping optics 15 as well as a reception unit or time-of-flight camera 20 with a reception optics 25 and a time-of-flight sensor 22.
The time-of-flight sensor 22 has at least one time-of-flight pixel, preferably a pixel array, and is designed in particular as a PMD sensor. The reception optics 25 is typically composed of a plurality of optical elements in order to improve the imaging characteristics. The beam-shaping optics 15 of the emitting unit 10 may be formed, for example, as a reflector or lens optics. In a very simple embodiment, optionally optical elements can be dispensed with both at the reception and the emitting side.
The measurement principle of this arrangement is essentially based on the fact that, based on the phase shift of the emitted and received light the time-of flight and thus the distance travelled by the received light can be determined. For this purpose, the light source 12 and the time-of-flight sensor 22 are supplied in common with a specific modulation signal M0 with a base phase position φ0 via a modulator 30. In the example shown, moreover, a phase shifter 35 is provided between the modulator 30 and the light source 12, wherein the phase shifter is able to shift the base phase φ0 of the modulation signal M0 of the light source 12 by defined phase positions φvar. For typical phase measurements, preferably, phase positions φvar=0°, 90°, 180°, 270° are used.
In accordance with the adjusted modulation signal, the light source 12 emits an intensity-modulated signal Sp1 with the first phase position p1 or p1=φ0+φ0var. This signal Sp1 or the electromagnetic radiation is reflected in the illustrated case by an object 40 and hits due to the distance traveled 2d or the time-of-flight tL3 with a phase shift Δφ0 with a second phase position p2=φ0+φvar+Δφ(tL) onto the time-of-flight sensor 22 as a reception signal Sp2. In the time-of-flight sensor 22 the modulation signal M0 is mixed with the received signal Sp2, wherein from the resulting signal the phase shift or the object distance d is determined.
As the illumination source or light source 12 preferably infrared light emitting diodes or surface emitters (VCSEL) are suited. Of course, other sources of radiation in other frequency ranges are conceivable, in particular light sources in the visible frequency range come into consideration.
The basic principle of the phase measurement is shown schematically by way of example in
In order to determine the PSF, it is preferred that the light source 112 essentially illuminates only one single pixel 23, preferably less than 3×3 and in particular less than 5×5 pixels 23 of the time-of-flight sensor 22. In order to provide such a light spot, an aperture 150 with a sufficiently small aperture opening 152 is provided in front of the light source 112. The original light signal 10 emerging from the aperture 150 is influenced by a variety of impacts on the way to the sensor up to the detected image signal I(x), for example, by characteristics of the optical system or the optics 25 or by reflections between the sensor 22 and the optics 25. Moreover, intrinsic characteristics of the sensor 22 itself play a role, such as signal crosstalk or an electron diffusion between the pixels 23. As a result, the image signal I(x) detected at the sensor can be considered as a convolution between the incoming light I0 and a point spread function PSF, which essentially includes all characteristics of the overall system. Due to the singular illumination of one or a few pixels, the detected image signal I(x) essentially corresponds to the point spread function PSF. For determining the point spread function, preferably all pixels are evaluated. In principle, however, it is also conceivable to evaluate only a partial area around the singularly illuminated pixel.
The quality of the point spread function PSF can be improved, if necessary, if several point spread functions are determined on the basis of a plurality of singularly illuminated pixels 23. For example, it is useful to additionally illuminate pixels 23 outside the optical axis in order to determine further point spread functions at these positions. On the basis of the determined point spread functions, then a point spread function can be determined which is to be used for the later corrections.
Since the mentioned electron diffusion typically occurs at a diffusion rate that is significantly lower than the propagation of light, the electrons reach adjacent pixels with a time delay, so that the influence of electron diffusion also is observable as a phase shift. The point spread function PSF thus also includes complex-valued fractions. For a more accurate determination of these quantities, it is therefore advantageous to operate the light source 112 at different phase positions.
Since a point spread function typically has high dynamics over several powers of ten, it is also advantageous for detecting the PSF to operate the point light source 112 with different intensities and/or the sensor 22 with different integration times.
In order to compensate for dark currents, it is helpful to detect image signals I(x) both when the light source 112 is switched on and off.
From the sum of all measurements, then a model of a point spread function can be generated, which is applicable to all pixels 23.
Such a model can be generated according to the following considerations: Since the measured PSF is noisy and may contain, for example, artifacts that are very specific to the pixel position on the sensor, a “clean” PSF is obtained, for example, by fitting the measured PSF to a suitable model. As a model, for example
PSF({right arrow over (x)})=A({right arrow over (x)})+B(∥{right arrow over (x)}∥p
wherein, for example
A({right arrow over (x)})=AOexp(−s(∥{right arrow over (x)}∥p))
can be selected.
Here, {right arrow over (x)} denotes the distance vector from the central pixel {right arrow over (x)}0 of the PSF in pixels and ∥{right arrow over (x)}∥p=(x1p+x2p)1/p denotes the p norm of {right arrow over (x)}. p=2 would result, for example, in an exactly radial symmetrical PSF. Since the PSF need not necessarily be radially symmetric, but e.g. may be diamond-shaped, p≢2 can give better results. By a suitable choice of the p norm, anisotropies of the PSF can thus be taken into account.
Since most of the light hits on the central pixel of the PSF, it is useful to add to the model a locally narrow function B(r) that reflects that fraction. This can e.g. be a Dirac Delta or a Gaussian function describing, for example, the lens blurring.
For reasons of efficiency, it is advantageous to describe the PSF in the form of a spline curve, for example. In order to describe phase shifts with this PSF, the spline may, for example, have a complex-valued fraction in addition to the real fraction. This makes the PSF complex-valued, too. Suitable fitting parameters are then, for example, the values at the nodes of the splines, the normalization parameters p and pB, as well as parameters that specify the shape of B(r). Instead of storing the entire PSF, it is advantageous to just store the necessary parameters in order to generate the PSF from these parameters when initializing the software.
During operation of the time-of-flight camera, then it is possible to correct the distance values with regard to scattered light influences based on the stored parameters and the PSF generated therefrom.
With the aid of the setup described preferably a first image Ĩk({right arrow over (x)}) with a short exposure time tk is detected. Specifically, the exposure time should be chosen so that none of the pixels is in saturation. In the case where modulated light is used, no pixel of the obtained raw images may be saturated.
In addition, a second image Ĩl({circumflex over (x)}) with a long exposure time tl is detected. Here, the exposure time should be chosen so that the proportion of the PSF caused by scattered light and/or crosstalk/signal crosstalk is as completely visible as possible, i.e. not affected by noise. The exposure time here is typically 1000-10000 times greater than in the first image.
During the image detection either unmodulated light can be used or the light source and the sensor can be modulated in a usual manner. In the latter case the images Ĩk({right arrow over (x)}) and Ĩl({right arrow over (x)}) are complex-valued as usual, thus containing phase information, which reflects the time from the emission of the light up to the reception of the generated electrons at the gates of the sensor.
For both images, it may be helpful to detect a series of images instead of one image and to average them to further reduce the noise.
For example, in order to obtain consistent values between the first and the second image, the brightnesses (or amplitudes) are normalized with the different integration times:
I
l({right arrow over (x)})=Ĩl({right arrow over (x)})/tl
I
k({right arrow over (x)})=Ĩk({right arrow over (x)})tk (3)
In the images obtained the exact position of the illuminated central pixel {right arrow over (x)}0 is generally still unknown. In order to determine the position of the central pixel {right arrow over (x)}0, the first image Ik({right arrow over (x)}) is binarized, for example, by means of a thresholding method, so that the bright LED spot should result in a contiguous area.
The center of the contiguous area is a good estimate of the central pixel or the center point {right arrow over (x)}0 on the sensor onto which the light source is directed. This center point {right arrow over (x)}0 need not necessarily fall onto the center of a pixel, i.e. the found position for the center point {right arrow over (x)}0 need not be an integer.
Now the image Ik({right arrow over (x)}) of the short exposure is fitted to the model of a sharp spot. Such a model is designated for example in equation (1) with B(∥{right arrow over (x)}∥p). Here in particular
is determined, wherein PB is the parameter of the function B(r) and pB the parameter of the norm. For example, B(r)=B0exp (−br2) could be chosen, wherein then PB=(B0,b).
For the numerical minimization according to equation (4) there are numerous algorithms, such as e.g. the Nelder-Mead method.
In addition to PB and pB, it may give better results in equation (4) if the center {right arrow over (x)}0 of the light source is included in the optimization. Then the previously found value from the binarized image would be suitable as a starting value.
Now we consider the second image Il({right arrow over (x)}) with the long exposure time. Analogously to equation (4), the image is fitted to the model of the scattered light signature, A({right arrow over (x)}) in equation (1):
If necessary, the central portion of the PSF described by B(r) can be disregarded.
Analogous to the first fit, here PA are the parameters of the model function A({right arrow over (r)}). For example, a function of the form:
A({right arrow over (r)})=A0exp(−s(∥{right arrow over (r)}∥p
proved to be appropriate, wherein s(r) represents a (real) spline curve. The function Φ({right arrow over (r)}) describes a phase delay of the incident light spot, which may be caused, for example, by phase crosstalk/signal crosstalk between the pixels. Since this is not necessarily isotropic, it may be necessary to model Φ({right arrow over (r)}) as a two-dimensional function (e.g., a 2D spline or a 2D lookup table) instead of assuming a radially symmetric function as for s(r).
The fit parameters PA are in this case A0, pA, as well as the function values of the splines at the nodes. If necessary, the position of the nodes can also be part of the fit parameters PA.
For example, with the obtained parameters PA and PB, as well as the PSF model according to equation (1) it is now possible to generate an artifact-free and non-noisy PSF. Instead of storing the complete PSF, it is advantageous to store only these or other appropriate parameters from which the PSF can be generated during the initialization of the software.
It is preferably provided to process the images detected with different exposure times separately from each other:
PSF({right arrow over (x)})=A1({right arrow over (x)})+A2({right arrow over (x)})+ . . . (7)
The sub-models A1 ({right arrow over (x)}), A2({right arrow over (x)}), . . . may for example correspond to different dynamic ranges of the PSF and can each be fitted separately from each other to detected images I1({right arrow over (x)}), I2({right arrow over (x)}), . . . . Based on these fit parameters, the PSF can then be summarized according to equation (7).
In the foregoing, the calibration has been described with reference to a point light source with an aperture as the light source or light source system. Of course, the calibration is not limited to such a light source, but all light sources or light source systems come into consideration, which are able to generate a suitable light spot.
For example, the images may be detected as shown in
Alternatively, for example, it is possible to detect only one image of a target at a sufficient distance from a flat reference scene or plane (e.g., wall, table, floor) instead of two images. In order to determine the PSF, the parameters are now varied until the reference surface behind the target is as flat as possible, or the deviations of the corrected reference surface from a plane are smaller than an allowable limit.
It is particularly advantageous if the dimensions and distances of the reference scene and/or the introduced target are known in advance.
The raw images Dj (for example j=0, 1, 2, 3 corresponding to the phase positions 0°, 90°, 180°, 270° measured by the sensor are in a mathematical sense a convolution of the unknown raw images Dj0 not distorted by scattered light with the PSF:
D
j(x)=ΣΔxDj0(x−Δx)·PSF(Δx) (8)
Interesting for further processing are the complex-valued images (8)
I(x):=(D0(x)−D2(x))+i(D1(x)−D3(x)) (9)
Since the convolution is a linear operation, the same applies analogous to I(x) and the complex-valued image I0(x) not distorted by scattered light:
I(x)=ΣΔxI0(x−Δx)·PSF(Δx) (10)
or
I(x)=I0(x)·PSF(x) (11)
The deconvolution is executed in the Fourier space. For this purpose, I(x) and the PSF are Fourier transformed (F[⋅]): Î(k)=F[I(x)] and (k)=F[PSF(x)]. Thus, equation 4 becomes:
Î(k)=Î0(k)·(k) (12)
and thus
This gives the image not distorted by scattered light
I
0(k)=F−1[Î0(k)] (14)
If one is interested in the correction ΔI(x):=IO(x)−I(x), i.e. the difference between the detected and the corrected image, Eq. (13) can be rearranged as follows:
wherein ΔÎ(k)=F[ΔI(x)] analogous to the above treatment is the Fourier transform of the correction ΔI(x).
This correction can e.g. be scaled down or reduced in resolution for performance reasons prior to the Fourier transformation and can be scaled up again to the original resolution after a scattered light correction. The correction thus obtained may subsequently be added to the detected image I(x) in order to obtain the corrected image I0(x).
Due to the data reduction of course, the computational effort is reduced, too.
The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10 2017 205 742.4 | Apr 2017 | DE | national |
This application is a National Stage of International Application No. PCT/EP2018/058456, filed on Apr. 3, 2018, and published in German as WO 2018/185083 A2 on Oct. 11, 2018. This application claims the priority to German Patent Application No. 10 2017 205 742.4, filed on Apr. 4, 2017. The entire disclosures of the above applications are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2018/058456 | 4/3/2018 | WO | 00 |