3 votes

Classification de Bayes en matlab

J'ai 50 images et j'ai créé une base de données du canal vert de chaque image en les séparant en deux classes (peau et blessure) et en stockant la valeur de leur canal vert respectif.

J'ai également 1600 valeurs de pixels de plaie et 3000 valeurs de pixels de peau.

Je dois maintenant utiliser la classification bayes dans matlab pour classer les pixels de la peau et de la plaie dans une nouvelle image (test) en utilisant la base de données dont je dispose. J'ai essayé la commande intégrée diaglinear mais les résultats sont médiocres, ce qui entraîne de nombreuses erreurs de classification.

De plus, je ne sais pas s'il s'agit d'une distribution normale ou non, donc je ne peux pas utiliser l'estimation gaussienne pour trouver la fonction de densité de probabilité conditionnelle pour les données.

Existe-t-il un moyen d'effectuer une classification par pixel ?

Si une partie de la question n'est pas claire, veuillez la poser.

Je cherche de l'aide. Merci d'avance.

2voto

santonsh Points 66

Si vous voulez vraiment utiliser la classification par pixel (assez simple, mais pourquoi pas ?), essayez d'explorer la distribution des valeurs des pixels avec hist()/imhist(). Cela pourrait vous donner un indice de gaussianité... Ensuite, vous pouvez ajuster vos valeurs à des courbes appropriées (gaussiennes ?) manuellement avec fit() si vous avez une boîte à outils d'ajustement de courbe (ou encore manuellement). Ensuite, multipliez les courbes par les probabilités de la blessure/peau si vous voulez que ce soit un classificateur MAP, et enfin trouvez leur intersection. Voila ! vous avez votre valeur de description V. si Xi peau sinon -> blessure

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X