墨香戏韵,重塑经典

news2024/11/23 12:11:21

创意名称

墨香戏韵,重塑经典|基于AIGC对戏剧创新

创意概述

京剧作为中国传统戏曲之一,源远流长,承载了丰富的文化内涵和艺术特色。水墨画则是中国传统绘画的瑰宝,以其独特的墨色表达和极简的形式赢得了广泛的赞誉。我们的项目将这两种艺术形式巧妙地结合,通过技术手段将京剧人物与水墨画风格融合在一起,创造出令人惊艳的视觉效果,并以视频表演的形式展现出来,呈现独特的视觉和艺术效果,通过创新的技术手段和文化表达方式,弘扬传统文化、提高对京剧和水墨的认识,并增强大家对传统文化的自信心。

创意目标

  1. 利用现代技术手段将京剧人物和水墨画风格迁移应用于视频,创造出独特而美观的艺术作品。
  2. 弘扬传统文化,提高大众对京剧和水墨画的认识和兴趣。
  3. 创造与传统京剧形式不同的表演方式,吸引年轻观众,增添剧场魅力,促进传统艺术的活力。

创意源头

  1. 我之所以会选择这个主题来完成项目,这个想法更多的来源我日常的生活所见所感,戏剧与水墨是在爷爷的熏陶下了解的我爷爷可是个老戏迷平时也喜爱画画水墨画练练毛笔字,从小到大让我对戏剧与水墨画有着很大的兴趣,对戏剧与水墨画的文化特色有着深刻的认知和见解,所以我对水墨画和戏剧有着钟情的喜欢。在前不久在校园文化大厅闲逛的时候突然发现多了一个大四艺术学院毕业作品展览,我和朋友便走进去看看学长学姐们的作品,不看不知道一看直接被震撼到,那几十米长的墙上挂满了成千幅画,另我最震惊的便是那几十幅两米长的水墨山水画,我内心有说不出的震撼,原来不止有现代风格的画种令人惊艳,那一幅幅水墨山水画便是经典,但很多人看了只是浅浅的瞄了一眼便说单一,还有通过问卷调查发现很多人都觉得戏剧不好听,听不下去,这使我觉得传统文化随着时代的转变逐渐被没落,所以我们团队致力于使用AIGC技术让传统文化活起来。

大家可以看一下我做的调查问卷结果(这也正说明了戏曲创新的必要性): 

 

 

 

 

创意亮点

  1. 京剧人物的风格迁移:我将利用风格迁移技术,将传统京剧人物的形象转化为水墨画风格,突出其线条和色彩的简洁美。
  2. 人物与视频的融合:我们将人物与实时视频融合,通过精确的大模型处理,使人物与背景和场景完美融合,创造出虚实相间的视觉效果。
  3. 唱戏艺术的创新表达:这种融合形式将使京剧人物在视频中能够更自由地展现不同的动作和表情,进一步增强唱戏的艺术表达力。

创作意义

  1. 这个创意的意义在于,它将传统文化与现代技术相结合,展现出传统与现代的完美融合。我们以京剧为基础,通过风格迁移和视频融合的创新手段,让这一古老艺术形式焕发出新的生机和活力。
  2. 我们希望通过这个创意项目,能够让更多的人了解和欣赏京剧这一传统艺术,并且吸引更多年轻观众。我们相信,跨界融合的艺术形式能够激发人们的好奇心和创造力,推动文化的创新和发展。
  3. 因为当代社会,随着现代化进程的推进,传统文化面临着被边缘化和遗忘的挑战,这是必然的趋势,很多年轻人对传统艺术形式的了解和兴趣不足,因为我们不止能一味的传承,所以我想为传统文化的弘扬与传承贡献自己的力量,需要有新的方式来吸引年轻人,让他们重新认识和喜爱传统文化。正如现如今众多人所做的将唢呐和DJ融合,将古筝和现代音乐融合,将戏剧结合现代流行音乐却又不失去其韵味,所以结合传统与现代的创新尝试:将京剧人物与水墨画风格相结合,是一种有创意的尝试,可以为传统文化注入新的活力,吸引更多年轻人的关注,将京剧人物的形象和水墨画的艺术元素融合在一起,创造出新的视觉体验。

