微软AR/VR专利提出高效高精度解决方案计算场景图像像素
使用PatchMatch Neighborhood Consensus(PMNC)函数
(映维网Nweon 2022年09月13日)计算两个或多个图像中的像素对应可以用于从三维视觉到图像编辑和场景理解的计算机视觉任务,包括混合现实。对于密集语义对应任务,其涉及寻找语义相关的对象或场景元素的对应像素,而不是同一场景。
目前针对计算语义对应的方法包括利用邻域一致性,亦即基于2D空间情景过滤稀疏特征匹配或密集像素对应。过去的各种邻里一致过滤器都是手动制作,而不是机器训练。
密集对应任务可能涉及从图像对中提取特征以创建特征映射,并基于特征映射像素对之间的相似性确定对应关系。结合邻域一致线索的端到端可训练深度神经网络可用于这种任务。然而,大多数方法在计算方面的成本都非常昂贵。
在名为“Pixel correspondence via patch-based neighborhood consensus”的专利申请中,微软提出了一种旨在提高效率和精度的方法,在估计两个图像之间的密集语义对应中使用PatchMatch Neighborhood Consensus(PMNC)函数。
简言之,基于卷积神经网络(CNN)的特征提取器应用于源图像和目标图像,以创建源和目标特征映射,从中确定相关映射。基于相关映射,使用greedy算法确定密集对应映射。在推理过程中,使用PatchMatch-based函数对密集对应图进行细化。
所述的PatchMatch-based的示例方法采用基于邻域一致的评分函数,基于从相关映射提取的patch来预测评分。基于分数,更新密集对应映射以产生包括两个图像之间的像素对应的精细对应映射。与其他方法不同,PMNC不使用多个卷积层过滤全相关映射。相反,专利描述的示例使用PatchMatch-based推断。学习的评分函数用于比较两个图像中的patch的相似性。
评分函数在4D相关映射局部执行卷积以产生匹配评分。因此,所述函数可用于在每个PatchMatch迭代期间比较每个像素的少量传播候选。例如,PMNC可以在整个搜索空间的一部分上计算卷积,这可以提供比其他方法更有效的处理。因此与其他方法相比,微软表示它可以为密集语义对应任务带来更有效的计算性能。
值得一提的是,所述方法同时涉及不可微分过程的训练函数。由于PMNC示例是不可微分,因此示例中的CNN特征提取器和评分函数不能使用反向传播直接训练。所以,可以使用端到端可微分代理模型训练函数。模型产生特征提取器CNN和评分函数,然后将其嵌入PMNC模型中。
在一个实施例中,使用稀疏关键点监督联合训练基于CNN的特征提取器和基于邻域一致的4D评分函数。在训练代理模型时,针对源图像中的多个位置,在目标图像中密集调用评分函数,其中ground truth关键点位置可用。
对于每个关键点注释,密集分数用于形成2D预测概率图,而目标图像中稀疏的ground truth相关键点位置relax为ground truth 2D概率图。然后联合优化特征主干和评分函数的参数,以减少预测概率图和ground truth概率图之间的偏差。使用所述训练方案,可以在较少使用计算资源的情况下获得与上述方法相当的匹配精度。
PMNC推理管道示例如下。给定2D源图像和目标图像,PMNC首先通过基于(CNN)的特征提取器计算给定源图像和靶图像的特征映射。然后,PMNC通过计算来自源和目标特征图的像素对的相似度来计算4D相关映射,例如通过点积运算。接下来,PMNC通过基于最高相似性得分将多个源特征图像素中的每个源特征图象素与对应的目标特征图象素相关联,从相关图计算初始对应映射。
在一个实施例中,这是针对源特征映射的每个像素进行。接下来,PMNC通过执行一系列patch匹配传播和更新步骤来迭代地细化对应关系映射。然后,PMNC返回细化的对应映射作为输出。
图2示出了用于计算推理时的语义对应的示例PMNC推理管理200。推理管理200可以实现为存储在一个或多个计算机可读存储设备,并可由一个或更多个逻辑机执行的计算机可读指令。
PMNC推断管道200通过使用图像特征描述符计算源图像204和目标图像206之间的相似度来计算208相关映射218。示例性源图像和目标图像在204a和206a处示出为均包括自行车的图像,但在不同的场景和/或情景中。另外,每个图像中的自行车可以不同。
为了计算208相关性映射,PMNC推断管道200采用基于CNN的特征提取器210来获得源特征映射212和目标特征映射214。每个特征映射包括多个特征映射像素,每个特征映射像素包括对提取的特征进行编码的特征映射矢量。
在一个实施例中,PMNC使用ResNet主干作为特征提取器210。在其他示例中,任何其他合适的可训练模型可以用作特征提取器,包括CNN以外的模型。
源特征映射212和目标特征映射214的像素之间的相似性可以以任何合适的方式计算。在所描绘的示例中,对每对源/目标图像像素应用点积216运算以获得相关映射218。
确定相关映射后,PMNC执行修补匹配优化以初始化对应映射。在图2的示例中,PMNC推理管线200通过贪婪算法220从4D相关映射218计算初始对应映射222,其中PMNC迭代FS的每个源像素,并通过选择具有最大相似性得分的对应像素或以其他方式具有最接近确定的相似性度量来确定FT中的对应像素。
初始对应图是从纯像素相关中获得,没有邻域一致。然而,初始对应映射d0可能包含不正确的对应。因此,通过一个或多个传播和更新步骤230细化初始对应关系映射。在传播期间,PMNC在232对候选对应关系进行采样,在234评估每个候选对应关系,并在236更新对应关系图,PMNC基于相邻像素与目标特征映射像素(x1,y1)的对应关系确定像素(i,j)的候选对应关系233。
确定一组候选对应关系后,PMNC使用学习的评分函数来评估每个传播候选。给定传播候选集sijk,PMNC通过将候选对应的4D补丁输入评分函数来评估每个候选对应,以获得候选对应的分数。从相关映射218中提取或裁剪4D patch。每个4D patch包括源特征映射像素(i,j)、一个或多个相邻源特征映射象素、目标特征映射象元(k,l)和一个或更多个相邻目标特征映射像素。
评分函数F预测对应的正确性并输出对应分数。与上面讨论的其他方法不同,评分函数F预测对应关系(i,j)的正确性。(k,l)给定从相关图C中提取的4D patch Aijkl。由于整个相关图C的4D卷积在计算上可能是昂贵的并且具有大的内存占用,PMNC使用4D评分函数,而所述函数对从相关映射中提取的选定4D patch应用4D卷曲。通过在4D patch使用卷积,与其他方法相比,PMNC降低了计算复杂度和内存占用。
再次参考图2,在234和236示出了示例候选对应评估和更新,评分函数F评估补丁Ai,j,X2,Y2并确定对应分数235(这里显示为10.2)。在236,PMNC基于最高对应分数更新像素(i,j)的对应关系。在所示示例中,分数235表示最高对应分数,并且分数235与补丁Ai,j,X2,Y2相关联,因此PMNC用对应237更新对应映射,所述对应237将像素(i,j)映射到像素(X2,Y1)。
作为每个传播和更新步骤的结果,PMNC产生一个精确的对应映射238。PMNC可以重复传播和更新过程(即232、234和236),直到对应映射收敛。一旦对应映射达到了目标的收敛水平,PMNC推理管道200输出最终的精确对应映射240。在一个实施例中,当更新迭代不产生变化时,即dk=dk-1,可以实现收敛。在其他示例中,可以使用任何其他合适的收敛标准,例如基于收敛像素数的标准。在其他示例中,PMNC可以在230处执行预定次数的迭代(例如,两次迭代)。
如上所述,PMNC推理管道不可微,因此不能通过反向传播进行训练。所以,为了训练PMNC推理管道的特征提取器和评分函数,可以定义代理问题,并在训练过程中使用代理问题来学习组件的参数。
在一个实施例中,训练过程使用训练图像对的稀疏标记关键点匹配进行监督。每个标记的关键点匹配包括源图像的关键点注释(i,j)与目标图像的ground truth目标对应(k,l)之间的对应。在训练期间,为训练图像对计算相关映射。对于每个关键点注释(i,j),PMNC通过使用评分函数F从其4D patch Aijkl预测其匹配分数来评估所有候选目标像素(x,y)。
然后,PMNC通过按照目标图像的像素顺序排列所有预测分数来计算2D匹配分数图。接下来,通过对2D匹配分数图应用可微分函数(例如,softmax操作),训练过程获得目标图像中像素的2D概率图。训练过程为每个源关键点注释计算2D概率图。当PMNC使用PatchMatch作为穷举匹配算法的替代时,代理问题允许特征提取器和补丁评分函数F产生有意义的结果。
相关专利:Microsoft Patent | Pixel correspondence via patch-based neighborhood consensus
名为“Pixel correspondence via patch-based neighborhood consensus”的微软专利申请最初在2021年3月提交,并在日前由美国专利商标局公布。