lecture 22 exemplary inverse problems including filter design
DESCRIPTION
Lecture 22 Exemplary Inverse Problems including Filter Design. Syllabus. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/1.jpg)
Lecture 22
Exemplary Inverse Problemsincluding
Filter Design
![Page 2: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/2.jpg)
SyllabusLecture 01 Describing Inverse ProblemsLecture 02 Probability and Measurement Error, Part 1Lecture 03 Probability and Measurement Error, Part 2 Lecture 04 The L2 Norm and Simple Least SquaresLecture 05 A Priori Information and Weighted Least SquaredLecture 06 Resolution and Generalized InversesLecture 07 Backus-Gilbert Inverse and the Trade Off of Resolution and VarianceLecture 08 The Principle of Maximum LikelihoodLecture 09 Inexact TheoriesLecture 10 Nonuniqueness and Localized AveragesLecture 11 Vector Spaces and Singular Value DecompositionLecture 12 Equality and Inequality ConstraintsLecture 13 L1 , L∞ Norm Problems and Linear ProgrammingLecture 14 Nonlinear Problems: Grid and Monte Carlo Searches Lecture 15 Nonlinear Problems: Newton’s Method Lecture 16 Nonlinear Problems: Simulated Annealing and Bootstrap Confidence Intervals Lecture 17 Factor AnalysisLecture 18 Varimax Factors, Empircal Orthogonal FunctionsLecture 19 Backus-Gilbert Theory for Continuous Problems; Radon’s ProblemLecture 20 Linear Operators and Their AdjointsLecture 21 Fréchet DerivativesLecture 22 Exemplary Inverse Problems, incl. Filter DesignLecture 23 Exemplary Inverse Problems, incl. Earthquake LocationLecture 24 Exemplary Inverse Problems, incl. Vibrational Problems
![Page 3: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/3.jpg)
Purpose of the Lecture
solve a few exemplary inverse problems
image deblurringdeconvolution filters
minimization of cross-over errors
![Page 4: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/4.jpg)
Part 1
image deblurring
![Page 5: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/5.jpg)
three point blur(applied to each row of pixels)
![Page 6: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/6.jpg)
null vectors are highly oscillatory
![Page 7: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/7.jpg)
solve with minimum length
![Page 8: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/8.jpg)
note that GGT can deduced analytically
and is Toeplitzmight lead to a computational advantage
![Page 9: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/9.jpg)
Solution Possibilities1. Use sparse matrix for G together with mest=G’*((G*G’)\d)
(maybe damp a little, too)
2. Use analytic version of GGTtogether with mest=G’*(GGT\d)
(maybe damp a little, too)
3. Use sparse matrix for Gtogether with bicg() to solve GGTλ=d (maybe with a little damping, too)and then use mest=GTλ
![Page 10: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/10.jpg)
Solution Possibilities1. Use sparse matrix for G together with mest=G’*((G*G’)\d)
(maybe damp a little, too)
2. Use analytic version of GGTtogether with mest=G’*(GGT\d)
(maybe damp a little, too)
3. Use sparse matrix for Gtogether with bicg() to solve GGTλ=d (maybe with a little damping, too)and then use mest=GTλ
we used the simplest, which
worked fine
![Page 11: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/11.jpg)
500 1000 1500
200400600800
100012001400
true image
500 1000 1500
200400600800
100012001400
blurred image
500 1000 1500
200400600800
100012001400
reconstructed image
400 600 800
500
600
700
800
900400 600 800
500
600
700
800
900400 600 800
500
600
700
800
900
image blurred due to camera motion(100 point blur)
![Page 12: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/12.jpg)
500 1000 1500
200400600800
100012001400
true image
500 1000 1500
200400600800
100012001400
blurred image
500 1000 1500
200400600800
100012001400
reconstructed image
400 600 800
500
600
700
800
900400 600 800
500
600
700
800
900400 600 800
500
600
700
800
900
(A) (B) (C)
(D) (E) (F)
pixel number pixel number pixel number
pixe
l num
ber
pixe
l num
ber
![Page 13: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/13.jpg)
pixel number
[G-g ]728
0 200 400 600 800 1000 1200 1400-50
0
50
row
gene
raliz
ed in
vers
e
0 200 400 600 800 1000 1200 14000
0.2
0.4
0.6
0.8
row
gene
raliz
ed in
vers
eR 728 row number
row number(A)
(B) sidelobes
![Page 14: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/14.jpg)
Part 2
deconvolution filter
![Page 15: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/15.jpg)
Convolution
general relationship forlinear systems
with translational invariance
![Page 16: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/16.jpg)
Convolution
general relationship forlinear systems
with translational invariance
model m(t)and
data d(t)related by linear operator
![Page 17: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/17.jpg)
Convolution
general relationship forlinear systems
with translational invariance
only relative time matters
![Page 18: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/18.jpg)
underlying principle
linear superposition
![Page 19: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/19.jpg)
time , t, after impulse
d(t)=
g(t)
0
time , t, after impulse
m(t)=δ(t
)0
If the input of a spike m(t)=δ(t)
spike
causes the output of d(t)=g(t)
![Page 20: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/20.jpg)
m(t0)g(t-t0)
m(t)
time, tt0
d(t)
time, tt0
spike of amplitude, m(t0)Then the general input m(t)
causes the general output d(t)=m(t)*g(t)
![Page 21: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/21.jpg)
convolution d=m*g
![Page 22: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/22.jpg)
discrete convolution d=m*gstandard matrix from d=Gm
![Page 23: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/23.jpg)
seismic reflection sounding
![Page 24: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/24.jpg)
![Page 25: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/25.jpg)
want airgun pulse to be as spiky as possible
p(t) = g(t) * r(t) pressure = airgun pulse * sea floor response
so as to be able to detect pulsesin sea floor responsep(t) ≈ r(t)
![Page 26: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/26.jpg)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1
0
1
time, t
x(t)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.5
0
0.5
time, t
ginv (t)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.5
0
0.5
time, t
g*gin
v (t)
time, t
g(t)actual airgun pulse is ringy
![Page 27: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/27.jpg)
so construct a deconvolution filter m(t) so that
g(t) *m(t) = δ(t) and apply it to the data
p(t)*m(t) = g(t)*m(t)*r(t) = r(t) p(t) =g(t) * r(t)
![Page 28: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/28.jpg)
g(t) *m(t) = δ(t) and apply it to the data
p(t)*m(t) = g(t)*m(t)*r(t) = r(t) p(t) =g(t) r(t)
this is the equation we need to solve
so construct a deconvolution filter m(t) so that
![Page 29: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/29.jpg)
100
g(t) *m(t) = δ(t) Gm = d discrete
approximation of delta function
m =
use discrete approximation of convolution
...
![Page 30: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/30.jpg)
solve with damped least squares
mest = [GTG + ε2I]-1 GTdwith d = [1, 0, 0, ..., 0]T
(or something similar)
matrices GTG and GTd can be calculated analytically
![Page 31: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/31.jpg)
![Page 32: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/32.jpg)
approximately Toeplitz with elements
![Page 33: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/33.jpg)
approximately Toeplitz with elements
autocorrelation of g
![Page 34: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/34.jpg)
![Page 35: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/35.jpg)
cross-correlation of g and d
![Page 36: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/36.jpg)
Solution Possibilities1. Use sparse matrix for G together with mest=(G’*G)\(G’*d)
(maybe damping a little, too)
2. Use analytic versions of GTG and GTd together with mest=GTG\GTd
(maybe damp a little, too)
3. Never form G, just work with its columns, guse bicg() to solve GTG m = GTd but use conv() to compute GT(Gv)
4. Same as 3 but add a priori information of smoothness
![Page 37: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/37.jpg)
Solution Possibilities1. Use sparse matrix for G together with mest=(G’*G)\(G’*d)
(maybe damping a little, too)
2. Use analytic versions of GTG and GTd together with mest=GTG\GTd
(maybe damp a little, too)
3. Never form G, just work with its columns, guse bicg() to solve GTG m = GTd but use conv() to compute GT(Gv)
4. Same as 3 but add a priori information of smoothness
we used this complicated but very fast method
![Page 38: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/38.jpg)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1
0
1
time, t
x(t)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.5
0
0.5
time, t
ginv (t)
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.5
0
0.5
time, t
g*gin
v (t)
time, ttime, ttime, tg(t)
m(t)m(t)*
g(t)(A)
(B)
(C)
![Page 39: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/39.jpg)
(A) Original
0.5 1 1.5 2 2.5 3
-2
0
2
time, t
d(g)
0.5 1 1.5 2 2.5 3-2
-1
0
1
2
time, t
(B) After deconvolution
d(t)d(t)*
m(t)
![Page 40: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/40.jpg)
Part 3
minimization of cross-over errors
![Page 41: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/41.jpg)
2 4 6 8
2
4
6
8
true gravity
2 4 6 8
2
4
6
8
tracks
2 4 6 8
2
4
6
8
obs gravity
2 4 6 8
2
4
6
8
pre gravity
longitude
latit
ude
latit
ude
true
estimated
1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
7
8
9
pre gravity
-50
0
50
100
grav
ity a
nom
aly,
mga
l
longitude
note streaks
![Page 42: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/42.jpg)
general ideadata s is measured along tracks
data along each track is off by an additive constant
theorysj
obs (track i) = sjtrue (track i) + m(track i)
goal is to estimate the constants by minimizing the error at track intersections
![Page 43: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/43.jpg)
5
67
8
1
23
4
cross-over points
![Page 44: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/44.jpg)
ith intersection hasascending track Ai and descending track Di
sAiobs= sAi
true + mAi
sDiobs= sDi
true + mDi
subtract
sAiobs-sDi
obs= mAi- mDi
has form
d=Gm
![Page 45: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/45.jpg)
the matrix G is very sparse
every row is all zeros, except for a single +1 and a single -1
![Page 46: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/46.jpg)
note that this problem has an inherent non-uniqueness
m is determined only to an overall additive constant
one possibility is to use damped least squares, to choose the smallest m
(you can always add a constant later)
![Page 47: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/47.jpg)
the matrices GTG and GTd can be calculated semi-analytically
![Page 48: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/48.jpg)
![Page 49: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/49.jpg)
recipestarting with zeroed GTG and GTd
![Page 50: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/50.jpg)
Solution Possibilities1. Use sparse matrix for G together with damped least squares
mest=(G’*G+e2*speye(M,M))\(G’*d)
2. Use analytic versions of GTG and GTd add damping directly to the diagonal of GTGthen use mest=GTGpe2I\GTd
3. Use sparse matrix for Gtogether with bicg() version of damped least squares
4. Methods 1 or 2, but use hard constraint instead of damping to implement Σi mi = 0
![Page 51: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/51.jpg)
Solution Possibilities1. Use sparse matrix for G together with damped least squares
mest=(G’*G*e2*speye(M,M))\(G’*d)
2. Use analytic versions of GTG and GTd add damping directly to the diagonal of GTGthen use mest=GTG\GTd
3. Use sparse matrix for Gtogether with bicg() version of damped least squares
4. Methods 1 or 2, but use hard constraint instead of damping
our choice
![Page 52: Lecture 22 Exemplary Inverse Problems including Filter Design](https://reader036.vdocuments.us/reader036/viewer/2022062813/56816640550346895dd9ad76/html5/thumbnails/52.jpg)
2 4 6 8
2
4
6
8
true gravity
2 4 6 8
2
4
6
8
tracks
2 4 6 8
2
4
6
8
obs gravity
2 4 6 8
2
4
6
8
pre gravity
longitudelongitude
latit
ude
latit
ude
latit
ude
latit
ude
(A) (B)
(D)(C)
1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
7
8
9
pre gravity
-50
0
50
100
gravity anomaly, m
gal
longitude longitude