### Unformatted Attachment Preview

CIS 4930.006S20/CIS 6930.013S20: Computational
Methods for Imaging and Vision
Spring 2020
Homework #4
The University of South Florida
Department of Computer Science and Engineering
Tampa, FL
Assigned: April 06, 2020
Due: April 19, 2020 (11:59 PM)
1
1D and 2D Convolutions
(a) Write your own Matlab/Python function to implement 1D discrete convolution, between two
vectors:
• Use it to compute the convolution between the following two vectors:
−3
9
6
, and f = −5
4
h=
−10
3
9
• Verify the output of your result by computing the h ? f by hand.
(b) (Optional) In this question, you will compute the convolution between an image of your choice,
and the Gaussian filter. The PSF for the Gaussian filter is:
1 4 6 4 1
4 16 24 16 4
1
6 24 36 24 6 .
H=
320
4 16 24 16 4
1 4 6 4 1
• For an image of your choice (please keep it PG!), load the image (read it in as a matrix), on
Matlab you can use the function: ‘imread’.
• Convolve that image with the matrix H.
• Display the result of your discrete convolution.
• Comment on the difference between the result and the original image.
1
2
Digital Holography
Holography is a 3D imaging technique, in the sense that it allows recreate the 3D scene (optically or
digitally) from a single intensity measurement. In this problem, we will explore the general idea of
in-line (Gabor) holography and understand the unique feature about holography from the linear system
perspective.
A schematic of the in-line holography is shown in Fig. 2. To record a hologram, a coherent light source
(e.g. laser) is needed to illuminate the 3D scene. The hologram (the intensity image captured by the
camera) is the result from the interference between the unperturbed illumination (reference beam) and
the light scattered from the object.
The formation of the hologram from a 2D object can be approximated using the following linear shift
invariant (LSI) model:
gout (x, y) = gin (x, y; z) ? h(x, y; z),
(1)
where ? denotes the 2D convolution (i.e. over (x, y)), gout (x, y) is the output term of interest contained
in the hologram, gin (x, y; z) is the object function, and h(x, y; z) is the point spread function (PSF),
determined by the free-space propagation and diffraction theory, which has the following form,
h(x, y; z) =
1 jk x2 +y2
e 2z ,
jλz
(2)
and the corresponding transfer function,
2
2
H(fx , fy ; z) = F{h(x, y; z)} = e−jπλz(fx +fy ) ,
(3)
where k = 2π/λ is the wavenumber, λ is the wavelength of illumination, (x, y) denote the lateral
coordinates and z denotes the axial direction (along which the light propagates) and (fx , fy ) denote the
spatial frequency coordinates, according to the following Fourier transform relation
Z
+∞
Z
+∞
H(fx , fy ; z) =
−∞
h(x, y; z)e−j2π(fx x+fy y) dxdy,
(4)
−∞
note that we have used the substitutions (or change of variables) ωx = 2πfx and ωy = 2πfy in the usual
definition of the Fourier transform we saw in class.
(a) Construct the forward models in both operator and matrix forms. Assume square pixels with
size ∆ and number of pixels in each spatial dimension is N . Discretization of the object space is
performed on the standard basis with square pixel of size δ, and number of pixels in each spatial
dimension M is chosen such that M δ = N ∆.
(b) Find adjoint, and inverse of the system.
(c) Write a Matlab/Python script for the forward model in (a).
(d) Plot the system transfer functions with the following parameters: λ = 0.5 µm, N = 1000.
(i) Keep z = 50 mm fixed, δ = ∆ = 2 µm, 5 µm, 10 µm, 20 µm. How does sampling affect the
performance of digital holography?
(ii) Keep δ = 5 µm fixed, while z ranges from 30 mm to 70 mm (use a small step-size). How does
object distance affect the performance of digital holography?
(iii) Keep ∆ = 5 µm and z = 50 mm fixed, while δ ranges from 1 µm to 10 µm in 2 µm step size.
How does discretization of the object affect the performance of digital holography?
2
Figure 1: Digital holography schematic
Digital holographic reconstruction: Inverse Write Matlab scripts to complete the following questions.
Submit both your Matlab scripts as well as the output results. The object, ‘f2’ located at z1 = 50mm is
given in the mat-file o2.mat. Use the following parameters throughout this problem for forming the
hologram: λ = 0.5µm, N = 1000, and ∆ = δ = 5µm. Consider the object o2 is present.
(e) Simulate the hologram using the discrete forward model (y = Ax) derived from.
(f) Next, we will consider holographic reconstruction using the same parameters as in (e).
• What is the condition number of the imaging matrix A?
(g) Finally, we will investigate the effect of Gaussian noise. Gaussian noise is commonly encountered
in imaging. The fundamental assumption is that the noise is independent of the measured intensity.
The simplest case is the white Gaussian noise (WGN), which assumes the mean as the noise-free
image Inoisefree , and the same variance nstd across all pixels. The noisy image under WGN, Inoisy ,
can be generated using the following Matlab script:
Inoisy = normrnd(Inoisefree , nstd , Ny , Nx );
(where Ny , Nx are the dimensions of the image along vertical and horizontal directions.)
Consider white Gaussian noise (WGN) with nstd = 0 + 0j (i.e. noise-free), 0.1 + 0.1j, 0.5 + 0.5j:
• What is the direct deconvolution result?
• What is the result from the least square solution?
• What is the optimal Tikhonov deconvolved result?
• Comment on what you have observed by comparing the three results. Why?
3
(Optional for Extra credit: 3D Digital Holography) Consider the 3D holographic imaging problem.
The formation of the hologram from an extended scene can be approximated using the following linear
model
Z
gout (x, y) =
gin (x, y; zl ) ? h(x, y; zl )dzl
(5)
zl
where ? denotes the 2D convolution in (x, y), gin (x, y; zl ) is the object function at the distance zl .
(h) Construct the forward models in both operator and matrix forms. Assume that the discretization
of the object space is performed on the standard basis with lateral spacing δx = δy = δ, and axial
spacing δz .
(i) Is the system shift invariant? If so, plot the system transfer function. If not, plot the singular values
of the system.
(j) Find the image space, object space, range, null space, and adjoint of the system. Does the inverse
exist?
(k) Write a Matlab/Python script for the forward model in part (e).
4
...