【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

这篇具有很好参考价值的文章主要介绍了【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

功能演示

【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

摘要:图像风格迁移(Image Style Transfer)是一种将一张图像的风格应用到另一张图像上的技术。本文详细介绍了其实现的技术原理,同时给出完整的Python实现代码、训练好的Pt模型,并且通过PyQT实现了UI界面,更方便进行功能的展示。图片风格转换系统主要实现了3种风格的图片转移模型(可以自己训练喜欢的风格模型),只需要载入要进行风格转化的图片,并选择自己喜欢的风格,就可以立即得到转化后的图片效果。本文提供了完整的Python代码和使用教程,给感兴趣的小伙伴参考学习,完整的代码资源文件获取方式见文末。

点击跳转至文末《完整相关文件及源码》获取


前言

图像风格迁移(Image Style Transfer)是一种将一张图像的风格应用到另一张图像上的技术。具体来说,它将一张包含艺术风格的图像作为输入(称为"风格图片"),并将其应用到一张包含内容的图像(称为"内容图片")上,以生成一张新的图像,该图像保留了原始内容图片的内容,但具有风格图片的艺术风格。它是一种深度学习技术,利用了卷积神经网络的特征提取能力。通常使用预训练的卷积神经网络,如VGG网络,以提取输入图像的特征表示。然后,通过最小化内容图片和风格图片的特征表示之间的差异,以及保持生成图像与内容图片之间的相似度,生成新的图像。图像风格迁移可以应用于许多场景,如图像编辑、艺术创作、视频处理等,它是计算机视觉领域中的热门研究方向之一。

下面是博主设计的简洁软件界面,能够实现目标图片的风格选择,并且快速的将目标图片转换为指定风格并进行展示,还提供了图片保存功能。感兴趣的小伙伴可以自己试试。

觉得不错的小伙伴,感谢点赞、关注加收藏!如果大家有任何建议或意见,欢迎在评论区留言交流!

初始界面如下图:
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

图片载入并选择图片风格之后,点击风格转换转换之后,界面如下:(然后点击保存图片,可以将转换后的风格图片保存至默认目录)
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

一、效果演示

(1)图片风格转移
点击载入图片,默认图片风格为梵高风格,点击风格转换,即可在右边显示出转换后的图片。
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
(2)更改图片风格
这里提供了3种预训练好的图片风格模型进行选择,通过下拉框选择指定的风格,然后点击风格转换即可。点击保存图片,即可将风格迁移后的图片进行保存。
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

二、图片迁移原理介绍

1.基本原理

本文主要利用的是基于神经网络的风格转换(Neural style transfer)技术:是一种基于离线模型优化的快速图像风格化迁移算法。核心思想就是利用基于离线模型优化的快速图像重建方法来节省时间。具体来说就是预训练一个前向网络,使得图像经过一次前向计算就可以得到图像重建结果,在依据各自约束来优化这一结果。根据一个训练好的前向网络能够学习到多少个风格作为分类依据,这里可以将这一类算法再细分为单模型单风格(PSPM)、单模型多风格(MSPM)和单模型任意风格(ASPM)的快速风格化迁移算法。
本文使用的是单模型单风格(PSPM)的方式,即基于某一种图片风格以VGG网络为backbone,训练好相应风格的预训练模型,然后可以直接使用该训练好的模型对于图片进行快速的风格迁移。基本原理见下图:
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

更多原理介绍可参考:https://blog.csdn.net/qq_39297053/article/details/120453246

2.训练模型

可以在自己的输入样式图像上训练自定义模型。为此,需要一个内容图像数据集来进行训练:例如MS-COCO 2014 数据集。

启动训方式,按以下方式运行train.py脚本:

python train.py --dataset_path [PATH_TO_DATASET] --style_image_path [PATH_TO_STYLE_IMAGE]

具体示例如下:

python train.py \
  --dataset_path ms-coco \
  --style_image_path images/style/1.jpg \
  --batch_size 8 \
  --lambda_style 200

