Skip to content

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.

License

jywarren/clashifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published