学习deep image matting

主要是用于记录学习deep image matting 的过程

Python相关

使用Python,会有不同的环境
  1. 创建Python虚拟环境
 #创建一个名叫python36 ,python3.6版本的虚拟环境
conda create -n python36 python=3.6 
  1. 切换到对应的环境
    conda activate python36
  2. 查询环境列表
    conda env list
    4.退出环境
    source deactiave
    5.安装( 包名:tensorboard)
    conda install tensorboard

实现deep image matting 模型

运行deep image matting 模型 (主要参照 https://www.jianshu.com/p/91fc778cf4ed)

原始文章会清楚很多,这里只是记录运行过程
1.准备数据
下载好图片,放在项目文件夹内,或者其他的文件夹内 图片文件夹:matting_human_half
2.准备好的图片中包含原图和matiing
1)修改data/retrieve.py中root_dir,train_txt_path,val_txt_path的路径
root_dir 表示需要训练的图片的地址

    root_dir = '/home/xxx/pythonTest/ydeep_image/image'
    train_txt_path = '../data/train.txt'
    val_txt_path = '../data/val.txt'

2)执行retrieve.py python3 retrieve.py
执行完成之后,生成所有图片的alpha 和 mask。
还有训练的train.txt 和 val.txt(val.txt中的路径表示随机默认挑选的图像用于验证)
由于公司服务器比较小,所以只训练了100张图片查看是否能运行完成,验证的图片数量也变成了2(在 retrieve.py 中修改验证数量)

def split(image_paths, num_val_samples=2):
    if image_paths is None:
        return None

3.开始训练
执行命令 python3 train.py --gpu_indices 0 1
--gpu_indices 0 1 表示使用的指定的GPU,0 1 表是使用第0 和 1块GPU

4.训练完成后,会在model文件夹中生成一个.cpkt文件
训练开始后,过一段时间后,可以执行命令,查看训练过程,因为是在局域网的服务器上跑的,所以需要加上--bind_all
tensorboard --logdir models/logs --bind_all
5.测试结果
1)测试抠图
准备数据,在test文件夹内,每一组对应的,原图和抠图(不明白为什么要抠图,后面再研究下)
执行 python3 predict.py
执行完成之后,生成一个pred_alphas文件夹,生成对应的图片

image.png

2)测试合成图片
执行 python3 predict_trimap.py
在data_dim/test文件夹中生成预测结果
需要注意的是,需要提供alpha文件和trimap文件

你可能感兴趣的:(学习deep image matting)