Метрики качества семантической сегментации
semanticSegmentationMetrics
объект инкапсулирует метрики качества семантической сегментации для набора изображений.
Создайте semanticSegmentationMetrics
объект с помощью evaluateSemanticSegmentation
функция.
ConfusionMatrix
— Матрица беспорядкаЭто свойство доступно только для чтения.
Матрица беспорядка, заданная как прямоугольный стол. Каждый табличный элемент (i, j) является количеством пикселей, которые, как известно, принадлежали, чтобы классифицировать i, но предсказанный, чтобы принадлежать, чтобы классифицировать j.
NormalizedConfusionMatrix
— Нормированная матрица беспорядкаЭто свойство доступно только для чтения.
Нормированная матрица беспорядка, заданная как прямоугольный стол. Каждый табличный элемент (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
.
ClassMetrics
— Метрики классаЭто свойство доступно только для чтения.
Метрики семантической сегментации для каждого класса, заданного как таблица. 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 выигрывают за каждый класс, усредненный по всем изображениям.
ImageMetrics
— Отобразите метрикиЭто свойство доступно только для чтения.
Метрики семантической сегментации для каждого изображения в наборе данных, заданном как таблица. ImageMetrics
содержит до пяти метрик, в зависимости от значения 'Metrics'
пара "имя-значение" используется с evaluateSemanticSegmentation
:
GlobalAccuracy
— Отношение правильно классифицированных пикселей к общим пикселям, независимо от класса
MeanAccuracy
— Отношение правильно классифицированных пикселей к общим пикселям, усредненным по всем классам в изображении
MeanIoU
— Средний IoU всех классов в изображении
WeightedIoU
— Средний IoU всех классов в изображении, взвешенном количеством пикселей в каждом классе
MeanBFScore
— Средний счет BF каждого класса в изображении
Каждая метрика изображений возвращает вектор с одним элементом для каждого изображения в наборе данных. Порядок строк совпадает с порядком изображений, заданных входом 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);
Загрузите сеть семантической сегментации, которая была обучена на учебных изображениях noisyShapes
.
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
Отобразите точность классификации, пересечение по объединению и контур F-1 счет к каждому классу.
metrics.ClassMetrics
ans=2×3 table
Accuracy IoU MeanBFScore
________ _______ ___________
triangle 1 0.33005 0.028664
background 0.9017 0.9017 0.78438
bfscore
| evaluateSemanticSegmentation
| jaccard
| plotconfusion
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.