background ：

Level Set The method is an American mathematician Osher( UCLA ) and Sethian( University of California, Berkeley ) In collaboration with . The latter is for Level Set His contribution won the Wiener prize jointly presented by the American Mathematics Society and the society for industrial applied mathematics last year . Unfortunately, these two Level Set The pioneers of are now fighting for Level Set To go to court for his reputation .

Articles in "Front Propagation with Curvature Depedent Speed: Algorithms Based on Hamilton-Jacobi Formulation" In the second place . This method has been successfully applied to fluid mechanics since it was proposed , Computer graphics , Materials science and other fields . Applications in image processing and computer vision begin with 93 year Caselles Et al 95 year Malladi Two well-known articles by et al . They Level Set To express Snakes, The idea is simple ： A curve in a plane can be expressed as a function of two variables z=f(x,y) Set of zeros of （Zero Level Set）, This binary function z=f(x,y) The three-dimensional surface represented by is similar to xy The intersection of planes . More generally , whatever N All dimensional surfaces can be represented as a N+1 Dimensional surface and a N The intersection of two-dimensional hyperplanes , Also known as N+1 Dimensional surface in a N A projection on a three-dimensional hyperplane . Relatively the earliest Snake（ With parameterized curves , So is also called parametric active contour), use level set The curve of activity is called Geometric Active Contours.

A curve is represented by the intersection of a two-dimensional surface and a two-dimensional plane , This is very common in calculus and even middle school mathematics . however , When we want to describe curvilinear motion , use Level Set The curve has obvious advantages . for instance , Several curves in motion merge In a curve , Or a curve splits into several curves , It is impossible to express such a topological change as a continuous parametric curve . The reason is simple , A continuous parametric curve is represented by a continuous function of one variable , It obviously doesn't represent several separate curves （ This contradicts continuity ）.

However , The topological change of the curve mentioned above can be simply expressed as the intersection of a continuously changing surface and a fixed plane . The surface itself can be topologically invariant , It can always be a continuous function of two variables z=f(x,y) The image of . such , Complex curvilinear motion can be simply expressed as the evolution of a higher one-dimensional function , This can be done with a development equation (evolution equation) To describe , There are a lot of tools in mathematics .
Let's go on level set Well . I'm going to CVPR, I met a lot of people who said level set It is difficult to . I've even heard of a man who does snake A famous professor is right level set I hate it . Tell the truth , I started to realize other people's level set When the method is used , Also on the level set More and more annoying . as a result of ： The existing level set The implementation of the method is inconsistent with the theory （ This is in Gomes and Faugeras It has been pointed out in the article ）, It needs to be mixed with a lot of remedies, Like the most annoying re-initialization. There are still some steps , such as velocity extension, It's not a pleasant thing . These steps are like a piece of flesh or tumor that grows on a person , Maybe it's benign , But it's always uncomfortable to look at , I'm even afraid it will get worse .

however , There are still some people who can implement such a complex and not so elegant method , And it works well , It has the advantages that many other methods don't have , For example, let the curve naturally split and merge. Like any theory or method , Despite its shortcomings （ such as re-initialization）, But after all, you see its great potential . So this is still a hot research direction .

Image segmentation problem ：

Partial differential equation image segmentation ：

A paper published in 1987 ,Snakes:Active contour models It has a profound influence in the field of image segmentation . The model transforms the image segmentation problem into an energy functional minimization problem . By means of variation , The problem of functional extremum is transformed into the solution of partial differential equation . Then the minimal solution of partial differential equation is taken as the result of image segmentation . at present , Partial differential equation segmentation methods mainly include parametric active contour model and geometric active contour model .

levelset Method ：

Level Set The basic idea of the method is to implicitly express the plane closed curve as the level set of two-dimensional surface function , That is, a set of points with the same function value , adopt Level Set The evolution of function surfaces implicitly solves the motion of curves . Although this transformation makes the problem complicated in form , But it brings many advantages in solving problems , Its biggest advantage is that the topological changes of curves can be handled naturally , And the only weak solution satisfying entropy condition can be obtained .

combination ：

Curve evolution method based on the combination of geometric active contour model and level set .

This method uses high-dimensional function surface , To express low dimensional evolution curves or surfaces , namely , Embedding an evolving surface or curve into a surface represented by a high-dimensional function . The evolution equation is transformed into a partial differential equation of high-dimensional level set function . Parameterization has never been avoided . so , Level and method transform the evolution of geometric active contour model into , The expression of the partial differential equation of the level set function , The process of numerical solution .

The basic theory ： just plain easy to understand: there is a surface, it intersects a plane, that gives us a contour and that's it. With image segmentation, the surface is updated with forces derived from the image.

Reinitialization of the signed distance function ：

finet=sgn(fine0)(1-|deltafine|);

fine(x,0)=fine0;

Purpose ： Digital error correction

Reinitialize ： iteration fine Sign distance function

The velocity function ： The key of level set method for boundary contour extraction is to select the appropriate velocity function according to the needs of practical problems F,F Generally, it is an image related item （ Gradient information ） And the terms related to the geometry of the contour curve （ Curvature ） Function of

among ,F Represents the evolution rate of each point on the curve , The direction is along the normal of the curve , It is usually related to image gradient and curve curvature . What we want to analyze and calculate is speed F Under the influence of , The subsequent evolution of the surface . Slave mode (2) It can be seen that , As long as the speed F The change is smooth , He is jealous ( mushroom ,Y,t) Always a smooth function , The zero level set always corresponds to the moving surface , Topological changes of surfaces can be easily described . For different segmentation models , Speed F The expressions are not the same , Therefore, there are many image segmentation methods based on level set . in addition , It can be seen that (2) It is suitable for any dimension of surface evolution . The geometric properties of curves can also be easily derived from level set functions ( On the way out ,,r,t) obtain , for example , curve C All over the world

