大家好,我是微学AI,今天给大家带来深度学习实战22(进阶版)-AI漫画视频生成模型。
回顾之前给大家介绍了《深度学习实战8-生活照片转化漫画照片应用》,今天我借助这篇文章的原理做一个AI漫画视频生成的功能,让我们进入AI生成视频的时代吧。
AI生成视频是利用人工智能技术生成视频的过程,通常,这种技术基于图像识别、语音合成等算法,从各种不同来源的数据中获取信息,然后自动生成视频。 AI生成视频技术的优势是可以快速生成高质量视频,同时还可以自动完成各种冗长的编辑工作,提高工作效率。此外,还可以实现一些人类不可能完成的任务,例如在极端天气、危险环境下进行拍摄。
目前,AI生成视频技术主要应用于视频广告、教育教学、虚拟演示,短视频等领域。虽然这种技术正在不断发展,但其缺点是不具有人类的创造性和情感体验。因此,目前的技术仍无法替代人类在视频制作中的重要作用。
一、AI生成漫画视频
本项目里面采用原有视频转化为漫画视频,首先先将视频分割成一帧一帧的图片,然后将图片转化为漫画形式,在进行合成视频,这里运用imageio技术。
imageio是Python中用于处理图像和视频的第三方库,其中的get_writer函数用于创建图像或视频的写入器(writer)对象。 get_writer函数接收一个参数,即输出文件的路径或文件对象,如下:
import imageio # 输出文件的路径
writer = imageio.get_writer('output.mp4') # 输出文件的文件对象
with open('output.mp4', mode='wb') as file:
writer = imageio.get_writer(file, format='mp4')
在调用get_writer函数后,我们可以使用writer对象将图像或视频写入输出文件。
import numpy as np
import imageio
# 创建一个数组作为图像数据
image_data = np.zeros((256, 256, 3), dtype=np.uint8)
# 获取写入器对象
writer = imageio.get_writer('output.mp4') # 写入帧
for i in range(30):
writer.append_data(image_data)
# 关闭写入器对象
writer.close()
上面我们创建了一个256x256大小的黑色图像,并使用get_writer函数创建了名为output.mp4的视频写入器对象。接着,在一个循环中,我们将同样的图像数据重复写入帧中,并最终关闭写入器对象。 需要注意的是,imageio支持许多不同的视频和图像格式和编解码器。
二、AI生成漫画视频代码案例
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import imageio
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from tqdm import tqdm
import numpy as np
import cv2
from PIL import Image
import os
def video2cartoon(filepath):
outpath = 'output2.mp4'
reader = imageio.get_reader(filepath)
fps = reader.get_meta_data()['fps']
writer = imageio.get_writer(outpath, mode='I', fps=fps, codec='libx264')
model_name = 'damo/cv_unet_person-image-cartoon_compound-models'
img_cartoon = pipeline('image-portrait-stylization', model=model_name,device='cpu')
for i, img in tqdm(enumerate(reader)):
try:
cv2.imwrite(f'result{i}.png',img)
img = Image.open(f'result{i}.png')
new_size = (1050,590)
img = img.resize(new_size) # 保存修改后的图片
result = img_cartoon(img)
res = result[OutputKeys.OUTPUT_IMG]
writer.append_data(res[..., ::-1].astype(np.uint8))
os.remove(f'result{i}.png')
print(i)
except:
pass
writer.close()
print('finished!')
return outpath
video2cartoon('video.mp4')
输出结果:
大家也可以试一下,生成自己的漫画视频哦。
往期作品:
深度学习实战项目
1.深度学习实战1-(keras框架)企业数据分析与预测
2.深度学习实战2-(keras框架)企业信用评级与预测
3.深度学习实战3-文本卷积神经网络(TextCNN)新闻文本分类
4.深度学习实战4-卷积神经网络(DenseNet)数学图形识别+题目模式识别
5.深度学习实战5-卷积神经网络(CNN)中文OCR识别项目
6.深度学习实战6-卷积神经网络(Pytorch)+聚类分析实现空气质量与天气预测
7.深度学习实战7-电商产品评论的情感分析
8.深度学习实战8-生活照片转化漫画照片应用
9.深度学习实战9-文本生成图像-本地电脑实现text2img
10.深度学习实战10-数学公式识别-将图片转换为Latex(img2Latex)
11.深度学习实战11(进阶版)-BERT模型的微调应用-文本分类案例
12.深度学习实战12(进阶版)-利用Dewarp实现文本扭曲矫正
13.深度学习实战13(进阶版)-文本纠错功能,经常写错别字的小伙伴的福星
14.深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了
15.深度学习实战15(进阶版)-让机器进行阅读理解+你可以变成出题者提问
16.深度学习实战16(进阶版)-虚拟截图识别文字-可以做纸质合同和表格识别
17.深度学习实战17(进阶版)-智能辅助编辑平台系统的搭建与开发案例
18.深度学习实战18(进阶版)-NLP的15项任务大融合系统,可实现市面上你能想到的NLP任务
19.深度学习实战19(进阶版)-SpeakGPT的本地实现部署测试,基于ChatGPT在自己的平台实现SpeakGPT功能
20.深度学习实战20(进阶版)-文件智能搜索系统,可以根据文件内容进行关键词搜索,快速找到文件
21.深度学习实战21(进阶版)-AI实体百科搜索,任何名词都可搜索到的百科全书