1、57影视制作音画制作Post ProductionControlNet插件在AI生成图像中的控制应用分析文/河北工程大学 温逸娴摘要:运用AI绘图工具Stable Diffusion生成图像的过程中,虽然可以用提示词来描述画面,但生成图像的不确定性很大。为了生成满意的图像,可以使用 Stable Diffusion 的插件 ControlNet 对图像生成进行控制。本文分析了用 ControlNet 对图像生成过程的控制方法,并运用该方法在具体案例中实现了在生成图像过程中对画面构图的控制。关键词:AIGC;AI 绘画;Stable Diffusion;ControlNet;人工智能AI 绘图已
2、成为行业关注焦点。它的神奇之处在于,可以通过语言描绘生成一幅杰作。不需要学习绘画,不需要操作各种复杂的作图软件,只需要运用想象力,用语言描述出画面的内容,AI 就能在几秒钟之内把画面呈现出来。传统的计算机绘画技术局限于机器执行预先设定的规则和算法,因此无法创造出高质量的图像。随着深度学习和生成对抗网络技术的应用,AI 绘画发展出了一种全新的生成方式,即通过对数据集的学习,机器能够自主生成新的图像1。AI 绘画是一种不需要通过人类主动参与创作而通过计算机视觉即可生成视觉图像的绘画工具,凭借着庞大的数据库和训练样本,就可以根据与图像相关联的关键词,通过其绘画算法输出一张不存在于训练样本数据库中的崭
3、新作品2。现在流行的 AI 绘画工具有 Midjourney、Stable Diffusion、DALLE2、Firefly、文心一格等。这些 AI 绘画工具各有特点。Stable Diffusion 对于生成当代艺术图像具有较强的理解力,善于刻画图像的细节。DALL E2由其前身 DALL E 发展而来,其训练量无比庞大,更适合用于企业所需的图像生成场景,视觉效果也更接近于真实的照片。而 Midjourney 则使用 Discord 机器人来收发对服务器的请求,所有的环节基本上都发生在 Discord上,并以其独特的艺术风格而闻名3。许多艺术家在寻找灵感时,都会使用 Midjourney 生
4、成图像。2022 年 8 月,在美国科罗拉多州举办的新兴数字艺术家竞赛中的获奖作品太空歌剧院就由 Midjourney 生成4。58影视制作音画制作Post Production1.Stable Diffusion的特点与应用Stable Diffusion是Stability AI研发的一款AI绘画工具,它与 Midjourney、DALLE2、Firefly 等工具最大的区别是免费开源。2022 年 5 月至 8 月期间,其开发企业 Stability AI 进行了内部测试,并在项目开源化后同时公开了代码和文档5。所有代码均可在 GitHub 上下载。Stable Diffusion 是开
5、源的,它除了拥有文生图和图生图等这些主要功能之外,还拥有非常丰富的模型和拓展插件资源。模型包括:人物、动物、风景和建筑等,插件有 webui 汉化插件、反推提示词的 tagger插件、强大图形引导插件 ControlNet、视频转换的mov2mov 插件等等。Stable Diffusion 工作原理是通过连续添加高斯噪声来破坏训练数据,然后对这个噪声过程进行反转,以此来恢复数据。经过训练后,模型能够从随机输入中合成新的数据,实现算法创新4。Stable Diffusion 可以用自然语言对图像进行描述,生成与该描述相匹配的图像,但是生成的图像不确定性很大。用它绘画有时就像是在抽卡,生成的图像
6、总在情理之中,又落在意料之外。随着 AI 绘画用途越来越广,对画面精准控制的需求越来越强烈。2023 年 2 月份一款 Stable Diffusion的插件 ControlNet 出现了,它能精确控制引导图像生成结果。2.ControlNet插件介绍与使用方法ControlNet是一个基于 Stable Diffusion 功能的插件,它能利用输入图片里的边缘特征、深度特征或人体姿势的骨骼特征等,精确地引导 Stable Diffusion 生成图像。它为图像生成功能引入了新的控制方式,可以更稳定地控制画面。这很好地解决了文生图无法控制生成图片的细节这个难题。ControlNet 能固定构图
7、、定义姿势、描绘轮廓,用一张线稿就能生成一张精致的图像,功能非常强大。实现这些功能的前提是额外给它一些明确的信息指引一张包含了某种特定信息的图片。比如一张芭蕾舞蹈的照片,如图 1 所示。想用照片中演员的姿势生成新的图像,就可以把这张照片放入 ControlNet 插件中用预处理器 openpose 进行预处理,处理完成后预览,可以看到 ControlNet 略去了几乎所有的细节,只保留了人物的骨骼形态。如图 2 所示。通过人物骨骼形态图,就可以引导 Stable Diffusion 在生成图像时按照ControlNet 的骨骼图固定人物的动作,给 ControlNet适当的参数,再配合提示词,
8、就可以生成同一动作的不同人物形象。如图 3、图 4 所示。ControlNet1.1 版本中有 30 个预处理器和 14 个官方模型。预处理器的种类非常丰富,每种预处理器都能有效地提取图片的某方面特征,再用于控制生成图像的过程。预处理器 Depth 可以把图片处理成深度 图1 原图 图2 骨骼图 图3 生成图像1 图4 生成图像259影视制作音画制作Post Production图,它对应的模型具有很强的鲁棒性,可以处理来自渲染引擎的真实深度图。预处理器 Normal 可以从提供的图片中估算出法线贴图。预处理器 Lineart 可以从图像中生成或精细或粗糙的线条,对应的模型可以接收手工绘制的线
9、条图。预处理器 Canny 也许是最常用的一种,它能根据设定的阈值精确地提取图像中的 线条。3.ControlNet使用方法和注意事项(1)先用预处理器对放入其中的图片进行加工,线条形式的处理会加工成黑底白线的线稿图。如果已经用其他工具把图片处理成了黑底白线的图片,就要在预处理器处选择无,以免再次对图片进行加工。(2)处理好图片后,再选择合适的模型,一般选择与预处理器对应的模型。每种模型都有自己的风格 特点。(3)ControlNet 的权重(control weight)很重要,权重过低,对画面的影响较弱,达不到控制画面的效果。权重过高,会导致其他参数的影响效果变弱,比如提示词的效果不明显。
10、(4)开始控制步数和结束控制步数的掌控非常重要。Stable Diffusion 作画是一个由模糊变清晰的过程,每一步都会影响到整个画面。所以决定在哪一步开始控制、哪一步结束控制就变得十分重要。下面把图 5 作为背景的构图控制放入 ControlNet中,预 处 理 器 选 择 Lineart_coarse。模 型 选 择 lineart。为比较开始控制步数和结束控制步数对生成图像的影响,把开始控制步数和结束控制步数分别设置为 0.0,0.2,0.4,0.6,0.8,1.0,对比ControlNet 对生成图像控制情况。对比结果如图 6 所示。从图 6 中可以发现,开始控制步数早,即使结束控制
11、也很快,都可以达到基本的控制效果,比如从 0 开始控制,0.2 结束控制;但是如果开始控制步数比较晚,如0.6,那即便最晚 1.0 再结束控制也无济于事。所以早介入控制,早退出控制可以大概形成轮廓。稍晚一点介入控制,晚退出控制也效果不错。但太迟介入控制是不 行的。4.ControlNet插件的应用案例要设计一个海报,一般会经历如下几个步骤:确定主题内容、收集素材、确定风格、明确构图、制作草图、制作具体元素文字等、排版输出。这些步骤里,收集素材、制作元素图案和草图等非常花费时间。现在这些步骤可以直接交给 AI 来完成。在明确主题、风格和具体尺寸之后,出图是非常快速的。原来需要几小时或几天的工作可
12、缩短至几秒钟。下面以“夏至”为主题,制作一幅节日海报,突出夏日的优美景色和欢快气氛。由于要用 Stable Diffusion来制作,为了方便就先把大小定为宽 768 像素*高1024 像素的竖版尺寸(制作完成之后,可根据需要再放大)。夏至是中国的传统节气,所以海报风格确定为国潮风格。夏至的元素有许多,如蓝天、白云、阳光、远山、湖水、飞鸟、蜻蜓、鱼、青蛙、知了、绿叶、向日葵、荷花、荷叶、柳丝、西瓜、饮料、汽水、阳伞、冰块、冰激凌等等。为了配合国潮风格确定海报主体是荷花和荷叶,中景是池塘,远景是远山、飞鸟和亭子。(1)选择一种适合画风景的大模型。经过多种模型的尝试,最后选择了大模型:Locs C
13、hina Landscapes v2;为了突出国潮水墨风格,选用了水墨 shuimomix-v3 这个 Lora 进行搭配;触发词是shuimo,guochao。迭代步数:30,采样方法:DPM+2M Karras。(2)提示词书写时要尽量把描绘的场景内容都包 括进去。主要包括画面质量、画面风格、主体内容特点、场景特点、环境特征、画面透视等几方面。正向提示词如下:best quality,ultra-detailed,hires,8k,green tone,no humans,lotus flowers in full bloom,Lotus close-up,lotus leaves,lot
14、us heads,a pool of lotus,summer,fish swimming in the water,distant green mountains,pavilions 图5 控制图60影视制作音画制作Post Productionquiet,Swarm of Yan flying in the sky,blue sky,white clouds,sunny,fine weather,a prosperous scene,Chinese ink painting style,traditional ink painting style,ancient style,ancient
15、 china,painting landscapes,natural,quiet,elegant,the color is bright and fresh,layered sense,perspective sense,shuimo,guochao,负向提示词如下:NSFW,low quality,low res,monochrome,grayscale,Unclear scenery,improper layout,fuzzy,rough,dull,chaotic,incongruous,vulgar,messy,Too heavy,dull,the subject lacks focus
16、,the color is yellow and twilight,Boulders,or stacked elements,can add to a sense of chaos or disorder.The scene is too complicated,the environment is not clear,and the visual Angle of the picture is unbalanced,ugly,chaotic,monotonous,unnatural,abrupt,no originality,no creativity,lack of level,写完提示词
17、就可以根据这些文字生成图像了,生成的图像与描述相符,但在构图方面,有些凌乱。再多生 图6 对比图61影视制作音画制作Post Production成几张,还是不满意。生成图大都如图 7、图 8、图 9、图 10 所示。(3)控制 Stable Diffusion 的构图形式。这里用到 Stable Diffusion 的插件 ControlNet。为了更好地让它理解预期的构图形式,需要合适的图片作为参考。“夏至”这幅图的主体是荷花,所以找了一张荷花特写图片作为参考,按照想要的构图形式,只留下需要的部分,放到合适的位置,做成线稿备用。如图 11 所示。另外还要找到有远山和亭子的背景图片,选择合适
18、的景物,做成线稿。如图 12 所示。做成线稿这个步骤,可以放到 Stable Diffusion 的 ControlNet 预处理器里 图7 生成图像3 图8 生成图像4 图9 生成图像5 图10 生成图像6完成,因为需要对原图进行取舍修改,为了更方便,用Photoshop 进行了处理。这里采用两个 ControlNet 来控制,ControlNet1控制远景,ControlNet0 控制近景,先控制远景的画面渲染,再控制近景画面的渲染,让两部分在步数上有少量的重合,这样两种控制既不会相互干扰,画面也会一定程度上融合在一起。在文生图下面打开 ControlNet,把主体的参考图,图 11 放到
19、 ControlNet0 里,因为已经把参考图处理成了线稿形式,所以预处理器就选择无。模型选择:lineart。荷花是这幅图的主体,需用更多的步数来描 图11 参考图1 图12 参考图2 图13 生成图像7 图14 生成图像8 62影视制作音画制作Post Production画,为了避免与背景的控制相互干扰,所以开始控制步数(Starting Control Step):0.2,结束控制步数(Ending Control Step):1。权重(Control Weight):1。控制模式选择(Control Mode):ControlNet is more important。把背景的参考图
20、,图 12 放入 ControlNet1 中,预处理器选择无。模型选择:lineart。在这里背景参考图只需要给 Stable Diffusion 提供一个大概的轮廓,细致的描画可以让 Stable Diffusion 自由发挥,所以控制权重:0.5。在步数控制上,只控制前面一段的步数,开始控制步数(Starting Control Step):0,结束控制步数(Ending Control Step):0.25。让远景按需要的位置大概画出轮廓就好,再和主体参考控制在步数上有稍微的交叉,让整个图像更融合。设置好 ControlNet 后,再生成的图,构图层次就基本控制好了。多生成几张,挑选满意
21、的图出来。如图13 所示。(4)局部重绘。这张图构图形式和画面都基本满意,但是水里有类似船和人的图像,明显不符合透视。可以用局部重绘,把船改成鱼,让整个画面更有灵性,于是把这张图放到局部重绘中,用画笔把要改的地方涂黑。在正向提示词中写上鱼,如many red fish,A group of koi。提高重绘幅度,再生成,就得到了鱼儿水中游。多生成几张,寻找满意的鱼儿。如图 14 所示。(5)最 后,把生成的图像放入 Photoshop 中,进行最后的微调,加上文字。如果哪里不满意,还可用 Photoshop 中的 Stable Diffusion 插件再次在局部生成新的图案,Photoshop
22、 中的 Stable Diffusion 插件使用方法和直接使用 Stable Diffusion 几乎一样,使用起来非常 方便。图15 后期处理 5.结语综上所述,可以看出用 Stable Diffusion 进行绘画,操作简单快捷,再配合 Lora 模型和 ControlNet 等插件,很轻松就能生成出预想的画面,即使创作者没有美术功底,也可以快速创作出具有复杂姿态、多种绘画风格的作品6。2022 年以来,AI 绘画在短短时间里取得了突飞猛进的发展,随着版本不断地迭代更新,各种插件的功能越来越完善,使得它广泛应用于游戏开发、广告设计、艺术创作、建筑设计等领域。AI 绘画在用于设计背景、元素
23、、角色时,可以无限修改优化,效率高,成本低,可以在短时间内生成符合要求的图像。AI 绘图以它强大的算力转化为生产力,推动了设计开发工作的科技创新发展。【参考文献】1 谷彤彤,田飞.融合数字出版背景下AIGC的发展与应用研究J.新闻研究导刊,2023,14(07):4-6.2 缪虹,王敬雷.AI绘画创作的运行规律及应用J.丝网印刷,2023(07):96-98.3 杜雨,张孜铭.AIGC:智能创作时代M.中译出版社,2023.14-20.4 丁磊.生成式人工智能:AIGC的逻辑与应用M.中信出版集团,2023.111-120.5 郑凯,王菂.人工智能在图像生成领域的应用以StableDiffusion和ERNIW-ViLG为例J.科技视界,2022(35):50-54.6 余青龙.AI绘画软件的创作特征研究以绘画软件NovelAI生成的动漫人物形象为例J.信阳师范学院学报(哲学社会科学版),2023,43(03):127-132.