一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

针对光流估计的监督学习和遮挡掩蔽的制作方法

2023-07-21 21:10:10 来源:中国专利 TAG:


1.本公开一般涉及光流估计。
2.概述
3.公开了用于针对光流的自监督学习、半监督学习和混合监督学习(例如,自监督学习和半监督学习的组合和/或其各方面)的系统、过程(也被称为方法)和计算机可读介质。根据至少一个示例,提供了一种用于针对光流的自监督学习、半监督学习和混合监督学习的方法。该方法可以包括:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;以及基于该损失项来训练被配置成确定图像之间的光流的网络。
4.根据至少一个示例,提供了一种用于针对光流的自监督学习、半监督学习和混合监督学习的装置。在一些示例中,该装置可以包括存储器以及耦合到该存储器的一个或多个处理器,该一个或多个处理器被配置成:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;以及基于该损失项来训练被配置成确定图像之间的光流的网络。
5.根据至少一个示例,提供了一种用于针对光流的自监督学习、半监督学习和混合监督学习的非瞬态计算机可读介质。该非瞬态计算机可读介质可以包括存储于其上的指令,这些指令在由一个或多个处理器执行时使得该一个或多个处理器进行以下操作:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;以及基于该损失项来训练被配置成确定图像之间的光流的网络。
6.根据至少一个示例,提供了一种用于针对光流的自监督学习、半监督学习和混合监督学习的设备。该设备可以包括用于以下操作的装置:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;以及基于该损失项来训练被配置成确定图像之间的光流的网络。
7.在一些方面,上述方法、装置(设备)和计算机可读介质可以:将一个或多个水平翻转应用于该图像和/或该不同图像以产生一个或多个经翻转图像;以及基于该一个或多个经翻转图像来计算一个或多个光流预测损失。在一些示例中,训练该网络进一步基于该一个或多个光流预测损失。
8.在一些方面,上述方法、装置(设备)和计算机可读介质可以:将一个或多个旋转应用于该图像和/或该不同图像以产生一个或多个经旋转图像;以及基于该一个或多个经旋转图像来计算一个或多个光流预测损失。
9.在一些方面,训练该网络可以进一步基于针对该图像和该被遮挡图像中没有对应
关系的部分计算的一个或多个遮挡掩模。
10.在一些示例中,该图像序列可以包括经标记图像对。在一些情形中,每个经标记图像对可以包括该图像序列内的一组连贯图像。在一些情形中,训练该网络可以进一步基于来自该图像序列的经标记图像对。
11.在一些方面,上述方法、装置(设备)和计算机可读介质可以:生成附加的经标记图像对,每个附加的经标记图像对包括该图像序列内的一组非连贯图像。在一些情形中,训练该网络进一步基于该附加的经标记图像对。
12.在一些示例中,该网络可以包括卷积神经网络。在一些情形中,该网络可以包括递归全对场变换网络。
13.在一些示例中,该匹配图预测该图像与该被遮挡图像之间的哪些像素匹配以及该图像与该被遮挡图像之间的哪些像素不匹配。
14.在一些方面,该被遮挡图像包括以下至少一者:该图像,其中遮挡被应用于该图像;以及该图像序列中的一不同图像,其中该遮挡被应用于该不同图像。在一些情形中,上述方法、装置(设备)和计算机可读介质可以包括:生成该遮挡;以及将该遮挡应用于该图像和该不同图像中的至少一者。在一些示例中,该遮挡可以包括奶牛-掩模遮挡。
15.在一些方面,以上描述的每个装置是或包括相机、移动设备(例如,移动电话或所谓的“智能电话”或其他移动设备)、智能可穿戴设备、扩展现实设备(例如,虚拟现实(vr)设备、增强现实(ar)设备、或混合现实(mr)设备)、个人计算机、膝上型计算机、服务器计算机、自主交通工具、或者其他设备。在一些方面,该装置包括用于捕获一个或多个视频和/或图像的一个或多个相机。在一些方面,该装置进一步包括用于显示一个或多个视频和/或图像的显示器。在一些方面,上述装置可以包括一个或多个传感器。
16.本概述既非旨在标识出要求保护的主题内容的关键特征或必要特征,亦非旨在单独用于确定要求保护的主题内容的范围。本主题内容应当参考本专利的整个说明书的合适部分、任何或所有附图、以及每项权利要求来理解。
17.前述内容以及其他特征和实施例将在参考以下说明书、权利要求书和所附附图时变得更明显。
18.附图简述
19.本技术的解说性实施例在下文参照以下附图进行了详细的描述:
20.图1是解说根据本公开的一些示例的示例图像处理系统的简化框图;
21.图2是解说根据本公开的一些示例的估计光流的示例过程的示图;
22.图3a-图3d是解说根据本公开的一些示例的用于流估计的示例模型架构的示图;
23.图4是解说根据本公开的一些示例的用于光流的示例递归全对场变换网络架构的示图;
24.图5是解说根据本公开的一些示例的示例流预测精化的示图;
25.图6a是解说根据本公开的一些示例的次要遮挡场景的示图;
26.图6b是解说根据本公开的一些示例的主要遮挡场景的示图;
27.图7是解说根据本公开的一些示例的用于监督学习的示例经标记和未经标记数据集的示图;
28.图8是解说根据本公开的一些示例的用经旋转图像来训练的示例模型以生成分类
预测的示图;
29.图9a解说了根据本公开的一些示例的用于针对光流的监督学习的经标记和未经标记帧对;
30.图9b是解说根据本公开的一些示例的针对光流的监督学习实现的示例迫零和随机移位的示图;
31.图10解说了根据本公开的一些示例的使用一致性规章的示例半监督学习;
32.图11是解说根据本公开的一些示例的用于自监督学习的示例过程的示图;
33.图12a-图12c是解说根据本公开的一些示例的通过考虑遮挡使用分段信息来训练用于流估计的模型的示例的示图;
34.图13a和图13b是示出根据本公开的一些示例的针对光流的半监督学习的示例的示图;
35.图14示出了根据本公开的一些示例的用于针对流估计的监督学习的示例奶牛-掩模遮挡;
36.图15示出了根据本公开的一些示例的针对光流的示例自监督学习过程的示图;
37.图16是解说根据本公开的一些示例的用于针对光流估计的监督学习的示例过程的流程图;以及
38.图17解说了根据本公开的一些示例的示例计算设备架构。
39.详细描述
40.下文提供了本公开的某些方面和实施例。这些方面和实施例中的一些可以独立应用并且它们中的一些可以组合应用,这对本领域技术人员来说是显而易见的。在下面的描述中,出于解释的目的,阐述了具体细节以便提供对本技术的实施例的透彻理解。然而,显然的是,可以在没有这些具体细节的情况下实施各实施例。各附图和描述不旨在是限制性的。
41.以下描述仅提供了示例实施例,并且并不旨在限定本公开的范围、适用性或配置。相反,对示例实施例的以下描述将向本领域技术人员提供用于实现示例实施例的赋能描述。应当理解,在不脱离所附权利要求书中阐述的本技术的精神和范围的情况下,可以对元件的功能和布置作出各种改变。
42.光流是计算机视觉中的活跃研究领域。光流可以表示顺序图像之间的像素级(例如,密集)对应关系。通过执行光流技术,系统可以预测两个连贯图像(i
t
,i
t 1
)之间的像素级流图(v
t
)。光流可以被用于各种任务,诸如举例而言但不限于视频压缩、动作识别、对象跟踪、检测、视觉跟踪、以及其他视频任务。对光流的改进可以帮助提高使用光流的任务和算法的性能。然而,光流存在各种问题或挑战。例如,场景中某些对象的遮挡会对光流产生巨大挑战。另一示例挑战是缺乏数据,诸如用于训练基于机器学习的光流系统的数据。例如,用于光流的可用数据集受限,因为标记像素级注释会消耗大量成本和时间。
43.在遮挡的情形中,当一些对象在两个相继图像之间消失或出现时,会出现问题。在该情形中,连贯图像(i
t
,i
t 1
)与像素级流图(v
t
)之间的相关性变得不匹配(i
t
(x;y)≈i
t 1
(x v
t
(u),y v
t
(υ)))。在用于解决遮挡问题的一个示例办法中,系统可以忽略遮挡区域并使用遮挡掩模来训练非遮挡区域。然而,排除遮挡区域会具有缺陷。例如,通常最好在机器学习系统的评估阶段中计算遮挡的流。用于解决遮挡问题的另一示例办法是使用分段信息。例
如,可以实现的示例算法是递归全对场变换(raft)算法,该算法描述于zachary teed和jia deng的“raft:recurrent all-pairs field transforms for optical flow”(arxiv预印本arxiv:2003.12039,2020),其全部内容明确纳入本文并用于所有目的。raft使用上下文网络考虑分段信息。一个分段中的各像素可具有相似的流,并且考虑到这一点,可以精化遮挡区域中不正确预测的流。然而,如图5中所示并在下文进一步讨论的,当图像中的大部分区域被遮挡时,即使该图像中的匹配部分的小部分也会被不正确地精化,从而导致较差性能。
44.如前面提到的,光流的另一示例挑战涉及数据分布受限,如图7中所示。由于像素级注释可能非常昂贵,因此大多数数据集仅提供连贯图像i
t
与i
t 1
之间的真值。此外,各数据集的图像频度率对于每个数据集是不同的。例如,mpi sintel flow数据集包括24帧每秒(fps),而来自哥卡尔斯鲁厄理工学院和芝加哥丰田工业大学的kitti数据集(在http://www.cvlibs.net/datasets/kitti可获得)包括10fps。
45.本文描述了用于针对光流使用监督学习(例如,自监督学习、半监督学习和/或混合监督学习)(例如,以训练机器学习系统(诸如神经网络)以执行光流)的系统、过程(或方法)和计算机可读介质(本文中统称为“系统和技术”)。本文描述的针对光流的无监督学习、半监督学习和混合监督学习技术可以解决上述遮挡和受限数据问题,并提供改进的光流性能。在一些示例中,可以实现自监督学习过程以解决遮挡问题。在一些示例中,可以实现半监督学习过程以使用各种数据对(例如,图像对)。在一些示例中,可以实现混合监督学习过程。混合监督学习可以包括自监督学习、半监督学习、自监督学习和半监督学习的组合(和/或其各方面)、和/或半监督学习和/或自监督学习的特定或混合实现。
46.在一些自监督学习示例中,系统可以生成遮挡。系统可以将该遮挡应用于连贯图像(例如,图5和图7中的图像i
t
、i
t 1
)。在一些示例中,可以添加附加通道,系统可以使用该附加通道来预测匹配图。在一些示例中,系统可以使用自监督学习来预测顺序图像之间的匹配区域。在一些情形中,系统可以根据图像i
t
与扭曲图像(i
t
(x;y),i
t 1
(x v
t
(u),y v
t
(υ)))之间的差异来生成伪遮挡真值。系统可以将这两个图像之间差异较大的区域设置为遮挡区域。系统可以将遮挡区域从训练中排除以在更好被映射或更好映射的区域上执行训练。在一些情形中,图像i
t
与扭曲图像i
t 1
之间的差异可以是非常小的值。然而,诸如由于光线差异或连续空间中值的变化,可能存在误差。为了解决这种潜在问题,在一些实现中可以设置遮挡阈值。在一些情形中,遮挡阈值可以是试探性的。在一些情形中,可以直接训练遮挡区域。使用此类技术,系统可以通过直接创建遮挡来创建数据,并且可以在训练机器学习系统中使用这些遮挡。
47.在一些示例中,系统可以利用一致性正则化过程来进行半监督学习。一致性正则化过程可以被用于分类,并且在回归中可以表现良好。在一些示例中,系统可以针对光流执行基于旋转一致性的半监督学习过程。例如,水平翻转和随机旋转可以被用于半监督学习。在将水平翻转和/或随机旋转应用于经旋转图像(r(i
t
),r(i
t k
))之后,机器学习系统(例如,神经网络)的输出可以被恢复在一些示例中,该输出可以与原始值的输出相同或相似。在一些示例中,可以应用旋转和恢复的输出以实现图像(i
t
)、(i
t k
)之间的学习。
48.本文参照附图描述本公开的进一步方面。
49.图1是解说根据一些示例的示例图像处理系统100的示图。图像处理系统100可以执行各种图像和视频处理任务并生成各种图像和视频处理结果,如本文所述。例如,图像处理系统100可以执行针对光流的自监督学习、半监督学习和混合监督学习,如本文进一步所述。在一些示例中,图像处理系统100可以实现一个或多个模型122(诸如一个或多个神经网络)以执行针对光流的自监督学习、半监督学习和混合监督学习。在一些示例中,图像处理系统100可以执行各种视频和/或图像处理任务,诸如举例而言,动作识别、对象识别、视频压缩、视觉跟踪、生成色度键控效果、特征提取、图像识别、机器视觉、和/或任何其他图像/视频处理任务。
50.在图1中所示的示例中,图像处理系统100包括图像传感器102、存储设备108、计算组件110、图像处理引擎120、一个或多个模型122、以及渲染引擎124。图像处理系统100可以可任选地包括(诸)另外的图像传感器104和/或一个或多个其他传感器106,诸如惯性测量单元(imu)、雷达、光学传感器、光检测和测距(lidar)感测设备、运动传感器、和/或任何其他类型的传感器。例如,在双相机或图像传感器应用中,图像处理系统100可以包括前置和后置图像传感器(例如,图像传感器102和/或图像传感器104)。
51.图像处理系统100可以是一个或多个计算设备的一部分。在一些示例中,图像处理系统100可以是电子设备(或多个电子设备)的一部分,诸如相机系统(例如,数码相机、ip相机、视频相机、安全相机等)、电话系统(例如,智能电话、蜂窝电话、会议系统等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视机、显示设备、数字媒体播放器、游戏控制台、视频流送设备、智能可穿戴设备、自主系统、汽车中的计算机、iot(物联网)设备、或(诸)任何其他合适的电子设备。
52.在一些实现中,图像传感器102、图像传感器104、其他传感器106、存储设备108、计算组件110、图像处理引擎120、一个或多个模型122、和/或渲染引擎124可以是相同计算设备的一部分。例如,在一些情形中,图像传感器102、图像传感器104、其他传感器106、存储设备108、计算组件110、图像处理引擎120、一个或多个模型122、以及渲染引擎124可以被集成到智能电话、膝上型设备、平板计算机、智能可穿戴设备、游戏系统、相机系统、和/或任何其他计算设备中。然而,在一些实现中,图像传感器102、图像传感器104、其他传感器106、存储设备108、计算组件110、图像处理引擎120、一个或多个模型122、和/或渲染引擎124可以是两个或更多个单独计算设备的一部分。
53.图像传感器102和104可以是任何图像和/或视频传感器或捕获设备,诸如数码相机传感器、视频相机传感器、智能电话相机传感器、电子装置(诸如电视机或计算机、相机等)上的图像/视频捕获设备。在一些情形中,图像传感器102和104可以是相机或计算设备(诸如数码相机、视频相机、ip相机、智能电话、智能电视机、游戏系统等)的一部分。在一些示例中,图像传感器102可以是后置图像捕获设备(例如,设备背面或后面的相机、视频和/或图像传感器),并且图像传感器104可以是前置图像捕获设备(例如,设备正面的相机、图像和/或视频传感器)。在一些示例中,图像传感器102和104可以是双相机组装件的一部分。图像传感器102和104可以捕获图像和/或视频内容(例如,原始图像和/或视频数据),该图像和/或视频内容随后可以由计算组件110、图像处理引擎120、一个或多个模型122、和/或渲染引擎124来处理,如本文所述。
54.其他传感器106可以是用于检测和测量诸如距离、运动、位置、深度、速度、灯光、声音等信息的任何传感器。传感器的非限制性示例包括lidar、陀螺仪、加速度计、磁力计、imu等。在一个解说性示例中,传感器106可以是被配置成感测或测量运动的imu。在一些情形中,图像处理系统100可以包括其他传感器,诸如机器视觉传感器、智能场景传感器、语音识别传感器、冲击传感器、位置传感器、倾斜传感器、光传感器等。
55.存储设备108可以是用于存储数据(诸如举例而言图像或视频数据)的(诸)任何存储设备。此外,存储设备108可以存储来自图像处理系统100的任何组件的数据。例如,存储设备108可以存储来自传感器102、104、106中任一者的数据或测量、来自计算组件110的数据(例如,处理参数、输出图像、计算结果等)、和/或来自图像处理引擎120、一个或多个模型122和渲染引擎124中任一者的数据(例如,输出图像、处理结果等)。在一些示例中,存储设备108可以包括缓冲器以存储由计算组件110处理的数据(例如,图像/视频数据)。
56.在一些实现中,计算组件110可以包括中央处理单元(cpu)112、图形处理单元(gpu)114、数字信号处理器(dsp)116、和/或图像信号处理器(isp)118。计算组件110可以执行各种操作,诸如图像识别、光流估计、监督训练(例如,自监督训练、半监督训练、混合监督训练等)、视频分段、图像增强、对象或图像分段、计算机视觉、图形渲染、增强现实、图像/视频处理、压缩、传感器处理、识别(例如,文本识别、对象识别、特征识别、跟踪、模式识别、动作识别、场景变化识别等)、视差检测、视频译码、机器学习、过滤、景深效果计算或渲染、和/或本文所描述的各种操作中的任一者。在一些示例中,计算组件110可以实现图像处理引擎120、一个或多个模型122、以及渲染引擎124。在其他示例中,计算组件110还可以实现一个或多个其他处理引擎。
57.此外,图像处理引擎120、一个或多个模型122、以及渲染引擎124的操作可以由一个或多个计算组件110来实现。在一个解说性示例中,图像处理引擎120和一个或多个模型122可以由cpu 112、dsp 116和/或isp 118实现,并且渲染引擎124可以由gpu 114实现。在一些情形中,计算组件110可以包括其他电子电路或硬件、计算机软件、固件、或其任何组合以执行本文描述的各个操作中的任一者。
58.在一些情形中,计算组件110可以接收由图像传感器102和/或图像传感器104捕获的数据(例如,图像数据,视频数据等),并且处理该数据以生成输出图像或帧。在一些示例中,计算组件110可以接收由图像传感器102捕获的视频数据(例如,一个或多个帧等等),执行光流估计、半监督学习、自监督学习、混合监督学习、和/或任何其他视频任务。图像或帧可以是每像素具有红色、绿色和蓝色分量的红绿蓝(rgb)图像或帧;每像素具有亮度分量和两个色度(色彩)分量(红色色度和蓝色色度)的亮度、红色色度、蓝色色度(ycbcr)图像或帧;或任何其他合适类型的彩色或单色图片。
59.计算组件110可以实现图像处理引擎120和一个或多个模型122以执行各种图像/视频处理操作。例如,计算组件110可以实现图像处理引擎120和一个或多个模型122以执行视频任务,诸如举例而言,光流估计、半监督学习、自监督学习、混合监督学习、特征提取、压缩、识别、计算机视觉任务、检测任务(例如,对象、动作、姿势、面部、人、场景等)等。计算组件110可以处理由图像传感器102和/或104捕获的数据(例如,图像、帧、视频等)、存储设备108中的数据、从远程源(例如,远程相机、服务器或内容提供方)接收的数据、从源组合获得的数据、其任意组合和/或其他数据。
60.在一些示例中,计算组件110可以执行半监督学习、自监督学习、混合监督学习和光流估计,如本文所述。在一些情形中,计算组件110可以实现一个或多个模型122以执行半监督学习、自监督学习、混合监督学习和光流估计,如本文所述。在一些示例中,一个或多个模型122可以包括一个或多个神经网络。该一个或多个神经网络可以包括任何网络架构,诸如举例而言但不限于卷积神经网络(cnn)、flownet网络、递归全对场变换(raft)网络等。
61.尽管图像处理系统100被示为包括某些组件,但本领域普通技术人员将领会,图像处理系统100可包括比图1中所示的那些组件更多或更少的组件。例如,在一些实例中,图像处理系统100可以包括一个或多个存储器设备(例如,ram、rom、高速缓存等)、一个或多个联网接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、和/或图1中未示出的其他硬件或处理设备。下文将参照图17来描述可以用图像处理系统100实现的计算设备和硬件组件的解说性示例。
62.光流是携带对帧序列上的运动的洞察的密集(像素级)场。在一些示例中,光流可以包括对象、表面、边缘等在视觉场景中的运动模式。运动可以由例如观察者与场景之间的相对运动引起。光流可以被用于广泛的计算机视觉任务中,包括自主驾驶、动作识别、对象跟踪、视频分段、视频压缩等。在一些情形中,光流可以协助帧到帧的运动洞察以帮助各种设备(诸如举例而言,手持设备、移动电话、个人计算机、相机系统等)上的计算机视觉任务。
63.图2是解说估计光流的示例过程的示图。如图所示,给定图像(i
t
)202和图像)202和图像流场可以被估计如下:v
t
=f
θ
(i
t
,i
t 1
)。在一些示例中,可以生成流估计图210、212。图像(i
t
)202的流网格203示出了点从第一位置到第二位置的移动(示为箭头)。图像(i
t 1
)204的流网格205示出该点处于第二位置。流估计图210、212可以包括与方向和幅度相对应的流估计数据。例如,流估计图210指示点已在垂直(u)方向上移动了两个单位(例如,像素或其他单位),并且流估计图212指示点已在水平(v)方向上移动了两个单位(例如,像素或其他单位)。
64.可以实现用于流估计的各种模型。图3a和图3b是解说用于流估计的示例模型架构的示图。来自图3a的模型302表示基于cnn架构的flownetsimple模型,并且来自图3a的模型304表示基于cnn架构的flownetcorr模型。模型302和304包括精化部分306,如本文进一步所述。在一些情形中,可以端到端地训练模型302和304。模型302被示为处理图像320,并且模型304被示为处理图像320和图像322。
65.如图3b中所示,模型310包括堆叠架构,该堆叠架构包括用中间光流对图像322进行扭曲。为了计算较大位移的光流,在模型310中组合多个flownet。在该示例中,大括号指示输入的级联。亮度误差可以是图像320与用先前估计的流扭曲的图像322之间的差异。为了处置小的位移,在开始时和各上卷积之间的卷积中将较小步幅(例如,在卷积操作中滤波器移动或迭代的量)引入到flownetsimple架构(例如,模型302)中。随后应用融合网络以提供最终估计。
66.图3c和图3d是解说用于流估计的附加示例模型架构的示图。图3c的模型330是3级金字塔网络。金字塔网络(spynet)可以将粗略到精细金字塔方法与深度学习相组合。在小的图像尺度下,网络可以计算较大位移。模型330被示为正在执行推断(相比于模型330正被训练的情况)。模型330的网络g0可以使用流分辨率图像来计算金字塔最高级别(对
应于最小图像)处的残差流υ0。在每一金字塔级别,模型330的网络gk可以计算残差流υk,该残差流υk传播到金字塔的后续较低级别中的每一级别以获得最高分辨率下的流v2。
67.图3d的模型350是用于光流的卷积神经网络(cnn),其使用金字塔、扭曲和成本量(例如,pwc网络(pwc-net),其中p对应于金字塔,w对应于扭曲、并且c对应于成本量)。模型350包括可以实现粗略到精细办法的模型352。模型350还包括为pwc网络的模型354。在模型352中,图像金字塔和精化在一个金字塔级别处是通过执行能量最小化来进行的。在模型354中,特征金字塔和精化在一个金字塔级别处是通过pwc网络来进行的。pwc网络使用上采样流来扭曲第二图像的特征,计算成本量,并使用cnn来处理成本量。后处理和上下文网络是可任选的。图3d中所解说的箭头指示流估计的方向。在箭头的相反方向上构造金字塔。在一些示例中,模型354可以实现图3a中所示的模型302或304中的精化部分306。
68.图4是解说用于光流的示例递归全对场变换(raft)深度网络架构400的示图。如图所示,帧402、帧404和帧406由网络架构400处理以生成光流输出408。在一些示例中,架构400可以执行特征提取,计算视觉相似性,并执行迭代更新。视觉相似性可以包括相关性金字塔和相关性查找。
69.在一些示例中,raft使用上下文网络410考虑分段信息。一个分段中的各像素可具有相似的流。考虑到这一点,遮挡区域中不正确预测的流被精化。然而,在一些情形中,如图5中所示,当大部分区域被遮挡时,即使图像中匹配部分的小部分也可能被不正确地精化,从而导致较差性能。例如,参照图5,当图像504的大部分被遮挡时(如图5中所示),由机器学习模型506(例如,raft神经网络,诸如图4中所示的)生成的经预测光流508可能具有由于对图像502与504之间的匹配部分的不正确精化导致的不准确性。
70.此外,在一些情形中,虽然图像的次要区域(例如,小于图像的50%)中的光流可以变成图像的主要区域(例如,大于图像的50%)中的光流,但可能没有关于主要区域是否被遮挡的考虑。例如,图6a是示出次要遮挡场景600的示图。图6b是示出主要遮挡场景610的示图。在次要遮挡场景600中,图像604(i
t 1
)包括相对于图像602(i
t
)而言较小的遮挡608。如图像606中所示,分段中的大部分像素(对应于未被遮挡像素,图6a中用阴影线示出)被正确地确定。然而,分段中的数个像素(对应于被遮挡像素,图6a中用水平线示出)被不正确地确定。参照图5,在一些情形中,真值510和机器学习模型506(例如,raft网络)可以帮助精化较小遮挡(例如,图6a中所示的较小遮挡608)中的次要区域。
71.在图6b中所示的主要遮挡场景610中,图像604包括相对于图像602而言较大的遮挡612。如图所示,图像606中的大部分像素不正确(对应于被遮挡像素,图6b中用水平线示出),并且正确预测的区域(对应于未被遮挡像素,图6b中用阴影线示出)会根据不正确预测的区域而变化。本文所描述的自监督学习办法可以解决这些和其他问题。
72.此外,参照图5,光流的真值510可以包括或基于图像502和504的序列。然而,在一些示例中,可能存在附加的图像序列,并且这些附加的图像序列可以被用于训练机器学习模型506(例如,raft网络)。附加的图像序列可以针对较大位移来训练机器学习模型506。附加的图像序列还可以利用半监督学习。
73.如前面提到的,光流的另一挑战涉及(例如,用于训练的)数据可用性受限。由于像素级注释可能非常昂贵,因此大多数数据集仅提供连贯图像i
t
与i
t 1
之间的真值。例如,在图7中,数据集可能仅提供图像702与704、704与706、706与708、以及708与710之间的真值
720。此外,各数据集的图像频度速率对于每个数据集可能是不同的。例如,如上面提到的,mpi sintel flow数据集包括24fps,而kitti数据集包括10fps。
74.然而,如图7中所示,存在各个图像的其他可能数据对。例如,除了图像702和704的数据对之外,还可以存在图像702和706、图像702和708、图像702和710等等的数据对。相应地使用附加数据对可以提供半监督学习的优点并实现各种频度速率的数据学习。
75.本文所描述的系统和技术可以实现自监督学习、半监督学习、混合监督学习和遮挡掩蔽,以获得更准确和更高质量的光流估计。如前面解释的,流估计可遭受由遮挡和/或受限数据集引起的性能问题。光流数据注释可以包括每像素值(例如,针对x和y维度的浮点位移)并且可能是昂贵且困难的。数据集可以包括真实世界图像数据和/或合成图像数据(例如,计算机生成的,诸如动画)。由于数据注释的困难,真实世界数据集具有非常有限数目的训练样本。合成数据集通常是基于动画的,并且可能具有夸张和不切实际的对象和场景移动。合成数据集在被用于训练时会造成较差性能。例如,由于诸如域移位等问题,依赖合成数据集进行训练会产生次优结果。
76.在一些示例中,可以实现自监督学习过程以解决遮挡问题。在一些情形中,可以使用各个数据对来实现半监督学习过程。在一些自监督学习示例中,可以生成遮挡并应用于连贯图像(i
t
,i
t 1
)中的图像。可以添加附加通道以预测匹配图。在一些示例中,可以使用自监督学习来预测顺序图像之间的匹配区域。在一些情形中,可以根据图像i
t
与扭曲图像(i
t
(x;y),i
t 1
(x v
t
(u),y v
t
(υ)))之间的差异来生成伪遮挡真值。这两个图像之间差异较大(例如,大于阈值差异,诸如10%、20%等)的区域可以被设置为遮挡区域并从训练中排除,以在更好被映射或更好映射的区域上执行训练。在一些情形中,图像i
t
与扭曲图像i
t 1
之间的差异可以是非常小的值。然而,由于光线差异或连续空间中值的变化,可能存在误差。可以设置遮挡阈值。遮挡阈值可以是启发式的,可以直接训练,和/或以其他方式确定。数据可以通过直接创建遮挡并在训练中使用这些遮挡来创建。
77.例如,自监督学习可以被用于为未经标记数据设置名义任务,并可使用这些名义任务来训练神经网络。经训练网络可以帮助实现更高级的场景理解。例如,网络f()可以根据输入数据x如下预测y分类:y

f(x)。在一些情形中,图像可以被随机旋转(z),并且可以与分类预测一起如下同时计算该旋转预测一起如下同时计算该旋转预测
78.如果网络不仅使用分类进行训练,而且还使用旋转了各个量的图像进行训练,则该网络可以被训练成在更高级更好地理解图像。例如,图8示出了解说示例模型810的示图,该示例模型810通过图像802旋转0度(经旋转图像803)、90度(经旋转图像805)、180度(经旋转图像807)和270度(经旋转图像809)来训练以生成分类预测。
79.在半监督学习示例中,可以使用一致性正则化过程来进行半监督学习。一致性正则化过程可以被用于分类。一致性正则化过程可以在回归中表现良好。在一些示例中,可以实现基于旋转一致性的半监督学习过程来计算光流。例如,水平翻转和随机旋转可以被用于半监督学习。在将水平翻转和/或随机旋转应用于经旋转图像(r(i
t
),r(i
t k
))之后,神经网络的输出可以被恢复在一些示例中,该输出可以与原始值的输出相同或相似。在一些示例中,可以应用旋转和恢复的输出以实现图像(i
t
)、(i
t k
)之间的学习。
80.在一些示例中,半监督学习可以被用于减少较大注释成本。如图9a中所示,在一些情形中,示例半监督学习过程900可以通过使用经标记数据902和未经标记数据904两者来提高性能。在一些情形中,半监督学习可以被用于分类。
81.在一个解说性示例中,半监督学习可以实现一致性正则化算法。一致性正则化方法可以是简单的并且可以提供良好性能。一致性正则化可以提供对相同数据(x)的各种扰动并使每个输出相同,例如,lu=d(f(x),f(x

))。应用一致性正则化可以通过平滑流形来帮助提高性能。在一些示例中,决策边界可以穿过低密度区域。lu可以帮助穿过未经标记数据分布中的低密度区域,而不是经标记数据分布中的低密度区域。可以与一致性正则化损失一起应用的总损失(l
total
(l

))如下:l
total
=ls w(t)*lu。
82.半监督学习可以被应用于分类以及其他领域,诸如对象检测。例如,用于对象检测的基于一致性的半监督学习可以允许一致性正则化损失不仅对于分类表现良好而且对于定位表现良好。图10解说了使用一致性正则化执行半监督学习的示例。如图所示,使用一致性正则化,模型1010可以标识图像1002和1004的损失1012。在一些示例中,一致性损失l
con
(l
一致性
)可以等于lcls(l
分类
) l
loc
(l
定位
),并且总损失l
total
可以等于l
sup
(l
监督
) γ*lcon。在一些情形中,具有一致性正则化的未经标记数据可以将决策边界推至低密度区域。一致性正则化可以帮助分类以及回归。
83.利用自监督学习、半监督学习和/或混合监督学习,可以在图像(i
t
,i
t 1
)之间预测光流(v
t
)。图像可以包括三个通道诸如红色、绿色和蓝色(rgb)通道。光流可以包括分别沿x和y轴移动的u、v通道在示例自监督学习场景中,遮挡和随机移位方法可以被用于训练更多不同的图像对。被遮挡图像和遮挡掩模分别被标示为o(i)和m(o)。随机移位可以被标示为rs(
·
)。在自监督学习场景中,可以实现一个或多个图像的水平翻转和随机旋转。水平翻转的图像可以被标示为h(i),并且随机旋转的图像可以被标示为r(i)。对水平翻转和随机旋转的图像的恢复可以被表示为h(
·
)-1
、r(
·
)-1
。此外,每个预测可以由波浪号表示。
84.在一些自监督学习场景中,可以使用相同图像来生成匹配图的真值。例如,如果确定相同图像(i
t
,i
t
)的光流,则光流(v
t
)应当为零。即使遮挡被添加到一个图像,诸如基于下式光流也应当为零:以及
85.通过将所生成的遮挡应用于图像,可以创建匹配图(m(o))和被遮挡图像的真值。网络的输出可以从两个通道变成三个通道并且可以在附加通道中预测遮挡。通过训练这些匹配区域,可以以关于哪些部分匹配和不匹配的更高级场景理解来训练网络。另外,通过计算经预测匹配图(例如,在门控递归单元(gru)中),遮挡区域的精化可以是持续可能的。匹配损失(l
match
(l
匹配
))可以由所生成的伪真值和预测来计算,并且总损失可以包括raft损失和匹配损失的总和,如下所示:l
total
=l
raft

∝1·
l
match

86.图11解说了用于自监督学习的示例过程。在该示例中,模型1110可以处理图像1100(图11中被标示为图像i
t
)、被遮挡图像1102(图11中被标示为被遮挡图像o(i
t
))、以及随机移位的被遮挡图像1104(图11中被标示为随机移位的被遮挡图像rs(o(i
t
))。模型1110
可以包括阶段1112、1114、1116和1118。阶段1112、1114、1116和1118可以使用被遮挡图像1102和随机移位的被遮挡图像1104作为输入来生成光流图(v)和匹配图(m(o))。
87.在一些示例中,如图12a中所示,分段信息可以被用于通过考虑遮挡而不是忽略遮挡来训练模型。图像1204中的被遮挡区域1206可以使用分段信息来精化。光流1208可以基于图像1202和被遮挡图像1204来生成。如果图像1204中的被遮挡区域1206占据图像1204的较大部分,则良好拟合区域可能被不正确地改变,如图12b中所示。然而,如图12c中所示,可学习的匹配图(m
t
)可以被用于预测哪些像素匹配以及哪些像素不匹配。
88.在半监督学习中,经标记数据可以包括连续帧数据。然而,如本文所述,半监督学习可以被用于诸如基于下式训练更加不同的图像对:
89.当存在图像对i
t
和i
t k
时,仅当k为1时才可能存在标记。在一些示例中,即使在k超过1的图像对中,所提议的损失也可以实现训练。可以实现半监督学习的一致性正则化,并且可以应用水平翻转和随机旋转来给出扰动。
90.图13a和图13b是示出针对光流的半监督学习的示例的示图。在图13a和图13b的示例中,水平翻转(例如,0度、90度、180度、270度等)和/或随机旋转可以被应用于图像1302(i
t
)和图像1304(i
t k
)。在一些示例中,水平翻转和/或随机旋转可以诸如基于下式被应用于图像1302(i
t
)和图像1304(i
t k
):):
91.在图像1302和/或1304被翻转和/或旋转之后,i
t
和i
t k
的输出以及h(i
t
)和h(it k)(或r(i
t
)和r(it k))的输出可以诸如基于下式从相同模型1310计算出:)和r(it k))的输出可以诸如基于下式从相同模型1310计算出:
92.在一些情形中,可以应用对输出或的逆。在此类情形中,可以应用恢复。可以与相同(例如,是相同旋转),并且用于减少两个预测之间的差异的损失可以被定义如下:
93.如果值(lu)存在较大差异,则损失将发散。因此,在一些示例中,可以添加如下约束以防止这种发散:
[0094][0095]
在一些情形中,仅对正掩模取期望值。无监督损失项lu可以被定义为可以被定义为因此,监督损失(ls)可以被应用于经标记数据。无监督损失(lu)可以被应用于未经标记数据。总损失可以为如下:ltotal=ls
∝2·
lu。总损失还可以被表示为:总损失=raft损失 γ*一致性损失(其中一致性损失可以是无监督损失),如图13a和图13b中所示。
[0096]
图14示出了可以应用的示例奶牛-掩模遮挡1402、1404、1406、1408、1410和1412。在一些示例中,奶牛-掩模遮挡1402-1412可以被用于实现用于针对光流的监督学习的被遮挡图像,如先前解释的。奶牛-掩模遮挡1402-1412可以包括不同的大小、形状和/或配置。在一些示例中,可以使用具有任意形状和/或大小的参数化随机遮挡来增强性能和稳健性。
[0097]
图15示出了针对光流的示例自监督学习过程的示图。可以在示例模型1510的(多
个阶段1502、1504、1506和1508中的)每个阶段处理图像1502和被遮挡图像1522。被遮挡图像1522可以包括匹配区域(图15中用反向阴影线示出)和不匹配区域或遮挡(图15中用正向阴影线示出)。在一些示例中,示例模型1510可以包括raft模型,如先前所述。在每个阶段1502-1508,模型1510可以基于图像1520和被遮挡图像1522来生成光流估计和匹配图1512。此外,在一些示例中,模型1510可以在每个阶段1502-1508计算匹配损失以及在一些情形中不匹配损失(也被称为自监督损失)。
[0098]
在一些情形中,模型1510可以如下计算总损失:常规/非特定/非判别损失 λ*匹配损失。在一些示例中,λ可以是在总损失等式中实现的标量或超参数以惩罚和/或缩放损失。在一些示例中,常规/非特定/非判别损失项可以是可任选的。例如,在一些情形中,模型1510可以将总损失计算为λ*匹配损失。作为另一示例,模型1510可以将总损失计算为(α*常规/非特定/非判别损失) λ*匹配损失,其中α可以是标量项,其可以被设置为0以使常规/非特定/非判别损失项关闭或无效。
[0099]
在一些示例中,自监督学习过程可以对不存在对应关系的图像区域实现遮挡掩蔽和遮挡迫零。可以用匹配损失以及在一些情形中具有对损失项的附加掩模(例如,误差)的不匹配损失项执行联合优化。
[0100]
在一些情形中,自监督学习、半监督学习和/或混合监督学习可以实现可泛化的变换函数和帧配对。例如,参照图9a,帧910和912可以形成经标记对,帧912和914可以形成另一经标记对,并且帧914和916可以形成另一经标记对。可以为帧910-916生成附加的帧配对。例如,可以对帧910和914、帧910和916、帧912和916等等形成附加的帧配对。参照图9b,可以实现迫零920和随机移位910以用于监督学习。
[0101]
图16是解说用于使用本文所描述的技术来执行针对光流的监督学习的过程1600的示例的流程图。在一些示例中,监督学习可以包括半监督学习、自监督学习和/或混合监督学习。本文勾勒的操作是出于解说目的来提供的非限制性示例,并且可以以其任何组合来实现,包括去除、增加、或修改某些步骤的组合。
[0102]
在框1602,过程1600可以包括:获得与图像序列相关联的图像。在一些示例中,该图像序列可以包括经标记图像对。在一些情形中,每个经标记图像对可以包括该图像序列内的一组连贯图像。
[0103]
在框1604,过程1600可以包括:生成被遮挡图像。在一些方面,该被遮挡图像包括:该图像,其中遮挡被应用于该图像;和/或该图像序列中的一不同图像,其中该遮挡被应用于该不同图像。在一些情形中,过程1600可以包括:生成该遮挡。过程1600可以包括:将该遮挡应用于该图像和该不同图像中的至少一者。在一些示例中,该遮挡可以包括奶牛-掩模遮挡。
[0104]
在框1606,过程1600可以包括:基于该图像和该被遮挡图像的匹配(以及在一些情形中不匹配区域)来确定匹配图。如本文所述,在一些情形中,该匹配图预测该图像与该被遮挡图像之间的哪些像素匹配以及该图像与该被遮挡图像之间的哪些像素不匹配。在框1608,过程1600可以包括:基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项。该损失项包括至少匹配损失项。在一些情形中,该损失项还包括不匹配损失项。在如上所述的一个示例中,总损失可以被确定如下:ltotal=ls
∝2·
lu。总损失还可以被表示为:总损失=raft损失 γ*一致性损失(其中一致性损失可以是无监督损
失),如图13a和图13b中所示。
[0105]
在框1610,过程1600可以包括:基于该损失项来训练被配置成确定图像之间的光流的网络。例如,过程1600可以使用本文所描述的半监督学习、自监督学习和/或混合监督学习技术来训练网络(基于损失项)。网络可以包括任何类型的神经网络。在一些示例中,网络可以包括cnn。在一些示例中,网络可以包括raft网络。在一些示例中,训练网络可以进一步基于针对该图像和该被遮挡图像中没有对应关系的部分计算的一个或多个遮挡掩模。在一些情形中,训练网络可以进一步基于来自该图像序列的经标记图像对。
[0106]
在一些方面,过程1600可以包括:生成附加的经标记图像对。例如,每个附加的经标记图像对可以包括该图像序列内的一组非连贯图像(不连贯或不毗邻的图像)。在一些情形中,训练网络进一步基于该附加的经标记图像对。
[0107]
在一些情形中,过程1600可以包括:将一个或多个水平翻转应用于该图像和/或该不同图像以产生一个或多个经翻转图像。过程1600可以包括:基于该一个或多个经翻转图像来计算一个或多个光流预测损失。在一些情形中,过程1600可以包括:将一个或多个旋转应用于该图像和/或该不同图像以产生一个或多个经旋转图像。过程1600可以包括:基于该一个或多个经旋转图像来计算一个或多个光流预测损失。在一些示例中,训练网络进一步基于该一个或多个光流预测损失。
[0108]
在一些示例中,过程1600可以由一个或多个计算设备或装置来执行。在一个解说性示例中,过程1600可以由图1中所示的图像处理系统100和/或具有图1700中所示的计算设备架构1700的一个或多个计算设备来执行。在一些情形中,此类计算设备或装置可包括被配置成执行过程1600的步骤的处理器、微处理器、微计算机、或设备的其他组件。在一些示例中,此类计算设备或装置可包括被配置成捕获图像数据的一个或多个传感器。例如,计算设备可以包括智能电话、相机、头戴式显示器、移动设备、或其他合适设备。在一些示例中,此类计算设备或装置可包括被配置成捕获一个或多个图像或视频的相机。在一些情形中,此类计算设备可包括用于显示图像的显示器。在一些示例中,一个或多个传感器和/或相机与计算设备分开,在该情形中计算设备接收所感测的数据。此类计算设备可进一步包括被配置成传达数据的网络接口。
[0109]
计算设备的各组件可以用电路系统来实现。例如,各组件可包括和/或可使用电子电路或其他电子硬件(其可包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(gpu)、数字信号处理器(dsp)、中央处理单元(cpu)和/或其他合适的电子电路))来实现,和/或可包括和/或可使用计算机软件、固件、或其任何组合来实现,以执行本文描述的各种操作。计算设备可进一步包括显示器(作为输出设备的示例或作为输出设备的补充)、被配置成传达和/或接收数据的网络接口、其任何组合、和/或(诸)其他组件。网络接口可被配置成传达和/或接收基于网际协议(ip)的数据或其他类型的数据。
[0110]
过程1600被解说为逻辑流程图,该逻辑流程图的操作表示能够以硬件、计算机指令、或其组合来实现的操作序列。在计算机指令的上下文中,各操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时执行所叙述的操作。一般而言,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述各操作的顺序并不旨在被理解为是限制,并且任何数目的所描述操作可以按任何顺序被组合和/或并行进行以实现各过程。
[0111]
附加地,过程1600可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可被实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用)、由硬件或其组合来执行。如以上提及的,代码可以被存储在计算机可读或机器可读存储介质上,例如以包括可由一个或多个处理器执行的多条指令的计算机程序的形式。计算机可读或机器可读存储介质可以是非瞬态的。
[0112]
图17解说了可实现本文所描述的各种技术的示例计算设备的示例计算设备架构1700。例如,计算设备架构1700可以实现图1中所示的图像处理系统100的至少一些部分。计算设备架构1700的各组件被示为使用连接1705(诸如总线)彼此处于电通信。示例计算设备架构1700包括处理单元(cpu或处理器)1710以及将包括计算设备存储器1715(诸如只读存储器(rom)1720和随机存取存储器(ram)1725)的各种计算设备组件耦合到处理器1710的计算设备连接1705。
[0113]
计算设备架构1700可以包括与处理器1710直接连接、紧邻、或集成为处理器1710的一部分的高速存储器的高速缓存1712。计算设备架构1700可以将来自存储器1715和/或存储设备1730的数据复制到高速缓存1712以供处理器1710快速访问。以此方式,高速缓存可以提供避免处理器1710在等待数据时发生延迟的性能提升。这些和其他模块可控制或被配置成控制处理器1710执行各种动作。其他计算设备存储器1715也可供使用。存储器1715可以包括具有不同性能特性的多种不同类型的存储器。在一些情形中,处理器1710可以包括任何通用处理器以及存储在存储设备1730中并被配置成控制处理器1710的硬件或软件服务(例如,服务1732、1734和1736)。在一些情形中,处理器1710可以包括专用处理器,其中软件指令被纳入处理器设计中。处理器1710可以是自包含系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
[0114]
为了实现与计算设备架构1700的用户交互,输入设备1745可以表示任何数目的输入机构,诸如用于语音的话筒、用于姿势或图形输入的触敏屏、键盘、鼠标、运动输入、语音等等。输出设备1735也可以是本领域技术人员已知的多种输出机构中的一种或多种,诸如显示器、投影仪、电视机、扬声器设备。在一些实例中,多模态计算设备可使得用户能够提供多种类型的输入以与计算设备架构1700通信。通信接口1740可一般地管控和管理用户输入和计算设备输出。对在任何特定硬件布置上进行操作不存在任何限制,并且因此可以容易地替换此处的基础特征以随着它们被开发而获得改进的硬件或固件布置。
[0115]
存储设备1730是非易失性存储器,并且可以是硬盘或可以存储可由计算机访问的数据的其他类型的计算机可读介质,诸如磁带、闪存卡、固态存储器设备、数字多功能盘、盒式磁盘、随机存取存储器(ram)1175、只读存储器(rom)1720、或其混合物。存储设备1730可以包括用于控制处理器1710的软件、代码、固件等等。构想了其他硬件或软件模块。存储设备1730可以连接到计算设备连接1705。在一方面,执行特定功能的硬件模块可以包括存储在与必要的硬件组件(诸如处理器1710、连接1705、输出设备1735等)连接的计算机可读介质中的软件组件以执行功能。
[0116]
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备、以及能够存储、包含或携带(诸)指令和/或数据的各种其他介质。计算机可读介质可包括其中可存储数据并且不包括载波和/或无线地或通过有线连接传播的瞬态电子信号的非瞬态介质。非瞬态介质的示例可包括但不限于磁盘或磁带、光学存储介质(诸如压缩碟(cd)或数
字多功能碟(dvd))、闪存、存储器或存储器设备。计算机可读介质可具有存储于其上的代码和/或机器可执行指令,它们可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。可通过传递和/或接收信息、数据、自变量、参数或存储器内容来将代码段耦合至另一代码段或硬件电路。信息、自变量、参数、数据等可以经由任何合适的手段来传递、转发或传送,这些手段包括存储器共享、消息传递、令牌传递、网络传输等。
[0117]
在一些实施例中,计算机可读存储设备、介质和存储器可包括包含比特流等的线缆或无线信号。然而,在被提及时,非瞬态计算机可读存储介质明确排除诸如能量、载波信号、电磁波以及信号本身等介质。
[0118]
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的详尽理解。然而,本领域普通技术人员将理解,没有这些具体细节也可以实践这些实施例。为了清楚说明,在一些实例中,本发明的技术可以被呈现为包括各个功能框,它们包括设备、设备组件、以软件或者硬件和软件的组合实施的方法中的步骤或例程。可使用除了附图中示出和/或本文所描述的那些组件之外的附加组件。例如,电路、系统、网络、过程和其他组件可以用框图形式示为组件以避免使这些实施例湮没在不必要的细节中。在其他实例中,可以在没有必要的细节的情况下示出公知的电路、过程、算法、结构和技术以避免混淆各实施例。
[0119]
各个实施例在上文可被描述为过程或方法,该过程或方法被描绘为流程图、流程图示、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但很多操作可以并行地或并发地执行。另外,可以重新排列操作的次序。当过程的操作完成时过程被终结,但是过程可具有附图中未包括的附加步骤。过程可对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,它的终止可以对应于该函数返回调用方函数或主函数。
[0120]
根据上述示例的过程和方法可使用被存储的计算机可执行指令或以其他方式从计算机可读介质可用的计算机可执行指令来实现。这些指令可包括例如致使或以其他方式将通用计算机、专用计算机或处理设备配置成执行某一功能或功能群的指令和数据。所使用的计算机资源的各部分可通过网络访问。计算机可执行指令可以是例如二进制文件、中间格式指令(诸如汇编语言)、固件、源代码。可用于存储指令、在根据所描述的示例的方法期间所使用的信息和/或所创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、提供有非易失性存储器的usb设备、联网存储设备等。
[0121]
实现根据这些公开的各种过程和方法的设备可包括硬件、软件、固件、中间件、微代码、硬件描述语言、或其任何组合,并且可采用各种形状因子中的任一者。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可被存储在计算机可读或机器可读介质中。处理器可执行必要任务。各形状因子的典型示例包括:膝上型设备、智能电话、移动电话、平板设备、或其他小形状因子的个人计算机、个人数字助理、机架式设备、自立设备等。本文描述的功能性还可用外围设备或插卡来实施。作为进一步的示例,此类功能性还可被实现在在单个设备上执行的不同芯片或不同过程之中的电路板上。
[0122]
指令、用于传达这些指令的介质、用于执行它们的计算资源、以及用于支持此类计算资源的其他结构是用于提供本公开中所描述的功能的示例装置。
[0123]
在上述描述中,本技术的各方面参考其特定实施例来描述,但是本领域技术人员
将认识到本技术不限于此。因而,尽管本技术的解说性实施例已经在本文中详细描述,但是要理解,各个发明概念可以以其他各种方式被实施和采用,并且所附权利要求书不旨在被解释为包括这些变型,除非受到现有技术的限制。上述申请的各个特征和方面可单独地或联合地使用。此外,各实施例可以在超出本文所描述的那些环境和应用的任何数目的环境和应用中来利用而不背离本说明书的更宽泛的精神和范围。相应地,本说明书和附图应被认为是解说性的而非限定性的。出于解说的目的,按照特定顺序来描述各方法。应当领会,在替换实施例中,各方法可以按与所描述的不同顺序来执行。
[0124]
本领域普通技术人员将领会,本文所使用的小于(“《”)和大于(“》”)符号或术语可以分别用小于等于(“≤”)和大于等于(“≥”)符号来代替而不背离本说明书的范围。
[0125]
在各组件被描述为“被配置成”执行某些操作的情况下,可例如通过设计电子电路或其他硬件来执行操作、通过对可编程电子电路(例如,微处理器、或其他合适的电子电路)进行编程、或其任何组合来实现此类配置。
[0126]
短语“耦合到”指的是任何组件直接或间接地物理连接到另一组件,和/或任何组件直接或间接地与另一组件处于通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到该另一组件)。
[0127]
权利要求语言或叙述集合中的“至少一者”和/或集合中的“一者或多者”的其他语言指示该集合中的一个成员或该集合中的多个成员(以任何组合)满足该权利要求。例如,叙述“a和b中的至少一者”或“a或b中的至少一者”的权利要求语言意指a、b或者a和b。在另一示例中,叙述“a、b和c中的至少一者”或“a、b或c中的至少一者”的权利要求语言意指a、b、c、或a和b、或a和c、或b和c、或a和b和c。集合中的“至少一者”和/或集合中的“一者或多者”的语言并不将该集合限于该集合中所列举的项目。例如,叙述“a和b中的至少一者”或“a或b中的至少一者”的权利要求语言可以意指a、b或a和b,并且可附加地包括未在a和b的集合中列举的项目。
[0128]
结合本文公开的示例所描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、固件、或其组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本技术的范围。
[0129]
本文所描述的技术还可用电子硬件、计算机软件、固件、或其任何组合来实现。这些技术可以用各种设备中的任一种来实现,诸如通用计算机、无线通信设备手持机、或具有多种用途的集成电路设备,这些用途包括无线通信设备手持机和其他设备中的应用。被描述为模块或组件的任何特征可以一起被实现在集成逻辑器件中或被单独实现为分立但可相互操作的逻辑器件。如果以软件来实现,则这些技术可以至少部分地由包括程序代码的计算机可读数据存储介质来实现,这些程序代码包括指令,这些指令在被执行时执行上述方法、算法、和/或操作中的一者或多者。计算机可读数据存储介质可形成计算机程序产品的一部分,其可包括封装材料。计算机可读介质可包括存储器或数据存储介质,诸如随机存取存储器(ram)(诸如同步动态随机存取存储器(sdram))、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存、磁性或光学数据存储介
质等等。这些技术附加地或替换地可至少部分地由携带或传达指令或数据结构形式的程序代码的计算机可读通信介质来实现,这些指令或数据结构可由计算机访问、读取、和/或执行,诸如传播的信号或波。
[0130]
程序代码可由处理器执行,该处理器可包括一个或多个处理器,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)、或其他等效的集成或分立逻辑电路系统。此类处理器可被配置成执行本公开中所描述的任何技术。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。相应地,如本文所使用的术语处理器摂可以指任何上述结构、上述结构的任何组合、或适于实现本文所描述的技术的任何其他结构或装置。
[0131]
本公开的解说性示例包括:
[0132]
方面1:一种执行针对光流估计的监督学习的方法,该方法包括:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;以及基于该损失项来训练被配置成确定图像之间的光流的网络。
[0133]
方面2:如方面1的方法,其中,训练该网络进一步基于针对该图像和该被遮挡图像中没有对应关系的部分计算的一个或多个遮挡掩模。
[0134]
方面3:如方面1或方面2中任一者的方法,其中,该图像序列包括经标记图像对,每个经标记对包括该图像序列内的一组连贯图像,其中训练该网络进一步基于该经标记图像对。
[0135]
方面4:如方面3的方法,进一步包括:生成附加的经标记图像对,每个附加的经标记对包括该图像序列内的一组非连贯图像,其中训练该网络进一步基于该附加的经标记图像对。
[0136]
方面5:如方面1至4中任一者的方法,进一步包括:将一个或多个水平翻转应用于该图像以产生一个或多个经翻转图像;以及基于该一个或多个经翻转图像来计算一个或多个光流预测损失。
[0137]
方面6:如方面5的方法,其中,训练该网络进一步基于该一个或多个光流预测损失。
[0138]
方面7:如方面1至6中任一者的方法,进一步包括:将一个或多个旋转应用于该图像以产生一个或多个经旋转图像;以及基于该一个或多个经旋转图像来计算一个或多个光流预测损失。
[0139]
方面8:如方面1至7中任一者的方法,其中,该网络包括卷积神经网络。
[0140]
方面9:如方面1至8中任一者的方法,其中,该监督学习包括半监督学习、自监督学习和混合监督学习中的至少一者。
[0141]
方面10:如方面1至9中任一者的方法,其中,该匹配图预测该图像与该被遮挡图像之间的哪些像素匹配以及该图像与该被遮挡图像之间的哪些像素不匹配。
[0142]
方面11:如方面1至10中任一者的方法,其中,该被遮挡图像包括以下至少一者:该
图像,其中遮挡被应用于该图像;以及该图像序列中的一不同图像,其中该遮挡被应用于该不同图像。
[0143]
方面12:如方面11的方法,进一步包括:生成该遮挡;以及将该遮挡应用于该图像和该不同图像中的至少一者。
[0144]
方面13:如方面11的方法,其中,该遮挡包括奶牛-掩模遮挡。
[0145]
方面14:一种用于执行针对光流估计的监督学习的装置。该装置包括存储器(例如,在电路系统中实现)以及通信地耦合到该存储器的一个或多个处理器(一个处理器或多个处理器)。该一个或多个处理器被配置成:获得与图像序列相关联的图像;生成被遮挡图像;至少基于该图像和该被遮挡图像的匹配区域来确定匹配图;基于该匹配图来确定与关联于该图像和该被遮挡图像的光流损失预测相关联的损失项,该损失项包括匹配损失项;基于该损失项来训练被配置成确定图像之间的光流的网络。
[0146]
方面15:如方面14的装置,其中,训练该网络进一步基于针对该图像和该被遮挡图像中没有对应关系的部分计算的一个或多个遮挡掩模。
[0147]
方面16:如方面14或方面15中任一者的装置,其中,该图像序列包括经标记图像对,每个经标记对包括该图像序列内的一组连贯图像,并且该图像序列包括经标记图像对,每个经标记对包括该图像序列内的一组连贯图像。
[0148]
方面17:如方面16的装置,其中,该一个或多个处理器被配置成:生成附加的经标记图像对,每个附加的经标记对包括该图像序列内的一组非连贯图像,其中训练该网络进一步基于该附加的经标记图像对。
[0149]
方面18:如方面14至17中任一者的装置,其中,该一个或多个处理器被配置成:将一个或多个水平翻转应用于该图像以产生一个或多个经翻转图像;基于该一个或多个经翻转图像来计算一个或多个光流预测损失。
[0150]
方面19:如方面18的装置,其中,训练该网络进一步基于该一个或多个光流预测损失。
[0151]
方面20:如方面14至19中任一者的装置,其中,该一个或多个处理器被配置成:将一个或多个旋转应用于该图像以产生一个或多个经旋转图像;基于该一个或多个经旋转图像来计算一个或多个光流预测损失。
[0152]
方面21:如方面14至20中任一者的装置,其中,该网络包括卷积神经网络。
[0153]
方面22:如方面14至21中任一者的装置,其中,训练该网络进一步基于监督学习,并且其中,该监督学习包括半监督学习、自监督学习和混合监督学习中的至少一者。
[0154]
方面23:如方面14至22中任一者的装置,其中,该匹配图预测该图像与该被遮挡图像之间的哪些像素匹配以及该图像与该被遮挡图像之间的哪些像素不匹配。
[0155]
方面24:如方面14至23中任一者的装置,其中,该被遮挡图像包括以下至少一者:该图像,其中遮挡被应用于该图像;以及该图像序列中的一不同图像,其中该遮挡被应用于该不同图像。
[0156]
方面25:如方面24的装置,其中,该一个或多个处理器被配置成:将该遮挡应用于该图像和该不同图像中的至少一者。
[0157]
方面26:如方面24的装置,其中,该遮挡包括奶牛-掩模遮挡。
[0158]
方面27:如方面14至26中任一者的装置,其中,该一个或多个处理器包括神经处理
单元(npu)。
[0159]
方面28:如方面14至27中任一者的装置,其中,该装置是移动设备。
[0160]
方面29:如方面14至28中任一者的装置,进一步包括被配置成捕获一个或多个帧的相机。
[0161]
方面30:如方面14至29中任一者的装置,进一步包括被配置成显示一个或多个图像的显示器。
[0162]
方面31:一种存储指令的计算机可读存储介质,这些指令在被执行时使得一个或多个处理器执行方面1至30的任何操作。
[0163]
方面32:一种设备,包括用于执行方面1至30的任何操作的装置。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表