dataset_path:包含训练集和验证集的文件夹的路径。该文件夹的结构应如下所示:
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

train.py的参数说明:

style_image_path:目标样式图像的路径。
root_logdir:保存模型快照和 TensorBoard 日志的根目录。默认=“模型”。
weights_snapshot_path:模型权重快照的路径。在恢复以前的培训工作时使用。默认 = ‘’。
lambda_content:内容项在总损失中的权重。经验上好的范围:1 - 100。默认值 = 10。
lambda_style:样式项在总损失中的权重。经验上好的范围:10 - 100,000。默认值 = 100。
lambda_tv:生成图像的总变化在总损失中的权重。经验上好的范围:0 - 1,000。默认值 = 10。
learning_rate:优化过程中每一步的大小。默认值 = 1e-3。
epochs:要执行的训练时期数。默认值 = 2。
content_block_weights:每个卷积块在内容损失中的权重。这五个数字指的是VGG19模型的以下五个激活:conv1_1、conv2_1、conv3_1、conv4_1、conv5_1。默认值 = (0.0, 1.0, 0.0, 0.0, 0.0)。
style_block_weights:样式损失中每个卷积块的权重。这五个数字指的是VGG19模型的以下五个激活:conv1_1、conv2_1、conv3_1、conv4_1、conv5_1。默认 = (1/5, 1/5, 1/5, 1/5, 1/5)。
input_images_dim:模型输入图像的维度。默认值 = 256。
visualization_interval:间隔(训练迭代次数),之后程式化图像的中间结果将在 TensorBoard 中可视化。默认值 = 50。
snapshot_interval:间隔(训练迭代次数),之后模型的中间快照将被保存到磁盘。默认值 = 1000。
batch_size:用于每次训练迭代的小批量大小。默认值 = 4。
num_data_loader_workers:用于在后台从数据集中加载图像的工作人员数量。默认值 = 5。

3.模型使用方法

命令行方式:

python run.py [PATH_TO_PRETRAINED_MODEL] [PATH_TO_CONTENT_IMAGE] [PATH_TO_STYLIZED_OUTPUT]

编程方式:

import image_utils
from stylize import Stylizer

stylizer = Stylizer('models/style1.pt')
image = image_utils.load('images/content/1.jpg')
stylized = stylizer.stylize(image)
image_utils.save(stylized, f'images/stylized/style1/1.jpg')

4.风格迁移示例

【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)


【获取方式】

本文涉及到的完整全部程序文件:包括python源码、UI文件等(见下图),获取方式见文末:
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

注意:该代码采用Pycharm+Python3.8开发,运行界面的主程序为MainProgram.py,测试图片脚本可运行img_test.py。为确保程序顺利运行,请按照requirements.txt配置Python依赖包的版本。

关注下方名片【阿旭算法与机器学习】,回复【图片风格迁移】即可免费获取


结束语

以上过程是图片风格快速迁移的方法之一,还有更过的实现方法,小伙伴们可以尽情去探索哦~。
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

觉得不错的小伙伴,感谢点赞、关注加收藏哦!文章来源地址https://www.toymoban.com/news/detail-431744.html

