Home » Source Code » Segmenting images and triangular meshes using methods of algebraic topology

## Description

My task was to get acquainted with image and mesh segmentation algorithms that use algebraic topology. Algebraic topology examines the topology of spaces by studying abstract algebraic structures, while Morse theory constructs the space sequentially, taking note of changes in its topology. Persistence theory is what makes the connection between these approaches quantitative, by assigning to each topological feature its lifetime in a step-by step construction of the space. This theory can be utilized for segmentation purposes mostly through watershed-based methods. Essentially, the watershed procedure considers the image or mesh as a topographical landscape being flooded by water, with lakes emerging in the basins. As the level rises, the waters from adjacent basins meet along watershed lines, forming the segment boundaries. This usually leads to oversegmentation, so a merging step is neccessary, for which we can use persistence theory. The considered algorithms are based on a clustering procedure, developed by Frederic Chazal, et. al. of INRIA Saclay, France; which builds up a neigbourhood graph as in watershed methods, and merges segments meeting at saddle points based on the height difference between the corresponding local extrememum and the saddle point, i.e. persistence. In case of grayscale images, the bitmap iself, or its gradient gives the graph, while color images are mapped to a point cloud in color space, where we look for the basins of
attraction of density maxima. Generally triangular meshes are to be segmented by some approximation of the curvature. In accordance with the project proposal I have only implemented the image segmentation algorithms, in the language C++. In the grayscale case, I got useful results for synthetic
and some simple natural images. For color images, I was able to effectively reproduce the results of the original article, but the algorithm is difficult to tune, and performance optimizations are necessary for practical use. For triangular meshes, I have considered various signature functions and persistence-based segmentation algorithms, along with the potential issues related to a prospective implementation.

## File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
01.97 kB
01.97 kB
ANN.dll192.00 kB2012-04-29 07:52
Color_UF.exe436.00 kB2012-05-14 20:04
01.97 kB
ANN_Proba.cpp1.41 kB2012-05-20 15:20
CImg.h2.02 MB2011-06-09 14:32
Colors.h3.10 kB2012-05-14 17:40
UFSegment.h8.99 kB2012-05-20 15:24
UnionFind.h1.31 kB2012-05-14 17:38
01.97 kB
baboon_dens.txt2.00 MB2012-05-02 02:12
mandrill.bmp768.05 kB2012-05-14 15:32
pepper.jpg39.44 kB2012-05-01 19:22
pepper_dens.txt2.00 MB2012-05-02 03:29
pinkie.bmp270.76 kB2012-04-30 18:05
pinkie_dens.txt721.88 kB2012-05-01 17:31
street.bmp410.12 kB2012-05-02 00:21
street_dens.txt1.07 MB2012-05-02 01:28
01.97 kB
Grayscale_UF.exe472.50 kB2012-05-14 12:59
01.97 kB
CImg.h2.02 MB2011-06-09 14:32
Colors.h3.09 kB2012-05-07 09:15
UFSegment.h19.80 kB2012-05-20 15:14
UnionFind.h1.27 kB2012-05-20 15:14
main.cpp8.12 kB2012-05-20 15:14
01.97 kB
8068_2.bmp152.78 kB2012-04-15 16:40
bear.bmp152.78 kB2012-05-19 18:48
bird.bmp152.78 kB2012-04-24 11:57
globus.bmp43.30 kB2012-04-25 15:04
man.bmp153.24 kB2012-05-19 18:45
mandrill.bmp257.05 kB2012-04-22 10:01
plane.bmp152.78 kB2012-05-19 20:08
statue.bmp153.24 kB2012-05-19 18:45
uranium.bmp21.87 kB2012-04-22 12:47
...

Minimum:15 words, Maximum:160 words
• 1
• Sent successfully!
• SegmentingImages.zip
• 1 Point(s)

### Segmenting images and triangular meshes using methods of algebraic topology(6.87 MB)

Need 1 Point(s)

Get 22 Point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more Points

Don't have an account？ Register now
Need any help?
Mail to: support@codeforge.com

### 切换到中文版？

CodeForge Chinese Version
CodeForge English Version

### ^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!

### Warm tip!

Favorite by Ctrl+D