I currently have 2 seperate data sets that belong to 2 different skin diseases. I have drawn an abstract image differentiating the 2 diseases on MS Paint. Disease 1
tends to be rounder in shape than Disease 2
and there is a texture difference as well.
Using texture filters and segmentation functions on Matlab, I am able to locate the disease region (and draw a border around it), for both Disease 1
and 2
. My question is how can I differentiate between the 2 diseases? Are there functions I can use or am I better off using some form of machine learning on the data sets.
Any advice at all is helpful as I'm only starting out with Matlab.
You can use the regionprops
function to compute various shape features, like area, perimeter, eccentricity, etc. In particular, the eccentricity will tell you how close the shape is to a circle.
For texture features, try extractHOGFeatures
and extractLBPFeatures
functions in the Computer Vision System Toolbox.
Yes, I would say texture characterization:
- Size Zone Matrix (really effective for homogeneity/heterogeneity description)
- Haralick (cooccurrences matrix)
- Run Length Matrix
- Local Binary Pattern (extensively used nowadays).
- Shape indexes to characterize the shape if according to your opinion the shape is relevant.
Then you use the classifier of your choice (Neural Network, SVM, etc).
An other solution, may be to use a Convolutional Neural Network, but that will require more work and data. But terribly efficient.
来源:https://stackoverflow.com/questions/34128967/identifying-a-skin-disease-using-image-processing