到了这里,关于【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习】【风格迁移】Zero-shot Image-to-Image Translation

    论文:https://arxiv.org/abs/2302.03027 代码:https://github.com/pix2pixzero/pix2pix-zero/tree/main 大规模文本到图像生成模型展示了它们合成多样且高质量图像的显著能力。然而,直接将这些模型应用于编辑真实图像仍然存在两个挑战。首先, 用户很难提供完美的文本提示,准确描述输入图像

    2024年02月13日
    浏览(33)
  • PyTorch 深度学习实战 | 基于 ResNet 的花卉图片分类

    “工欲善其事,必先利其器”。如果直接使用 Python 完成模型的构建、导出等工作,势必会耗费相当多的时间,而且大部分工作都是深度学习中共同拥有的部分,即重复工作。所以本案例为了快速实现效果,就直接使用将这些共有部分整理成框架的 TensorFlow 和 Keras 来完成开发

    2023年04月09日
    浏览(25)
  • 【深度学习】【风格迁移】Visual Concept Translator,一般图像到图像的翻译与一次性图像引导,论文

    General Image-to-Image Translation with One-Shot Image Guidance 论文:https://arxiv.org/abs/2307.14352 代码:https://github.com/crystalneuro/visual-concept-translator 最近,大规模的文本到图像模型在大量文本-图像对上进行预训练,表现出了出色的图像合成性能。然而,图像可以提供比纯文本更直观的视觉概

    2024年02月13日
    浏览(29)
  • 深度学习pytorch实战五:基于ResNet34迁移学习的方法图像分类篇自建花数据集图像分类(5类)超详细代码

    1.数据集简介 2.模型相关知识 3.split_data.py——训练集与测试集划分 4.model.py——定义ResNet34网络模型 5.train.py——加载数据集并训练,训练集计算损失值loss,测试集计算accuracy,保存训练好的网络参数 6.predict.py——利用训练好的网络参数后,用自己找的图像进行分类测试 1.自建

    2024年02月09日
    浏览(32)
  • PyTorch深度学习实战(15)——迁移学习

    迁移学习( Transfer Learning )是一种利用从一项任务中获得的知识来解决另一项类似任务的技术。一个使用数百万张图像训练的模型,训练数据涵盖数千种对象类别,模型的卷积核将能够学习图像中的各种形状、颜色和纹理,通过重用这些卷积核可以学习到新图像的特征,并最终

    2024年02月09日
    浏览(30)
  • 【深度学习】风格迁移,转换,Stable Diffusion,FreeStyle : Free Lunch for Text-guided Style Transfer using Diffusion

    论文:https://arxiv.org/abs/2401.15636 代码:https://github.com/FreeStyleFreeLunch/FreeStyle 介绍 生成扩散模型的快速发展极大地推进了风格迁移领域的发展。然而,大多数当前基于扩散模型的风格转移方法通常涉及缓慢的迭代优化过程,例如模型微调和风格概念的文本反转。在本文中,我们

    2024年04月13日
    浏览(26)
  • 漫画风格迁移神器 AnimeGANv2:快速生成你的漫画形象

    趁着有空的时间,给大家介绍一些有趣的项目吧,比如这个漫画风格迁移神器 AnimeGANv2,可以快速生成自己的漫画形象 首先告诉大家怎么用,可能这是大家最感兴趣的啦 如果希望能够在线生成自己的漫画形象的话,首先可以简单使用hungging face https://huggingface.co/spaces/akhaliq/A

    2023年04月08日
    浏览(21)
  • Stable Diffusion使用ControlNet:IP-Adapter实现图片风格迁移

    IP-Adapter 全称是 Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models(文本到图像扩散模型的文本兼容图像提示适配器),是腾讯研究院出品的一个新的ControlNet模型,旨在使预训练的文本到图像扩散模型能够生成具有图像提示的图像。 IP-Adapter是一种有效的轻量级适配器,

    2024年04月28日
    浏览(39)
  • 基于CycleGAN的山水风格画迁移

    1.1 研究背景及意义 绘画是人类重要的一种艺术形式,其中中国的山水画源远流长,具有丰富的美学内涵,沉淀着中国人的情思。游山玩水的大陆文化意识,以山为德、水为性的内在修为意识,咫尺天涯的视错觉意识,一直成为山水画演绎的中轴主线。从山水画中,我们可以

    2024年02月10日
    浏览(22)
  • 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    摘要: 车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符、英文字母、阿拉伯数字及号牌颜色)进行处理的技术。车牌识别是现代智能交通系统中的重要组成部分之一,应用十分广泛。本文详细介绍了 车牌

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包