exponenta event banner

semanticSegmentationMetrics

Показатели качества семантической сегментации

Описание

A semanticSegmentationMetrics объект инкапсулирует показатели качества семантической сегментации для набора изображений.

Создание

Создать semanticSegmentationMetrics с использованием evaluateSemanticSegmentation функция.

Свойства

развернуть все

Это свойство доступно только для чтения.

Матрица путаницы, заданная как таблица со строками и столбцами C, где C - количество классов в семантической сегментации. Каждый элемент таблицы (i, j) является подсчетом пикселей, известных как принадлежащие классу i, но предсказанных как принадлежащие классу j.

Это свойство доступно только для чтения.

Нормализованная матрица путаницы, заданная как таблица с C строками и столбцами, где C - количество классов в семантической сегментации. Каждый элемент таблицы (i, j) является подсчетом пикселей, известных как принадлежащие классу i, но предсказанных как принадлежащие классу j, деленным на общее количество пикселей, предсказанных в классе j. Элементы находятся в диапазоне [0, 1].

Это свойство доступно только для чтения.

Метрики семантической сегментации, агрегированные по набору данных, заданному как таблица с одной строкой. DataSetMetrics имеет до пяти столбцов, соответствующих метрикам, которые были определены 'Metrics' пара имя-значение, используемая с evaluateSemanticSegmentation:

  • GlobalAccuracy - Отношение правильно классифицированных пикселей к общему числу пикселей независимо от класса.

  • MeanAccuracy - Отношение правильно классифицированных пикселей в каждом классе к общему количеству пикселей, усредненное по всем классам. Значение равно среднему значению ClassMetrics.Accuracy.

  • MeanIoU - Среднее пересечение через объединение (IoU) всех классов. Значение равно среднему значению ClassMetrics.IoU.

  • WeightedIoU - среднее значение IoU всех классов, взвешенное по количеству пикселей в классе.

  • MeanBFScore - Среднее граничное F1 (BF) всех изображений. Значение равно среднему значению ImageMetrics.BFScore. Эта метрика недоступна при создании semanticSegmentationMetrics путем использования матрицы путаницы в качестве входных данных для evaluateSemanticSegmentation.

Это свойство доступно только для чтения.

Метрики семантической сегментации для каждого класса, заданные как таблица со строками C, где C - количество классов в семантической сегментации. ClassMetrics имеет до трех столбцов, соответствующих метрикам, которые были определены 'Metrics' пара имя-значение, используемая с evaluateSemanticSegmentation:

  • Accuracy - Отношение правильно классифицированных пикселей в каждом классе к общему количеству пикселей, принадлежащих этому классу, в соответствии с истинностью основания. Точность может быть выражена как:

    Accuracy = (TP + TN )/( TP + TN + FP + FN)

     ПоложительныйОтрицательный
    ПоложительныйTP: Истинно положительноеFN: ложноотрицательный
    ОтрицательныйFP: ЛожноположительныйTN: Истинно отрицательное

    TP: True positives и FN - количество ложных негативов.

  • IoU - Отношение правильно классифицированных пикселей к общему количеству пикселей, которым присвоен этот класс по истинности земли и предиктору. IoU может быть выражено как:

    IoU = TP/( TP + FP + FN)

    Изображение описывает истинные положительные (TP), ложные положительные (FP) и ложные отрицательные (FN).

  • MeanBFScore - Оценка граничных F1 для каждого класса, усредненная по всем изображениям. Эта метрика недоступна при создании semanticSegmentationMetrics путем использования матрицы путаницы в качестве входных данных для evaluateSemanticSegmentation.

Это свойство доступно только для чтения.

Метрики семантической сегментации для каждого изображения в наборе данных, заданные как таблица с N строками, где N - количество изображений в наборе данных. ImageMetrics имеет до пяти столбцов, соответствующих метрикам, которые были определены 'Metrics' пара имя-значение, используемая с evaluateSemanticSegmentation:

  • GlobalAccuracy - Отношение правильно классифицированных пикселей к общему числу пикселей независимо от класса.

  • MeanAccuracy - Отношение правильно классифицированных пикселей к общему количеству пикселей, усредненное по всем классам изображения.

  • MeanIoU - среднее значение IoU всех классов изображения.

  • WeightedIoU - среднее значение IoU всех классов изображения, взвешенное по количеству пикселей в каждом классе.

  • MeanBFScore - Средняя оценка BF каждого класса в изображении. Эта метрика недоступна при создании semanticSegmentationMetrics путем использования матрицы путаницы в качестве входных данных для evaluateSemanticSegmentation.

Каждая метрика изображения возвращает вектор с одним элементом для каждого изображения в наборе данных. Порядок строк совпадает с порядком изображений, определенных вводом PixelLabelDatastore объекты, представляющие набор данных.

Примеры

свернуть все

triangleImages набор данных содержит 100 тестовых изображений с метками истинности земли. Определите местоположение набора данных.

dataSetDir = fullfile(toolboxdir('vision'),'visiondata','triangleImages');

Определите местоположение тестовых изображений.

testImagesDir = fullfile(dataSetDir,'testImages');

Определите расположение меток истинности грунта.

testLabelsDir = fullfile(dataSetDir,'testLabels');

Создайте imageDatastore, содержащий тестовые изображения.

imds = imageDatastore(testImagesDir);

Определите имена классов и связанные с ними идентификаторы меток.

classNames = ["triangle","background"];
labelIDs   = [255 0];

Создайте файл pixelLabelDatastore, содержащий метки базовых пикселей истинности для тестовых изображений.

pxdsTruth = pixelLabelDatastore(testLabelsDir,classNames,labelIDs);

Загрузка сети семантической сегментации, обученной на обучающих изображениях triangleImages.

net = load('triangleSegmentationNetwork');
net = net.net;

Запустите сеть на тестовых образах. Прогнозируемые метки записываются на диск во временном каталоге и возвращаются как pixelLabelDatastore.

pxdsResults = semanticseg(imds,net,"WriteLocation",tempdir);
Running semantic segmentation network
-------------------------------------
* Processed 100 images.

Оцените результаты прогнозирования на основании истинных данных.

metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTruth);
Evaluating semantic segmentation results
----------------------------------------
* Selected metrics: global accuracy, class accuracy, IoU, weighted IoU, BF score.
* Processed 100 images.
* Finalizing... Done.
* Data set metrics:

    GlobalAccuracy    MeanAccuracy    MeanIoU    WeightedIoU    MeanBFScore
    ______________    ____________    _______    ___________    ___________

       0.90624          0.95085       0.61588      0.87529        0.40652  

Отображение свойств semanticSegmentationMetrics объект.

metrics
metrics = 
  semanticSegmentationMetrics with properties:

              ConfusionMatrix: [2x2 table]
    NormalizedConfusionMatrix: [2x2 table]
               DataSetMetrics: [1x5 table]
                 ClassMetrics: [2x3 table]
                 ImageMetrics: [100x5 table]

Отображение точности классификации, пересечения через объединение и оценки F-1 границ для каждого класса. Эти значения хранятся в ClassMetrics собственность.

metrics.ClassMetrics
ans=2×3 table
                  Accuracy      IoU      MeanBFScore
                  ________    _______    ___________

    triangle            1     0.33005     0.028664  
    background     0.9017      0.9017      0.78438  

Отображение нормализованной матрицы путаницы, которая хранится в NormalizedConfusionMatrix собственность.

metrics.ConfusionMatrix
ans=2×2 table
                  triangle    background
                  ________    __________

    triangle        4730            0   
    background      9601        88069   

См. также

| | | (инструментарий для глубокого обучения)

Представлен в R2017b