필터 지우기
필터 지우기

Hyperspectral Image Classification/Unmixing Matlab code

조회 수: 2 (최근 30일)
Keshav Dev Singh
Keshav Dev Singh 2016년 1월 14일
이동: DGM 2023년 2월 20일
Hello All,
I am working on Plants hyperspectral image classification/unmixing. For this I want to precisely explain my problem in bit simple way. I have a vegetation hyperspectral data of 240 bands. I want to extract its endmembers and then corresponding abundance maps. I have some doubts to obtain the final classified image from these abundance maps. Can I use "imfuse" matlab algorithm (Ref: http://stackoverflow.com/questions/25587530/fusing-more-than-2-images-in-matlab) or overlay transparency with abundance maps to display final classified image? OR how these abundance maps can be show as a single classified image representing all endmember classes? In simple words, How to link these abundance maps to get final classified image?, as the matlab community did plenty of work in this field I hope someone can guide me in more precise way. Moreover if someone have any matlab code to directly classified an hyperspectral image please let me know.
Later for the classified image I want to calculate the classification accuracy of each pixel and hence the full classified image (overall accuracy or average accuracy). May I know how to calculate each pixel unmixing/classification accuracy or what could be the simplest procedure in matlab? If someone also have any simple matlab code/idea to calculate overall hyperspectral image classification accuracy in matlab please do let me know.
I hope my problem is quite clear. Your help will be highly appreciated in this regard.
Best Regards, Keshav
  댓글 수: 3
Keshav Dev Singh
Keshav Dev Singh 2016년 1월 14일
No I don't have the ground truth information/file, but on visual inspection I can say which pixel is of which type, but its a ~20,000 pixels image. Therefore I want to know if we don't have the ground truth or correctly classified pixels information then how one can measure the classification accuracies? Thanks!!
Walter Roberson
Walter Roberson 2016년 1월 14일
When you use visual inspection to say which pixel is of which type, are you looking at the color in isolation or do you need some context from surrounding pixels? If you do need some context is that context color only or is it shapes as well?

댓글을 달려면 로그인하십시오.

답변 (2개)

Walter Roberson
Walter Roberson 2016년 1월 23일
"Can I use "imfuse" matlab algorithm (Ref: http://stackoverflow.com/questions/25587530/fusing-more-than-2-images-in-matlab) or overlay transparency with abundance maps to display final classified image? "
Yes.
"OR how these abundance maps can be show as a single classified image representing all endmember classes?"
scatter(). Or create an indexed (pseudocolor image) in which each location is given the label of the type of vegetation there, and then image() it with an appropriate colormap that distinguishes visually between the types.
"How to link these abundance maps to get final classified image?"
Any of the methods from above.
"May I know how to calculate each pixel unmixing/classification accuracy or what could be the simplest procedure in matlab"
This is what we have been concentrating on, the method and accuracy of the classification, as the rest is minor decoration, and what you have been resisting talking about. The answer to this question is therefore apparently "No, you cannot know".
"Therefore I want to know if we don't have the ground truth or correctly classified pixels information then how one can measure the classification accuracies"
You cannot do so. You cannot measure accuracy of a method unless you know what the right answer is during your testing procedure.
The training and testing of your classification method does not have to take place on all of your data: you can extract representative examples for which the answers are known with certainty (for example if someone has gone down to the ground and created a map of what they see in front of them), and find statistics for that. Then, providing that the examples were truly representative then you assume that the accuracy is the same for your more complete data -- if the assumption is not true then you either have bugs in the procedure or your samples were insufficiently representative. Watch out for blur at edges, especially if you used JPG files. Watch out for how the algorithm reacts when there is a mix of types in a single pixel (one type of vegetation overhanging another or growing mixed with another.)
"you are not replying exactly as per my asked question"
This replies exactly to your asked question.
  댓글 수: 4
Abdemoula Haboub
Abdemoula Haboub 2016년 8월 25일
이동: DGM 2023년 2월 20일
Hi Dear Walter Could you please define or specify the function classify_pixel that you use in this code? Thanks you very much
Taha
Walter Roberson
Walter Roberson 2016년 8월 25일
이동: DGM 2023년 2월 20일
classify_pixel = @(pixel_value, classifier) classifier(pixel_value);
Where you would have created classification_information by a patternnet() call.

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2016년 1월 14일
If you're going to specify what each type of pixel is, then that is essentially your ground truth. You're saying that you know for a fact that those pixels are that type of vegetation. I doubt you could do this accurately, for example if you lassooed some region and said they were pecan trees, there would still be some pixels in that region that were pure plain dirt but now you've said that they're pecan trees so if your algorithm says they're not pecan trees, you will count that as wrong, even though it's right. So if you do that there will be a certain amount of error, but maybe that error is something you can live with.
You may want to look up ROC curves and confusion matrix and get up to speed on those concepts.
  댓글 수: 1
Keshav Dev Singh
Keshav Dev Singh 2016년 1월 23일
이동: DGM 2023년 2월 20일
@Image Analyst, Thanks for your reply, but you are not replying exactly as per my asked question...

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Hyperspectral Image Processing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by