51
A Primer on Image Segmentation It’s all PDE’s anyways Jonas Actor Rice University 21 February 2018 Jonas Actor Segmentation 21 February 2018 1

A Primer on Image Segmentation - Rice University

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

A Primer on Image SegmentationIt’s all PDE’s anyways

Jonas Actor

Rice University

21 February 2018

Jonas Actor Segmentation 21 February 2018 1

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 2

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 3

Real-World Problem

Develop new treatments for tuberculosis (Mycobacterium tuberculosis)

• ≈ 1/3 of global population currently infected

• most common infectios disease worldwide

• 2 phases: innate immune response, then dormancy

• Factors in the transition between these phases only partially known

Goal: Track Mtb within infected cells during innate immune response

Jonas Actor Segmentation 21 February 2018 4

Real-World Problem

MTB Movie

Jonas Actor Segmentation 21 February 2018 5

Other Motivations

• Computer vision

• Self-driving cars

• Medical imaging (MRI, CT, ultrasound)

• Fingerprint recognition

• Art history and restoration

Jonas Actor Segmentation 21 February 2018 6

Some Notation

• Ω image domain, normally [0, 1]2 or [0, 1]3

• u0 : Ω→ [0, 1] greyscale image

• Γ ⊂ Ω desired segment

Implemented in OpenCV + FEniCS in Python

Jonas Actor Segmentation 21 February 2018 7

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 8

Simple Methods

Why?

• fast

• intuitive

When?

• no noise, blurring, obstructions, or known already

• know some properties already

Jonas Actor Segmentation 21 February 2018 9

Sweatshop Method

• robust to noise, blurring, variable contrast, halo effects

• often treated as ”best possible” or ground truth

• time-consuming

• reliable?

Jonas Actor Segmentation 21 February 2018 10

Thresholding

For a given threshold θ,

Γ = 1u0(x)≥θ : x∈Ω

Works best when

• clear foreground + background

• items to segment have similar intensities

• no variable contrast, obstructions

Jonas Actor Segmentation 21 February 2018 11

Thresholding

A macrophage

http://medcell.med.yale.edu/histology/connective_tissue_lab/macrophage_em.php

Jonas Actor Segmentation 21 February 2018 12

Thresholding

A macrophage, thresholded

Jonas Actor Segmentation 21 February 2018 13

Local Thresholding

For a given threshold map θ : Ω→ [0, 1],

Γ = 1u0(x)≥θ(x) : x∈Ω

For example, θ(x) = averageu0(y) : y ∈ Bε(x)

Jonas Actor Segmentation 21 February 2018 14

Local Thresholding

(a) Thresholding (b) Local Thresholding

Jonas Actor Segmentation 21 February 2018 15

Simple Methods can Fail

Problems when. . .

• noise

• blurred or obstructed objects

• halo / variable contrast or lighting

• no prior assumptions on object shape

Jonas Actor Segmentation 21 February 2018 16

Simple Methods can Fail

Cow!

Jonas Actor Segmentation 21 February 2018 17

Simple Methods can Fail

Cow: Thresholding

Jonas Actor Segmentation 21 February 2018 18

Simple Methods can Fail

Cow: Adaptive Thresholding

Jonas Actor Segmentation 21 February 2018 19

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 20

Edge Detection

Motivation: Define edges as areas across high gradients

Interior within edges gives us segmented region Γ−→ can recover with e.g. watershed algorithm

Jonas Actor Segmentation 21 February 2018 21

Canny Edge Detection

• Given image u0

• Apply smoother (e.g. Gaussian kernel, Laplacian) u0 7→ u

• Approximate ∇u by Finite Differences

∇u(x , y) =1

h

[u(x+, y)− u(x , y)u(x , y+)− u(x , y)

]• Threshold ‖∇u‖

Jonas Actor Segmentation 21 February 2018 22

Edge Detection

Not a Duck

Jonas Actor Segmentation 21 February 2018 23

Edge Detection

Canny Edges of a non-duck

Jonas Actor Segmentation 21 February 2018 24

Eikonal Equation

First order fully nonlinear PDE:

‖∇u‖ = 1 on Ω

u = 0 on ∂Ω

u: minimal distance to boundary over a uniform cost field−→ continuous version of Shortest Path

Jonas Actor Segmentation 21 February 2018 25

Eikonal Equation for Segmentation

Let F = CannyEdge(u0); solve

‖∇u‖ =1

Fon Ω

u = 0 on ∂Ω

cost field ∼ penalize crossing edges

Jonas Actor Segmentation 21 February 2018 26

Eikonal Equation: Numerical Solution

Numerical solution: Fast Marching Method

• Keep track of distance values for ‘far’, ‘considered’, ‘accepted’ nodes

• Update far nodes if accepted/considered nodes nearby → considered

• Considered with smallest value → accepted

• Repeat until no more considered nodes

Jonas Actor Segmentation 21 February 2018 27

Eikonal Equation: Fast Marching Method

Generalization of Dijkstra’s algorithm

• more than just one previous node to calculate distance

• O(pixels) = O(|V |) = O(|E |) runtimeDijkstra’s algorithm with integer weights on undirected graph

Jonas Actor Segmentation 21 February 2018 28

Eikonal Equation

Figure: Eikonal Equation on Cow Edges

Jonas Actor Segmentation 21 February 2018 29

Eikonal Equation

Figure: Thresholding applied to Eikonal Cow

Jonas Actor Segmentation 21 February 2018 30

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 31

