1. custom_layers
    1. scale_layer.py
    2. uppooling_layer.py
  2. config.py
    1. 工程中模型配置参数,数据路径,样本数,样本尺寸等
  3. data_generator.py
    1. 训练时调用此代码来生成每个batch_size的样本
      1. get_alpha
        1. 根据mask图读取其alpha图
      2. get_alpha_test
      3. composite4
        1. 图像融合算法关键方法
      4. process
        1. 根据原图,mask图,alpha图融合图像
      5. generate_trimap
        1. 对alpha图随机腐蚀膨胀生成trimap图
      6. random_choice
        1. 以未知区域某个像素点为中心随机裁剪
      7. DataGenSequence
        1. 模型训练时使用的数据生成器
  4. model.py
    1. build_encoder_decoder
    2. build_refinement
    3. 模型由此两部分组成,分开构建,分开画图【33层】
  5. plot_model.py
    1. 直接调用keras的plot_model画出build_encoder_decoder的网络结构图
  6. 1. pre_process.py
    1. 数据预处理,没用
  7. segnet.py
    1. 跟model几乎一样,但是其build_encoder_decoder部分的kernel大小从3变为5。model中会一直是3
    2. 【37层】
  8. test.py
    1. 载入模型,并根据输入的原图+trimap图预测最后合成效果图
  9. test_alphamatting.py
    1. 载入模型,仅测试特定目录alphamatting下的几张图
  10. train.py
    1. 模型训练的入口函数,开始训练模型
    2. 训练开始
  11. train_encoder_decoder.py
    1. 单独训练build_encoder_decoder
  12. train_final.py
    1. 跟train.py几乎一样
  13. train_refinement.py
    1. 单独训练build_refinement,注意它需要encoder_decoder作为输入
  14. utils.py
    1. 计算训练模型过程中的一些损失函数
      1. overall_loss
      2. alpha_prediction_loss
      3. compositional_loss
      4. compute_mse_loss
      5. compute_sad_loss
      6. 其他辅助函数
  15. vgg16.py
    1. VGG16网络的定义,载入了包含了预训练模型权重的
  16. migreate.py
    1. 迁移学习:将VGG16模型的预训练参数赋值给当前新模型,一般是encoder_decoder模型
  17. demo.py
    1. demo程序,载入官方提供的预训练模型,测试图片融合
      1. 1. 构建模型
      2. 2. 载入权重
      3. 3. 载入需要融合的前景图
      4. 4. 载入需要融合的背景图
      5. 5. 根据前景图文件名对应的mask得到alpha图
      6. 6. 根据alpha图中确定区域和不确定区域,复制一份数据,随机腐蚀膨胀生成trimap
  18. 蓝色代表数据处理相关
  19. png格式的merged_test
  20. jpg格式的bg_test
  21. mask_test中的fg图片
  22. trimap