AI作画升级,OpenVINO™ 和英特尔独立显卡助你快速生成视频

在《ai作画,openvino助你在英特尔gpu上随心创作》中,我们介绍了openvino notebook运行环境搭建,并利用openvino优化和加速stable diffusion模型的推理,在英特尔独立显卡上能够根据我们输入的指令(prompt),快速生成我们喜爱的ai画作。
今天,我们对这一应用场景再次升级,除了能够作画,利用openvino对stable diffusion v2模型的支持及优化,我们还能够在在英特尔独立显卡上快速生成带有无限缩放效果的视频,使得ai作画的效果更具动感,其效果也更加震撼。话不多说,接下来还是让我们来划划重点,看看具体是怎么实现的吧。
英特尔锐炫 显卡基于xe-hpg 微架构,xe hpg gpu 中的每个 xe 内核都配置了一组 256 位矢量引擎,旨在加速传统图形和计算工作负载,以及新的 1024 位矩阵引擎或 xe 矩阵扩展,旨在加速人工智能工作负载。
本次无限缩放stable diffusion v2视频生成的全部代码请戳这里https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/236-stable-diffusion-v2/236-stable-diffusion-v2-infinite-zoom.ipynb 。openvino notebooks运行环境的安装请您参考我们的上一篇《ai作画竟如此简单!蝰蛇峡谷openvino开发者实战》。
此次我们应用的深度学习模型是stable diffusion v2模型,相比它的上一代v1模型,它具有一系列新特性,包括配备了一个新的鲁棒编码器openclip,由laion创建,并得到了stability ai的帮助,与v1版本相比,此版本显著增强了生成的照片。另外,v2模型在之前的模型基础上增加了一个更新的修复模块(inpainting)。这种文本引导的修复使切换图像中的部分比以前更容易。也正是基于这一新特性,我们可以利用stabilityai/stable-diffusion-2-inpainting模型,生成带有无限缩放效果的视频。
在图像编辑中,inpainting是一个恢复图片缺失部分的过程。最常用于重建旧的退化图像,从照片中去除裂纹、划痕、灰尘斑点或红眼。但凭借ai和stable diffusion模型的力量,inpainting可以实现更多的功能。例如,它可以用来在现有图片的任何部分渲染全新的东西,而不仅仅是恢复图像中缺失的部分。只要发挥你的想象力,你可以做出更多炫酷效果的作品来。
下面的工作流程图解释了用于inpainting的stable diffusion inpainting流水线是如何工作的:
在此次的代码示例中,我们将完成以下几个步骤:
将pytorch 模型转换为onnx格式。
利用model optimizer 工具,将onnx 模型转换为openvino ir 格式。
运行stable diffusion v2 inpainting 流水线,生成无限缩放效果视频。
现在,让我们来重点来看看如何配置推理流水线的代码。
这里主要分以下三个步骤:
在推理的硬件设备上加载模型load models on device
配置分词器和调度器configure tokenizer and scheduler
创建ovstablediffusioninpaintingpipeline 类的示例
我们在配备英特尔锐炫独立显卡a770m的蝰蛇峡谷上加载模型并运行推理,因此推理设备我们选择“gpu”。默认情况下,它使用“ auto”,并会自动切换至检测到的 gpu。代码如下:
1. from openvino.runtime import core
2. 
3. core = core()
4. 
5. tokenizer = cliptokenizer.from_pretrained('openai/clip-vit-large-patch14')
6. 
7. text_enc_inpaint = core.compile_model(text_encoder_ov_path_inpaint, gpu)
8. unet_model_inpaint = core.compile_model(unet_ov_path_inpaint,  gpu )
9. vae_decoder_inpaint = core.compile_model(vae_decoder_ov_path_inpaint, gpu)
10. vae_encoder_inpaint = core.compile_model(vae_encoder_ov_path_inpaint, gpu)
11. 
12. ov_pipe_inpaint = ovstablediffusioninpaintingpipeline(
13.     tokenizer=tokenizer,
14.     text_encoder=text_enc_inpaint,
15.     unet=unet_model_inpaint,
16.     vae_encoder=vae_encoder_inpaint,
17.     vae_decoder=vae_decoder_inpaint,
18.     scheduler=scheduler_inpaint,
19. )
接下来,我们输入文本提示,运行视频生成的代码吧。
1. import ipywidgets as widgets
2. 
3. zoom_prompt = widgets.textarea(value=valley in the alps at sunset, epic vista, beautiful landscape, 4k, 8k, description='positive prompt', layout=widgets.layout(width=auto))
4. zoom_negative_prompt = widgets.textarea(value=lurry, bad art, blurred, text, watermark, description='negative prompt', layout=widgets.layout(width=auto))
5. zoom_num_steps = widgets.intslider(min=1, max=50, value=20, description='steps:')
6. zoom_num_frames = widgets.intslider(min=1, max=50, value=3, description='frames:')
7. mask_width = widgets.intslider(min=32, max=256, value=128, description='edge size:')
8. zoom_seed = widgets.intslider(min=0, max=10000000, description='seed: ', value=9999)
9. zoom_in = widgets.checkbox(
10.     value=false,
11.     description='zoom in',
12.     disabled=false
13. )
14. 
15. widgets.vbox([zoom_prompt, zoom_negative_prompt, zoom_seed, zoom_num_steps, zoom_num_frames, mask_width, zoom_in])
在这一步中,我把步骤设置为 20。理想情况下,我将使用 50,以提供最好看的结果。另外,这里还可以自行设置生成的图画数量,所有生成的图画将组合起来构成最后的无限缩放效果视频。当然,我们同样还生成了 gif 文件,以便大家多种形式可视化展示生成结果。
最终结果。
结  论
当下,如果您想了解“stable diffusion”的工作原理,以及英特尔硬件的加速方式,openvino notebooks 无疑是首选。如果您有任何疑问或想要展示您的一些最佳成果,请在这里或通过我们的 github 讨论板发表评论! 祝您编码快乐。


通用汽车电动车型将共享Ultium动力系统,可允许通用汽车简化生产
恭喜科雅无线充CBB电容被苹果供应链选用
IQ正交调制及星座图
理想智造ONE已完成两轮工程试制 即将亮相等待检验
ChatGPT移动端收入再创新高,接近饱和?
AI作画升级,OpenVINO™ 和英特尔独立显卡助你快速生成视频
智慧系统解决方案商盛视科技拟IPO:2018年毛利率高达51.35%
Ryzen 7 2700X处理器曝光,7核14线程?
四个不同点 巧辨苹果笔记本行货与水货
全球首个5G电话正式拨出 5G手机离我们还远吗?5G时代你准备好了吗?
你使用过区块链电子发票吗
小蚁H8携手JVC-N118体验8K家庭影院蓝光播放机硬盘播放器全景声监听系统
LED亮度自动调节控制/LED自动调光/LED光强自动调节
鲁大师2023年Q1手机报告:OPPO领衔性能巅峰,魅族回归斩获流畅桂冠
工信部:深入推进AI的融合应用,培育壮大智能经济
引领未来智慧城市走向成功的7件事
华为P10:2017的豪赌,或引领世界!
立讯精密连续5年入选中国企业500强榜单
大规模光纤光栅传感器阵列飞秒激光全自动制备技术
Micro LED显示技术成为趋势,各大厂商强攻,望抢占市场先机