标题用Python与CNN做一个风景图像风格迁移系统(二)
三、系统将完成以下任务:
(1)导入四种安装好的模块,分别是TensorFlow、numpy、os、import导入三方库。
(2)设置各种参数,需要设置内容图片和风格图片的大小参数、需要给定内容和风格图片的路径参数、需要提供生成图片保存的文件夹路径及图片的存储的形式,设置随机噪声和图像的比率、风格的强度、设置需要用到的卷基层、VGG-19模型的路径、还有需要进行预处理的均值设定。
(3)对图片的读取,需要定义一个读取图片的函数load_images(image_path, width=settings.WIDTH, height=settings.HEIGHT),可以通过控制image_path变量,也就是控制对应图片的路径来分别读取图片,同时也能将对应的子集是属于权重和偏置读取出来,用于卷积计算。而对于图片的存储,同样地,定义一个函数save_image(image_path, image, filename),之后会对生成的图片自动调整大小,并存储在指定的文件夹中。
(4)进行计算激活函数。内容、风格、生成图片分别计算对应的激活值,并且将计算的结果用字典的形式存储,用于计算后边的代价函数。
(5)求代价函数,代价函数分为风格代价函数、内容代价函数。需要将两者分别求取,需要用于计算的数据分别在字典中提取。代价函数是衡量生成图片成功与否的关键,代价函数值越小,说明生成的图片在风格上更加明显。表现得效果更好。通过Adam算法反向传输,对生成图片更新迭代。在这里需要注意的是我们不需要进行权重的更新,而是直接对生成图