创意技术流程图

技术具体实现

第一步图像风格迁移

In [ ]

#安装paddlehub及其模型
!pip install paddlehub
# 下载模型
%%capture
!hub install stylepro_artistic==1.0.1

In [4]

import paddlehub as hub
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

# 设置中文字体和编码
#plt.rcParams['font.sans-serif']=['Microsoft YaHei']


#输入源图片与风格图片
picture = '/home/aistudio/work/image_source.jpg'
style_image = '/home/aistudio/work/style.png'

#选择

stylepro_artistic = hub.Module(name="stylepro_artistic")


#使用Pillow库的convert方法将图像转换为RGB模式,以确保通道数始终为3,不然会报错因为输入图像和风格图像的通道数不匹配引起的。
#根据提示的错误信息,输入图像的通道数为4,而风格图像的通道数为3。风格迁移模型要求输入的图像通道数与风格图像的通道数一致。
content_image = Image.open(picture).convert('RGB')
style_image = Image.open(style_image).convert('RGB')

#因为风格迁移模型要求传递的是图像的数组。
# 将图像转换为NumPy数组
content_image = np.array(content_image)
style_image = np.array(style_image)

# 进行风格迁移
images = [
    {
        'content': content_image,  # 内容图像
        'styles': [style_image],   # 风格图像
        'weights': [0.3]           # 风格图像的权重
    }
]

result = stylepro_artistic.style_transfer(
    images=images,
    visualization=True
)

