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