If differences in the labels correspond to borders in the image, then
you should try a superpixel base approach.
Run SLIC from skimage and see if you would be ok with labeling each of
the resulting superpixels with a single label (you may need to adjust
the number of superpixels produced
-- oh and you may need to use the development version if you have more
than 3 channels :-/)
I would imagine the random forests I mentioned would be well-suited for
the task, but using the implementation I linked to might
be some work (it's C++ & Cuda). There is free-for-research code by
Microsoft that you could also use, which is just C++,
but also needs to be adjusted to your application.
On 10/23/2013 08:08 AM, jim vickroy wrote:i
On 10/22/2013 9:30 PM, Andreas Mueller wrote:
I would also suggest the book "computer vision" by Richard Szeliski.
For you classification problem it really depends on what you want as
output and what the statistics of the data are.
If I understand you correctly, you want a prediction for each label.
If your images are somewhat natural, the labels
are usually smooth in the sense that neighboring regions are often
labelled the same way.
Then it might be helpful to use an oversegmentation of the image into
superpixels (for example using slic from scikit-image)
and then classify on a superpixel basis.
Each superpixel could be described by descriptors as mentioned by Joseph.
I have been planing to write a tutorial on that for a long time :-/
rpixe
What are the classes? Are they semantic?
A completely different approach would be to use image-based random
forests, such as implemented here:
https://github.com/deeplearningais/curfil
Hth,
Andy
Thanks Andy.
I've been dancing around the classification task trying not to give
more information than I thought was useful.
The task is to classify each pixel in "matched sets" of Solar images
in "near real-time". The classification labels are Solar features
like (Corona, Flare, Filament, Prominence, Sunspot, etc.). A "matched
set" consists of 6 temporally-related images each captured using one
of 6 unique filters. This stack of 6 images (called a multi-channel
image) is what is to be analyzed and classified. Since each
multi-channel pixel has a depth of 6, its signature is "almost" unique
with regard to Solar feature; but there is some overlap.
We presently have a custom-rolled (pixel-by-pixel) Bayesian classifier
doing the task with live Solar data, but we are not completely
satisfied with its performance and it is difficult/tedious to train.
I am starting to look for alternative approaches, but I am really a
complete novice at this. This is my first foray into ML;
nevertheless, it is very interesting to me!
-- jv
On 10/22/2013 02:35 PM, jim vickroy wrote:
On 10/22/2013 3:32 PM, Joseph Jacobs wrote:
The best book I have come across for image processing/vision +
machine learning is one by Simon Prince. You can download the book
from his website (http://computervisionmodels.com/). Chapter 13
gives a good intro to feature extraction.
OK, great -- just what I need! --jv
Joe
On 22 Oct 2013, at 22:27, jim vickroy wrote:
On 10/22/2013 2:47 PM, Joseph Jacobs wrote:
Hey Jim,
From my (non-expert) perspective, performing classification
pixel-wise would not be ideal (please correct me if I am wrong).
I think the better way would be to perform some sort of feature
extraction on the image (eg. SIFT, SURF, HOG, LBP and many, many
more...checkout scikit-image or google it) and to do
classification using that. Which feature extraction method would
be ideal for you and how you apply it would depend on the
application.
Thanks for the suggestion; I'll look into that! I'm a novice, but
I agree pixel-by-pixel classification would not seem to scale
well. --jv
Not sure how helpful that was.
Joe
On 22 Oct 2013, at 21:10, jim vickroy wrote:
Hi,
Apologies if this is an inappropriate question for this forum.
I have a collection of (1024x1024) mono-chromatic images in
which each pixel is to be labeled as 1 of several categories
(e.g., 10). Furthermore, each mono-chromatic image was captured
through several filters (e.g., 5).
My understanding of the sci-kit documentation is that I would
train a classifier on a pixel-by-pixel basis and then apply it,
to new images, on a pixel-by-pixel basis. Is that correct?
Thanks for your time.
-- jv
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get
the most from
the latest Intel processors and coprocessors. See abstracts and
register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get
the most from
the latest Intel processors and coprocessors. See abstracts and
register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general