本公开总体涉及处理图像数据。更具体地,本公开涉及用于高质量图像修复的机器学习的模型,该机器学习的模型可以将上下文注意力与用户引导相结合以改善修复。
背景技术:
1、图像(例如照片)和其他形式的数据通常包含不想要的数据。作为一个示例,不想要的数据可以对应于处理图像以降低图像中的噪声所产生的伪像。作为另一示例,不想要的数据可能对应于风景前景中的人类或全家福背景中的陌生人。作为另一示例,不想要的数据可能对应于在原始背景中的不美观的对象。
2、因此,不想要的数据可能对应于遮挡或模糊图像的其他部分的对象,例如所描绘的场景。然而,用替换数据替换不想要的数据(例如,描绘被不想要的数据遮挡的图像的遮挡部分的替换图像数据,该处理也称为“修复”)是一个具有挑战性的问题,其本质上是不确定的。换句话说,可以从同一图像中确定多个可能的解决方案,从而导致一个难题。
3、一些当前的系统和方法包括“克隆工具(clone tool)”,该工具使用户能够选择复制像素的源位置来修复他们想要移除的区域。另一方面,机器学习和计算机视觉社区撰写的论文中提出的解决方案包括上下文注意力映射(contextual attention map),这是一种尝试使用机器学习来预测像素的源位置的组件。然而,这两种技术都有各自的不足。
技术实现思路
1、本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
2、本公开的一个示例方面涉及一种用于训练修复模型的计算机实现的方法。该方法可以包括由包括一个或多个处理器的计算系统接收输入图像和真值图像。在一些实施方式中,真值图像可以描绘场景,并且输入图像可以描绘具有一个或多个遮挡的场景。该方法可以包括由计算系统利用上下文注意力模型来处理真值图像以生成上下文注意力输出。该方法可以包括由计算系统利用增强模型处理输入图像和上下文注意力输出以生成预测图像。该方法可以包括由计算系统评估损失函数,该损失函数评估预测图像和真值图像之间的差异。在一些实施方式中,该方法可以包括由计算系统至少部分地基于损失函数来调整增强模型的一个或多个参数。
3、在一些实施方式中,增强模型可以包括预测模型、混合模型和遮挡模型。该方法可以包括利用增强模型处理输入图像和上下文注意力输出,包括:由计算系统利用预测模型处理输入图像以生成预测的上下文注意力数据;由计算系统利用混合模型来处理预测的上下文注意力数据和上下文注意力输出,以生成混合数据;以及由计算系统处理混合的数据和输入图像以生成预测图像。在一些实施方式中,混合模型可以被训练成随机混合预测的上下文注意力数据和上下文注意力输出。输入图像可以通过向真值图像添加一个或多个遮挡来生成。在一些实施方式中,上下文注意力模型可以包括卷积神经网络和一个或多个上下文注意力块。可以通过以下方式训练上下文注意力模型:由计算系统利用上下文注意力模型处理一个或多个训练图像以生成训练上下文注意力输出;由计算系统利用修复模型处理训练上下文注意力输出以生成训练增强图像;由计算系统评估训练损失函数,该训练损失函数评估训练增强的图像和真值图像之间的差异;以及由计算系统至少部分地基于训练损失函数来调整上下文注意力模型的一个或多个上下文注意力参数。在一些实施方式中,一个或多个遮挡可以包括一个或多个人。该方法可以包括由计算系统接收描述对输入图像的一部分的选择的一个或多个输入。在一些实施方式中,可以至少部分地基于一个或多个输入来生成预测图像。
4、本公开的另一示例方面针对用于修复的计算系统。该计算系统可以包括一个或多个处理器和一个或多个非暂时性计算机可读介质,它们共同存储指令,该指令在由一个或多个处理器执行时使计算系统执行操作。该操作可以包括获得输入图像。在一些实施方式中,输入图像可以包括一个或多个用于替换的对象。该操作可以包括获得一个或多个用户输入。在一些实施方式中,一个或多个用户输入可以包括一个或多个上下文注意力输入。该操作可以包括利用增强模型处理输入图像和一个或多个用户输入以生成增强图像。在一些实施方式中,增强模型可以被训练来经由真值训练来替换一个或多个对象。该操作可以包括向用户提供增强的图像。
5、在一些实施方式中,该操作可以包括获得一个或多个第二用户输入,其中一个或多个第二用户输入可以描述对输入图像的一部分的选择。在一些实施方式中,可以至少部分地基于一个或多个第二用户输入来生成增强的图像。增强模型可以包括混合模型,该混合模型被训练来混合预测的上下文注意力数据和用户输入的上下文注意力数据。在一些实施方式中,可以至少部分地基于输入图像来生成预测的上下文注意力数据,并且用户输入的上下文注意力数据可以至少部分地基于一个或多个用户输入。预测的上下文注意力数据和用户输入的上下文注意力数据可以至少部分地基于混合权重被混合,并且该混合权重可以由用户手动控制。在一些实施方式中,预测的上下文注意力数据和用户输入的上下文注意力数据可以至少部分地基于混合权重被混合,并且该混合权重可以在真值训练期间被调整。计算系统可以包括用于显示增强的图像的视觉显示器。在一些实施方式中,操作可以包括提供用于显示的输入图像以向用户提供视觉界面。可以用触摸屏显示器获得一个或多个用户输入。该操作可以包括提供覆盖在输入图像上的一个或多个用户输入的表示。
6、本公开的另一个示例方面针对一个或多个非暂时性计算机可读介质,其共同存储指令,该指令在由一个或多个处理器执行时,使得计算系统执行操作。该操作可以包括从用户接收输入数据。在一些实施方式中,输入数据可以包括一个或多个图像。该操作可以包括获得上下文注意力数据。在一些实施方式中,上下文注意力数据可以包括选择的像素数据。该操作可以包括利用预测的模型处理输入数据以生成预测的上下文注意力数据。该操作可以包括利用混合模型处理上下文注意力数据和预测的上下文注意力数据以生成混合的数据。该操作可以包括利用遮挡模型处理输入数据和混合的数据以替换来自一个或多个图像的一个或多个像素。
7、在一些实施方式中,一个或多个图像可以是视频帧,并且遮挡模型的输出可以是增强的视频输出。可以用感知损失函数来训练遮挡模型。该操作可以包括将一个或多个像素添加回一个或多个图像中以生成渲染的图像。在一些实施方式中,上下文注意力数据可以包括展平的输入张量。上下文注意力数据可以至少部分地基于用户输入的套索手势(lasso gesture)来生成。
8、本公开的另一示例方面涉及一种用于训练增强模型的计算机实现的方法。该方法可以包括由包括一个或多个处理器的计算系统接收输入图像和真值图像。在一些实施方式中,真值图像可以描绘场景,并且输入图像可以描绘具有一个或多个遮挡的场景。该方法可以包括由计算系统利用上下文注意力模型来处理真值图像以生成上下文注意力输出。该方法可以包括由计算系统利用增强模型处理输入图像和上下文注意力输出以生成预测图像。该方法可以包括由计算系统评估损失函数,该损失函数评估预测图像和真值图像之间的差异,并且由计算系统至少部分地基于损失函数调整增强模型的一个或多个参数。
9、在一些实施方式中,增强模型可以包括预测模型、混合模型和遮挡模型。该操作可以包括利用增强模型处理输入图像和上下文注意力输出,包括:由计算系统利用预测模型处理输入图像以生成预测的上下文注意力数据;由计算系统利用混合模型处理预测的上下文注意力数据和上下文注意力输出,以生成混合数据;以及由计算系统利用遮挡模型处理混合的数据和输入图像以生成预测图像。在一些实施方式中,混合模型可以被训练成随机混合预测的上下文注意力数据和上下文注意力输出。可以利用感知损失函数来训练遮挡模型。输入图像可以通过向真值图像添加一个或多个遮挡来生成。在一些实施方式中,上下文注意力模型可以包括卷积神经网络和一个或多个上下文注意力块。可以通过以下方式训练上下文注意力模型:由计算系统利用上下文注意力模型处理一个或多个训练图像以生成训练上下文注意力输出;由计算系统用修复模型处理训练上下文注意力输出以生成训练增强的图像;由计算系统评估训练损失函数,该训练损失函数评估训练增强的图像和真值图像之间的差异;以及由计算系统至少部分地基于训练损失函数来调整上下文注意力模型的一个或多个上下文注意力参数。在一些实施方式中,一个或多个遮挡可以包括一个或多个人。
10、在一些实施方式中,该方法可以包括由计算系统接收描述对输入图像的一部分的选择的一个或多个输入,以及可以至少部分地基于该一个或多个输入来生成预测图像。
11、本公开的另一个示例方面涉及一种计算机实现的方法。该方法可以包括获得输入图像。输入图像可以包括一个或多个用于替换的对象。该方法可以包括获得一个或多个上下文注意力输入。该方法可以包括利用增强模型处理输入图像和一个或多个上下文注意力输入以生成增强的图像。在一些实施方式中,增强模型可以被训练来经由真值训练来替换一个或多个对象。该方法可以包括向用户提供增强的图像。
12、在一些实施方式中,可以使用计算机实现的方法来训练增强模型。一个或多个上下文注意力输入可以是用户输入。可以用触摸屏显示器获得一个或多个用户输入。该方法可以包括提供覆盖在输入图像上的一个或多个用户输入的表示。在一些实施方式中,上下文注意力数据可以至少部分地基于用户输入的套索手势来生成。该方法可以包括获得一个或多个第二用户输入。在一些实施方式中,一个或多个第二用户输入可以描述对输入图像的一部分的选择,以及可以至少部分地基于一个或多个第二用户输入来生成增强的图像。增强模型可以包括混合模型,该混合模型被训练来混合预测的上下文注意力数据和用户输入的上下文注意力数据,预测的上下文注意力数据可以至少部分地基于输入图像来生成,以及用户输入的上下文注意力数据可以至少部分地基于一个或多个用户输入。在一些实施方式中,预测的上下文注意力数据和用户输入的上下文注意力数据可以至少部分地基于混合权重被混合,并且混合权重可以由用户手动控制。
13、在一些实施方式中,预测的上下文注意力数据和用户输入的上下文注意力数据可以至少部分地基于混合权重进行混合,并且该混合权重可以在真值训练期间进行调整。该方法可以包括提供用于显示的输入图像以向用户提供视觉界面。输入图像可以是视频的帧,并且增强模型的输出可以是增强的视频输出。在一些实施方式中,上下文注意力输入可以包括展平的输入张量。
14、在一些实施方式中,一个或多个非暂时性计算机可读介质共同存储指令,该指令在由一个或多个处理器执行时使得计算系统执行计算机实现的方法。
15、在一些实施方式中,计算系统可以包括共同存储指令的一个或多个处理器和一个或多个非暂时性计算机可读介质,该指令在由一个或多个处理器执行时,使得计算系统执行计算机实现的方法。
16、本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
17、参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成其一部分的附图示出了本公开的示例实施例,并与说明书一起用于解释相关原理。
1.一种用于训练修复模型的计算机实现的方法,所述方法包括:
2.根据前述任一权利要求所述的计算机实现的方法,其中,所述增强模型包括预测模型、混合模型和遮挡模型,并且其中利用增强模型处理输入图像和上下文注意力输出包括:
3.根据前述任一权利要求所述的计算机实现的方法,其中,所述混合模型被训练成随机混合预测的上下文注意力数据和上下文注意力输出。
4.根据前述任一权利要求所述的计算机实现的方法,其中,所述输入图像是通过向真值图像添加一个或多个遮挡来生成的。
5.根据前述任一权利要求所述的计算机实现的方法,其中,所述上下文注意力模型包括卷积神经网络和一个或多个上下文注意力块。
6.根据前述任一权利要求所述的计算机实现的方法,其中,所述上下文注意力模型通过以下方式被训练:
7.根据前述任一权利要求所述的计算机实现的方法,还包括:
8.一种用于修复的计算系统,所述计算系统包括:
9.根据前述任一权利要求所述的计算系统,其中,所述操作还包括:
10.根据前述任一权利要求所述的计算系统,其中,所述增强模型包括混合模型,所述混合模型被训练为混合预测的上下文注意力数据和用户输入的上下文注意力数据,其中,所述预测的上下文注意力数据至少部分地基于输入图像生成,并且其中所述用户输入的上下文注意力数据至少部分地基于所述一个或多个用户输入。
11.根据权利要求10所述的计算系统,其中,预测的上下文注意力数据和用户输入的上下文注意力数据是至少部分地基于混合权重被混合的,并且其中所述混合权重由用户手动控制。
12.根据权利要求10所述的计算系统,其中,预测的上下文注意力数据和用户输入的上下文注意力数据是至少部分地基于混合权重被混合的,并且其中,所述混合权重在真值训练期间被调整。
13.根据前述任一权利要求所述的计算系统,其中,所述操作还包括:
14.根据前述任一权利要求所述的计算系统,其,所述一个或多个用户输入是通过触摸屏显示器获得的。
15.根据前述任一权利要求所述的计算系统,其中,所述操作还包括:
16.一个或多个非暂时性计算机可读介质,其共同存储指令,所述指令在由一个或多个处理器执行时,使得计算系统执行操作,所述操作包括:
17.根据前述任一权利要求所述的一个或多个非暂时性计算机可读介质,其中,所述一个或多个图像是视频帧,并且其中所述遮挡模型的输出是增强的视频输出。
18.根据前述任一权利要求所述的一个或多个非暂时性计算机可读介质,其中所述操作还包括:
19.根据前述任一权利要求所述的一个或多个非暂时性计算机可读介质,其中,所述上下文注意力数据包括展平的输入张量。
20.根据前述任一权利要求所述的一个或多个非暂时性计算机可读介质,其中,所述上下文注意力数据至少部分地基于用户输入的套索手势生成。
