使用用于图像修复的深度视觉引导补丁匹配模型生成修改的数字图像的制作方法

文档序号:31569608发布日期:2022-09-20 21:56阅读:36来源:国知局
使用用于图像修复的深度视觉引导补丁匹配模型生成修改的数字图像的制作方法
使用用于图像修复的深度视觉引导补丁匹配模型生成修改的数字图像


背景技术:

1.近年来,用于数字图像修复以重建数字图像的缺失或缺陷区域的软件和硬件平台有了显著的发展。实际上,一些数字图像编辑应用利用修复功能来从数字图像中移除不想要的对象或分散注意力的元素,并利用可靠的结果自动填充移除像素的区域。例如,许多数字图像编辑系统可以利用基于补丁的方法来从数字图像的其他部分借用示例像素来填充缺陷区域。其他数字图像编辑系统通过实现基于学习的深度网络来填充数字图像的区域,以通过训练大数据集来学习自然图像分布。尽管取得了这些进步,但传统的数字图像编辑系统仍然面临许多障碍或劣势,特别是在准确性、效率和灵活性方面。


技术实现要素:

2.本文描述的一个或多个实施例利用系统、方法和非瞬态计算机可读介质提供益处并解决本领域中的一个或多个前述或其他问题,这些系统、方法和非瞬态计算机可读介质利用引导修复方法准确地、高效地和灵活地生成修改的数字图像。具体地,在一个或多个实施例中,所公开的系统实现混合引导补丁匹配模型,该模型在唯一的数字图像处理流水线中实现基于补丁的深度网络方法。具体地,所公开的系统将基于补丁的方法的高质量纹理合成能力与深度网络方法的图像语义理解能力相结合。在一些实施例中,所公开的系统自动生成引导图以帮助标识用于修复数字图像区域的替换像素。例如,所公开的系统生成结构图、深度图、分割图(或其他视觉引导)形式的引导图。所公开的系统可以使用修复神经网络结合视觉引导算法或者通过利用诸如生成器神经网络或教师-学生网络体系结构的独立的视觉引导算法来生成这些引导图。此外,在一些实施例中,所公开的系统实现补丁匹配模型,以根据这些深度视觉引导标识用于填充数字图像区域的替换像素。通过利用深度视觉引导和补丁匹配模型,所公开的系统可以准确地、高效地和灵活地生成各种分辨率的逼真的修改的数字图像。
3.本公开的一个或多个实施例的附加特征和优点在下面的描述中概述,并且部分地将从该描述中显而易见,或者可以通过这样的示例实施例的实践来了解。
附图说明
4.本公开通过参考附图以附加的具体性和细节描述了本发明的一个或多个实施例。以下各段简要描述了这些附图,其中:
5.图1示出了根据一个或多个实施例的在其中引导修复系统操作的示例系统环境;
6.图2示出了根据一个或多个实施例的通过利用补丁匹配模型和深度视觉引导修复输入数字图像的一个或多个区域来生成修改的数字的概览;
7.图3示出了根据一个或多个实施例的通过利用根据修复数字图像生成的深度视觉引导来生成修改的数字图像的示例过程;
8.图4示出了根据一个或多个实施例的利用生成器神经网络根据输入数字图像生成
深度视觉引导的示例过程;
9.图5示出了根据一个或多个实施例的利用教师-学生神经网络框架根据输入数字图像生成深度视觉引导的示例过程;
10.图6示出根据一个或多个实施例的利用多个深度视觉引导和补丁匹配模型来标识替换像素;
11.图7示出了根据一个或多个实施例的由传统补丁匹配系统和结构引导修复系统生成的修改的数字图像的比较;
12.图8示出了根据一个或多个实施例的由传统补丁匹配系统和深度引导修复系统生成的修改的数字图像的比较;
13.图9示出了根据一个或多个实施例的由传统补丁匹配系统和分割引导修复系统生成的修改的数字图像的比较;
14.图10示出了根据一个或多个实施例的引导修复系统的示意图;
15.图11示出了根据一个或多个实施例的用于通过利用引导补丁匹配模型标识替换像素来生成修改的数字图像的一系列动作的流程图;以及
16.图12示出了根据一个或多个实施例的示例计算设备的框图。
具体实施方式
17.本文描述的一个或多个实施例包括一种引导修复系统,该系统利用引导修复方法准确地、高效地且灵活地生成修改的数字图像。具体地,在一个或多个实施例中,引导修复系统生成深度视觉引导,其通知补丁匹配模型标识用于修复数字图像的区域的替换像素。为了生成深度视觉引导,引导修复系统利用视觉引导算法,诸如分割图像神经网络、图像深度神经网络、结构图像模型或上述两项或更多项的组合。实际上,在一些实现中,引导修复系统根据数字图像生成结构图像引导、图像深度引导或分割图像引导中的一项或多项。此外,引导修复系统实现补丁匹配模型,以标识由深度视觉引导指示的替换像素,并使用替换像素修复数字图像的区域。通过利用深度视觉引导和补丁匹配模型,引导修复系统可以准确地、高效地和灵活地生成几乎任何分辨率的逼真的修改的数字图像。
18.如上所述,在一个或多个实施例中,引导修复系统利用深度视觉引导和补丁匹配模型来修复数字图像的缺失、模糊或其他不期望的区域。例如,引导修复系统利用视觉引导算法来生成用于标识替换像素以填充数字图像的区域的深度视觉引导。在一些情况下,引导修复系统接收编辑数字图像的请求,该数字图像在一个或多个区域中包括缺失或不期望的像素。在一些实施例中,基于该请求,引导修复系统利用预先训练的修复神经网络生成数字图像的修复版本。例如,引导修复系统利用修复神经网络来处理数字图像,并用初始替换像素集填充要替换的像素区域。在某些情况下,修复数字图像是数字图像的较低分辨率版本,并且初始替换像素集是数字图像区域的初步的替换。
19.如上所述,在某些实施例中,引导修复系统生成深度视觉引导以帮助准确填充数字图像的区域。在某些情况下,引导修复系统从初步的修复数字图像生成深度视觉引导。在其他情况下,引导修复系统直接从具有缺失或不期望的区域的数字图像生成深度视觉引导。
20.例如,为了根据修复数字图像生成深度视觉引导,引导修复系统利用视觉引导算
法。更具体地,在一个或多个实施例中,引导修复系统利用视觉引导算法,诸如结构图像模型、图像深度神经网络或分割图像神经网络中的一项或多项。例如,引导修复系统利用结构图像模型来生成结构图像引导形式的深度视觉引导,该结构图像引导指示修复数字图像内的一个或多个结构。在一些实施例中,引导修复系统利用图像深度神经网络来生成图像深度引导形式的深度视觉引导,该图像深度引导指示修复数字图像内的不同深度。在这些或其他实施例中,引导修复系统利用分割图像神经网络来生成分割图像引导形式的深度视觉引导,该分割图像引导指示修复数字图像内的不同语义分割。
21.如上所述,在一些实施例中,引导图像修复系统直接根据具有缺失或不期望区域的初始数字图像生成深度视觉引导。例如,引导修复系统利用生成器神经网络或教师-学生神经网络框架中的一项或多项。具体而言,在一个或多个实施例中,引导修复系统利用生成器神经网络,该生成器神经网络包括编码器神经网络和解码器神经网络,以通过预测缺失或不期望的(多个)区域内的结构来生成深度视觉引导。例如,引导修复系统利用生成器神经网络通过处理初始数字图像、指示区域外的结构的中间数字图像和/或指示区域的二值掩模中的一项或多项来预测区域内的结构。
22.在利用教师-学生神经网络框架的一个或多个实施例中,引导修复系统通过利用学生神经网络来预测要替换的像素区域内的深度或分割中的一个或多个,来生成深度视觉引导。例如,引导修复系统利用学生神经网络以根据从教师神经网络学习的参数来预测深度或分割。实际上,在某些情况下,引导修复系统通过利用教师神经网络生成完全数字图像的标签并利用学生神经网络通过处理不完整的数字图像(例如,由教师神经网络处理但具有一个或多个缺失或不期望的像素区域的相同数字图像的版本)来学习参数。在训练之后,引导修复系统可以利用学生神经网络来生成用于数字图像的数字视觉引导(例如,结构图像或深度图),数字图像包括具有空洞或其他替换区域的数字图像。
23.在某些情况下,引导修复系统在生成修改的数字图像时组合多种类型或变化的深度视觉引导。例如,引导修复系统将权重分配给结构图像引导(或结构图像模型)、图像深度引导(或图像深度神经网络)和分割图像引导(或分割图像神经网络),以(将上述一个或多个)与用于从数字图像标识替换像素的补丁匹配模型组合。在一个或多个实施例中,基于生成深度视觉引导,引导修复系统标识用于填充或修复具有缺失或不期望像素的数字图像的区域的替换像素。更具体地,引导修复系统利用深度视觉引导和补丁匹配模型来标识初始数字图像内(或另一数字图像内)的替换像素。例如,引导修复系统利用结构图像引导来标识数字图像内的像素,该数字图像具有与要替换的像素区域的结构相对应的结构。作为另一示例,引导修复系统利用图像深度引导来标识具有对应于区域深度的深度的像素。作为又一示例,引导修复系统利用分割图像引导来标识具有与区域的语义分割相对应的语义分割的像素。
24.在一些实施例中,引导修复系统利用补丁匹配模型的成本函数来标识和选择来自数字图像的替换像素。例如,引导修复系统利用成本函数,该成本函数确定要替换的像素和潜在替换像素之间的距离。在某些情况下,为了在替换像素标识和选择过程中将深度视觉引导的一个或多个变体与补丁匹配模型组合,引导修复系统修改成本函数。例如,引导修复系统基于初始补丁匹配成本函数和结构图像引导、图像深度引导和/或分割图像引导中的一项或多项(具有它们各自的权重)的加权组合来修改成本函数。因此,引导修复系统基于
补丁匹配模型和深度视觉引导的一项或多项变体来标识替换像素。
25.如上所述,在一些实施例中,引导修复系统通过替换或修复具有缺失或不期望像素的数字图像的区域来生成修改的数字图像。例如,引导修复系统利用补丁匹配模型,通过利用经由深度视觉引导标识的替换像素来替换数字图像的区域,来生成修改的数字图像。具体地,引导修复系统可以引导补丁模型以基于深度视觉引导内反映的片段、结构和/或深度来标识区域的替换像素。
26.如上所述,传统的数字图像编辑系统表现出许多缺点,尤其是在准确性、效率和灵活性方面。作为说明,许多传统系统不准确地修改数字图像。例如,利用传统的基于补丁的方法的数字图像编辑系统通常缺乏对数字图像内容的语义或几何理解。结果,这些传统系统通常不准确地选择视觉上不协调或错位的替换像素来填充数字图像的区域。此外,利用神经网络方法的传统系统通常生成缺乏逼真纹理细节的数字图像。
27.此外,许多传统的数字图像编辑系统还效率较低。特别地,为了生成准确的数字图像,传统系统通常要求数字图像编辑系统需要大量的用户交互、时间和相应的计算资源(例如,处理能力和存储器)。例如,客户端设备通常提供各种用户界面和交互式工具来纠正区域中的错误。为了说明,传统系统通常需要用户交互来标识数字图像内的空洞外的颜色引导区域。此外,纠正应用修复算法产生的错误通常需要客户端设备缩放、平移、选择和迭代地应用各种算法以准确地填充数字图像内的区域。
28.此外,传统的数字图像编辑系统也不灵活。例如,如上所述,传统系统通常不能准确地绘制需要跨数字图像的不同特征的语义感知以及纹理一致性的数字图像。此外,由于使用神经网络方法的许多传统系统的显著的存储器限制,这种系统通常被严格限制在修复低分辨率数字图像。因此,传统系统通常不能处理分辨率超过1k的数字图像中的高质量纹理。
29.如上所述,引导修复系统的实施例可以提供优于传统数字图像编辑系统的若干优点。例如,引导修复系统的实施例可以提供比传统系统更高的准确度。虽然许多传统系统通过复制-粘贴不正确或错位的像素来填充数字图像的区域,从而不准确地修改数字图像,但是引导修复系统利用考虑数字图像的语义和纹理的引导方法。实际上,引导修复系统的某些实施例利用考虑数字图像的不同结构、深度和/或分割的深度视觉引导,以准确地选择更一致地适合缺失或不期望区域的替换像素。
30.与许多传统数字图像编辑系统相比,引导修复系统还可以提高计算效率。实际上,通过利用修复神经网络/视觉引导算法和补丁匹配模型生成数字图像和填充区域,引导修复系统可以避免用于标识填充区域内或外的颜色区域的用户界面、交互、工具和算法。此外,利用更精确的像素表示,引导修复系统在校正填充像素时可以显著地减少用户界面交互、时间和相应的计算资源。实际上,引导修复系统可以利用单个用户界面、最少的用户交互(例如,单击按钮)和显著减少的时间(例如,以秒为单位)自动填充数字图像的区域。
31.此外,与传统的数字图像编辑系统相比,引导修复系统的实施例进一步提高了灵活性。首先,引导修复系统可以生成反映数字图像的语义和纹理特征的准确的数字图像。此外,引导修复系统的一些实施例适用于以比许多传统系统更高的分辨率生成高质量、照片级逼真的纹理。事实上,利用神经网络的传统系统通常被固定为仅以较低分辨率(例如,小于1k)来生成数字图像。相反,引导修复系统使用深度视觉引导来处理低分辨率的数字图
像,以及可以以各种分辨率(例如,高分辨率或低分辨率)生成准确的输出数字图像的补丁匹配模型。因此,引导修复系统可以灵活地适用于以几乎任何分辨率,甚至是当代数字图像中通常使用的高分辨率,来生成修改的数字图像。
32.总而言之,利用基于补丁的方法的传统系统缺乏语义理解,而利用神经网络方法的传统系统缺乏逼真的纹理并且不能在高分辨率图像上操作。相反,引导修复系统在高效地、准确地和灵活地以各种不同分辨率生成数字图像时,提供具有图像语义理解的高质量纹理合成。
33.现在将参考附图提供关于引导修复系统的附加细节。例如,图1示出了根据一个或多个实施例的用于实现引导修复系统102的示例系统环境的示意图。参考图1描述引导修复系统102的概览。此后,参考后续附图提供引导修复系统102的组件和过程的更详细描述。
34.如图所示,该环境包括(多个)服务器104、客户端设备108、数据库112和网络114。环境的每个组件经由网络114通信,并且网络114是计算设备在其上通信的任何适合的网络。下面参考图12更详细地讨论示例网络。
35.如上所述,该环境包括客户端设备108。客户端设备108是各种计算设备中的一个计算设备,包括智能手机、平板电脑、智能电视、台式计算机、膝上型计算机、虚拟现实设备、增强现实设备或参考图12描述的另一计算设备。尽管图1示出了单个客户端设备108,但在一些实施例中,该环境包括多个不同的客户端设备,每个客户端设备与不同的用户(例如,数字图像编辑器)相关联。客户端设备108经由网络114与(多个)服务器104通信。例如,客户端设备108从与客户端设备108交互(例如,经由客户端应用110)的用户接收用户输入,以例如通过填充或替换数字图像的一个或多个区域的像素来编辑或修改数字图像。在一些情况下,客户端设备108经由客户端应用110接收用户输入,以生成数字内容操作序列和/或执行数字内容操作序列。因此,(多个)服务器104上的引导修复系统102接收信息或指令,以利用存储在数据库112中的一个或多个数字内容编辑操作来生成修改的数字内容项。
36.如图所示,客户端设备108包括客户端应用110。具体地,客户端应用110是web应用、安装在客户端设备108上的本地应用(例如,移动应用、桌面应用等)或其中所有或部分功能由(多个)服务器104执行的基于云的应用。客户端应用110向用户呈现或显示信息,包括数字图像编辑界面。在一些情况下,用户与客户端应用110交互以提供用户输入以执行如上所述的操作,诸如通过移除对象和/或替换或填充数字图像的一个或多个区域中的像素来修改数字图像。
37.在一些实施例中,可以使用客户端应用110(或客户端设备108)来实现全部或部分引导修复系统102。例如,引导修复系统102包括允许客户端设备108与(多个)服务器104交互以发送和接收诸如深度视觉引导和修改的数字图像(例如,由(多个)服务器104生成的)的数据的web托管应用。在一些情况下,引导修复系统102经由完全在客户端设备108上的深度视觉引导(例如,利用客户端设备108上的本地处理能力)生成并提供修改的数字图像,而不必与(多个)服务器104通信。
38.如图1所示,该环境包括(多个)服务器104。(多个)服务器104生成、追踪、存储、处理、接收和发送电子数据,诸如数字图像、视觉引导算法、深度视觉引导、补丁匹配模型和用户交互指示。例如,(多个)服务器104以用户交互选择数字图像编辑操作(例如,移除对象或替换特定区域的像素)的指示的形式,从客户端设备108接收数据。此外,(多个)服务器104
将数据发送到客户端设备108以提供修改的数字图像,包括具有经由补丁匹配模型以及深度视觉引导替换的像素的修复区域。实际上,(多个)服务器104与客户端设备108通信以经由网络114发送和/或接收数据。在一些实施例中,(多个)服务器104包括分布式服务器,其中(多个)服务器104包括分布在网络114上并且位于不同物理位置的多个服务器设备。(多个)服务器104包括数字图像服务器、内容服务器、应用服务器、通信服务器、web托管服务器、多维度服务器或机器学习服务器。
39.如图1所示,(多个)服务器104还包括作为数字内容编辑系统106的一部分的引导修复系统102。数字内容编辑系统106与客户端设备108通信以执行与客户端应用110相关联的各种功能,诸如存储和管理数字图像的存储库、修改数字图像以及提供修改的数字图像项以用于显示。例如,引导修复系统102与数据库112通信以访问数字图像、补丁匹配模型和用于修改数字图像的视觉引导算法。实际上,如图1进一步所示,该环境包括数据库112。具体地,数据库112存储诸如数字图像、视觉引导算法、深度视觉引导、补丁匹配模型和/或其他类型的神经网络的信息。
40.尽管图1示出了该环境的特定布置,但在一些实施例中,该环境具有不同的组件布置和/或可以具有不同数目的组件或组件集合。例如,在一些实施例中,引导修复系统102由客户端设备108和/或第三方设备实现(例如,完全或部分位于客户端设备108和/或第三方设备上)。此外,在一个或多个实施例中,客户端设备108绕过网络114,直接与引导修复系统102通信。此外,在一些实施例中,数据库112位于(多个)服务器104外部(例如,经由网络114通信),或位于(多个)服务器104上和/或客户端设备108上。
41.如上所述,在一个或多个实施例中,引导修复系统102通过填充或替换一个或多个区域中的像素来生成修改的数字图像。具体地,引导修复系统102利用深度视觉引导和补丁匹配模型来标识用于填充一个或多个区域的替换像素。图2示出了根据一个或多个实施例,通过利用深度视觉引导210和补丁匹配模型218,替换具有缺失或以其他方式不期望的像素的区域206和208,来修改数字图像。
42.如图2所示,引导修复系统102从初始数字图像202生成修改的数字图像204。具体地,引导修复系统102利用补丁匹配模型218和深度视觉引导210来标识替换像素,并用像素填充区域206和区域208,从而以修改的数字图像204的形式产生视觉上凝聚的输出(例如,其中替换砖块像素填充在砖块应该在的位置,以及其中替换灌木像素填充在灌木应该在的位置)。
43.深度视觉引导(例如,深度视觉引导210)包括指示或通知补丁匹配模型(例如,补丁匹配模型218)标识用于填充数字图像(例如,初始数字图像202)的区域(例如,区域206和/或区域208)的替换像素的引导。在一些情况下,深度视觉引导210包括初始数字图像202内的一个或多个结构、初始数字图像202内的一个或多个深度、和/或初始数字图像202内的一个或多个语义分割的数字和/或视觉表示。例如,深度视觉引导210包括指示初始数字图像202内的一个或多个结构的结构图像引导212(例如,像素指定对象或结构以及对象/结构之间的边缘或边界的结构图像)、指示初始数字图像202内的一个或多个深度的图像深度引导214(例如,像素反映对象到捕获数字图像的观察者或相机的距离的深度图)、指示初始数字图像202内的一个或多个语义分割的分割图像引导216(例如,像素反映数字图像的不同部分的语义标签的分割图像)和/或上述两项或更多项的组合。在某些实施例中,深度视觉
引导210包括一个或多个其他类型的引导,诸如指示数字图像内的一个或多个颜色的图像颜色引导、指示数字图像内的一个或多个数字图像法线的图像法线引导和/或指示数字图像内标识的一个或多个边缘的图像边缘引导。
44.相关地,补丁匹配模型(例如,补丁匹配模型218)包括从数字图像搜索和/或标识替换像素以填充或修复像素区域(例如,区域206和/或区域208)的模型或计算机算法。例如,补丁匹配模型218修改初始数字图像202,以用来自数字图像的相对于初始数字图像202的其他像素在视觉上更聚集的像素,来替换包括错位或缺失像素的区域206和区域208。实际上,使用成本函数,补丁匹配模型218利用一个或多个像素采样技术(例如,随机或概率)来标识像素,以采样像素并将其与要替换的像素区域206和/或区域208中和周围的那些像素进行比较。在一些实施例中,补丁匹配模型218指的是由connelly barnes、eli shechtman、adam finkelstein和dan b.goldman在patchmatch:a randomized correspondence algorithm for structural image editing(patchmatch:一种用于结构图像编辑的随机化对应算法),acm trans.graph.28(3):24(2009)中描述的模型,其全文通过引用合并于此。
45.如上所述,为了生成深度视觉引导210,引导修复系统102利用视觉引导算法。视觉引导算法包括生成深度视觉引导(例如,深度视觉引导210)的计算机模型或算法。例如,视觉引导算法包括从修复数字图像(例如,初始数字图像202的修复版本)生成结构图像引导212的结构图像模型。备选地,视觉引导算法包括图像深度神经网络,该图像深度神经网络从修复数字图像生成图像深度引导214。此外,在一些情况下,视觉引导算法包括从修复数字图像生成分割图像引导216的分割图像引导。作为另一示例,视觉引导算法直接从初始数字图像202生成深度视觉引导。在这些实施例中,视觉引导算法可以包括生成器神经网络或教师-学生神经网络框架中的一个或多个,以直接从初始数字图像202生成深度视觉引导。
46.神经网络包括机器学习模型,该机器学习模型可以基于输入进行训练和/或调整以确定分类或近似未知函数。例如,神经网络包括互连的人工神经元的模型(例如,以层组织的),其通信并学习近似复杂函数,并基于提供给神经网络的多个输入生成输出(例如,生成的数字图像)。在某些情况下,神经网络指的是实现深度学习技术以对数据中的高级抽象进行建模的算法(或算法集)。
47.在一个或多个实施例中,修复数字图像包括由深度修复神经网络生成的数字图像,以初步填充像素区域(例如,区域206和/或区域208),以用初始替换像素集进行替换。实际上,引导修复系统102通过利用预先训练的修复神经网络来标识初始替换像素集以(粗略地)修复初始数字图像202的区域206和/或区域208,从初始数字图像202生成修复数字图像。在一些情况下,修复数字图像比初始数字图像202和修改的数字图像204具有更低的分辨率。
48.如上所述,通过各种描述的生成修改的数字图像204的动作,在一些实施例中,引导修复系统102利用具有不同体系结构的多个神经网络来标识和插入替换像素。例如,如上所述,引导修复系统利用视觉引导算法来生成深度视觉引导210。如还提到的,引导修复系统102利用修复神经网络从初始数字图像202生成修复数字图像。在一些实施例中,修复神经网络包括深度神经网络,该深度神经网络利用迭代置信度反馈和引导上采样来执行数字图像修复。
49.如图2所示,引导修复系统102利用深度视觉引导210(例如,结构图像引导212、图像深度引导214或分割图像引导216中的一项或多项)和补丁匹配模型218两者来生成修改的数字图像204。在一些实施例中,引导修复系统102从修复的数字图像生成深度视觉引导210。在其他实施例中,引导修复系统102利用诸如生成器神经网络或教师-学生神经网络框架的备选神经网络,直接从初始数字图像202生成深度视觉引导210。
50.如上所述,在一些实现中,引导修复系统102从修复数字图像生成深度视觉引导(例如,深度视觉引导210)。具体地,引导修复系统102在随后生成深度视觉引导(例如,深度视觉引导210)之前,首先从输入数字图像(例如,初始数字图像202)生成修复数字图像。图3示出了根据一个或多个实施例,通过从修复数字图像306生成深度视觉引导310,从输入数字图像302(具有一个或多个缺失像素的空洞或区域)生成修改的数字图像314。
51.如图3所示,引导修复系统102从输入数字图像302生成修复数字图像306。更具体地,引导修复系统102利用深度修复神经网络304从输入数字图像302生成修复数字图像306。例如,深度修复神经网络304生成输入数字图像302的低分辨率,并处理或分析该低分辨率图像以标识初始替换像素集,以填充或修复输入数字图像302的缺失或有缺陷区域303a和303b。在一些实施例中,深度修复神经网络304被预训练以使用从样本数字图像的数据集学习的参数来标识初始替换像素集。例如,深度修复神经网络304标识(或接收其指示)要替换的像素区域303a和303b,并且基于所学习的参数,用从输入数字图像302的其他部分复制的像素替换区域303a和303b中的像素。在一个或多个实施例中,引导修复系统102利用深度修复神经网络304,诸如由yu zeng、zhe lin、jimei yang、jianming zhang、eli shechtman和huchuan lu在high-resolution inpainting with iterative confidence feedback and guided upsampling(迭代置信度反馈和引导上采样的高分辨率修复),arxiv:2005.11742(2020)中描述的神经网络,其全文通过引用合并于此。
52.实际上,如图3所示,修复数字图像306包括输入数字图像302的(较低分辨率)版本,其中区域303a和303b至少初步地填充有初始的、粗略匹配的替换像素集。仔细观察,在生成修复数字图像306时用于替换区域303a和303b的像素仍然具有各种缺陷,诸如较低分辨率、不期望区域以及使砖墙显得凹凸不平或弯曲的不匹配像素。为了最终生成更准确的修改的数字图像314,引导修复系统102还从修复的数字图像306生成深度视觉引导310。
53.更具体地,引导修复系统102利用视觉引导算法308从修复数字图像306生成深度视觉引导310。具体而言,引导修复系统102以结构图像引导311a、图像深度引导311b、分割图像引导311c或上述两项或更多项的组合的形式生成深度视觉引导310。在一些情况下,视觉引导算法308用从样本数字图像的数据库学习的参数进行预训练,以根据这些参数以一种或另一种形式生成深度视觉引导。
54.如上所述,在一些实施例中,引导修复系统102生成结构图像引导311a作为深度视觉引导310。更具体地,引导修复系统102利用结构图像模型作为视觉引导算法308来处理修复数字图像306并生成结构图像引导311a。例如,引导修复系统102利用结构图像模型来标识修复数字图像306内的一个或多个不同结构。在一些情况下,结构图像模型基于检测修复数字图像306内的边缘来标识结构。
55.具体而言,引导修复系统102基于局部变化度量(例如,固有变化和相对总变化),利用结构图像模型从修复数字图像306中提取结构。例如,结构图像模型标识有意义的内容
和纹理边缘,而不假设规则性或对称性。在一些情况下,作为标识不同结构组件之间的边缘或边界的一部分,结构图像模型进一步标识、保留或移除数字图像的纹理(或至少一些纹理组分)。因此,结构图像倾向于包括标识不同结构的大的凝聚的区域(例如,没有小的区域变化)。因为结构图像倾向于提供指示共同结构的大的同质区域,所以这些图像可以为补丁匹配模型在确定在标识替换像素时从哪些区域提取时,提供准确的资源(因为在应用补丁匹配算法时小的区域变化很容易被冲淡或忽略)。
56.另外,结构图像模型分解优化问题以从变化量度中提取主要结构。具体地,结构图像模型根据从样本数字图像的数据集上将预测结构与地面真实结构信息进行比较而学习的参数来提取主要结构。在一些实施例中,引导修复系统102利用诸如rtv平滑的计算机视觉算法形式的结构图像模型。例如,引导修复系统102利用由li zu、qiong yan、yang xia和jiaya jia在structure extraction from texture via relative total variation(经由相对全变差法的纹理结构提取),acm transactions on graphics 31(6):1-10(2012)中描述的结构图像模型,其全文通过引用合并于此。在一些实施例中,引导修复系统102利用不同的结构图像模型来标识数字图像内的各种结构。
57.在一个或多个实施例中,引导修复系统102生成图像深度引导311b作为深度视觉引导310。具体地,引导修复系统102利用图像深度神经网络作为视觉引导算法308来处理修复数字图像306并生成图像深度引导311b。例如,引导修复系统102利用图像深度神经网络来标识修复数字图像306内的一个或多个不同深度。
58.具体而言,引导修复系统102利用图像深度神经网络来确定对修复数字图像306内的不同对象或结构的单目深度预测。具体地,图像深度神经网络分析修复数字图像306以生成单通道深度图。例如,图像深度神经网络根据从样本数字图像的数据集学习的参数来生成深度图,用于提取伪深度数据以与地面真实深度信息进行比较。在一些情况下,引导修复系统102利用诸如depthnet的预先训练的图像深度神经网络。例如,引导修复系统102利用由ke xian、jianming zhang、oliver wang、long mai、zhe lin和zhiguo cao在structure-guided ranking loss for single image depth prediction(用于单个图像深度预测的结构引导的排序损失)中描述的图像深度神经网络,其全文通过引用合并于此。作为另一示例,引导修复系统102利用不同的图像深度神经网络,诸如利用卷积神经网络方法(例如,包括完全卷积网络和/或残差神经网络)的resnet-50体系结构。
59.在某些实施例中,引导修复系统102生成分割图像引导311c作为深度视觉引导310。更具体地,引导修复系统102利用分割图像神经网络作为视觉引导算法308来处理修复数字图像306并生成分割图像引导311c。例如,引导修复系统102利用分割图像神经网络来标识修复数字图像306内的一个或多个不同的语义分割。
60.更具体地,引导修复系统利用分割图像神经网络来标识修复数字图像306中对应于不同语义标签的部分。实际上,分割图像神经网络根据从样本数字图像的数据集上比较预测语义标签与地面真值语义标签中学习到的参数,将标签分配给修复数字图像306的部分、对象或结构。在某些情况下,引导修复系统102利用诸如segmentnet的预先训练的分割图像神经网络。例如,引导修复系统利用由ke sun、yang zhao、borui jian、tianheng cheng、bin xiao、dong liu、yadong mu、xinggang wang、wenyu liu和jingdong wang在high-resolution representations for labeling pixels and regions(用于标记像素
和区域的高分辨率表示),arxiv:1904.04515(2019)中描述的分割图像神经网络,其全文通过引用合并于此。作为另一示例,引导修复系统102利用不同的分割图像神经网络来标记数字图像的部分或对象。
61.如图3进一步所示,引导修复系统102利用引导补丁匹配模型312来生成修改数字图像314。实际上,引导修复系统102利用由深度视觉引导310通知的引导补丁匹配模型312。为了生成修改的数字图像,引导修复系统102利用引导补丁匹配模型312来分析输入数字图像302,以标识由深度视觉引导310指示的区域303a和303b的替换像素。例如,引导补丁匹配模型312标识区域303a和303b,并比较来自输入数字图像202的不同部分的像素,以标识填充区域303a和303b的良好的候选。
62.具体地,深度视觉引导310通知引导补丁匹配模型312在哪里标识来自输入数字图像302的替换像素。例如,深度视觉引导310指示具有对应于区域303a和/或区域303b的结构、深度和/或语义分割的输入数字图像302的部分。因此,引导补丁匹配模型312分析那些部分中的像素以标识和选择用于填充区域303a和303b的替换像素。实际上,通过填充区域303a和303b,引导修复系统102由此生成具有在视觉上适合于区域303a和303b的精确替换像素的语义一致的修改的数字图像314(例如,以高分辨率匹配输入数字图像302的分辨率)。在一些情况下,引导修复系统102利用一个或多个特定技术来从输入数字图像302确定结构、深度和/或语义分割。例如,引导修复系统102实现由aaron hertzmann、charles e.jacobs、nuria oliver、brian curless和david h.salesin在image analogies(图像类比),proceedings of the 28
th annual conference on computer graphics and interactive techniques(第28届计算机图形学与交互技术年会论文集)327-40(2001)中描述的技术,其全文通过引用合并于此。
63.在某些实施例中,引导补丁匹配模型312与视觉引导算法308和深度修复神经网络304正交。因此,引导补丁匹配模型可以容易地适应不同类型的深度模型或可用于生成深度视觉引导的其他系统。因此,引导修复系统102将基于补丁的方法与基于学习的方法相结合的混合方法使得灵活的即插即用应用能够用于未来在生成深度视觉引导方面的新发展。
64.尽管图3示出了利用三种不同类型的深度视觉引导310:i)结构图像引导、ii)图像深度引导和iii)分割图像引导,但是其他深度视觉引导也是可能的。例如,在一些实施例中,引导修复系统102从输入数字图像302的数字图像法线生成深度视觉引导310。作为另一示例,引导修复系统102利用边缘滤波器来检测输入数字图像302内的一个或多个边缘来生成深度视觉引导310。
65.作为另一示例,引导修复系统102从输入数字图像302的原始颜色生成深度视觉引导。然而,尽管预测图像颜色引导在生成修改的数字图像时会产生最好的结果,但研究人员已经确定,结构、深度和分割效果出人意料地更好。在一些实施例中,引导修复系统120将颜色与一种或多种其他类型的深度视觉引导组合,以增强准确性和性能。
66.如上所述,在一个或多个实施例中,引导修复系统102直接根据输入数字图像生成深度视觉引导(例如,不生成修复数字图像)。具体地,在一些情况下,引导修复系统102从输入数字图像提取遮挡结构图像和二值掩模,并利用生成器神经网络根据输入数字图像、遮挡结构图像和二值掩模生成深度视觉引导。图4示出了根据一个或多个实施例,利用生成器神经网络408直接根据输入数字图像402生成深度视觉引导410。
67.如图4所示,引导修复系统102根据输入数字图像402生成中间数字图像404(即,结构图像)。具体地,引导修复系统102将中间数字图像404生成为遮挡结构图像,该遮挡结构图像指示在要替换的像素区域403a和403b之外的一个或多个部分中的输入数字图像402的结构。为了生成中间数字图像404,引导修复系统102利用结构图像模型从输入数字图像402中提取不同的结构。附加地,引导修复系统102从输入数字图像402生成二值掩模406。二值掩模406指示要替换的像素区域403a和403b。
68.如图4进一步所示,引导修复系统102利用生成器神经网络408处理输入数字图像402、中间数字图像404和二值掩模406。进而,包括编码器神经网络(由“e”表示)和解码器神经网络(由“d”表示)的生成器神经网络408以结构图像引导的形式生成深度视觉引导410。在一些情况下,生成器神经网络408输出仅指示区域403a和403b的结构(而不指示输入数字图像402的其他部分的结构)的部分结构数字图像。此外,引导修复系统102将从生成器神经网络408输出的部分结构与中间数字图像404组合,以生成指示贯穿整个输入数字图像402的结构的深度视觉引导410。
69.尽管图4示出了利用生成器神经网络408来生成结构图像引导,但是备选实施例也是可能的。例如,在一些实施例中,引导修复系统102利用生成器神经网络408生成图像深度引导和/或分割图像引导。为了生成图像深度引导,引导修复系统102生成中间数字图像(例如,利用图像深度神经网络),该中间数字图像指示区域403a和403b之外的输入数字图像402的部分中的深度。另外,引导修复系统102将中间数字图像输入生成器神经网络408以预测区域403a的深度和区域403b的深度。因此,引导修复系统102将预测深度与中间数字图像组合以生成图像深度引导形式的深度视觉引导。
70.为了生成分割图像引导,引导修复系统102生成中间数字图像(例如,利用分割图像神经网络),该中间数字图像指示区域403a和403b之外的输入数字图像402的部分的语义分割。此外,引导修复系统102将中间数字图像输入生成器神经网络408以预测区域403a的一个或多个分割以及区域403b的一个或多个分割。因此,引导修复系统102将预测的分割与中间数字图像组合,以生成分割图像引导形式的深度视觉引导。
71.在一个或多个实施例中,引导修复系统102训练生成器神经网络408以预测结构。例如,引导修复系统102学习组成生成器神经网络408的成分编码器神经网络和成分解码器神经网络的参数。具体而言,引导修复系统102将样本数字图像输入编码器神经网络,编码器神经网络对样本数字图像的潜代码或特征表示进行编码或提取。此外,引导修复系统102将编码的特征表示传递给解码器神经网络,解码器神经网络解码该特征表示以生成或再现样本数字图像(或最佳近似)。
72.此外,引导修复系统102利用鉴别器神经网络来测试所生成或再现的数字图像,以预测图像是真实的(例如,来自数字图像数据库)还是人工的(例如,由生成器神经网络408生成)。在一些实施例中,引导修复系统102利用对抗性损失函数损失来确定与生成器神经网络408(例如,生成器神经网络408和鉴别器神经网络之间)相关联的误差或损失度量。实际上,引导修复系统102确定对抗性损失,该损失在某些情况下指示重建的数字图像有多准确(或不准确)和/或生成器神经网络408在欺骗鉴别器神经网络将人工数字图像标识为真实数字图像方面有多有效。引导修复系统102通过修改参数来改进生成器神经网络408,以减少在生成重建的数字图像并确定它们是真的还是假的的多次迭代上的对抗性损失。
73.附加地,在一些实施例中,引导修复系统102还利用具有l1损失的监督学习方法来修改参数并改进生成器神经网络408。例如,引导修复系统102将样本数字图像输入生成器神经网络408,于是生成器神经网络408生成预测的深度视觉引导(例如,深度视觉引导410)。此外,引导修复系统102利用l1损失函数来将预测的深度视觉引导与地面真值深度视觉引导(例如,存储为对应于样本数字图像的地面真值深度视觉引导)进行比较。利用l1损失函数,引导修复系统102确定与生成器神经网络408相关联的损失度量。此外,引导修复系统102修改生成器神经网络408的参数以减少或最小化l1损失。引导修复系统102重复以下过程:输入样本数字图像、生成预测的深度视觉引导、将预测的深度视觉引导与地面真值深度视觉引导进行比较、以及修改用于多次迭代或历元的参数(例如,直到l1损失满足阈值损失)。
74.如上所述,在某些描述的实施例中,引导修复系统102利用教师-学生神经网络框架来生成深度视觉引导。具体地,引导修复系统102利用具有从教师神经网络学习的参数的学生神经网络来直接从输入数字图像生成深度视觉引导。图5示出了根据一个或多个实施例,利用具有从教师神经网络510学习的参数的学生神经网络512来生成深度视觉引导508。
75.在一些实施例中,学生神经网络包括从教师神经网络学习或传递参数的神经网络。另一方面,教师神经网络包括通过多次学习迭代来学习参数的神经网络(例如,基于样本数据集生成预测并修改参数以减少与预测相关联的损失度量)。
76.如图5所示,引导修复系统102利用学生神经网络512来生成图像深度引导形式的深度视觉引导508。具体地,引导修复系统102利用学生神经网络512来处理包括要替换的像素的空洞区域507的不完整数字图像506,于是学生神经网络512根据从教师神经网络510学习的参数来生成深度视觉引导508。
77.实际上,学生神经网络512包括从教师神经网络510学习的参数。如图所示,引导修复系统102通过传送或适配来自教师神经网络510的参数来学习用于学生神经网络512的参数。例如,引导修复系统102利用在样本数字图像的数据集上预先训练的教师神经网络510来标记数字图像的深度。如图所示,引导修复系统102将完全数字图像502(例如,没有要替换的像素区域的数字图像)输入到教师神经网络510。进而,教师神经网络510确定不同深度的教师标签,并使用锁定的或冻结的参数来生成图像深度引导504。
78.如图5进一步所示,引导修复系统102从完全数字图像502生成不完整数字图像506。不完整数字图像506包括要替换的像素的空洞区域507。引导修复系统102还用所学习的教师神经网络510的参数来初始化学生神经网络512的权重或参数。
79.此外,引导修复系统102将不完整数字图像506输入到学生神经网络512,于是学生神经网络512根据所学习的参数生成深度视觉引导508。例如,引导修复系统102利用学生神经网络512来针对不完整数字图像506的不同深度生成预测标签。引导修复系统102利用从教师神经网络510学习或传送的参数来从具有空洞区域507的不完整数字图像506生成深度视觉引导508。
80.在一个或多个实施例中,引导修复系统102修改学生神经网络512的参数以提高生成与教师神经网络510的输出相似的输出的准确性。更具体地,引导修复系统102将来自学生神经网络512的预测标签与来自教师神经网络510的教师标签进行比较。在一些情况下,引导修复系统102利用梯度损失函数来确定与学生神经网络512(或学生神经网络512和教
师神经网络510之间)相关联的损失度量。另外,引导修复系统102修改学生神经网络512的参数以减少损失度量。在某些实施例中,当生成图像深度引导时,引导修复系统102利用针对教师神经网络510和/或学生神经网络512的结构引导排序损失(“srgl”)神经网络。通过基于由教师神经网络510生成的教师标签迭代地修改学生神经网络512的参数,引导修复系统102可以训练学生神经网络512以根据包括空洞或其他替换区域的数字图像生成准确的深度视觉引导。
81.尽管图5示出了以图像深度引导的形式生成深度视觉引导508,但是附加实施例也是可能的。例如,在一些实施例中,引导修复系统102利用教师-学生神经网络框架来生成分割图像引导形式的深度视觉引导。作为另一示例,引导修复系统102利用教师-学生神经网络框架来生成结构图像引导形式的深度视觉引导。为了生成分割图像引导,引导修复系统102利用学生神经网络512来处理不完整数字图像506,并根据从教师神经网络510学习的参数来生成分割图像引导。
82.为了学习学生神经网络512的参数,引导修复系统102利用教师神经网络510处理完全数字图像502,于是教师神经网络为分割图像引导生成教师标签,该分割图像引导指示完全数字图像502的语义分割。如上所述,引导修复系统102还将参数从教师神经网络510传送到学生神经网络512。此外,引导修复系统102利用学生神经网络512来生成用于不完整数字图像506的语义分割的预测标签。
83.如上所述,引导修复系统102鼓励学生神经网络512(从不完整数字图像506)生成与教师神经网络510(从完全数字图像502)生成的分割图像引导相似的分割图像引导。具体地,引导修复系统102利用负对数似然损失函数来确定与学生神经网络512相关联的损失度量。此外,引导修复系统102修改学生神经网络512的参数以减少损失度量,从而生成与教师神经网络510的输出更相似的输出。在某些实施例中,当生成分割图像引导时,引导修复系统102利用针对教师神经网络510和/或学生神经网络512在ade20k数据集上预先训练的hrnet神经网络。
84.如上所述,在一些实施例中,引导修复系统102将补丁匹配模型与一个或多个深度视觉引导组合,以标识和选择替换像素。具体地,引导修复系统102利用成本函数作为补丁匹配模型的一部分,来标识和选择替换像素以填充数字图像的区域。图6示出了根据一个或多个实施例,修改和利用补丁匹配成本函数以合并一个或多个深度视觉引导。
85.如图6所示,引导修复系统102确定深度视觉引导602(或其对应的视觉引导算法)的权重。具体地,引导修复系统102确定结构图像引导的结构权重、图像深度引导的深度权重和分割图像引导的分割引导。基于权重,引导修复系统102组合深度视觉引导(或其对应的视觉引导算法)以标识和选择替换像素。在一些情况下,引导修复系统102利用缺省权重,其中结构权重、深度权重和分割权重彼此相同或不同。
86.如图6进一步所示,引导修复系统102利用初始成本函数604。具体而言,引导修复系统102利用初始成本函数604作为补丁匹配模型(例如,补丁匹配模型218)的一部分,来从数字图像标识和选择替换像素。例如,引导修复系统102利用初始成本函数604来确定缺失区域中的像素与潜在替换像素的一部分中的像素之间的关系或距离。在一些情况下,引导修复系统102实现初始成本函数604,以确定目标部分(例如,由二维点“dst
xy”指定)中的目标像素或部分(例如,当前正由补丁匹配模型分析的潜在替换像素或部分)与要由二维点
(例如,“srcproposedpt”)替换的像素或补丁之间的平方差之和(“ssd”)。例如,引导修复系统102利用由以下公式给出的初始成本函数604:
87.ssd(target[dst
xy
],source[srcproposedpt])
[0088]
其中,ssd(.)确定两个项target[dst
xy
]和source[srcproposedpt]之间的平方差之和,其中target[dst
xy
]是潜在的(多个)替换像素,source[srcproposedpt]是要替换的缺失或不期望的(多个)像素。
[0089]
如图6所示,引导修复系统102还生成修改的成本函数606。具体地,引导修复系统102用深度视觉引导602的权重修改初始损失函数604。例如,引导修复系统102生成初始损失函数和结构图像引导、图像深度引导和分割图像引导的加权版本的加权组合。实际上,引导修复系统102根据分配给各个深度视觉引导(或相应的视觉引导算法)的权重来组合两个或更多个深度视觉引导。例如,引导修复系统102利用由下式给出的修改的成本函数:
[0090]wcolor
*ssd(color)+w
depth
*ssd(depth_guide)+w
struct
*ssd(struct_guide)+w
seg
*ssd(seg_guide)
[0091]
其中,ssd(color)表示上面定义的初始成本函数604(例如,颜色项),w
color
表示初始成本函数604的颜色权重,w
depth
表示深度权重,w
struct
表示结构权重,w
seg
表示分割权重,ssd(depth_guide)表示用于确定要替换的像素和由图像深度引导指示为潜在替换像素的像素之间的平方差之和的成本函数,ssd(struct_guide)表示用于确定要替换的像素和由结构图像引导指示为潜在替换像素的像素之间的平方差之和的成本函数,并且ssd(seg_guide)表示用于确定要替换的像素和由分割图像引导指示为潜在替换像素的像素之间的平方差之和的成本函数。
[0092]
通过利用修改的成本函数606,引导修复系统102利用多于一个深度视觉引导(例如,组合的深度视觉引导)来引导补丁匹配模型以标识替换像素。具体地,引导修复系统102生成结构图像引导、图像深度引导和/或分割图像引导中的两个或更多个的加权组合,以用于标识替换像素(例如,与补丁匹配模型一起)。在一些情况下,引导修复系统102自动确定深度视觉引导的相应权重(例如,通过均匀地或以特定的升序或降序对它们加权)。在这些或其他情况下,引导修复系统102利用一个或多个加权的深度视觉引导来修改补丁匹配模型的成本函数(但不必使用全部三个)。例如,引导修复系统102利用修改的成本函数,诸如:
[0093]
0.6*ssd(color)+0.2*ssd(depth_guide)+0.2*ssd(struct_guide)
[0094]
如上所述,在一些实施例中,引导修复系统102比传统的数字图像编辑系统提高了准确性。具体地,引导修复系统102可以生成修改的数字图像,该修改的数字图像在语义上更一致,并且包括更准确地填充缺失或不期望的像素区域的替换像素。图7-9示出了根据一个或多个实施例,由引导修复系统102生成的修改的数字图像与由传统的补丁匹配系统生成的修改的数字图像之间的示例比较。
[0095]
例如,图7示出了由引导修复系统102的示例实施例使用结构图像引导704生成的修改的数字图像708。实际上,引导修复系统102的示例实施例从输入数字图像702生成结构图像引导,并且还通过利用结构引导补丁匹配模型填充输入数字图像702的缺失区域来生成修改的数字图像708。将修改的数字图像708与由传统的补丁匹配系统生成的修改的数字图像706进行比较,引导修复系统102的示例实施例通过使用不添加不想要的或语义上不连贯的伪影(其被添加到修改的数字图像706中)的替换像素而执行得更好。实际上,修改的数
字图像706包括修改的数字图像708中不存在的幻影桌腿。
[0096]
图8示出了根据一个或多个实施例,使用图像深度引导804的引导修复系统102的输出与传统补丁匹配系统的输出之间的比较。如图所示,引导修复系统102的示例实施例从输入数字图像802生成图像深度引导804。此外,引导修复系统102利用深度引导补丁匹配模型生成修改的数字图像808。将修改的数字图像808与由传统的补丁匹配系统生成的修改的数字图像806进行比较,与修改的数字图像806相比,修改的数字图像808包括不期望程度变小且看起来更逼真的像素。
[0097]
图9示出了根据一个或多个实施例,使用分割图像引导904的引导修复系统102的输出与传统补丁匹配系统的输出之间的比较。如图所示,引导修复系统102的示例实施例从输入数字图像902生成分割图像引导904。此外,引导修复系统102利用分割引导补丁匹配模型生成修改的数字图像908。将修改的数字图像908与由传统的补丁匹配系统生成的修改的数字图像906进行比较,修改的数字图像908包括与输入数字图像902的天空更匹配并且不包括添加伪影的像素(与修改的数字图像906不同,修改的数字图像906包括看起来是建筑物的一部分漂浮在天空中的像素)。
[0098]
现在参考图10,将提供关于引导修复系统102的组件和能力的附加细节。具体地,图10示出了示例计算设备1000(例如,客户端设备108和/或(多个)服务器104中的一个或多个)上的引导修复系统102的示例示意图。如图10所示,引导修复系统102包括深度修复管理器1002、深度视觉引导管理器1004、替换像素管理器1006、数字图像管理器1008和存储管理器1010。
[0099]
如上所述,引导修复系统102包括深度修复管理器1002。具体地,深度修复管理器1002管理、维护、存储、访问、应用、利用、实现或标识深度修复神经网络。实际上,深度修复管理器1002通过标识用于填充输入数字图像内要替换的一个或多个像素区域的初始替换像素集,从输入数字图像生成或创建初步修复数字图像。
[0100]
此外,引导修复系统102包括深度视觉引导管理器1004。具体地,深度视觉引导管理器1004管理、维护、存储、访问、确定、生成或标识深度视觉引导。例如,深度视觉引导管理器1004利用一个或多个视觉引导算法根据修复数字图像生成深度视觉引导。在一些情况下,深度视觉引导管理器1004经由生成器神经网络和/或教师-学生神经网络框架直接根据输入数字图像(例如,不使用修复数字图像)生成深度视觉引导。在一些实施例中,深度视觉引导管理器1004生成组合的深度视觉引导和/或学习用于生成深度视觉引导的一个或多个神经网络的参数,如上所述。
[0101]
如图所示,引导修复系统102还包括替换像素管理器1006。具体地,替换像素管理器1006管理、维护、存储、确定、访问、选择或标识来自输入数字图像(或不同数字图像)的替换像素。例如,替换像素管理器1006利用补丁匹配模型连同深度视觉引导,或由深度视觉引导通知,来标识替换像素。
[0102]
此外,引导修复系统102包括数字图像管理器1008。具体地,数字图像管理器1008管理、存储、访问、生成、创建、修改、填充、修复或标识数字图像。例如,数字图像管理器1008利用补丁匹配模型和深度视觉引导,通过用替换像素填充输入数字图像的区域来生成修改的数字图像。
[0103]
引导修复系统102还包括存储管理器1010。存储管理器1010包括一个或多个存储
设备或与之结合操作,该存储设备诸如是存储各种数据的数据库1012(例如,数据库112),诸如数字图像的储存库和各种神经网络。存储管理器1010(例如,经由非瞬态计算机存储器/一个或多个存储设备)存储和维护与生成修复数字图像、生成深度视觉引导、学习神经网络的参数、以及经由引导补丁匹配模型生成修改的数字图像(例如,在数据库1012内)相关联的数据。例如,存储管理器1010存储修复神经网络,包括结构图像模型、图像深度神经网络或分割图像神经网络中的至少一个的视觉引导算法,补丁匹配模型,以及包括要替换的像素区域的数字图像。
[0104]
在一个或多个实施例中,引导修复系统102的每个组件使用任何适合的通信技术彼此通信。另外,引导修复系统102的组件与包括上述一个或多个客户端设备的一个或多个其他设备通信。将认识到,尽管在图10中示出了引导修复系统102的组件是分隔的,但是任何子组件可以被组合成更少的组件,诸如组合成单个组件,或者被划分成更多的组件,以服务于特定的实现方式。此外,尽管结合引导修复系统102描述了图10的组件,但是本文描述的用于结合引导修复系统102执行操作的组件中的至少一些可以在该环境内的其他设备上实现。
[0105]
引导修复系统102的组件可以包括软件、硬件或两者。例如,引导修复系统102的组件可以包括存储在计算机可读存储介质上并且可由一个或多个计算设备(例如,计算设备1000)的处理器执行的一个或多个指令。当由一个或多个处理器执行时,引导修复系统102的计算机可执行指令可以使计算设备1000执行本文描述的方法。备选地,引导修复系统102的组件可以包括硬件,诸如执行特定功能或功能组的专用处理设备。另外地或备选地,引导修复系统102的组件可以包括计算机可执行指令和硬件的组合。
[0106]
此外,执行本文描述的功能的引导修复系统102的组件可以例如被实现作为独立应用的一部分、作为应用的模块、作为包括内容管理应用的应用的插件、作为可由其他应用调用的一个或多个库函数、和/或作为云计算模型。因此,引导修复系统102的组件可以作为个人计算设备或移动设备上的独立应用的一部分来实现。备选地或另外地,引导修复系统102的组件可以在允许创建营销内容并将其递送给用户的任何应用中实现,包括但不限于experience manager和creative中的应用,诸如stock、和“adobe”、“adobe experience manager”、“creative cloud”、“adobe stock”、“photoshop”、“illustrator”和“indesign”是adobe公司在美国和/或其他国家的注册商标或商标。
[0107]
图1-图10对应的文本和示例提供了多个不同的系统、方法和非瞬态计算机可读介质,用于通过利用引导补丁匹配模型标识替换像素来生成修改的数字图像。除上述之外,还可以根据包括用于实现特定结果的动作的流程图来描述实施例。例如,图11示出了根据一个或多个实施例的示例动作序列或系列的流程图。
[0108]
虽然图11示出了根据一个实施例的动作,但是备选实施例可以省略、添加、重新排序和/或修改图11中所示的任何动作。图11的动作可以作为方法的一部分来执行。备选地,非瞬态计算机可读介质可以包括指令,指令在由一个或多个处理器执行时,使计算设备执行图11的动作。在又一些实施例中,系统可以执行图11的动作。另外,本文描述的动作可以重复或彼此并行地执行,或者与相同或其他类似动作的不同实例并行地执行。
[0109]
图11示出了通过利用引导补丁匹配模型标识替换像素来生成修改的数字图像的
动作1100的示例系列。具体地,一系列动作1100包括生成修复数字图像的动作1102。例如,动作1102涉及利用修复神经网络从数字图像生成修复的数字图像,该修复的数字图像包括该区域的初始替换像素集。
[0110]
如图所示,动作系列1100还包括生成深度视觉引导的动作1104。具体地,动作1104涉及利用视觉引导算法从修复数字图像生成深度视觉引导。例如,动作1104涉及生成指示数字图像的区域内的结构、深度或语义分割中的一个或多个的深度视觉引导图像。在一些实施例中,动作1104涉及利用视觉引导算法从修复数字图像生成深度视觉引导,该深度视觉引导包括结构图像引导、图像深度引导或分割图像引导中的至少一项。在一些情况下,标识替换像素涉及利用补丁匹配模型来标识数字图像内与深度视觉引导所指示的数字图像区域内的结构、深度或语义分割相对应的像素。
[0111]
在一些实施例中,动作1104涉及利用包括结构图像模型的视觉引导算法从修复数字图像生成结构图像引导,用于从修复数字图像内标识的一个或多个结构标识替换像素。在一些情况下,动作1104涉及利用结构图像模型生成结构图像引导以作为深度视觉引导,以确定修复数字图像的不同结构组件之间的边缘。在这些或其他实施例中,动作1104涉及利用包括图像深度神经网络的视觉引导算法,根据修复数字图像生成图像深度引导,用于从修复数字图像的深度图标识替换像素。在相同或其他实施例中,动作1104涉及利用包括图像深度神经网络的视觉引导算法,根据修复数字图像生成图像深度引导,用于从修复数字图像的深度图标识替换像素。在某些实施例中,动作1104涉及利用包括分割图像神经网络的视觉引导算法,根据修复数字图像生成分割图像引导,用于从修复数字图像的语义分割标识替换像素。
[0112]
此外,动作系列1100包括标识替换像素的动作1106。具体地,动作1106涉及利用补丁匹配模型和深度视觉引导根据数字图像标识用于数字图像的区域的替换像素。例如,动作1106涉及利用补丁匹配模型来标识以下中的一项或多项:利用结构图像引导的属于像素区域的结构的数字图像的像素、利用图像深度引导的具有与像素区域的深度相对应的深度的数字图像的像素、或者利用分割图像引导的属于像素区域的分割的数字图像的像素。
[0113]
如图11所示,动作系列1100包括生成修改的数字图像的动作1108。具体地,动作1108涉及通过用替换像素替换数字图像的区域来生成修改的数字图像。例如,动作1108涉及用替换像素替换数字图像的区域,其中修改的数字图像比修复数字图像具有更高的分辨率。
[0114]
在一些实施例中,动作系列1100包括利用卷积神经网络从来自数字图像的视觉引导算法集中选择用于生成深度视觉引导的视觉引导算法的动作。在相同或其他实施例中,动作系列1100包括生成组合的深度视觉引导的动作,该组合的深度视觉引导包括结构图像引导、图像深度引导或分割图像引导中的两项或更多项。在这些实施例中,动作1108涉及利用补丁匹配模型和组合的深度视觉引导来标识替换像素。
[0115]
在一个或多个实施例中,动作系列1100包括利用卷积神经网络从来自数字图像的深度视觉引导集合(包括结构图像引导、图像深度引导和分割引导)中选择用于生成深度视觉引导的视觉引导算法的动作。在某些情况下,动作系列1100包括利用卷积神经网络确定数字图像与结构图像模型、图像深度神经网络和分割图像神经网络中的每个神经网络之间的对应性度量的动作。
[0116]
另外,动作系列1100包括根据对应性度量,向结构图像模型、图像深度神经网络和分割图像神经网络中的每个分配权重的动作。此外,动作系列1100包括通过根据权重组合结构图像引导、图像深度引导或分割图像引导中的两项或更多项来生成深度视觉引导的动作。在一些实施例中,动作系列1100包括从被分类为对应于结构图像模型、图像深度神经网络或分割图像神经网络中的一项或多项的数字图像数据库学习卷积神经网络的参数的动作。
[0117]
在某些实施例中,动作系列1100包括接收包括要替换的像素区域的数字图像的动作。在这些或其他实施例中,动作系列1100包括生成指示该区域之外的数字图像的一部分的结构的中间数字图像的动作和生成指示数字图像的区域的二值掩模的动作。此外,动作系列1100包括利用生成器神经网络根据数字图像、中间数字图像和二值掩模预测数字图像的区域内的结构的动作。在一些情况下,动作系列1100包括生成指示数字图像的区域的二值掩模,以及通过利用生成器神经网络基于二值掩模预测数字图像的区域内的结构来生成深度视觉引导的动作。
[0118]
在一个或多个实施例中,动作系列1100包括根据从教师神经网络学习的参数,利用学生神经网络来预测数字图像的区域内的深度或分割中的一个或多个的动作。此外,动作系列1100包括利用教师神经网络确定用于完全数字图像的一个或多个深度或分割的教师标签、从完全数字图像生成包括空洞区域的不完整数字图像、利用学生神经网络生成用于不完整数字图像的一个或多个深度或分割的预测标签、以及通过将预测标签与教师标签进行比较来修改学生神经网络的参数的动作。
[0119]
在一些实施例中,动作系列1100包括利用补丁匹配模型的成本函数来从数字图像和深度视觉引导标识替换像素的动作。例如,标识替换像素可以涉及利用成本函数,根据结构图像引导、图像深度引导和分割图像引导的加权组合来标识替换像素。
[0120]
动作系列1100可以包括根据利用深度视觉引导的补丁匹配模型的成本函数从数字图像标识替换像素的动作。在一些情况下,动作系列1100包括通过向结构图像引导、图像深度引导或分割引导中的两项或更多项分配权重,利用成本函数来组合深度视觉引导和附加深度视觉引导的动作。根据数字图像标识替换像素可以包括利用修改的成本函数,根据权重,利用结构图像引导、图像深度引导和分割图像引导来标识替换像素。
[0121]
本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,诸如一个或多个处理器和系统存储器,如下面更详细讨论的。本公开范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的一个或多个过程可以至少部分地实现为实施在非瞬态计算机可读介质中并且可由一个或多个计算设备(例如,本文描述的任何媒体内容访问设备)执行的指令。通常,处理器(例如,微处理器)从非瞬态计算机可读介质(例如,存储器等)接收指令,并执行这些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。
[0122]
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
[0123]
非瞬态计算机可读存储介质(设备)包括ram、rom、eeprom、cd-rom、固态驱动器
(“ssd”)(例如,基于ram)、闪存、相变存储器(“pcm”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备、或可用于以计算机可执行指令或数据结构的形式存储期望的程序代码装置并可由通用或专用计算机访问的任何其他介质。
[0124]“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,计算机会正确地将该连接视为传输介质。传输介质可以包括网络和/或数据链路,其可用于携带计算机可执行指令或数据结构形式的期望的程序代码装置,并且可由通用或专用计算机访问。上述各项的组合也应包括在计算机可读介质的范围内。
[0125]
此外,当到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码装置可以自动从传输介质传输到非瞬态计算机可读存储介质(设备)(反之亦然)。例如,可以将通过网络或数据链路接收的计算机可执行指令或数据结构缓存在网络接口模块(例如,nic)内的ram中,然后最终将其传送到计算机系统ram和/或计算机系统处的较不易失性的计算机存储介质(设备)。因此,应该理解,非瞬态计算机可读存储介质(设备)可以包括在也(或甚至主要)利用传输介质的计算机系统组件中。
[0126]
计算机可执行指令包括例如指令和数据,这些指令和数据当在处理器处执行时,使通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,在通用计算机上执行计算机可执行指令,以将通用计算机转变为实现本公开的元件的专用计算机。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令、或者甚至是源代码。尽管该主题已经用特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,在所附权利要求中定义的主题不一定限于上述特征或动作。相反,所描述的特征和动作被公开作为实现权利要求的示例形式。
[0127]
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实施,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、小型机、大型计算机、移动电话、pda、平板电脑、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中通过网络链接(或者通过硬连线的数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
[0128]
本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中采用云计算来提供对可配置计算资源的共享池的无处不在且方便的按需访问。可配置计算资源的共享池可以经由虚拟化快速调配,只需很少的管理工作或服务提供商交互即可释放,然后进行相应的扩展。
[0129]
云计算模型可以由各种特性组成,例如按需自助服务、宽带网络接入、资源池、快速弹性、测量服务等。云计算模型还可以公开各种服务模型,例如软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。云计算模型也可以使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)进行部署。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。
[0130]
图12以框图形式示出了示例计算设备1200(例如,计算设备1000、客户端设备108和/或(多个)服务器104),其可以被配置为执行上述一个或多个过程。可以理解,引导修复系统102可以包括计算设备1200的实现。如图12所示,计算设备可以包括处理器1202、存储器1204、存储设备1206、i/o接口1208和通信接口1210。此外,计算设备1200可以包括输入设备,诸如触摸屏、鼠标、键盘等。在某些实施例中,计算设备1200可以包括比图12中所示的组件更少或更多的组件。现在将更详细地描述图12中所示的计算设备1200的组件。
[0131]
在特定实施例中,(多个)处理器1202包括用于执行指令的硬件,诸如构成计算机程序的指令。作为示例而非限制,为了执行指令,(多个)处理器1202可以从内部寄存器、内部高速缓存、存储器1204或存储设备1206取回(或取出)指令,并解码并执行它们。
[0132]
计算设备1200包括耦合到(多个)处理器1202的存储器1204。存储器1204可以用于存储由(多个)处理器执行的数据、元数据和程序。存储器1204可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“ram”)、只读存储器(“rom”)、固态盘(“ssd”)、闪存、相变存储器(“pcm”)或其他类型的数据存储。存储器1204可以是内部或分布式存储器。
[0133]
计算设备1200包括存储设备1206,其包括用于存储数据或指令的存储设备。作为示例而非限制,存储设备1206可以包括上述非瞬态存储介质。存储设备1206可以包括硬盘驱动器(hdd)、闪存、通用串行总线(usb)驱动器或这些或其他存储设备的组合。
[0134]
计算设备1200还包括一个或多个输入或输出(“i/o”)设备/接口1208,其被提供以允许用户向计算设备1200提供输入(诸如用户笔划)、从计算设备1200接收输出、以及以其他方式向和从计算设备1200传送数据。这些i/o设备/接口1208可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的i/o设备或这些i/o设备/接口1208的组合。触摸屏可以用书写设备或手指激活。
[0135]
i/o设备/接口1208可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器、以及一个或多个音频驱动器。在某些实施例中,设备/接口1208被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现方式的任何其他图形内容。
[0136]
计算设备1200还可以包括通信接口1210。通信接口1210可以包括硬件、软件或两者。通信接口1210可以提供用于计算设备与一个或多个其他计算设备1200或一个或多个网络之间的通信(例如,基于分组的通信)的一个或多个接口。作为示例而非限制,通信接口1210可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或者用于与诸如wi-fi的无线网络进行通信的无线nic(wnic)或无线适配器。计算设备1200还可以包括总线1212。总线1212可以包括将计算设备1200的组件彼此耦合的硬件、软件或两者。
[0137]
在前述说明书中,已经参考其具体示例实施例描述了本发明。参考本文讨论的细节描述了(多个)本发明的各种实施例和方面,附图示出了各种实施例。以上描述和附图说明了本发明,并且不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。
[0138]
本发明可以在不背离其精神或必要特性的情况下以其他具体形式实施。所描述的
实施例在所有方面仅被认为是说明性的,而不是限制性的。例如,本文描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序来执行。另外,本文描述的步骤/动作可以重复或彼此并行地执行,或者与相同或相似步骤/动作的不同实例并行地执行。因此,本发明的范围由所附权利要求指示,而不是由前述描述指示。权利要求的含义和等同范围内的所有改变均应包含在其范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1