超分学习1:复现pytorch版本unet网络

有积分直接下就行,我全都打包好了
Unet-pytorch完整压缩包
或者按照下面的步骤一步步来
代码:Pytorch-UNet
数据:

  1. Carvana Image Masking Challenge
  2. TGS Salt Identification Challenge 这个train用不了,就别下了

数据集

1. 汽车数据

该数据集包含大量的汽车图像(如.jpg文件)。 每辆汽车正好有16张图像,每个图像以不同的角度拍摄。 每辆车都有一个唯一的ID,图像根据id_01.jpg,id_02.jpg … id_16.jpg命名。 除了图像之外,还为您提供有关汽车制造商,型号,年份和内饰的一些基本元数据。

对于训练集,将为您提供一个.gif文件,其中包含每个图像的手动剪切蒙版。 竞争任务是在测试集文件夹的图像中自动分割汽车。 为了阻止手工标记,我们在测试集中添加了在评分中被忽略的汽车图像。

用来为本比赛打分的指标要求您提交的内容采用游程编码格式。 有关详细信息,请参见评估页;有关编码外观的真实示例,请参见train_masks.csv。

盐和岩的地震波反射影像数据

使用反射地震学或地震反射来收集地震数据。该方法需要受控的地震能源,例如压缩空气或地震振动器,并且传感器记录地下岩石界面的反射。然后处理记录的数据,以创建地球内部的3D视图。反射地震学类似于X射线,声纳和回声定位。

通过对来自岩石边界的反射进行成像可以生成地震图像。地震图像显示了不同岩石类型之间的边界。从理论上讲,反射强度与界面两侧物理性质的差异成正比。尽管地震图像显示了岩石边界,但它们并没有对岩石本身说太多。有些岩石很容易识别,而有些则很难。

世界上有几个地区的地下盐分很多。地震成像的挑战之一是识别地下盐分。盐具有易于识别和难以识别的特征。盐密度通常为2.14 g / cc,低于大多数围岩。盐的地震速度为4.5 km / sec,通常比其周围的岩石快。这种差异会在盐沉淀物界面处产生尖锐的反射。通常,盐是无定形的岩石,内部结构不多。这意味着盐内部通常没有太大的反射率,除非里面有沉淀物。盐的异常高地震速度会给地震成像带来问题。
数据

数据是在地下随机选择的各个位置选择的一组图像。图像为101 x 101像素,每个像素被分类为盐或沉积物。除了地震图像外,还为每个图像提供了成像位置的深度。比赛的目的是将含盐区域进行细分

超分学习1:复现pytorch版本unet网络_第1张图片
images是左边的,mask是右边,我理解尖锐的是盐部分,黑色mask

代码

环境

环境比较简单,ubuntu16.04系统,按照github上面说的装就行

conda create -n unet python=3.6 
pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt

测试

在这里下载权重Release of a Carvana Unet pretrained model,然后按照下面指令推理

python predict.py -m unet_carvana_scale1_epoch5.pth -i Selection_002.png -o output.png

超分学习1:复现pytorch版本unet网络_第2张图片
汽车的测试效果还可以

超分学习1:复现pytorch版本unet网络_第3张图片
盐的还需要自己训练一下

训练

1. 数据格式

讲数据如下存放就行

——data
	—imgs
	—masks

2. 名称统一

盐的数据有的没有mask,train不了,所以可以尝试运行一下汽车的,在data下面的mask文件里面新建rename.py

#data/masks/rename.py

import os

files = os.listdir('.')
for file_name in files:
    portion = os.path.splitext(file_name)
    if portion[1] == ".gif":
        new_name = portion[0]-"_masks" + ".jpg"
        os.rename(file_name, new_name)

3. 训练

python train.py -f unet_carvana_scale1_epoch5.pth

你可能感兴趣的:(图像分割,深度学习,pytorch,机器学习,图像处理,人工智能)