3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 ·...
Transcript of 3D imaging using time-correlated single photon counting304552/FULLTEXT01.pdf · 2010-03-18 ·...
UPTEC F10 019
Examensarbete 30 hpMars 2010
3D imaging using time-correlated single photon counting
Thomas Neimert-Andersson
Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student
Abstract
3D imaging using time-correlated single photoncounting
Thomas Neimert-Andersson
This project investigates a laser radar system. The system is based on the principles oftime-correlated single photon counting, and by measuring the times-of-flight ofreflected photons it can find range profiles and perform three-dimensional imaging ofscenes. Because of the photon counting technique the resolution and precision thatthe system can achieve is very high compared to analog systems. These propertiesmake the system interesting for many military applications. For example, the systemcan be used to interrogate non-cooperative targets at a safe distance in order togather intelligence. However, signal processing is needed in order to extract theinformation from the data acquired by the system. This project focuses on the analysisof different signal processing methods.
The Wiener filter and the Richardson-Lucy algorithm are used to deconvolve the dataacquired by the photon counting system. In order to find the positions of potentialtargets different approaches of non-linear least squares methods are tested, as well asa more unconventional method called ESPRIT. The methods are evaluated based ontheir ability to resolve two targets separated by some known distance and theaccuracy with which they calculate the position of a single target, as well as theirrobustness to noise and their computational burden.
Results show that fitting a curve made of a linear combination of asymmetricsuper-Gaussians to the data by a method of non-linear least squares manages toaccurately resolve targets separated by 1.75 cm, which is the best result of all themethods tested. The accuracy for finding the position of a single target is similar between the methods but ESPRIT has a much faster computation time.
ISSN: 1401-5757, UPTEC F10 019Examinator: Tomas NybergÄmnesgranskare: Mikael SternadHandledare: Markus Henriksson och Lars Sjöqvist
Populärvetenskaplig
sammanfattning
Laser-radar (LADAR) kan användas för att göra tredimensionella avbildningar av scener. Till skillnad från
vanliga kameror, som bara registrerar intensiteten på ljuset som reflekteras från en scen och på så sätt skapar
en bild av scenen, så registrerar laser-radarsystem även avståndet i scenen. Detta gör de genom att mäta tiden
det tar från att en laserpuls sänts ut tills dess att den kommer tillbaka, reflekterad från något objekt. Eftersom
ljushastigheten är känd går det att räkna ut hur långt borta objektet befinner sig. LADAR-systemet som
används i det här projektet mäter avstånd och intensitet i en punkt i taget, varpå man måste vrida systemet för
att mäta nästa punkt för att tillslut ha scannat av en hel scen och kunna skapa en tredimensionell bild av
scenen. Detta skiljer sig från en vanlig kamera som ju mäter intensiteten i flera punkter samtidigt, och gör
också att en 3D-avbildning av en stor scen blir en relativt tidskrävande process.
Istället för att scanna av hela scener och skapa tredimensionella avbildningar kan man mäta i endast en punkt
(riktning), vilket skapar en endimensionell avbildning som man brukar kalla avståndsprofil (eng. range
profile). Till exempel kan man mäta mot ett tvåglasfönster, vilket kommer att resultera i att lite ljus
reflekteras från både den främre och den bakre glasrutan, och avståndet mellan dessa glasrutor kan då
beräknas vilket ger information om tvåglasfönstrets avståndsprofil.
När man mäter avståndet till en viss punkt i en scen finns det alltid en viss mätosäkerhet som beror på
systemet. På samma sätt, om man mäter en avståndsprofil och får tillbaka flera olika avstånd från samma
riktning så finns det en viss osäkerhet i dessa avstånd. I fallet med tvåglasfönstret, om den främre och den
bakre glasrutan är väldigt nära varandra så kan osäkerheten i de uppmätta avstånden göra att det inte går att
urskilja båda glasrutorna. Det minsta avståndet mellan två objekt som går att mäta i en avståndsprofil avgör
systemets upplösning (i djupled). För fotonräknande system, som är en typ av LADAR-system, är
osäkerheten väldigt liten jämfört med andra system. Detta medför att upplösningen man kan uppnå med ett
fotonräknande system är väldigt hög.
När man använder LADAR-systemet får man inte ut avstånden på en gång, utan man får ut en signal. För att
kunna tolka denna signal och få ut den information man vill åt (avstånd och intensitet) krävs det
signalbehandlingsmetoder. Med bra kunskap om det system man använder kan man t.o.m. öka upplösningen
för systemet m.h.a signalbehandling. Det här projektet fokuserar på användandet av olika
signalbehandlingsmetoder för att åstadkomma bästa möjliga precision och upplösning vid bestämning av
avstånd och avståndsprofiler.
Uppsala universitet
3D imaging using time-correlated single photon counting! v
Preface
This thesis is the result of my diploma project, which was carried out at the Swedish Defence Research
Agency as a small part of a larger project during the time period August 2009 – January 2010. This
completes my education to a master’s degree in Engineering Physics at Uppsala University.
Uppsala University
3D imaging using time-correlated single photon counting! vii
Acknowledgements
I would like to thank my supervisors Markus Henriksson and Lars Sjöqvist at the Swedish Defence Research
Agency (FOI) for encouraging me to investigate my own ideas and letting me do things my way, and for
helping me when things did not go the way I wanted it to. Also, I would like to thank Christina Grönwall at
FOI and Professor Mikael Sternad at the Institution of Signals and Systems at Uppsala University for helping
me with some of the signal processing theory.
Uppsala University
3D imaging using time-correlated single photon counting! ix
Contents
______________________________________________________1 Introduction! 1
_____________________________________________________________________________1.1 Background! 1
__________________________________________________________________________1.2 Project outline! 1
____________________________________________________________________________1.2.1 Purpose! 1
_______________________________________________________________________1.2.2 Previous work! 4
___________________________________________________________2 Theory! 5
__________________________________________________2.1 Time-correlated single photon counting! 5
_____________________________________________________________________2.1.1 General principle! 5
___________________________________________________________________________2.1.2 Time jitter! 8
_________________________________________________________________________2.2 Deconvolution! 10
________________________________________________________________________2.2.1 Wiener filter! 10
__________________________________________________________2.2.2 Richardson-Lucy algorithm! 13
_____________________________________________________________________________2.3 Detection! 14
___________________________________________________________________________2.3.1 ESPRIT! 14
____________________________________________________________2.3.2 Non-linear least squares ! 17
___________________________________________3 Experimental methods! 19
____________________________________________________________________3.1 The TCSPC system! 19
________________________________________________________________________3.2 Measurements! 20
_____________________4 Implementation of signal processing methods! 22
_____________________________________________________________4.1 Signal processing methods! 22
Uppsala University
3D imaging using time-correlated single photon counting!
_____________________________________________________________________________4.1.1 Model! 22
________________________________________________________________________4.1.2 Wiener filter! 24
__________________________________________________________4.1.3 Richardson-Lucy algorithm! 25
___________________________________________________________________________4.1.4 ESPRIT! 26
____________________________________________________________4.1.5 Non-linear least squares ! 28
______________________________________________________________________4.2 Image processing! 29
______________________________________________________________________4.2.1 Segmentation! 30
________________________________________________________________________4.2.2 Plane fitting! 31
____________________________________________________________________________4.2.3 Cones ! 32
_________________________________________________________5 Results! 33
_______________________________________________________________5.1 One-dimensional results ! 33
_____________________________________________________________________5.1.1 Deconvolution! 33
__________________________________________________________________________5.1.2 Detection! 35
______________________________________________________________5.2 Three-dimensional results! 38
________________________________________________________________________5.2.1 Plane fitting! 38
____________________________________________________________________________5.2.2 Cones ! 39
_____________________________________________________6 Conclusions! 40
______________________________________________________________________________6.1 Methods! 40
________________________________________________________________________6.1.1 Wiener filter! 40
___________________________________________________________________________6.1.2 ESPRIT! 40
____________________________________________________________6.1.3 Non-linear least squares ! 40
_______________________________________________________________________6.1.4 Comparison! 41
________________________________________________________________6.2 Possible improvements ! 41
_______________________________________________________References! 43
Uppsala University
3D imaging using time-correlated single photon counting!
1 Introduction
1.1 Background
Range profiling using time-of-flight (TOF) photon counting techniques takes advantage of the particle
behaviour of light. This makes it possible to achieve very high resolution in remote range profiling, which is
of considerable interest in many military applications [1]. For example, it is possible to detect and classify
threats, such as weapons, by their optical signatures at a safe distance. There are also civilian applications in
for example archeology, since it is possible to make three-dimensional images of light sensitive objects due
to the low power needed from the laser. For the same reason, photon counting techniques can be used for
medical imaging purposes, in order to keep the radiation dose at a minimum (see [2]). In fact, the photon
counting system used in this project was originally designed for measuring fluorescence lifetimes and for
bioanalytical purposes, and historically, the analysis of molecules in biology and chemistry using
fluorescence spectroscopy has been a very large area of application for photon counting techniques. Even
though the acquisition times for photon counting systems generally are longer than for analog systems, the
superior resolution and accuracy that the photon counting systems can offer are often of higher importance
[3]. However, due to imperfections in the photon counting systems the high accuracy and resolution that the
technique offers cannot be fully utilized from the start. Signal processing has to be applied in order to make
use of the technique to its full extent.
1.2 Project outline
In the upcoming chapters the principles of the photon counting system are described, together with its
advantages over analog systems and its limitations due to imperfections and non-ideal components. In the
next subsections the outline of this project is stated based on the limitations and problems in the current
system.
1.2.1 Purpose
As previously mentioned and as will be explained in detail later, the photon counting system has some
imperfections that cause a non-ideal impulse response, which affects the precision and resolution with which
it can image objects. This impulse response is usually called the instrument response function (IRF).
However, with detailed knowledge about the impulse response, signal processing methods can be used to
improve the precision and resolution, and thus we can obtain more information from the data than was first
possible. The raw data are in the form of histograms that contain one or several peaks, as shown in Fig. 1.1.
The information that is to be extracted is the positions and amplitudes of these peaks. This is essentially a
Uppsala University
3D imaging using time-correlated single photon counting" 1
deconvolution and detection problem, where the deconvolution separates peaks that are too close together to
be resolved directly, and the detection finds the relative positions and amplitudes of these peaks.
Fig. 1.1 An example of the raw data that is to be analysed. It
is in the form of a histogram, and the required information is
the locations and amplitudes of the peaks.
The following signal processing methods will be examined:
• Deconvolution
– Wiener filter
– Richardson-Lucy algorithm
• Detection
– ESPRIT
– Non-linear least squares (NLS)
Deconvolving the data and detecting the peaks can be considered as a pre-processing part, and this is
essentially a one-dimensional signal processing problem. The photon counting system is however able to
scan a scene that is larger than the instantaneous field of view. Scanning provides a three-dimensional image
of the scene, which can be further analysed using image processing methods. This can be considered as a
post-processing part.
A full-scaled image analysis problem can be divided into smaller subproblems. The following subproblems
often describe an image analysis problem [4]:
1. Image acquisition
2. Pre-processing
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
900
1000Histogram
Bins
Counts
Uppsala University
3D imaging using time-correlated single photon counting" 2
3. Segmentation
4. Representation
5. Classification and recognition.
The image acquisition is the process of collecting the data. As mentioned above, the pre-processing step
consists of deconvolving each signal histogram acquired and detecting any peaks present in the signal, which
can be one or several. Each of these peaks can then be seen as a point in the resulting three-dimensional
image. The segmentation step deals with grouping points that belong to the same object and the
representation step labels these groups and represents them by some appropriate parameters. The
classification and recognition steps analyse the groups of points and hopefully recognize the different objects
present in the image.
In this project methods for classification and recognition are not considered. The focus will be on the pre-
processing and the segmentation steps. The representation part is merged together with the segmentation and
it will not be examined in detail. The studied geometrical objects will have simple geometry, such as cones,
spheres and flat surfaces.
Quality criteria
In order to evaluate the precision of the system and the performance of the algorithms, different quality
criteria must be used. For the deconvolution and detection methods the following quality criteria will be
used:
• Resolution – How short distance between peaks can be resolved?
• Accuracy – How accurately calculated are the positions of the peaks?
• Dependence on signal to noise ratio (SNR)
• Computational burden.
The data used to evaluate the signal processing methods will contain two peaks separated with a known
distance. This distance will be decreased and the precision with which the detection methods can calculate
this distance will be evaluated in terms of mean values and standard deviations. The studied data will have
different SNR values in order to check the robustness of the methods under the influence of noise.
The general performance of the system in terms of how accurately it can image a scene will be evaluated
using the following criteria:
• Fitting a mathematical plane to a known flat surface and calculate the distance from each point in the
measured data to the plane
• Calculating characteristic parameters for cones or spheres such as height and radius.
These criteria will also evaluate the performance of the studied signal processing methods.
Uppsala University
3D imaging using time-correlated single photon counting" 3
1.2.2 Previous work
Many papers have been written on the subject of finding peaks in data from laser radar systems. A very
common method is the curve fitting approach, where a curve defined by some appropriate parameters is fitted
to the measured data by a method of least squares (usually non-linear). In [1], this method is examined with
the IRF approximated by a sum of five Gaussian base functions, which is subsequently fitted to the measured
data. In [5] the data is first deconvolved and then fitted by Gaussian functions. Recently, Buller et al.
proposed an algorithm based on a Reversible Jump Markov Chain Monte Carlo (RJMCMC) method which
has been shown to be very efficient in [6]. There are also maximum likelihood and non-parametric methods
such as bump hunting procedures studied in [6].
Deconvolution methods have been studied in [7], where the Richardson-Lucy algorithm is examined. In [5]
the Wiener filter is analysed and in [8] both the Richardson-Lucy algorithm and the Wiener filter are
examined.
Uppsala University
3D imaging using time-correlated single photon counting" 4
2 Theory
2.1 Time-correlated single photon counting
In the following subsections the principles and basic features of TOF laser radar systems and time-correlated
single photon counting (TCSPC) systems are presented. A discussion about the differences between analog
and TCSPC techniques, and what makes the latter technique superior in terms of time resolution and
accuracy is included.
2.1.1 General principle
Time-of-flight laser radar systems are based on the fact that the speed of light is constant. By emitting light
towards a target and measuring the time to when the light returns, the distance to the target can be calculated
using the well known relation
! R =ct
2,! ! ! ! ! ! ! ! ! ! ! ! ! (2.1.1)
where c is the speed of light and t is the measured time-of-flight. The factor two is due to the fact that the
light travels back and forth to the target [1]. When the emitted light hits the target the light is generally
(though not necessarily) scattered in all directions, and the returning power can be expressed using the radar
range equation:
! PR=PT!T
"TR2# A$ #
AR!R
R2
# e%2&R
,! ! ! ! ! ! ! ! ! (2.1.2)
where PR and PT are the received and the transmitted powers, respectively [1]. "T denotes the laser beam
divergence, A# is the target cross section, AR is the aperture area of the receiver, ! is the atmospheric
attenuation and "R and "T are the efficiencies of the receiver and the transmitter, respectively [1]. These
equations are fundamental for all TOF laser radar systems, but as will be described next analog and TCSPC
systems differ in other aspects.
Analog systems emit laser pulses with a relatively high power. When a laser pulse is reflected by a target, it
is scattered and parts of the light travel back to the detector, as described by equations (2.1.1) and (2.1.2).
The detector converts the reflected optical signal into an electrical signal, which is then sampled by an
analog-to-digital converter. In short, the detector registers the intensity of the reflected optical signal, which
is illustrated in Fig. 2.1.
Uppsala University
3D imaging using time-correlated single photon counting" 5
Fig. 2.1 The principle of an analog system, which has a relatively high powered laser.
The reflected optical signal corresponds to the range profile of the targets and the
detector converts this signal into an electrical signal. An ADC samples the electrical
signal, yielding a discretized signal.
The TCSPC system is based on a different principle, and in this project it is called Reversed Start-Stop
TCSPC. The principle is illustrated in Fig. 2.2. As in the analog case the laser is pulsed, i.e. it sends out short
pulses with a repetition rate typically in the MHz range. However, unlike the analog system, the power of the
laser pulses is very low, which means that the probability of detecting any photons (reflected from some
distant target) is very low. Typically the probability of detection in one pulse cycle is in the range of 1-10$%.
Fig. 2.2 The principle of Reversed Start-Stop TCSPC. When a photon is detected in
any cycle, the timer starts and measures the time until the next laser pulse is emitted.
A histogram is then created with bins corresponding to time intervals and the number
of photons (counts) that have been detected in these intervals.
The detector is sensitive enough to be able to detect and count single photons. When a reflected photon hits
the detector, a photoelectron is emitted from the detector, creating an electrical signal. At the time when this
signal is registered a timer starts, and when the next laser pulse is emitted the timer stops. A ”1” is then
added to a memory with an address corresponding to the time measured [3]. So, instead of detecting the
!"!"#$"%&'($)#*+&,)-.*+
/"$"#$'0&*.%&1/2
3*4(+"%&"+"#$0)#*+&,)-.*+
5*0-"$,
6*,"0&(7+,"
!"#$%&' !"#$%&( !"#$%&)
*+,%-&./$,%,
0%1%#1%2&.34145,
!" !
#
67,148-+9
!"#$%&
'%!%(&%)*+,-&-.
!/0%
1203%#*-4*+,-&-.5
Uppsala University
3D imaging using time-correlated single photon counting" 6
intensity of a reflected signal, a histogram is created with bins corresponding to the time when the photons
were detected and the number of detected photons (counts) on the vertical axis. Due to the low probability of
detection, most pulse cycles have no detections at all, some have one detected photon and pulse cycles with
more than one detected photon are very rare [3].
If a reflective target is present in the path of the laser pulses, it will appear as a peak in the histogram. The
absolute distance to the target can in general not be measured with this technique, since the measured time
depends on the repetition rate on the laser, which is unrelated to the absolute distance. Modifications of the
principle that make it possible to measure absolute distances have been proposed by Hiskett et al. in [9].
Anyways, assume that there is another target some distance further away (also in the path of the laser
pulses). This target will appear as another peak in the histogram, and the relative distance between these two
targets can be measured using equation (2.1.1) modified as
! !R =c(t
1" t
2)
2,! ! ! ! ! ! ! ! ! ! ! ! (2.1.3)
where t1 and t2 are the times-of-flight for the first and the second target, respectively. There is a problem that
can occur here. Since the time is measured from when the photon is detected to when the next laser pulse is
emitted, the maximum measurable time is the interval between two consecutive laser pulses. This
corresponds to the case with a target located so the reflected photons are detected exactly at the beginning of
a pulse cycle. Using equation (2.1.1), this time can be converted to the maximum measurable distance, which
gives a limit for how far apart two targets can be separated and still be measured correctly. If the distance
between two targets exceeds this maximum measurable distance, an ambiguity in the range profile will
occur, which is illustrated in Fig. 2.3.
Uppsala University
3D imaging using time-correlated single photon counting" 7
Fig. 2.3 Illustration of the range ambiguity. The first target is detected in the
beginning of a pulse cycle (circle), and the second target is detected in the end
of a cycle (star). This gives rise to a histogram corresponding to the range
profile of the targets. When the second target is moved a distance d from the
first target the reflected photons are detected in the beginning of the cycles,
giving a false range profile.
2.1.2 Time jitter
Jitter is the name of the random time variations that occur in the system, which determine the effective
resolution that can be achieved. The total time jitter can be expressed as
! !tsystem = !tlaser2
+ !tdetector2
+ !telectronics2
,! ! ! ! ! ! ! ! (2.1.4)
where #ti is the time jitter of the corresponding system component [1], i.e. the total time jitter is the RMS
value of a sum of jitter components, which are assumed to be jointly uncorrelated. The laser jitter is
dominated by the width of the laser pulse. When a photon hits the detector a photoelectron is emitted, and the
distance this photoelectron travels before it is registered and the timer starts varies due to the thickness of the
substrate in the detector. This non-ideal effect causes the jitter in the detector. Finally, the jitter in the
electronics is caused by all non-ideal effects associated with the electronical devices in the system, e.g. the
Time to Digital converter on the PCI-board needed for the data acquisition. The time jitter in the detector is
often the largest contribution to the total time jitter of the system. The total time jitter is commonly denoted
!
!
!"!"#$%&'($)*'"$+
Uppsala University
3D imaging using time-correlated single photon counting" 8
the system instrument response function (IRF). The IRF is usually described using the full width half
maximum (FWHM) value, i.e. the width of the response at the points equal to half of the maximum of the
response, see Fig. 2.4.
! ! !
Fig. 2.4 An example of an IRF. The full width half maximum
is marked.
For analog systems, the bandwidth of the detector limits the performance of the system [3]. This means that
in order to resolve two peaks that are very close together, the bandwidth of the detector must be high. This is
an effect of the Fourier transform that relates the time domain to the frequency domain, which states that
when a signal is narrow in the time domain (i.e. when two peaks are close together) it will be wide in the
frequency domain. If the bandwidth of the signal is wider than the bandwidth of the detector, the signal will
be cut in frequency and smeared out in the time domain, making it more difficult to resolve multiple peaks.
However, for time-correlated single photon counting systems the factor that limits the performance is the
accuracy of the timing of the detected photons. The uncertainty of the timing is usually much lower than the
uncertainty caused by the bandwidth of the detector, meaning that the resolution that can be achieved by
TCSPC systems is higher than the resolution achieved by analog systems. In other words, the IRF of a
TCSPC system is shorter than the time response of an analog system [3].
As explained in section 2.1.1, the system can be used to measure relative distances between targets by
measuring the corresponding peaks in the histogram. Ideally these peaks are infinitesimally thin spikes,
which would be the case if the system had an IRF with a FWHM value equal to zero. However, since this is
not the case in the real world, the spikes will be smeared out in time, and if they are close together they will
melt in to one another. The FWHM value of the IRF gives the minimum distance between the targets that can
be clearly resolved (without using any signal processing). This is a simplified description of what is usually
called the Rayleigh criterion, and this defines the resolution of the system. Furthermore, the accuracy of the
system (or the signal processing methods) can be defined as the precision in which a peak in the histogram
can be measured in terms of position and amplitude.
10 20 30 40 50 60 70 80 90 1000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Bins
No
rma
lize
d c
ou
nts
FWHM
Uppsala University
3D imaging using time-correlated single photon counting" 9
2.2 Deconvolution
Deconvolution is the inverse operation to convolution. Convolution is the operation used when describing
the influence of a linear system on a signal, i.e. the output signal from a system is the input signal convolved
with the system’s impulse response, as depicted in Fig. 2.5.
Fig. 2.5 The outgoing signal is the convolution
between the incoming signal and the impulse response
of the system.
The convolution for discrete systems is defined as
! y(n) = h(n)!d(n) = h(k)d(n " k)k="#
#
$ ,! ! ! ! ! ! ! ! (2.2.1)
where d(n) is the input signal (later called the desired signal) and h(n) is the impulse response of the system.
This means that a convolution weights input signals d(n – k) with the coefficients h(k), yielding the output
signal y(n). A convolution in the time domain is represented by a multiplication in the frequency domain, i.e.
! Y (! ) = H (! )D(! ) ,! ! ! ! ! ! ! ! ! ! ! (2.2.2)
where Y, H and D are the Fourier transforms of y, h and d, respectively. This means that deconvolving a
signal, i.e. restoring the input signal from the measured output signal, from the model in Fig. 2.5 is a simple
task provided that the impulse response is known and has a stable inverse. Taking the Fourier transform of
the output signal and dividing it with the Fourier transform of the impulse response will give the input signal.
However, the model in Fig. 2.5 is not very realistic, since noise is likely to be present in reality. Adding
measurement noise to the model yields the following expression:
! x(n) = y(n) + v(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! (2.2.3)
where v(n) is assumed to be white noise with zero mean. Restoring d(n) from this expression is more
difficult, and since there is no guarantee that H(#) has a stable inverse, simply dividing the Fourier transform
of x(n) by H(#) will most likely amplify the noise or cause an unstable solution.
There are several techniques for deconvolving signals containing noise like that in equation (2.2.3). In this
project, two of them will be examined, the Wiener filter and the Richardson-Lucy algorithm.
2.2.1 Wiener filter
The Wiener filter was proposed by Norbert Wiener in the 1940s. Under certain conditions the Wiener filter is
an optimal filter, i.e. it gives the best possible estimation of a signal under the given circumstances. There are
!!""
#!"" $!""#$#!!""%#!""
Uppsala University
3D imaging using time-correlated single photon counting" 10
a few variants of a Wiener filter, and they can be divided into two groups: finite impulse response (FIR) and
infinite impulse response (IIR) Wiener filters. The Wiener filter can be expressed in the following form [10]:
! W (z!1) = w(n)z
!n
n=M
N
" ,! ! ! ! ! ! ! ! ! ! ! (2.2.4)
where w(n) are the filter coefficients in the time domain and z is the complex variable in the z-transform.
Depending on the values of M and N, four different types of Wiener filters can be created [10]:
• Causal FIR filter, for M$=$0 and M$<$N$<$%
• Non-causal FIR filter, for –$%$<$M$<$0 and 0$<$N$<$%
• Causal IIR filter, for M$=$0 and N$=$%
• Non-causal IIR filter, for –$%$&$M$<$0 and N$=$%.
The Wiener filter minimizes the mean square error (MSE), as illustrated in Fig. 2.6.
Fig. 2.6 The Wiener filter estimates the signal d(n + m | n) by minimizing the mean
square error E e(n)2{ } . The parameter m specifies filtering, prediction or smoothing
of the data.
The measurement noise v(n) is assumed to be white with variance !v
2 and zero mean, and to be uncorrelated
with the input signal d(n). If the noise is assumed to be Gaussian distributed, minimizing the MSE is
equivalent to maximizing the corresponding likelihood function of the problem, see [11] and [12] for details.
Under these assumptions the Wiener filter is an optimal filter, both in the MSE and in the maximum
likelihood sense. The parameter m can be chosen in different ways to give the filter different properties. The
following values of m give the filter the properties [10]:
• Filtering, m$=$0
This value gives a causal filter that estimates d(n) using only past and current values of x(n)
• Prediction, m$>$0
This value gives a causal filter that estimates (predicts) d(n$+$m) using past and current values of x(n)
• Smoothing, m$<$0
This gives a non-causal filter that estimates d(n$+$m) using past, current and future values of x(n).
!!"" !#!""
$!""
%!""#$#!!""%#!""#&#$!""
!&!""
!
#!"#&#'('#""
#!"#&#'('#""
"
!
)!""
Uppsala University
3D imaging using time-correlated single photon counting" 11
The Wiener filter coefficients w(n) can found using the Wiener-Hopf equations, which can be derived using
the model in Fig. 2.6. Doing this results in the expression
! w( j)rx (k ! j) = rdx (k + m)j=0
p!1
" ,! ! ! ! ! ! ! ! ! (2.2.5)
where rx and rdx denote the autocorrelation of x(n) and the cross-correlation between d(n) and x(n),
respectively. If we expand the sum in (2.2.5), we get
!
rx (0) rx*(1) … rx
*(p !1)
rx (1) rx (0) ! "
" ! ! rx*(1)
rx (p !1) … rx (1) rx (0)
"
#
$$$$$
%
&
'''''
w(0)
w(1)
"
w(p !1)
"
#
$$$$$
%
&
'''''
=
rdx (m)
rdx (m +1)
"
rdx (m + p !1)
"
#
$$$$$
%
&
'''''
,! ! (2.2.6)
and these equations are the Wiener-Hopf equations. These equations are ideal for finding FIR Wiener filters
of order p$–$1. Adjusting the parameter m makes it possible to choose from causal and non-causal filters.
However, to create IIR Wiener filters, it is not possible to implement the equations in (2.2.6). Creating non-
causal IIR Wiener filters is no problem in theory, if we adjust the limits in the summation in equation (2.2.5)
to be
! rdx (k + m) = w( j)rx (k ! j)j=!"
"
# ,! ! ! ! ! ! ! ! ! (2.2.7)
we see that the right side of the equation is a convolution, i.e.
! rdx(k + m) = w(k)! r
x(k) .! ! ! ! ! ! ! ! ! ! (2.2.8)
In frequency domain equation (2.2.8) becomes
! Pdx(z
!1) =W (z
!1)P
x(z
!1) ,! ! ! ! ! ! ! ! ! ! (2.2.9)
where Pdx(z–1) is the cross-power spectrum between d(n) and x(n), and Px(z–1) is the power spectral density of
x(n). Finding the Wiener filter coefficients from equation (2.2.9) is an easy task. Non-causal IIR filters are
not realizable in practice, but being the best theoretical filter achievable gives a limit for how good filters we
can get in reality. Finding a causal IIR Wiener filter is a little more cumbersome than finding a non-causal
filter and the details are presented in [10]. To find an expression for a causal IIR Wiener filter, a spectral
factorization of Px(z–1) is made giving the following expression [10]:
! Px(z
!1) = "
0
2Q(z
!1)Q
*(1 / z
*!1) ,! ! ! ! ! ! ! ! ! (2.2.10)
where !0
2 is the variance of some driving noise and Q(z–1) is a minimum phase and monic system. The final
expression for the causal IIR Wiener filter is given by [10]:
Uppsala University
3D imaging using time-correlated single photon counting" 12
! W (z!1) =
1
"0
2Q(z
!1)
Pdx (z!1)
Q*(1 / z
*–1)
#
$%
&
'(+
,! ! ! ! ! ! ! ! ! (2.2.11)
where the brackets denote the causal part of the enclosed polynomial, i.e. the part with only negative powers
of z.
When the Wiener filter has been acquired, the estimated desired signal is found by filtering the observed
signal through the Wiener filter, as can be seen in Fig. 2.6.
2.2.2 Richardson-Lucy algorithm
We have seen above that the Wiener filter is an optimal filter under the assumption of Gaussian distributed
noise. Even though the central limit theorem states that every distribution with finite mean and variance will
converge to a Gaussian distribution as the number of independent stochastic variables approach infinity, it
cannot be guaranteed that the data can be accurately approximated with a Gaussian distribution. For
example, in a photon counting laser radar system the noise follows photon statistics, which is best described
by a Poisson distribution. The Richardson-Lucy algorithm is a method of maximum likelihood, derived
under the assumption of Poisson distributed noise [13].
The derivation of the Richardson-Lucy algorithm is based upon the assumption that the observed data can be
modelled as a Poisson process. The Poisson probability distribution is written as
! P(x,!) =!xe"!
x!,! ! ! ! ! ! ! ! ! ! ! ! (2.2.12)
where x is the observed data and $ is the average rate with which the events occur (i.e. the number of
photons detected during some time interval). The data is described by the equation
! x(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! ! ! (2.2.13)
where h(n) is the impulse response and d(n) is the desired (input) signal. The noise v(n) is now assumed to be
described by a Poisson distribution instead of a Gaussian. By setting $%=%h(n)*d(n) in equation (2.2.12), we
obtain an expression for the likelihood function to be maximized [13]:
! P(x | d) = !n
h(n)"d(n)( )x(n)
e#h(n)"d (n)
x(n)!
$
%&
'
() ,!! ! ! ! ! ! ! (2.2.14)
where the product over n is a result of Bayes’ rule. Since the Poisson distribution is a discrete distribution,
x(n) can only take positive integer values. The function that maximizes equation (2.2.14), i.e. the estimate of
the function d(n) that is most likely to explain the observed data x(n), is given by (see [13] and [14] for
details):
! di+1(n) = d
i(n)
x(n)
h(n)! di(n)
!h("n)#
$%&
'(.! ! ! ! ! ! ! ! (2.2.15)
Uppsala University
3D imaging using time-correlated single photon counting" 13
This is clearly an iterative algorithm, where after every iteration the equation
! x(n) = h(n)! di(n) + "
i(n) ,! ! ! ! ! ! ! ! ! ! (2.2.16)
must be satisfied, where &i denotes the equation error [8].
2.3 Detection
The detection part of the problem is where the information of the peaks’ locations is extracted from the data.
Many different methods for finding peaks in data acquired by TCSPC, ranging from simple bump hunting
procedures to more advanced algorithms have been described. In this project, two different methods will be
analysed. One is a very common algorithm when dealing with laser radar systems, which is based on solving
a non-linear least squares problem. The other algorithm, called ESPRIT, is frequently used in spectral
analysis, but it will be shown that it can be used to find peaks in TCSPC data as well.
2.3.1 ESPRIT
ESPRIT (Estimation of Signal Parameters using Rotational Invariance Techniques) is a subspace-based
method for estimation of the line spectrum of a signal with sinusoidal components. Subspace-based methods
take advantage of the eigenstructure of the signal’s autocovariance matrix, which contains complete
information of the signal frequencies [11]. The reason why the methods are denoted ”subspace” originates
from the fact that the autocovariance matrix can be separated into a signal and a noise space, respectively.
Moreover, ESPRIT relies on a rotational transform, which gives the method its name.
Next, the essential steps in the derivation of the algorithm are shown for sinusoidal signals, and how the
algorithm can be generalized to waveforms from TCSPC data. The full derivation of ESPRIT can be found in
[11].
Sinusoidal signal model
Assume that the signal can be written as a superposition of complex-valued time dependent sinusoids
disturbed by white noise,
! xsin(n) = d
sin(n) + v(n) ;! ! d
sin(n) = ! pe
i(" pn+# p )
p=1
j
$ ,! ! ! ! ! (2.3.1)
where dsin(n) is the desired sinusoidal signal and xsin(n) is the observed signal. It is critical for the algorithm
that the noise v(n) is white [11]. The autocovariance sequence (ACS) of x(n) is given by
! rsin(k) = E x
sin(n)x
sin
*(n ! k){ } = " p
2ei# p k +$
2%k ,0
p=1
j
& ,! ! ! ! ! ! (2.3.2)
where !2 is the variance of v(n) and 'k,l denotes the Kronecker delta function [11]. E{·} denotes the
expectation operator. As stated earlier, ESPRIT uses the eigenstructure of the signal’s autocovariance matrix,
which is defined by
Uppsala University
3D imaging using time-correlated single photon counting" 14
!
R =
rsin(0) r
sin(1) … r
sin(m !1)
rsin
*(1) r
sin(0) ! "
" ! ! rsin(1)
rsin
*(m !1) … r
sin
*(1) r
sin(0)
"
#
$$$$$
%
&
'''''
.! ! ! ! ! ! ! (2.3.3)
Under certain conditions the eigenvalues of R can be written like [11]:
!
!k > "2
k = 1,… j
!k = " 2k = j +1,…,m
#
$%
&%!! ! ! ! ! ! ! ! ! (2.3.4)
From (2.3.4) R can be divided into a signal space and a noise space. ESPRIT uses the signal space when
estimating the spectrum, which is the space spanned by the eigenvectors associated with the first j
eigenvalues in (2.3.4). In other words, the signal space is the space spanned by all linear combinations of the
columns of the (m$'$j) matrix [11]
! S = s
1,…, s j!" #$ ,! ! ! ! ! ! ! ! ! ! ! ! (2.3.5)
where si denotes the eigenvector associated with the ith eigenvalue. The spectrum can be found through the
relation
! ! = (S1
*S1)"1S1
*S2,! ! ! ! ! ! ! ! ! ! ! ! (2.3.6)
where
! S1= I
m!1 0"#
$%S ;!! S
2= 0 I
m!1"#
$%S !! ! ! ! ! (2.3.7)
and where Im$–$1 denotes the identity matrix of size ((m$–$1)$'$(m$–$1)) [11]. The arguments of the eigenvalues
of the matrix ( can be shown to equal the sought frequencies.
Waveforms from TCSPC data
We have seen that ESPRIT can be applied to signals that can be assumed to be written like (2.3.1), i.e. a sum
of sinusoidals with white noise added. The received TCSPC signal will not be a sinusoid, but it will have
properties that make it possible to rewrite the signal to fit the model (2.3.1). The desired signal is expected to
be linear combination of Dirac pulses. The observed signal is therefore a linear combination of IRF:s.
Consequently, an appropriate signal model (for the moment noise-free) for TCSPC applications can be
written like
! X(! ) = "pH (! #!
p)
p=1
j
$ ,! ! ! ! ! ! ! ! ! ! (2.3.8)
Uppsala University
3D imaging using time-correlated single photon counting" 15
where H(#) is the system IRF and X(#) is the observed data. The IRF:s are translated by #p and have the
amplitudes )p. Using the Fourier transform and (2.3.8), the following expression is obtained
! x(n) = ! pei" pnh(n)
p=1
j
# ,! ! ! ! ! ! ! ! ! ! ! (2.3.9)
where h(n) and x(n) are the Fourier transforms of the IRF and X(#), respectively. The translations in (2.3.8)
now appear in the exponent in (2.3.9). Comparing (2.3.9) and (2.3.1) shows that the translations correspond
to the frequencies. If we let
! d(n) = ! pei" pt
p=1
j
# ,! ! ! ! ! ! ! ! ! ! ! (2.3.10)
we see that
! x(n) = d(n)h(n) , !! ! ! ! ! ! ! ! ! ! ! (2.3.11a)
or equivalently
! X(! ) = D(! )"H (! ) ,! ! ! ! ! ! ! ! ! ! ! (2.3.11b)
where D is the Fourier transform of d. D is the desired signal and since it is the Fourier transform of d it is a
linear combination of Dirac pulses. Before ESPRIT can be applied X(#) must be deconvolved. Since
ESPRIT requires the ACS, which by definition is the Fourier transform of the power spectral density (PSD),
X(#) and D(#) are approximated by the power spectral densities Px(#) and Pd(#). Here Px(#) is the PSD of
x(n) and Pd(#) is the PSD of d(n). This is appropriate since both the observed data and the desired signal are
real and positive semidefinite, which are properties of a PSD. The approximation does not affect the
frequencies, but the amplitudes are slightly distorted. From LTI (Linear Time Invariant) system theory there
is a well known relation that states1
! Px(! ) = P
d(! )"H (! )"H
*(#! ) ,! ! ! ! ! ! ! ! ! (2.3.12)
as shown in Fig. 2.7.
Fig. 2.7 Illustrates a LTI system and the relation between input and
output signals and the corresponding PSD:s.
The PSD is defined by
!!!""!!"
#$!!"
%!!"#$#"!!"%!!!"
#&!!"#$##
$!!"%!!!"%!
'!&!"
Uppsala University
3D imaging using time-correlated single photon counting" 16
1 Actually, the relation says: rx(k) = r
d(k) ! h(k) ! h
*("k) , but since the convolution is in the frequency domain instead of the
time domain, equation (2.3.12) is the corresponding relation.
! P(! ) = r(k)e" i! k
k="#
#
$ ,! ! ! ! ! ! ! ! ! ! ! (2.3.13)
so the ACS is obtained from the PSD by an inverse Fourier transform of equation (2.3.12) according to
! rx(k) = r
d(k) h(k)
2,! ! ! ! ! ! ! ! ! ! ! (2.3.14)
where rx(k) is the ACS of x(n) and rd(k) is the ACS of d(n). From the first term in equation (2.3.2) rd(k) can
be obtained, and when inserted into equation (2.3.14) we get
! rx (k) = ! p
2ei" p k h(k)
2
p=1
j
# .! ! ! ! ! ! ! ! ! ! (2.3.15)
Dividing (2.3.15) by h(k)2
(and adding noise) yields the same ACS as equation (2.3.2), representing a true
sinusoid. It is however dangerous to perform the division, since noise will be present and probably amplified
by this operation. This problem is overcome by adding a noise term to the denominator, which should
optimally be equal to the noise variance. The final ACS is given by
! rsin(k) =
rx(k)
h(k)2+ N
,! ! ! ! ! ! ! ! ! ! ! (2.3.16)
where N is the noise term. It is important to remember that h(k) denotes the Fourier transform of the IRF, and
not the IRF itself. From here it is straightforward to apply the ESPRIT algorithm. Moreover, equation
(2.3.16) is very similar to a Wiener filter obtained under the assumptions made earlier, i.e. X(#)$($Px(#) and
D(#)$($Pd(#).
2.3.2 Non-linear least squares
As explained earlier, the non-linear least squares (NLS) algorithm is a common algorithm when analysing
laser radar data, and just like ESPRIT, it is a common algorithm in spectral analysis. In section 2.2.1, we saw
that the Wiener filter minimizes a least squares problem, which could also be seen as a method of maximum
likelihood. That was a linear least squares problem, but in this section we consider a non-linear problem.
Under the assumption of Gaussian noise, the equivalence with the maximum likelihood still remains [11].
The non-linearity originates from the fact that the function to be minimized looks like:
! f (! p ,t p ) = x(n) " ! ph(n " t p )p=1
j
#n=1
N
#
2
= x(n) " ! pq" t p h(n)
p=1
j
#n=1
N
#
2
,! ! ! (2.3.17)
which is non-linear since the argument tp enters the expression in a complicated non-linear way. N is the
number of samples in the data, j is the number of responses and q–k denotes the delay operator, defined by
! q!ky(n) = y(n ! k) .! ! ! ! ! ! ! ! ! ! ! (2.3.18)
Uppsala University
3D imaging using time-correlated single photon counting" 17
It is assumed that the measured data x(n) can be written as a linear combination of IRF:s, where h(n) denotes
the system IRF. This linear combination can be expressed according to
!
x(n) = q! t1h(n) … q
! t j h(n)"#
$%
&1
!
& j
"
#
'''
$
%
(((= ) T
(n)* .!! ! ! ! ! (2.3.19)
Linear regression is most commonly expressed in this form, but in that case all arguments are in the
parameter vector *. In our case we have to put the argument tp in the regression vector !(n) . In order to
minimize equation (2.3.17), a search method is required, which makes the non-linear problem more
complicated than the linear problem.
NLS is the best estimator there is in a general class of estimators (assuming Gaussian noise), and the
covariance matrix of the estimation errors can be shown to be equal to the Cramér-Rao limit. In practice, the
theoretical precision that NLS can achieve is very difficult to obtain. The reason is that the function in
equation (2.3.17) has a very complex structure, with many local minima. Finding the global minimum, which
has a very sharp valley, with some iterative search algorithm requires a very accurate first initialization.
Otherwise the algorithm will most likely converge to a local minimum. In addition, the computational burden
of the NLS algorithm is larger compared to other algorithms. On the positive side is the property that NLS,
unlike ESPRIT, does not depend on the assumption of white noise [11].
Uppsala University
3D imaging using time-correlated single photon counting" 18
3 Experimental methods
3.1 The TCSPC system
In this section the TCSPC system used for this project is presented along with some of its characterizing
parameters that are of importance for the analysis in later sections.
A schematic of the system is depicted in Fig. 3.1. The laser driver was a PDL 800-B (PicoQuant$GmbH) with
40 $MHz pulse repetition frequency. The laser source was an LD $8-1-836 $ (PicoQuant $GmbH) having a
wavelength of 833.8$nm and a pulse duration of 78$ps. A standard commercial Cassegrain type telescope
with a focal length of 500$mm and an aperture diameter of 80$mm was used. SPAD stands for Single-Photon
Fig. 3.1 A schematic over the TCSPC system. The reflective target can be for
example a corner cube.
Avalanche Diode and a PerkinElmer$SPCM-AQR$13 with a time jitter of 350$ps was utilized. The SPAD was
connected to a PC based data acquisition card (TimeHarp$200,$PicoQuant$GmbH) with a maximum count
rate of 4$Mcps. The TimeHarp$200 had a Time to Digital converter (TDC) with a base resolution of 32$ps, a
time jitter of 150 $ps, and the number of channels was 4096. This means that the number of bins in the
histogram acquired was 4096 and each bin had a width of 32$ps, which corresponds to approximately 0.5$cm
according to equation (2.1.1). Since the pulse repetition frequency was 40$MHz, the time between pulses was
25$ns which corresponds to a distance of 3.75$m. Scenes with a larger depth than this number were therefore
not possible to image with a pulse repetition frequency of 40$MHz (as explained in Fig. 2.3), implying that
the number of bins in the histogram only needed to be about 700.
Using the values specified here, the time jitter of the total system can be calculated using equation (2.1.4)
with the laser jitter equal to 78$ps and the detector jitter equal to 350$ps. The jitter in the electronics is split
into the jitter in the TDC and the base resolution. This yields
!"#$%&'()*++
,-
.,/0 !$1$234($
5&2$'
5&2$')6'"7$'
.!8,
.!/9!
9$!$3:"7$):&';$:
Uppsala University
3D imaging using time-correlated single photon counting" 19
! !tsystem = 782+ 3502
+1502+ 322
" 390 ps .! ! ! ! ! ! ! (3.1.1)
This means that the response from a single target will theoretically have a FWHM of 390$ps.
3.2 Measurements
The measurements were carried out indoors, meaning that the ambient light was controllable and the noise
level in the system was kept at a minimum. As mentioned in section 1.2.1, one of the quality criteria is to
vary the SNR, in order to test the signal processing algorithms for robustness to noise. Each measurement
had an integration time of 10 ms and multiple consecutive measurements were acquired. The SNR was
altered by adding an appropriate number of measurements (histograms). More measurements result in a
longer integration time, which gives a higher SNR. In TCSPC applications, the SNR is commonly defined as
! SNR =np
np+ n
n
,! ! ! ! ! ! ! ! ! ! ! (3.2.1)
where np is the number of signal photons in the peak of the histogram, and nn is the number of noise photons
per bin in the histogram [15]. Multiple data sets were collected at different times during the project, with
integration times varying between 10$ms$-$32$s.
In order to test the resolution of the system and the signal processing algorithms, two corner cubes with a
diameter of 12.7$mm were mounted on a rail, with the possibility of varying the distance between the corner
cubes down to about 1$cm. Corner cubes are test targets with the property of reflecting light straight back to
the source, independent of the incident angle. Since the corner cubes must be separated horizontally/
vertically, in order for the laser beam to hit them both, the distance to the rail with the corner cubes was set to
approximately 190 $m, which was the maximum distance available. At this distance, the laser beam had
diverged enough to cover both corner cubes. The corner cubes were however barely hit by the beam, and
moving one corner cube along the rail made the corner cubes partly cover each other. Consequently, the SNR
was not just dependent on the integration time, but also on the distance between the corner cubes.
Another of the quality criteria stated in section 1.2.1 is to test the system’s performance when imaging
simple geometric shapes such as cones and planes. To do this, the imaged objects must be placed at a closer
distance than 190$m in order to keep the laser beam focused and achieve high horizontal/vertical resolution.
The objects were placed at a distance of approximately 20-30$m. The cones used have the dimensions listed
in Table 3.1.
Table 3.1 Dimensions of the cones used to test the performance of the system.
Dimension Cone #1 Cone #2 Cone #3 Cone #4
Diameter
Height
30 cm 9 cm 15 cm 20 cm
29.95 cm 39.75 cm 20.68 cm 29.87 cm
Uppsala University
3D imaging using time-correlated single photon counting" 20
The flat plane was a plywood screen, and the area scanned was approximately 0.5 m2. In order to test ways to
segment images, the plywood screen was also placed together with the cones and some other objects to
create a full-scaled scene.
Uppsala University
3D imaging using time-correlated single photon counting" 21
4 Implementation of signal pro-
cessing methods
4.1 Signal processing methods
The following subsections describe how the theory shown in Chapter 2 is applied to the experimental data.
The first subsection describes the model used for the analysis of the TCSPC system. Subsequently, the
different deconvolution methods are examined, followed by the methods for detection. When it comes to the
NLS method, two different approaches are analysed. First, the algorithm is applied to the raw data, trying to
fit a linear combination of IRF:s to the data. Secondly, the data is first deconvolved using the IRF and one of
the deconvolution methods. Then a linear combination of Gaussian functions are fitted to the deconvolved
data.
4.1.1 Model
In order to create methods and algorithms, a working model of the system is needed. The following model
was used:
! x(n) = h(n)!d(n) + v(n) ,! ! ! ! ! ! ! ! ! ! (4.1.1)
where h(n) is the IRF of the system, d(n) is the input signal, x(n) is the observed signal and v(n) is Poisson
distributed noise. The desired signal was assumed to be a linear combination of Dirac pulses, implying that
the observed data x(n) should be a linear combination of IRF:s with noise added. In order to be able to use
the algorithms mentioned in Chapter 2, the IRF was assumed to be possible to model as a dynamic system,
when in fact it is a stochastic system, as described in section 2.1.2. Also, the Poisson distributed noise was
assumed to be close to Gaussian and white, in order for the Wiener filter and the ESPRIT method to work
properly. The IRF was estimated by measuring the signal response from one corner cube using a long
integration time to reduce the influence of noise. The experimentally registered IRF is presented in Fig. 4.1.
Uppsala University
3D imaging using time-correlated single photon counting" 22
Fig. 4.1 The IRF of the system plotted using raw data. The
FWHM was estimated to approximately 450%ps.
The FWHM of the IRF was estimated to approximately 450$ps, which differs slightly from the predicted
value of 390$ps (see equation (3.1.1)). To be able to make a thorough analysis of the deconvolution problem,
the poles and zeros of the IRF had to be analysed, because the length of the deconvolution filter is directly
affected by the positions of the zeros of the IRF. In Fig. 4.2 is a pole-zero plot of the IRF. It can be readily
stated that the system is non-minimum phase, i.e. it has zeros outside the unit circle. These zeros are quite
close to the unit circle, and the zeros inside the unit circle are also very close to the circle. This, as we will se
later, puts high demands on the deconvolution process.
0 50 100 1500
50
100
150
200
250
300
350
400
450
500
Bins
Co
un
ts
Instrument Response Function
Uppsala University
3D imaging using time-correlated single photon counting" 23
Fig. 4.2 Pole-zero plot of the IRF, with 128 poles and 64
zeros. The circles mark the positions of the zeros and the
crosses mark the positions of the poles. The IRF is clearly
non-minimum phase.
4.1.2 Wiener filter
Both FIR and IIR Wiener filters were tested. For FIR filters, the Wiener-Hopf equations in (2.2.6) are easy to
implement. However, there is one difficulty that arises when implementing the Wiener-Hopf equations. To
use them, the cross-correlation between the desired and the measured signals, which is given by [10]
! rdx(k) = h
*(!k)" r
d(k) ,! ! ! ! ! ! ! ! ! ! ! (4.1.2)
is required, i.e. we need an estimation of the autocorrelation of the desired signal. The only thing known
about the desired signal is that it is a linear combination of Dirac pulses, but the number of pulses and the
distances between them are in general unknown. However, from the data acquired from measuring the two
corner cubes, we know that we should expect two peaks. We can assume that these peaks are uncorrelated
with each other, i.e. the autocorrelation can be written as
! rd(k) = ! (k) .! ! ! ! ! ! ! ! ! ! ! ! (4.1.3)
The true autocorrelation from a signal containing two Dirac pulses of equal amplitude and unknown distance
between them is shown in Fig. 4.3. We can see that the autocorrelation is dominated by one Dirac pulse, but
there are two smaller Dirac pulses on each side of the dominating pulse. Their positions are determined by
the distance between the Dirac pulses in the desired signal, so it is not possible to make a better guess about
the autocorrelation than equation (4.1.3).
The values m $= $0 and m $< $0 were tested in choosing the value of the parameter m in the Wiener-Hopf
equations. The first yields a causal filter and the latter yields a non-causal filter, respectively. As mentioned in
!! !"#$ " "#$ ! !#$
!!
!"#$
"
"#$
!
%&
'()*+,)-.
/0)123)-4+,)-.
,5*(!6(-5+7*5.+58+.9(+/':
Uppsala University
3D imaging using time-correlated single photon counting" 24
the previous section, the length (i.e. the order) of the filter needed for a proper deconvolution is affected by
the positions of the zeros of the IRF. The minimum phase zeros, i.e. the zeros inside the unit circle, that are
close to the unit circle force the Wiener filter to be very long in forward time in order to become a good
approximation of an ideal inverse filter [16]. The non-minimum phase zeros (zeros outside the unit circle)
however, force the filter to be long in reverse time (the closer to the unit circle, the longer filter needed) [16].
Since the IRF possesses several of both minimum phase and non-minimum phase zeros, we expect a very
long non-causal filter for a satisfactory deconvolution. The value of the parameter m determines the length of
the FIR filter in reverse time: the more negative, the longer filter in reverse time.
Fig. 4.3 The autocorrelation of two Dirac pulses. The
distance between them is unknown, so the best way to guess
the autocorrelation is by a single Dirac pulse, but then the
two small pulses on the sides are lost.
An IIR Wiener filter should give a better result deconvolving the observed signal than a FIR filter, since it is
longer. The problem of making an assumption about the autocorrelation of the desired signal still remains
though. However, in equation (2.3.16) an IIR Wiener filter is obtained under the assumption that the
observed signal can be seen as a PSD, and that X(#)$($Px(#) and D(#)$($Pd(#). This makes the assumption
about the autocorrelation redundant.
4.1.3 Richardson-Lucy algorithm
The Richardson-Lucy algorithm was also implemented for comparison with the Wiener filter. The advantage
of the Richardson-Lucy algorithm is that it does not produce ringing artefacts like the Wiener filter and other
linear filters. On the contrary, it is iterative, thus it is more computationally demanding. Another drawback
with the Richardson-Lucy algorithm is that it is not guaranteed to converge without any regularization [13].
Several regularizations have been proposed, but the analyses of those are beyond the scope of this project.
!!"# !!## !"# # "# !## !"##
#$%
#$&
#$'
#$(
!
!$%
!$&
!$'
!$(
%
)*+,-./0
1+)0
Uppsala University
3D imaging using time-correlated single photon counting" 25
For more information about regularization, see [13]. The built in MATLAB function deconvlucy was
used, and the number of iterations was varied between 2-100.
4.1.4 ESPRIT
When ESPRIT is applied, the raw data acquired is regarded as a windowed correlogram estimate of the PSD
of a linear combination of sines. Ideally, the PSD of a sine is a Dirac delta function positioned at the
frequency of the sine, but because of the window it will be smeared out, yielding an uncertainty in the
frequency estimate.
Fig. 4.4 A flow chart of the implementation of the ESPRIT method. The raw
data is seen as a power spectral density. Mirroring the data in the origin and
performing the Fourier transform yields the ACS. The ACS is deconvolved,
producing an ACS corresponding to that of a sinusoidal signal.
! "!! #!! $!! %!! &!! '!! (!! )!!!
"!!
#!!
$!!
%!!
&!!
'!!
(!!
)!!
*!!
"!!!+,-./0123
4,5-
6/75.-
!!"" !#"" !$"" !%"" " %"" $"" #"" !""!$""
!%&"
!%""
!&"
"
&"
%""
%&"
$""
!!"" !#"" !$"" !%"" " %"" $"" #"" !""!%""
!&"
"
&"
%""
%&"
!"#$%&'$(&)&$*+$
+##,$&+$&$-,#.
+*(#($/-'#%$
+/#0)%&1$(#,+*)23
!"##$#"%&'()*'+,(,'"%'
()*'$#"&"%',%+'-$.#"*#'
(#,%/0$#1"%&'()*'234'
5"*6+/'75'+*!%"("$%'
()*',.($8$9,#",%8*'
/*:.*%8*;
<)*'=>3'"/'+*8$%9$69*+?'5"*6+"%&',%'=>3'8$##*/@$%+"%&'($'(),('$0','/"%./$"+,6'/"&%,6;'<)*',.($8$9,#",%8*'1,(#"A'"/'8#*,(*+',%+'B32CD<'"/',@@6"*+;
234
=>3
=>3'$0','/"%./$"+,6'/"&%,6
Uppsala University
3D imaging using time-correlated single photon counting" 26
The idea when applying ESPRIT to the TCSPC data is to transform the raw data by a Fourier transform, then
use equation (2.3.16) (or another deconvolution method) and as a result we will hopefully have an ACS
corresponding to the ACS of a linear combination of sines. The ACS is then used to calculate the
autocovariance matrix, defined by equation (2.3.3). From this point, ESPRIT is straight forward to apply. The
procedure is presented in Fig. 4.4.
It is important to remember that the power spectral density of a real signal is an even function, which means
that the data must be mirrored in the origin before any processing, see Fig. 4.5. This means that data
containing two peaks will after the mirroring contain four peaks (two with negative frequency). This in turn
means that the number of eigenvalues larger than the noise floor (see equation (2.3.4)) will always be twice
the number of peaks in the data.
Fig. 4.5 The original data (left) and the data after it has been mirrored in the origin
(right).
From equation (2.3.4), we know that the eigenvalues of the autocovariance matrix are positive semidefinite.
However, after deconvolution using a Wiener filter, we know that ringing artefacts occur, which have effects
on the ACS in equation (2.3.16). In Fig. 4.6, there are examples of autocovariance sequences of the raw data
and the deconvolved data. A true ACS has its maximum at zero lag, which can be observed in the figure. The
problem occurs when deconvolving the data, because the maximum no longer occurs at zero lag after the
deconvolution. This has negative effects on the eigenvalues of the autocovariance matrix shown in Fig. 4.7.
After deconvolution some eigenvalues are negative, which contradicts equation (2.3.4).
! !"# $ $"# % %"# & &"#!
!"#
$
$"#
%
%"#
&
'()*+,-./-01*0(23.4-,56,(787,9:+0;
<=>0-.4,-?6@-,-3.*(6@;
A,>.5,@,
!B !% ! % B!
!"#
$
$"#
%
%"#
&
'()*+,-./-01*0(23.4-,56,(787,9:+0;
<=>0-.4,-?6@-,-3.*(6@;
C6--=-05.5,@,
Uppsala University
3D imaging using time-correlated single photon counting" 27
Fig. 4.6 Left: The ACS of the raw data with maximum at zero lag. Right: The ACS of
the deconvolved data. The maximum is no longer at zero lag.
Fig. 4.7 The figure shows the eigenvalues of data containing two peaks, which
means that four eigenvalues should be larger than the noise floor (because the
spectrum is mirrored in the origin). Left: The eigenvalues from raw data. The
eigenvalues are positive semidefinite, but the number of eigenvalues that are larger
than the noise floor is more than four. Right: The eigenvalues of deconvolved data.
The number of eigenvalues larger than the noise floor is exactly four, however, the
eigenvalues are not positive semidefinite.
4.1.5 Non-linear least squares
The NLS method was implemented in two different ways. First, the system was modelled as in equation
(4.1.1), assuming that the desired signal is a linear combination of Dirac pulses, producing an observed
signal that is a linear combination of IRF:s. The method was then implemented just as it was presented in
!!"" !#"" " #"" !""!$""
!%"
"
%"
$""
$%"&'(
)*+,
+-*./01,!!"" !#"" " #"" !""
!#""
!$%"
!$""
!%"
"
%"
$""
$%"
#""2345675.738-&'(
+-*./01,
)*+,
! !"# $ $"# % %"#!
%
&
'
(
$!
$%
$&
$'
$(
)*+,-
.,/0-12342-56-78*+,-9
:56-78*+,-92342315657*+2;
!% ! % & '!
#
$!
$#
%!
%#
<!
)*+,-
.,/0-12342-56-78*+,-9
:56-78*+,-92342=->3783+8-=2;
Uppsala University
3D imaging using time-correlated single photon counting" 28
section 2.3.2. The IRF was approximated by an asymmetric super-Gauss function2. This function is defined
as
! h(! p ,t p ) =! pe
"t" t p( )
l
# left t < t p
! pe"t" t p( )
r
# right t $ t p
%
&
''
(
''
,! ! ! ! ! ! ! ! ! (4.1.4)
where )p and tp are the amplitude and position of the IRF, respectively, l and r are arbitrary constants and !left
and !right are the widths of the function on the left and the right side of the maximum, respectively. The
search method used for minimizing the function in equation (2.3.17) was the built in MATLAB function
fminsearch, which uses a simplex based search method.
As mentioned in section 2.3.2, the initialization of the arguments in the function to be minimized is
important, but not always very easy. For data containing only one peak the task is easily solved by just
finding the maximum value using an appropriate MATLAB function. For two peaks it is more difficult. Here
it was solved by assuming that the two peaks are not too different in amplitude, and then find all bins in the
histogram where the number of counts is larger than some constant fraction of the maximum number of
counts. The bin with the smallest time value then roughly corresponded to the position of the first peak and
the bin with the largest value corresponded to the second peak. The amplitude was initialized by finding the
maximum value. When the minimization had been accomplished, the arguments tp and )p, corresponding to
the positions and the amplitudes of the peaks, were extracted from the minimized function.
The second method tested was to first deconvolve the acquired data, and then fit a linear combination of
Gaussian functions, where each Gaussian function corresponds to a peak in the data, as in [5]. The
parameters used in the minimization function were in this case the mean values, amplitudes and standard
deviations of the Gaussians, corresponding to the positions, amplitudes and widths of the peaks, respectively.
The widths were necessary to use since the deconvolution changes these differently depending on the noise
level. The initializations of the amplitudes and positions were carried out as in the first method, and the
initialization of the widths was made by deconvolving a single peak in advance and measure the width of the
deconvolved peak.
4.2 Image processing
Image processing methods were used to analyse objects in an image obtained from performing a three-
dimensional scan of a scene. In the following sections the methods used to segment images and look at
different objects are presented. The methods for fitting a plane to a surface and for calculating the dimensions
of cones are also briefly discussed.
Uppsala University
3D imaging using time-correlated single photon counting" 29
2 An estimation function proposed by Markus Henriksson at FOI.
4.2.1 Segmentation
The images acquired from three-dimensional scans contain information about the three spatial dimensions,
but also the intensity for each point, resulting in an image with four degrees of freedom. Two of these
dimensions are very useful when segmenting the image, the range dimension and the intensity. Two-
dimensional images can easily be created from the data by keeping all spatial dimensions except for the
range dimension, and letting the intensity of the resulting image correspond to either the real intensity (i.e.
the amplitude) of the points or the range. The latter would result in an image where the darker regions
correspond to objects closer to the detector and brighter regions correspond to objects further away. Fig. 4.8
shows an example of where the intensity is represented by the real intensity and the range dimension.
Fig. 4.8 Left: The three-dimensional image has been reduced to two dimensions with the intensity
corresponding to the real intensity of the points. The image contains no information about the
range. Right: The intensity now corresponds to the range dimension. It is now possible to see that
the circular objects probably are cones, since the pixels in the middle of the circles are darker,
meaning that they are closer to the detector.
The methods used for segmenting the image were thresholding and watershed. Since the objects in the image
in Fig. 4.8 are well separated in the range dimension, it is quite easy to use thresholding on the range image
in order to, for example, segment the cones. The histogram of the image is shown in Fig. 4.9. The cones are
easy to identify as the ramp-shaped structure to the left in the histogram. Thresholding yields an image
containing only the cones. This image can be further segmented using watershed, in order to separate and
label each cone in the image. The fully separated and labelled cones are shown in Fig. 4.10. When the cones
have been located, it is possible to use the range data in order to calculate the different dimensions of the
cones.
Uppsala University
3D imaging using time-correlated single photon counting" 30
Fig. 4.9 The histogram of the image with intensity
corresponding to range. The cones are easy to identify as the
ramp-shaped structure. The walls in the image are
represented by the brightest pixels to the right in the
histogram.
Fig. 4.10 Left: The cones are separated using watershed. Each colour corresponds to a label.
Right: The cones marked in the original image.
In some cases, when objects are at a similar range with each other, using the range image is not sufficient for
thresholding. Then it is possible to use the with intensity image for thresholding in combination with the
range image.
4.2.2 Plane fitting
In order to fit a plane to a flat surface, a method of linear polynomial regression was used. The function used
was
! z = a0+ a
1x + a
2x2+ b
1y + b
2y2
,! ! ! ! ! ! ! ! ! (4.2.1)
0 0.2 0.4 0.6 0.8 1
0
200
400
600
800
1000
1200
Pixel intensity
Uppsala University
3D imaging using time-correlated single photon counting" 31
where the second degree terms were taken into account to be able to see how close to a flat plane the surface
was. With coefficients before the second degree terms equal to zero, the surface is a perfect flat plane.
Equation (4.2.1) can be rewritten like
! z = 1 x x2
y y2!
"#$
a0
a1
a2
b1
b2
!
"
%%%%%%%
#
$
&&&&&&&
= ' T(x, y)( ,! ! ! ! ! ! ! (4.2.2)
which is the usual form for linear regression. The parameter vector * is then found by a simple method of
linear least squares.
4.2.3 Cones
The dimensions of the cones were calculated with the assumption that they were imaged with the vertex
pointing towards the detector. First the image was segmented by the methods previously described, in order
to get an image containing only the labelled cones. The labels were then used to find the edges of the cones,
which made it possible to calculate the diameter of the cones. When the edges had been found, the vertex
could be found at the midpoint between the edges, since it was assumed that the vertex was pointing towards
the detector. The height of the cones were found by extracting the intensity values of the pixels at the vertex
and at the edges, since the intensity contains information about the range dimension.
Uppsala University
3D imaging using time-correlated single photon counting" 32
5 Results
5.1 One-dimensional results
The one-dimensional results were obtained from processing the data from the corner cubes. The results from
the deconvolution algorithms are presented first. In order to get objective measures of the accuracies of the
algorithms, the detection algorithms are applied to the data and evaluated according to the quality criteria
stated in section 1.2.1.
5.1.1 Deconvolution
Fig. 5.1 shows the result when deconvolving a signal containing two responses using the Richardson-Lucy
algorithm. When the SNR is good, the estimation is near perfect when the number of iterations approaches
infinity. On the other hand, for low SNR values, the algorithm tends to amplify noise, giving a bad estimation
of the signal.
Fig. 5.1 The result from deconvolving a signal with the Richardson-Lucy algorithm.
It shows a near perfect result for a number of iterations that approaches infinity and
high SNR value (left). Signals with low SNR are however badly estimated by the
Richardson-Lucy algorithm (right).
Fig. 5.2 shows the results of the causal and the non-causal FIR Wiener deconvolution. The causal filter has
400 coefficients, and the non-causal has 800 coefficients, with 400 smoothing lags. The non-causal filter
yields a slightly better result than the causal filter, which agrees well with theory.
0 200 400 600 8000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1High SNR
Bins
Norm
aliz
ed c
ounts
0 200 400 600 8000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Low SNR
Bins
Norm
aliz
ed c
ounts
Uppsala University
3D imaging using time-correlated single photon counting" 33
Fig. 5.2 Left: The raw data (red) and the deconvolved data (blue) using a causal
FIR Wiener filter. Right: The raw data (red) and the deconvolved data (blue) using a
non-causal FIR Wiener filter. The result is slightly better in the non-causal case
since the peaks are slightly more narrow after the deconvolution compared to the
casual filter.
Fig. 5.3 The results of the deconvolution using an IIR Wiener
filter. The results are similar to the results of the non-causal
FIR filter, but the IIR filter is a bit easier to implement.
!"" !#" !$" !%" !&" %"" %#" %$"
"
"'(
"'#
"')
"'$
"'!
"'%
"'*
"'&
"'+
(
,-./
012345-6789:1;.</
=4;/459>-7.72987:1.?15;<-1.
!"" !#" !$" !%" !&" %"" %#"
"
"'(
"'#
"')
"'$
"'!
"'%
"'*
"'&
"'+
(
,-./
012345-6789:1;.</
01.!:4;/459>-7.72987:1.?15;<-1.
450 500 550 600 650
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Bins
No
rma
lize
d c
ou
nts
IIR Wiener deconvolution
Uppsala University
3D imaging using time-correlated single photon counting" 34
Using equation (2.3.16) for an IIR Wiener filter yields the results shown in Fig. 5.3. The results are similar to
those of the non-causal FIR filter, but the IIR filter is easier to implement. Wiener filtering is known to
produce ringing artefacts, which appear as side lobes in the deconvolved signal. This results in a signal that
is negative in some places, which is undesirable. In order to make the signal positive definite the absolute
value has been taken.
5.1.2 Detection
Table 5.1 shows the different SNR values defined by equation (3.2.1) for all the integration times and
distances shown in the results. Fig. 5.4 shows plots of the nominal distances versus the measured distances
for the different signal processing methods and the different integration times. Fig. 5.5 shows the errors
between the measured distances and the nominal distances. For each distance, an average has been made
over 25 consecutive measurements and the standard deviations have been calculated. The time required for
each method to compute the estimates for all 25 measurements are presented below. The methods used in
conjunction with the Richardson-Lucy algorithm are not presented in this section, because the SNR value
never got high enough for the Richardson-Lucy algorithm to work properly.
Table 5.1 The SNR values in linear scale for the different distances and integration times.
20 ms 440 ms 860 ms 1280 ms
1.75 cm
2.75 cm
3.75 cm
4.75 cm
5.75 cm
6.75 cm
7.75 cm
8.75 cm
9.75 cm
10.75 cm
13.25 cm
15.75 cm
4.5 18.2 25.0 30.5
4.6 17.4 24.0 29.6
3.6 16.3 23.5 28.5
4.2 15.7 22.9 27.2
4.2 15.1 21.7 25.9
3.6 15.0 20.4 24.9
3.5 14.2 19.6 24.2
3.5 14.2 21.0 24.5
3.7 13.9 19.2 24.5
4.0 14.3 20.6 23.2
3.9 14.0 19.2 23.2
3.7 13.3 19.3 23.0
The computation time for each method is measured to (for 25 different data sets):
• ESPRIT (including the deconvolution by the Wiener filter) – 0.2188$s
• NLS, fitted by asymmetric super-Gaussians – 8.8750$s
• NLS, deconvolved by a Wiener filter and fitted by Gaussians – 10.8750$s
When looking at Fig. 5.4 and at Fig. 5.5 it is clearly seen that the NLS method fitted by asymmetric super-
Gaussians yields the best result in terms of precision, resolution and robustness to noise. The NLS method
deconvolved by a Wiener filter and fitted by Gaussians does not compare with that precision, especially not
at low SNR values, where the method yields unreliable results. For higher SNR values, it yields a
Uppsala University
3D imaging using time-correlated single photon counting" 35
satisfactory precision down to about 8$cm, but then it starts to give biased estimates. ESPRIT is quite robust
to the influence of noise, and gives good results at longer distances with small standard deviations. The
resolution is not as good as the other methods can
Fig. 5.4 Top left: For low SNR all methods are quite unreliable at short distances. ESPRIT and NLS
fitted by asymmetric super-Gaussians do quite well at longer distances while NLS deconvolved with a
Wiener filter gives totally unreliable results. Top right: For a bit longer integration times all methods
do all right down to about 7%cm, but after that ESPRIT and NLS deconvolved with a Wiener filter
diverge, while NLS fitted by asymmetric super-Gaussians does well down to about 3%cm. Bottom left
and right: NLS fitted by asymmetric super-Gaussians gives very good results down to 1.75%cm but the
other methods are very unreliable at distances shorter than 7%cm.
achieve. An odd result is that, at longer integration times, ESPRIT seems to give a biased estimation of the
distance even at longer distances. Why this happens is unknown. The effects of the negative eigenvalues for
ESPRIT, described in section 4.1.4 can be clearly seen in the results. ESPRIT works well down to about
7$cm, but then the measured distance takes a big leap and estimates the distance to be several centimetres
larger then the true value and the standard deviation escalates. This happens when the magnitude of an
eigenvalue belonging to one of the peaks is lower in magnitude than the negative eigenvalues created by the
! " #! #"
!
"
#!
#"
$!
$"
%!
%"
&!
'()*+,(-.-/*0)12(.3245
674/1)8.-/*0)12(.3245
910(:,)0/71.0/4(;.$!.4*
! $ & < = #! #$ #& #<!$
!
$
&
<
=
#!
#$
#&
#<
'()*+,(-.-/*0)12(.3245
674/1)8.-/*0)12(.3245
910(:,)0/71.0/4(;.&&!.4*
! $ & < = #! #$ #& #<!
$
&
<
=
#!
#$
#&
#<
'()*+,(-.-/*0)12(.3245
674/1)8.-/*0)12(.3245
910(:,)0/71.0/4(;.=<!.4*
! $ & < = #! #$ #& #<!
$
&
<
=
#!
#$
#&
#<
'()*+,(-.-/*0)12(.3245
674/1)8.-/*0)12(.3245
910(:,)0/71.0/4(;.#$=!.4*
>?@A9B
6C?.DE/(1(,.F/80(,G
6C?.DH*I44(0,/2.*+J(,!K)+**G
674/1)8.-/*0)12(
Uppsala University
3D imaging using time-correlated single photon counting" 36
Wiener filtering. In these cases, ESPRIT uses the negative eigenvalues instead of the eigenvalues belonging
to the peak, resulting in a false estimation of the distance.
Fig. 5.5 The errors for different SNR values. NLS fitted by asymmetric super-Gaussians gives the best
results of all methods down to 1.75%cm.
Below are the results, in terms of standard deviations, from measuring the position of a single corner cube at
long integration times. This was done in order to see how accurate each signal processing method is when
calculating a position without being possibly biased by the presence of another peak. In this case the
different methods are quite similar in their performance, though ESPRIT and NLS fitted by asymmetric
super-Gaussians yield a slightly better result than NLS deconvolved by a Wiener filter and fitted by regular
Gaussians.
• ESPRIT – 1.0 mm standard deviation.
• NLS, fitted by asymmetric super-Gaussians – 1.0 mm standard deviation.
• NLS, deconvolved by a Wiener filter and fitted by Gaussians – 1.4 mm standard deviation.
! " # $ % &! &" &# &$!&!
!'
!
'
&!
&'
"!
"'
())*)+,-./
0*.1234+516732-8+,-./
9278:)371*2+71.8;+"!+.6
! " # $ % &! &" &# &$!"
!
"
#
$
%
&!
())*)+,-./
0*.1234+516732-8+,-./
9278:)371*2+71.8;+##!+.6
! " # $ % &! &" &# &$!"
!
"
#
$
%
&!
())*)+,-./
0*.1234+516732-8+,-./
9278:)371*2+71.8;+%$!+.6
! " # $ % &! &" &# &$!"
!&
!
&
"
<
#
'
$
=
%
())*)+,-./
0*.1234+516732-8+,-./
9278:)371*2+71.8;+&"%!+.6
(>?@9A
0B>+CD1828)+E1478)F
0B>+CG6H..87)1-+6IJ8)!K3I66F
0*.1234+516732-8
Uppsala University
3D imaging using time-correlated single photon counting" 37
5.2 Three-dimensional results
The three-dimensional results were obtained from fitting a plane to a flat surface and calculating the
dimensions of different cones. From this information it is possible to evaluate how well the TCSPC system
images certain geometric shapes and the performance of the signal processing algorithms. The data from the
three-dimensional scans were assumed to contain only one response in every point, i.e. the laser beam only
hit one object in every point and there were no semitransparent objects such as glass surfaces. At some
points, near corners and edges of objects, more than one response might appear. However, these points were
assumed to be limited so the possible loss of data is negligible. Assuming only one response made it easier to
find the peaks, because no algorithm for estimating the number of peaks in every point needed to be
implemented. The methods used for pre-processing the three-dimensional data were ESPRIT, NLS fitted by
asymmetric super-Gaussians and a method that simply picks the maximum value and its location in every
point.
5.2.1 Plane fitting
The result from the three-dimensional scan of a flat surface is shown in Fig. 5.6, with a plane fitted to it. The
surface was measured in 1092 points. The distances from every point to the fitted plane and the standard
deviations were calculated, as well as the computation times for each algorithm to process the data from
1092 points. The results are shown in Table 5.2.
Fig. 5.6 A flat surface pre-processed by the ESPRIT method.
The scatter plot is the measured data and the mesh is a plane
fitted to the data. The second degree coefficients are
approximately equal to zero.
The method of just picking the maximum value and its position from the data shows the advantage of using
more advanced signal processing algorithms. Although fast, it gives bad precision since it can only estimate
the position to integer values of bins in the histogram, which has a resolution of 32$ps, or approximately
!!"#$
!!"#%&
!!"#%$
!!"#%%
!!"#%' !"#'!"#(
!"#!"
"#!
!"#(
!"#)
!"#!
!"#*
"
"#*
+,-./0123
+45506789:;<=
>,?.4@AB0123
CB,D/.0123
Uppsala University
3D imaging using time-correlated single photon counting" 38
0.5 $ cm. ESPRIT also shows its advantage over the non-linear least squares algorithms due to faster
computation time, although it does not yield as good resolution when estimating multiple responses as NLS
Table 5.2 The results from imaging a flat surface and fitting a plane. Comparing the results from the
more advanced signal processing algorithms with the results from just picking the maximum value
from the data shows the advantage of using signal processing methods.
ESPRIT NLS (asymmetric super-Gauss) Maximum value
Mean distance to plane
Standard deviation
Computation time
0.16 mm 0.20 mm 0.79 mm
1.7 mm 1.4 mm 6.4 mm
17.8438 s 195.0938 s 12.2656 s
does. If only one response is present in the data and the number of points is large, ESPRIT gives a
comparable accuracy at a computation time approximately 10 times shorter in the case of 1092 points. The
differences between the standard deviations from these results and the standard deviations from the one-
dimensional results (when measuring the position of a single corner cube) are probably due to the fact that
the plywood screen is not a perfect plane.
5.2.2 Cones
The results from calculating the diameters of the cones are presented in Table 5.3. The different pre-
processing algorithms give very similar results, so they are not all presented here. The assumption that the
vertex points towards the detector is correct for all cones except for the tallest cone having the smallest
diameter (Cone $#2 in Table 5.3). For the shorter and wider cones the vertex is located approximately
midpoint between the edges. However, when the cone becomes too tall and narrow, the vertex’ location
cannot be approximated to be midpoint between the edges, which explains the incorrect estimation of the
height for Cone $#2. There is also an uncertainty in the absolute distance to the cones, which yields an
uncertainty in the measured data.
Table 5.3 The true and the measured dimensions of the cones. The methods for calculating
the dimensions are simple and do not yield very accurate results. Cone%#2 is too narrow
for the assumption of a vertex pointing straight towards the detector to be correct, which
yields an incorrect estimate of the height.
Dimension Cone #1 Cone #2 Cone #3 Cone #4
Diameter (true)
Height (true)
Diameter (measured)
Height (measured)
30 cm 9 cm 15 cm 20 cm
29.95 cm 39.75 cm 20.68 cm 29.87 cm
32.58 cm 8.78 cm 15.48 cm 22.08 cm
28.15 cm 15.95 cm 18.89 cm 27.49 cm
Uppsala University
3D imaging using time-correlated single photon counting" 39
6 Conclusions
6.1 Methods
After looking at the results in the previous chapter we can formulate some conclusions, which are presented
in this chapter. First, the advantages and the weaknesses of each algorithm are summarized. Secondly, these
properties are compared between the different algorithms. The interesting algorithms to evaluate are the pre-
processing algorithms. The methods for segmentation and plane fitting are merely tools used to extract
information from the three-dimensional images in order to evaluate the pre-processing algorithms and the
precision of the system, and will not be considered further. The Richardson-Lucy algorithm failed to improve
the performance and will not be discussed.
6.1.1 Wiener filter
Of the deconvolution methods evaluated the Wiener filter was the only method yielding a satisfactory result.
The IIR filter is easiest to implement and gives an adequate result, though ringing artefacts appear.
6.1.2 ESPRIT
The primary advantage of ESPRIT is that this method is very computationally efficient. It also resolves
multiple responses that are separated by at least 10$cm at very low SNR values. For higher SNR values
ESPRIT manages to resolve multiple responses separated by distances down to 6-7 $cm. However, for
distances shorter than 6 cm ESPRIT does not predict reliable estimates of the distance. Looking at the results
in the previous chapter, ESPRIT seems to give a biased estimate for long integration times, which is an odd
result, since it predicts good estimates down to 6.75$cm for an integration time of 440$ms. The reason for this
behaviour is for the moment unknown, but other data sets that ESPRIT has been applied to have not shown
this behaviour. One explanation can probably be attributed to the Wiener deconvolution. If the data is not
properly deconvolved, some of the IRF will still be present, yielding a biased result. ESPRIT has also shown
a better resolution for other data sets, resolving distances down to approximately 4.5$cm.
6.1.3 Non-linear least squares
The NLS method fitted by asymmetric super-Gaussians gives very accurate results in terms of low standard
deviation and bias. It also resolves multiple responses separated by distances down to 1.75$cm with an error
of approximately 2$mm and a standard deviation of approximately 3 mm. For low SNR values it can resolve
distances down to 5-6$cm. The main drawbacks of NLS are that good initialization values of the positions
and amplitudes of each response are required to prevent the algorithm from converging to a local minimum.
Also, the computational burden is very heavy, and for three-dimensional scans containing several thousands
Uppsala University
3D imaging using time-correlated single photon counting" 40
of points the computation time will be a couple of hours with the implementation and the computer used in
this project.
The other NLS scheme was to first deconvolve the data and then fit it with a linear combination of regular
Gaussians. This method works satisfactory for long distances between the responses and high SNR values.
The method requires initial values not only for the positions and amplitudes of the responses, but also for the
widths after the deconvolution. The widths after deconvolution are very difficult to guess accurately, since
they depend on the SNR value, making the approach sensitive to noise. The method easily converges to a
local minimum, as can be seen in the results, when the initialization guesses are not accurate enough. For
good initial guesses a resolution down to 1.75$cm is achievable.
6.1.4 Comparison
The choice of method depends on the purpose of the usage. For applications where resolution is of greatest
importance, using the NLS method fitted by a linear combination of IRF:s would be the best choice. In this
project the IRF has been approximated by an asymmetric super-Gauss function, but other functions may
work even better. For example, Sjöqvist et al. proposed a way to approximate the IRF by a sum of Gaussians
in [1]. For purposes where the data is known to have no less than 6-7$cm between multiple responses and
computational speed is of importance, ESPRIT would be the choice. However, deconvolving the data and fit
it with regular Gaussians is not recommended, since it is generally slower than fitting the original data by a
linear combination of IRF:s. This is due to the extra parameters in the minimization criterion (the widths of
the responses). The resolution has not been shown to be improved either.
For three-dimensional images with several thousands of points, and where most of the points contain only
one response, ESPRIT is recommended due to the superior computational speed. There are however other
algorithms evaluated in [17], such as peak detection (maximum value) and leading edge detection, that are
computationally efficient. However, it is not possible to find multiple responses using these methods,
whereas ESPRIT can find multiple responses and still maintain its computational efficiency.
It should also be stressed that the NLS methods should be used with care. In the test carried out in this
project, the data is known to contain two responses, which makes it easier to initiate the parameters for the
search method. In the cases where the data contains more than two peaks, the initialization guesses may be
more cumbersome.
6.2 Possible improvements
Possible improvements would be to implement an information criterion algorithm that estimates the number
of responses in the data. A simple algorithm would be to use equation (2.3.4), i.e. to investigate the number
of eigenvalues that are larger than the noise floor and make an estimation from that information. However,
there exist more advanced information criteria that give better estimations, such as the AIC (Akaike
Information Criterion) (for reference, see [7] and [8] and the references therein). Another possibility is to
implement an adaptive algorithm like the Reversible Jump Markov Chain Monte Carlo (RJMCMC)
algorithm, proposed in [6], that adaptively estimates the number of responses, their positions and amplitudes.
Uppsala University
3D imaging using time-correlated single photon counting" 41
In order to get the Richardson-Lucy algorithm to function properly, a regularization algorithm is necessary.
Regularization techniques have been evaluated in [13]. The advantage with using the Richardson-Lucy
algorithm is that it does not produce ringing artefacts like the Wiener filter, which as we have seen causes
problems for ESPRIT.
Other methods that could be of interest to evaluate are the Kalman filter and the MUSIC (MUltiple SIgnal
Classification) algorithm. MUSIC is like ESPRIT a subspace based algorithm for spectral estimation.
ESPRIT relies on a rotation transformation in, and this makes it important to deconvolve the data prior to
estimating the positions of the peaks. However, the deconvolution produces artefacts in the data, which
causes problems for ESPRIT. MUSIC does not rely on this rotation transformation, so it may be possible to
implement the MUSIC algorithm without deconvolving the signal first. This would correspond to the NLS
method fitted by asymmetric super-Gaussians, where we search for a linear combination of IRF:s from the
start, instead of first deconvolving the data and then search for regular Gaussians.
Uppsala University
3D imaging using time-correlated single photon counting" 42
References
[1]! L. Sjöqvist, M. Henriksson, P. Jonsson and O. Steinvall, ”Time-of-flight range profiling using
! time-correlated single-photon counting”, Proc. of SPIE, Vol. 6738, pp. 67380N, 2007.
[2]! B. Norlin, Photon Counting X-Ray Detector Systems. Department of Information Technology and
! Media, Mid Sweden University, ISBN: 91-85317-01-2, 2005.
[3]! W. Becker, Advanced Time-Correlated Single Photon Counting Techniques. Berlin: Springer-Verlag,
! 2005, pp. 1-25.
[4]! R. C. Gonzalez and R. E. Woods, Digital Image Processing 3rd edition. New Jersey: Prentice Hall,
! 2008, pp. 26, 689-778.
[5]! B. Jutzi and U. Stilla, ”Range determination with waveform recording laser systems using a Wiener
! filter”, ISPRS Journal of Photogrammetry & Remote Sensing. Vol. 61, pp. 95-107, 2006.
[6]! G. S. Buller and A. M. Wallace, ”Ranging and Three-Dimensional Imaging Using Time-Correlated
! Single-Photon Counting and Point-by-Point Acquisition”, IEEE Journal of selected topics in quantum
+ electronics, Vol. 13, No. 4, pp. 1-10, 2007.
[7]! G. Tolt and H. Larsson, ”Waveform analysis of lidar data for targets in cluttered environments”, Proc.
+ of SPIE, Vol. 6739, pp. 67390A, 2007.
[8]! L. Nordin, Analysis of Waveform Data from Airborne Laser Scanner Systems. Luleå University of
! Technology, !ISRN: LTU-EX--06/336--SE, 2006.
[9]! P. H. Hiskett, C. S. Parry, A. McCarthy and G. S. Buller, ”A photon-counting time-of-flight ranging
! technique developed for the avoidance of range ambiguity at gigahertz clock rates”, Optics Express,
! Vol. 16, No. !18, pp. 13685-13698, 2008.
[10]! P. Wu and T. Olofsson, ”Chapter 5 Wiener filters” in: Course Literature in Digital Signal Processing.
+ Institution of Signals and Systems, Uppsala University, 2008, pp. 2-24.
[11]! P. Stoica and R. Moses, Spectral analysis of signals. New Jersey: Prentice Hall, 2005, pp. 150-213.
[12]! T. Söderström and P. Stoica, System Identification. London: Prentice Hall International, 1989, pp.
! 198-202.
[13] ! M. Zimányi, A. Mateá)ik and M. *rámek, ”Edge-preserving regularization for confocal data
! deconvolution”, XI Conference ”Medical Informatics & Technologies”, pp. 403-410, 2006.
Uppsala University
3D imaging using time-correlated single photon counting" 43
[14]! W. H. Richardson, ”Bayesian-Based Iterative Method of Image Restoration”, Journal of the Optical
+ Society of America, Vol. 62, No. 1, pp. 55-59, 1972.
[15]! G. S. Buller, R. J. Collins, N. J. Krichel, A. M. Wallace and A. McCarthy, ”Scanning of Low Signature
! Targets Using Time-Correlated Single-Photon Counting”, Proc. of SPIE, Vol. 7320, pp. 732003, 2009.
[16]! P. Nelson, ”A tutorial introduction to the design of multichannel inverse filter for audio signal
! processing”, in Audio Signal Processing, Seminar organized by the IEEE Benelux Signal !Processing
! Chapter, Academish Genootschap, Eindhoven, The Netherlands, 1997.
[17]! C. Grönwall, O. Steinvall, F. Gustafsson and T. Chevalier, ”Influence of laser radar sensor
! parameters on range-measurement and shape-fitting uncertainties”, Optical Engineering, Vol. 46, No.
! 10, pp. 106201, 2007.
Uppsala University
3D imaging using time-correlated single photon counting" 44