《龙珠》、《神奇宝贝》、《新世纪福音战士》等上个世纪开播的动漫是很多人童年回忆的一部分,它们曾给我们带来了充满了热血、友情与梦想的视觉之旅。某些时候,我们会突然有重温这些童年回忆的冲动,但我们却可能会略带遗憾地发现这些童年回忆的分辨率非常低,根本无法在客厅的 4K 大屏电视上创造出良好的视觉体验,以至于可能阻碍我们与在高分辨率数字世界中成长的孩子分享这些童年回忆。
针对这样的困扰(以及潜在的市场),一种做法是由动画公司制作重制版,但这项任务的人力和资金成本都不低。
而随着多模态人工智能的性能日益强大,采用基于 AI 的超分辨率技术来提升动漫分辨率也成为了一个值得探索的方向。
近日,密西根大学、耶鲁大学和浙江大学的一个联合团队通过分析动漫的制作过程,为动漫超分辨率任务创造出了一套相当实用的新方法,其中包括数据集、模型和一些改进措施(该论文已被 CVPR 2024 接收)。该团队也开源了相关代码,并在 Huggingface 上线了一个试用模型。
下图是机器之心用《龙珠》第一集片头截图尝试的结果,效果肉眼可见的好。
另外也已经有人尝试使用该技术来提升视频分辨率,结果非常棒:
为了了解这套新方法的创新之处,我们先看看动漫一般是怎么制作的。
首先,由人类在纸上绘出草图,然后通过计算机图像生成(CGI)处理来进行上色和增强。然后,将这些经过处理的草图连接起来,做成视频。
不过,由于绘图这道工序非常耗费人力且人眼对运动并不敏感,因此在合成视频时,业内的标准做法是让单张图像重复用于多个连续帧。
通过分析此流程,这个联合团队不禁开始怀疑是否有必要使用视频模型和视频数据集来训练动漫超分辨率模型:完全可以对图像执行超分辨率,然后再把这些图像连起来嘛!
于是他们决定使用基于图像的方法和数据集打造一个适用于图像和视频的统一的超分辨率和恢复框架。
该团队提出了 API SR 数据集,这里简单介绍一下其收集整理方法。该方法利用了动漫视频的特点(见图 2),可以从视频中选出被压缩最少且信息最丰富的帧。
基于 I 帧的图像收集:视频压缩涉及到视频质量和数据规模的权衡。而现在视频压缩的标准有很多,每一种都有各自的复杂工程系统,但它们都有一个类似的主干设计。
这些特点导致每一帧的压缩质量是不一样的。视频压缩过程会指定一些关键帧(即 I 帧)作为单个的压缩单元。在实践中,I 帧是场景变化时的第一帧。这些 I 帧可以占据较大的数据量。而非 I 帧(即 P 帧和 B 帧)则有更高的压缩率,它们在压缩过程中需要以 I 帧为参照,引入随时间的变化情况。如图 3a 所示,在该团队收集的动漫视频中,I 帧的数据大小一般都高于非 I 帧,并且 I 帧的质量也确实更高。因此,该团队使用视频处理工具 ffmpeg 从视频源提取出了所有 I 帧并将其作为初始数据池。
基于图像复杂度进行选取:该团队基于图像复杂度评估(ICA)对初始的 I 帧池进行了筛选,这是一个更适合动漫的指标,见图 4。
API 数据集:该团队人工收集了 562 段高质量动漫视频。然后基于上述两步从每段视频收集了 10 个得分最高的帧。然后再进行了一番筛选,去除了不合适的图像,最终得到了一个包含 3740 张高质量图像的数据集。图 5 展示了一些图像示例。另外也能从图 3b 看到 API 数据集在图像复杂度方面的优势。
回到最初的 720P 分辨率:通过研究动画制作流程,可以看到大多数动漫制作都采用了 720P 的格式(即图像高 720 像素)。但是,在真实世界场景中,为了实现多媒体格式的标准化,动漫往往会被错误地上调到 1080P 或其它格式。该团队通过实验发现,将所有动漫图像的尺寸重新调整为原始的 720P 可以提供创作者设想的特征密度,同时还有更紧凑的动漫手绘线条和 CGI 信息。
在现实世界的超分辨率任务中,退化模型(degradation model)的设计非常重要。基于高阶退化模型和近期的一种基于图像的视频压缩恢复模型,该团队提出了两种改进方案,可以恢复扭曲的手绘线条和各种压缩伪影,还能增强退化模型的表征。图 6a 展示了这个退化模型。
面向预测的压缩:对视频压缩伪影的动画恢复任务而言,使用图像退化模型会构成难题。这是因为 JPEG 图像格式的压缩方式和视频压缩方式的原理是不一样的。
为了应对这样的难题,该团队设计了一种在图像退化模型中使用的面向预测的压缩模型。该模块需要视频压缩算法来在压缩单帧的输入。
凭借此方法,图像退化模型能够合成类似于典型的多帧视频压缩中观察到的压缩伪影,如图 7 所示。之后,通过将这些合成的图像输入图像超分辨率网络,系统就能有效地学习各种压缩伪影的模式并进行恢复。
打乱大小调整模块的顺序:真实世界超分辨率领域的退化模型需要考虑模糊、大小调整、噪声和压缩模块。模糊、噪声和压缩是可以通过清楚的数学模型或算法合成的真实世界伪影。但是,大小调整模块的逻辑全然不同。大小调整并不是自然图像生成的一部分,而是为超分辨率的成对数据集专门引入的。因此,之前固定大小的大小调整模块并不非常合适。该团队提出了一种更稳健和有效的解决方案,其中涉及到在退化模型中按不同顺序随机放置大小调整操作。
该团队的选择是直接提取锐化过的手绘线条信息并将其与基本真值(GT/ground-truth)融合,从而形成伪 GT。通过将这种专门针对性增强过的伪 GT 引入到超分辨率训练过程中,网络无需引入额外的神经网络模块或单独的后处理网络也能生成锐利的手绘线条。
为了更好地提取手绘线条,该团队使用了 XDoG,这是一种基于逐像素高斯核的草图提取算法,可以提取出锐化的 GT 的边缘图。
然而,XDoG 边缘图存在过多噪声的问题,其中包含离群像素和破碎的线条表征。为了解决这个问题,该团队提出了一种离群值过滤技术,还搭配了一种定制设计的被动扩张方法。通过这种方式,可以得到更加连贯且未扰乱的手绘线条表征。
该团队通过实验发现,过度锐化的预处理 GT 可以让手绘线条边缘比其它无关的阴影边缘细节更容易注意到,这使得离群值过滤器可以更轻松地分辨它们的差异。为此,该团队提出首先为 GT 进行三轮去锐化掩码操作。图 8 给出了这个过程的简单图示。
另外还有出现多余颜色伪影的问题,这主要是由于生成器和感知损失之间的训练中数据域不一致。
为了解决这个问题以及弥补之前方法的不足,该团队的做法是使用一个预训练的 ResNet,其在 Danbooru 数据集上进行了动漫目标分类任务的训练。Danbooru 数据集是一个动漫插图数据库,包含大量且丰富的标注。由于这个预训练网络是 ResNet50 而不是 VGG,因此该团队也提出了一种类似的中间层比较。
但是,如果只使用基于 ResNet 的损失,可能会出现视觉结果差的问题这是由 Danbooru 数据集中的固有偏差导致的 —— 该数据集中大部分图像都是人物面部或相对简单的插图。因此,该团队权衡之下,决定使用真实世界特征作为辅助来引导训练过程中基于 ResNet 的感知损失。这种方法可得到视觉效果好的图像,同时还能解决出现多余颜色的问题。
实验中,该团队使用了新提出的 API 数据集作为图像网络的训练数据集。至于图像网络,则是使用了 GRL 的一个微型版本,其中带有最近卷积上采样模块。
更多细节和参数请参看原论文。
该团队将新提出的 APISR 与其它一些先进方法进行了定量与定性比较,包括 Real-ESRGAN、BSRGAN、RealBasicVSR、AnimeSR 和 VQD-SR。
如表 1 所示,新模型的网络规模最小,参数量只有 1.03M,但在所有指标上的表现超过了其它所有方法。
该团队尤其强调了面向预测的压缩模型的作用。
另外,还需指出,仅凭借 AnimeSR 和 VQDSR 分别 13.3% 和 25% 的训练样本复杂度,新方法就达到了这样的结果。这主要是得益于数据集整理过程引入了图像复杂度评估,其能通过选取信息丰富的图像来提高学习动漫图像表征的效果。此外,得益于新设计的显式退化模型,退化模型方面就无需训练了。
定性比较
如图 10 所示,APISR 得到的视觉质量远胜过其他方法。
该团队也进行了消融研究,验证了新数据集、退化模型和损失设计的有效性,详见原论文。
文章来自微信公众号“机器之心”,作者:机器之心