《建模_Unet_GAN》

《建模_Unet_GAN》

UNet_基礎

一:用Unet實現圖像分割(by pytorch)

與典型的 GAN 相比,U-Net GAN 使用分割網絡作為鑑別器。這個分割網絡預測兩類:真實的和虛假的。這樣做時,鑑別器給生成器區域特定的反饋。這種判別器設計還可以對 U-Net GAN 判別器的二維輸出進行基於 CutMix 的一致性正則化,從而進一步提高圖像合成質量。

这个就是大名鼎鼎的UNet结构图了,事实上现在很多网络都用到这种结构(或部分结构),我们一般将其称为编码器(Encoder)-解码器(Decoder)模式。

本文就以當前kaggle上最熱門的segmentation競賽–TGS Salt Identification
Challenge爲例來講解如何應用Unet來解決真實世界的圖像分割問題。github: here。

TGS公司通過地震波反射技術繪製出下圖所示的3D地質圖像,並標記出圖像中的鹽礦區域,參賽者需要訓練用於從岩層中分離鹽礦的機器學習模型。

在这里插入图片描述

Figure 2是trainset中5組image和mark圖片,每組的左圖爲原始地質圖像,右圖爲該圖像的分類,稱爲mark,黑色區域代表一般岩層,白色區域就是鹽的分佈。segmentation要做的就是訓練一個image-to-image的模型,通過對原始圖像的學習,生成其對應的mask2,mask則作爲target,通過最小化mask和mask2的差距來識別哪些是鹽。

生成dataset的第一步是根據run length數據創建對應的mark圖片,因爲TGS的trainset裏面已經提供了mark圖片(mark圖片和對應image圖片同名),所以我們就不需要額外再創建。

For simplicity we will only use train.zip file which contains both the images and their corresponding masks.
《建模_Unet_GAN》_第1张图片

In the images directory, there are 4000
seismic images which are used by human experts to predict whether there could
be salt deposits in that region or not.

In the masks directory, there are 4000
gray scale images which are the actual ground truth values of the corresponding
images which denote whether the seismic image contains salt deposits and if so
where. These will be used for building a supervised learning model.

基礎Text函數

程式(1)

程式碼:

《建模_Unet_GAN》_第2张图片

《建模_Unet_GAN》_第3张图片
《建模_Unet_GAN》_第4张图片

《建模_Unet_GAN》_第5张图片
《建模_Unet_GAN》_第6张图片
《建模_Unet_GAN》_第7张图片
《建模_Unet_GAN》_第8张图片
《建模_Unet_GAN》_第9张图片
《建模_Unet_GAN》_第10张图片
《建模_Unet_GAN》_第11张图片

PS:
Unet与GAN都是很优秀的,他们的组合创新或许未来会有更多的火花,例如Unet在图像分割方面唯妙唯俏、建筑物的分割等应用;GAN的图像识别也是别具一格的,现在已经在医学图像方面应用也创造了许多奇迹,相信未来会有更多让人惊奇的地方…

你可能感兴趣的:(人工智能,Unet,图像处理,人工智能,GAN)