CN112634331A - 一种光流预测方法及装置 - Google Patents
一种光流预测方法及装置 Download PDFInfo
- Publication number
- CN112634331A CN112634331A CN202011408487.9A CN202011408487A CN112634331A CN 112634331 A CN112634331 A CN 112634331A CN 202011408487 A CN202011408487 A CN 202011408487A CN 112634331 A CN112634331 A CN 112634331A
- Authority
- CN
- China
- Prior art keywords
- optical flow
- image
- determining
- mapping
- input image
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- 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/10016—Video; Image sequence
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种光流预测方法及装置,涉及计算机视觉技术领域,包括:将两帧连续的待预测图像输入光流预测网络;根据光流预测网络得到预测的光流,其中,光流预测网络的损失通过如下方式确定,包括:根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像;将两帧裁剪图像输入光流预测网络,得到前向光流和后向光流;根据前向光流、后向光流和两帧输入图像进行边界填充映射,确定映射后的两帧映射图像;根据裁剪图像和映射图像确定光流预测网络的损失。本发明通过对裁剪图像进行边界填充映射,使得运动超出裁剪图像边界的像素在经边界填充映射后仍能通过输入图像的对应像素进行替换,得到正确的图像损失,提高了光流预测的准确性。
Description
技术领域
本发明涉及计算机视觉技术领域,具体而言,涉及一种光流预测及装置。
背景技术
随着计算机技术的发展,计算机视觉领域的发展也相当迅速。光流预测是计算机视觉的一项基础任务,在自动驾驶、视频处理、目标检测、行为分析等许多领域中起着重要作用。近年来,由于深度学习的兴起,基于深度学习的光流预测方法逐渐成为了主流。现有基于深度学习的光流预测方法有FlowNet、FlowNet-v2、PWC-Net以及IRR-PWCNet等。其主要优点是精确度高、速度快、部署快、泛化性强。然而,基于深度学习的光流预测方法对训练数据的要求非常高,需要精确标注光流标签。而人工进行大量的光流标注是十分困难的。因此人们尝试制造虚拟数据,例如FlyingChirs数据集等,利用虚拟数据集进行光流模型训练,然后再应用于真实场景,或者是用虚拟数据集训练光流模型后,使用少量的人工标注的稀疏光流标签进行再训练。由于真实场景的光照变化和遮挡变化跟虚拟数据集相比差距很大,因此这样的方法在真实应用中往往性能较差。
现有基于深度学习的光流预测方法对标注数据的依赖性非常高,限制了其在真实场景中的应用。为了解决这个问题,研究人员提出了无监督光流方法。无监督光流方法不再需要光流标注,只使用图像对即可训练光流模型。其基本做法是:将训练图像对中的图1和图2输入神经网络,输出光流,然后利用输出光流将图2映射到图1,通过对比映射结果和图1之间的图像损失进行网络训练。如果神经网络预测光流正确,则映射结果图会与图1基本吻合。由于无监督光流方法使用图像对就能够进行光流模型的训练,不需要任何人工标注。因此无监督光流方法的成本非常低,且容易应用于各种真实场景。
然而,在物体发生移动的时候,例如物体移动超出图像边界的区域时,上述的映射计算损失的方法将导致无法学习到正确的光流,甚至会对整个学习过程产生严重的影响。针对这个问题,现有方法首先进行双向光流预测,基于双向光流检测出遮挡区域,然后从训练损失中排除掉遮挡区域,从而避免遮挡区域带来的不利影响。这样的方法能够显著提升非遮挡区域光流的准确性,但是并不能解决遮挡区域的学习问题,使得遮挡区域的光流估计效果较差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题,为达上述目的,第一方面,本发明提供了一种光流预测方法,其包括:
将两帧连续的待预测图像输入光流预测网络;
根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,包括:
根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像;
将两帧所述裁剪图像输入所述光流预测网络,得到前向光流和后向光流;
根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失;
根据所述裁剪图像和所述映射图像确定所述光流预测网络的所述损失。
进一步地,所述根据预设裁剪规则包括:以距离所述输入图像长度边界第一数量的像素宽度、距离所述输入图像宽度边界第二数量的像素宽度,对所述输入图像进行裁剪。
进一步地,所述根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像包括:
根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像;
根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像。
进一步地,所述根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像包括:
根据所述前向光流和所述第二输入图像,确定所述第一输入图像对应的第一裁剪图像中的每个像素点在所述第二输入图像中对应的坐标;
将所述第二输入图像中所述坐标对应的像素点替换所述第一裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第一映射图像。
进一步地,所述根据所述前向光流和所述第二输入图像,确定所述第一输入图像对应的第一裁剪图像中的每个像素点在所述第二输入图像中对应的坐标包括:
确定所述第一裁剪图像的一个顶点的坐标;
根据所述顶点的坐标、所述第一裁剪图像中的每个所述像素点的坐标以及所述前向光流在每个所述像素点的值,确定每个所述像素点在所述第二输入图像中对应的坐标。
进一步地,所述根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像包括:
根据所述后向光流和所述第一输入图像,确定所述第二输入图像对应的第二裁剪图像中的每个像素点在所述第一输入图像中对应的坐标;
将所述第一输入图像中所述坐标对应的像素点替换所述第二裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第二映射图像。
进一步地,所述根据所述后向光流和所述第一输入图像,确定所述第二输入图像对应的第二裁剪图像中的每个像素点在所述第一输入图像中对应的坐标包括:
确定所述第二裁剪图像的一个顶点的坐标;
根据所述顶点的坐标、所述第二裁剪图像中的每个所述像素点的坐标以及所述后向光流在每个所述像素点的值,确定每个所述像素点在所述第一输入图像中对应的坐标。
进一步地,所述根据所述裁剪图像和所述映射图像确定所述光流预测网络的损失包括:
根据两帧所述裁剪图像和两帧所述映射图像确定光流误差损失;
根据所述前向光流和所述后向光流确定平滑损失;
根据所述光流误差损失和所述平滑损失确定所述光流预测网络的所述损失。
进一步地,所述根据两帧所述裁剪图像和两帧所述映射图像确定光流误差损失包括:
根据两帧所述裁剪图像中的第一裁剪图像,和经过所述边界填充映射确定的第一映射图像的差值,确定第一误差损失;
根据两帧所述裁剪图像中的第二裁剪图像,和经过所述边界填充映射确定的第二映射图像的差值,确定第二误差损失;
根据所述第一误差损失和所述第二误差损失确定所述光流误差损失。
进一步地,所述光流预测网络包括卷积神经网络和多个解码网络,其中:
所述卷积神经网络用于根据两帧所述裁剪图像提取多个不同尺度的特征对,多个不同尺度的特征对与多个所述解码网络一一对应;
多个所述解码网络分别根据不同尺度的所述特征对获取多组双向光流信息,
其中,每一个尺度对应的所述双向光流信息经过双线性上采样操作后输入相邻大尺度的特征对所对应的解码网络,尺度最大的特征对所对应的解码网络确定的双向光流信息经过上采样操作后作为所述光流预测网络的输出。
为达上述目的,第二方面,本发明提供了一种光流预测装置,其包括:
输入模块,用于将两帧连续的待预测图像输入光流预测网络;
预测模块,用于根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,包括:根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像;将两帧所述裁剪图像输入所述光流预测网络,得到前向光流和后向光流;还用于根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失;还用于根据所述裁剪图像和所述映射图像确定所述光流预测网络的损失;还用于根据所述光流预测网络的损失进行光流预测,确定预测的光流。
使用本发明的光流预测方法或装置,通过对输入图像进行一定规则的裁剪后,确定裁剪图像,并输入光流网络进行双向光流预测,再根据预测光流与未经裁剪的输入图像进行边界填充映射,使得运动超出裁剪图像边界的像素在经边界填充映射后仍能通过输入图像的对应像素得到正确的图像损失,提高了确定图像损失的准确性,从而使得到的光流预测网络可获得准确的光流预测结果,提高整体光流预测的准确度。
为达上述目的,第三方面,本发明提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现根据本发明第一方面所述的光流预测方法。
为达上述目的,第四方面,本发明提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现根据本发明第一方面所述的光流预测方法。
根据本发明的非临时性计算机可读存储介质和计算设备,具有与根据本发明第一方面的光流预测方法具有类似的有益效果,在此不再赘述。
附图说明
图1为根据本发明实施例的光流预测方法的流程示意图;
图2为根据本发明实施例的确定光流预测网络损失的流程示意图;
图3为根据本发明实施例的裁剪图像的示意图;
图4为根据传统映射方式产生黑边问题的示意图;
图5为根据本发明实施例的训练图像的示意图;
图6为根据本发明实施例的光流预测网络的结构示意图;
图7为根据本发明实施例的确定映射图像的流程示意图;
图8为根据本发明实施例的进行边界填充映射的原理示意图;
图9为根据本发明实施例的确定第一映射图像的流程示意图;
图10为根据本发明实施例的确定第二映射图像的流程示意图;
图11为根据本发明实施例的计算光流预测网络的损失的流程示意图;
图12为根据本发明实施例的基于KITTI2012测试集的测试结果示意图;
图13为根据本发明实施例的基于KITTI2015测试集的测试结果示意图;
图14为根据本发明实施例的光流预测装置的结构示意图。
具体实施方式
下面将参照附图详细描述根据本发明的实施例,描述涉及附图时,除非另有表示,不同附图中的相同附图标记表示相同或相似的要素。要说明的是,以下示例性实施例中所描述的实施方式并不代表本发明的所有实施方式。它们仅是与如权利要求书中所详述的、本发明公开的一些方面相一致的装置和方法的例子,本发明的范围并不局限于此。在不矛盾的前提下,本发明各个实施例中的特征可以相互组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
图像是人类世界中最常用的信息载体,当人类眼睛观察运动物体时,视网膜上会形成一系列连续变化的图像,这种信息“流过”视网膜的形式好像是光的流动,所以称之为光流。对于光流的作用,简单的解释就是其能记录图像场景内物体的运动。观察两帧相邻图像时,人们会发现图像中的物体存在着时间相关性和位置相关性。利用这种相关性获取运动信息,这便是光流法的核心。严格地说,光流表达了三维世界的物体在二维成像平面上的瞬时速度,将图像中所有像素的光流汇集,就可获得整幅图像的光流场。
光流预测是计算机视觉领域中一个经典的研究问题。在计算机视觉中,该任务定义图像中对象的移动,这个移动可以是相机移动或者物体移动引起的。具体是指,视频图像的一帧中的代表同一对象(物体)像素点移动到下一帧的移动量,使用二维向量表示(分别代表x和y方向的运动)。在计算机视觉中,光流由于包含了潜在的运动信息,因而在视频目标检测、目标分割、行为识别、目标跟踪、机器人导航以及形状信息恢复等领域都有着非常重要的应用。
深度学习的发展给光流预测领域带来了突破性的发展:一方面利用有监督学习算法,通过虚拟采集构建数据集,基于深度学习的光流预测网络无论在速度和准确率上都超过了传统光流算法,极大地推动了该方向的发展;另一方面利用无监督学习算法,光流预测网络的准确率也达到了传统光流算法,并且其速度也远超传统算法。而无监督光流学习方法由于其不需要对数据集进行人工标注,使得对数据集的要求大大降低,更适应于各种真实场景的应用。
但是现有的无监督光流学习方法主要存在以下技术问题:(1)图像中遮挡区域的光流是无法学习的,导致遮挡区域的光流估计错误;(2)在图像损失中排除所有遮挡区域像素,导致一些可学习的区域被屏蔽无法学习,影响光流估计性能。
本发明通过对输入图像进行裁剪后,得到裁剪图像,并将裁剪图像对输入光流网络进行双向光流预测,再根据预测光流与未经裁剪的输入图像进行边界填充映射,通过预测光流确定裁剪图像中像素点的移动量,并在原始未裁剪图像中确定对应的像素进行替换,使得运动超出裁剪图像边界的像素在经边界填充映射后,仍能通过输入图像的对应像素进行替换,得到正确的图像损失,从而提高光流预测的准确度,解决了现有技术中存在的问题。
图1所示为根据本发明实施例的光流预测方法的流程示意图,包括步骤S1至S2。
在步骤S1中,将两帧连续的待预测图像输入光流预测网络。在本发明实施例中,获取需要进行光流预测的视频,将其中连续两帧的待预测图像输入光流预测网络,进行光流预测。
在步骤S2中,根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,图2所示为根据本发明实施例的确定光流预测网络损失的流程示意图,包括步骤S21至S24。
在步骤S21中,根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像。在本发明实施例中,因为不需要任何的光流标注,所以输入数据只需要从视频中提取视频帧即可。将相邻连续的两帧图像作为输入图像,进行后续图像损失的确定。
在本发明实施例中,所述预设裁剪规则包括:以距离所述输入图像长度边界第一数量的像素宽度、距离所述输入图像宽度边界第二数量的像素宽度,对所述输入图像进行裁剪。具体地,对输入图像(源图像)进行裁剪的规则是距离边界16个像素(即第一数量和第二数量均取16),裁剪大小固定,对输入图像进行裁剪。例如在flyingchairs数据集进行训练,源图像尺寸是384*480,则裁剪为320*320进行训练;在Sintel数据集进行训练,源图像尺寸为436*1024,则裁剪为320*896进行训练。可以理解的是,所述裁剪规则可根据实际需求进行相应调整,本发明并不以此为限,但要保证整个裁剪框全部在源图像内。
图3所示为根据本发明实施例的裁剪图像的示意图,获取连续的两帧输入图像,即第一输入图像和第二输入图像,根据预设裁剪规则对输入图像进行裁剪,得到裁剪后的第一裁剪图像Ia和第二裁剪图像Ib。可以理解的是,根据预设规则可确定一个固定大小的裁剪框,对输入图像进行裁剪,得到裁剪后的裁剪图像。图4所示为根据传统映射方式产生黑边问题的示意图,如图4所示,以前向光流为例,根据第二裁剪图像Ib和预测的前向光流Vf采用传统的映射方法进行映射后,当像素运动超出图像的边界时,则传统的映射方法中该区域的像素无法找到对应的像素,会自动填充为0,导致无法提供正确的光流损失来学习对应关系,形成黑边。本发明实施例中,根据双向预测光流和裁剪前的输入图像进行边界填充映射,可在像素运动超出图像边界时,仍然提供正确的光流损失进行学习,避免在传统映射方法中,由于像素运动超出图像边界引起的黑边问题。
在步骤S22中,将两帧所述裁剪图像输入所述光流预测网络,得到前向光流和后向光流。在本发明实施例中,可采用现有的KITTI数据集进行光流网络的训练。图5所示为根据本发明实施例的训练图像的示意图,从道路拍摄视频中提取出13372对视频帧组成训练数据集进行光流网络训练。可以理解的是,所述训练数据集中的图像均为经过裁剪后的裁剪图像。
在本发明实施例中,选取好训练数据集后,输入卷积神经网络进行光流预测。图6所示为根据本发明实施例的光流预测网络的结构示意图,在本发明实施例中,使用如图6所示的光流预测网络进行光流预测。其中,光流预测网络包括1个卷积神经网络和5个解码网络,所述卷积神经网络用于根据两帧所述裁剪图像提取多个不同尺度的特征对,多个不同尺度的特征对与多个所述解码网络一一对应,多个所述解码网络分别用于根据不同尺度的所述特征对获取多组双向光流信息。光流预测网络的输入是前后两帧裁剪图像:第一裁剪图像Ia和第二裁剪图像Ib,分别经过同一个卷积神经网络提取到5个不同尺度的特征对,即图4中的f1 i和f2 i,i∈{0,1,2,3,4}。其中,i=0的尺度最小,为裁剪图像的1/32大小,i=5的尺度最大,为裁剪图像的1/2的大小。
在本发明实施例中,从i=0的尺度开始,特征经过一个解码网络(图6中的Decoder)得到双向光流信息,即前向光流和后向光流双向光流信息(如前向光流和后向光流)经过双线性上采样操作后输入相邻的下一个大尺度的特征对所对应的解码网络中,如此迭代,直到最后尺度最大的特征对所对应的解码网络得到双向光流信息和直接上采样两倍得到和作为光流预测网络最终的输出。在本发明实施例中,每个尺度用到的解码网络都是共享参数的,因而光流网络的参数较少。可以理解的是,所述光流预测网络也可采用其他结构的网络模型,本发明并不以此为限。
在本发明实施例中,所述光流预测网络设置多个不同尺度可以从粗到细进行光流估计,因为原图像上较大的位移,在小的尺度上位移不大,所以从小尺度估计到大尺度,对大位移的情况会非常有利,能提高整体光流预测的准确性。
在步骤S23中,根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失。在本发明实施例中,将裁剪后的裁剪图像对输入光流预测网络中,得到预测的前向光流和后向光流,根据预测的前向光流和后向光流进行边界填充映射并计算光流损失。在本发明实施例中,使用裁剪前的输入图像进行边界填充映射,使得映射后的图像没有黑边。图7所示为根据本发明实施例的确定映射图像的流程示意图,包括步骤S231至S232。
在步骤S231中,根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像。图8所示为根据本发明实施例的进行边界填充映射的原理示意图,以前向光流为例,根据裁减前的第二输入图像和预测的前向光流Vf进行边界填充映射,使得映射后的图像没有黑边。图9所示为根据本发明实施例的确定第一映射图像的流程示意图,包括步骤S2311至S2312。
在步骤S2311中,根据所述前向光流和所述第二输入图像,确定所述第一输入图像对应的第一裁剪图像中的每个像素点在所述第二输入图像中对应的坐标。在本发明实施例中,包括确定所述第一裁剪图像的一个顶点的坐标;根据所述顶点的坐标、所述第一裁剪图像中的每个所述像素点的坐标以及所述前向光流在每个所述像素点的值,确定每个所述像素点在所述第二输入图像中对应的坐标。具体地,例如选取裁剪前第二输入图像Ib r的左上角为原点建立坐标系,则可确定其中每个像素的坐标,此时选取裁剪后的第二裁剪图像Ib的左上角顶点为p0,则对于任一像素点p,确定前向光流Vf在p点的值为Vf(p)。可以理解的是,根据p0+p+Vf(p)可获得第一裁剪图像Ia中每个像素点移动到第二输入图像中中的位置,即可获得该像素点在第二输入图像中中对应的坐标。
在步骤S2312中,将所述第二输入图像中所述坐标对应的像素点替换所述第一裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第一映射图像。在本发明实施例中,所述边界填充映射方法可表示为:
其中,表示映射结果,用于计算图像损失,p表示像素点坐标,p0表示裁剪图像的左上角顶点坐标。可以理解的是,在本发明实施例中,根据第一裁剪图像Ia中每个像素点的移动确定其在第二输入图像中中的位置,并用第二输入图像中中对应的像素点来替换,进行边界填充映射,使得运动超出第一裁剪图像Ia边界的像素仍然可以在未裁剪的第二输入图像中找到相应的像素进行替换,得到新的映射图像。由此,将新的映射图像与裁剪图像进行比较,当光流预测较准确时,图像的损失会较小。
在步骤S232中,根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像。图10所示为根据本发明实施例的确定第二映射图像的流程示意图,包括步骤S2321至S2322。
在步骤S2321中,根据所述后向光流和所述第一输入图像,确定所述第二输入图像对应的第二裁剪图像中的每个像素点在所述第一输入图像中对应的坐标。在本发明实施例中,包括确定所述第二裁剪图像的一个顶点的坐标;根据所述顶点的坐标、所述第二裁剪图像中的每个所述像素点的坐标以及所述后向光流在每个所述像素点的值,确定每个所述像素点在所述第一输入图像中对应的坐标。可以理解的是,在本发明实施例中,对根据后向光流和第一输入图像进行边界填充映射,得到映射后的第二映射图像的方法,与上述前向光流的映射方法一样,在此不再赘述。
在步骤S2322中,将所述第一输入图像中所述坐标对应的像素点替换所述第二裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第二映射图像。在本发明实施例中,同样得到基于第一输入图像进行边界填充映射的第二映射图像。可以理解的是,根据所述第二映射图像与第二裁剪图像进行比较,可获得后向光流的光流损失,用于确定整体的图像损失。
在步骤S24中,根据所述裁剪图像和所述映射图像确定所述光流预测网络的所述损失。图11所示为根据本发明实施例的计算光流预测网络的损失的流程示意图,包括步骤S241至S243。
在步骤S241中,根据两帧所述裁剪图像和两帧所述映射图像确定光流误差损失。在本发明实施例中,包括根据所述裁剪图像中的第一裁剪图像,和经过所述边界填充映射确定的第一映射图像的差值,确定第一误差损失。在本发明实施例中,将经过边界填充映射确定的第一映射图像与第一裁剪图像进行比较,根据其差值作为第一误差损失。可以理解的是,所述差值可根据例如L1函数或L2函数进行计算,在本发明实施例中,采用鲁棒损失函数进行计算,所述鲁棒损失函数如下式所示:
ψ(x)=(|x|+ε)q,
其中,ψ表示鲁棒损失函数,系数ε设为0.01,系数q设为0.4。
在步骤S242中,根据所述前向光流和所述后向光流确定平滑损失。在本发明实施例中,对于光流网络预测的光流,加上了平滑约束,即相邻像素点的光流需要相似。具体地,直接采用x和y方向的相邻预测光流做差作为所述平滑损失:
Ls=|▽Vf|+|▽Vb|。
在步骤S243中,根据所述光流误差损失和所述平滑损失确定所述光流预测网络的所述损失。在本发明实施例中,根据两组映射后图像与裁剪图像对比的差值,共同确定光流误差损失为:
在本发明实施例中,最终的图像损失为:
L=λpLp+λsLs,
其中,λp、λs分别为光流误差损失和平滑损失的权重项,由于平滑损失权重较大会导致光流预测网络输出的光流为恒定值,则在本发明实施例中,设置较小的λs=0.01,而设置λp=1。
在本发明实施例中,根据上述步骤可得到预测的光流结果,实现准确的光流预测。
图12所示为使用上述无监督光流预测方法基于KITTI2012测试集的测试结果示意图。其中展示了输入的第一帧图像(reference)、真实光流(GroundTruth)、使用以及不使用本发明实施例的边界填充映射方法的光流结果和误差谱。值得注意的是,真实光流标注没有在网络训练中使用,仅仅用来衡量预测光流的准确性。在误差谱中,越亮的区域误差越大,越暗的区域误差越小。可以看出,使用本发明实施例的无监督光流预测方法得到的光流结果非常精确,特别是在图像边缘区域。图13所示为使用上述无监督光流预测方法基于KITTI2015测试集的测试结果示意图,同样可以看出,使用本发明实施例的无监督光流预测方法能够学习到精确的光流预测结果,且不需要任何的人工标注光流。
采用本发明实施例的无监督学习的光流预测方法,通过对输入图像进行一定规则的裁剪后,确定裁剪图像,并输入光流网络进行双向光流预测,再根据预测光流与未经裁剪的输入图像进行边界填充映射,通过预测光流确定裁剪图像中像素点的移动量,并在原始未裁剪图像中确定对应的像素进行替换,使得运动超出裁剪图像边界的像素在经边界填充映射后仍能通过输入图像的对应像素进行替换,得到正确的图像损失,实现将部分遮挡区域变为可学习区域,显著提高了在遮挡区域确定图像损失的准确性。本发明根据映射图像与裁剪图像确定的图像损失进行无监督训练,避免了运动超过图像边界的像素不可学习的问题,提高了无监督学习光流预测的准确度,使得学习得到的光流模型更加精确,性能更好。
本发明第二方面的实施例还提供了一种光流预测装置。图14所示为根据本发明实施例的无监督学习的光流预测装置1400的结构示意图,包括输入模块1401和预测模块1402。
输入模块1401用于将两帧连续的输入图像输入光流预测网络;
预测模块1402用于根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,包括:根据预设裁剪规则对所述输入图像进行裁剪,确定两帧裁剪图像;根据两帧所述裁剪图像确定前向光流和后向光流;还用于根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失;还用于根据所述裁剪图像和所述映射图像确定所述光流预测网络的所述损失。
在本发明实施例中,预测模块1402还用于根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像;还用于根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像。
所述光流预测装置1400的各个模块的更具体实现方式可以参见对于本发明的光流预测方法的描述,且具有与之相似的有益效果,在此不再赘述。
本发明第三方面的实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现根据本发明第一方面所述的光流预测方法。
一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言,特别是可以使用适于神经网络计算的Python语言和基于TensorFlow、PyTorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明第四方面的实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现根据本发明第一方面所述的光流预测方法。可以理解的是,本发明的计算设备可以是服务器,也可以有限算力的终端设备。
根据本发明第三、四方面的非临时性计算机可读存储介质和计算设备,可以参照根据本发明第一方面实施例具体描述的内容实现,并具有与根据本发明第一方面实施例的光流预测方法具有类似的有益效果,在此不再赘述。
尽管上面已经示出和描述了本发明的实施例,应当理解的是,上述实施例是示例性的,不能解释为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (13)
1.一种光流预测方法,其特征在于,包括:
将两帧连续的待预测图像输入光流预测网络;
根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,包括:
根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像;
将两帧所述裁剪图像输入所述光流预测网络,得到前向光流和后向光流;
根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失;
根据所述裁剪图像和所述映射图像确定所述光流预测网络的所述损失。
2.根据权利要求1所述的光流预测方法,其特征在于,所述根据预设裁剪规则包括:以距离所述输入图像长度边界第一数量的像素宽度、距离所述输入图像宽度边界第二数量的像素宽度,对所述输入图像进行裁剪。
3.根据权利要求1所述的光流预测方法,其特征在于,所述根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像包括:
根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像;
根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像。
4.根据权利要求3所述的光流预测方法,其特征在于,所述根据所述前向光流和两帧所述输入图像中的第二输入图像进行所述边界填充映射,确定映射后的第一映射图像包括:
根据所述前向光流和所述第二输入图像,确定所述第一输入图像对应的第一裁剪图像中的每个像素点在所述第二输入图像中对应的坐标;
将所述第二输入图像中所述坐标对应的像素点替换所述第一裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第一映射图像。
5.根据权利要求4所述的光流预测方法,其特征在于,所述根据所述前向光流和所述第二输入图像,确定所述第一输入图像对应的第一裁剪图像中的每个像素点在所述第二输入图像中对应的坐标包括:
确定所述第一裁剪图像的一个顶点的坐标;
根据所述顶点的坐标、所述第一裁剪图像中的每个所述像素点的坐标以及所述前向光流在每个所述像素点的值,确定每个所述像素点在所述第二输入图像中对应的坐标。
6.根据权利要求3所述的光流预测方法,其特征在于,所述根据所述后向光流和两帧所述输入图像中的第一输入图像进行所述边界填充映射,确定映射后的第二映射图像包括:
根据所述后向光流和所述第一输入图像,确定所述第二输入图像对应的第二裁剪图像中的每个像素点在所述第一输入图像中对应的坐标;
将所述第一输入图像中所述坐标对应的像素点替换所述第二裁剪图像中的每个所述像素点进行所述边界填充映射,确定所述第二映射图像。
7.根据权利要求6所述的光流预测方法,其特征在于,所述根据所述后向光流和所述第一输入图像,确定所述第二输入图像对应的第二裁剪图像中的每个像素点在所述第一输入图像中对应的坐标包括:
确定所述第二裁剪图像的一个顶点的坐标;
根据所述顶点的坐标、所述第二裁剪图像中的每个所述像素点的坐标以及所述后向光流在每个所述像素点的值,确定每个所述像素点在所述第一输入图像中对应的坐标。
8.根据权利要求1-7中任一项所述的光流预测方法,其特征在于,所述根据所述裁剪图像和所述映射图像确定所述光流预测网络的损失包括:
根据两帧所述裁剪图像和两帧所述映射图像确定光流误差损失;
根据所述前向光流和所述后向光流确定平滑损失;
根据所述光流误差损失和所述平滑损失确定所述光流预测网络的所述损失。
9.根据权利要求8所述的光流预测方法,其特征在于,所述根据两帧所述裁剪图像和两帧所述映射图像确定光流误差损失包括:
根据两帧所述裁剪图像中的第一裁剪图像,和经过所述边界填充映射确定的第一映射图像的差值,确定第一误差损失;
根据两帧所述裁剪图像中的第二裁剪图像,和经过所述边界填充映射确定的第二映射图像的差值,确定第二误差损失;
根据所述第一误差损失和所述第二误差损失确定所述光流误差损失。
10.根据权利要求1-9中任一项所述的光流预测方法,其特征在于,所述光流预测网络包括卷积神经网络和多个解码网络,其中:
所述卷积神经网络用于根据两帧所述裁剪图像提取多个不同尺度的特征对,多个不同尺度的特征对与多个所述解码网络一一对应;
多个所述解码网络分别根据不同尺度的所述特征对获取多组双向光流信息,
其中,每一个尺度对应的所述双向光流信息经过双线性上采样操作后输入相邻大尺度的特征对所对应的解码网络,尺度最大的特征对所对应的解码网络确定的双向光流信息经过上采样操作后作为所述光流预测网络的输出。
11.一种光流预测装置,其特征在于,包括:
输入模块,用于将两帧连续的待预测图像输入光流预测网络;
预测模块,用于根据所述光流预测网络得到预测的光流,其中,所述光流预测网络的损失通过如下方式确定,包括:根据预设裁剪规则对输入图像进行裁剪,确定两帧裁剪图像;将两帧所述裁剪图像输入所述光流预测网络,得到前向光流和后向光流;还用于根据所述前向光流、所述后向光流和两帧所述输入图像进行边界填充映射,确定映射后的两帧映射图像,其中,所述边界填充映射用于为运动超出所述裁剪图像边界的像素提供光流损失;还用于根据所述裁剪图像和所述映射图像确定所述光流预测网络的所述损失。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现根据权利要求1-10中任一项所述的光流预测方法。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现根据权利要求1-10中任一项所述的光流预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408487.9A CN112634331A (zh) | 2020-12-04 | 2020-12-04 | 一种光流预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408487.9A CN112634331A (zh) | 2020-12-04 | 2020-12-04 | 一种光流预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112634331A true CN112634331A (zh) | 2021-04-09 |
Family
ID=75307924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011408487.9A Pending CN112634331A (zh) | 2020-12-04 | 2020-12-04 | 一种光流预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634331A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658231A (zh) * | 2021-07-07 | 2021-11-16 | 北京旷视科技有限公司 | 光流预测方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-04 CN CN202011408487.9A patent/CN112634331A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658231A (zh) * | 2021-07-07 | 2021-11-16 | 北京旷视科技有限公司 | 光流预测方法、装置、电子设备及存储介质 |
CN113658231B (zh) * | 2021-07-07 | 2023-09-26 | 北京旷视科技有限公司 | 光流预测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961327B (zh) | 一种单目深度估计方法及其装置、设备和存储介质 | |
US11200424B2 (en) | Space-time memory network for locating target object in video content | |
US11176381B2 (en) | Video object segmentation by reference-guided mask propagation | |
CN111105432B (zh) | 基于深度学习的无监督端到端的驾驶环境感知方法 | |
CN111523447B (zh) | 车辆跟踪方法、装置、电子设备及存储介质 | |
CN111696110B (zh) | 场景分割方法及系统 | |
CN112561978B (zh) | 深度估计网络的训练方法、图像的深度估计方法、设备 | |
CN110827312B (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN113298815A (zh) | 一种半监督遥感图像语义分割方法、装置和计算机设备 | |
CN109087337B (zh) | 基于分层卷积特征的长时间目标跟踪方法及系统 | |
GB2579262A (en) | Space-time memory network for locating target object in video content | |
CN115493612A (zh) | 一种基于视觉slam的车辆定位方法及装置 | |
Huang et al. | ES-Net: An efficient stereo matching network | |
CN108647605B (zh) | 一种结合全局颜色与局部结构特征的人眼凝视点提取方法 | |
CN116188550A (zh) | 一种基于几何约束的自监督深度视觉里程计 | |
CN112634331A (zh) | 一种光流预测方法及装置 | |
CN111709269B (zh) | 一种深度图像中基于二维关节信息的人手分割方法和装置 | |
CN110555406B (zh) | 一种基于Haar-like特征及CNN匹配的视频运动目标识别方法 | |
CN113129332A (zh) | 执行目标对象跟踪的方法和装置 | |
CN116703996A (zh) | 基于实例级自适应深度估计的单目三维目标检测算法 | |
CN113658231B (zh) | 光流预测方法、装置、电子设备及存储介质 | |
CN116129386A (zh) | 可行驶区域检测方法、系统及计算机可读介质 | |
CN114882372A (zh) | 一种目标检测的方法及设备 | |
CN115375742A (zh) | 生成深度图像的方法及系统 | |
CN112446292B (zh) | 一种2d图像显著目标检测方法及系统 |
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 |