#result = stylepro_artistic.style_transfer(images=[{'content': content_image, 'styles': [style_image]}], visualization=True)
!mv ./transfer_result/* ./transfer_result.jpg
!rm -rf ./transfer_result
!mv ./transfer_result.jpg ./output/transfer_result.jpg

fig, axes = plt.subplots(1, 3, figsize=(12, 4))

# 图像文件路径
image_paths = [
    '/home/aistudio/work/image_source.jpg',
    '/home/aistudio/work/style.png',
    './output/transfer_result.jpg'
]

# 标题 (该处我尝试了给中文标题但是显示不出来,大家感兴趣可以自己研究研究#plt.rcParams['font.sans-serif']=['Microsoft YaHei'])
titles = [
    'Original Image',
    'Style Reference Image',
    'Output Result'
]

for i, ax in enumerate(axes):
    ax.set_title(titles[i])
    ax.axis('off')
    ax.imshow(plt.imread(image_paths[i]))

print("图片保存路径为/home/aistudio/output/transfer_result.jpg")
# plt.tight_layout()
# plt.show()
# plt.savefig('output/output.jpg')
[2024-06-09 19:23:07,856] [ WARNING] - The _initialize method in HubModule will soon be deprecated, you can use the __init__() to handle the initialization of the object
Notice: an image has been proccessed and saved in path "/home/aistudio/transfer_result/ndarray_1717932199.3267796.jpg".
图片保存路径为/home/aistudio/output/transfer_result.jpg

<Figure size 1200x400 with 3 Axes>

风格迁移最终效果

 

 

 

第二步paddlegan实现京剧再现(两种方法)

方法一 First Order Motion model(结合面部和嘴型)

First Order Motion model的任务是image animation,给定一张源图片,给定一个驱动视频,生成一段视频,其中主角是源图片,动作是驱动视频中的动作,源图像通常包含一个主体,驱动视频包含一系列动作。

In [ ]

# 从github上克隆PaddleGAN代码
# 从github上克隆PaddleGAN代码(如下载速度过慢,可用gitee源)
!git clone https://gitee.com/paddlepaddle/PaddleGAN
#!git clone https://github.com/PaddlePaddle/PaddleGAN

# 安装所需安装包
%cd PaddleGAN/
!pip install -r requirements.txt
!pip install imageio-ffmpeg
!pip install ppgan

执行命令

  1. driving_video: 驱动视频,视频中人物的表情动作作为待迁移的对象
  2. source_image: 原始图片,视频中人物的表情动作将迁移到该原始图片中的人物上\n
  3. relative: 指示程序中使用视频和图片中人物关键点的相对坐标还是绝对坐标,建议使用相对坐标,若使用绝对坐标,会导致迁移后人物扭曲变形
  4. adapt_scale: 根据关键点凸包自适应运动尺度

In [ ]

# 生成的结果保存的路径如下 ---> /home/aistudio/PaddleGAN/applications/output/result.mp4
%cd /home/aistudio/PaddleGAN/applications/
!mkdir output
!export PYTHONPATH=$PYTHONPATH:/home/aistudio/PaddleGAN && python -u tools/first-order-demo.py  --driving_video ~/work/京剧.MP4  --source_image ~/work/京剧.png --relative --adapt_scale
print("生成的视频路径/home/aistudio/PaddleGAN/applications/output/result.mp4")

In [ ]

#使用moviepy为生成的视频加上音乐
!pip install moviepy

In [ ]

#为生成的视频加上音乐 保存的路径为 ---->  /home/aistudio/PaddleGAN/applications/output/京剧result.mp4
from moviepy.editor import *

# videoclip_1放入想要加入的音频视频文件后续会提取音频。
videoclip_1 = VideoFileClip("/home/aistudio/work/京剧.MP4")
# videoclip_2 放入上述生成的无声视频。
videoclip_2 = VideoFileClip("./output/result.mp4")

audio_1 = videoclip_1.audio

videoclip_3 = videoclip_2.set_audio(audio_1)

videoclip_3.write_videofile("./output/京剧result.mp4", audio_codec="aac")


print("添加音频后的视频路径为/home/aistudio/PaddleGAN/applications/output/京剧result.mp4")

方法二 人物与视频融合(嘴唇动作迁移融合)

Wav2lip模型原理

  • PaddleGAN的唇形迁移能力--Wav2lip
  • Wav2Lip是一种用于语音合成和嘴唇同步的模型。它通过将语音和嘴部动作之间的联系进行建模,实现从声音到人脸图像的转换。

Wav2Lip的实现过程可以分为以下几个步骤:

  1. 声音特征提取:首先,Wav2Lip使用语音识别模型(如DeepSpeech)从输入的声音中提取出声音特征。这些特征描述声音的频谱和时域信息。

  2. 嘴部动作提取:接下来,Wav2Lip使用面部关键点检测器(如FaceMesh)从一段视频中提取嘴部动作的关键点位置。这些关键点描述了嘴唇的形状和运动。

  3. 嘴部动作对齐:为了将声音和嘴部动作进行关联,Wav2Lip使用一种嘴部动作对齐算法,在时间上对齐声音特征和嘴部动作。这样就能够确保声音和嘴部动作在时间上是同步的。

  4. 人脸图像生成:最后,Wav2Lip使用对抗生成网络(GAN)来生成与声音相匹配的人脸图像。GAN包括生成器和鉴别器两个部分。生成器接受声音特征和嘴部动作,并生成与之相匹配的人脸图像。鉴别器则尝试判断生成的人脸图像是否真实。通过生成器和鉴别器之间的博弈,Wav2Lip可以生成逼真的人脸图像。

总的来说,Wav2Lip利用语音和嘴部动作之间的联系,将声音特征与嘴部动作对齐,并使用生成对抗网络生成与声音相匹配的人脸图像。这种模型在实现语音合成和嘴唇同步方面具有较好的效果。

In [ ]

#face: 原始视频,视频中的人物的唇形将根据音频进行唇形合成--通俗来说,是你想让那个照片动起来。
#audio:驱动唇形合成的音频,视频中的人物将根据此音频进行唇形合成--通俗来说,想让这个人怎么说。

%cd /home/aistudio/PaddleGAN/applications/
!python tools/wav2lip.py \
    --face /home/aistudio/43.jpeg \
    --audio /home/aistudio/京剧.m4a\
    --outfile /home/aistudio/output/pp_put.mp4 \
    --face_enhancement

print("保存的路径为/home/aistudio/output/pp_put.mp4")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

课设--学生成绩管理系统(一)

欢迎来到 Papicatch的博客 文章目录 &#x1f349;技术核心 &#x1f349;引言 &#x1f348;标识 &#x1f348;背景 &#x1f348;项目概述 &#x1f348; 文档概述 &#x1f349;可行性分析的前提 &#x1f348;项目的要求 &#x1f348;项目的目标 &#x1f348;…

自然抽样和平顶抽样

自然抽样和平顶抽样是两种信号处理和采样技术&#xff0c;它们在音频信号处理、信号重建以及数字信号处理中有着不同的应用。 1. 自然抽样&#xff08;也称为理想抽样或无失真抽样&#xff09;&#xff1a;样值脉冲的幅度随原始信号m(t)的幅度而变&#xff1b; 自然抽样过程的…

VMware Workstation 安装 ESXI5.5 教程

一、创建虚拟机 VMware Workstation 16 创建虚拟机 二、挂载操作系统镜像 点击【编辑虚拟机设置】&#xff0c;然后选择【CD/DVD(IDE)】,点击【使用ISO映像文件】&#xff0c;点击【浏览】&#xff0c;选择需安装的操作系统镜像文件&#xff0c;点击【确定】 三、操作系统…

electron模板【lectron-react-boilerplate】多窗口配置【HtmlWebpackPlugin】多页面配置

如果您正在使用electron-react-boilerplate进行快速的Electron应用程序开发,您可能会遇到想要在桌面应用程序中拥有多个原生窗口的情况。 MacOS窗口图像由OpenClipart-Vectors提供,来源Pixabay。 开始之前需要提及的事情! Electron有一个主进程和渲染进程的模式。可以有多个…

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦&#xff0c;使得它们可以独立扩展。 在桥接模式中&#xff0c;通常包含以下四个…

1)Java项目笔记搭建系统梳理相关知识

目录 前言项目结构Java部分Spring整合部分SpringBoot整合部分 模块说明规划 小结javarabbitmqmybatisspring最后推荐几本工具书 前言 工作有年头了&#xff0c;学到了很多技术&#xff0c;收获了很多。但是对与工作相关的专业技能知识的掌握杂而乱&#xff0c;不够全面系统。因…

博客没人看啊?我分析是这些原因

1.封面 主题封面还是个性化封面&#xff1f;主题封面对系列化很友好&#xff0c;如下图左&#xff1a; 在目录中什么主题一目了然&#xff0c;个性化封面在目录中就略显杂乱。但是通过观察CSDN主页发现热榜文章清一色个性化封面。如果使文字封面就会显得很无聊。 所以从提高浏…

数据库开发——并发控制(第十一章)

文章目录 前言并发执行例题一、封锁二、封锁协议三、可串行调度四、总结 学习目标&#xff1a;重点为并发控制的基本概念及几个基本协议 前言 数据库管理系统必须提供并发控制机制&#xff0c;保证事务的隔离性和一致性 并发执行例题 一、封锁 排他锁称为写锁&#xff0c;共…

实现一个渐进优化的 Linux cp 命令

1&#xff0c;第1版 copy 先写个轮廓 selfcp.c &#xff1a; #include <stdio.h>int main() {FILE *source, *destination;char ch;source fopen("H222.txt", "r");if (source NULL) {printf("Error opening source file!\n");retur…

浅谈网络通信(3)

文章目录 一、TCP[!]1.1、TCP协议报文格式1.2、TCP十大机制1.2.1、确认应答机制1.2.2、超时重传机制1.2.3、连接管理机制1.2.3.1、三次握手[其流程至关重要&#xff0c;面试必考]1.2.3.2.1、那为啥要建立连接&#xff1f;&#xff1f;建立连接的意义是啥&#xff1f;&#xff1…

c++编程(17)——deque的模拟实现(1)迭代器篇

欢迎来到博主的专栏——c编程 博主ID&#xff1a;代码小豪 博主模拟STL中的容器时&#xff0c;参考的是SGI版本的STL&#xff0c;如果你对STL的源码感兴趣&#xff0c;请私聊博主。 文章目录 deque的底层原理deque的迭代器deque迭代器的操作迭代器的随机访问操作 deque的底层…

类别不平衡

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、介绍1、过采样2、欠采样 二、过采样1、SMOTE&#xff08;常用&#xff09;1、算法流程2、算法实现3、参数介绍 2、ADASYN&#xff08;不常用&#xff09;1、算法流程…

车票信息的请求与显示

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 1 发送与分析车票信息的查询请求 得到了获取车票信息的网络请求地址&#xff0c;然后又分析出请求地址的必要参数以及车站名称转换的文件&#xff…

程序猿大战Python——函数——嵌套调用与变量作用域

嵌套调用及执行流程 目标&#xff1a;了解函数的嵌套调用。 函数的嵌套调用指的是&#xff1a;在一个函数中&#xff0c;调用了另一个函数。 嵌套调用语法&#xff1a; def 函数1():代码... ​ def 函数2():代码# 调用函数1函数1()... 说明&#xff1a; 在函数2中&#xff0c…

8个宝藏APP,个个都牛逼哈拉!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 目前win7已经逐渐淡出人们的视野&#xff0c;大部分人都开始使用win10&#xff0c;在日常工作和使用中&#xff0c;创客们下载神奇的软件能大幅提…

怎样快速清理电脑里的所有软件 怎么删除干净电脑软件

苹果电脑内的软件来源主要有两个&#xff0c;一是系统预装&#xff0c;二是用户自行下载。但并不是所有应用程序都是高频使用状态&#xff0c;甚至好多是从未打开过的“屏幕装饰”。小编今日独家攻略&#xff0c;内存告急如何快速清理电脑里的所有软件&#xff0c;怎么删除干净…

线程池ThreadPoolExecutor使用指南

线程池ThreadPoolExecutor使用指南 &#x1f9d0;使用线程池的好处是什么&#xff1f; 统一管理&#xff0c;减少资源获取创建的开销&#xff0c;提高利用率。 &#x1f527;线程池的参数 ​ThreadPoolExecutor​ 3 个最重要的参数&#xff1a; ​corePoolSize​ : 任务队列…

问:IP写作如何商业化?

这个问题也是很多朋友&#xff0c;或者新手小白问的最多的问题&#xff0c; 毕竟我们做副业都是为了挣钱嘛&#xff0c; 那么&#xff0c;回到问题&#xff0c;IP写作如何商业化&#xff1f; 这个问题其实对于我现在要日更的目标来说为时尚早&#xff0c;不过也可以先了解一下。…

Javaweb登录校验

登录校验 JWT令牌的相关操作需要添加相关依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>一、摘要 场景&#xff1a;当我们想要访问一个网站时&am…

如何用AI提高产品经理的工作效率

最近我跟几个产品经理聊天&#xff0c;发现有些人居然还没有使用过ChatGPT、MidJourney、NotionAI 等AI工具。 产品经理有个重要的素质是好奇心&#xff0c;好奇心能够帮助产品经理发现新机会、了解用户需求、学习新知识和探索竞争对手&#xff0c;从而更好地完成产品开发和管…