請問醫學圖像分割中醫學圖像如何做歸一化啊,是除以最大值嗎,還是clip,然後除以最大值。

因為醫學圖像範圍較大,有可能到達2000-3000,但是那些值很少,所以如何歸一化呢?


如果是CT,可以首先統計一下金標準mask所覆蓋的前景目標的灰度值的以下特徵:

1.均值

2.方差

3.去最小0.5%極端值後的最小值(簡稱0.05%最小值)

4.去最大0.5%極端值後的最大值(簡稱99.5%最大值)

然後採用以下規則進行歸一化:

1.clip掉0.5%最小值以下的值和99.5%最大值以上的值:

2.減均值除以方差

mr的話,因為磁場和各種參數的原因,同一個組織在不同次掃描裡麪灰度值並不太固定,所以不建議採用以上方法。

建議直接最大最小值(也可以用去0.5%的極值)歸一化到正負1或0,1之間。


謝邀。

針對CT和MR可能採取不同的策略,舉例而言,CT圖像採用截斷歸一化比較多一些,即採用感興器官或組織的窗寬-窗位(最小最大值)去截斷灰度範圍,然後歸一化到[0, 1]或[-1,1]。可以多看看一些文章的。


首先我不是做醫療圖像分割的。

可以參考TensorRt 是怎麼把任意分佈的activation歸一化的 (其實是變成適合256個整數來表示的一個範圍): 用KL-Divergence。

你這個問題相當於要找到一個 threshold, 然後所有大於這個threshold的像素值都變成 thresh就好了。最後歸一化每個像素除以這個值。

TensorRt 裏是用 KL-Divergence 來尋找最好的 threshold 的。

你也可以假設自己在0-1 間希望有256個bin來表示 (畢竟灰度圖像就那麼多像素值),那你也用同樣的KL-Divergence來找一個threshold, 使得這個被clip過的分佈在quantize到256個像素時 KL-Divergence 最小。那就行了。


醫學圖像是要先加窗取到你要的組織,再做普通的0-1歸一化就好了,一般放射科都知道要什麼窗

問這個問題多半是搞演算法的吧,很多比賽給的dicom裡面加過窗了,呵呵


如果只有個別數值遠大於其他值,我覺得你需要的不是歸一化而是一個額外的激活函數


先確定你要取的器官的CT值範圍


在深度網路中,Batchnorm是最常用的歸一化方式,但它嚴重依賴於設定的batch size。看上圖,在訓練過程中,它計算的均值方差是所有mini batch的均值方差,在測試過程中均值方差可不是測試樣本的均值方差, 而是在之前訓練的過程中求所有batch的均值的期望,方差的期望,然後進行測試推理,具體可見https://blog.csdn.net/sinat_30372583/article/details/79943743。但是在實際tensorflow的應用中並沒有採取以上方式,而是使用另一種方式,

默認為: 當前mean = 0.1 * 當前mean + 0.9 * 上一次訓練的mean

所以Batchnorm的參數其實有4個(minibach的均值方差,滑動平均均值方差)。

但在很多任務如分割,檢測中,尤其是3D分割,由於輸入圖像太大,顯存的限制導致batchsize只能設的很小,這個時候如果再用Batchnorm就失去了它固有的意義,而後面提出的LN, IN, GN都是獨立於batchsize的,所以訓練的時候只需要兩個參數就是minibatch的均值方差,測試的時候也不需要滑動平均均值方差了。

在醫學圖像3D分割中,如果我們使用多中心的數據,由於數據比較少,且多個中心的數據之間本來就存在差異,那麼用Batchnorm得不償失,因為滑動平均均值方差是在訓練集上計算的,而測試的數據跟訓練集又不一樣,所以得到的效果就是在訓練集上收斂很快,但在測試集上效果很差。而我使用GN就不會這樣,儘管在訓練集上收斂慢一些,但在測試集上效果要好多了。

轉載自:Darlewo ,深度網路中歸一化方式結合醫學圖像的理解。

最後安利一下我們團隊之前做過一次新冠肺炎識別模擬案例的試驗。

矩池雲:野生煉丹師入門二:新冠肺炎識別模擬-肺炎的CT影像檢測?

zhuanlan.zhihu.com圖標矩池雲:矩池雲 | 神經網路圖像分割:氣胸X光片識別案例?

zhuanlan.zhihu.com圖標
推薦閱讀:
相關文章