18-793 Image and Video Processing
Submission instructions.
Fall 2020
Submissions are due on Thursday 12/10 at 10.00pm ET.
Please upload scans of your solution in GradeScope (via Canvas)
Homework 12
Instructions
Please solve all non-MATLAB problems using only paper and pen, without resorting to
a computer.
Please show all necessary steps to get the final answer. However, there is no need to be overly elaborate. Crisp and complete answers.
For all MATLAB problems, include all code written to generate solutions.
Please post all questions on the discussion board on the Piazza course website.
If you feel some information is missing, you are welcome to make reasonable assumptions and proceed. Sometimes the omissions are intentional. Needless to say, only reasonable assumptions will be accepted.
1. [Sines and spikes] A classical problem in signal processing is to separate sines and spikes. In Q1.mat, you are given four signals sig1, sig2, sig3 and sig4, each of which is an example of such a signal. See Figure 1 for plots of these signals.
Figure 1: Figure of sines+spikes
2
Homework 12
Formulate a strategy for separating the signal for separating the sines and spikes from their sum.
Deliverable: A mathematical formulation along with its justification.
Implement your strategy in MATLAB. Deliverable: Code
Run your code on the four signals given in Q1.mat.
Deliverable: For each signal, plot the recovered sine and spike components.
We are going to explore multi-image deblurring in this HW.
You have an unknown sharp image x and you obtain two blurred images y1 and y2 such that
y1 = k1 ∗ x + n1
y2 = k2 ∗ x + n2
Here, n1 and n2 are additive white noise, whose elements have mean zero and variance
σ2. We do not know anything about σ2.
y1 n1
Supposethaty= y ,andthenn= n ,andwecanwritey=A(x)+n.
22
(Deliverable 1) Provide mathematical expressions for the operator A and A∗.
(Deliverable 2) Provide MATLAB functions that implement A and A∗
(Deliverable 3) In Q2.mat, you are given two blurred images corresponding to y1 and y2, along with kernels k1 and k2. Deblur them jointly. Provide code and the deblurred output. You are welcome to use any method we have developed in class or prior HWs. But you are restricted to using your code or code that we provided as part of HW/recitations.
(Deliverable 4) Deblur y1 and y2 separately to obtain two different estimates of x. Provide code and deblurred outputs. Use the same method as in Deliverable 3.
Some Notes:
We expect you to optimize the parameters in your chosen method for good recon- structions
If you try more than one approach, then please only report the one that gave the best visual quality in reconstructions
2.
Homework 12 3 For what it is worth, y1 and y2 were generated using the following commands.
for ch=1:3
y1(:, :, ch) = conv2(x0(:, :, ch), k1, ’valid’);
end
y1 = y1 + randn(size(y1))*sigma;