Skip to content

Instantly share code, notes, and snippets.

@tejus-gupta
Last active December 12, 2019 15:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tejus-gupta/6180d450ba57963916bed0df536cbe51 to your computer and use it in GitHub Desktop.
Save tejus-gupta/6180d450ba57963916bed0df536cbe51 to your computer and use it in GitHub Desktop.
Google Summer of Code - 2017

Project Abstract

I proposed to

  1. Add a package for image segmentation as part of JuliaImages with several algorithms -
  • Thresholding - Otsu’s method and Adaptive thresholding
  • K-means clustering
  • Mean shift segmentation
  • Watershed segmentation
  • Felzenszwalb's efficient region merging algorithm
  • Shi and Malik’s normalized graph-cut based segmentation
  1. Add Histogram of Oriented Gradient(HOG) feature to ImageFeatures.

I also planned to add tests, examples codes and documentation for all the algorithms as well as a tutorial for object detection using HOG features.

Mentor: Tim Holy

Organization: The Julia Language

Category: Package

Work Done

All the work except normalized graph cut algorithm has been merged.
List of commits: ImageSegmentation.jl, Images.jl, ImageFeatures.jl, juliaimages.github.io
I have also added tests and example code for all the algorithms. I and Animesh Kashyap (annimesh2809) wrote the documentation collaboratively. Documentation can be found here: http://juliaimages.github.io/latest/imagesegmentation.html.
Object Detection Tutorial: http://juliaimages.github.io/ImageFeatures.jl/latest/tutorials/object_detection.html

For normalized graph cut, I had completed the code and submitted a pull request at ImageSegmentation.jl. Since this algorithm is more generally applicable, we decided to add to this a general graphs package e.g, LightGraphs.jl. I have submitted a pull request at LightGraphs.jl and am modifying the code for it to work with general graphs.
Pull Request at ImageSegmentation.jl
Pull Request at LightGraphs.jl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment