generalizedDice

Обобщенный коэффициент подобия Sørensen-Dice для сегментации изображений

Описание

Обобщенный коэффициент подобия Dice измеряет перекрытие между двумя сегментированными изображениями. Обобщенное подобие Dice основано на подобии Sørensen-Dice и управляет вкладом, который каждый класс делает к подобию путем взвешивания классов обратным размером ожидаемой области. При работе с неустойчивыми наборами данных взвешивание класса помогает препятствовать тому, чтобы более распространенные классы доминировали над счетом подобия.

пример

similarity = generalizedDice(X,target) вычисляет обобщенный коэффициент подобия Sørensen-Dice между тестом отображают X и целевое изображение target.

similarity = generalizedDice(X,target,'DataFormat',dataFormat) также задает метки размерности, dataFormat, из бесформатных данных изображения. Необходимо использовать этот синтаксис, когда входом является восстановленный после форматирования dlarray (Deep Learning Toolbox) объекты.

Примеры

свернуть все

Загрузите предварительно обученную сеть.

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

Загрузите треугольный набор данных изображения с помощью imageDatastore.

dataDir = fullfile(toolboxdir('vision'),'visiondata','triangleImages');
testImageDir = fullfile(dataDir,'testImages');
imds = imageDatastore(testImageDir);

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

labelDir = fullfile(dataDir,'testLabels');
classNames = ["triangle" "background"];
pixelLabelID = [255 0];
pxdsTruth = pixelLabelDatastore(labelDir,classNames,pixelLabelID);

Считайте демонстрационное изображение и соответствующие метки основной истины.

I = readimage(imds,1);
gTruthLabels = readimage(pxdsTruth,1);

Запустите семантическую сегментацию на изображении.

[predictions,scores] = semanticseg(I,net);

Закодируйте категориальные предсказания и цели с помощью onehotencode функция.

featureDim = ndims(predictions) + 1;
encodedPredictions = onehotencode(predictions,featureDim);
encodedGroundTruthLabels = onehotencode(gTruthLabels,featureDim);

Проигнорируйте любые неопределенные классы в закодированных данных.

encodedPredictions(isnan(encodedPredictions)) = 0;
encodedGroundTruthLabels(isnan(encodedGroundTruthLabels)) = 0;

Вычислите обобщенный коэффициент подобия Dice между сегментированным изображением и основной истиной.

gDice = generalizedDice(encodedPredictions,encodedGroundTruthLabels)
gDice = 0.4008

Создайте входные данные как отформатированный dlarray объект, содержащий 32 наблюдения с ненормированной музыкой к десяти выходным категориям.

spatial = 10;
numCategories = 10;
batchSize = 32;
X = dlarray(rand(spatial,numCategories,batchSize),'SCB');

Преобразуйте ненормированные баллы в вероятности членства каждой из этих десяти категорий.

X = sigmoid(X);

Создайте целевые значения для членства во второй и шестой категории.

targets = zeros(spatial,numCategories,batchSize);
targets(:,2,:) = 1; 
targets(:,6,:) = 1;
targets = dlarray(targets,'SCB');

Вычислите обобщенный коэффициент подобия Dice между векторами вероятности X и целями для классификации мультиметок.

Z = generalizedDice(X,targets);
whos Z
  Name      Size              Bytes  Class      Attributes

  Z         1x1x32              262  dlarray              

Вычислите обобщенную Dice Loss.

loss = 1 - mean(Z,'all')
loss = 
  1(S) x 1(C) x 1(B) dlarray

     1

Входные параметры

свернуть все

Протестируйте изображение, которое будет анализироваться в виде одного из этих значений.

  • Числовой массив любой размерности. Последняя размерность должна соответствовать классам.

  • Бесформатный dlarray Объект (Deep Learning Toolbox). Необходимо задать формат данных с помощью dataFormat аргумент.

  • Отформатированный dlarray объект. dlarray введите должен содержать размерность канала, 'C' и может содержать пакетную размерность, 'B'.

dlarray введите требует Deep Learning Toolbox™.

Целевое изображение в виде числового массива или dlarray Объект (Deep Learning Toolbox). Размер и формат target должен совпадать с размером и форматом тестового изображения, X. dlarray введите требует Deep Learning Toolbox.

Размерность помечает для бесформатного dlarray вход изображений в виде строкового скаляра или вектора символов. Каждый символ в dataFormat должна быть одна из этих меток:

  • S — Пространственный

  • C — Канал

  • B — Пакетные наблюдения

Формат должен включать одну метку канала. Формат не может включать больше чем одну метку канала или обработать метку в пакетном режиме. Не задавайте 'dataFormat'аргумент, когда входными изображениями является отформатированный dlarray объекты.

Пример: 'SSC' указывает, что массив имеет две пространственных размерности и одну размерность канала

Пример: 'SSCB' указывает, что массив имеет две пространственных размерности, одну размерность канала и одну пакетную размерность

Выходные аргументы

свернуть все

Обобщенный коэффициент подобия Dice, возвращенный в виде числа или dlarray Объект (Deep Learning Toolbox) со значениями в области значений [0, 1]. similarity из 1 среднего значения, что сегментации в двух изображениях являются идеальной парой.

  • Если входные массивы являются числовыми изображениями, то similarity числовой скаляр.

  • Если входными массивами является dlarray объекты, затем similarity dlarray объект той же размерности как входные изображения. Пространственные размерности и размерности канала similarity одноэлементные размерности. Существует обобщенное измерение Dice того для каждого элемента по пакетному измерению.

Больше о

свернуть все

Обобщенное подобие Dice

Обобщенное подобие Dice основано на подобии Sørensen-Dice для измерения перекрытия между двумя сегментированными изображениями.

Обобщенное подобие Dice функционирует S, используемый generalizedDice для подобия между одним изображением Y и соответствующей основной истиной T дают:

S=2k=1Kwkm=1MYkmTkmk=1Kwkm=1MYkm2+Tkm2

K является количеством классов, M является числом элементов по первым двум измерениям Y, и wk является классом определенный фактор взвешивания, который управляет вкладом, который каждый класс делает к счету. Это взвешивание помогает противостоять влиянию более крупных областей на обобщенном счете Dice. wk обычно является обратной областью ожидаемой области:

wk=1(m=1MTkm)2

Существует несколько изменений обобщенных баллов Dice [1], [2]. generalizedDice функция использует термины в квадрате, чтобы гарантировать, что производная 0, когда два изображения соответствуют [3].

Ссылки

[1] Crum, Уильям Р., Оскар Камара и Дерек ЛГ Хилл. "Обобщенное перекрытие измеряется для оценки и валидации в медицинском анализе изображения". Транзакции IEEE на Медицинской Обработке изображений. 25.11, 2006, стр 1451–1461.

[2] Sudre, Кэрол Х., и др. "Обобщенные Dice перекрываются как функция потерь глубокого обучения для очень несбалансированных сегментаций". Глубокое обучение в Медицинском Анализе изображения и Многомодальном Изучении для Клинической Поддержки принятия решений. Спрингер, Хан, 2017, стр 240–248.

[3] Milletari, Фаусто, Нассир Нэвэб и Сейед-Ахмад Ахмади. "V-Net: Полностью Сверточные нейронные сети для Объемной Медицинской Сегментации Изображений". Четвертая Международная конференция по вопросам 3D-видения (3DV). Стэнфорд, CA, 2016: стр 565–571.

Расширенные возможности

Смотрите также

| (Deep Learning Toolbox) | | | (Deep Learning Toolbox)

Введенный в R2021a