The finite difference method , gradient ： Derivation

MS-MUMFORD-SHAH Model ：

Including descriptions of areas and boundaries

H yes Hausdorff measure ：H0 Represents the number of points ,H1: Length ,H2： Area

The first one is called data item or loyalty item , Make sure the approximate image u Keep the observation image I The main message of ; The second term is called the regular term of the approximate image , Keep the image smooth , When there is noise in the observation image , The regular term has the function of removing noise ;C Represents the length of the target contour ;α 、β It's a nonnegative constant , Balance the weight of each item in the energy . because Mumford-Shah The energy functional is difficult to solve , Many scholars have given approximate models , The simplest is Chan and Vese The proposed two-phase piecewise constant energy functional ：

No need to reinitialize

## DRLSE Level set algorithm summary of more related articles

1. And lookup algorithm Union-Find Thought 、 Implementation and Application

And lookup algorithm , Also called Union-Find Algorithm , It is mainly used to solve the problem of dynamic connectivity in graph theory . Union-Find Algorithm class Here we directly give the algorithm class of union search UnionFind.class, as follows : /** * Union-Fi ...

2. plan ： How to understand level set method ITK Level set V4 The framework is introduced

Simple explanation : A profile formed by inserting a plane into a surface , It is the level set representation of the contour , so , The level set representation of the profile has multiple . For image segmentation , Driven by the image force, the surface is updated . There are two kinds of mathematical expression of contour: implicit and explicit . Instead of Fr ...

3. In topology optimization SIMP What are the advantages and disadvantages of level set method and level set method , The level set method transforms to higher dimensions , It's not more complicated

author : Zhou Pingzhang Links :https://www.zhihu.com/question/52008623/answer/187927508 source : It's up to the author to own the copyright . Commercial reprint please contact the author for authorization , Please note for non-commercial reprint ...

4. Union-Find And lookup algorithm

One . Dynamic connectivity (Dynamic Connectivity) Union-Find Algorithm ( Chinese called union search algorithm ) It's about dynamic connectivity (Dynamic Conectivity) An algorithm for the problem . Dynamic connectivity is a computer graph ...

5. hdu 1232 Unimpeded works （ And lookup algorithm ）

Topic link :http://acm.hdu.edu.cn/showproblem.php?pid=1232 Unimpeded works Time Limit: 4000/2000 MS (Java/Others)    M ...

6. apache server and tomcat Cluster configuration 3 ： Research on the development of the horizontal cluster tomcat Cluster configuration

stay jsp Add the following code to the file , Used to test whether it's shared session: SessionID: <%= session.getId() %> Before trying to linux in , But because the simulation environment is a virtual machine , Virtual machines only ...

7. Compiler principle LL1 Grammar Follow Set algorithm implementation

import hjzgg.first.First; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set ...

8. Compiler principle LL1 Grammar First Set algorithm implementation

import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap ...

9. hdu 1213 How Many Tables（ And lookup algorithm ）

Topic link :http://acm.hdu.edu.cn/showproblem.php?pid=1213 How Many Tables Time Limit: 2000/1000 MS (Java/O ...

## Random recommendation

1. linux Centos 6.5 Install desktop environment GNOME

Under certain circumstances , What we use Linux Or choose to install the desktop environment , So here's how to install desktop environment for systems without desktop environment . With Centos 6.5 Show me how to install the desktop environment as an example . Tools / raw material Linux ...

2. beginner ： How do you use it? C# Programming sockets （ Two ）

beginner : How do you use it? C# Programming sockets ( One ) The original address is as follows : C# Server Socket program C# Client Socket program Code environment :VS2010+Win8.1 Enterprise reviews ...

3. A little problem for pt-pmp

https://bugs.launchpad.net/percona-toolkit/+bug/1320168 We use the pt-pmp (a variety for pmp !http:/ ...

4. Simple setup navgationbar( The navigation bar ) Of title Font and color

NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor white ...

5. Linux View system performance commands

The first step in performance tuning is performance analysis , The following is an introduction to the performance analysis , Especially for linux Performance analysis tool vmstat The usage and practice of . ———————————————————————————————————— ...

6. Abroad .net Learning resources website

Reprint : Source :http://www.cnblogs.com/kingjiong/ name : Quick start address http://chs.gotdotnet.com/quickstart/ describe : This site is Microsoft .NE ...

7. js Duplicate the repeating array

var arr=[1,1,1,1,2,2,2,3,3,4,1,4,5,7,8,7,7] let m = {} arr.filter(item => m[item] >= 1 ? false ...

8. font-smoothing The font will look clearer and more comfortable after use

CSS3 There's a “-webkit-font-smoothing” attribute . This property makes the font on the page anti aliased , The font will look clearer and more comfortable after use . In addition, I immediately feel that the page is small and clear . Taobao is also in use ! It has three ...

9. Compare library table structure , Generate SQL

I found a circle of tools for bibiku on the Internet , You can make a difference by hand SQL I don't have any tools , Revamped the online sql 1, Gets the type of the field name create FUNCTION [dbo].[getColType](@tab varcha ...

10. Third party login ： Wechat code scanning login （OAuth2.0）

1.OAuth2.0 OAuth( Open licensing ) It's an open standard , Allow users to let third-party applications access the user's private resources stored on a website ( Such as photos , video , contact list ), Instead of providing a user name and password to a third-party application . Allow users to provide ...