CN111047506A - 环境图生成和孔填充 - Google Patents

环境图生成和孔填充 Download PDF

Info

Publication number
CN111047506A
CN111047506A CN201910758153.5A CN201910758153A CN111047506A CN 111047506 A CN111047506 A CN 111047506A CN 201910758153 A CN201910758153 A CN 201910758153A CN 111047506 A CN111047506 A CN 111047506A
Authority
CN
China
Prior art keywords
image
unfilled
projection
environment map
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910758153.5A
Other languages
English (en)
Other versions
CN111047506B (zh
Inventor
J·艾森曼
林哲
M·费舍尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN111047506A publication Critical patent/CN111047506A/zh
Application granted granted Critical
Publication of CN111047506B publication Critical patent/CN111047506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/08Gnomonic or central projection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开的实施例涉及环境图生成和孔填充。在一些实施例中,图像操纵应用接收二维背景图像并且将背景图像投影到球体上以生成球体图像。基于球体图像,可以生成包含缺少图像内容的孔区域的未填充的环境图。可以使用图投影将未填充的环境图的一部分投影到未填充的投影图像。未填充的投影图像包含孔区域。将孔填充模型应用于未填充的投影图像以生成包含孔区域的图像内容的经填充的投影图像。可以通过对经填充的投影图像应用图投影的逆投影并且将未填充的环境图与针对环境图的孔区域而生成的图像内容组合来生成经填充的环境图。

Description

环境图生成和孔填充
相关申请的交叉引用
本申请要求于2018年10月12日提交的题为“Environment Map Generation andHole Filling(环境图生成和孔填充)”的美国临时申请号62/745,220的优先权,还要求于2018年11月13日提交的题为“Environment Map Generation and Hole Filling(环境图生成和孔填充)”的美国专利申请号16/188,479的优先权,其通过引用整体并入本文。
技术领域
本公开总体上涉及用于计算机图形处理的计算机实现的方法和系统。具体地,本公开涉及基于图像生成和孔填充环境图。
背景技术
一些图像操纵应用提供允许用户将二维(“2D”)背景图像与三维(“3D”)对象组合以生成合成图像的功能,该合成图像示出被定位在由2D背景图像图示的环境中的3D对象。为了创建逼真的合成图像,可以创建球形环境以提供3D对象被真实环境包围的视觉印象。描绘包围3D对象的球形环境的360度全景图像在本文中被称为“环境图”。
然而,创建环境图是具有挑战性的。一个原因是,基于其生成环境图的输入2D背景图像通常包含比理想环境图将需要的信息少得多的信息。例如,输入2D背景图像通常由具有有限视场的相机从特定角度并且以某个纵横比拍摄。因此,2D背景图像仅包含包围相机的实际环境的一小部分。基于这样的2D背景图像生成环境图将需要外推(extrapolate)或创建从输入2D背景图像无法观察到的图像内容。
发明内容
某些实施例涉及:基于二维背景图像来生成环境图,并且使用机器学习模型来生成针对环境图的孔区域的视觉上真实的图像内容,该图像内容不能从二维背景图像直接获取。在一个示例中,图像操纵应用接收二维背景图像,并且将背景图像投影到球体上以生成球体图像。基于球体图像,图像操纵应用生成未填充的环境图,该未填充的环境图包含缺少图像内容的孔区域。未填充的环境图的视场大于由球体图像表示的视场。可以使用图投影将未填充的环境图的一部分投影到未填充的投影图像。未填充的投影图像包含孔区域的至少一部分。将孔填充模型应用于未填充的投影图像,以生成经填充的投影图像,该经填充的投影图像包含针对孔区域的一部分的图像内容和未填充的投影图像的图像内容。图像操纵应用可以使用图投影的逆投影来将经填充的投影图像投影到球体上,以生成针对环境图的孔区域的图像内容。可以通过将未填充的环境图与针对环境图的孔区域的所生成的图像内容组合来生成经填充的环境图。
提及这些说明性实施例不是为了限制或限定本公开,而是提供示例以帮助理解本公开。在“具体实施方式”中讨论了另外的实施例,并且在那里提供了进一步的描述。
附图说明
当参考附图阅读以下具体实施方式时,将更好地理解本公开的特征、实施例和优点。
图1描绘了根据本公开的某些实施例的、用于在图像操纵应用中使用环境图生成和孔填充来渲染合成图像的计算环境的示例;
图2描绘了根据本公开的某些实施例的、图示环境图生成引擎的各方面的框图的示例;
图3描绘了根据本公开的某些实施例的、图示孔填充引擎的各方面的框图的示例;
图4描绘了根据本公开的某些实施例的、用于生成和孔填充环境图的过程的示例;
图5A-5C描绘了根据本公开的某些实施例的、针对未填充的环境图生成的图像的示例;
图6A-6D描绘了根据本公开的某些实施例的、未填充的投影图像和相应掩模图像的示例;
图7A-7F描绘了根据本公开的某些实施例的、在孔填充过程的各个阶段生成的图像的示例;
图8A-8D描绘了根据本公开的某些实施例的、在环境图生成和孔填充过程中生成的实际图像的示例;
图9描绘了根据本公开的某些实施例的、图示训练数据准备模块的各方面的框图的示例;
图10描绘了根据本公开的某些实施例的、用于训练孔填充模型的过程的示例;
图11描绘了根据本公开的某些实施例的、利用环境图生成和孔填充的合成图像的示例;以及
图12描绘了执行用于执行本公开的某些实施例的图像操纵应用的计算系统的示例。
具体实施方式
本公开涉及基于2D背景图像生成和孔填充环境图。如上所述,基于2D背景图像生成环境图可能涉及外推或产生尚未从2D背景图像观察到的图像内容。环境图中没有来自2D背景图像的对应图像内容的区域在本文中被称为环境图的“孔区域”,并且产生针对环境图的孔区域的图像内容在本文中被称为“孔填充”环境图。
现有的环境图生成和孔填充方法通常在没有场景的全局布局或语义知识的情况下操作,并且因此这些方法使用本地的基于补片的方法来填充环境图的孔区域。这些方法在某些情景中不稳健,诸如以下室外场景:该室外场景应当由天空从上方照亮,但在背景图像的顶部边界附近没有足够的天空补片(patch)。球形环境图的顶部区域通常由这些方法填充有错误颜色的补片,从而在合成图像中创建过暗或奇怪着色的外界照明。
本文中描述的某些实施例通过基于孔填充模型创建环境图并且通过使用减少由该过程引入的整体失真的投影技术来解决这些限制。例如,环境图生成引擎使用诸如2D到3D图像映射和智能缩放等图像处理技术将背景图像变换为3D空间中的环境图。为了填充环境图的孔区域,环境图生成引擎在环境图上应用附加投影操作,使得孔区域可以被填充有使用机器学习模型生成的视觉真实图像内容。然后,环境图生成引擎应用逆投影以将图像内容变换回3D空间并且使用所创建的图像内容来填充环境图的孔区域。
如本文所述,某些实施例通过以下来提供图像处理的改进:基于单个2D图像生成环境图,并且用关于2D图像的内容的、在视觉上真实的图像内容填充环境图的孔区域。这种环境图可以被用以基于2D图像和3D对象来生成逼真的合成图像。因为可以基于单个2D图像生成环境图,所以图像操纵应用102可以避免使用计算上昂贵的环境图生成方法(诸如重建环境的3D模型),同时保持所生成的环境图的真实外观。因此,本文中描述的实施例通过减少诸如CPU时间和存储空间等计算资源的消耗来改进图像操纵。
提供以下非限制性示例以介绍某些实施例。在该示例中,环境图生成引擎接收2D背景图像。环境图生成引擎114将背景图像投影到3D空间中的球体上。经投影的图像在本文中被称为“球体图像”,其覆盖球体的一部分。基于球体图像,环境图生成引擎生成覆盖整个球体的环境图。因此,环境图的视场大于球体图像的视场。环境图中没有从球体图像获取图像内容的区域形成环境图的孔区域。具有未被填充有图像内容的孔区域的环境图在本文中被称为“未填充的环境图”。
为了填充孔区域,环境图生成引擎使用诸如球心投影等图投影将未填充的环境图的一部分投影到投影图像。投影图像包含未填充的环境图的孔区域,并且在本文中被称为“未填充的投影图像”。环境图生成引擎将孔填充模型应用于未填充的投影图像,以生成具有填充有所创建的图像内容的孔区域的投影图像,其在本文中被称为“经填充的投影图像”。
环境图生成引擎114将经填充的投影图像投影回3D空间中的球体,以标识针对环境图的孔区域的图像内容。所标识的图像内容用于填充环境图的孔区域。具有填充有图像内容的孔区域的环境图在本文中被称为“经填充的环境图”。上述球体图像、未填充的环境图或经填充的环境图可以使用2D图像通过诸如等距矩形投影等任何图投影来表示。
如本文中使用的,术语“图像”是指照片、图片、数字绘画、计算机生成的图形、或描绘视觉感知的任何其他人工制品。如本文中使用的,“渲染图像”是指基于一个或多个命令来生成输出图像的过程。例如,基于合成2D图像和3D对象的命令来渲染图像包括:生成表示场景的视图的图像,其中3D对象被放置在由2D图像描绘的环境内。渲染还可以包括:如果图像由多个层表示,则生成图像的层;或者如果图像包含多个图块,则生成图像的图块;或者其某种组合。渲染还可以包括:将图像的多个层或图块合成为单个输出图像以供显示。渲染过程的执行在本文中被称为“图像再现”或“再现”。由渲染过程生成的输出图像在本文中被称为“经渲染的图像”。
用于环境图生成和孔填充的示例操作环境
现在参考附图,图1描绘了用于使用图像操纵应用102以基于用户输入112执行图像操纵的计算环境100的示例。计算环境100包括执行图像操纵应用102的一个或多个处理设备、用于向图像操纵应用102提供命令的输入设备104、以及用于显示用户界面的显示设备132,该用户界面用于从输入设备104接收命令并且用于显示由图像操纵应用102基于命令生成的经渲染的图像118。
图像操纵应用102包括图像渲染引擎116,其用于基于用户输入112生成经渲染的图像,并且用于将经渲染的图像118提供给显示设备132以进行显示。图像操纵应用102还包括环境图生成引擎114,其用于基于输入背景图像106生成环境图110。如上所述,生成环境图110可能涉及外推或创建在背景图像106中未被观察到的图像内容以填充环境图110的孔区域。环境图生成引擎114训练并且应用孔填充模型108,以创建针对环境图110的孔区域的图像内容。孔填充模型108的训练基于一组全景图像124来执行。全景图像124可以包括360度球形环境图像、或示出物理空间的广角视图或表示的任何图像。环境图生成引擎114利用全景图像124来构建训练样本以训练孔填充模型108。本文中关于图2和9-11来描述训练孔填充模型108以填充环境图110的孔区域的详细示例。
由环境图生成引擎114创建的环境图110由图像渲染引擎116利用,以基于用户输入112执行各种图像操纵并且生成经渲染的图像118。例如,图像操纵应用102提供以下功能:允许用户将2D背景图像106与3D对象122组合以生成合成图像,该合成图像示出被定位在2D背景图像中图示的环境中的3D对象122。背景图像106可以由用户在用户输入112中提供,诸如经由用户从本地存储设备或网络存储设备中选择背景图像106。备选地或附加地,图像操纵应用102允许用户从图像数据存储库120中选择背景图像106,图像操纵应用102可访问图像数据库120。类似地,图像操纵应用102的用户可以将3D对象122提供给图像操纵应用102,或者从图像数据存储库120或由图像操纵应用102提供的其他对象数据存储库中选择3D对象122。
为了创建逼真的图像,图像操纵应用102利用环境图生成引擎114生成环境图110,该环境图110基于背景图像106模拟包围3D对象122的球形环境。图像渲染引擎116通过模拟捕获3D对象122的图像的相机来生成经渲染的图像118,该3D对象122被放置在由环境图110描绘的球形环境中。图像渲染引擎116还可以在渲染过程期间接受用户输入112,例如,以调节诸如捕获角度、模拟相机的视场、图像的亮度、颜色、对比度等参数。然后将经渲染的图像118发送到显示设备132以进行显示。
图2描绘了根据本公开的某些实施例的图示环境图生成引擎114的各方面的框图的示例。在图2所示的示例中,环境图生成引擎114包括图像准备模块202、模型训练引擎208和孔填充引擎210,图像准备模块202被配置为生成未填充的环境图206,模型训练引擎208被配置为构建和训练孔填充模型108,孔填充引擎210被配置为利用孔填充模型108来填充未填充的环境图206的孔区域以生成完整环境图110,其也被称为经填充的环境图110。
图像准备模块202接受背景图像106作为输入,并且将背景图像106转换为球体图像204。该转换可以通过将背景图像106投影到3D空间中的球体上来执行。例如,图像准备模块202可以用假定的视场对背景图像106应用逆球心投影。由于与背景图像106相关联的有限视场,球体图像204覆盖球体的表面的一部分。
为了生成环境图110,图像准备模块202缩放球体图像204以覆盖180度水平视场。在一些实施例中,图像准备模块202通过以下来执行缩放:将球体图像204的大小调整为2×1的纵横比,并且扩展球体图像204以覆盖180度视场。因此,经缩放的球体图像204覆盖半球。为了提供看起来真实的环境图,可以使用诸如接缝雕刻技术等内容感知缩放技术来执行缩放。内容感知缩放技术分析图像的内容并且对不会显著影响图像的视觉质量的图像区域应用缩放,同时保持其余部分不变。
为了覆盖整个球体,图像准备模块202水平翻转经缩放的球体图像204并且将经翻转的图像与经缩放的球体图像204连结,以形成具有360度水平视场的图像,即未填充的环境图206。因此,未填充的环境图206的视场大于球体图像204的视场。然而,即使未填充的环境图206覆盖360度水平视场,它也不具有足够的内容来覆盖整个球体,特别是在北极区域(即,球体的顶部区域)和南极区域(即,球体的底部区域)。未填充的环境图206中的这些区域形成环境图的孔区域,并且需要被填充以生成完整环境图110。
对于描绘室内场景的背景图像106,未填充的环境图206的北极区域对应于球形环境的天花板,并且南极区域对应于球形环境的地板。由于室内环境的性质,通常在亮度和颜色方面、天花板区域和地板区域没有显著差异。类似地,基于描绘夜间室外场景的背景图像生成的环境图的北极区域和南极区域之间也没有显著差异。然而,对于描绘日间室外场景的背景图像,与天空相对应的北极区域通常比与地面相对应的南极区域明亮得多并且具有不同的颜色。填充未填充的环境图206的北极区域更具挑战性,尤其是对于不包含太多针对天空的内容的背景图像。
因此,以下描述将集中于孔填充未填充的环境图206的北极区域。然而,应当理解,填充未填充的环境图206的其他孔区域或者填充其他类型的未填充的环境图206的孔区域可以类似地被执行。备选地或附加地,环境图生成引擎114可以利用不同的孔填充机制来填充针对室内场景或夜间室外场景的未填充的环境图206的南极区域或者环境图的整个孔区域。在这些场景中,环境图生成引擎114可以采用分类器来确定所输入的背景图像106是否描绘室外日间场景。如果是,则环境图生成引擎114利用本文中描述的孔填充机制来填充未填充的环境图206的北极区域;否则,环境图生成引擎114利用另一合适的孔填充机制来填充未填充的环境图206的孔区域。
为了填充未填充的环境图206的孔区域,环境图生成引擎114利用模型训练引擎208来构建孔填充模型108。根据一些实现,孔填充模型108是一种机器学习模型,其被训练以接受投影图像以及对要被填充的投影图像的孔区域的指示,并且生成针对投影图像的孔区域的图像内容。在一个示例中,孔填充模型108包括由两个神经网络的系统实现的生成对抗网络(“GAN”),这两个神经网络即生成器和鉴别器,其在零和博弈框架中彼此竞争。在该示例中,生成器是经两阶段放大的残差网络,并且鉴别器是三分辨率的完全卷积网络。模型训练引擎208通过以下来训练GAN模型:基于一组训练样本执行两个神经网络的参数的迭代调节,以最小化GAN模型的损失函数。
训练样本可以包括未填充的训练投影图像214和未填充的训练投影图像基础真实图像216,未填充的训练投影图像214具有要被填充的孔区域,基础真实图像216包含针对未填充的训练投影图像214的实际图像内容。为了生成用于模型训练引擎208的训练样本,环境图生成引擎114采用训练数据准备模块212,其基于一组全景图像124生成训练样本,如关于图1讨论的。本文中关于图9和10来描述生成训练样本和训练孔填充模型108的详细示例。
基于经训练的孔填充模型108,环境图生成引擎114可以利用孔填充引擎210来执行针对未填充的环境图206的孔填充。图3描绘了根据本公开的某些实施例的图示孔填充引擎210的各方面的框图的示例。在图3所示的示例中,未填充的环境图206经历图投影302,图投影302将未填充的环境图206的至少一部分投影到2D图像上。图投影可以使用任何图投影方法来实现。在一个示例中,孔填充引擎210利用球心投影,其在球体与2D平面之间来回投影时使失真最小化。与其他形式的投影相比,球心投影倾向于使直线保持更直,并且因此有利于用于填充2D图像中的孔区域的孔填充技术。
孔填充引擎210应用来自未填充的环境图206的北极的图投影302,以生成顶部未填充的投影图像304。顶部未填充的投影图像304包括从北极观察到的未填充的环境图206的孔区域。类似地,孔填充引擎210对未填充的环境图206的南极应用图投影302,以生成底部未填充的投影图像306,底部未填充的投影图像306包含从球体的南极观察到的未填充的环境图206的孔区域。
如上所述,底部未填充的投影图像306的孔区域对应于球形环境的地面,并且对孔填充任务提出较少的挑战。因此,可以在孔填充模块318中利用任何孔填充机制,包括本文中提出的孔填充机制,以填充孔区域并且生成底部经填充的投影图像312。另一方面,顶部未填充的投影图像304的孔区域对应于天空,天空具有比未填充的环境图206的其余部分更明亮的且不同的颜色。为了填充顶部未填充的投影图像304的孔区域,根据本文中提出的公开内容,孔填充引擎210利用孔填充模型108。孔填充模型108是机器学习模型,其被训练以执行对包括天空的区域的孔填充。
孔填充模型108可以被训练以接受顶部未填充的投影图像304(本文中也称为“未填充的投影图像304”)作为输入。另外,孔填充引擎210还生成掩模图像308并且将其提供给孔填充模型108,掩模图像308指示未填充的投影图像304中需要被填充的孔区域。例如,孔填充引擎210可以生成与未填充的投影图像304大小相同的掩模图像308,并且使用掩模值0来表示孔区域以及掩模值1来表示图像的其余部分。基于未填充的投影图像304和掩模图像308,孔填充模型108可以创建图像内容并且填充未填充的投影图像304的孔区域,以生成顶部经填充的投影图像310。在一些实现中,图像操纵应用102的用户可以向孔填充引擎210提供用户输入112以影响孔填充过程。本文中关于图4-8来描述孔填充环境图的详细示例。
顶部经填充的投影图像310和底部经填充的投影图像312中的每个通过与图投影302相对应的逆图投影314被投影回球体。例如,如果在图投影302中使用球心投影,则在逆图投影314中使用逆球心投影。逆图投影将顶部经填充的投影图像310和底部经填充的投影图像310中的孔区域的经填充的图像内容映射到未填充的环境图206的对应孔区域。针对未填充的环境图206的孔区域的图像内容与未填充的环境图206的现有内容一起形成经填充的环境图110。
用于环境图生成和孔填充的计算机实现的操作的示例
图4描绘了根据本公开的某些实施例的用于生成和孔填充环境图的过程400的示例。一个或多个计算设备(例如,计算环境100)通过执行合适的程序代码(例如,图像操纵应用102)来实现图4中描绘的操作。出于说明性目的,参考附图中描绘的某些示例来描述过程400。然而,其他实现也是可能的。
在框402处,过程400涉及获取背景图像106,基于该背景图像106将要生成环境图110。背景图像106可以是描绘环境的室内或室外场景的2D图像,一个或多个3D对象可以被定位在该环境中。背景图像106可以是用户提供的图像,或者可以从由图像操纵应用102提供的图像数据存储库中选择。
在框404处,过程400涉及通过以下来生成球体图像204:使用假定的视场将背景图像106投影到3D空间中的球体上。例如,可以通过使用逆球心投影来生成球体图像204。由于背景图像的有限视场,球体图像204仅覆盖球体的一部分。图5A图示了球体图像204的示例,球体图像204使用2D图像来表示,该2D图像通过对球体图像应用等距矩形投影来生成。在图5A所示的球体图像204中,阴影区域表示球体图像没有覆盖的球体的部分。例如,屋顶的顶部在阴影区域中,这意味着背景图像没有示出屋顶的顶部。类似地,大部分天空区域也在阴影区域中,并且在所输入的背景图像中未被示出。
再次参考图4,在框406处,过程400涉及基于球体图像204生成未填充的环境图206。图像操纵应用102缩放球体图像204以覆盖180度视场,例如,通过根据2×1的纵横比调整球体图像204的大小。缩放可以使用内容感知缩放来执行,使得所生成的环境图110看起来是真实的。图5B图示了通过缩放图5A所示的球体图像而生成的图像。从图5B可以看出,由于图像视场的扩大,房屋已经被拉伸。然而,站在房屋附近的人没有任何明显的视觉变化。因为以与拉伸房屋类似的方式拉伸人将引入图像的可见失真,从而导致不真实的环境图,所以由图像操纵应用102采用的内容感知缩放确定不缩放人以避免可见失真。如图5B所示,来自背景图像106的缺少图像内容的阴影区域也被拉伸。
图像操纵应用102还通过以下来生成具有360度水平视场的图像:水平翻转经缩放的球体图像204,并且将经翻转的图像与经缩放的球体图像连结。该图像被输出作为未填充的环境图206。图5C图示了使用图5B所示的经拉伸的图像生成的未填充的环境图206的示例。
再次参考图4,在框408处,过程400涉及生成未填充的投影图像。如上面关于图3讨论的,通过将未填充的环境图206的一部分投影到2D图像上来生成未填充的投影图像。投影可以使用球心投影来执行。如果要被填充的孔区域是未填充的环境图206的天空区域,则可以从球体的北极执行投影,以捕获针对天空区域的顶部未填充的投影图像。图6A图示了针对图5C所示的未填充的环境图的顶部未填充的投影图像的示例。如图6A所示,阴影区域表示需要用图像内容来填充的未填充的环境图206的孔区域。
在框410处,过程400涉及生成掩模图像以指示要被填充的孔区域。掩模图像可以基于未填充的投影图像来生成。例如,图像操纵应用102可以生成与未填充的投影图像具有相同大小的掩模图像308,并且使用掩模值0来表示孔区域以及掩模值1来表示图像的其余部分,反之亦然。图6B示出了针对图6A所示的未填充的投影图像而生成的掩模图像的示例。在该示例掩模图像中,阴影区域指示要被填充的孔区域并且对应于图6A中的阴影区域,并且其余区域对应于不需要孔填充的未填充的投影图像的区域。由于未填充的环境图206的对称性以及由此的未填充的投影图像的对称性,针对孔区域的填充内容也将是对称的。因此,可以使用如图6C所示的图像的一半以及掩模图像的相应的一半来执行孔填充,从而减少诸如CPU时间和存储空间等计算资源的消耗。在下文中,取决于上下文,术语“未填充的投影图像”和“掩模图像”可以是指如图6A和6B所示的完整图像、或者图6C和6D所示的一半的图像。在任一种情况下,所得到的环境图110将是相同的。
再次参考图4,在框412处,过程400涉及将孔填充模型108应用于未填充的投影图像304及其相关联的掩模图像,以生成经填充的投影图像。取决于孔填充的结果,图像操纵应用102可以采用孔填充模型108进行附加的轮次或道次(pass),以生成最终的经填充的投影图像。图7A-7F描绘了在多道次孔填充过程的各个阶段生成的图像的示例。图7A示出了未填充的投影图像,并且图7B示出了相关联的掩模图像,其中阴影区域指示要被填充的孔区域。图7C示出了孔填充过程的第一道次中的经填充的投影图像。从图7C中可以看出,针对孔区域的所生成的内容中的一些内容包括来自建筑物的内容,并且没有示出针对天空区域的真实外观。为了改进结果,图像操纵应用102可以执行针对未填充的投影图像的第二道次的孔填充。
在第二道次中,图像操纵应用102通过在孔区域内指定谕示(oracle)区域702来修改未填充的投影图像。谕示区域702填充有期望内容。谕示区域702的内容可以从第一道次的填充结果来导出。例如,图像操纵应用102可以从第一道次中的所生成的内容中选择颜色作为用于谕示区域的颜色。在一个示例中,可以选择具有一定百分位亮度的颜色,例如,第95百分位。换言之,如果所生成的内容的像素从最暗到最亮排序,其中最亮的是100%,则将为谕示区域702选择95%亮度处所列出的像素的颜色。备选地或附加地,图像操纵应用102可以基于用户输入112中指定的颜色来选择用于谕示区域702的颜色。当填充未填充的投影图像的孔区域时,谕示区域702可以向孔填充模型108提供提示。谕示区域702的大小可以基于先前的填充结果通过实验来确定,或者由用户通过用户输入112来指定。
未填充的投影图像的掩模图像也被更新以示出谕示区域702是已知内容的一部分并且不属于孔区域。经更新的未填充的投影图像与经更新的掩模图像一起被馈送到孔填充模型108中,以再次生成针对孔区域的图像内容。图7D示出了针对图7A所示的图像的经更新的未填充的投影图像的示例,并且图7E示出了其对应的掩模图像。图7F示出了在孔填充过程的第二道次中的经更新投影图像的结果。与图7C所示的填充结果相比,图7F中的所填充的内容更接近天空的真正颜色,并且看起来比来自第一道次的结果更自然。如果需要,可以执行附加的道次。此外,如果图像操纵应用102的用户决定通过指定谕示区域并且提供用于谕示区域的颜色来影响孔填充过程,则可以跳过上述填充过程的第一道次。因此,仅需要执行第二道次以生成针对孔区域的内容。
再次参考图4,在框414处,过程400涉及对经填充的投影图像应用逆投影。逆投影对应于在框408中应用的投影操作,并且将经填充的投影图像投影回球体。例如,如果使用球心投影执行框408中的投影,则使用逆球心投影执行框414中的逆投影。逆图投影将经填充的投影图像中的孔区域的经填充的图像内容映射到未填充的环境图的孔区域,从而填充未填充的环境图206的孔区域。在框416处,该过程涉及通过以下来生成经填充的环境图110:用在框414处生成的内容填充未填充的环境图的孔区域。图8A-8D示出了在环境图生成和孔填充过程中生成的真实图像的示例。图8A示出了从描绘室外场景的背景图像生成的球体图像。图8B示出了经缩放的球体图像,并且图8C示出了未填充的环境图。图8D是经填充的环境图,其中使用本文中描述的孔填充机制来填充天空区域。再次地,图8A-8D所示的图像分别是球体图像、经拉伸的球体图像、未填充的环境图和经填充的环境图的等距矩形投影图像。
图9描绘了图示关于图2描述的训练数据准备模块212的各方面的框图的示例。图9所示的训练数据准备模块212包括模拟相机902、图像转换器908和投影模块910。训练数据准备模块212接受全景图像124作为输入,并且生成未填充的训练投影图像214和对应的基础真实图像216,以供模型训练引擎208用作训练样本。
训练数据准备模块212利用被模拟的相机902以基于所输入的全景图像124生成模拟背景图像904。模拟相机902可以选择全景图像124内的相机参数,诸如相机角度、纵横比和/或水平视场。这些参数可以在每个参数的合理范围内随机或伪随机地选择。然后,模拟相机902通过以下来生成模拟背景图像904:使用所选择的参数、通过例如球心投影,将全景图像124投影到二维图像平面中。模拟背景图像904示出了通过具有所选择的参数的相机观看到的全景图像124的2D表示。在一个示例中,模拟相机902不限制垂直的视场,并且因此模拟背景图像904包含来自具有所选择的水平视场的全景图像124的所有内容。换言之,模拟相机902的垂直视场可以大到-90度到90度。
训练数据准备模块212利用图像转换器908将模拟背景图像904转换为模拟环境图912。根据一些实现,图像转换器908以与图像准备模块202转换背景图像106的方式类似的方式来转换模拟背景图像904。即,图像转换器908通过将模拟背景图像904投影到3D空间中的球体上来生成针对模拟背景图像904的球体图像。然后,球体图像经历上述的相同的缩放和翻转过程,以用于生成未填充的环境图206。此处,缩放和填充过程生成模拟环境图912。因为模拟背景图像904具有完全的垂直视场,所以模拟环境图912不具有孔区域。
然后,训练数据准备模块212通过以下来创建未填充的训练环境图:将模拟环境图912分割成观察区域(即,具有图像内容的区域)和孔区域(即,要用图像内容来填充的区域)。分割可以基于模拟背景图像904的所选择的纵横比。以这种方式分割模拟环境图912允许训练数据准备模块212通过仅包括来自观察区域的内容来生成未填充的训练环境图。然后,投影模块910采用在图3的图投影302中使用的相同投影,来将未填充的训练环境图投影到未填充的训练投影图像214并且将模拟环境图912投影到基础真实图像216。还可以针对未填充的训练投影图像214生成掩模图像以指示孔区域。未填充的训练投影图像214和基础真实图像216以及掩模图像(如果需要)将用作模型训练引擎208的一个训练样本。可以重复以上过程以生成更多训练样本。
根据一些实现,训练数据准备模块212还准备具有谕示区域的训练样本。如上面关于图7D和7E讨论的,可以将谕示区域702添加到未填充的投影图像304,来为孔填充模型108提供颜色提示以填充未填充的投影图像304的孔区域。为了使孔填充模型108识别并且利用谕示区域702,训练数据准备模块212还可以准备包含具有谕示区域的未填充的投影图像304的训练样本。例如,当分割模拟环境图912时,训练数据准备模块212可以在观察区域中包括谕示区域并且将其从孔区域中排除。未填充的训练投影图像214和基础真实图像216可以以与上述相同的方式生成。在一个示例中,训练数据准备模块212可以准备训练样本,其中一半训练样本包含谕示区域。
图10描绘了用于训练孔填充模型108的过程的示例。一个或多个计算设备(例如,计算环境100)通过执行合适的程序代码(例如,图像操纵应用102)来实现图10中描绘的操作。出于说明性目的,参考附图中描绘的某些示例来描述过程1000。然而,其他实现也是可能的。
在框1002处,过程1000涉及获取一组全景图像124。全景图像124可以包括360度球形环境图像或示出物理空间的广角视图或表示的任何图像。在框1004处,过程1000涉及基于全景图像124生成模拟背景图像。如关于图9详细描述的,可以通过以下来生成模拟背景图像:用随机选择的参数(诸如水平视场和相机角度)将全景图像124投影到二维图像平面中。在一些示例中,可以用不同参数(诸如视场和相机角度)从一个全景图像124生成多个模拟背景图像。
在框1006处,过程1000涉及针对每个模拟背景图像生成未填充的环境图。具体地,训练数据准备模块212将模拟背景图像投影到球体上以生成球体图像。然后,缩放并且翻转球体图像以覆盖360度水平视场,从而得到模拟环境图912。训练数据准备模块212将模拟环境图分割成观察区域和孔区域。对于一些模拟环境图,观察区域包括位于孔区域内部的谕示区域,以提供颜色提示来针对孔区域生成图像内容。训练数据准备模块212通过仅包括模拟环境图的观察区域中的内容来生成未填充的环境图。
在框1008处,过程1000涉及生成训练投影图像和基础真实图像,作为用于孔填充模型108的训练样本。训练数据准备模块212通过将在框1006处生成的未填充的环境图投影到2D图像平面上,诸如通过球心投影,来生成未填充的训练投影图像。如果孔填充模型108被训练以填充包含室外场景的天空的孔区域,则将从未填充的环境图的北极执行投影。训练数据准备模块212通过以与其相应的未填充的训练投影图像相同的方式投影模拟环境图912来生成基础真实图像216。如果孔填充模型108被训练以接受掩模图像作为输入,则训练数据准备模块212还可以生成用于训练投影图像的掩模图像。
在框1010处,过程1000涉及使用未填充的训练投影图像和对应的基础真实图像来训练孔填充模型108。如上所述,孔填充模型108可以是包括生成器和鉴别器的生成对抗网络。生成器是经两阶段放大的残差网络,并且鉴别器是三分辨率的完全卷积网络。模型训练引擎208基于训练样本执行两个神经网络的参数的迭代调节,以最小化神经网络模型的损失函数。经训练的孔填充模型108可以由孔填充引擎210利用,以生成针对输入环境图的孔区域的图像内容,如上面关于图2-4所述。
图11描绘了利用本文中描述的环境图生成和孔填充的合成图像(左)和利用现有技术的环境图生成和孔填充的合成图像(右)。在图11所示的示例中,食物容器和金属球被合成为描绘室外场景的背景图像。左图像示出了金属球上的看起来合理的天空像素,因为球形环境图的顶部处的合理颜色分布是使用本文中描述的机制生成的,而使用现有技术方法生成的右图像示出了金属球上的、反射区域中的不真实像素。
应当理解,虽然以上描述集中于填充与室外场景的天空相对应的孔区域,但是孔填充机制可以被用来填充环境图中的任何类型的孔区域,只要孔填充模型被适当地训练。例如,可以通过以下来填充与场景的地面部分相对应的环境图的孔区域:利用使用包含地面区域的训练样本来训练的孔填充模型。在这种情况下,需要从球体的南极生成用于生成投影图像的投影。可能需要在训练和预测过程中进行其他调节。
用于实现环境图生成和孔填充的计算系统示例
可以使用任何合适的计算系统或计算系统组来执行本文中描述的操作。例如,图12描绘了可以实现图1的计算环境的计算系统1200的示例。在一些实施例中,计算系统1200包括执行图像操纵应用102的处理设备1202、存储由图像操纵应用102计算或使用的各种数据的存储器、输入设备104(例如,鼠标、触控笔、触摸板、触摸屏等)、以及显示由图像操纵应用102生成的图形内容的显示设备132。出于说明性目的,图12描绘了在其上执行图像操纵应用102、存储背景图像和3D对象、并且存在输入设备104和显示设备132的单个计算系统。但是这些应用、数据集和设备可以被存储或包括在具有与图12中描绘的设备类似的设备的不同计算系统中。
所描绘的计算系统1200的示例包括通信地耦合到一个或多个存储器设备1204的处理设备1202。处理设备1202执行被存储在存储器设备1204中的计算机可执行程序代码,访问被存储在存储器设备1204中的信息,或两者。处理设备1202的示例包括微处理器、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或任何其他合适的处理设备。处理设备1202可以包括任何数目的处理设备,包括单个处理设备。
存储器设备1204包括用于存储数据、程序代码或两者的任何合适的非暂态计算机可读介质。计算机可读介质可以包括能够向处理器提供计算机可读指令或其他程序代码的任何电子、光学、磁性或其他存储设备。计算机可读介质的非限制性示例包括磁盘、存储器芯片、ROM、RAM、ASIC、光学存储装置、磁带或其他磁存储装置、或者处理设备可以从其读取指令的任何其他介质。指令可以包括由编译器或解释器从以任何合适的计算机编程语言(包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript和ActionScript)编写的代码生成的处理器特定的指令。
计算系统1200还可以包括多个外部或内部设备,诸如输入设备104、显示设备132或者其他输入或输出设备。例如,计算系统1200被示出为具有一个或多个输入/输出(“I/O”)接口1208。I/O接口1208可以从输入设备接收输入或者向输出设备提供输出。一个或多个总线1206也被包括在计算系统1200中。总线1206通信地耦合相应计算系统1200的一个或多个组件。
计算系统1200执行程序代码,该程序代码将处理设备1202配置为执行本文中描述的一个或多个操作。程序代码包括例如图像操纵应用102或执行本文中描述的一个或多个操作的其他合适的应用。程序代码可以驻留在存储器设备1204或任何合适的计算机可读介质中,并且可以由处理设备1202或任何其他合适的处理器执行。在一些实施例中,图像操纵应用102中的所有模块(例如,环境图生成引擎114、图像渲染引擎116等)被存储在存储器设备1204中,如图12所示。在附加或备选实施例中,来自图像操纵应用102的这些模块中的一个或多个模块被存储在不同计算系统的不同存储器设备中。
在一些实施例中,计算系统1200还包括网络接口设备1210。网络接口设备1210包括适合于建立到一个或多个数据网络的有线或无线数据连接的任何设备或设备组。网络接口设备1210的非限制性示例包括以太网网络适配器、调制解调器等。计算系统1200能够使用网络接口设备1210经由数据网络与一个或多个其他计算设备(例如,接收用于图像操纵应用102的输入或显示图像操纵应用102的输出的计算设备)通信。
输入设备104可以包括适合于接收控制或影响处理设备1202的操作的视觉、听觉或其他合适输入的任何设备或设备组。输入设备104的非限制性示例包括触摸屏、触控笔、鼠标、键盘、麦克风、单独的移动计算设备等。显示设备132可以包括适于提供视觉、听觉或其他合适的感觉输出的任何设备或设备组。显示设备132的非限制性示例包括触摸屏、显示器、单独的移动计算设备等。
尽管图12将输入设备104和显示设备132描绘为执行图像操纵应用102的计算设备的本地设备,但是其他实现是可能的。例如,在一些实施例中,输入设备104和显示设备132中的一个或多个可以包括使用本文中描述的一个或多个数据网络经由网络接口设备1210与计算系统1200通信的远程客户端计算设备。
一般考虑
本文中阐述了很多具体细节以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实现所要求保护的主题。在其他情况下,没有详细描述本领域普通技术人员已知的方法、装置或系统,以免模糊所要求保护的主题。
除非另外具体说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“运算”、“确定”和“标识”等术语的讨论是指诸如一个或多个计算机或类似的电子计算设备等计算设备的动作或过程,该动作或过程操纵或变换在计算平台的存储器、寄存器或其他信息存储设备、传输设备、或显示设备内被表示为物理电子或磁量的数据。
本文中讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括提供以一个或多个输入为条件的结果的任何合适的组件布置。合适的计算设备包括访问所存储的软件的多用途的基于微处理器的计算机系统,该所存储的软件将计算系统从通用计算装置编程或配置为实现本主题的一个或多个实施例的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言组合,以在要用于对计算设备进行编程或配置的软件中实现本文中包含的教导。
可以在这样的计算设备的操作中执行本文中公开的方法的实施例。上述示例中呈现的块的次序可以变化——例如,可以将块重新排序、组合和/或分成子块。某些块或过程可以并行执行。
本文中“被适配为”或“被配置为”的使用表示开放且包括性的语言,其不排除被适配为或被配置为执行附加任务或步骤的设备。另外,“基于”的使用表示开放且包括性的,因为“基于”一个或多个所述条件或值的过程、步骤、运算或其他动作在实践中可以基于超出所述条件或值的附加条件或值。本文中包括的标题、列表和编号仅是为了便于解释而不是限制性的。
虽然已经关于本发明的特定实施例详细描述了本主题,但是应当理解,本领域技术人员在理解前述内容之后可以容易地产生对这样的实施例的改变、变化和等同物。因此,应当理解,本公开是出于示例而非限制的目的而被呈现的,并且不排除包括对于本领域普通技术人员而言很明显的、对于本主题的这样的修改、变化和/或添加。

Claims (20)

1.一种计算机实现的方法,其中一个或多个处理设备执行操作,所述操作包括:
基于背景图像来生成未填充的环境图,所述未填充的环境图包含缺少图像内容的孔区域;
将所述未填充的环境图的一部分投影到未填充的投影图像,所述未填充的投影图像包含所述孔区域的至少一部分;
基于所述未填充的投影图像来生成经填充的投影图像,所述经填充的投影图像包含针对所述孔区域的所述一部分的图像内容;
使用逆投影来投影所述经填充的投影图像,以生成针对所述未填充的环境图的所述孔区域的图像内容;以及
通过将所述未填充的环境图与针对所述未填充的环境图的所述孔区域的、所生成的所述图像内容组合,生成经填充的环境图。
2.根据权利要求1所述的计算机实现的方法,其中所述经填充的环境图表示360度的视场。
3.根据权利要求2所述的计算机实现的方法,其中生成所述未填充的环境图包括:
将所述背景图像投影到球体上,以生成球体图像;
缩放所述球体图像,以覆盖180度的水平视场;以及
水平翻转经缩放的所述球体图像;以及
将经缩放的所述球体图像和经翻转的所述球体图像水平连结,以生成所述未填充的环境图。
4.根据权利要求1所述的计算机实现的方法,所述操作还包括基于所述未填充的投影图像来生成掩模图像,所述掩模图像将所述孔区域指示为要被填充的区域,其中生成所述经填充的投影图像包括将孔填充模型应用于所述未填充的投影图像和所述掩模图像。
5.根据权利要求4所述的计算机实现的方法,其中生成所述经填充的投影图像包括:
将孔填充模型应用于所述未填充的投影图像和所述掩模图像,以生成第一经填充的投影图像;
通过在所述未填充的投影图像的所述孔区域内添加包含图像内容的谕示区域,生成经修改的未填充的投影图像;
基于经修改的所述未填充的投影图像,生成经修改的掩模图像;以及
将所述孔填充模型应用于经修改的所述未填充的投影图像和经修改的所述掩模图像,以生成第二经填充的投影图像作为所述经填充的投影图像。
6.根据权利要求5所述的计算机实现的方法,其中所述谕示区域的所述图像内容基于所述第一经填充的投影图像的所述图像内容而被确定。
7.根据权利要求5所述的计算机实现的方法,其中所述谕示区域的所述图像内容独立于所述第一经填充的投影图像的所述图像内容而被确定。
8.根据权利要求1所述的计算机实现的方法,其中将所述未填充的环境图的一部分投影到未填充的投影图像使用图投影而被执行,并且其中所述图投影是球心投影。
9.根据权利要求1所述的计算机实现的方法,其中所述未填充的投影图像通过以下而被生成:从由所述环境图表示的球体的北极投影所述未填充的环境图。
10.根据权利要求1所述的计算机实现的方法,其中所述未填充的环境图和所述经填充的环境图使用相应的等距矩形投影图像而被表示。
11.根据权利要求1所述的计算机实现的方法,其中生成所述经填充的投影图像包括将孔填充模型应用于所述未填充的投影图像,并且其中所述孔填充模型是生成对抗网络(GAN)。
12.一种系统,包括:
处理设备;以及
非暂态计算机可读介质,所述非暂态计算机可读介质通信地耦合到所述处理设备,其中所述处理设备被配置为执行被存储在所述非暂态计算机可读介质中的程序代码并且从而执行操作,所述操作包括:
基于背景图像来生成未填充的环境图,所述未填充的环境图包含缺少图像内容的孔区域;
将所述未填充的环境图的一部分投影到未填充的投影图像,所述未填充的投影图像包含所述孔区域的至少一部分;
基于所述未填充的投影图像来生成经填充的投影图像,所述经填充的投影图像包含针对所述孔区域的所述一部分的图像内容;
使用逆投影来投影所述经填充的投影图像,以生成针对所述未填充的环境图的所述孔区域的图像内容;以及
通过将所述未填充的环境图与针对所述未填充的环境图的所述孔区域的、所生成的所述图像内容组合,生成经填充的环境图。
13.根据权利要求12所述的系统,其中所述操作还包括:
在将所述孔填充模型应用于所述未填充的投影图像之前,
从一个或多个全景图像生成多个模拟背景图像;
基于所述多个模拟背景图像来生成多个训练样本,所述多个训练样本包括多个未填充的训练投影图像和多个基础真实图像,所述多个未填充的训练投影图像各自包含缺少图像内容的孔区域,所述多个基础真实图像各自包含针对对应的未填充的训练投影图像的整个图像内容;以及
基于所述多个训练样本来训练所述孔填充模型。
14.根据权利要求13所述的系统,其中生成所述多个模拟背景图像之一包括:
随机地或伪随机地选择相机角度、水平视场或纵横比中的至少一个;以及
使用所述水平视场、所述相机角度或所述纵横比将所述全景图像之一投影到二维图像平面中,以生成所述模拟背景图像。
15.根据权利要求13所述的系统,其中所述未填充的训练投影图像中的至少一个未填充的训练投影图像包括位于所述孔区域内的谕示区域,并且其中所述谕示区域的图像内容从对应的基础真实图像而被获取。
16.一种非暂态计算机可读介质,具有被存储在所述非暂态计算机可读介质上的程序代码,所述程序代码由一个或多个处理设备可执行以执行操作,所述操作包括:
从一个或多个全景图像生成多个模拟背景图像,其中生成模拟背景图像包括用所选择的水平视场将所述全景图像之一投影到二维图像平面上;
基于所述多个模拟背景图像来生成多个未填充的训练投影图像,所述多个未填充的训练投影图像中的每个未填充的训练投影图像包含缺少图像内容的孔区域,并且通过以下方式而被生成:将对应的模拟背景图像投影到球体上以生成球体图像,基于所述球体图像来生成未填充的环境图,以及使用图投影将所述未填充的环境图的一部分投影到未填充的训练投影图像,所述未填充的训练投影图像包含所述孔区域的至少一部分;
基于所述多个模拟背景图像来生成多个基础真实图像,所述多个基础真实图像各自包含针对对应的未填充的训练投影图像的所述孔区域的图像内容;以及
基于所述多个未填充的训练投影图像和所述多个基础真实图像来训练孔填充模型。
17.根据权利要求16所述的非暂态计算机可读介质,其中生成模拟背景图像还包括:随机地或伪随机地选择相机角度、水平视场或纵横比中的至少一个,并且其中将所述全景图像之一投影到所述二维图像平面上使用所述水平视场、所述相机角度或所述纵横比而被执行。
18.根据权利要求16所述的非暂态计算机可读介质,其中所述未填充的环境图具有大于所述球体图像的水平视场的水平视场,并且包含缺少图像内容的孔区域。
19.根据权利要求16所述的非暂态计算机可读介质,其中所述操作还包括:针对每个未填充的训练投影图像,基于所述未填充的训练投影图像来生成掩模图像,所述掩模图像将所述孔区域指示为要被填充的区域,其中所述孔填充模型基于所述未填充的训练投影图像以及所述掩模图像而被训练。
20.根据权利要求16所述的非暂态计算机可读介质,其中所述孔填充模型是生成对抗网络(GAN)。
CN201910758153.5A 2018-10-12 2019-08-16 环境图生成和孔填充 Active CN111047506B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862745220P 2018-10-12 2018-10-12
US62/745,220 2018-10-12
US16/188,479 2018-11-13
US16/188,479 US10719920B2 (en) 2018-10-12 2018-11-13 Environment map generation and hole filling

Publications (2)

Publication Number Publication Date
CN111047506A true CN111047506A (zh) 2020-04-21
CN111047506B CN111047506B (zh) 2024-04-09

Family

ID=70160120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910758153.5A Active CN111047506B (zh) 2018-10-12 2019-08-16 环境图生成和孔填充

Country Status (3)

Country Link
US (1) US10719920B2 (zh)
CN (1) CN111047506B (zh)
AU (1) AU2019226134B2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488044A (zh) * 2020-12-15 2021-03-12 中国银行股份有限公司 图片处理方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636578B1 (en) * 2020-05-15 2023-04-25 Apple Inc. Partial image completion
US11763436B2 (en) * 2020-07-31 2023-09-19 Adobe, Inc. Facial reconstruction network
CN112232385A (zh) * 2020-09-27 2021-01-15 北京五八信息技术有限公司 一种图像处理方法及装置
US11430146B2 (en) * 2020-10-31 2022-08-30 Robert Bosch Gmbh Two-stage depth estimation machine learning algorithm and spherical warping layer for EQUI-rectangular projection stereo matching
WO2024036224A1 (en) * 2022-08-09 2024-02-15 Nvidia Corporation Panorama generation using neural networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689293A (zh) * 2007-06-29 2010-03-31 微软公司 扩充用于全景显示的图像
CN105957004A (zh) * 2016-04-27 2016-09-21 武汉大学 一种基于图割优化的全景影像修补方法及系统
CN107251026A (zh) * 2014-12-22 2017-10-13 电子湾有限公司 用于生成虚拟情境的系统和方法
CN108564527A (zh) * 2018-04-04 2018-09-21 百度在线网络技术(北京)有限公司 基于神经网络的全景图内容补全和修复的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160391B1 (en) * 2008-06-04 2012-04-17 Google Inc. Panoramic image fill
US8666193B2 (en) * 2009-04-27 2014-03-04 St-Ericsson (France) Sas Geometric method of transforming a two-dimensional image
US10282815B2 (en) 2016-10-28 2019-05-07 Adobe Inc. Environmental map generation from a digital image
US11694392B2 (en) 2018-05-22 2023-07-04 Apple Inc. Environment synthesis for lighting an object

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689293A (zh) * 2007-06-29 2010-03-31 微软公司 扩充用于全景显示的图像
CN107251026A (zh) * 2014-12-22 2017-10-13 电子湾有限公司 用于生成虚拟情境的系统和方法
CN105957004A (zh) * 2016-04-27 2016-09-21 武汉大学 一种基于图割优化的全景影像修补方法及系统
CN108564527A (zh) * 2018-04-04 2018-09-21 百度在线网络技术(北京)有限公司 基于神经网络的全景图内容补全和修复的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488044A (zh) * 2020-12-15 2021-03-12 中国银行股份有限公司 图片处理方法及装置

Also Published As

Publication number Publication date
AU2019226134B2 (en) 2021-11-18
US10719920B2 (en) 2020-07-21
US20200118253A1 (en) 2020-04-16
CN111047506B (zh) 2024-04-09
AU2019226134A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
CN111047506B (zh) 环境图生成和孔填充
US11276150B2 (en) Environment map generation and hole filling
US11694392B2 (en) Environment synthesis for lighting an object
US11335379B2 (en) Video processing method, device and electronic equipment
CN111508052B (zh) 三维网格体的渲染方法和装置
US7583264B2 (en) Apparatus and program for image generation
CN110246209B (zh) 图像处理方法及装置
KR101359011B1 (ko) 지구 환경 3차원 가시화 시스템
Ganovelli et al. Introduction to computer graphics: A practical learning approach
CN110648274B (zh) 鱼眼图像的生成方法及装置
Paulin et al. Review and analysis of synthetic dataset generation methods and techniques for application in computer vision
CN104517313B (zh) 基于屏幕空间的环境光遮蔽的方法
US20230072701A1 (en) Ambient light based mixed reality object rendering
US20240127402A1 (en) Artificial intelligence techniques for extrapolating hdr panoramas from ldr low fov images
CN115970275A (zh) 虚拟对象的投影处理方法、装置、存储介质与电子设备
CN115526976A (zh) 虚拟场景渲染方法、装置、存储介质和电子设备
US11120606B1 (en) Systems and methods for image texture uniformization for multiview object capture
US6894696B2 (en) Method and apparatus for providing refractive transparency in selected areas of video displays
CN117911296A (zh) 用于从低ldr的fov图像推断hdr全景图的人工智能技术
Elazab et al. An Enhanced Real-Time Shadow Rendering Technique in Outdoor Augmented Reality
JP3538248B2 (ja) 画像合成装置及び画像合成方法
JP2023153534A (ja) 画像処理装置、画像処理方法、およびプログラム
GB2624103A (en) Artificial intelligence techniques for extrapolating HDR panoramas from LDR low FOV images
CN117252974A (zh) 三维图像的贴图方法和装置、电子设备及存储介质
CN112581600A (zh) 电子服装的裘毛效果生成方法、装置、存储介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant