Mumford–Shah functional

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Mumford shah-example.png
Image approximation with Mumford-Shah functional. (left) The image of an eye. (center-left) areas of high gradient in the original image. (center-right) boundaries in the Mumford-Shah model, (right) piecewise-smooth function approximating the image.

The Mumford–Shah functional is a functional that is used to establish an optimality criterion for segmenting an image into sub-regions. An image is modeled as a piecewise-smooth function. The functional penalizes the distance between the model and the input image, the lack of smoothness of the model within the sub-regions, and the length of the boundaries of the sub-regions. By minimizing the functional one may compute the best image segmentation. The functional was proposed by mathematicians David Mumford and Jayant Shah in 1989.[1]

Definition of the Mumford–Shah functional

Consider an image I with a domain of definition D, call J the image's model, and call B the boundaries that are associated with the model: the Mumford–Shah functional E[ J,B ] is defined as


E[J,B] = C \int_D (I(\vec x) - J(\vec x))^2  d\vec x + A
\int _{D/B} \vec \nabla J(\vec x) \cdot \vec \nabla J(\vec x) d \vec x + B \int _B
ds

Optimization of the functional may be achieved by approximating it with another functional, as proposed by Ambrosio and Tortorelli.[2]

Minimization of the functional

Ambrosio–Tortorelli limit

Ambrosio and Tortorelli[2] showed that Mumford–Shah functional E[ J,B ] can be obtained as the limit of a family of energy functionals E[ J,z,ε ] where the boundary B is replaced by continuous function z whose magnitude indicates the presence of a boundary. Their analysis show that the Mumford–Shah functional has a well-defined minimum. It also yields an algorithm for estimating the minimum.

The functionals they define have the following form:


E[J,z;\epsilon] = C \int (I(\vec x) - J(\vec x))^2 d \vec x +
 A \int z(\vec x) |\vec \nabla J(\vec x)|^2 d \vec x + B \int
\{ \epsilon |\vec \nabla z(\vec x)|^2 + \epsilon ^{-1} \phi ^2(z(\vec
x))\} d \vec x

where ε > 0 is a (small) parameter and ϕ(z) is a potential function. Two typical choices for ϕ(z) are

  •  \phi _1(z) = (1-z)/2 \quad z \in [0,1]. This choice associates the edge set B with the set of points z such that ϕ1(z) ≈ 0
  •  \phi _2(z) = 3 z(1-z) \quad z \in [0,1]. This choice associates the edge set B with the set of points z such that ϕ1(z) ≈ ½

The non-trivial step in their deduction is the proof that, as \epsilon\to 0, the last two terms of the energy function (i.e. the last integral term of the energy functional) converge to the edge set integral ∫Bds.

The energy functional E[ J,z,ε ] can be minimized by gradient descent methods, assuring the convergence to a local minimum.

Ambrosio, Fusco, and Hutchinson, established a result to give an optimal estimate of the Hausdorff dimension of the singular set of minimizers of the Mumford-Shah energy.[3]

See also

Notes

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.