Skip to content

fraser29/level-set-machine-learning

 
 

Repository files navigation

Travis

Level set machine learning

Level set image segmentation with velocity field from machine learning methods

Example 1 Example 2
Hamburger2d Gestalt2d

Installation

Linux

Install via pip:

pip install lsml

MacOS and Windows

Not on pip; install locally:

# Clone the repo
git clone [email protected]:notmatthancock/level-set-machine-learning.git
# Change working directory to the cloned repo
cd level-set-machine-learning
# Install via pip locally
pip install -e .

Description of the method

In the standard level set segmentation approach, the boundary of the approximating segmentation is given by the zero level set of some scalar field u (also called the "level set function"), and the movement of zero level set of u is prescribed to move in the normal direction with velocity ν, which usually takes into account underlying image information.

This prescribed movement is summarized in the following PDE [1]:

ut = v ||Du||2

In this extension of the level set method method [2], the velocity field v is learned from data via machine learning regression methods, rather than fixing the velocity function a priori based on expected image appearance (e.g., assuming object boundaries being defined by strong image gradients).

[1]: Malladi, Ravi, James A. Sethian, and Baba C. Vemuri. "Shape modeling with front propagation: A level set approach." IEEE transactions on pattern analysis and machine intelligence 17.2 (1995): 158-175.

[2]: Hancock, Matthew C., and Jerry F. Magnan. "Lung nodule segmentation via level set machine learning." arXiv preprint arXiv:1910.03191 (2019). https://arxiv.org/abs/1910.03191

Examples

See examples directory for the method illustrated on some synthetic data.

About

Level set segmentation with machine learning based velocity field

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.7%
  • C 10.7%
  • Other 0.6%