CN112419165A - 利用几何和光度变换进行图像修复 - Google Patents
利用几何和光度变换进行图像修复 Download PDFInfo
- Publication number
- CN112419165A CN112419165A CN202010489840.4A CN202010489840A CN112419165A CN 112419165 A CN112419165 A CN 112419165A CN 202010489840 A CN202010489840 A CN 202010489840A CN 112419165 A CN112419165 A CN 112419165A
- Authority
- CN
- China
- Prior art keywords
- image
- features
- secondary image
- primary
- region
- 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.)
- Pending
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 198
- 238000000844 transformation Methods 0.000 title claims description 37
- 238000000034 method Methods 0.000 claims abstract description 102
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000012937 correction Methods 0.000 claims description 40
- 239000003086 colorant Substances 0.000 claims description 24
- 230000001131 transforming effect Effects 0.000 claims description 18
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 13
- 230000006872 improvement Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 238000007670 refining Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 239000011435 rock Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008439 repair process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 244000025254 Cannabis sativa Species 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000000945 filler Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000981 bystander Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005067 remediation Methods 0.000 description 2
- AZUYLZMQTIKGSC-UHFFFAOYSA-N 1-[6-[4-(5-chloro-6-methyl-1H-indazol-4-yl)-5-methyl-3-(1-methylindazol-5-yl)pyrazol-1-yl]-2-azaspiro[3.3]heptan-2-yl]prop-2-en-1-one Chemical compound ClC=1C(=C2C=NNC2=CC=1C)C=1C(=NN(C=1C)C1CC2(CN(C2)C(C=C)=O)C1)C=1C=C2C=NN(C2=CC=1)C AZUYLZMQTIKGSC-UHFFFAOYSA-N 0.000 description 1
- PZASAAIJIFDWSB-CKPDSHCKSA-N 8-[(1S)-1-[8-(trifluoromethyl)-7-[4-(trifluoromethyl)cyclohexyl]oxynaphthalen-2-yl]ethyl]-8-azabicyclo[3.2.1]octane-3-carboxylic acid Chemical compound FC(F)(F)C=1C2=CC([C@@H](N3C4CCC3CC(C4)C(O)=O)C)=CC=C2C=CC=1OC1CCC(C(F)(F)F)CC1 PZASAAIJIFDWSB-CKPDSHCKSA-N 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3872—Repositioning or masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
公开了用于用辅图像的对应区域填充或以其他方式替换主图像的目标区域的技术。填充或替换可以用覆盖进行(无需在主图像上运行减法过程)。由于主图像和辅图像可能未对齐,因此几何变换和光度变换都应用于主图像和/或辅图像。例如,执行辅图像的几何变换,以更好地将辅图像的特征与主图像的对应特征对齐。另外,执行辅图像的光度变换,以更好地将辅图像的一个或多个像素的颜色与主图像的对应一个或多个像素的颜色匹配。然后将变换后的辅图像的对应区域复制并覆盖在主图像的目标区域上。
Description
技术领域
本公开总体上涉及数字图像处理,并且更具体地涉及用于用辅图像的对应区域有效地替换给定图像的所选区域的技术。
背景技术
包括在智能手机中所包括的相机在内的相机的增加的普及率和技术能力极大地增加了人们捕获数字照片和视频的便利性。并行地,在过去的几十年中,图像处理已经取得了巨大的进步,并且图像处理可以用于改变或修改由相机捕获的图像。
发明内容
这里介绍的是用于用辅图像的对应区域填充或以其他方式替换主图像的目标区域的技艺/技术。例如主图像的目标区域在背景场景的前面可能有不想要的对象,诸如旁观者或汽车。辅图像的对应区域可以显示背景场景,而不会被不想要的对象所阻挡。在这种情况下,例如可以通过将来自辅图像的背景场景的对应区域复制并覆盖在主图像的不期望的对象上,从而有效地从主图像中移除不想要的对象。
在一些实施例中,由于主图像和辅图像可能未在几何和/或光度上被对齐,因此将几何和/或光度变换应用于主图像和/或辅图像。例如在一个示例实施例中,执行辅图像的几何变换,以使辅图像与主图像几何对齐。另外,执行辅图像的光度变换,以更好地将辅图像的一个或多个像素的颜色与主图像的对应一个或多个像素的颜色匹配。然后将变换后的辅图像的对应区域转移到主图像的目标区域。
附图说明
图1是示意性地示出了根据本公开的实施例的示例计算设备的所选组件的框图,该示例计算设备被配置为提供图像修复服务以用辅图像的对应区域有效地替换主图像的所选区域。
图2是示意性示出了提供根据本公开的另一实施例的包括与服务器设备通信的图1的计算设备的示例系统的所选组件的框图,其中该设备和服务器设备的组合被配置为提供图像修复服务,以用辅图像的对应区域有效地替换主图像的所选区域。
图3A是示出了根据本公开的实施例的用于提供图像修复的示例方法的流程图,其中主图像的区域有效地被替换为源自与主图像相似的一个或多个辅图像的背景外观。
图3B是示出根据本公开的实施例的图3A的方法的图像对齐处理的流程图。
图4A、图4B、图4C、图4C1、图4C2、图4D、图4E、图4F、图4G、图4H和图4I示出了根据本公开的一些实施例的描绘图像修复过程的各个阶段的主图像和辅图像。
图5A-5D示出了根据本公开的一些实施例的示例图像,其中来自主图像的对象被来自辅图像的背景有效地替换。
具体实施方式
公开了用于用辅图像的对应区域填充或以其他方式替换主图像的目标区域的技术。请注意,填充或替换可以使用叠加图完成,因此不需要在主图像上运行任意实际的减法过程。换句话说,可以将辅图像的对应区域复制到主图像的目标区域上,而无需实际移除目标区域。可替代地,在将辅图像的对应区域粘贴到主图像的目标区域中之前,目标区域可以被切出或以其他方式被实际移除。在任意情况下,由于主图像和辅图像可能未对齐,因此在将辅图像的对应区域转移到主图像的目标区域之前,将几何和光度变换都应用于主图像和/或辅图像。例如在一个示例实施例中,执行辅图像的几何变换,以更好地将辅图像的精细尺度特征(例如边缘、轮廓、角和/或深特征)与主图像的对应特征对齐。在一个实施例中,首先执行该几何变换以使辅图像与主图像粗略地对齐,然后被进一步改进以更好地对齐辅图像的精细尺度特征。另外,执行辅图像的光度变换,以更好地将辅图像的一个或多个像素的颜色与主图像的对应一个或多个像素的颜色匹配。然后将变换后的辅图像的对应区域转移到主图像的目标区域。
总体概述
通常,用户使用一个或多个相机捕获同一场景的多个图像。在示例中,由用户捕获的第一图像在背景场景之前具有不需要的对象,诸如旁观者或汽车。用户可能想要从第一图像中移除这样的对象,诸如其中背景场景前面的旁观者或汽车对于用户而言是不期望的示例情况。用户可能还已经捕获了显示背景场景而没有被不需要的对象阻挡但是以其他方式存在缺陷的第二图像。在这种情况下,可以通过将来自第二图像的背景场景的对应区域复制并覆盖在第一图像的不需要的对象上,从而有效地从第一图像中移除不想要的对象。该过程在本文中通常被称为“图像修复”过程。如将根据本公开理解并进而解释的那样,存在与图像修复技术相关联的许多非平凡的问题。例如可能已经从不同的相机位置和角度和/或在不同的照明条件下捕获了两个图像。即,第二图像可以以相对重要的方式在几何上和/或光度上不同于第一图像。因此,如果没有本文所述的各种纠正措施,仅从第二图像复制和粘贴到第一图像就可能使图像修复过程的最终产品在视觉上引人注目并且对于用户而言是不希望的。
如上所述,存在与现有图像修复技术相关的许多非平凡的问题。例如用于获取填充内容的一个或多个辅图像以及接收填充内容的主图像可能都已从不同的相机位置和角度和/或以不同的照明条件和/或相机设置被捕获。作为示例,相机可以在捕获图像修复处理中使用的各种图像之间经历横向、垂直和/或旋转运动、和/或缩放水平(比例)的改变。
为了便于参考,接收填充内容的图像在本文中被称为主图像,而供应填充内容的一个或多个图像在本文中被称为辅图像。为了简化进一步的讨论并且在不失一般性的情况下,对“辅图像”或“该辅图像”的引用可以暗示一个或多个辅图像中的任意一个。例如在两个这样的辅图像可用的情况下,可以使用第一辅图像来替换主图像的区域以生成第一修改的主图像来执行本文中讨论的图像修复技术,并且可以使用第二辅图像来替换主图像的区域以生成第二修改后的主图像来重复图像修复技术。然后,可以选择第一或第二修改主图像中的更好的一个来作为最终修改图像。可以通过适当的算法和/或由人来执行选择。
通常,在像素级别的辅图像在几何上可能没有与主图像对齐(即,主图像和辅图像内的特征的边缘可能没有彼此充分对齐)。除了(或代替)主图像和辅图像之间的这种几何变化之外,主图像和辅图像之间可能存在光度变化。例如主图像和辅图像之间的照明条件、曝光、颜色和白平衡可能不同。以这种方式,辅图像在光度上不同于主图像(即,主图像和辅图像的颜色没有充分匹配)。
在本公开的实施例中,在将辅图像的区域复制到主图像的对应区域上或以其他方式在主图像的对应区域上之前,校正主图像和辅图像之间的这种几何和/或光度差异。如果不进行这种校正,则复制和粘贴可能会在辅图像的复制部分和主图像的周围部分之间产生容易检测到的(因此是不良的)不匹配现象。
为了校正主图像和辅图像之间的这种几何和/或光度差异,在一些示例实施例中,可以在将感兴趣区域复制到主图像之前对辅图像进行变换。例如诸如通过执行辅图像的仿射(affine)变换或单应(homographic)(也称为透视或投影)变换来对辅图像进行几何变换。这样的变换有助于将辅图像的比例(缩放级别)和对应边缘与主图像对齐。仿射变换的示例包括缩放(例如均匀和/或非均匀缩放)、旋转和平移(例如横向和/或垂直移动)。仿射变换是单应变换的子集。单应变换还包括透视投影项-可以将其视为将最初平行的线修改为非平行的变换,并且这些对建模真实相机中发生的投影过程很有帮助。这些变换在几何上将辅图像与主图像对齐或以其他方式使辅图像与主图像充分匹配。注意,在一些实施例中,可以首先执行这样的几何变换以使辅图像与主图像粗略地对齐,并且然后被改进(refine)以更好地对齐辅图像的精细尺度特征。尽管用于对齐的精细尺度特征可以在一个实施例与下一个实施例之间变化,但是在一些这样的情况下,用于对齐的精细尺度特征包括一个或多个边缘或轮廓、一个或多个角、一个或多个深特征、和/或任意其他可连续识别的特征。
如将理解的,深特征是引起分层深度学习模型内的节点或层的一致响应(推断)的任意可检测特征或模式,其中该响应与模型的最终输出有关。取决于在响应被触发的决策树或模型的其他框架有多早,特征被认为比另一个特征“更深”。更详细地,在设计用于图像分类的神经网络中,可以在训练图像集合上训练给定的神经网络模型,从而学会在遇到某些特征时做出响应。可以训练中间层以标识更通用的特征,诸如边缘检测器层或轮廓检测器层,而可以训练最终或最后一层以检测非常特定的特征,诸如具有眼睛和嘴巴的脸部。这样,较深的层有效地缩小了后一(较不深)层进行的选择。这是有力的,因为标准训练后的神经网络的较不深的层确实可以标识诸如汽车的特定特征,但是它们可能无法辨别例如汽车与另一类似外观的块状对象之间的差异。因此,更深的层可以剔除不是汽车的块状对象。因此,根据其中使用一个或多个训练的神经网络来实现几何变换和/或光度变换的一些实施例,这样的标准深特征检测可能是有帮助的,如将进而讨论的。
注意,对齐或匹配不一定是完美的,只要对齐或匹配足以提供视觉上令人满意的结果(辅图像的粘贴部分将不容易被检测为明显复制的图块),如将理解。因此,根据一些实施例,可以容忍阈值或变化程度。在一个示例用例中,在对齐之后,主图像的对象(例如岩石)对齐或映射到(例如形状、大小、位置和透视图上类似)辅图像中的对应的对象(相同岩石)。在一个这样的示例情况下,除了执行几何变换之外,幅图像还受制于光度变换以将辅图像的颜色与主图像的颜色对齐。例如在这样的光度变换之后,主图像中的对象的像素的颜色信息(例如红色、绿色和蓝色通道颜色信息)与辅图像中的对应对象的对应像素的颜色信息充分相似。同样,请注意,只要结果在视觉上令人愉悦(其中颜色上的任意差异都不是人类可以感知的,或者可以忽略不计,从而无法容易地检测到辅图像的粘贴部分作为图块),就不需要精确的颜色匹配。
在一些实施例中,为了实现辅图像的几何和/或光度变换,标识主图像和辅图像中的各种稀疏特征。图像中的稀疏特征可以很容易地与周围的像素区分开。特别地,稀疏特征相对于周围像素具有唯一的像素签名或值,从而可以容易地标识这些特征。在示例实施例中,这些特征可以例如比图像的周围区域更暗或更亮,或者具有不同的颜色。例如在图像中的绿色草坪的相对较大的广阔区域中的绿草的模糊区域是难以区分的,因此不是稀疏的特征。但是,在绿色草坪的同样广阔区域中的棕色岩石,或者在蓝天下的橙黄色的太阳是很容易区分的。因此,岩石和太阳可以被标识为稀疏特征。
可以以多种方式来进行几何和光度变换。在一些实施例中,在应用任意变换之前,将主图像中的多个特征与辅图像中的对应的多个特征进行匹配,以生成对应的多对匹配特征。例如主图像的第一特征(例如岩石)与辅图像的对应的第一特征(例如岩石)匹配,以提供第一对匹配的特征。类似地,将主图像的第二特征(例如树)与辅图像的对应的第二特征(例如树)匹配,以提供第二对匹配特征。应当理解,由于主图像的特征和辅图像的对应特征之间的相似性(例如,相似的像素颜色信息、大小、图像中的位置、形状和边缘),主图像的特征和辅图像的对应特征形成一对匹配的特征。在一个示例中,对于主图像和/或辅图像中的每个特征,生成特征的对应描述符,其中该描述符包括指示特征在图像中的位置的信息、特征的像素颜色信息、特征的大小和形状、特征的边缘和/或从特征得到的其他信息。在示例中,比较两个图像的各种特征的特征描述符以在两个图像中找到匹配的特征对。请注意,匹配的特征对中的两个特征不需要完全匹配,因为主图像可能在几何和/或光度上与辅图像不同,因此,预期匹配的特征在形状、大小、颜色和位置上不会完全相同。
随后,多个匹配特征对中的匹配特征对的第一子集(例如一些但不是全部)被随机选择,或者是基于一些预先建立的标准(例如选择相对较大的稀疏对象而不是相对较小的稀疏对象)。例如适当的RANdom SAmple Consensus算法或“RANSAC”算法用于选择。选择并执行一个或多个几何变换,其旨在对齐所选的匹配特征对。如各种讨论的那样,所确定的几何变换可以包括例如旋转、缩放、垂直和/或横向平移以及透视失真中的一项或多项。例如如果选择的第一匹配特征对包括来自主图像的第一特征和辅图像中的第一特征,并且如果选择的第二匹配特征对包括来自主图像的第二特征和辅图像中的第二特征,然后,几何变换的目的是将来自主图像的第一和第二特征与来自辅图像中的对应第一和第二特征对齐。随后,生成指示变换后的匹配的质量的得分。该得分可以是例如所选的匹配特征对在整个图像中分布的均匀程度、所选的匹配特征对与要归档(filed)的区域的接近程度、和/或所执行的几何变换的函数。如果得分小于阈值,则重复该过程。例如如果得分小于阈值,则随机选择多个匹配特征对中的匹配特征对的第二子集,选择并执行一个或多个几何变换,并生成另一个得分。该过程一直持续到终止条件被满足为止。根据实施例,终止条件的示例包括得分足够高(例如高于阈值)和/或至少阈值迭代数目的性能。这些终止条件表明辅图像已进行几何变换,以与主图像充分对齐。因此,尽管两个图像之间仍可能存在一些像素级差异或未对齐,但是现在主图像的特征的形状、大小和位置与辅图像的对应匹配特征的形状、大小和位置充分或大致匹配。注意,出于图像修复过程的预期质量的目的,这种可能的相对轻微的未对齐可能是可接受的。替代地,如果未对齐的程度是不可接受的,则可以随后通过改进几何变换来固化或以其他方式减少,如将进而讨论的。
尽管在上文中讨论了多个匹配特征对中的匹配特征对的随机选择,但是在一些实施例中,选择不必是随机的。此外,在上面的一些示例中,本文将多个匹配的特征对讨论为稀疏特征,在一些实施例中,特征还可以包括密集点或密集特征,例如特征可以密集地位于一个或多个像素处、甚至图像的每个或大多数像素。
在执行几何变换之后,执行辅图像的全局光度变换。注意,在其他实施例中,可以在几何变换之前执行光度变换。又在其他实施例中,可以以交替的样式执行光度和几何变换,其中随后将在全局或局部尺度上改进初始执行的光度和几何变换中的一个或两者,如将进而讨论的。在示例实施例中,执行全局光度变换以补偿主图像和辅图像之间的曝光、照明条件、白平衡和照明的变化。该光度校正被称为“全局”,因为在整个辅图像中以相同的方式执行光度校正(并且不限于辅图像的局部区域)。几何变换可以类似地以全局样式应用。光度校正涉及改变辅图像的像素颜色(例如各个像素的红色(R)、绿色(G)和/或蓝色(B)颜色信息),使得辅图像的特征的颜色充分匹配主图像的对应特征的颜色。
作为示例,将主图像的第一特征的颜色信息(例如第一特征的像素的R、G、B颜色信息)与辅图像的对应特征的颜色信息进行比较。在这种颜色比较期间考虑匹配的特征对中的全部或至少一些。这样的比较用于分别为R、G和/或B通道生成增益值αR、αB和/或αG,并为R、G和B通道分别计算偏置值βR、βB和/或βG,其中这些值足以使主图像特征的颜色与辅图像的对应特征对齐或以其他方式适合。注意,可以通过预先确定的阈值差来测量足够的对齐,诸如如果增益和偏置值在彼此的10%之内、或在目标值的5%之内、或者用于测量匹配是否足够相似的其他一些合适的阈值匹配被声明的情况。然后,基于计算出的增益和偏置值,将颜色校正全局应用于辅图像的所有像素。
在一些实施例中,在全局光度变换之后,对先前执行的几何变换进行改进或精细调整以增进像素级对齐。例如先前执行的几何变换可以使辅图像与主图像大致对齐(例如以满足阈值要求)。但是两个图像之间可能仍然存在例如几个像素的未对齐。该改进旨在进一步减少或消除两个图像之间的这种未对齐。在一些这样的示例实施例中,通过将较高的权重置于各种特征的边缘上来改进几何变换,诸如相对笔直或具有确定形状的那些边缘。在示例中,为了改进几何变换,可以生成两个图像中的任一个的边缘图(或两个图像的两个边缘图),其中该边缘图指示各种特征的边缘。然后,边缘图上的像素的权重高于图像中其他位置的像素。随后,计算几何变换,以最大化如通过边缘图加权的像素颜色的对齐。例如计算几何变换,其使基于如由边缘图加权的颜色的能量函数最小化。
更详细地,并且根据示例实施例,辅图像的几何变换和改进可能是过度的,例如辅图像可能失真太多以至于不能在主图像和辅图像之间生成对齐。在一些实施例中,为了避免这样的过度失真,修改所使用的能量函数以增加针对过多失真的惩罚(例如增加针对过多偏斜、过多非均匀缩放等的惩罚)。例如如果在几何变换期间某些类型的失真(例如偏斜或非均匀缩放)超出阈值,则对几何变换算法进行修改以增加惩罚,以便在计算几何变换和/或其改进时避免或减少这种过度失真。
在一些实施例中,在初始几何变换和几何变换的改进之后,主图像和辅图像基本几何对齐。同样,全局光度校正在给定阈值内将辅图像与主图像进行光度匹配。但是,两个图像之间可能仍然存在一些颜色不匹配。因此,可以执行辅图像的局部光度或颜色校正,以在主图像中的对应区域处、附近和/或内部进一步对齐辅图像的颜色。为了执行这样的局部光度校正,比较在主图像中在要替换的区域的边界处或附近(例如在阈值距离之内,诸如在一个像素距离、两个像素距离或更高)的像素,以及辅图像的对应区域中的对应像素,并生成颜色图调整掩膜(mask)。为了便于讨论,在主图像中待替换的区域在本文中可以被称为孔区域,如在待填充的孔中一样。然而,该术语并非旨在暗示对本公开的限制。例如孔区域的使用并不一定意味着实际上已除去了一部分主图像以便于创建孔,也不一定意味着该孔需要被连接(例如,该孔可能包含多个不连接的区域)。相反,孔区域仅是指主图像的一个或多个部分,这些部分将被辅图像的对应部分填充、替换或覆盖。在一些实施例中,在生成颜色图调整掩膜之前,在给定孔区域的边界处或边界附近的像素被模糊(例如以解决主图像和辅图像的几个像素的几何未对准)。如果颜色图调整掩膜高于阈值,则意味着在孔区域附近在主图像的像素与辅图像的对应像素之间存在较大的颜色失配。例如如果辅图像中存在不在主图像中的对象(或者主图像中存在不在辅图像中的对象),则会发生这种情况。例如由于主图像和辅图像是在两个不同的时间实例中拍摄的(和/或从不同的位置拍摄的),因此人或其他对象可能在一个图像中的孔区域附近,而在另一个图像中可能不存在。由于归因于图像之一中的人或对象的像素的像素值,这些像素的颜色图调整掩膜将高于这些像素的阈值。因此,如果用于某些像素的颜色图调整掩膜高于阈值,则在执行局部颜色校正时对于那些像素忽略颜色图调整掩膜。
在一些实施例中,在针对孔区域的边界处或附近的各种像素的颜色图调整掩膜的生成之后,针对孔区域的边界处或其附近的各种像素的差分图像被生成。随后,差分图像用于对辅图像中的孔区域内的像素执行局部颜色校正。
因此,现在,辅图像在预建立的相似性阈值内在几何上和光度上与主图像充分匹配。主区域具有必须被来自辅图像中的对应区域填充的孔区域。然后辅图像中与主图像的孔区域相对应的区域被复制,并被覆盖在主图像的孔区域上。因为辅图像已经在几何上和光度上进行了变换以与主图像对齐,所以用辅图像的对应区域填充主图像的孔区域是相对无缝的。例如主图像的填充区域在视觉上看起来像是原始主图像的一部分,因此填充操作可能在视觉上无法被普通人眼视觉上可检测或以其他方式无法察觉,从而导致更好的内容填充操作和更好的用户体验。根据本公开,将理解许多变型和实施例。
系统架构
图1是示意性地示出了根据一些实施例的示例计算设备100(也称为设备100)的所选组件的框图,其被配置为提供图像修复服务,以用辅图像的对应区域有效地替换主图像的所选区域。可以看出,设备100包括图像修复系统102(也称为图像填充系统),其允许用户从数字图像中移除不想要的对象。在一些实施例中,从数字图像移除不想要的对象的过程涉及标识要从图像移除的对象,移除形成不想要的对象的像素,以及用视觉上合理的背景填充所得的孔区域。在其他实施例中,在不实际移除形成不想要的对象的像素的情况下,标识包括不想要的对象的孔区域。在这种情况下,填充孔区域涉及覆盖不想要的对象的下面的像素。无论哪种情况,填充都可以视为覆盖,无论是覆盖已移除像素的孔区域还是未移除像素的孔区域。将会理解,设备100的配置可以从一个实施例到下一个实施例变化。为此,本文中的讨论将更多地集中在设备100的与有利于从主图像中移除不需要的对象并用从一个或多个其他相关辅图像中得到的视觉上合理的背景来填充所得的孔区域有关的方面,并较少地集中在计算设备典型的标准组件和功能上。
设备100可以包括例如台式计算机、膝上型计算机、工作站、企业级服务器计算机、手持式计算机、平板计算机、智能电话、机顶盒、游戏控制器、和/或可以显示图像并允许用户有效地用辅图像中的对应部分替换(其包括移除像素或覆盖像素)主图像的一部分的任意其他计算设备。
在所示的实施例中,设备100包括被配置为实现本文所公开的某些功能的一个或多个软件模块,以及被配置为能够实现这种实现的硬件。这些硬件和软件组件尤其可以包括处理器132、存储器134、操作系统136、输入/输出(I/O)组件138、通信适配器140、数据存储模块114和图像修复系统102。图像数据库120(例如包括非暂态计算机存储器)至少存储主图像和用于填充主图像的孔区域的一个或多个其他相关的辅图像,并耦合到数据存储模块114。还提供了总线和/或互连144,以允许使用例如通信适配器140进行设备间和设备内通信。注意,在示例中,诸如操作系统136和图像修复系统102的组件可以是在存储器132中存储并且可以由处理器132执行的软件模块。在示例中,图像修复系统102的至少部分可以至少部分地由硬件来实现,诸如由专用集成电路(ASIC)或具有一个或多个嵌入式例程的微控制器。如将被理解,总线和/或互连144是所有标准和专有技术的象征,这些标准和专有技术允许设备100中示出的各种功能组件的交互,无论该交互实际上是在物理总线结构上进行还是经由软件调用、请求/响应构造、或任意其他这种组件内和组件间接口技术。
处理器132可以使用任意合适的处理器来实现,并且可以包括诸如音频处理器或图形处理单元的一个或多个协处理器或控制器,以辅设备100的处理操作。类似地,存储器134可以是使用任意合适类型的数字存储装置来实现,诸如磁盘驱动器、固态驱动器、通用串行总线(USB)驱动器、闪存、随机存取存储器(RAM)或上述的任意合适组合中的一个或多个。操作系统136可以包括任意合适的操作系统,诸如谷歌Android、微软Windows或苹果OSX。如将根据本公开所理解的,可以在不考虑与设备100一起提供的特定操作系统的情况下实现本文提供的技术,因此也可以使用任意合适的现有或随后开发的平台来实现。可以使用允许到网络和/或其他计算设备和/或资源的有线或无线连接的任意适当的网络芯片或芯片组来实现通信适配器140。设备100还包括一个或多个I/O组件138,诸如触觉键盘、显示器、鼠标、触敏显示器、触摸屏显示器、触控板、麦克风、相机、扫描仪和位置服务中的一个或多个。通常,未在图1的示意性框图中反映的其他标准组件和功能将是显而易见的,并且还将理解,本公开并不旨在限于任意特定的硬件配置。因此,在其他实施例中可以使用其他配置和子组件。
在图1中还示出了在设备100上实现的图像修复系统102。在示例实施例中,系统102包括对象移除选择模块104、几何变换模块106、光度变换模块108和孔区域填充模块110。在一个示例中,系统102的组件使用总线和/或互连144彼此或与设备102的其他组件通信,如先前所讨论的。系统102的组件可以与一个或多个其他设备进行通信,包括用户的其他计算设备、服务器设备(例如云存储设备)、许可服务器或其他设备/系统。尽管在图1中分别示出了系统102的组件,但是子组件中的任意一个可以被组合成更少的组件,诸如被组合成单个组件,或者被划分成更多的组件,如可以用于特定的实现。
在示例中,执行本文关于系统102讨论的功能的系统102的组件可以实现为独立应用的一部分、实现为应用模块、实现为应用插件、实现为库功能或其他应用可以调用的功能、和/或实现为云计算模型。因此,系统102的组件可以被实现为个人计算设备或移动设备上的独立应用的一部分。替代地或附加地,图像编辑系统102的组件可以在允许数字内容编辑的任意应用中实现,包括但不限于
和软件。“ADOBE”、“ADOBE ILLUSTRATOR”、“ADOBELIGHTROOM”、“ADOBE PHOTOSHOP”、“ADOBE SENSEI”、“ADOBE CREATIVE CLOUD”和“ADOBEAFTER EFFECTS”是Adobe Systems Incorporated在美国和/或其他国家的注册商标。
如所讨论的,系统102接收主图像400a和辅图像400b。对象移除选择模块104经由适当的用户界面从用户接收主图像400a中的将由辅图像400b的对应第二区域替换的对象或第一区域。然而,最初,主图像400a和辅图像400b可能未对齐,因此,将来自辅图像400b的第二区域复制到主图像400a的第一区域可能会在主图像中产生未对齐区域。
如所讨论的,主图像400a和辅图像400b可能没有几何对齐–例如由相机(或由两个不同的相机)捕获的两个图像可能具有同一场景,但是,是从不同的角度、以不同的缩放级别、从不同的位置等等被捕获的。因此,尽管主图像400a和辅图像400b都具有同一场景,但是两个场景可能没有几何对齐。在一些实施例中,几何变换模块106可以对辅图像执行几何变换,例如以使两个图像几何对齐。这种几何变换的示例包括仿射变换和单应变换,其包括诸如缩放(例如均匀或不均匀缩放)、平移、旋转和失真的变换。但是,在其他一些示例中,可以以许多其他方式对此类几何变换进行参数化,包括由以下方式定义的变形:在诸如2x2、3x3或一般为NxN网格的2D网格上定义的样条曲线(splines);在锚点集合上定义的径向基函数(radial basis functions);根据估计的深度信息从一个相机视点到另一个视点的重新投影;和/或诸如神经网络模型的学习的参数模型,其被训练以检测边缘、轮廓、拐角和/或可以被足够训练的模型一致地检测到的其他深特征或图案。
例如在一些这样的实施例中,可以利用标准卷积神经网络(CNN)边缘或轮廓检测器来完成主图像400a和/或辅图像400b中的边缘检测。类似地,存在许多已知的深度学习模型,其适合于检测图像内的拐角或检测图像内的其他可识别图案或特征。如将理解,根据本公开的一些实施例,任意这样的深度学习模型都可以用于标识特征,该特征然后可以用于将一个图像或图像部分与另一图像或图像部分几何对齐。类似地,根据本公开的一些实施例,存在许多适用于检测图像中颜色的已知深度学习模型,并且任意此类模型都可用于识别特征,然后这些特征可用于将一个图像或图像部分与另一个图像或图像部分进行光度对齐。
如所讨论的,主图像400a和辅图像400b也可能没有光度对齐-例如相机可以在不同的光照条件、不同的曝光、白平衡的变化、以及照明的变化等下捕获两个图像。在不校正这种光度未对齐的情况下将辅图像400b的区域复制到主图像400a的对应区域,可能导致复制的部分比修改后的主图像400a1中的周围区域更暗或更亮。因此,在一些实施例中,辅图像400b首先由光度变换模块108进行光度变换,使得变换后的辅图像400b与主图像400a在给定阈值内光度匹配。
一旦完成了辅图像400b的几何和/或光度变换,孔区域填充模块110将辅图像400b的区域复制到主图像400a的对应选择区域,例如以生成修改后的主区域400a1。
图2是示意性地示出了根据一些实施例的示例系统200的所选组件的框图,该示例系统200包括与服务器设备201通信的图1的计算设备100,其中设备100和服务器设备201(以下也通常称为服务器201)的组合被配置为提供图像修复服务,以用辅图像的对应区域有效地替换主图像的所选区域。
在示例中,可以使用允许到网络205和/或其他计算设备和/或资源的有线或无线连接的任意适当的网络芯片或芯片集合来实现设备100的通信适配器140。为此,设备100经由适配器140耦合到网络205,以允许与诸如服务器201的其他计算设备和资源进行通信。网络205是计算设备通过其进行通信的任意合适的网络。例如网络205可以是局域网(例如基于家庭或办公室的网络)、广域网(诸如因特网)或这些网络的组合,无论是公共网络、私有网络或两者。在某些情况下,访问给定网络或计算系统上的资源可能需要凭据,诸如用户名、密码或任意其他合适的安全机制。
在一个实施例中,服务器201包括一个或多个企业级设备,其被配置为提供一系列被调用以提供图像修复服务的服务,如本文中的各种描述。这样的服务的示例包括:从设备100接收包括主图像400a、辅图像400b、以及要由辅图像400b的对应区域替换或覆盖的主图像400a的对象或区域的选择的输入;变换(例如几何地和/或光度地)辅图像400b以对齐主图像400a;以及将来自辅图像400b区域复制到主图像400a的对应选择区域,以生成修改后的原始图像400a1。尽管在图2中示出了一个服务器201实现图像修复系统,但是应当理解,通常可以使用数十、数百、数千或更多这样的服务器来管理更多数量的图像填充功能。
在所示的实施例中,服务器201包括被配置为实现本文公开的某些功能的一个或多个软件模块,以及被配置为能够实现这种实现的硬件。这些硬件和软件组件尤其可以包括处理器232、存储器234、操作系统236、图像修复系统202(也称为系统202)、数据存储模块214和通信适配器240。图像数据库220(例如包括非暂态计算机存储器)包括多个主图像和/或辅图像,并耦合到数据存储模块214。还提供了总线和/或互连244,以允许使用例如通信适配器240和/或网络205的设备间通信和设备内通信。注意,诸如操作系统236和图像修复系统202的组件可以是在存储器234中存储并且可由处理器232执行的软件模块。如将理解到的,关于总线和/或互连144的符号本质的先前相关讨论在这里同样适用于总线和/或互连244。
处理器232使用任意合适的处理器来实现,并且可以包括一个或多个协处理器或控制器,诸如音频处理器或图形处理单元,以辅助服务器201的处理操作。同样,可以使用任意合适类型的数字存储装置来实现存储器234,诸如磁盘驱动器、通用串行总线(USB)驱动器、闪存、随机存取存储器(RAM)或上述的任意合适组合中的一个或多个。操作系统236可以包括任意合适的操作系统,并且如先前所指出的,所使用的特定操作系统不是特别相关。可以使用允许到网络205和/或其他计算设备和/或资源的有线或无线连接的任意适当的网络芯片或芯片集合来实现通信适配器240。服务器201耦合到网络205,以允许与诸如设备100的其他计算设备和资源进行通信。通常,根据本公开,在图2的示意性框图中未反映的其他组件和功能将是显而易见的,并且将进一步理解,本公开并不旨在限于任何特定的硬件配置。简而言之,可以使用任意合适的硬件配置。
服务器201可以生成、存储、接收和发送任意类型的数据,包括诸如数字图像(例如主图像、辅图像)的图形内容。如图所示,服务器201包括与客户端设备100上的系统102进行通信的图像修复系统202。在示例中,参照图1讨论的图像修复特征可以在图2中仅由图像修复系统102来实现,仅由图像修复系统202来实现,和/或可以在图像修复系统102和202之间共享。因此,在示例中,图像修复系统202不实现任何图像填充特征、实现一些或所有图像填充特征,包括图像变换特征。
例如当位于服务器201中时,图像修复系统202包括在服务器201上运行的应用或可以下载到设备100的软件应用的一部分。例如系统102可以包括网络托管应用,其允许设备100与服务器201上托管的图像修复系统202的内容进行交互。以这种方式,服务器201基于数字内容和提供给设备100的图形用户界面内的用户交互,从辅图像的对应部分中变换辅图像和/或主图像的填充部分。
因此,从一个实施例到下一个实施例,系统200中一些功能模块的位置可以变化。例如尽管在该示例情况下在客户端侧上示出了几何变换模块106,但是在其他实施例中,其可以在服务器侧上(例如在系统202内)。根据本公开,任意数量的客户端-服务器配置将是显而易见的。在其他实施例中,这些技术可以完全在用户计算机上实现,例如简单地作为独立图像修改应用。类似地,虽然在该示例情况下在客户端侧示出了图像数据库120,但是在其他实施例中它可以在服务器侧,诸如基于云的图像数据库220。因此,主图像和辅图像的数据库可以位于设备102本地或远程,只要它可以由系统102实现或系统202实现的几何变换模块106访问。
示例操作
图3A是示出了根据一些实施例的用于提供图像修复的示例方法300a的流程图,其中有效地将主图像的区域替换为从与类似于主图像的一个或多个辅图像得到的背景外观。方法300a可以例如使用图1和/或图2所示的并且在本文中描述的系统架构来实现。然而,根据本公开显而易见的是,可以在其他实施例中使用其他系统架构。为此,图3A中所示的各种功能与图1和2中所示的特定组件和功能的相关性并不旨在暗示任意结构和/或使用限制。相反,其他实施例可以包括例如变化的集成度,其中多个功能由一个系统有效地执行。在另一示例中,多个功能可以由多于一个的系统有效地执行。例如在替代实施例中,第一服务器可以促进显示主图像和一个或多个辅图像,并且第二服务器可以提供图像修复功能。在又一个实施例中,客户端设备(诸如设备100,而不是服务器)可以显示图像和/或还可以提供与图像修复相关联的功能。因此,尽管本文将方法300a的各种操作讨论为由计算设备100的图像修复系统102执行,但是这些操作中的一个或多个也可以由服务器201的图像修复系统202执行。
尽管图3A示出了根据一些实施例的用于使用从辅图像得到的背景来填充主图像的区域的方法300a,但是图4A、4B、4C、4C1、4C2、4D、4E、4F、4G、4H和4I示出了描绘图像修复过程的各个阶段的主图像和辅图像。本文将统一讨论图3A和图4A-4I。
方法300a包括在304处接收主图像和一个或多个辅图像。如本文中所讨论的,方法300a旨在从主图像中移除不想要的对象,并且用从一个或多个辅图像得到的视觉上合理的背景来填充主图像中的所得孔区域。图4A示出了主图像400a和辅图像400b。尽管仅示出了一个辅图像400b,但是方法300a不限于使用一个辅图像,并且方法300a可以使用多于一个的辅图像。
为了简单起见使用简单的剪贴画来描绘图像400a、400b,以便不混淆本公开的教导。主图像400a和辅图像400b具有相同的场景,例如从不同的角度和/或位置、在不同的时间、在不同的缩放水平、在不同的照明条件下、在不同的曝光水平下等拍摄。在一个示例中,在没有相机的任意横向移动并且具有相机的旋转移动的情况下拍摄主图像400a和辅图像400b。在另一个示例中,主图像400a和辅图像400b是通过相机的一些横向运动和/或旋转运动而拍摄的。
例如图像400b具有与图像400a相同的场景,但是其中相机旋转了一定角度。例如在图像400a中,水平线401a相对于图像400a的边缘成角度Aa(例如可以大约为90度),而在图像400b中,水平线401b相对于图像400a的边缘成角度Ab。角度Aa和Ab不同(例如在该示例中,Ab小于Aa),从而指示相机在图像400a、400b的拍摄之间的旋转。
此外,图像400a(例如其是云)中的特征412a的长度为La,图像400b中对应的特征412b的长度为Lb,其中La大于Lb,这意味着相对于捕获图像400a而言,捕获图像400b时相机可能已经缩小了,和/或意味着与图像400a相比,图像400b是从距对象412的更大距离拍摄的。因此,图像400b是图像400a的旋转和缩放版本。
因此,图像400b是图像400a的几何变换版本。尽管旋转和缩放是图像400b中相对于图像400a的变换的示例,但是其他类型的几何变换也是可能的,例如平移、失真等。
因为图像400a和图像400b具有相同的场景,所以两个图像400a、400b可能具有感兴趣的共同特征。例如主图像400a的特征404a(例如可以是岩石)对应于辅图像400b的特征404b。因此,例如主图像400a的特征404a和辅图像400b的特征404b两者均表示场景的相同岩石,因此在两个图像中在视觉上相同或相似。类似地,图像400a的特征402a(例如太阳)、406a(例如岩石)、408a(例如树)、410a(例如树)分别对应于图像400b的特征402b、406b、408b和410b。这里进而更详细地讨论两个图像400a、400b的特征的匹配。可以注意到,由于图像400b是图像400a的旋转和缩放版本,因此图像400b的特征也是图像400a的对应特征的旋转和缩放版本。例如云412b是云412a的旋转和缩放版本。
在示例中,主图像400a包括用户打算从图像400a移除的不想要的对象。在图4A的示例中,用户打算移除对象425,在该示例中该对象是汽车。如其中不存在汽车的图像400b所示,汽车425阻挡了对象430的视图,在该示例中该对象是花朵。因此,一旦汽车425从主图像400a中被移除,则将使用辅图像400b的对应背景区域来填充主图像400a中得到的空隙或孔区域(即,得到的空隙或孔区域至少部分地使用花430填充)。参照图3A,方法300a包括,在306处,接收对主图像400a中的对象的选择(例如通过图1和图2的系统102的对象移除选择模块104),主图像400a中的该对象将要从主图像400a中被移除,并由辅图像400b的对应背景区域替换。被选择移除的对象425在主图像400a中定义了孔区域(或空隙区域),该孔区域将被来自辅图像400b的图像的对应部分填充。
例如图4B示出了被选择用于移除的对象425,例如汽车。仅作为示例,使用虚线示出了汽车425,以指示该汽车被选择移除(尽管在其他示例中,可以以任意其他方式突出显示要移除的对象)。
可以使用任意适当的方式来选择要移除的对象(或主图像400a的区域)。例如用户可以通过适当的用户输入动作(例如通过单击、点击或任意其他适当的用户输入动作)来选择要移除的对象。在另一个示例中,用户可以绘制要从主图像400a移除的对象或区域的边界。在又一示例中,用户可以指定(例如使用适当的用户界面)从图像400a中移除汽车,并且对象移除选择模块104可以在图像400a中标识汽车,并选择汽车425用于移除。本公开不受选择或标识要移除的对象的方式的限制,并且选择过程是实现特定的。
方法300a进一步包括在308处匹配主图像和辅图像中的特征,以及通过执行辅图像400b的几何变换来将主图像400a与辅图像400b几何对齐(例如通过几何变换模块106)。例如如本文上面关于图4A所讨论的,图像400b不与图像400a在几何上对齐-相反,图像400b是图像400a的旋转和缩放版本。在308处的操作旨在通过旋转和缩放图像400b以使图像400b与图像400a对齐来克服这种不对齐。例如图4C示出了在308处的操作之后的图像400a和图像400b1,其中图像400b1是在执行了几何变换之后的图像400b的表示。在图4C中,图像400b1中的特征412b基本上具有长度La,即,与特征412a的长度相同。类似地,图像400b1中的水平线401b相对于图像400b的边缘大致成角度Aa。在示例中,由于图像400b的内容的缩放,特征415(在图4A、4B中可见)在图像400b1中不可见。
图3B是根据一些实施例的更详细地示出了图3A的方法300的在308处的匹配和几何变换操作的流程图。图3B的方法308包括在360处标识图像400a、400b中的多个特征。例如标识图像400a、400b的个体特征(例如特征402a、404a、406a、408a、410a、412a、402b、404b、406b、408b、410b、412b)。这些特征可以是图像400a、400b中的稀疏特征,使得可以容易地将特征与其周围像素区分开。因此,这些特征可以具有相对于周围像素的唯一像素签名或值,使得可以容易地标识这些特征。在示例中,这些特征可以比图像中的周围区域更暗或更亮,或者具有不同的颜色。例如草坪上相对模糊的草丛很难区分。但是,草坪上的岩石或天空中的太阳很容易区分-因此,这些是在360处标识的稀疏特征。
在示例中,在识别图像中的特征之后,生成特征的描述符,其中该描述符包括例如指示该图像中该特征的位置、该特征的像素颜色信息以及特征的大小的信息。在示例中,比较两个图像的各种特征的特征描述符以在两个图像400a、400b中找到匹配的特征。例如图3B的方法308包括在362处,将主图像400a中的多个特征与辅图像400b中的对应的多个特征进行匹配。因此,在方法308的362中生成多对匹配的特征,其中匹配的特征对包括来自图像400s的特征和来自图像400b的对应特征。匹配的特征对的示例在图4C1中使用虚线示出。例如由于这两个特征之间的相似性,图像400a的特征402a和图像400b的特征402b形成一对匹配的特征,因此,这两个特征在图4C1中使用虚线连接。使用特征的相似性来确定匹配的特征对。在图4C1中,只有一些匹配的特征对由虚线表示。如所讨论的,图像400a、400b的备用特征可以被包括在特征对中。
可以注意到,匹配的特征对中的两个特征不需要精确地匹配,因为图像400b可以是图像400a的几何和/或光度变换版本。例如特征412a和412b的长度分别是La和Lb,如本文先前所讨论的。
在示例中,可以至少部分地使用比例不变特征变换(SIFT)算法来执行匹配两个图像400a、400b中的特征和/或生成匹配的特征对。在示例中,首先从图像400a提取对象的关键点并将其存储在数据库中。通过分别比较来自图像400b的每个特征与该数据库并它们的基于特征向量或描述符向量的欧几里得距离来找到候选匹配特征,来在图像400b中识别对象。也可以通过可能的异常匹配的拒绝来进一步过滤这些候选匹配。这也称为David Lowe的比率测试。这可以通过在一个图像中找到并选择另一图像中最好的两个或多个(或相对较好的两个或多个)对应来完成。如果所选择的对应具有与其他各种其他对象或对应类似的视觉质量(例如由在对应的稀疏关键点区域上运行的算法确定,例如特征描述符之间的欧几里得距离的比较),则所选择的对应被拒绝。这种拒绝是因为所选的对应在视觉上不够独特。换句话说,如果对应关系在视觉上不够独特,则该对应关系被拒绝。随后,将保留通过此测试的所选通对应中的匹配。通过此测试的特征匹配可以被标识为具有更高置信度的正确性。
在方法308的364处,对匹配的特征对进行过滤,以限制匹配的特征对的数量。例如两个图像400a、400b可以具有成数百、数千或数万的匹配特征对。当生成过多数量的特征对时,包括尺寸相对较大(例如包括更多数量的像素)的特征,并且滤除较小的特征。例如可以包括少量岩石或大岩石的集合,而可以滤除小卵石。在另一个示例中,可能错误的特征对被滤除。例如在图4C1中,图像400a、400b的特征410a和415分别被匹配-但是,位置不匹配-因此,此匹配的特征对是相对“差”的匹配,因此其被滤除,由图4C1中连接这些特征的虚线中的叉符号地指示。
因此,在一些实施例中,当特征对的数量相对较大时,将得分分配给每个特征对,其中该得分指示诸如特征对的两个特征如何很好地匹配的因素(例如则匹配的方面越多,则分配给该特征对的得分越高)和/或特征的大小。在364处,具有相对较低得分的特征对被滤除。
在366,主图像400a被划分为n个区域。仅作为示例,该划分可以基于围绕孔的中心的极角,如图4C2所示。例如在图4C2中,n=8,并且图像400a被划分为八个区域N1、N2、N3、N4、N5、N6、N7和N8。此外,标识出这八个区域中的每一个中的多个特征(例如包括在匹配的特征对中)。例如区域N2具有与图像400b中的对应特征匹配的太阳,因此区域N2具有至少一个匹配特征。图4C2示出了每个区域N1、…、N8中的示例匹配数(例如N1=0、N2=1、依此类推)。尽管示例图像400a仅具有几个匹配特征,但是描绘自然场景的现实图像可能具有数百、数千甚至更高数量的匹配,因此,每个区域可能具有大量匹配。
在368处,随机选择多个特征对中的几个特征对,并且基于所选择的特征对来执行辅图像400b的几何变换。例如如果在364这些10,000千个特征对的过滤之后标识出图像400a、400b中的10,000个匹配特征对,则从10,000个特征对中随机选择几个(例如,四个特征对、八个特征对、数十个特征对、数百个特征对等)。随机选择的特征对用于拟合与辅图像400的几何变换相关联的参数,例如使得图像400a中的选定匹配特征对的特征在尺寸、形状、位置和透视图上充分匹配(例如在给定容错内),在图像400b中具有匹配的特征对的对应特征。即,辅图像400b的几何变换旨在使图像400b与图像400a几何对齐。在一个示例中,可以使用RANSAC算法或通过任意其他方式来执行随机选择和/或几何变换。
368的几何变换可以是仿射变换或单应变换。仿射变换包括例如缩放(例如均匀或不均匀缩放)、平移和旋转。单应变换包括例如缩放(例如均匀或不均匀缩放)、平移、旋转和透视失真。仿射变换是单应变换的子集。例如即使图像经过仿射变换,图像中的两条平行线仍保持平行。另一方面,在图像经历了单应变换之后,图像中的两条平行线可以保持平行,也可以不保持平行。方法308的368中也可以使用两种或更多种类型的变换的任意组合。例如如本文前面所讨论的,为了对齐图像400a、400b,图像400b必须经历缩放和旋转。
368的几何变换是基于随机选择的匹配特征对的-例如不同的特征对集合的选择可能会提供稍微不同的几何变换,因此,两个图像400a、400b的对齐也会略有不同。在一个示例中,为了测量随机选择和所得几何变换的有效性(例如其可以指示图像400a、400b对齐的程度),如下生成得分:
ScoreS=function of(H,di,Nj). 等式1
在等式1中,得分S是H的函数,其代表在368处执行的几何(例如单应)变换。得分S也是Nj的函数,其中Nj是在随机选择中选择的图像400a的第j个区域中匹配的数量。例如参考图4C2,如果在随机选择中选择了太阳,则N2为1(例如假设在随机选择中未选择区域N2的其他特征)–否则N2为零。该得分试图确保每个区域N1、...、N8具有一些随机选择的匹配特征。
例如假设在第一场景中,一些区域具有非常高数量的随机选择的匹配特征,而另一些区域具有非常低数量的(或零)随机选择的匹配特征。另外,假设第二场景,其中所有区域都具有几乎相等数量的随机选择的匹配特征。在其他所有条件都相同的情况下,与第一场景相比,第二场景将具有更高的得分。
得分S也是di的函数,其中di表示个体匹配和选择(例如在随机选择中选择的)特征到孔区域的距离(其中孔区域是在主图像400a中要被替换的区域,并且在该示例中,汽车425所占据的区域是孔区域)。例如图4C2中的距离d1表示太阳与孔区域之间的距离。匹配特征离孔区域越近(即di越小),得分S越高。也就是说,如果随机选择的特征距孔区域越近,评分功能将提供越高的值。
然后,方法308进行到370,在370中评估得分是否小于阈值。如果得分小于阈值(即,在370处为“是”),则该方法循环回到368,其中重复随机选择过程以选择其他匹配的特征对,重复基于所选择特征对的辅图像的几何变换,并再次生成得分。在368和370处的操作循环重复,直到获得满意的得分。可以注意到,例如在例如第二次迭代时的几何变换独立于在第一次迭代时的几何变换。即,如果在第一迭代期间的得分不令人满意,则重置辅图像400b,并且在第二迭代时对原始辅图像400b执行几何变换(并且在第一次迭代期间在图像400a已经进行了变换之后,不对辅图像400b执行此操作)。
如果得分高于阈值(即,在370处为“否”),则方法308在372处结束。在这一点上,几何变换模块106已将图像400b变换为变换后的图像400b1。图像400b1基本上与图像400a对齐,例如对齐满足图3B的操作370的目标阈值要求。图4C是方法308结束时,即当图像400b1与图像400a基本对齐时的图像400b1的示例。
再次参考图3A,然后方法300a(从方法308)进行至310,在其中(例如由光度变换模块108)执行辅图像的全局光度或颜色校正以将辅图像的颜色匹配到主图像。在示例中,执行全局光度校正以补偿图像400a、400b1之间的曝光、照明条件、白平衡、照明等的任意变化。该光度校正被称为“全局”,因为在整个图像400b中以相同方式执行光度校正。光度校正涉及改变图像400b1的像素颜色(例如个体像素的红色(R)、绿色(G)和/或蓝色(B)颜色信息)以生成图像400b2,使得图像400b2特征的颜色在给定的匹配阈值内匹配图像400a的对应特征的颜色。图4E示出了图像400b2,即,在已经将全局光度校正应用于图像400b1之后。由于图像的黑白性质,颜色校正在图中不可见,并且图像400b1和400b2分别在图4C和4E中显得完全相同。
例如将图像400a中的个体特征的颜色信息与图像400b1中对应的个体特征的颜色信息进行比较。作为示例,将特征402a的颜色信息(例如特征402的像素的R、G、B颜色信息)与特征402b的颜色信息进行比较,在图4D中使用虚线象征性地表示。类似地,将特征410a的颜色信息与特征410b的颜色信息进行比较,这在图4D中使用虚线象征性地表示。因此,考虑了匹配特征对中的全部或至少一些(例如如关于图3B的操作362、364所讨论的)。此类比较分别用于为R、G和/或B通道生成增益值αR、αB和/或αG,并为R、G和/或B通道生成偏置值βR、βB和/或βG,其中这些值将主图像400a的特征的颜色对齐或拟合到辅图像400b1的对应特征。然后将颜色校正全局应用于图像400b1的所有像素,以生成图像400b2,如下所示:
R1b=αR.R1a+βR 等式2
B1b=αB.B1a+βB 等式3
G1b=αG.G1a+βG 等式4
在等式2中,R1b表示在颜色校正之后的图像400b2中的第一像素的红色像素值,R1b表示针对图像400b1中的第一像素的红色像素值(例如在颜色校正之前)。类似地,等式3和等式4分别用于绿色和蓝色通道。图像400b1的各个像素都经过此颜色校正过程,以在图像400b2中生成对应的像素-也就是说,颜色校正过程将在整个辅图像中全局应用。
在示例中,代替使用等式2、3和4实现全局颜色校正或除了使用等式2、3和4实现全局颜色校正之外,可以通过任意其他适当方式来执行全局颜色校正。例如假定将全局颜色校正应用于图像“A”以生成图像“B”。在示例中,可以通过一些其他全局颜色校正技术来生成B图像的红色、绿色和蓝色信息,诸如3x3矩阵乘以A图像的红色、绿色和蓝色。在另一个示例中,可以将B图像的红色、绿色和蓝色信息生成为(i)3x3矩阵乘以A图像的红色、绿色和蓝色与(ii)3x1偏差向量的和。在又一个示例中,可以将B图像的红色、绿色和蓝色信息生成为应用于这些模型中的任意一个的非线性逐通道颜色曲线。在又一示例中,可以从在所有A图像的红色、绿色和蓝色上共同定义的3D查找表中生成B图像的红色、绿色和蓝色信息,其中查找表存储了所得到的校正后的颜色。
然后,图3A的方法300a进行到312,其中几何变换(先前在308执行)被改进或微调以改进像素级对齐。例如先前在308处执行的几何变换可以使辅图像与主图像大致对齐(例如以满足图3B的370的阈值)。但是两个图像之间可能仍然存在未对齐,例如几个像素。在312处的改进旨在减少或消除两个图像400a、400b2之间的这种未对齐。
在一些实施例中,通过将较高的权重放置在各种特征的边缘上来改进几何变换,例如相对笔直的那些边缘。例如图4F示出了具有相对笔直的边缘或突出的特征,诸如各种树木的树干、地平线401b以及其他描绘的和可检测的边缘状特征。有些边缘可能很粗糙,而有些则很精细。例如地平线可能有一些草或其他不规则性,使地平线的边缘相对不规则或粗糙。另一方面,树干可能有一些不规则性(诸如树枝或树叶),但可能相对较细。在312处,改进几何变换,例如以对齐对应特征的边缘。
在一个示例中,如关于312所讨论的,边缘的对齐是精细尺度特征的对齐。在一些实施例中,除了在312处对齐边缘之外,或代替在312处对齐边缘,辅图像的诸如轮廓、拐角和/或深特征的其他精细尺度特征可以与主图像的对应的精细尺度特征对齐。尽管本文讨论的各种示例涉及在几何变换的改进期间边缘的对齐,但是也可以针对一个或多个其他精细特征执行类似的对齐,例如辅图像和主图像的轮廓、拐角、深特征和/或任何其他适当的精细特征。
在示例中,为了改进几何变换,生成两个图像400a和400b2的边缘图,其中边缘图指示各种特征的边缘。然后,边缘图上的像素的被加权高于图像中其他位置的像素。随后,计算出使两个边缘图的对齐最大化的几何变换。例如计算几何变换,该几何变换使基于加权边缘图的能量函数最小化。
在示例中,使用Lucas-Kanade算法执行几何变换的改进。Lucas-Kanade是用于执行图像对齐的参数估计的框架或算法系列。如上所述,在实现Lucas-Kanade算法时,在一些实施例中,可以使用空间加权方案,其强调边缘对齐。例如如所讨论的,当实现Lucas-Kanade算法时,边缘像素比其他像素加权更多。
在示例中,辅图像的几何变换(例如相对于308和/或312讨论的)可能过度,例如辅图像可能失真得太多,以致于无法在主图像和辅图像之间生成对齐。在一些实施例中,为了避免这种过度失真,对Lucas-Kanade算法中使用的能量函数进行了修改,以增加用于过多失真的惩罚(例如对过多的歪斜、过多的不均匀缩放等添加惩罚)。例如如果在几何变换期间某些类型的失真(例如偏斜、非均匀缩放等)超出阈值,则修改Lucas-Kanade算法以增加惩罚,从而在计算几何变换和/或其改进时避免或减小这种过度失真。在示例中,Levenberg-Marquardt算法可以用于几何变换的改进。在一个示例中,几何变换的改进导致从辅图像400b2生成辅图像400b3,其中在图4G中示出了辅图像400b3。
在一些实施例中,在308处的几何变换过程和/或在312处的几何变换过程的改进中的每一个可以被执行多次,例如以不同的初始猜测(例如如关于图3B所讨论的)。在作为单个迭代的一部分执行两个几何变换的示例中,第一拟合使用仿射变换模型,并且第二拟合使用单应变换模型。
在一些实施例中,在308处的初始几何变换和在312处的几何变换的改进之后,主图像400a和辅图像400b2基本上在几何上对齐。而且,在310处的全局光度校正在给定的容错内将辅图像400b2与主图像400a光度匹配。但是,两个图像之间可能仍然存在一些颜色不匹配。因此,在方法300的314处,执行辅图像400b2的局部光度或颜色校正(例如通过光度变换模块108),使在孔区域处、附近和/或内部的辅图像的颜色与主图像中的对应区域对齐。在314的上下文中和/或在本文中所讨论的其他操作中的至少一些的上下文中,“附近”意味着在距孔区域的阈值距离内,其中阈值距离可以是一个像素长度、两个像素长度、三个像素长度或更高。
为了执行局部光度校正(例如局部颜色校正),比较主图像400a中的孔区域425的边界处或边界附近的像素和辅图像400b3的对应区域425b中的对应像素。例如将孔区域425的边界叠加为辅图像400b3上的区域425b,并且标识在辅图像400b3中的对应区域425b的边界处或附近的像素。图4G示出并标记图像400a和400b3的每一个中的四个这样的像素。例如在主图像400a的孔区域425的边界处或附近的像素P1a与在辅图像400b3的对应区域425b的边界处或附近的像素P1b相对应。类似地,在主图像400a的孔区域425的边界处或附近的像素P2a与辅图像400b3的对应区域425b的边界处或附近的像素P2b相对应,依此类推。
在一些实施例中,示例颜色图调整掩膜被生成为:
M(p)=||S1(p)–S2(p)|| 等式5
在等式5中,M(p)是颜色图调整掩膜,其是像素p的函数。S1(p)是在主图像400a的孔区域425的边界处或边界附近的像素的像素颜色值,诸如像素P1a。S2(p)是在辅图像400b3的对应区域425b的边界处或边界附近的对应像素,诸如像素P1b。对于区域425和425b的边界处或附近的多个像素中的每个像素,诸如针对像素(P1a,P1b)、像素(P2a,P2b)、像素(P3a,P3b)、像素(P4a,P4b)等,生成颜色图调整掩膜M(p)。例如像素(P1a,P1b)的颜色图调整掩膜可以是:M(p1)=||S1(p1a)–S2(p1b)||;像素(P2a,P2b)的颜色图调整掩膜可以是:M(p2)=||S1(p2a)–S2(p2b)||,依此类推。公式5取个体像素的像素颜色值。例如可以针对红色、绿色和/或蓝色通道中的每一个,以及对于在孔区域425的边界处或附近的多个像素中的每一个,重复该等式。
在一些实施例中,等式5可以被修改为最初使图像400a、400b3的区域425、425b的边界处或附近的像素模糊,并且然后取个体模糊像素的像素颜色值。因为主图像和辅图像的几何对齐可以偏离几个像素(例如即使在图3A的312处的改进之后),所以使像素模糊确保在生成颜色图调整掩膜时不比较两个未对齐的像素。在这种场景中,颜色图调整掩膜被如下生成:
M(p)=||S1*(p)–S2*(p)|| 等式5A,
其中S1*(p)和S2*(p)是对应模糊像素的像素值。
在一些实施例中,将颜色图调整掩膜与阈值T进行比较。例如检查是否:
M(p)<T. 等式6
如果不满足等式6的条件,则意味着在主图像400a的像素与辅图像400b3的对应像素之间存在较大的颜色不匹配。当两个图像之间未对齐时,可能会发生这种情况。附加地或可替代地,如果例如在辅图像中存在不在主图像中的对象(或者在主图像中存在不在辅图像中的对象),则可能发生这种情况。例如由于主图像和辅图像是在两个不同的时间实例中拍摄的,因此一个人可能在一个图像中在区域425或425b附近,而在另一个图像中可能不存在。由于归因于图像之一中人的像素的像素值,这些像素的颜色图调整掩膜将高于这些像素的阈值。因此,如果对于一个或多个像素不满足等式6,则当执行局部颜色校正时,对于一个或多个像素忽略颜色图调整掩膜。
在一些实施例中,在针对区域425b的边界处或附近的各种像素的颜色图调整掩膜的生成之后,如下生成针对区域425b的边界处或其附近的各种像素的差分图像,其中ο指示元素或Hadamard乘积:
D(p)=(S1(p)–S2(p))οM(p). 等式7。
针对区域425、425b的边界处或附近的多个像素中的每个像素生成差分图像D(p),诸如针对像素(P1a,P1b)、像素(P2a,P2b)、像素(P3a,P3b)、像素(P4a,P4b)、以此类推。例如像素(P1a,P1b)的差分图像可以是:D(p1)=(S1(p1a)–S2(p1b))οM(p1);像素(P2a,P2b)的差分图像可能是:D(p2)=(S1(p2a)–S2(p2b))οM(p2)、依此类推。
因此,针对位于区域425、425b处或附近的主图像和辅图像的像素对生成差分图像D(p1)、D(p2)等。随后,差分图像D(p1),D(p2)等用于对图像400b3中的区域425b内的像素执行局部颜色校正。例如在图4G中,示例像素P10b、P11b和P12b在辅图像400b3的孔区域内。差分图像D(p1)、D(p2)等用于对辅图像400b3的区域425b内的像素P10b,P11b和P12b进行颜色校正。在示例中,扩散插值用于对区域425b的边界处或附近的像素的差分图像D(p1)、D(p2)等进行插值,以应用于辅图像400b3中的区域425b内部的像素。例如唐纳德·谢泼德(Donald Shepard)的算法和/或泊松方程求解器可用于对区域425b边界处的像素的差分图像进行插值,以校正辅图像400b3中区域425b内的像素的颜色。
尽管图3A示出了在312处改进几何变换之后在314处执行的局部光度校正,但是在一些其他实施例中,这两个操作的顺序可以颠倒。也就是说,可以在312处在改进几何变换之前执行在314处的局部光度校正。因为局部光度校正更好地匹配在孔区域处或附近的像素的颜色,所以这可以导致对几何变换的更好的改进。
图4H示出了局部颜色匹配之后的主图像400a和辅图像400b4。因此,辅图像400b4在给定阈值内在几何上和光度上与主图像400a匹配。主图像400a具有孔区域425,该孔区域必须被来自辅图像400b4的对应区域425a填充。
再次参考图3A,在316处,复制来自辅图像400b4的区域425b(例如通过孔区域填充模块110),以填充通过移除主图像中的选择对象而形成的孔区域425。例如由于辅图像400b4在几何上和光度上与主图像400a充分匹配,因此辅图像400b4的图像区域425b现在可以被复制并粘贴在主图像400a的孔区域425中。
为了能够实现复制和粘贴,生成初始猜测图像以用辅图像400b4的区域425b填充主图像400a的孔区域425。通过应用几何变换以及全局和局部颜色匹配,并且从辅图像400b4的区域425b复制到要在主图像400a中移除的孔区域425,来生成初始猜测图像。在一些实施例中,也类似地生成引导图像,其中引导图像标识要复制的区域425b。引导图像位于辅图像400b4内。还将生成有效的掩膜,该掩膜标识要复制的区域。例如有效掩膜将主图像400a的孔区域425映射到辅图像400b4的区域425b。
再次参考图3A,在320处,孔区域填充有来自辅图像400b4的区域425b的复制内容。例如图4H示出了通过用来自辅法师425b4的区域425b的内容填充孔区域425而从主图像400a生成的修改后的主图像400a1。例如从辅图像400b4的区域425b复制的内容被粘贴在要被移除的孔区域425的前景中。在示例中,来自辅图像400b4的区域425b的内容被覆盖在孔区域425的前景上,使得孔区域425在主图像400a中不再可见。在另一示例中,孔区域425的像素被辅图像400b4的区域425b的像素代替。
图5A-5D示出了根据一些实施例的示例图像,其中来自主图像500a的对象被来自辅图像500b的背景代替。图5A示出了主图像500a,其中人部分地阻挡了瀑布。用户可能希望将人从主图像500a的场景中移除。是与主图像500a相同场景的缩放版本的图5B的辅图像500b示出了没有人的瀑布。图5C示出了孔区域500c,其中描绘了要移除的主图像的区域。图5D示出了修改后的主图像500a1,其中主图像500a的人被从辅图像复制的背景所替代,例如根据本公开的教导(例如根据图3A、3B的方法)。
在一些实施例中,系统102的一个或多个模块可以使用对应的一个或多个训练的神经网络来实现。例如具有卷积或完全连接的学习组件的网络可以用于实现系统102的模块。该网络在包括例如数千或数百万个图像的训练图像上被训练。在一些实施例中,所训练的网络学习自然世界看起来的样子。在一个这样的实施例中,代替从辅图像复制颜色或者除了从辅图像复制颜色之外,可以由网络推断要复制的区域的颜色。因此,不需要从辅图像中明确地获取要复制到主图像的区域的颜色,在一个示例中-在训练网络的图像上隐式地绘制了可能的颜色变换。类似地,在训练网络的图像上隐式绘制了可能的几何变换。因此,例如可以使用一个或多个所训练的神经网络来实现几何变换模块106和/或光度变换模块108中的一个或多个。
根据本公开和以下示例,许多变体和配置将是显而易见的。
示例1.一种用于执行图像修复的方法,该方法包括:接收对主图像的第一区域的选择,所述第一区域要用来自辅图像中的对应的第二区域替换;通过执行主图像和/或辅图像的几何变换,使辅图像与主图像初始对齐;通过改进主图像和/或辅图像的几何变换,进一步将辅图像的一个或多个精细尺度特征与主图像的一个或多个对应特征对齐,一个或多个精细尺度特征包括边缘、轮廓、拐角和/或深特征;通过执行主图像和/或辅图像的光度变换,在给定的阈值内将辅图像的一个或多个像素的颜色与主图像的对应一个或多个像素的颜色进行匹配;标识与主图像的第一区域相对应的辅图像的第二区域;以及在几何变换和光度变换之后,将辅图像的第二区域复制到主图像的第一区域。
示例2.根据示例1所述的方法,其中执行几何变换包括在主图像和/或辅图像之间应用仿射变换模型、单应性模型或参数化几何变换模型。
示例3.根据示例1-2中任一项所述的方法,其中所述几何变换包括所述辅图像的旋转、均匀缩放、非均匀缩放、平移和/或失真中的一个或多个。
示例4.根据示例1-3中的任意一个所述的方法,还包括:标识主图像中的第一多个特征和辅图像中的第二多个特征;以及标识多对匹配特征,每对匹配特征包括(i)来自主图像的第一多个特征的特征和(ii)来自辅图像的第二多个特征的对应匹配特征。
示例5.根据示例4所述的方法,其中执行所述几何变换包括:从所述多对匹配特征中选择第一一对或多对匹配特征;基于所选择的第一一对或多对匹配特征来对所述辅图像执行第一几何变换;以及基于与以下各项中的一项或多项相关联的信息来生成第一得分:所述第一一对或多对匹配特征、所述多对匹配特征、所述第一几何变换、所述第一一对或多对匹配特征中的一对匹配特征与要替换的所述第一区域的距离、和/或从第一一对或多对匹配特征中得出的信息。
示例6.根据示例5所述的方法,其中生成所述第一得分包括:将所述主图像划分为多个区域;以及基于以下各项来生成第一得分:(i)被包括在多个区域的每个区域中的第一一对或多对匹配特征中的匹配特征的对数,以及(ii)多个区域。
示例7.根据示例5-6中的任一项所述的方法,其中执行所述几何变换包括:响应于所述第一得分无法满足阈值得分,(i)选择多对匹配特征中的第二一对或多对匹配特征,(ii)丢弃所述辅图像的第一几何变换,(iii)基于所选择的第二一对或多对匹配特征,对所述辅图像执行第二次几何变换,以及(iv)生成第二得分。
示例8.根据示例7所述的方法,其中执行几何变换包括:迭代地重复(i)选择对应的一对或多对匹配特征,(i)丢弃先前的几何变换,(iii)执行所述辅图像的对应的几何变换,以及(iv)生成对应的得分,直到所述得分满足所述阈值得分和/或重复次数满足阈值迭代次数为止。
示例9.根据示例4-8中的任一项所述的方法,其中执行光度变换包括:基于将主图像的第一多个特征的一个或多个特征的颜色与辅图像的第二多个特征的对应一个或多个特征的颜色进行比较,确定一个或多个参数;以及基于一个或多个参数来执行辅图像的光度变换。
示例10.根据示例9所述的方法,其中所述一个或多个参数包括:与红色通道相关联的第一增益和第一偏置;以及与绿色通道相关联的第二增益和第二偏置;以及与蓝色通道相关联的第三增益和第三偏置。
示例11.根据示例4-10中任一项所述的方法,其中改进所述几何变换包括:标识第一对匹配特征,所述第一对匹配特征包括:(i)来自所述主图像的所述第一多个特征中的第一特征;以及(ii)来自辅图像的第二多个特征中对应地匹配的第二特征,使得第一和第二特征中的每一个都具有基本笔直的边缘;以及通过改进辅图像的几何变换来增加第一特征的边缘与第二特征的边缘的对齐。
示例12的示例11的方法,还包括:在确定几何变换的改进的同时,惩罚导致几何变换具有超过阈值的变换特性的改进。
示例12A.根据示例4-12中任一示例所述的方法,其中在主图像中的第一多个特征中的一个或多个特征是稀疏特征。
示例12B.根据示例4-12中任一示例所述的方法,其中在主图像中的第一多个特征中的一个或多个特征是密集特征。
示例12C.根据示例4-12中任一示例所述的方法,其中所述主图像中的所述第一多个特征中的一个或多个特征密集地位于所述主图像的每个像素处。
示例13.根据示例1-12中的任一项所述的方法,其中所述光度变换是全局光度变换,使得所述全局光度变换基本上被应用于整个所述主图像和/或所述辅图像,并且所述方法还包括:执行辅图像的局部光度变换,该局部光度变换限于距离辅图像的第二区域在阈值距离上和/或在阈值距离之内的像素。
示例14.根据示例13所述的方法,其中执行所述局部光度变换包括:将距所述辅图像的所述第二区域的所述阈值距离上或在所述阈值距离之内的第一一个或多个像素的颜色信息与距所述主图像的所述第一区域的所述阈值距离上或在所述阈值距离之内的第二一个或多个像素的颜色信息进行比较;基于所述比较,生成多个颜色图调整掩膜;以及基于多个色图调整掩膜中的一个或多个,执行局部光度变换。
示例15.根据示例14所述的方法,其中执行局部光度变换包括:确定所述多个颜色图调整掩膜中的第一颜色图调整掩膜高于阈值;以及在执行局部光度变换的同时忽略第一颜色图调整掩膜。
示例16.根据示例14-15中的任一项所述的方法,其中:在将所述第一一个或多个像素的颜色信息与所述第二一个或多个像素的颜色信息进行比较之前,所述第一一个或多个像素和所述第二一个或多个像素被模糊。
示例17.根据示例1-16中的任一项所述的方法,其中所述主图像和/或辅图像的光度变换在所述辅图像的几何变换之后执行。
示例18.一种系统,包括:一个或多个处理器;图像填充系统,该图像填充系统可由一个或多个处理器执行以接收主图像的第一区域的标识,所述第一区域要用来自辅图像的对应的区域替换;通过变换辅图像使辅图像与主图像匹配;生成标识映射到主图像的第一区域的辅图像的第二区域的引导图像;以及在变换辅图像之后,将辅图像的第二区域覆盖在主图像的第一区域上。
示例19.根据示例18所述的系统,其中所述图像填充系统对以下项中的一项或两项可执行:通过对所述辅图像进行几何变换来将所述辅图像与所述主图像进行几何匹配,和/或通过对所述辅图像进行光度变换来将所述辅图像与所述主图像进行光度匹配。
示例20.根据示例19的所述系统,其中辅图像的几何变换包括辅图像的旋转、均匀缩放、非均匀缩放、平移和/或失真中的一个或多个。
示例21.根据示例19-20中的任一项所述的系统,其中所述图像填充系统可执行以:标识所述主图像中的第一多个特征和所述辅图像中的第二多个特征;以及标识多对匹配特征,每对匹配特征包括(i)来自主图像的第一多个特征的特征,以及(ii)来自辅图像的第二多个特征的对应的匹配特征。
示例22.根据示例21所述的系统,其中所述图像填充系统可执行以:选择所述多对匹配特征中的第一子集;基于所述多对匹配特征中的所选择的第一子集,执行所述辅图像的第一几何变换;并基于多对匹配特征的第一子集和第一几何变换来生成第一得分。
示例23.根据示例22所述的系统,其中所述图像填充系统可执行以:响应于所述第一得分小于阈值,(i)选择所述多对匹配特征中的第二子集,ii)丢弃所述辅图像的第一几何变换,以及(iii)基于所述多对匹配特征的第二子集,执行所述辅图像的第二几何变换。
示例24.根据示例22-23中的任一项所述的系统,其中所述图像填充系统可执行以:将所述主图像划分为多个区域;以及生成第一得分,使得第一得分基于被包括在多个区域的个体区域中的选择的匹配特征对的数量。
示例25.根据示例22-24中的任一项所述的系统,其中所述图像填充系统可执行以:生成所述第一得分,使得所述第一得分基于距要被替换的第一区域的所选匹配特征对中的个体匹配特征对的距离。
示例26.根据示例21所述的系统,其中所述图像填充系统可执行以:基于将来自主图像的第一多个特征的一个或多个特征的颜色与来自辅图像的第二多个特征的对应的一个或多个特征的颜色进行比较,确定一个或多个参数;以及基于一个或多个参数来执行辅图像的光度变换。
示例27.根据示例26所述的系统,其中所述一个或多个参数包括:与红色通道相关联的第一增益和第一偏置;以及与绿色通道相关联的第二增益和第二偏置;以及与蓝色通道相关联的第三增益和第三偏置。
示例28.根据示例21-27中任一项所述的系统,其中所述图像填充系统可执行以:通过标识第一对匹配特征来改进辅图像的几何变换,所述第一对匹配特征包括:(i)来自所述主图像的所述第一多个特征中的第一特征;以及(ii)来自辅图像的第二多个特征中对应地匹配的第二特征,使得第一和第二特征中的每一个都具有基本笔直的边缘;以及通过增加第一特征的边缘与第二特征的边缘的对齐来改进辅图像的几何变换。
示例29.根据示例21-28中任一项所述的系统,其中所述图像填充系统可执行以:在确定所述辅图像的几何变换的改进的同时,惩罚导致具有超出阈值的变换的几何变换的改进。
示例30.示例19-29的系统,其中:辅图像的变换是辅图像的全局光度变换,使得光度变换基本上应用于整个辅图像;以及图像填充系统执行的辅图像的局部光度变换,该局部光度变换限于在辅图像的第二区域上和/或之内的像素。
示例31.根据示例19-30中任一项所述的系统,所述图像填充系统可执行以:将距所述辅图像的所述第二区域的阈值距离上或在所述阈值距离之内的第一或多个第一像素的颜色信息与和距主图像的第一区域的阈值距离上或在阈值距离之内的第二一个或多个像素的颜色信息进行比较;基于比较来生成多个颜色图调整掩膜;并基于多个颜色图调整掩膜中的一个或多个来执行局部光度变换。
示例32.根据示例31所述的系统,该图像填充系统可执行以:确定多个颜色图调整掩膜中的第一颜色图调整掩膜高于阈值;以及在执行局部光度变换的同时忽略第一颜色图调整掩膜。
示例33.根据示例31所述的系统,其中:在将所述第一一个或多个像素的颜色信息与第二一个或多个像素的颜色信息进行比较之前,所述第一一个或多个像素和所述第二一个或多个像素被模糊。
示例34.一种计算机程序产品,包括一种或多种非暂态机器可读介质,所述非暂态机器可读介质被编码有指令,当所述指令由一个或多个处理器执行时,导致使图像变形的过程被执行,所述过程包括:接收主图像中的对象的标识,该对象要从所述主图像中被移除并用来自辅图像的背景区域替换;通过以下各项来将所述辅图像与所述主图像进行几何对齐:(i)随机选择所述主图像的第一一个或多个特征和所述辅图像的对应匹配的第二一个或多个特征,(ii)基于所述主图像的所述第一一个或多个特征以及所述辅图像的第二一个或多个特征,对所述辅图像执行几何变换,(iii)基于(a)所述第一一个或多个特征,(b)所述第二一个或多个特征,以及(c)所述第一几何变换,来生成得分;以及(iv)迭代地重复操作(i)、(ii)和(iii),直到所生成的得分满足阈值得分要求和/或重复次数满足阈值迭代次数;以及将所述辅图像的所述背景区域覆盖在所述主图像中的所述对象上。
示例35.根据示例34所述的计算机程序产品,其中所述辅图像的几何变换包括所述辅图像的仿射变换和/或所述辅图像的单应变换。
示例36.示例34-35中的任一项所述的计算机程序产品,该过程还包括:通过变换所述辅图像的所述多个像素的颜色,将所述辅图像的多个像素的颜色与所述主图像的对应的多个像素的颜色进行匹配。
示例37.根据示例35所述的计算机程序产品,其中变换辅图像的多个像素的颜色包括:通过变换整个辅图像的像素的颜色来执行全局颜色校正。
示例38.根据示例36所述的计算机程序产品,其中变换所述辅图像的所述多个像素的颜色包括:通过变换要覆盖主图像中的对象的所述辅图像的背景区域内的像素的颜色来执行局部颜色校正。
示例39.一种服务器,其包括示例34-38中任一示例的计算机程序产品。
示例40.一种客户端-服务器系统,包括示例34-39中的任意一个的计算机程序产品。
已经给出了前述详细描述以用于说明。并不旨在穷举或将本公开限制为所描述的精确形式。根据本公开,许多修改和变体是可能的。因此,意图是本申请的范围不由该具体实施方式限制,而是由所附权利要求书限制。要求本申请的优先权的未来提交的申请可以以不同的方式要求公开的主题,并且通常可以包括本文中以各种方式公开或以其他方式证明的一个或多个限制的任意集合。
Claims (20)
1.一种用于执行图像修复的方法,所述方法包括:
接收对主图像的第一区域的选择,所述第一区域要用来自辅图像的对应的第二区域替换;
通过执行所述主图像和/或所述辅图像的几何变换,将所述辅图像与所述主图像初始对齐;
通过改进所述主图像和/或所述辅图像的所述几何变换,进一步将所述辅图像的一个或多个精细尺度特征与所述主图像的一个或多个对应的特征对齐,所述一个或多个精细尺度特征包括边缘、轮廓、拐角和/或深特征;
通过执行所述主图像和/或所述辅图像的光度变换,在给定的阈值内使所述辅图像的一个或多个像素的颜色与所述主图像的对应的一个或多个像素的颜色匹配;
标识与所述主图像的所述第一区域相对应的所述辅图像的第二区域;以及
在所述几何变换和所述光度变换之后,将所述辅图像的所述第二区域复制到所述主图像的所述第一区域。
2.根据权利要求1所述的方法,其中执行所述几何变换包括在所述主图像和/或所述辅图像之间应用仿射变换模型、单应性模型或参数化几何变换模型。
3.根据权利要求1所述的方法,其中所述几何变换包括所述辅图像的旋转、均匀缩放、非均匀缩放、平移和/或失真中的一个或多个。
4.根据权利要求1所述的方法,还包括:
标识所述主图像中的第一多个特征和所述辅图像中的第二多个特征;以及
标识多对匹配特征,每对匹配特征包括(i)来自所述主图像的所述第一多个特征的特征和(ii)来自所述辅图像的所述第二多个特征的对应的匹配特征。
5.根据权利要求4所述的方法,其中执行所述几何变换包括:
选择所述多对匹配特征中的第一一对或多对匹配特征;
基于所选择的第一一对或多对匹配特征来执行所述辅图像的第一几何变换;以及
基于与以下各项中的一项或多项相关联的信息来生成第一得分:所述第一一对或多对匹配特征、所述多对匹配特征、所述第一几何变换、所述第一一对或多对匹配特征中的一对匹配特征与要被替换的所述第一区域的距离、和/或从所述第一一对或多对匹配特征得出的信息。
6.根据权利要求5所述的方法,其中生成所述第一得分包括:
将所述主图像划分为多个区域;以及
基于以下各项来生成所述第一得分:(i)被包括在所述多个区域的每个区域中的所述第一一对或多对匹配特征中的匹配特征对的数目,以及(ii)所述多个区域。
7.根据权利要求5所述的方法,其中执行所述几何变换包括:
响应于所述第一得分无法满足阈值得分,(i)选择所述多对匹配特征中的第二一对或多对匹配特征,(ii)丢弃所述辅图像的第一几何变换,(iii)基于所选择的第二一对或多对匹配特征,执行所述辅图像的第二次几何变换,以及(iv)生成第二得分。
8.根据权利要求7所述的方法,其中执行所述几何变换包括:
迭代地重复(i)选择对应的一对或多对匹配特征,(i)丢弃先前的几何变换,(iii)执行所述辅图像的对应的几何变换,以及(iv)生成对应的得分,直到所述得分满足所述阈值得分和/或重复次数满足阈值迭代次数为止。
9.根据权利要求4所述的方法,其中改进所述几何变换包括:
标识第一对匹配特征,包括:(i)来自所述主图像的所述第一多个特征的第一特征,以及(ii)来自所述辅图像的所述第二多个特征的对应的匹配的第二特征,使得所述第一特征和所述第二特征中的每个特征具有基本笔直的边缘;以及
通过改进所述辅图像的所述几何变换来增加所述第一特征的边缘与所述第二特征的边缘的对齐。
10.根据权利要求9所述的方法,还包括:
在确定所述几何变换的改进的同时,惩罚导致所述几何变换具有超过阈值的变换特性的改进。
11.根据权利要求1所述的方法,其中所述光度变换是全局光度变换,使得所述全局光度变换基本上被应用于整个所述主图像和/或所述辅图像,并且所述方法还包括:
执行所述辅图像的局部光度变换,所述局部光度变换限于距所述辅图像的所述第二区域的阈值距离上和/或在所述阈值距离内的像素。
12.根据权利要求11所述的方法,其中执行所述局部光度变换包括:
将距所述辅图像的所述第二区域的所述阈值距离上或在所述阈值距离内的第一一个或多个像素的颜色信息与距所述主图像的所述第一区域的所述阈值距离上或在所述阈值距离内的第二一个或多个像素的颜色信息进行比较;
基于所述比较,生成多个颜色图调整掩膜;以及
基于所述多个颜色图调整掩膜中的一个或多个颜色图调整掩膜,执行所述局部光度变换。
13.根据权利要求12所述的方法,其中执行所述局部光度变换包括:
确定所述多个颜色图调整掩膜中的第一颜色图调整掩膜高于阈值;以及
在执行所述局部光度变换时忽略所述第一颜色图调整掩膜。
14.根据权利要求12所述的方法,其中:
在将所述第一一个或多个像素的所述颜色信息与所述第二一个或多个像素的所述颜色信息进行比较之前,所述第一一个或多个像素和所述第二一个或多个像素被模糊。
15.一种系统,包括:
一个或多个处理器;以及
图像填充系统,由所述一个或多个处理器可执行以
接收主图像的第一区域的标识,所述第一区域要用来自辅图像的对应的区域替换;
通过变换所述辅图像来使所述辅图像与所述主图像匹配;
生成标识映射到所述主图像的所述第一区域的所述辅图像的第二区域的引导图像;以及
在变换所述辅图像之后,将所述辅图像的所述第二区域覆盖在所述主图像的所述第一区域上。
16.根据权利要求15所述的系统,其中所述图像填充系统对以下各项中的一项或两项可执行:
通过对所述辅图像进行几何变换来使所述辅图像与所述主图像几何匹配,和/或
通过对所述辅图像进行光度变换来使所述辅图像与所述主图像光度匹配。
17.根据权利要求16所述的系统,其中所述图像填充系统可执行以:
标识所述主图像中的第一多个特征和所述辅图像中的第二多个特征;以及
标识多对匹配特征,每对匹配特征包括(i)来自所述主图像的所述第一多个特征的特征,以及(ii)来自所述辅图像的所述第二多个特征的对应的匹配特征。
18.一种计算机程序产品,包括一种或多种非暂态机器可读介质,所述非暂态机器可读介质被编码有指令,当所述指令由一个或多个处理器执行时,导致用于使图像变形的过程被执行,所述过程包括:
接收主图像中的对象的标识,所述对象要从所述主图像被移除并用来自辅图像的背景区域替换;
通过以下各项来使所述辅图像与所述主图像几何对齐:
(i)随机选择所述主图像的第一一个或多个特征和所述辅图像的对应的匹配的第二一个或多个特征,
(ii)基于所述主图像的所述第一一个或多个特征以及所述辅图像的第二一个或多个特征,执行所述辅图像的几何变换,
(iii)基于(a)所述第一一个或多个特征,(b)所述第二一个或多个特征,以及(c)第一几何变换,来生成得分;以及
(iv)迭代地重复操作(i)、(ii)和(iii),直到所生成的所述得分满足阈值得分要求和/或重复次数满足阈值迭代次数;以及
将所述辅图像的所述背景区域覆盖在所述主图像中的所述对象上。
19.根据权利要求34所述的计算机程序产品,所述过程还包括:
通过变换所述辅图像的所述多个像素的颜色,使所述辅图像的多个像素的颜色与所述主图像的对应的多个像素匹配。
20.根据权利要求19所述的计算机程序产品,其中变换所述辅图像的所述多个像素的颜色包括:
通过变换整个所述辅图像的像素的颜色来执行全局颜色校正;以及
通过变换要被覆盖在所述主图像中的所述对象上的、所述辅图像的所述背景区域内的像素的颜色来执行局部颜色校正。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/548,498 US11270415B2 (en) | 2019-08-22 | 2019-08-22 | Image inpainting with geometric and photometric transformations |
US16/548,498 | 2019-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112419165A true CN112419165A (zh) | 2021-02-26 |
Family
ID=71835426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010489840.4A Pending CN112419165A (zh) | 2019-08-22 | 2020-06-02 | 利用几何和光度变换进行图像修复 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11270415B2 (zh) |
CN (1) | CN112419165A (zh) |
AU (1) | AU2020203790B2 (zh) |
DE (1) | DE102020003314A1 (zh) |
GB (1) | GB2588265B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278366B (zh) * | 2018-03-14 | 2020-12-01 | 虹软科技股份有限公司 | 一种全景图像虚化方法、终端及计算机可读存储介质 |
US11080833B2 (en) * | 2019-11-22 | 2021-08-03 | Adobe Inc. | Image manipulation using deep learning techniques in a patch matching operation |
US11676252B2 (en) * | 2020-01-31 | 2023-06-13 | Unity Technologies Sf | Image processing for reducing artifacts caused by removal of scene elements from images |
US20230145498A1 (en) * | 2021-11-05 | 2023-05-11 | Adobe Inc. | Image reprojection and multi-image inpainting based on geometric depth parameters |
KR20230100205A (ko) * | 2021-12-28 | 2023-07-05 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4925294A (en) | 1986-12-17 | 1990-05-15 | Geshwind David M | Method to convert two dimensional motion pictures for three-dimensional systems |
US6133946A (en) | 1998-01-06 | 2000-10-17 | Sportvision, Inc. | System for determining the position of an object |
US6441846B1 (en) | 1998-06-22 | 2002-08-27 | Lucent Technologies Inc. | Method and apparatus for deriving novel sports statistics from real time tracking of sporting events |
US20150297949A1 (en) | 2007-06-12 | 2015-10-22 | Intheplay, Inc. | Automatic sports broadcasting system |
AU2003209553A1 (en) | 2002-03-13 | 2003-09-22 | Imax Corporation | Systems and methods for digitally re-mastering or otherwise modifying motion pictures or other image sequences data |
US7362918B2 (en) * | 2003-06-24 | 2008-04-22 | Microsoft Corporation | System and method for de-noising multiple copies of a signal |
US20050129324A1 (en) | 2003-12-02 | 2005-06-16 | Lemke Alan P. | Digital camera and method providing selective removal and addition of an imaged object |
TWI241127B (en) | 2004-08-27 | 2005-10-01 | Univ Nat Cheng Kung | Image-capturing device and method for removing strangers |
US7911518B2 (en) | 2005-02-01 | 2011-03-22 | Samsung Electronics Co., Ltd. | Variable exposure for color image sensor |
US7873185B2 (en) | 2005-08-03 | 2011-01-18 | Siemens Medical Solutions Usa, Inc. | Method for detection and tracking of deformable objects |
US7956929B2 (en) | 2005-10-31 | 2011-06-07 | Broadcom Corporation | Video background subtractor system |
US20070250898A1 (en) | 2006-03-28 | 2007-10-25 | Object Video, Inc. | Automatic extraction of secondary video streams |
US8121347B2 (en) | 2006-12-12 | 2012-02-21 | Rutgers, The State University Of New Jersey | System and method for detecting and tracking features in images |
WO2009154596A1 (en) | 2008-06-20 | 2009-12-23 | Hewlett-Packard Development Company, L.P. | Method and system for efficient video processing |
TW201005583A (en) | 2008-07-01 | 2010-02-01 | Yoostar Entertainment Group Inc | Interactive systems and methods for video compositing |
US9330476B2 (en) | 2009-05-21 | 2016-05-03 | Adobe Systems Incorporated | Generating a modified image with additional content provided for a region thereof |
US8249299B1 (en) | 2009-08-17 | 2012-08-21 | Adobe Systems Incorporated | Systems and methods of tracking objects in video |
EP2474167A4 (en) | 2009-09-01 | 2014-12-10 | Prime Focus Vfx Services Ii Inc | SYSTEM AND PROCESS FOR TRANSFORMING TWO-DIMENSIONAL IMAGES TO THREE-DIMENSIONAL IMAGES |
EP2494498B1 (en) | 2009-10-30 | 2018-05-23 | QUALCOMM Incorporated | Method and apparatus for image detection with undesired object removal |
KR101199166B1 (ko) | 2010-08-27 | 2012-11-07 | 현대자동차주식회사 | 보간 프레임 생성 시스템 |
US20120092357A1 (en) | 2010-10-14 | 2012-04-19 | Microsoft Corporation | Region-Based Image Manipulation |
US20120213404A1 (en) | 2011-02-18 | 2012-08-23 | Google Inc. | Automatic event recognition and cross-user photo clustering |
WO2012137437A1 (ja) * | 2011-04-08 | 2012-10-11 | パナソニック株式会社 | 画像処理装置および画像処理方法 |
KR101552194B1 (ko) | 2011-07-20 | 2015-09-11 | 네이버 주식회사 | 영상을 앨범 단위로 관리 및 공유하는 시스템 및 방법 |
US8861868B2 (en) | 2011-08-29 | 2014-10-14 | Adobe-Systems Incorporated | Patch-based synthesis techniques |
US20130076941A1 (en) * | 2011-09-23 | 2013-03-28 | Adobe Systems Incorporated | Systems And Methods For Editing Digital Photos Using Surrounding Context |
US9087402B2 (en) | 2013-03-13 | 2015-07-21 | Microsoft Technology Licensing, Llc | Augmenting images with higher resolution data |
US9076221B2 (en) | 2012-12-19 | 2015-07-07 | Qualcomm Incorporated | Removing an object from an image |
JP6239358B2 (ja) | 2013-12-02 | 2017-11-29 | 株式会社メガチップス | 画素補間装置、撮像装置、プログラムおよび集積回路 |
US9697595B2 (en) | 2014-11-26 | 2017-07-04 | Adobe Systems Incorporated | Content aware fill based on similar images |
JP6746310B2 (ja) * | 2015-05-22 | 2020-08-26 | キヤノン株式会社 | 画像処理装置、撮像システム、画像処理方法 |
US9641818B1 (en) | 2016-04-01 | 2017-05-02 | Adobe Systems Incorporated | Kinetic object removal from camera preview image |
US10438362B2 (en) * | 2017-05-31 | 2019-10-08 | Here Global B.V. | Method and apparatus for homography estimation |
CN107886471B (zh) * | 2017-11-03 | 2020-12-01 | 北京航空航天大学 | 一种基于超像素投票模型的照片多余物体去除方法 |
-
2019
- 2019-08-22 US US16/548,498 patent/US11270415B2/en active Active
-
2020
- 2020-06-02 DE DE102020003314.8A patent/DE102020003314A1/de active Pending
- 2020-06-02 CN CN202010489840.4A patent/CN112419165A/zh active Pending
- 2020-06-09 AU AU2020203790A patent/AU2020203790B2/en active Active
- 2020-06-15 GB GB2009047.8A patent/GB2588265B/en active Active
-
2022
- 2022-02-17 US US17/651,435 patent/US20220172331A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11270415B2 (en) | 2022-03-08 |
US20220172331A1 (en) | 2022-06-02 |
US20210056668A1 (en) | 2021-02-25 |
GB2588265A (en) | 2021-04-21 |
AU2020203790A1 (en) | 2021-03-11 |
AU2020203790B2 (en) | 2021-11-04 |
GB202009047D0 (en) | 2020-07-29 |
DE102020003314A1 (de) | 2021-02-25 |
GB2588265B (en) | 2022-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112419165A (zh) | 利用几何和光度变换进行图像修复 | |
Abdelhamed et al. | A high-quality denoising dataset for smartphone cameras | |
CN106600686B (zh) | 一种基于多幅未标定图像的三维点云重建方法 | |
Jiang et al. | Image dehazing using adaptive bi-channel priors on superpixels | |
KR100681320B1 (ko) | 헬름홀츠 교환조건으로부터 유도되는 편미분 방정식의레벨셋 풀이 방법을 이용한 물체의 3차원 형상 모델링 방법 | |
CN110956114A (zh) | 人脸活体检测方法、装置、检测系统及存储介质 | |
CN104424640A (zh) | 对图像进行虚化处理的方法和装置 | |
Griffiths et al. | OutCast: Outdoor Single‐image Relighting with Cast Shadows | |
CN106169064A (zh) | 一种现实增强系统的图像识别方法和系统 | |
JP7463186B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Hong et al. | Reflection removal with nir and rgb image feature fusion | |
Li et al. | Global color consistency correction for large-scale images in 3-D reconstruction | |
Chen et al. | New stereo high dynamic range imaging method using generative adversarial networks | |
Bannai et al. | Fusing multiple color images for texturing models | |
Di Martino et al. | Rethinking shape from shading for spoofing detection | |
GB2585197A (en) | Method and system for obtaining depth data | |
CN113225484B (zh) | 快速获取屏蔽非目标前景的高清图片的方法及装置 | |
CN108830804A (zh) | 基于线扩展函数标准差的虚实融合模糊一致性处理方法 | |
CN110827211B (zh) | 一种图像细节增强方法 | |
JP2018081378A (ja) | 画像処理装置、撮像装置、画像処理方法および画像処理プログラム | |
CN113344997B (zh) | 快速获取只含有目标对象的高清前景图的方法及系统 | |
Xu et al. | A two-stage progressive shadow removal network | |
Jonscher et al. | Reconstruction of images taken by a pair of non-regular sampling sensors using correlation based matching | |
KR102577361B1 (ko) | 보완적인 적대적 학습을 통한 이미지에서의 안개 제거 방법 및 장치 | |
JP7135517B2 (ja) | 三次元形状モデル生成装置、三次元モデル生成方法及びプログラム |
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 |