Я хотел бы вычислить Поверхностный коэффициент Дайса-Серенсена из этой бумаги (стр. 19) в python3 / pytorch.
Я должен отметить, что я не пытаюсь реализовать простой стандартный объемный коэффициент Дайса-Серенсена ! Это будет выглядеть следующим образом в моей реализации:
import torch
def volumetric_DSC(M1, M2):
M1 = M1.view(-1)
M2 = M2.view(-1)
dividend = 2 * (M1 * M2).sum()
divisor = (M1 * M1).sum() + (M2 * M2).sum()
return dividend / divisor
if __name__ == "__main__":
m1 = torch.empty(5, 5, 5).uniform_(0, 1)
m1 = torch.bernoulli(m1)
m2 = torch.empty(5, 5, 5).uniform_(0, 1)
m2 = torch.bernoulli(m2)
loss = volumetric_DSC(m1, m2)
print("loss = {0}".format(loss))
Как я могу расширить этот код до потери коэффициента поверхности Дайса-Серенсена?