Рубрики
Без рубрики

Что такое «потеря кости» для сегментации изображений?

Что такое потеря кости? Как реализовать его в сегментацию? Теги с Python, DiCeloss, DiceCoefficile, Imagesgettion.

1. Потеря кости 是 什麼?

Потеря кости 是 Fausto Milletari 等人 在 V-net 中 提出 提出 的 Функция потери, 其 源於 Sørensen-коэффициент коэффициента, 是 Торвальд СёренсенЛи Раймонд Dice 於 1945 年 發展 出 的 的 的 這 種 種 種 種 的 的 種 種 的 的 種 種 的 的 的 的 有 很多 別 名, 最 響亮 的 就就 F1 оценка 。 在 了解 Потеря кубиков 前前 們們 先 談談 Коэффициент кости Sørensen-Dice 是 什麼.

回顧 一下 比較 常 聽到 的 F1 Оценка , 統計學中有 所謂 的 | Чувствительность 和. Специфика , 而 機器 學習 (模式 識別) 則 有 Точность 和. Напомним , 它們 的 關係 如下:

Ложный отрицательный Истинный положительный Положительный
Истинный отрицательный Ложно положительный Отрицательный

可 看到 Точность 和 和 和 的 的 那 一群, 分別正確 的 那 一群, 分別 挑選 的 那那 挑選 總數 (TP + FP) 正確 總數 (TP + FN) 來 評估 的 比例 .f1) 的 比例 .f1) 的 | 的 比例 .f1) 的 Гармоническое означает (調和 平均) 去 整合 這 兩 個 指標:

現在 回到 Коэффициент коэффициента Sørensen-Dice 的 常見 表現 方式:

QSЦирят сходства (相似 商), 就 是 Коэффициент 的 值, 只 會 介於 0 ~ 1 Отказ Сегментация изображений 中, 模型 分割 的 mask 就 影像 的 挑選 總數 , 專家 標記 的 маска 就 是 正確 總數. , 對應 到 公式 便 可知 挑選 總數 (TP + FP) 正確 總數 (TP + FN) 分別 就 是 X Y , 交集 便 是 TP, 可 見 Коэффициент кости 等 同 F1 оценка

談 完 了 Коэффициент, Ложка для костей 其實 就 是 是 的 顛倒. 當 當 是 它 的 顛倒. 當 當 越 的 的 的. 越 越 高 高, 代表 分割 結果 與 標準 標準 相似 度 越 高 用 求極 小值 的 思維 去 訓練 訓練 比較 可 可 常因此 的 的 訓練 比較 可行, 因此 常常 的 Функция потери 有 «1 коэффициент» «-Коэффективность»

2. Потеря кости 實作.

實作 環境:

  • Windows 10.
  • Python 3.6.4
    • MXNET 1.0.1

因為因為 小 小測試 就 不 用 用 用 小 了 了 了 了 好 好 在 在 是 由 由 由 由 由 是 由 由 | 0 和 1. 組成 兩 張 張 張 張 張 張 張 張 張 張 (продукт Хадамарда), 也 就 是 對應 點 點 因為 而 不 就 好 向. 因為 而 起來 就 作 向. 因為 因為 而 就 作 向. 因為 因為 起來 就 作 向. 因為 因為 而 就 作 向. 因為 因為 而 不 作 好 向. 因為 因為 起來 就 作 向. 因為 因為 起來 起來 好 好 向. 因為 因為 起來 就 作 向. 因為 因為 而 跟 作 好 向. Маска 值 是 0, 所以 在 後續 加總時 會 被 被 排除.

另 一個 式 趣 加入 加入 一 我 在 式 式 中 加入 了 了 Лаплес сглаживание , 也 就 是 分子 分母 同時 加 1 , 這 是 啟發 一 一個 pytorch 的 Выдавать комментарий . 據 他 所 說, Лаплес сглаживание 可以 減少 Переполнение, 我 想 是 因為 讓 整個 Коэффициент 值變 是 因為 讓 整個 整個 Коэффициент 值變 大, 讓 потери 變 小, 就 可以 更 快 達到 達到, 而 過 多 的 訓練迭代.

from mxnet import nd
smooth = 1.
def dice_loss(y_pred, y_true):
    product = nd.multiply(y_pred, y_true)
    intersection = nd.sum(product)
    coefficient = (2.*intersection +smooth) / (nd.sum(y_pred)+nd.sum(y_true) +smooth)
    loss = 1. - coefficient
    # or "-coefficient"
    return(loss)

接著 隨機 生成 兩 個 矩陣 測試:

y_pred = nd.random.uniform(0, 1, (3,3))
y_true = nd.random.uniform(0, 2, (3,3)).astype('int8').astype('float32')
dice_loss(y_pred, y_true)
---------------------------------------------------------

y_pred = [[0.38574776 0.08795848 0.83927506]
          [0.21592768 0.44453627 0.10463644]
          [0.8793516  0.65118235 0.5184219 ]]
         

y_true = [[1. 0. 0.]
          [0. 0. 0.]
          [1. 1. 1.]]
         

product = [[0.38574776 0.         0.        ]
           [0.         0.         0.        ]
           [0.8793516  0.65118235 0.5184219 ]]
          

intersection = [2.4347036] 

coefficient = [0.64307916] 
# no smooth : [0.59916145] 

loss = [0.35692084] 
# no smooth : [0.40083855] 

以以 一 驗證 計算機 一 一 一 一 就 可以 驗證 一 一 一 一 一 就 可以 而 一 一 一 一 一 而 而 而 而 而 減少 了 快 快 快 快快.

在 2016 年 v-net 開始 使使 後, потеря кубиков 在 2017 年 得到 了 一些 進化, 其 其 和 了 了 了 了 了 了 和 和 和學習 的 和 和 和 和 學習 常常 的 Кросс-энтропия

Оригинал: “https://dev.to/andys0975/what-is-dice-loss-for-image-segmentation-3p85”