U-net:執行你的第一個U-net進行影象分割
阿新 • • 發佈:2019-01-27
Unet進行影象分割
注意:本文執行環境為:python3.5、tensorflow 1.4.0
資料準備
- 原始資料:首先準備資料,參考資料來自於
ISBI
挑戰的資料集。資料可以在 這裡 下載到,含30張訓練圖、30張對應的標籤。30張測試圖片,均為.tif
格式檔案。
以上資料二選一就行
程式準備
程式地址:這裡
程式含有2個檔案,一個檔案為data.py
:該檔案是用來將訓練資料轉化為.npy
格式檔案,便於網路使用資料。當然還有其他功能如資料增強等,程式中已經進行了解釋。另外一個檔案:unet.py
:該檔案為unet網路結構定義與測試程式碼。
- 執行前的資料夾結構
--deform
train
train
0.tif
1.tif
...
0.tif
1.tif
...
label
train
0.tif
1.tif
...
0.tif
1. tif
...
--my_test
data.py
unet.py
--npydata
--results
--test
test
0.tif
1.tif
...
0.tif
1.tif
...
執行網路
- 首先 :執行
data.py
:執行後會生成三個.npy
檔案 :
imgs_mask_train.npy
:訓練圖片標籤
imgs_train.npy
: 訓練圖片
imgs_test.npy
- 其次 :執行
unet.py
:你需要修改的地方為第154
行
model.fit(imgs_train, imgs_mask_train, batch_size=2, nb_epoch=10, verbose=1,validation_split=0.2, shuffle=True, callbacks=[model_checkpoint])
batch_size
根據你的裝置來修改,即每次輸入幾張圖片,建議2~4張。
nb_epoch=10
是訓練多少次,一般20~50次。如果就30張圖片的話,訓練很快,幾分鐘就好了。
- 最後:
test
資料夾下的圖片的測試結果放在了results
資料夾下。
- 另外 :如果你在訓練完後想再測試幾張圖片的話,直接將154行註釋掉就行,再次執行
unet.py
:就會進行測試你放在test
資料夾下的圖片,結果就會儲存再results
資料夾下。
測試結果如下
1、純粹用原始的30張進行訓練的結果,大約87%的準確率
2、用資料增強後的處理效果
- 歡迎留言交流