Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... ·...

23
Final Presentation Image Segmentation Tamir Segev Chen Shapira

Transcript of Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... ·...

Page 1: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Final Presentation Image Segmentation

Tamir Segev Chen Shapira

Page 2: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Project GoalTo implement a multi-region image segmentation algorithm,

with active contours and single level set function.

Page 3: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Introduction

• In our work, we’ll focus on the Multi-region Active Contours with a single Level-Set function method proposed in [1].

• This method allows quick & accurate image segmentation on 2d and 3d images.

• This is done by dividing the image into multiple regions, and iteratively calculating a distance function, which is extracted using the Voronoi Implicit Interface Method.

[1] - Anastasia Dubrovina, Guy Rosman, and Ron Kimmel . “Multi-Region Active Contours with a Single Level Set Function”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 37, No. 8, August 2015.

Page 4: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Introduction• We’ve used the algorithm proposed in article [1].

• This algorithm was previously implemented in Matlab.

• Here, we implemented the proposed method in C++ using the commonly used library - OpenCV.

• This made the implementation portable across multiple platforms, and easily used.

• This will allow using this segmentation method in a relatively fast and agile environment.

Page 5: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

The Algorithm Initialization: Start with an initial contour , compute the distance level set function from that initial contour.

Perform until convergence: 1. Calculate the extension velocity function , and

calculate from it. 2. Evolve using the LOD scheme 3. Extract the epsilon level-sets of the evolved 4. Calculate the Voronoi Regions of the epsilon level-sets 5. Reconstruct the evolved contour C as the boundaries between the regions 6. Perform re-distancing and calculate the current using the contour C and the Fast Marching Method on it

Fext

C0φ

φtφ

φ

φ

Page 6: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

E(C) = Edata (C)+ µEreg (C)

• In our project, we used the approach of Multi-Region Active Contours with a Single Level Set Function.

• In the active contours method, we model the region boundaries as curves (contours), while choosing a segmentation criteria to minimize.

• This segmentation criteria is the energy functional:

Active Contours

Page 7: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

• We minimize the energy functional by using the steepest-descent method, with respect to a virtual parameter ’t’:

Active Contours

Ct = −δE(C)δC

= − δEdata (C)δC

+ µδEreg (C)

δC⎡⎣⎢

⎤⎦⎥= Fn

Page 8: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

• The regularization term used for Multi-Region Active Contours is the regularization term:

• This term is defined by g(x):

Geodesic Active Contours

µ2

g(Ci (s))dsCi!∫

i∑

g(x) = (1+ |∇(G ∗ I ) |2 )−1

Ct = −δE(C)δC

= − δEdata (C)δC

+ µδEreg (C)

δC⎡⎣⎢

⎤⎦⎥= Fn

Page 9: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Piecewise-Constant Model

Edata (C,{ci}) = (I(x)− ci )2 dx

Ωi∫i=1

M∑

• The data term we used for Multi-Region Active Contours is the data term:

• This is known as the Piecewise-Constant Model.

• Together they form the new evolution rule:

Ct = −δE(C)δC

= − δEdata (C)δC

+ µδEreg (C)

δC⎡⎣⎢

⎤⎦⎥= Fn

Ct = (I(x)− ci )2 + µ2(κ ig − 〈∇g,ni 〉)

⎡⎣⎢

⎤⎦⎥i∈N (x )

∑ ni = Fidata (x)+ µ

2Fi

gac(x)⎡⎣⎢

⎤⎦⎥i∈N (x )

∑ ni

where :ci =I(x)dx

Ωi∫

dxΩi∫

Page 10: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Implicit Method• We don’t calculate directly. Rather, we get

C from the zero level-set of the function • is defined as the Level-Set function, which

at each iteration represents the distances of each pixel to the nearest contour.

• is calculated in 2 steps: • We calculate and evolve from it

using semi-implicit LOD scheme. • The Voronoi Implicit Interface Method is used

to calculate C from , and the next is calculated to be the distance from C.

