770 likes | 1.14k Views
Computational Imaging in the Sciences (and Medicine). Marc Levoy. Computer Science Department Stanford University. inspiration for light field rendering. in this lecture. time-of-flight or wave-based. Some examples. medical imaging rebinning transmission tomography
E N D
Computational Imagingin the Sciences (and Medicine) Marc Levoy Computer Science Department Stanford University
inspiration for light field rendering • in this lecture time-of-flight or wave-based Some examples • medical imaging • rebinning • transmission tomography • reflection tomography (for ultrasound) • geophysics • borehole tomography • seismic reflection surveying • applied physics • diffuse optical tomography • diffraction tomography • inverse scattering
related to tomography applicable at macro scale too • biology • confocal microscopy • deconvolution microscopy • astronomy • coded-aperture imaging • interferometric imaging • airborne sensing • multi-perspective panoramas • synthetic aperture radar
optics • holography • wavefront coding
light source pinhole Confocal scanning microscopy
r light source pinhole pinhole photocell Confocal scanning microscopy
Confocal scanning microscopy light source pinhole pinhole photocell
Confocal scanning microscopy light source pinhole pinhole photocell
→ 5 beams → 0 or 1 beams Synthetic confocal scanning[Levoy 2004] light source
→ 5 beams → 0 or 1 beams Synthetic confocal scanning light source
dof → 5 beams → 0 or 1 beams Synthetic confocal scanning • works with any number of projectors ≥ 2 • discrimination degrades if point to left of • no discrimination for points to left of • slow! • poor light efficiency
Synthetic coded-apertureconfocal imaging • different from coded aperture imaging in astronomy • [Wilson, Confocal Microscopy by Aperture Correlation, 1996]
Synthetic coded-apertureconfocal imaging 100 trials → 2 beams × 50/100 trials = 1 → ~1 beam × 50/100 trials = 0.5
Synthetic coded-apertureconfocal imaging 100 trials → 2 beams × 50/100 trials = 1 → ~1 beam × 50/100 trials = 0.5 floodlit → 2 beams → 2 beams trials – ¼ × floodlit → 1 – ¼ ( 2 ) = 0.5 → 0.5 – ¼ ( 2 ) = 0
Synthetic coded-apertureconfocal imaging 100 trials → 2 beams × 50/100 trials = 1 → ~1 beam × 50/100 trials = 0.5 floodlit → 2 beams → 2 beams trials – ¼ × floodlit → 1 – ¼ ( 2 ) = 0.5 → 0.5 – ¼ ( 2 ) = 0 • works with relatively few trials (~16) • 50% light efficiency • works with any number of projectors ≥ 2 • discrimination degrades if point vignetted for some projectors • no discrimination for points to left of • needs patterns in which illumination of tiles are uncorrelated
What are good patterns? pattern one trial 16 trials
Patterns with less aliasing multi-phase sinusoids? [Neil 1997]
Confocal imaging in scattering media • small tank • too short for attenuation • lit by internal reflections
Experiments in a large water tank 50-foot flume at Wood’s Hole Oceanographic Institution (WHOI)
Experiments in a large water tank • 4-foot viewing distance to target • surfaces blackened to kill reflections • titanium dioxide in filtered water • transmissometer to measure turbidity
Experiments in a large water tank • stray light limits performance • one projector suffices if no occluders
Seeing through turbid water floodlit scanned tile
staggered grid Other patterns sparse grid swept stripe
Other patterns floodlit swept stripe scanned tile
[Jaffe90] Stripe-based illumination • if vehicle is moving, no sweeping is needed! • can triangulate from leading (or trailing) edge of stripe, getting range (depth) for free
[Ballard/IFE 2004] Application tounderwater exploration [Ballard/IFE 2004]
Shaped illumination in a computer vision algorithm • low variance within one block = stereo constraint • sharp differences between adjacent blocks = focus constraint • both algorithms are confused by occluding objects transpose of the light field
Shaped illumination in a computer vision algorithm • confocal estimate of projector mattes → re-shape projector beams • re-capture light field → run vision algorithm on new light field • re-estimate projector mattes from model and iterate transpose of the light field
triangulation line sweep of W pixels or log(W) time sequence of stripes, W ≈ 1024 projector and camera lines of sight must be unoccluded, so requires S scans, 10 ≤ S ≤ 100 one projector and camera S log(W) ≈ 100-1000 confocal point scan over W2 pixels or time sequence of T trials, T ≈ 32-64 works if some fraction of aperture is unoccluded, but gets noisier, max aperture ≈ 90°, so 6-12 sweeps? multiple projectors and cameras 6 T = 200-800 no moving parts 30º 90º Confocal imaging versus triangulation rangefinding
The Fourier projection-slice theorem(a.k.a. the central section theorem) [Bracewell 1956] • P(t) is the integral of g(x,y) in the direction • G(u,v) is the 2D Fourier transform of g(x,y) • G(ω) is a 1D slice of this transform taken at • -1 { G(ω) } = P(t) ! P(t) G(ω) (from Kak)
Reconstruction of g(x,y)from its projections • add slices G(ω) into u,v at all angles and inverse transform to yield g(x,y), or • add 2D backprojections P(t, s) into x,y at all angles P(t) P(t, s) G(ω) (from Kak)
v 1/ω |ω| u ω ω The need for filtering before (or after) backprojection • sum of slices would create 1/ω hot spot at origin • correct by multiplying each slice by |ω|, or • convolve P(t) by -1 { |ω| } before backprojecting • this is called filtered backprojection correction hot spot
-1 { |ω| } = Hilbert transform of (∂/ ∂t) P(t) = −1 / ( π t ) * (∂/ ∂t) P(t) = -1 v 1/ω |ω| (from Bracewell) u ω ω (from Kak) ~2nd derivative • sum of slices would create 1/ω hot spot at origin • correct by multiplying each slice by |ω|, or • convolve P(t) by -1 { |ω| } before backprojecting • this is called filtered backprojection correction hot spot
Summing filtered backprojections (from Kak)
Example of reconstruction by filtered backprojection sinugram X-ray (from Herman) filtered sinugram reconstruction
volumerenderings the effectof occlusions More examples CT scanof head
Shape from light fieldsusing filtered backprojection backprojection occupancy reconstruction sinugram scene
Relation to Radon Transform • Radon transform • Inverse Radon transform where P1 where is the partial derivative of P with respect to t r r
Radon transform • Inverse Radon transform where P1 where is the partial derivative of P with respect to t
Higher dimensions • Fourier projection-slice theorem in n • Gξ(ω), where ξ is a unit vector in n, ω is the basis for a hyperplanein n-1, and G contains integrals over lines • in 2D: a slice (of G) is a line through the origin at angle ,each point on -1 of that slice is a line integral (of g) perpendicular to • in 3D: each slice is a plane through the origin at angles (,φ) ,each point on -1 of that slice is a line integral perpendicular to the plane • Radon transform in n • P(r,ξ), where ξ is a unit vector in n, r is a scalar,and P contains integrals over (n-1)-D hyperplanes • in 2D: each point (in P) is the integral along the line (in g)perpendicular to a ray connecting that point and the origin • in 3D: each point is the integral across a planenormal to a ray connecting that point and the origin (from Deans)
Frequency domain volume rendering[Totsuka and Levoy, SIGGRAPH 1993] volume rendering X-ray with depth cueing with directional shading with depth cueing and shading
Other issues in tomography • resample fan beams to parallel beams • extendable (with difficulty) to cone beams in 3D • modern scanners use helical capture paths • scattering degrades reconstruction
Limited-angle projections (from Olson)