Je suis sur un projet de segmentation et de classification des tumeurs hépatiques. J'ai utilisé Region Growing et FCM pour la segmentation hépatique et tumorale respectivement. Ensuite, j'ai utilisé la matrice de coïncidence des niveaux de gris pour l'extraction des caractéristiques de texture. Je dois utiliser Support Vector Machine pour la classification. Mais je ne sais pas comment normaliser les vecteurs de caractéristiques afin de pouvoir les donner en entrée au SVM. Quelqu'un peut-il dire comment le programmer dans Matlab?
Au programme GLCM, j'ai donné l'image segmentée de la tumeur en entrée. J'avais raison? Si c'est le cas, je pense que ma sortie sera également correcte.
Mon codage glcm, pour autant que j'ai essayé est,
I = imread('fzliver3.jpg');
GLCM = graycomatrix(I,'Offset',[2 0;0 2]);
stats = graycoprops(GLCM,'all')
t1= struct2array(stats)
I2 = imread('fzliver4.jpg');
GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]);
stats2 = graycoprops(GLCM2,'all')
t2= struct2array(stats2)
I3 = imread('fzliver5.jpg');
GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]);
stats3 = graycoprops(GLCM3,'all')
t3= struct2array(stats3)
t=[t1,t2,t3]
xmin = min(t); xmax = max(t);
scale = xmax-xmin;
tf=(x-xmin)/scale
S'agit-il d'une mise en œuvre correcte? De plus, j'obtiens une erreur à la dernière ligne.
Ma sortie est:
stats =
Contrast: [0.0510 0.0503]
Correlation: [0.9513 0.9519]
Energy: [0.8988 0.8988]
Homogeneity: [0.9930 0.9935]
t1 =
Columns 1 through 6
0.0510 0.0503 0.9513 0.9519 0.8988 0.8988
Columns 7 through 8
0.9930 0.9935
stats2 =
Contrast: [0.0345 0.0339]
Correlation: [0.8223 0.8255]
Energy: [0.9616 0.9617]
Homogeneity: [0.9957 0.9957]
t2 =
Columns 1 through 6
0.0345 0.0339 0.8223 0.8255 0.9616 0.9617
Columns 7 through 8
0.9957 0.9957
stats3 =
Contrast: [0.0230 0.0246]
Correlation: [0.7450 0.7270]
Energy: [0.9815 0.9813]
Homogeneity: [0.9971 0.9970]
t3 =
Columns 1 through 6
0.0230 0.0246 0.7450 0.7270 0.9815 0.9813
Columns 7 through 8
0.9971 0.9970
t =
Colonnes 1 à 6
0.0510 0.0503 0.9513 0.9519 0.8988 0.8988
Colonnes 7 à 12
0.9930 0.9935 0.0345 0.0339 0.8223 0.8255
Colonnes 13 à 18
0.9616 0.9617 0.9957 0.9957 0.0230 0.0246
Colonnes 19 à 24
0.7450 0.7270 0.9815 0.9813 0.9971 0.9970
??? Error using ==> minus
Matrix dimensions must agree.
Les images d'entrée sont:
Réponses:
Utilisez-vous Matlab? Si c'est le cas, vous auriez besoin de la boîte à outils Bioinformatics, qui inclut un classificateur SVM, ou vous pouvez télécharger libsvm, qui a des wrappers Matlab pour la formation et les tests.
Ensuite, vous allez avoir besoin de données étiquetées. Êtes-vous en train de classer les tumeurs du foie par opposition à un foie sain? Ensuite, vous auriez besoin d'images de tumeurs du foie et de foies sains, chacune étiquetée comme telle.
Ensuite, vous devez calculer certaines fonctionnalités. La nature de ces problèmes dépend de la nature du problème. Les fonctionnalités de texture semblent être un bon début. Pensez à utiliser des matrices de cooccurrence ou des modèles binaires locaux.
Edit: Depuis la version R2014a, il existe une fonction fitcsvm dans la boîte à outils Statistics and Machine Learning pour former un classificateur SVM binaire. Il existe également fitcecoc pour la formation d'un SVM multi-classes.
la source
Cet article traite exactement du même type de classification supervisée basée sur des
GLCM
classes étiquetées : GLCM Textural Features for Brain Tumor Classificationla source