Ctφ

φ

φφt = Fext |∇φ | !φ

!φ φ

Page 11: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Extended Velocity Function

• To calculate over the whole image, we need to extend the velocity function from the contour to the whole image

• Here we get:

• From this, we derive the evolution of :

φ

φt(x)= Fext |∇φ |= Fi(x)−Fj(x)+ µdiv g(x) ∇φ|∇φ |⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥|∇φ |

Fextdata(x)= Fi(x)−Fj(x)= (I(x)− ci )2 −(I(x)− c j )2( ) Fext

gac(x)= div g(x) ∇φ|∇φ |⎛⎝⎜

⎞⎠⎟

φ

Page 12: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Voronoi Implicit Interface Method• The Voronoi Implicit Interface Method is a

framework for numerical solution of interface propagation problems, allowing numerous regions.

• This method arose from the field of computational fluid dynamics.

Page 13: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Voronoi Implicit Interface Method• This method allows the evolution of the level set

function by: • Finding the epsilon-level sets of the level set

function phi. • Computing the Voronoi regions of each epsilon-

level set • Reconstructing the contour C as the intersection

of the Voronoi regions

Page 14: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Fast Marching Method• This method is a numerical method for solving

boundary value problems.

Page 15: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

The Algorithm Initialization: Start with an initial contour , compute the distance level set function from that initial contour.

Perform until convergence: 1. Calculate the extension velocity function , and

calculate from it. 2. Evolve using the LOD scheme 3. Extract the epsilon level-sets of the evolved 4. Calculate the Voronoi Regions of the epsilon level-sets 5. Reconstruct the evolved contour C as the boundaries between the regions 6. Perform re-distancing and calculate the current using the contour C and the Fast Marching Method on it

Fext

C0φ

φtφ

φ

φ

Page 16: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Results

Level-sets

Segmentation

Original

Page 17: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Results

Level-sets

Segmentation

Original

Page 18: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Results

Level-sets

Segmentation

Original

Page 19: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Results

Initial Contour

Segmentation

Original

Page 20: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Results

Segmentation

Original with custom contour

Iteration 1

Iteration 5

Iteration 2

Page 21: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Performance

4%2%3%

91%

Redistancing Evolution LOD Force Misc

Time analysis for different modules

Page 22: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

Performance

Iteration \ Image Size 200x200 400x400 720x720 1200x1200

1 2.55385 8.84214 19.4748 40.2629

2 1.85931 5.66848 17.1476 43.5463

3 1.62422 5.4637 16.3112 34.4325

4 1.3332 5.3024 15.0653 33.546

5 1.34812 4.84125 13.9251 33.37

6 1.29236 4.46471 14.3317 33.8212

7 1.28993 4.03684 13.7124 31.649

8 1.35421 4.24658 12.8794 31.8627

9 1.33509 4.4917 13.5365 31.6875

10 1.28264 4.49044 12.1101 33.1953

11 1.3427 4.39936 12.5372 35.0835

12 1.32035 4.3532 12.7796 32.6506

13 1.25789 4.84434 12.1706 35.5387

14 1.07976 4.11092 11.4616 35.3814

15 1.07421 4.37707 13.2785 32.7203

Elapsed 21.5636 74.311 211.56 520.628

Time analysis for segmentation of the same image in different sizes

Page 23: Final Presentation Image Segmentation - Techniongip.cs.technion.ac.il/files/Automatic Image... · Final Presentation Image Segmentation Tamir Segev Chen Shapira. Project Goal To implement

End Notes• Overall, we’ve seen good results for segmenting many types

of images.

• In many cases we tested, we saw that the segmentation and level-set function that evolved during the iterations were as expected, and very close to the contours perceived by the naked eye.

• We saw the limitations of our algorithm when we tried segmenting images with a mild gradient (such as the aura of the moon).

• We also noticed that we can improve the segmentation of some images by choosing a custom initial contour for them, and offered a few ideas on how to expand our implementation.