有积分直接下就行,我全都打包好了
Unet-pytorch完整压缩包
或者按照下面的步骤一步步来
代码:Pytorch-UNet
数据:
- Carvana Image Masking Challenge
- 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像素,每个像素被分类为盐或沉积物。除了地震图像外,还为每个图像提供了成像位置的深度。比赛的目的是将含盐区域进行细分
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. 数据格式
讲数据如下存放就行
——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