Skip to content

GPGPU Project : implementing Graph Cuts algorithm with CUDA

Notifications You must be signed in to change notification settings

AlexandreGIRARD/graph_cuts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph Cut with CUDA

This is my project for my CUDA courses.

It's purpose was to implement the max-flow/min-cut algorithm known as Push-Relabel in order to segment images.

It's implemented in CXX17 and CUDA.

The program take two images in order to work:

  • The main image to segment
  • The seed image with background (red) and foreground (blue) labels

Result images

Installation

Clone the repository

git clone git@github.com:AlexandreGIRARD/graph_cuts.git
cd graph_cuts
mkdir build
cd build
cmake ..

Usage

The images should be at .jpg format.

./graph_cut [-cg] <img> <seeds_img>

-c for CPU -g for GPU

Benchmark

The benchmarcking is made with Google Benchmark

./bench

Testsuite

The testsuite compare the results obtained with the the ground truth given by my teacher. It used the mean dice score over the 15 given images in segmentation_dataset.

Actually the mean dice score over the 15 images is 0.91 using the GPU implementation

make test

About

GPGPU Project : implementing Graph Cuts algorithm with CUDA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.1%
  • C++ 3.2%
  • Cuda 2.8%
  • Other 0.9%