exponenta event banner

generalizedDice

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

Описание

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

пример

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

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

Примеры

свернуть все

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

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;

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

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');

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

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

  Z         1x1x32              262  dlarray              

Вычислите обобщенную потерю кости.

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

     1

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

свернуть все

Анализируемое изображение теста, указанное как одно из этих значений.

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

  • Неотформатированный dlarray(Панель инструментов глубокого обучения). Необходимо указать формат данных с помощью dataFormat аргумент.

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

dlarray для ввода требуется Toolbox™ глубокого обучения.

Целевой образ, указанный как числовой массив или dlarray(Панель инструментов глубокого обучения). Размер и формат target должны соответствовать размеру и формату тестового изображения, X. dlarray для ввода требуется инструментарий глубокого обучения.

Метки размеров для неформатированных dlarray ввод изображения, заданный как строковый скалярный или символьный вектор. Каждый символ в dataFormat должна быть одной из следующих меток:

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

  • C - Канал

  • B - Наблюдения за партиями

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

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

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

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

свернуть все

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

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

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

Подробнее

свернуть все

Обобщенное сходство костей

Обобщенное сходство Диса основано на сходстве Сёренсена-Диса для измерения перекрытия между двумя сегментированными изображениями.

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

S=2∑k=1Kwk∑m=1MYkmTkm∑k=1Kwk∑m=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, Кэрол Х., и др. «Обобщенное перекрытие Dice как функция глубокой потери обучения для сильно несбалансированных сегментаций». Глубокое обучение анализу медицинских образов и мультимодальное обучение для поддержки принятия клинических решений. Springer, Cham, 2017, стр. 240-248.

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

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

См. также

| | | (инструментарий для глубокого обучения) | (инструментарий для глубокого обучения)

Представлен в R2021a