Метрики качества семантической сегментации
semanticSegmentationMetrics
объект инкапсулирует метрики качества семантической сегментации для набора изображений.
Создайте semanticSegmentationMetrics
объект с помощью evaluateSemanticSegmentation
функция.
ConfusionMatrix
— Матрица беспорядкаЭто свойство доступно только для чтения.
Матрица беспорядка в виде таблицы со строками и столбцами C, где C является количеством классов в семантической сегментации. Каждым табличным элементом (i, j) является количество пикселей, которые, как известно, принадлежали, чтобы классифицировать i, но предсказанный, чтобы принадлежать, чтобы классифицировать j.
NormalizedConfusionMatrix
— Нормированная матрица беспорядкаЭто свойство доступно только для чтения.
Нормированная матрица беспорядка в виде таблицы со строками и столбцами C, где C является количеством классов в семантической сегментации. Каждым табличным элементом (i, j) является количество пикселей, которые, как известно, принадлежали, чтобы классифицировать i, но предсказанный, чтобы принадлежать, чтобы классифицировать j, разделенный на общее количество пикселей, предсказанных в классе j. Элементы находятся в области значений [0, 1].
DataSetMetrics
— Метрики набора данныхЭто свойство доступно только для чтения.
Метрики семантической сегментации, агрегированные по набору данных в виде таблицы с одной строкой. DataSetMetrics
имеет до пяти столбцов, соответствуя метрикам, которые были заданы 'Metrics'
пара "имя-значение", используемая с evaluateSemanticSegmentation
:
GlobalAccuracy
— Отношение правильно классифицированных пикселей к общим пикселям, независимо от класса.
MeanAccuracy
— Отношение правильно классифицированных пикселей в каждом классе к общим пикселям, усредненным по всем классам. Значение равно среднему значению ClassMetrics.Accuracy
.
MeanIoU
— Среднее пересечение по объединению (IoU) всех классов. Значение равно среднему значению ClassMetrics.IoU
.
WeightedIoU
— Средний IoU всех классов, взвешенных количеством пикселей в классе.
MeanBFScore
— Средний счет граничного F1 (BF) всех изображений. Значение равно среднему значению ImageMetrics.BFScore
. Эта метрика не доступна, когда вы создаете semanticSegmentationMetrics
объект при помощи матрицы беспорядка как вход к evaluateSemanticSegmentation
.
ClassMetrics
— Метрики классаЭто свойство доступно только для чтения.
Метрики семантической сегментации для каждого класса в виде таблицы со строками C, где C является количеством классов в семантической сегментации. ClassMetrics
имеет до трех столбцов, соответствуя метрикам, которые были заданы 'Metrics'
пара "имя-значение", используемая с evaluateSemanticSegmentation
:
Accuracy
— Отношение правильно классифицированных пикселей в каждом классе к общему количеству пикселей, принадлежащих тому классу согласно основной истине. Точность может быть описана как:
Accuracy
= (TP + TN) / (TP + TN + FP + FN)
Положительный | Отрицательный | |
---|---|---|
Положительный | TP: верный положительный | FN: ложное отрицание |
Отрицательный | Fp : положительная ложь | TN: истинное отрицание |
TP: Истинные положительные стороны и FN являются количеством ложных отрицательных сторон.
IoU
— Отношение правильно классифицированных пикселей к общему количеству пикселей, которые присвоены что класс основной истиной и предиктором. IoU может быть описан как:
IoU
= TP / (TP + FP + FN)
Изображение описывает истинные положительные стороны (TP), ложные положительные стороны (FP) и ложные отрицательные стороны (FN).
MeanBFScore
— Граничные F1 выигрывают за каждый класс, усредненный по всем изображениям. Эта метрика не доступна, когда вы создаете semanticSegmentationMetrics
объект при помощи матрицы беспорядка как вход к evaluateSemanticSegmentation
.
ImageMetrics
— Отобразите метрикиЭто свойство доступно только для чтения.
Метрики семантической сегментации для каждого изображения в наборе данных в виде таблицы со строками 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);
Задайте имена классов и их связанную метку IDs.
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
evaluateSemanticSegmentation
| plotconfusion
(Deep Learning Toolbox) | jaccard
| bfscore
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.