ignaciorlando / fundus-vessel-segmentation-tbme

In this work, we present an extensive description and evaluation of our method for blood vessel segmentation in fundus images based on a discriminatively trained, fully connected conditional random field model. Standard segmentation priors such as a Potts model or total variation usually fail when dealing with thin and elongated structures. We overcome this difficulty by using a conditional random field model with more expressive potentials, taking advantage of recent results enabling inference of fully connected models almost in real-time. Parameters of the method are learned automatically using a structured output support vector machine, a supervised technique widely used for structured prediction in a number of machine learning applications. Our method, trained with state of the art features, is evaluated both quantitatively and qualitatively on four publicly available data sets: DRIVE, STARE, CHASEDB1 and HRF. Additionally, a quantitative comparison with respect to other strategies is included. The experimental results show that this approach outperforms other techniques when evaluated in terms of sensitivity, F1-score, G-mean and Matthews correlation coefficient. Additionally, it was observed that the fully connected model is able to better distinguish the desired structures than the local neighborhood based approach. Results suggest that this method is suitable for the task of segmenting elongated structures, a feature that can be exploited to contribute with other medical and biological applications.
47 stars 15 forks source link

Reference to non-existent field 'qualities' #7

Open hsiaoma opened 7 years ago

hsiaoma commented 7 years ago

Hi, I ran the latest version but the following error popped up. Do you mind having a look at it? Thanks.

Reference to non-existent field 'qualities'.

Error learnCRFPotentials>findBestC (line 80) qualitiesOnValidationSet(:, count) = averageMeasures.qualities;

Error learnCRFPotentials (line 16) [bestModel, qualityOverValidation, bestParam, ~] = findBestC(config, trainingdata, validationdata, better);

Error learnConfiguredCRF (line 42) [model, qualityOverValidation, config] = learnCRFPotentials(config, trainingdata, validationdata);

Error runVesselSegmentation (line 36) [model, qualityOverValidation, config] = learnConfiguredCRF(trainingdata, validationdata, config);

Error script_experiments_massive (line 40) results{experiment,crfver} = runVesselSegmentation(config);

mumuaktar commented 5 years ago

hi, when I run the code, an error is showing: Index exceeds array bounds.

it is showing: Error in extractFeatures (line 45) dimensionality = size(features{1}, 2); Would you please solve the issues? I used your dataset