MLPaint is a free desktop application for labeling image segments quickly and accurately. As you paint labels onto an image, MLPaint also selects similar pixels close by. A few broad strokes can get a fine-tuned label.
How to run a .JAR desktop application
Alex Lane, Aburto Lab Mangrove Labeler
Based on a user's real-time labeling, MLPaint trains machine learning models and auto-select a similar region nearby.
MLPaint expands a labeler's select-paint using Dijkstra's Shortest Path Algorithm and a classifier.
The distance Dijkstra must traverse for each pixel is given by a logistic regression classifier similarity score, run through a cost function. MLPaint uses positive/unlabeled learning techniques, using the labeler's select-paint as positive training examples and auto-selected pixels from the rest of the image for negative.