Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部专栏

上交开源业界首个两阶段物体阴影生成网络,自建数据集DESOBA,入选AAAI 2022

本文是上海交通大学在物体阴影生成领域的研究,提出的数据库、代码和模型都已开源。

图像合成 (image composition) 是指把一张图片的前景剪切下来,粘贴到另外一张背景图片上,得到一张合成图。广义来讲,把来自不同图片的多个视觉元素嫁接到同一张图片上,都属于图像合成的范畴。图像合成有着广泛的应用场景,比如人像换背景、虚拟社交、艺术创作、自动广告等等。下图展示了得到一张合成图的过程。

通过剪切复制得到的合成图可能会有诸多问题,影响合成图的真实程度和图片质量。这些问题可以归结为合成图中前景和背景之间的不一致性,进一步可分成几何不一致性和外观不一致性。几何不一致性包括前景物体的大小、位置、透视角度不合理。外观不一致性包括前景和背景的颜色光照信息不匹配, 或者前景的阴影缺失或不合理。

为了解决外观不一致性,图像和谐化任务 (image harmonization) 旨在调整前景的颜色光照信息,使其和背景看起来更和谐。物体阴影生成 (object shadow generation) 任务旨在根据前景和背景信息为前景物体生成合理的阴影。

本文是上海交通大学人工智能教育部重点实验室(MoE Key Lab of Artificial Intellegence)在物体阴影生成领域的工作,论文发表在了 AAAI 2022,并且数据库、代码和模型已开源。

  • 论文链接:https://arxiv.org/pdf/2104.10338.pdf

  • 代码链接:https://github.com/bcmi/Object-Shadow-Generation-Dataset-DESOBA

引言

物体阴影生成任务旨在给定一张合成图和前景物体掩码,为前景物体生成合理的阴影,可以视为图像到图像翻译 (image-to-image translation) 的任务。为该任务训练深度学习网络需要大量成对的训练数据:没有前景物体阴影的合成图和有前景物体阴影的目标图。然而,这种成对数据在现实世界中极难获取。

之前有工作 [1] 用渲染的方式构造成对的训练数据,具体来说,把 3D 模型插入到 3D 场景中,先得到没有前景物体阴影的合成图,然后用渲染软件为插入的 3D 模型生成阴影,得到带有前景物体阴影的目标图。但是,该数据库 [1] 前景数量有限,背景简单,和真实图片相距甚远。研究者尝试把基于该数据库训练得到的模型用于真实合成图,效果很差。

为了解决现实世界中难以收集数据,渲染图片和真实图片又有偏差的问题,研究者设计了一种笨拙的方法,推出了首个真实复杂场景下物体阴影生成数据集 DESOBA。他们构建数据库的方式和图像和谐化数据集 iHarmony4[2]类似,都是对真实图片做调整得到伪造的合成图。

具体来说,iHarmony4 为了构建成对的和谐图片与不和谐图片,把真实图片作为目标图片,对前景用颜色迁移方法调整颜色和光照,使其和背景不和谐,获得伪造合成图,通过这种方式得到成对的合成图和目标图。该方法也可套用到物体阴影生成任务中,研究者把真实图片作为目标图片,为前景去阴影,把去阴影之后的图片当做伪造合成图,用这种方式获取成对的合成图和目标图。

他们还尝试了一些最先进的去阴影算法,可能是因为复杂场景的原因和数据集之间的差异,去阴影效果很差。迫于无奈,研究者雇佣 photoshop 专家手动为图片去阴影,这个过程非常费时费力,编辑一张图片花费半个小时到几个小时不等。为了保证去阴影图片的质量,他们尝试了一些量化指标,但这些指标不能很好地反映图片质量。

因此,研究者决定人工确保图片的质量,保证每一张图片去阴影之后原阴影区域的纹理特征尽可能保留,原阴影边界区域的过渡尽可能平滑,原阴影区域难以被识别出来。经过多轮检查,尽可能地保证数据库的质量。虽然人工检查不可能完全保证数据库的准确性,但是研究者发现该数据库能够用来比较不同方法的优劣,并且对真实合成图也有一定的效果。

数据集和生成网络

研究者基于 Shadow-OBject Association (SOBA)数据集 [3] 构建自己的数据集。SOBA 数据集有 840 张训练图片(包含 2999 对物体和阴影)和 160 张测试图片(包含 624 对物体和阴影)。他们沿用 SOBA 的训练测试集划分,将数据集命名为 DEshadowed SOBA (DESOBA)。因为数据量有限,在训练的时候采用了一种数据增广的方式,随机选择图片中的若干物体打包成一个前景物体,增加前景物体的丰富程度。实验证明了这种数据增广方式的有效性。

下图展示了 DESOBA 数据库的制作过程 (上面一行) 和物体阴影生成任务(下面一行)。给定真实图片,去除图片上的所有阴影得到,然后选定一个前景物体,把它的阴影区域替换为对应的区域,得到一张伪造合成图,通过这种方式获得成对的合成图和目标图。物体阴影生成任务是指给定合成图和前景物体掩码, 能够重建目标图

