All Projects → shelhamer → Coop Cut

shelhamer / Coop Cut

Licence: bsd-2-clause
Cooperative Cut is a Markov Random Field inference method with high-order edge potentials.

Projects that are alternatives of or similar to Coop Cut

Core Stories
All the notebooks for the analysis of Emotional Arcs within the Project Gutenberg corpus, see "The emotional arcs of stories are dominated by six basic shapes"
Stars: ✭ 15 (-25%)
Mutual labels:  jupyter-notebook
Altair Catplot
Utility to generate plots with categorical variables using Altair.
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Crime Analysis
Association Rule Mining from Spatial Data for Crime Analysis
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Sage
Home of the Semi-Analytic Galaxy Evolution (SAGE) galaxy formation model
Stars: ✭ 15 (-25%)
Mutual labels:  jupyter-notebook
Grab Aiforsea
Entry for Grab's AI for S.E.A. challenge
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
P5deeplearn
deeplearn.js meets p5
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Azure Webapp W Cntk
Deployment template for Azure WebApp, CNTK, Python 3 (x64) and sample model
Stars: ✭ 15 (-25%)
Mutual labels:  jupyter-notebook
Mppca
Mixtures of Probabilistic Principal Component Analysers implementation in python
Stars: ✭ 19 (-5%)
Mutual labels:  jupyter-notebook
Intrusion Detection System
I have tried some of the machine learning and deep learning algorithm for IDS 2017 dataset. The link for the dataset is here: http://www.unb.ca/cic/datasets/ids-2017.html. By keeping Monday as the training set and rest of the csv files as testing set, I tried one class SVM and deep CNN model to check how it works. Here the Monday dataset contains only normal data and rest of the days contains both normal and attacked data. Also, from the same university (UNB) for the Tor and Non Tor dataset, I tried K-means clustering and Stacked LSTM models in order to check the classification of multiple labels.
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Crunchbase Ml
Merge and Acquisitions Prediction based on M&A information from Crunchbase.
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Deep Learning Experiments
Notes and experiments to understand deep learning concepts
Stars: ✭ 883 (+4315%)
Mutual labels:  jupyter-notebook
Anda
Code for our ICAR 2019 paper "ANDA: A Novel Data Augmentation Technique Applied to Salient Object Detection"
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Seq2seq Attention Model
An implementation for attention model in Keras for sequence to sequence model.
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Ud810 Intro Computer Vision
My solutions for Udacity's "Introduction to Computer Vision" MOOC
Stars: ✭ 15 (-25%)
Mutual labels:  jupyter-notebook
Machine Learning Starter Kit
The fastest way for developers and managers to gain practical ML knowledge and to apply it to their own projects.
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Syde 522
Stars: ✭ 15 (-25%)
Mutual labels:  jupyter-notebook
Brain Tumor Segmentation Keras
Keras implementation of the multi-channel cascaded architecture introduced in the paper "Brain Tumor Segmentation with Deep Neural Networks"
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Spark Notebooks
Collection of useful notebooks to be used with the Spark Notebook (https://github.com/andypetrella/spark-notebook)
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Datacontainerstutorials
Tutorials on Python Data Containers for no-so-BigData
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook
Compeconworkshop 2017
Stars: ✭ 20 (+0%)
Mutual labels:  jupyter-notebook

Cooperative Cut

This is the reference implementation of the Cooperative Cut inference algorithm for Markov Random Field (MRF) models and its application to segmentation.

This implementation relies on Kolmogorov's maxflow.

The package includes:

  • the reference implementation of cooperative cut (C++)
  • a Python wrapper for cooperative cut
  • a Python wrapper for graph cut / maxflow
  • unary learning and extraction
  • edge group learning and clustering

License

Cooperative Cut is BSD 2-Clause licensed (refer to the LICENSE for details).

Citing

A tech report on this implementation and extensions to the model are coming soon!

In the meantime, the approach is described in the paper

S. Jegelka and J. Bilmes. "Submodularity beyond submodular energies: coupling edges in graph cuts". IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.

Cite this paper if you use this code.

Installation

Dependencies:

Cooperative Cut depends on the Kolmogorov maxflow C++ library (bundled) and Python with numpy (matrix computation), scikit-image (image IO) scikit-learn (mixture modeling and clustering), and cython (wrapper interface).

The easiest way to satisfy the requirements is to install Anaconda Python. It is an excellent package for scientific computing and research coding with Python. Note that once installed, Anaconda Python must be included in your PATH environment variable.

To double-check your installation, open a terminal and run python. The output should resemble

Python 2.7.7 |Anaconda 1.9.2 (x86_64)| (default, Jun 19 2014, 13:38:03)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org

Python wrapper: To compile the Python wrapper module, you need to first add the libraries included with Anaconda to your LD_LIBRARY_PATH by export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/anaconda/lib or the like. With that done,

cd pycoop
make

will build the module pycoop.so. Note that setup.py configures the build in case you need to customize anything for your environment.

In order to import the module into Python, it needs to be added to your PYTHONPATH environment variable. (Note that this step isn't need to run the example! It's enough to be in the same directory as the module in this case.) You can either export PYTHONPATH=$PYTHONPATH:/path/to/coop-cut to add the repository directory; however the preferred method is to

mkdir ~/python
ln -s /path/to/pycoop ~/python/pycoop
export PYTHONPATH=$PYTHONPATH:$HOME/python

for convenience. This way you can link new modules without constantly messing with your environment variables.

To check the installation, open python and run import pycoop. The command should execute without error and return to you to the prompt. Run exit() to close Python.

On to the example!

Example

Start the example by ./example.sh or

ipython notebook --pylab=inline coopcut.ipynb

for our tutorial exposition of the code and an example segmentation with pycoop, the Python interface.

Data

Data for the experiments in the paper includes images with shading and fine structures.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].