卷积神经网络图像纹理合成 Texture Synthesis Using Convolutional Neural Networks

代码实现

概述

这是关于Texture Synthesis Using Convolutional Neural Networks论文的tensorflow2.0代码实现,使用keras预训练的VGG19模型,依照论文重新更改了vgg19的设置。
本实现在论文给出的纹理中基本能得到复现结果

环境

tensorflow >2.0
numpy
Pillow
matplotlib

Usage

python3 synthesize.py src.jpg --output output.jpg

文件

  • custome_vgg.py
    对vgg19重做修改
  • utils.py
    文件读写,格拉姆矩阵计算等
  • Texture Synthesis Using Convolutional Neural Networks.ipynb 关于代码实现的实验代码和思路讲解

result

原始图片
合成结果

原始图片
合成结果

原始图片
合成结果

讨论

  • 对于合成纹理中的高频噪声可以加入总变分损失(Total variation loss)优化,但笔者由于调参原因找不到合适的参数,因此放弃
  • 同时,使用直方图匹配在深色图片上也会起到优化作用,但泛化性不强
posted @ 2020-11-19 10:18  alexhe101  阅读(260)  评论(0编辑  收藏  举报