DESOBA 数据库里面的样图如下图所示。根据合成图背景中有没有成对的物体和阴影,他们把图片分为 BOS (Background Object-Shadow) 图片(背景中有成对的物体和阴影)和 BOS-free 图片(背景中没有成对的物体和阴影)。对于 BOS 图片,成对的物体和阴影可以为推测光照信息提供强有力的线索。对于 BOS-free 图片,他们期望模型能够根据天空、地面、物体的明暗变化推测出光照信息。下图左半边是 BOS 图片,从左到右依次是合成图、前景物体掩码、背景物体掩码、背景阴影掩码、目标图。右半边是 BOS-free 图片,从左到右依次是合成图、前景物体掩码、目标图。
基于 DESOBA 数据集,研究者设计了一个两阶段的物体阴影生成网络,这是首个两阶段的物体阴影生成网络。整个网络的结构如下图所示,第一阶段负责生成物体阴影的掩码,第二阶段负责填充物体阴影区域。
在第一阶段,研究者用两个编码器分别提取背景和前景的特征。前景编码器的输入是合成图和前景物体掩码,背景编码器的输入是合成图、背景物体掩码、背景阴影掩码。提取前景和背景的特征之后,他们设计了一个交互注意力聚集 (cross-attention integration) 层完成前景特征和背景特征之间的信息交互。在此过程中,前景特征从背景特征中获取了相关有用的光照信息,得到增强的前景特征。增强的前景特征通过解码器预测出前景阴影掩码。虽然交互注意力机制在其他计算机视觉任务中已经广泛使用,但这是首次将交互注意力机制用于阴影生成任务。

在第二阶段,获取前景阴影掩码之后,需要对阴影区域进行填充,其中最重要的信息是阴影的深浅。根据现有的光照模型[4],研究者假设阴影像素值可以由它对应的无阴影像素值通过线性变换获得:,其中 k 表示第 k 个颜色通道(RGB),i 表示第 i 个像素。他们把合成图和生成的前景阴影掩码拼起来,用于预测阴影参数。阴影参数的真值可以基于训练图片回归得到。根据阴影参数和合成图,用下图中的公式得到暗图(darkened image)。同时会对前景阴影掩码进行修正,得到更精确的阴影蒙版(shadow matte),通过阴影蒙版把合成图和暗图混合得到目标图。除了重构损失,研究者也使用条件判别器迫使生成的前景阴影掩码和生成的目标图更加真实。


实验结果

研究者首先在 DESOBA 测试集上验证模型的性能。关于量化指标,他们采用了 RMSE 和 SSIM,分别对全图计算(global RMSE/SSIM) 和阴影区域计算(local RMSE/SSIM)。

如下展示了不同方法的阴影生成图片。从左到右依次是: (a)输入合成图; (b)前景物体掩码;(c)Pix2Pix 的结果; (d)Pix2Pix-Res 的结果; (e)ShadowGAN 的结果; (f)Mask-ShadowGAN 的结果; (g)ARShadowGAN 的结果; (h)本文方法 SGRNet 的结果; (i)真值目标图。从图片结果可以看出对比方法生成的阴影残缺不全,甚至没有生成阴影。而文中方法的生成结果明显优于对比方法的结果。
由于 DESOBA 数据集是伪造合成图,为了验证在真实合成图上的效果,研究者制作了 100 张真实合成图并测试不同的方法。不同方法的结果如下图所示,从左到右依次是: (a)输入合成图; (b)前景物体掩码; (c)Pix2Pix 的结果; (d)Pix2Pix-Res 的结果; (e)ShadowGAN 的结果; (f)Mask-ShadowGAN 的结果; (g)ARShadowGAN 的结果; (h)文中方法的结果。注意,真实合成图没有真值目标图。在真实合成图上,文中方法的生成结果也明显优于对比方法的结果。可见 DESOBA 数据集和设计的模型在真实合成图上也有一定的效果。DESOBA 测试集上的更多结果和真实合成图上的更多结果请参见论文和附录。

最后,研究者展示模型输出的一些中间结果,以便于理解模型。从左到右依次是:(a)输入合成图; (b)前景物体掩码; (c)生成的前景阴影掩码; (d)生成的前景阴影蒙版; (e) 生成的前景阴影掩码和阴影蒙版之间的差异; (f)生成的暗图; (g)生成的目标图片; (h)真值前景阴影掩码; (i)真值目标图。
总结

研究者推出了首个真实复杂场景下的物体阴影生成数据集 DESOBA, 用于合成图中的物体阴影生成。另外,它们设计了两阶段的物体阴影生成网络,第一阶段生成前景阴影掩码,第二阶段填充前景阴影区域。物体阴影生成这个任务很有挑战性,任重而道远。

研究者表示,虽然他们在正文和附录里展示了一些效果较好的图片,但是实际上大多数测试图片的效果并不理想,甚至惨不忍睹,所以可提升的空间很大。他们的工作实属抛砖引玉,欢迎大家尝试文中的数据集,尝试物体阴影生成任务。

参考文献:

[1] Liu, D.; Long, C.; Zhang, H.; Yu, H.; Dong, X.; and Xiao, C. 2020. Arshadowgan: Shadow generative adversarial network for augmented reality in single light scenes. In CVPR.
[2] Cong, W.; Zhang, J.; Niu, L.; Liu, L.; Ling, Z.; Li, W.; and Zhang, L. 2020. Dovenet: Deep image harmonization via domain verification. In CVPR.
[3] Wang, T.; Hu, X.; Wang, Q.; Heng, P.-A.; and Fu, C.-W. 2020. Instance shadow detection. In CVPR.
[4] Shor, Y.; and Lischinski, D. 2008. The shadow meets the mask: Pyramid-based shadow removal. In Computer Graphics Forum, 577–586.
理论AAAI 2022自建数据集DESOBA两阶段物体阴影生成网络业界首个
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~