generalizedDice

Обобщенный коэффициент подобия Сёренсена-Диса для сегментации изображения

Описание

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

пример

similarity = generalizedDice(X,target) вычисляет обобщенный коэффициент подобия Сёренсена-Диса между тестовым изображением 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 объект. The 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]. A 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] Крам, Уильям Р., Оскар Камара и Дерек ЛГ Хилл. «Обобщенные показатели перекрытия для оценки и валидации в анализе медицинских изображений». Транзакции IEEE по медицинской визуализации. 25.11, 2006, стр 1451–1461.

[2] Sudre, Carole H., et al. «Обобщенное перекрытие Dice как функция потерь глубокого обучения для сильно несбалансированных сегментаций». Глубокое обучение в анализе медицинских изображений и мультимодальном обучении для поддержки клинических решений. Springer, Cham, 2017, pp. 240-248.

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

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

См. также

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

Введенный в R2021a