Семантические метрики качества сегментации
Объект 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 ------------------------------------- * Processing 100 images. * Progress: 100.00%
Оцените результаты прогноза против наземной истины.
metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTruth);
Evaluating semantic segmentation results ---------------------------------------[==================================================] 100% Elapsed time: 00:00:01 Estimated time remaining: 00:00:00 * 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.