用DCGAN與VAE合成腦MR影像

本文做了兩個小實驗,分別利用兩個經典的生成模型(DCGAN與VAE)來合成腦影像;使用pytorch,全部代碼見github;實驗設備,NVIDIA 1080Ti;

訓練數據

腦影像使用Brats18 公開數據集的T2模態;提取axial面的240X240大小2d 切片,resize成128X128大小;保存爲.npy文件。

數據集示例

在這裏插入圖片描述

VAE

網絡結構

在這裏插入圖片描述

損失函數

第一項重建誤差,第二項KL loss;
在這裏插入圖片描述

重參數技巧

直接根據編碼器生成的均值與方差進行採樣,該採樣過程是不可導的,如左圖所示;用右圖的重參數技巧得到採樣點的過程可導
在這裏插入圖片描述

合成結果

隨機輸入:
在這裏插入圖片描述
插值結果:
在這裏插入圖片描述
訓練時遇到一個問題,VAE輸出的圖像全相同,且KL loss很快收斂到0。發現問題在於重建loss與KL loss的權重分配上,nn.BCELoss默認是計算每個像素上的平均誤差;而KL是計算一幅圖像上的誤差;故而對重建loss 乘上了圖像的像素數,問題得到了解決

DCGAN

網絡結構

在這裏插入圖片描述

損失函數

在這裏插入圖片描述

合成結果

隨機輸入:
在這裏插入圖片描述
插值結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章