Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jywarren/clashifier

Not-yet-working web service to train a classification algorithm to identify land types and perform classification on arbitrary images... esp. eventually map tiles. Will act as a map tile proxy which generates classified land cover imagery. Please help make this happen.
https://github.com/jywarren/clashifier

Last synced: 3 months ago
JSON representation

Not-yet-working web service to train a classification algorithm to identify land types and perform classification on arbitrary images... esp. eventually map tiles. Will act as a map tile proxy which generates classified land cover imagery. Please help make this happen.

Awesome Lists containing this project

README

        

##Clashifier##

Clashifier is open source software, and is part of open source research by the Public Laboratory for Open Technology and Science.

To use Clashifier, you can:

* Train it with a "classname" and a set of corresponding color bands (red, green, blue, near-infrared)
* Find the nearest classname to a set of color bands (and their relative cartesian distance)
* (soon) point it at the URL of an image to get back an image color-coded by classname
* (soon) "draw" on an image in-browser with a colored "pen" to classify pixels from that image and train a model

We hope this will be useful for:

* automatically classifying aerial imagery by land use or type
* detecting and quantifying geographic events like oil spills or chemical seeps
* identifying different plant species, especially in a monoculture as found in wetlands
* (maybe?) identifying crop diseases

This project is in early-stage development and we really need all the help we can get! Get in touch on the Public Laboratory mailing list (sign up at publiclaboratory.org/user/register to join) and pitch in!

########################
Depends on:
########################

* RMagick
* rmagick gems, paperclip

########################
To do:
########################

* start with a few sample images and set up Fred to grab pixel colors based on clicks (naming a class in an input field)
* allow submission of batches of pixels and start collecting sets of pixels based on dragging -- "painting"
* try coloring what you've "painted"
* Set up image uploading with Paperclip
* histogram an image by classname
* generate a new image colored by classname, with an HTML key
* create an image proxy which colors by classname

Later on:

* Consider normalized RGB: R/(R+G+B) to reduce lighting effects?
* Other classification techniques: SVM, KNN, Neural network

########################
Helpful reading
########################

"Naive Bayes Classification in Ruby using Hadoop and HBase"
* http://findingscience.com/ankusa/hbase/hadoop/ruby/2010/12/02/naive-bayes-classification-in-ruby-using-hadoop-and-hbase.html

"Bayesian marker extraction for color watershed in segmenting microscopic images"
* Olivier Lezoray, Hubert Cardot

"Classifier gem: Classifier is a general module to allow Bayesian and other types of classifications."
* https://github.com/cardmagic/classifier

"Progress in pattern recognition, image analysis and applications"
* Luis Rueda, Domingo Mery, Josef Kittler
* http://books.google.com/books?id=JMQk1HJmhv0C&pg=PA813&lpg=PA813&dq=naive+bayes+color+classification+rgb&source=bl&ots=MJnQgy9Wwf&sig=Z_99zvjO-LsKBbp9v3D29dJ039o&hl=en&ei=TVitTsPmJ-Ld0QGMp-GuDw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCEQ6AEwAQ#v=onepage&q=naive%20bayes%20color%20classification%20rgb&f=false

"Ways to improve Image Pixel Classification"
* Stack Overflow
* http://stackoverflow.com/questions/6613825/ways-to-improve-image-pixel-classification