Image Approximation

3-D Scene

image u blur K noise n

observed image u0

Jonas Actor Segmentation 21 February 2018 32

Image Approximation

Approximate u0 : Ω→ [0, 1] by u ∈ V vector space (often H1(Ω))

Assumptions:

• well-defined solution space

• curvature of edges well-defined

• no fractals

Jonas Actor Segmentation 21 February 2018 33

Image Approximation with PDE Functionals

Goal: Define an energy functional on an image, then minimize functional

u = minu∈V , Γ⊆Ω

E [u, Γ |u0]

• Mumford-Shah

• Chan-Vese

• Ambrosio-Tortorelli

Jonas Actor Segmentation 21 February 2018 34

Mumford-Shah Functional

E [u, Γ|u0] = αν(Γ) +β

2

∫Ω\Γ|∇u|2 dx +

λ

2

∫Ω

(K [u]− u0)2dx

• u0: image

• u: desired approximation

• Γ ⊂ Ω: segmented section

Jonas Actor Segmentation 21 February 2018 35

Mumford-Shah Functional

E [u, Γ|u0] = α ν(Γ) +β

2

∫Ω\Γ|∇u|2 dx +

λ

2

∫Ω

(K [u]− u0)2dx

• ν(Γ): (Hausdorff) length of curve ∂Γ

• Keeps from making a curve around every pixel

Jonas Actor Segmentation 21 February 2018 36

Mumford-Shah Functional

E [u, Γ|u0] = αν(Γ) +β

2

∫Ω\Γ|∇u|2 dx +

λ

2

∫Ω

(K [u]− u0)2dx

• penalize regions of high gradient or crossing ∂Γ

• groups similar parts of the image into contiguous segments

Jonas Actor Segmentation 21 February 2018 37

Mumford-Shah Functional

E [u, Γ|u0] = αν(Γ) +β

2

∫Ω\Γ|∇u|2 dx +

λ

2

∫Ω

(K [u]− u0)2dx

• keep u0 close to u

• K image (deblurring) operator; often K = I

Jonas Actor Segmentation 21 February 2018 38

Mumford-Shah Functional

• Maintains edges in Γ while smoothing noise

• Use u instead of u0 for other segmentation methods

• V = piecewise constants → thresholding

Jonas Actor Segmentation 21 February 2018 39

Mumford-Shah Functional

Still not a duck. . .

Jonas Actor Segmentation 21 February 2018 40

Mumford-Shah Functional

Mumford-Shah approximation of Cow

Jonas Actor Segmentation 21 February 2018 41

Mumford-Shah Functional

(a) Canny Edge on u0 (b) Canny Edge on u = MS [u0]

Jonas Actor Segmentation 21 February 2018 42

Mumford-Shah Functional

E [u, Γ|u0] = αν(Γ) +β

2

∫Ω\Γ|∇u|2 dx +

λ

2

∫Ω

(K [u]− u0)2dx

• α, β, λ ≥ 0

• Chan-Vese Active Contour model: β →∞• Ambrosio-Tortorelli: replace Γ region with Φ

x ∈ Γ⇐⇒ Φ(x) large

• Bilevel optimization problem

u = minα,β,λ

minu∈V

E [u, Γ|u0]

Jonas Actor Segmentation 21 February 2018 43

Laplacian Models

Send α→∞ and drop Γ dependence:

E [u|u0] =β

2

∫Ω|∇u|2 dx +

λ

2(K [u]− u0)2dx

Theorem (Elliptic Solution)

Suppose u0 ∈ L∞(Ω). Then, the energy functional E [u|u0] has a uniqueminimizer u∗ ∈ H1(Ω) that satisfies the elliptic PDE

−β4u + λ(u − u0) = 0 on Ω

∂n u = 0 on ∂Ω

Jonas Actor Segmentation 21 February 2018 44

Laplacian Models

Solve the following PDE:

−β4u + λ(u − u0) = 0 on Ω

∂n u = 0 on ∂Ω

Multigrid solver −→ resolution at different scales

• Hierarchical scale separation of image features

• Corner identification

• Skeleton construction (stick figures)

Jonas Actor Segmentation 21 February 2018 45

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 46

Other Methods: Graphs

• min-cut

• normalized min-cut

• spectral Graph Laplacian

• equivalence to Finite Differences for specific PDE methods

Often have good algorithms!

Jonas Actor Segmentation 21 February 2018 47

Other Methods: Neural Networks

• CNN, U-Net

• Many different architectures

• Labeled training data

• Viewed as state-of-the-art

Jonas Actor Segmentation 21 February 2018 48

Table of Contents

1 Motivation

2 Simple Methods

3 Edge Methods

4 PDE Energy Methods

5 Other Methods

6 Parting Thoughts

Jonas Actor Segmentation 21 February 2018 49

Parting Thoughts

• Simple methods for occasional users

• PDE methods• PDEs provide strong analytical framework• Can be fast• robust to noise• Can do more complicated tasks: inpainting, deblurring, etc.

• Other methods• Graph methods• NN methods

• need training data• hard analysis?

• Scattering, Sampling, many others too!

Jonas Actor Segmentation 21 February 2018 50

Questions Moving Forward

• Extension to 3D?

• Learning on images, not just segmentation

• Incoporation into models

• Automation? Supervised? Semisupervised?

• Future Work:• Using PDE methods to evaluate NN fitness• Unrolling methods: bilevel optimization 7→ NN

Jonas Actor Segmentation 21 February 2018 51