Edge detection Edge Detection - The Blavatnik School of Computer
2-D edge detection using snakes
description
Transcript of 2-D edge detection using snakes
2-D edge detection using 2-D edge detection using snakessnakes
Project 13 – Team 6Project 13 – Team 6
Snakes in generalSnakes in general
Snakes or active Snakes or active contours are contours are computer-generated computer-generated curves that move curves that move within images to find within images to find object boundaries.object boundaries.
Snakes in generalSnakes in general
Internal forces (snake attribute)Internal forces (snake attribute) Prevent strechingPrevent streching Prevent bendingPrevent bending
External forces (picture attribute)External forces (picture attribute) Guide towards the object boundariesGuide towards the object boundaries
Traditional snakeTraditional snake
Needs to be initalized Needs to be initalized close to the object to close to the object to find itfind it
Can not go into Can not go into concavitiesconcavities
Gradient Vector Flow (GVF) snakeGradient Vector Flow (GVF) snake
Can go into concavitiesCan go into concavities
Can be initialized Can be initialized anywhere, even across anywhere, even across boundariesboundaries
Gradient Vector Flow (GVF) snakeGradient Vector Flow (GVF) snake
dssxsxEin )|)(||)(|(2
1 221
0
exinsnake EEE
exyxyx Edxdyfvfvvuu )||||)(min( 222222
The teamThe team
Renáta Hodován – assistance, QARenáta Hodován – assistance, QAFerenc Nasztanovics – homepageFerenc Nasztanovics – homepageJulian Stottinger – MATLABJulian Stottinger – MATLAB István Vincze – C++ István Vincze – C++ Péter Siklós – presentationPéter Siklós – presentation
Original planOriginal plan
Found a semi working Found a semi working GVF snake in GVF snake in MATLAB (original MATLAB (original program by Dejan program by Dejan Tomazevic)Tomazevic)
Had a working C++ GUI Had a working C++ GUI but without any force but without any force powers (by István powers (by István Vincze)Vincze)
Extract the snake force features from the MATLAB program, and reimplement in C++, then add some extra fetures
The C++ programThe C++ program
Developement of the internal snake Developement of the internal snake energiesenergies
Improvements in GUI functionalityImprovements in GUI functionality Iteration and snake movementIteration and snake movementCalculation of snake directionCalculation of snake directionOptimalization of snake energyOptimalization of snake energyTuning internal energiesTuning internal energiesEmbedding the GVF funtcionEmbedding the GVF funtcion
„„Plan B”Plan B”
C++ program not coming along, so:C++ program not coming along, so:Try some features in the MATLAB programTry some features in the MATLAB programBoth programs use the same function to Both programs use the same function to
calculate GVF, so results shouldn’t be so calculate GVF, so results shouldn’t be so differentdifferent
Save some time experimenting in C++Save some time experimenting in C++
MATLAB experimentationMATLAB experimentation
Wanted to do a snake finding the edge of the team on a Wanted to do a snake finding the edge of the team on a group photogroup photo
MATLAB experimentationMATLAB experimentationSome holes were not accessibleSome holes were not accessible
MATLAB experimentationMATLAB experimentation
Reproduced the problem on a smaller imageReproduced the problem on a smaller image
MATLAB experimentationMATLAB experimentation
Conclusion:Conclusion:
This problem can not be solved with the traditional GVF This problem can not be solved with the traditional GVF snakesnake
Some new energies need to be introduced, to force the Some new energies need to be introduced, to force the snake into these kind of cavities.snake into these kind of cavities. Readjust snake using tracing quadtrees (see presentation on Readjust snake using tracing quadtrees (see presentation on
thermal video processing by András Hajdu)thermal video processing by András Hajdu) Contour optimizationContour optimization Snake area minimalization?Snake area minimalization?
MATLAB experimentationMATLAB experimentation
Importance of parameter tuning:Importance of parameter tuning:
Small blur High blur
This is an ugly formula
C++ program resultsC++ program results
Team photoTeam photo Lung
Thank you for your attention!Thank you for your attention!