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

存储器引导的视频对象检测的制作方法

2021-11-09 17:06:00 来源:中国专利 TAG:


1.本公开一般涉及存储器引导的视频对象检测。更具体地,本公开涉及使用交织对象检测模型的系统和方法,该交织对象检测模型可以采用多个特征提取器网络和共享存储器层来分析视频的帧以检测和跟踪对象。


背景技术:

2.图像对象检测的最新进展已经遵循了越来越精细的卷积神经网络设计的趋势,以提高准确性或速度。尽管准确性最初是主要考虑并且继续是关键度量,但是随着深度学习技术已经越来越多地部署在实际应用中,提高这些模型的速度的重要性已经稳步上升。在速度谱的远端,已经进行了大量工作来允许神经网络在移动设备上运行,移动设备表示具有极端计算和能量约束的环境。然而,尽管有显著的进步,还没有任何单帧检测模型能够实现能够在移动设备上实时运行神经网络而没有实质上的准确性损失的最终目标。


技术实现要素:

3.本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中学习,或者可以通过实施例的实践来学习。
4.本公开的一个示例方面涉及一种用于检测视频中的对象的计算机实现的方法。该计算机实现的方法可以包括将视频输入到包括第一特征提取器网络、第二特征提取器网络和共享存储器层的交织对象检测模型中,所述视频包括多个帧。该方法还可以包括利用所述第一特征提取器网络分析所述视频的初始帧以确定初始化的特征集。该方法还可以包括将所述初始化的特征集存储在所述共享存储器层中。针对视频的一个或多个后续帧中的每一个,该方法还可以包括选择所述第一特征提取器网络或所述第二特征提取器网络来分析所述后续帧,由所选择的特征提取器网络分析所述后续帧以确定所述后续帧的一个或多个后续特征,至少部分地基于所述一个或多个后续特征来确定更新的特征集,以及至少部分地基于所述更新的特征集来检测所述后续帧中的对象。
5.本公开的另一示例方面涉及一种计算系统,包括一个或多个处理器和一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质共同存储指令,所述指令在由所述一个或多个处理器执行时使所述计算系统执行操作。所述操作可以包括将视频输入到包括多个特征提取器网络和共享存储器层的交织对象检测模型中。所述视频可以包括多个帧。针对一个或多个帧中的每一个,所述操作可以包括选择所述多个特征提取器网络中的一个特征提取器网络来分析所述一个或多个帧。操作还可以包括由所选择的特征提取器网络分析所述一个或多个帧以确定所述一个或多个帧的一个或多个特征。所述操作还可以包括至少部分地基于所述一个或多个特征和从存储在所述共享存储器层中的先前帧中提取的一个或多个先前提取特征来确定更新的特征集。所述操作还可以包括至少部分地基于所述更新的特征集来检测所述一个或多个帧中的对象。
6.本公开的另一示例方面涉及一种训练包括第一特征提取器网络、第二特征提取器
网络和共享存储器层的交织对象检测模型的计算机实现的方法。该方法可以包括将包括多个图像帧的训练视频输入到所述交织对象检测模型中。针对视频的一个或多个帧,该方法还可以包括随机选择所述第一特征提取器网络或所述第二特征提取器网络。该方法还可以包括用所选择的特征提取器网络分析所述训练视频的一个或多个图像帧以确定所述多个图像帧中存在的一个或多个检测到的对象。该方法还可以包括至少部分地基于地面实况检测与所述一个或多个检测到的对象的比较来确定检测损失函数。该方法还可以包括至少部分地基于所述检测损失函数来训练所述交织对象检测模型。
7.本公开的另一示例方面涉及训练用于对象检测模型的自适应交织策略网络的计算机实现的方法。所述对象检测模型可以包括所述自适应交织策略网络、被配置用于准确性的第一特征提取器网络、被配置用于速度的第二特征提取器网络、以及共享存储器层。该方法可以包括将训练数据输入到所述对象检测模型中以生成一个或多个批量的推断数据,每个批量的推断数据包括状态数据、动作数据和奖励函数数据。该方法还可以包括至少部分地基于所述一个或多个批量的推断数据来训练所述自适应交织策略网络。
8.本公开的其它方面涉及各种系统、方法、装置、非暂时性计算机可读介质和计算设备。
9.参考以下描述和所附权利要求,本公开的各种实施例的这些和其它特征、方面和优点将变得更好理解。并入本说明书中并构成本说明书的一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
10.在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
11.图1描绘了根据本公开的示例方面的示例交织对象检测模型;
12.图2描绘了根据本公开的示例方面的使用固定交织策略的示例交织对象检测模型;
13.图3描绘了根据本公开的示例方面的示例共享存储器层;
14.图4描绘了根据本公开的示例方面的使用自适应交织策略的示例交织对象检测模型;
15.图5描绘了根据本公开的示例方面的用于交织对象检测模型的示例同步模式和异步模式;
16.图6a描绘了根据本公开的示例方面的示例计算系统的框图;
17.图6b描绘了根据本公开的示例方面的示例计算设备的框图;
18.图6c描绘了根据本公开的示例方面的示例计算设备的框图;
19.图7描绘了根据本公开的示例实施例的用于检测视频中的对象的示例方法的流程图;
20.图8描绘了根据本公开的示例实施例的用于训练交织对象检测模型的示例方法的流程图;
21.图9描绘了根据本公开的示例实施例的用于训练对象检测模型的自适应交织策略网络的示例方法的流程图。
22.在多个图中重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
23.概述
24.一般而言,本公开涉及一种交织对象检测模型,该交织对象检测模型可以采用多个特征提取器网络和共享存储器层来分析视频的帧以检测和跟踪对象。具体地,交织对象检测模型可以包括第一特征提取器网络(例如,第一卷积神经网络)和第二特征提取器网络(例如,第二卷积神经网络),该第一特征提取器网络和第二特征提取器网络可以具有反映准确性与计算延迟之间的不同权衡的不同属性,例如,第一特征提取器网络可以是常规特征提取器网络,并且第二特征提取器网络可以是具有显著更短运行时间的轻量特征提取器网络。交织对象检测模型可以选择第一特征提取器网络或第二特征提取器网络中的任一个来分析视频中的帧。例如,在一些实现方式中,第一特征提取器网络可以从视频的第一帧提取特征,并且将第一提取特征存储在共享存储器层(例如,lstm层)中。第二特征提取器网络可以在一个或多个后续帧上运行以提取后续特征,并且后续特征可以与第一提取特征融合以更新后续帧的特征。然后,对象检测模型可以基于融合特征来检测对象。然后,第一特征提取器网络可以定期地运行在后续帧上以确定更新的特征,并且可以将更新的特征存储在共享存储器层中。此外,交织对象检测模型可以实现各种交织策略,诸如自适应交织策略或固定交织策略,以选择分别使用哪个特征提取器网络来分析视频的每个相应帧。特征提取器网络还可以被配置为以同步模式或异步模式操作,其中在该同步模式中对于每个帧一次运行单个提取器网络(例如,顺序地),在异步模式中,该特征提取器网络以并行线程运行(例如,并发地)。
25.因为相邻视频帧往往是相似的,所以对多个帧运行单个特征提取器很可能导致大部分冗余计算。本公开涉及允许神经网络在存储器的辅助下以非常少的计算量执行视频对象检测的系统和方法。例如,根据本公开的示例方面的交织对象检测模型可以包括多个特征提取器网络和共享存储器层。第一特征提取器网络可以被配置用于准确性,并且第二特征提取器网络可以被配置用于速度。准确特征提取器网络可以初始化并维护存储器,而速度特征提取器网络可以用于从新帧中快速地提取少量必要特征。
26.在一些方面,本公开的示例对象检测模型类似于人类视觉系统。例如,人类视觉不对单个图像进行操作,而是对图像流进行操作。即使使用仅持续几分之一秒的单眼注视,人类视觉系统也能够通过依赖于上下文提示和记忆来补充视觉系统对图像的理解,从而形成复杂环境的丰富表示。这种现象被称为识别场景的“要点(gist)”,并且通过依赖于相关的现有知识来实现。因此,在一些方面,本公开的示例对象检测模型与人类视觉系统中的要点的角色并行,因为两者都需要最少计算并且依赖记忆来起效。
27.更具体地,本公开提供一种新颖的交织框架,其中具有不同速度和识别能力的两个(或更多个)特征提取器网络可以在不同的图像帧上运行。例如,特征提取器网络可以具有不同的计算延迟、输入分辨率以及对象检测和识别能力。作为示例,第一特征提取器网络可以被配置用于准确性(例如,具有增加的对象检测能力和/或较高的输入分辨率),并且第二特征提取器网络可以被配置用于速度(例如,具有降低的对象检测能力和/或较低的输入分辨率)。来自这些提取器的特征可以用于维护图像中的场景的共同视觉记忆。例如,共同
视觉记忆可以以lstm层的形式维护。对于由被配置用于准确性的特征提取器网络分析的帧,从帧提取的特征可以用于检测对象,并且提取的特征可以被存储在共享存储器层中。对于由被配置用于速度的特征提取器网络分析的帧,从图像提取的特征可以与来自先前帧的特征(例如,来自被配置用于准确性的特征提取器网络分析的帧的在共享存储器层中最近存储的特征)融合。此外,然后可以从融合特征生成检测。
28.在一些实现方式中,自适应交织策略可以在交织对象检测模型中(例如,通过轻量级自适应交织策略网络)实现,该交织对象检测模型可以选择特征提取器网络中的一个来分析个别帧。例如,在一些实现方式中,可以训练交织对象检测模型以决定何时应当使用特定特征提取器网络来使用先前存储的特征(例如,记忆)和随后提取的特征(例如,要点)的组合来分析帧。例如,可以通过将任务制订(formulating)为强化学习问题来学习自适应交织策略。在一些实现方式中,包括速度奖励分量和准确性分量的奖励函数可以用于训练自适应交织策略。例如,速度奖励可以是固定值,其在轻量、较短计算延迟的特征提取器网络分析帧时被授予。此外,准确性奖励可以基于检测损失,其中该检测损失至少部分地基于最小损失特征提取器(例如,被配置用于准确性的特征提取器)与所选择的特征提取器网络之间的损失差而确定。
29.在一些实现方式中,可以实现固定交织策略以选择特征提取器来分析个别帧。例如,可调谐交织比率超参数τ可以用于选择特征提取器网络以分析个别帧,使得一个特征提取器网络在τ个帧已经被另一特征提取器网络分析之后运行。作为示例,可以在τ个帧已经由被配置用于速度的特征提取器网络分析之后,运行被配置用于准确性的特征网络,并且可以将提取的特征存储在共享存储器层中。被配置用于速度的特征提取器网络可以针对其它帧运行,并且可以通过将提取的特征与先前存储的特征进行融合来生成检测。
30.在一些实现方式中,交织对象检测模型可以被配置为以同步模式操作。例如,单个特征提取器网络可以以顺序方式在每个时间步(例如,每个帧)运行。例如,对于帧i
k
,第一特征提取器网络可以分析该帧,并且对于后续帧i
k 1
,一旦第一特征提取器网络已经分析了帧i
k
,第二特征提取器网络就可以分析该帧i
k 1

31.在一些实现方式中,交织对象检测模型可以被配置为以异步模式操作。例如,两个(或更多个)特征提取器网络可以被配置为在并行线程中运行。例如,第一特征提取器网络可以分析帧i
k
,而第二特征提取器网络分析帧i
k 1
。此外,由于第一特征提取器网络可能需要比第二特征提取器网络更长的运行时间,所以第二特征提取器网络可以在第一特征提取器网络分析帧i
k
的同时分析帧i
k 1
。换句话说,对第一帧i
k
和第二帧i
k 1
的分析可以重叠。由于第二特征提取器网络的运行时间可以比第一特征提取器网络短,所以第二特征提取器网络可以进一步分析一个或多个附加帧(例如,帧i
k 2
,i
k 3
,

)而第一特征提取器网络继续分析帧i
k
。此外,在一些实现方式中,第一特征提取器网络可以在完成对帧的分析时更新共享存储器层,并且可以将针对后续帧所提取的特征与共享存储器层中最近存储的特征进行融合以生成检测。
32.虽然其它对象检测方法(特别是基于流的方法)也提供了基于交织的快速和慢速网络的快速视频对象检测的方法,但是这些方法基于cnn特定观察,即中间特征可以被光流扭曲。然而,本公开可以利用视觉记忆来跟踪对象,并且因此不依赖于光流。本公开的示例方法和系统已经展示了前所未有的在线(例如,实时)性能,从而在移动计算设备上实现
72.3fps(帧每秒)的后优化,同时匹配imagenetvid2015基准的本领域中最先进的性能。
33.本公开的系统和方法提供许多技术效果和益处。例如,通过提供共享存储器层,本发明允许基于一个或多个先前检测到的特征来确定特征集。以此方式,基于所存储的存储器层中正在进行的更新的特征集来提供改进的对象检测。在确定初始特征集之后,可以以降低的处理成本更快地执行确定后续特征集的分析,因为可以在所存储的存储器层中建立所确定的特征中的至少一些特征。因此,可以使输入视频的正在进行的对象检测过程更有效,具有降低的处理成本和/或改进的处理帧速率。
34.作为另一示例技术效果和益处,本公开的系统和方法可以允许由第一特征提取器网络和第二特征提取器网络中的任一个来分析后续帧。这样,该方法允许以互补的方式组合使用两个或更多个网络。在一些实现方式中,特定特征提取器网络的选择可以基于当前可用的计算机资源。例如,当选择用于分析特定帧的特征提取器网络时,可以考虑处理器可用性、电池资源、存储器资源、同时运行的应用的数量和其它计算机资源参数,从而在当前观察到的计算约束内优化准确性。以此方式,本公开允许例如采用更高效网络以用于后续帧,使得总体处理成本被降低,同时由于共享存储器层而维持了总体检测性能。在一些实现方式中,可以提供不同的特征提取器网络以在不同的规模下操作,使得该方法可以在不同的规模下提供改进的检测性能。
35.作为另一示例技术效果和益处,本公开的系统和方法可以实现用于选择任一特征提取器网络的自适应交织策略。以此方式,本公开可以根据针对自适应交织策略提供的训练奖励函数来提供速度、效率和/或检测性能的进一步改进。本公开的示例方面可以提供奖励函数以平衡两个或更多个奖励目标,以便提供例如改进的处理效率和对象检测准确性的平衡。例如,可以手动地调谐奖励函数参数以生成针对特定应用的速度和准确性之间的特定平衡而优化的不同的交织对象检测模型。对于每个后续帧,自适应交织策略可以用于选择第一特征提取器网络或第二特征提取器中的任一个,使得本公开提供独立于输入视频的内容的改进的对象检测过程。以这种方式,可以确定对第一特征提取器网络或第二特征提取器的选择,以提供针对输入视频的最有效和/或最准确的对象检测。
36.作为另一示例技术效果和益处,本公开的系统和方法可以允许异步地执行由第一特征提取器网络和第二特征提取器进行的处理。以此方式,本公开提供了更恒定的、可预测的处理负载。通过以这种方式改进处理器需求的一致性,本公开的系统和方法允许更有效的对象检测,同时维持对象检测准确性。
37.现在参考附图,将更详细地讨论本公开的示例方面。
38.示例交织对象检测模型
39.图1描绘了根据本公开的示例方面的示例交织对象检测模型100。交织对象检测模型100可以包括多个特征提取器网络。例如,如图所示,第一特征提取器网络110和第二特征提取器网络120可以被包括在交织对象检测模型100中。在一些实现方式中,第一特征提取器网络110可以被配置用于准确性,而第二特征提取器网络120可以被配置用于速度。特征提取器网络110/120可以是例如卷积神经网络,并且可以包括一个或多个卷积层。在一些实现方式中,第一特征提取器网络110和第二特征提取器网络120可以具有不同计算延迟。例如,在一些实现方式中,与第一特征提取器网络110相比,第二特征提取器网络120可以具有更短的运行时间。在一些实现方式中,与第二特征提取器网络120相比,第一特征提取器网
络110可以具有减少的检测损失。
40.根据本公开的示例方面,包括多个图像帧130a

130b(例如,图像帧流)的视频130可以被输入到交织对象检测模型100中。例如,视频130的初始帧130a可以由第一特征提取器网络110分析以从帧130a提取一个或多个特征140。然后,可以将该一个或多个特征140存储在共享存储器层150中。在一些实现方式中,共享存储器层150可以是例如长短期存储器网络。从初始帧130a提取的该一个或多个特征140然后可以用于检测对象。例如,该一个或多个特征140可以被输入到检测层(未示出)中,并且可以从检测层接收检测到的对象输出160。例如,在一些实现方式中,可以检测到对象161,并且输出可以是对象161周围的边界框162。
41.根据本公开的附加示例方面,可以由第二特征提取器网络120分析后续帧130b以提取后续帧130b中的一个或多个后续特征。此外,该一个或多个后续特征可以与最近存储在共享存储器层150中的一个或多个特征融合。例如,来自由第一特征提取器网络110分析的帧的最近存储的特征可以与由第二特征提取器网络120提取的该一个或多个后续特征融合以确定更新的特征集。然后,可以将更新的特征集合输入到检测层(未示出)中,并且可以从检测层接收检测到的对象输出170。例如,在一些实现方式中,可以检测对象171(例如,来自先前帧的对象161)并且输出可以是围绕对象171的边界框172。这样,如将在本文中更详细描述的,交织对象检测模型100可以使用多个特征提取器网络110/120,以通过用所选择的特征提取器网络110/120分析个别帧130a/b来从视频130提取特征。此外,所提取的特征可以存储在共享存储器层150中,并且对象161/171可以由交织对象检测模型100检测到。
42.本公开因此解决视频对象检测的任务。对于该任务,本公开的示例对象检测模型可以在视频v={i0,i1,...i
n
}的每个帧上生成帧级别边界框和类预测。本公开的示例模型还可以用于在线设置中,其中当生成针对第k帧的检测时,仅{i0,i1,...i
k
}可用。
43.此外,本公开提供了一种其中多个特征提取器可以顺序地或同时地运行的交织模型框架。如本文所提供的,可以使用存储器机制来聚合和细化由特征提取器网络提取的帧级别特征。此外,对象可以由交织对象检测模型检测,例如通过对细化的特征使用ssd风格检测以产生边界框结果。
44.本公开的示例方法可以被表示为多个函数。例如,使m个特征提取器是将图像空间映射到中的分离的特征空间。共享存储器层(例如,存储器模块)可以被表示为并且可以将来自f的特征和内部状态表示映射到共同的、细化的特征空间,同时还输出更新的状态。检测层(例如,ssd检测器)可以被表示为并且可以将细化的特征映射到最终检测锚预测。
45.利用多个特征提取器的本公开的示例对象检测模型提供多个优点。例如,不同特征提取器可以专门针对不同图像特征,这可以产生时间上的模糊效果。此外,特征提取器可以具有显著不同的计算成本。例如,一些特征提取器可以被配置用于准确性(例如,具有低检测损失),而其它特征提取器可以被配置用于速度(例如,具有低运行时间),其可以显著地降低模型的运行时间。本公开的示例交织对象检测模型可以包括任何数量的特征提取器网络。作为示例,在一些实现方式中,特征提取器网络的数量可以是m=2,其中f0(例如,第
一特征提取器网络)被配置用于准确性并且f1(例如,第二特征提取器网络)被配置用于速度。
46.根据本公开的示例方面的交织对象检测模型可以通过运行m(f
i
(i
k
),s
k
‑1)获得特征映射f
k
和更新的状态s
k
,在给定先前帧的状态s
k
‑1的情况下获得关于第k帧的检测结果d
k
。换句话说,可以通过将先前帧的状态与从当前帧提取的特征进行融合来获得检测结果。因此,d
k
=d(f
k
)。
47.图2示出根据本公开的示例方面的使用固定交织策略的示例交织对象检测模型。例如,如图所示,交织对象检测模型200可以包括第一特征提取器210、第二特征提取器220、共享存储器层230和一个或多个检测层240。对于每个帧i
k 250,可以获得检测d
k 260。
48.根据本公开的示例方面,在一些实现方式中,可以使用固定交织策略,其中第一特征提取器210或第二特征提取器220用于使用可调谐交织比率超参数τ来分析个别帧i
k
。例如,超参数τ可以用于选择特征提取器网络210/220以分析个别帧i
k
,使得在τ帧已经被另一特征提取器网络分析之后运行一个特征提取器网络。例如,如图2所示,τ=2,其中第一特征提取器网络210可以分析帧i
t
‑3,而第二特征提取器网络220可以分析后续帧i
t
‑2和i
t
‑1。对于帧i
t
,然后可以运行第一特征提取器网络210,然后第二特征提取器网络220可以分析后续帧i
t 1
和i
t 2
。注意,运行任何特征提取器(例如,选择任何有效i)将产生有效检测结果,但是检测的质量和更新的状态表示可能变化。因此,可能期望找到一种交织策略,使得对象检测模型200的平摊运行时间类似于f1(例如,第二特征提取器网络220),同时保持排他地运行f0(例如,第一特征提取器网络210)的准确性。因此,简单的固定交织策略可能需要定义超参数τ、交织比以及在f1运行τ次之后的运行f0。
49.在一些实现方式中,f0(例如,第一特征提取器网络210)和f1(例如,第二特征提取器网络220)可以具有不同的计算延迟。例如,第一特征提取器网络210可以具有比第二特征提取器网络220更长的运行时间。此外,第一特征提取器网络210可以具有比第二特征提取器网络220更低的检测损失。此外,第一特征提取器网络210和第二特征提取器网络220可以具有不同的输入分辨率。例如,在一些实现方式中,f0的架构可以是第一卷积神经网络(例如,具有1.4的深度乘数和320
×
320的输入分辨率的标准mobilenetv2),并且f1的架构可以是第二卷积神经网络(例如,具有0.35深度乘数和160
×
160的降低的输入分辨率的mobilenetv2架构),在这样的配置中,可能需要移除最后步幅卷积上的步幅以使输出尺寸匹配。在一些实现方式中,检测层240可以是例如输出具有256的恒定信道深度和卷积框预测器的ssd特征映射的ssdlite层。在一些实现方式中,锚点的纵横比可以限制为{1,0.5,2.0}。
50.示例共享存储器层
51.图3中描绘了根据本公开的示例性方面的示例共享存储器层(例如,存储器模块)300。共享存储器层300可以允许使用时间提示来扩充粗略特征,例如当使用被配置用于速度的特征提取器网络时。共享存储器层300可以聚合来自不同特征提取器的特征。共享存储器层300可以从不同特征空间接收输入特征,并且将它们投影到共享特征空间中。此外,共享存储器层300可以在非常短的运行时间内对所有帧执行,同时保持长期依赖性。
52.共享存储器层300可以被配置为接收输入302(例如,来自特征提取器网络的空间特征映射)和来自先前帧的共享存储器层的状态h
t

1 304(例如,来自先前帧的特征提取器
网络的空间

时间特征映射)。状态h
t
‑1304可以被切成组306,并且可以单独地处理成组的卷积。给定具有n个信道的先前状态h
t

1 304和具有m个信道的输入特征映射x
t
,共享存储器层可以将状态h
t

1 304信道方式划分成g个分区1h
t
‑1,2h
t
‑1...
g
h
t
‑1。使因此每个分区具有k个信道。然后,可以由一个或多个卷积层处理每组切片306。例如,对于每个组,可以执行以下操作:
[0053][0054][0055][0056][0057][0058][0059]
其中
g
c
t

g
h
t
分别是更新的状态的切片和输出的切片。最后,可以以信道方式级联切片以获得c
t
和h
t
。注意,表示具有权重w、输入x、j个信道和k个输出信道的深度方式可分离卷积,φ表示relu激活函数,表示hadamard乘积,σ表示s形函数,并且[a,b]表示a和b的信道方式级联,如图3所示,在一些实现方式中,具有320信道状态的组的数量是g=4。
[0060]
如308处所示,切片306可以与输入302级联,并且由瓶颈门310处理。瓶颈门310可以包括一个或多个卷积层。如图3所示,状态h
t
‑1304可以具有尺寸h
×
w
×
n,输入302可以具有尺寸h
×
w
×
n,每个切片可以具有尺寸h
×
w
×
n/g,并且在308处的级联之后,到瓶颈门310的输入可以具有尺寸瓶颈门310的输出可以被输入到遗忘门312中。遗忘门312可以包括一个或多个卷积层。
[0061]
类似地,在316处,可以将内部单元状态c
t
‑1314按信道方式被切成g个分区,并且在318处,可以将切片316按元素方式乘以遗忘门312的输出。遗忘门312可以包括一个或多个卷积层。瓶颈门310的输出可以由输入门320和一个或多个卷积层322处理。在324处,卷积层322与输入门320的输出可以相乘,并且可以将输出324添加(在326处)到318处的输出以生成更新的状态c
t
328的切片,该切片可以以信道方式级联以生成更新的状态c
t
328。瓶颈门310的输出可以被输入到输出门330中,并且输出门330的输出可以与状态c
t
328的切片相乘,以生成更新的状态h
t
332的切片,该切片可以以信道方式级联以生成更新的状态h
t
332。输出门330可以包括一个或多个卷积层。瓶颈门310的输出可以在334处与更新的状态h
t 332的切片级联以生成输出336。
[0062]
实际上,共享存储器层300(例如,长短期存储器网络)可能无法跨更新完全地保留其状态。输入门320和遗忘门312的s形激活可能很少完全饱合,这可能导致缓慢的状态衰减,其中长期依赖性逐渐丢失。当在许多步骤上复合时,使用f1特征提取器网络的预测可能降级,除非重新运行f0特征提取器网络。
[0063]
为了解决这个问题,本公开的附加方面提供在f1特征提取器网络分析帧时跳过状态更新。换句话说,来自f0特征提取器网络上次运行的输出状态可以总是被重用。这可以大
大提高共享存储器层300跨长序列传播时间信息的能力,从而即使在仅f0特征提取器网络运行数十步时也使准确性损失最小。
[0064]
示例训练方法
[0065]
本公开的示例方面进一步提供用于训练交织对象检测模型。例如,可以在没有检测层的情况下预训练交织对象检测模型的特征提取器网络,诸如在分类训练数据集(例如,imagenet分类训练数据集)上预训练,以便确定用于对象检测模型的初始权重集,诸如共享存储器层(例如,lstm层)。此外,可以移除检测层d,并且可以在共享存储器层(例如,lstm层)之后立即添加平均池化和完全连接层,随后是softmax分类器。
[0066]
在一些实现方式中,可以生成训练视频。例如,训练数据集中的每个帧可以被复制多次(例如,三次),并且共享存储器层(例如,lstm层)可以展开到类似数量的步骤(例如,三步)。在每个步骤处,可以选择随机特征提取器网络来分析特定帧。在一些实现方式中,随机选择可以均匀地分布在多个特征提取器网络之间。作为示例,可以使用两个特征网络之间的50/50随机选择。
[0067]
此外,可以执行检测训练(例如,单状态检测(ssd)训练)。例如,共享存储器层(例如,lstm层)可以展开为多个步骤(例如,六个步骤),并且可以在每个步骤处选择随机特征提取器。在一些实现方式中,随机选择可以均匀地分布在多个特征提取器网络之间。本公开的对象检测模型可以在视频数据和图像数据的混合上被训练。例如,在一些实现方式中,可以在两个或更多个连续静态图像帧之间执行一个或多个增强效果。作为示例,可以通过在每一步处修剪特定区域并且在各步之间平移(例如,移位)该修剪来模仿平移和变焦来增强图像帧。这可以帮助交织对象检测模型学习运动与框位移之间的关系。在一些实现方式中,可以在训练交织对象检测模型时实现单状态检测(ssd)训练。例如,在一些实现方式中,可以实现带有余弦衰减的大小为12的批量和0.002的学习速率。
[0068]
检测损失函数可以用于训练本公开的交织对象检测模型。例如,可以至少部分地基于交织对象检测模型的输出和与地面实况检测的比较来确定检测损失函数。然后,可以至少部分地基于检测损失函数来训练交织对象检测模型。
[0069]
示例自适应交织策略
[0070]
在一些实现方式中,可以实现自适应交织策略以进一步改善本公开的示例交织对象检测模型的性能。例如,根据本公开的示例方面,自适应交织策略可以由轻量自适应交织策略网络来实现,该轻量自适应交织策略网络可以使用强化学习来学习。图4中描绘了根据本公开的示例方面的示例自适应交织策略网络400。如图所示,自适应交织策略网络400可以利用来自存储在共享存储器层中的一个或多个先前时间步(例如,在时间步t

1)的一个或多个状态来选择特征提取器网络以分析当前时间步(例如,在时间步t)的帧。例如,如图所示,自适应交织策略网络400(表示为π)可以检查共享存储器层状态,并且输出410下一个特征提取器网络来运行,如图4所示,在一些实现方式中,可以使用双q学习(ddqn)来训练自适应交织策略网络。
[0071]
例如,根据本公开的附加示例方面,可以通过定义动作空间、状态空间和奖励函数使用强化学习来训练自适应交织策略网络400。动作空间可以由m个动作组成,其中动作k对应于在下一个时间步运行特定特征提取器网络f
k
。状态s可以由5个项组成:当前共享存储器层状态和输出c
t
和h
t
,以及它们在当前步(c
t

c
t
‑1)和(h
t

h
t
‑1)期间的变化。还可以使用动
作历史项a∈r
m
,使得自适应交织策略网络400可以知道其先前的动作,并且可以避免过度地运行特定特征提取器网络(例如,被配置用于准确性的特征提取器网络诸如f0)。动作历史可以保存最近采取的动作的衰减计数。例如,在每个步骤,可以使用等式1:
[0072][0073]
例如,根据本公开的附加示例方面,奖励函数可以用于在维持准确性的同时在尽可能频繁地运行被配置用于速度的特征提取器网络(例如f1)之间进行平衡。例如,奖励函数可以被定义为速度奖励和准确性奖励的总和。对于速度奖励,当运行被配置用于速度的特征提取器网络(例如f1)时,可以定义正的恒定值β并且可以授予β奖励。对于准确性奖励,可以计算在运行每个特征提取器之后的检测损失,并且可以确定最小损失特征提取器和所选择的特征提取器之间的损失差。例如,最终奖励可以表示为等式2中所示:
[0074][0075]
其中e(f
i
)表示在使用来自f
i
的特征之后的检测损失。
[0076]
在一些实现方式中,自适应交织策略网络400可以是轻量卷积神经网络,该轻量卷积神经可以预测给定状态的每个状态

动作对的q值。例如,在一些实现方式中,状态和输出410可以被提供给一个或多个卷积层420、430和440。例如,自适应交织策略网络400可以使用四个卷积状态中的每一个作为单独的组来执行分组卷积,如420处所示。此外,自适应交织策略网络400可以执行深度方式可分离卷积,如430处所示,并且使用最大池化来移除空间维度,如440处所示。然后,自适应交织策略网络400可以级联动作特征向量,并且应用完全连接层以获得m个输出,即每个状态

动作对的q值,如450所示。
[0077]
根据本公开的示例方面,可以通过以推断模式运行交织对象检测模型来生成一批推断数据(s
t
,a,s
t 1
,r
t
)来训练自适应交织策略网络400。例如,训练数据可以被输入到交织对象检测模型中。在一些实现方式中,包括自适应交织策略网络400的整个交织对象检测模型可以被端对端地训练。在其它实现方式中,对象检测模型可以被预训练(例如,可以针对缺少自适应交织策略网络400的特征提取器网络确定预训练的权重),并且可以通过冻结自适应交织策略网络400之外的所有权重来训练自适应交织策略网络400。在生成批量推断数据之后,可以至少部分地基于批量推断数据来训练自适应交织策略网络400。例如,在一些实现方式中,自适应交织策略网络400可以使用具有经验重放的标准ddqn来训练。示例训练过程在以下算法中详细描述:
[0078]
算法1:自适应交织训练过程
[0079][0080]
一旦训练了自适应交织策略网络400,则自适应交织策略460就可以由交织对象检测模型实现,以选择特征提取器网络来分析特定帧,如图4所示。
[0081]
示例同步和异步配置
[0082]
在一些实现方式中,根据本公开的示例方面的交织对象检测模型可以在同步模式或异步模式下运行。例如,如图5所示,描述了同步模式500和异步模式550。
[0083]
如图5所示,在同步模式中,可以顺序地分析多个顺序图像帧510a

510c。例如,帧510a可以对应于帧i
t
‑2,帧510b可以对应于帧i
t
‑1,而帧510c可以对应于帧i
t
。在每个时间步处,可以运行单个特征提取器网络。例如,可以在520a处由第一特征提取器网络(例如,被配置用于准确性的特征提取器网络)来分析帧510a,并且在分析之后,可以确定检测d
t

2 530a。一旦分析了帧510a,就可分析帧510b。例如,可以在520b处由第二特征提取器网络(例如,被配置用于速度的特征提取器网络)来分析帧510b,该第二特征提取器网络具有比第一特征提取器网络更短的运行时间。在分析之后,可以确定检测d
t

1 530b。同样,在520c处,第二特征提取器网络(例如,被配置用于速度的特征提取器网络)可以再次在帧510c上运行,并且可以确定检测d
t 530c。因此,如图所示,可以在每个时间步运行单个特征提取器网络,并且可以在分析先前帧i
t
‑1之后顺序地执行对每个帧i
t
的分析。
[0084]
然而,当同步地运行交织对象检测模型时,在每个时间步t处运行一个特征提取器网络,因此最大潜在延迟取决于最慢特征提取器网络(例如,被配置用于准确性的f0特征提取器网络)的延迟。
[0085]
根据本公开的附加方面,对象检测模型可以被配置为以异步模式运行,如图5所示。如图所示,每个特征提取器网络可以被配置为在并行线程中并发运行。例如,如图所示,帧i
t

2 560a可以在570a处被提供给第一特征提取器网络(例如,被配置用于准确性的特征提取器网络)和在580a处被提供给第二特征提取器网络(例如,被配置用于速度的特征提取器网络)。在由第二特征提取器网络(例如,被配置用于速度的特征提取器网络)进行分析之后,可以确定检测d
t

2 590a。由于计算延迟的差异,第二特征提取器可以在第一特征提取器
网络之前完成对帧i
t

2 560a的分析。因此,在完成对帧i
t

2 560a的分析之后,第二特征提取器网络(例如,被配置用于速度的特征提取器网络)可以在580b处分析帧i
t

1 560b,并且在分析之后,可以确定检测d
t

1 590b。类似地,在完成对帧i
t

1 560b的分析之后,第二特征提取器网络(例如,被配置用于速度的特征提取器网络)可以在580c处分析帧i
t 560c。然而,如图所示,第一特征提取器网络(例如,被配置用于准确性的特征提取器网络)可以在与第二特征提取器网络(例如,被配置用于速度的特征提取器网络)完成对帧i
t 560c的分析几乎相同的时间完成对帧i
t

2 560a的分析。如图所示,在595,共享存储器层可以将从第一特征提取器网络对帧i
t

2 560a的分析中提取的特征与从第二特征提取器网络对帧i
t 560c的分析中提取的特征(例如,共享存储器层中最近存储的特征)相融合。然后,可以从融合特征确定检测d
t 590c,如图所示。换句话说,在异步模式中,第二特征提取器网络(例如,被配置用于速度的特征提取器网络f1)可以在每个时间步t处运行并且专门用于生成检测d
t
,而第一特征提取器网络(例如,被配置用于准确性的特征提取器网络f0)可以(以固定交织策略)每τ个帧运行并且在完成对帧的分析时更新共享存储器层。类似地,在自适应交织策略配置中,第二特征提取器网络(例如,被配置用于速度的特征提取器网络f1)可以在每个时间步t处运行并且专门用于生成检测d
t
,而第一特征提取器网络(例如,被配置用于准确性的特征提取器网络f0)可以在根据自适应交织策略被选择时运行。因此,在异步配置中,第二特征提取器网络然后可以在每个时间步处使用共享存储器层中最近存储的特征,并且在分析一个或多个帧之前不再必须等待第一特征提取器运行。
[0086]
通过在异步模式下运行交织对象检测模型所提供的优点在于:异步模式下的最大延迟在所有时间步上通常可以是一致的。这可以允许交织对象检测模型在诸如智能电话的移动设备上实时(例如,在线模式)平顺地运行。
[0087]
示例设备和系统
[0088]
图6a描绘根据本公开的示例方面的执行交织视频对象检测的示例计算系统600的框图。系统600包括通过网络680通信地耦合的用户计算设备602、服务器计算系统630和训练计算系统650。
[0089]
用户计算设备602可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其它类型的计算设备。
[0090]
用户计算设备602包括一个或多个处理器612和存储器614。该一个或多个处理器612可以是任何合适的处理设备(例如,处理器核、微处理器、asic、fpga、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器614可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等以及它们的组合。存储器614可以存储数据616和由处理器612执行以使用户计算设备602执行操作的指令618。
[0091]
在一些实现方式中,用户计算设备602可以存储或包括一个或多个交织对象检测模型620。例如,交织对象检测模型620可以是或可以以其它方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其它类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、循环神经网络(例如,长短期存储器循环神经网络)、卷积神经网络或其它形式的神经网络。参考图1至图5讨论了示例交织对象检测模型
620和/或其组件。
[0092]
在一些实现方式中,所述一个或多个交织对象检测模型620可以通过网络680从服务器计算系统630接收,存储在用户计算设备存储器614中,并且然后由所述一个或多个处理器612使用或以其它方式实现。在一些实现方式中,用户计算设备602可以实现单个交织对象检测模型620的多个并行实例(例如,跨视频流的多个实例执行并行交织视频对象检测)。
[0093]
更具体地,如本文所述,交织对象检测模型620可以使用多个特征提取器网络和共享存储器层来执行视频流中的对象检测。在一些实现方式中,交织对象检测模型620包括被配置为实现自适应交织策略的自适应交织策略网络。在一些实现方式中,交织对象检测模型620可以实现固定交织策略。在一些实现方式中,交织对象检测模型620可以以同步和/或异步模式操作。
[0094]
附加地或替换地,一个或多个交织对象检测模型640可以被包括在根据客户端

服务器关系与用户计算设备602通信的服务器计算系统630中或以其它方式由其存储和实现。例如,交织对象检测模型640可以由服务器计算系统640实现为web服务(例如,视频对象检测服务)的一部分。因此,一个或多个模型620可以存储并且实现在用户计算设备602处,和/或一个或多个模型640可以存储并且实现在服务器计算系统630处。
[0095]
用户计算设备602还可以包括接收用户输入的一个或多个用户输入组件622。例如,用户输入组件622可以是对用户输入对象(例如,手指或指示笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其它示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其它装置。
[0096]
服务器计算系统630包括一个或多个处理器632和存储器634。该一个或多个处理器632可以是任何合适处理设备(例如,处理器核、微处理器、asic、fpga、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器634可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等以及它们的组合。存储器634可以存储数据636和指令638,这些指令由处理器632执行以使服务器计算系统630执行操作。
[0097]
在一些实现方式中,服务器计算系统630包括一个或多个服务器计算设备或以其它方式由一个或多个服务器计算设备实现。在服务器计算系统630包括多个服务器计算设备的实例中,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或它们的某种组合来操作。
[0098]
如上所述,服务器计算系统630可以存储或以其它方式包括一个或多个机器学习交织对象检测模型640。例如,模型640可以是或者可以以其它方式包括各种机器学习模型。示例机器学习模型包括神经网络或其它多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图1至图5讨论了示例模型640和/或其组件。
[0099]
用户计算设备602和/或服务器计算系统630可以经由与通过网络680通信地耦合的训练计算系统650的交互来训练模型620和/或640。训练计算系统650可以与服务器计算系统630分离的,或者可以是服务器计算系统630的一部分。
[0100]
训练计算系统650包括一个或多个处理器652和存储器654。该一个或多个处理器
652可以是任何合适处理设备(例如,处理器核、微处理器、asic、fpga、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器654可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等以及它们的组合。存储器654可以存储数据656和指令658,这些指令由处理器652执行以使得训练计算系统650执行操作。在一些实现方式中,训练计算系统650包括一个或多个服务器计算设备或以其它方式由一个或多个服务器计算设备实现。
[0101]
训练计算系统650可以包括模型训练器660,该模型训练器使用各种训练或学习技术(诸如,例如,误差的后向传播、强化学习或如本文所描述的其它技术)来训练存储在用户计算设备602和/或服务器计算系统630处的机器学习模型620和/或640。在一些实现方式中,执行误差的向后传播可以包括执行随时间的截断反向传播。模型训练器660可以执行多种泛化技术(例如,权重衰减、丢弃等)以提高所训练的模型的泛化能力。
[0102]
特别地,模型训练器660可以基于训练数据集662来训练交织对象检测模型620和/或640。训练数据662可以包括例如图像分类训练数据集、视频流训练数据集、地面实况训练数据集、推断数据训练数据集和/或如本文所述的其它训练数据。
[0103]
在一些实现方式中,如果用户已经提供同意,则训练示例可以由用户计算设备602提供。因此,在这样的实现方式中,提供给用户计算设备602的模型620可以由训练计算系统650对于从用户计算设备602接收到的用户特定数据进行训练。在一些情况下,该过程可以被称为个性化模型。
[0104]
模型训练器660包括用于提供期望功能的计算机逻辑。模型训练器660可以以控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器660包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其它实现方式中,模型训练器660包括存储在有形计算机可读存储介质(诸如ram硬盘或光或磁介质)中的计算机可执行指令的一个或多个集合。
[0105]
网络680可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)、或它们的某种组合,并且可以包括任何数目的有线或无线链路。通常,网络680上的通信可以经由任何类型的有线和/或无线连接、使用各种各样的通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl)来承载。
[0106]
图6a示出了可以用于实现本公开的一个示例计算系统。也可以使用其它计算系统。例如,在一些实现方式中,用户计算设备602可以包括模型训练器660和训练数据集662。在这样的实现方式中,模型620可以在用户计算设备602处被训练并且本地使用。在一些这样的实现方式中,用户计算设备602可以实现模型训练器660以基于用户特定数据个性化模型620。
[0107]
图1b描绘了根据本公开的示例方面的执行视频对象检测的示例计算设备610的框图。计算设备610可以是用户计算设备或服务器计算设备。
[0108]
计算设备610包括多个应用(例如,应用1至n)。每个应用包含其自己的机器学习库和机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用等。
[0109]
如图1b所示,每个应用可以与计算设备的多个其它组件(诸如,例如,一个或多个
传感器、上下文管理器、设备状态组件、和/或附加组件)通信。在一些实现方式中,每个应用可以使用api(例如,公共api)与每个设备组件通信。在一些实现方式中,每个应用所使用的api专用于该应用。
[0110]
图1c描绘了根据本公开的示例方面的执行视频对象检测的示例计算设备670的框图。计算设备670可以是用户计算设备或服务器计算设备。
[0111]
计算设备670包括多个应用(例如,应用1至n)。每个应用与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、口述应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可以使用api(例如,跨所有应用的公共api)与中央智能层(以及存储在其中的模型)通信。
[0112]
中央智能层包括多个机器学习模型。例如,如图1c所示,可以为每个应用提供相应的机器学习模型(例如,模型),并且由中央智能层管理。在其它实现方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层被包括在计算设备670的操作系统内或以其它方式由其实现。
[0113]
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备670的数据的集中式存储库。如图1c所示,中央设备数据层可以与计算设备的多个其它组件(诸如,例如,一个或多个传感器、上下文管理器、设备状态组件、和/或附加组件)通信。在一些实现方式中,中央设备数据层可以使用api(例如,私有api)与每个设备组件通信。
[0114]
示例方法
[0115]
图7描绘了根据本公开的示例方面的用于执行交织视频对象检测的示例方法700的流程图。尽管图7出于说明和讨论的目的描绘以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不偏离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或适配方法700的各种步骤。
[0116]
在702处,方法700可以包括将视频输入到交织对象检测模型中。例如,视频可以包括多个连续帧。该交织对象模型可以包括多个特征提取器网络和共享存储器层。例如,在一些实现方式中,交织对象检测模型可以包括被配置用于准确性的第一特征提取器网络和被配置用于速度的第二特征提取器网络。
[0117]
在704处,方法700可以包括用第一特征提取器网络来分析视频的初始帧以确定初始化的特征集。例如,在一些实现方式中,第一特征提取器网络可以是被配置用于准确性的特征提取器网络。
[0118]
在706处,方法700可以包括将初始化的特征集存储在共享存储器层中。例如,初始化的特征集可以被存储在共享存储器层中以由一个或多个特征提取器网络访问,诸如被配置用于速度的特征提取器网络。
[0119]
在708处,该方法可以包括选择第一特征提取器网络或第二特征提取器网络以分析后续帧。例如,在一些实现方式中,可以根据固定交织策略来选择第一特征提取器网络或第二特征提取器网络。在一些实现方式中,可以根据自适应交织策略来选择第一特征提取器网络或第二特征提取器网络。例如,在一些实现方式中,自适应交织策略网络可以被包括在交织对象检测模型中,并且自适应交织策略网络可以被训练成通过例如使用包括速度分量和准确性分量的奖励函数来实现自适应交织策略。
[0120]
在710处,方法700可以包括用所选择的特征提取器网络来分析后续帧,以确定一个或多个后续特征。例如,后续帧可以被输入到所选择的特征提取器网络中,并且该一个或多个后续特征可以由所选择的特征提取器网络提取。
[0121]
在712处,方法700可以包括至少部分基于后续特征来确定更新的特征集。例如,在一些实现方式中,来自一个或多个先前帧的一个或多个先前存储的特征可以与所述一个或多个后续特征融合以确定更新的特征集。在一些实现方式中,更新的特征集可以是例如所述一个或多个后续特征。在一些实现方式中,更新的特征集可以被存储在共享存储器层中。
[0122]
在714处,方法700可以包括至少部分基于更新的特征集来检测后续帧中的对象。例如,检测层可以分析更新的特征集以检测对象。
[0123]
在一些实现方式中,对象检测可以是例如具有边界框的ssd检测。
[0124]
如图所示,方法700的步骤708至714可以对一个或多个后续帧重复。例如,对于视频流中的每个帧,可以选择相应的特征提取器网络来分析该帧。在一些实现方式中,交织对象检测模型可以被配置为在同步模式下运行,在该同步模式下,多个特征提取器网络被配置为顺序地运行,在该同步模式下,针对每个帧运行单个特征提取器网络。在一些实现方式中,交织对象检测模型可以被配置为以异步模式运行,在该异步模式中,多个特征提取器网络在并行线程中并发运行。
[0125]
图8描绘了根据本公开的示例方面的用于训练交织对象检测模型的示例方法800的流程图。尽管图8出于说明和讨论的目的描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不偏离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或适配方法800的各种步骤。
[0126]
在802处,方法800可以包括使用图像分类训练数据集预训练第一特征提取器网络、第二特征提取器网络和交织对象检测模型的共享存储器层。在一些实现方式中,交织对象检测模型可以包括任何数量的特征提取器网络,并且每个特征提取器网络可以被预先训练。例如,如本文所述,可以在图像分类训练数据集上训练特征提取器网络和/或共享存储器层,以确定特征提取器网络和/或共享存储器层的初始权重集。
[0127]
在804处,方法800可以包括从静态图像帧生成训练视频。例如,可以生成多个连续静态图像帧(例如,静态图像帧的顺序副本)并且在视频流中顺序地布置。在一些实现方式中,可以在连续静态图像帧中的两个或更多个之间执行一个或多个增强效果。例如,一个或多个图像增强效果可以包括一个或多个裁剪(例如,选择图像的一部分)、一个或多个变焦(例如,放大或缩小)和/或一个或多个平移(例如,从图像的一部分移位/滑动到另一部分)。
[0128]
在806处,方法800可以包括将训练视频输入到交织对象检测模型中。例如,来自训练视频的个别帧可以被顺序地输入到交织对象检测模型中。
[0129]
在808处,方法800可以包括随机选择特征提取器网络以分析特定帧。例如,在一些实现方式中,交织对象检测模型可以包括第一特征提取器网络和第二特征提取器网络,并且第一特征提取器网络或第二特征提取器网络中的任一个可以诸如根据统一随机选择(例如,50/50)来随机选择。
[0130]
在810处,方法800可以包括用所选择的特征提取器网络来分析一个或多个帧,以确定一个或多个检测到的对象。例如,来自训练视频的一个或多个帧可以被输入到所选择的特征提取器网络中以从该帧提取一个或多个特征。在一些实现方式中,该一个或多个所
提取的特征可以用于检测帧中的对象。例如,检测层可以从一个或多个特征检测一个或多个对象。
[0131]
在812处,方法800可以包括至少部分地基于地面实况检测与所述一个或多个检测到的对象的比较来确定检测损失函数。例如,训练数据集可以包括与在所述一个或多个帧中的检测到的对象相对应的地面实况检测。来自检测层的所述一个或多个检测到的对象可以与地面实况检测进行比较以确定检测损失函数。
[0132]
在814处,方法800可以包括至少部分地基于检测损失函数来训练交织对象检测模型。例如,在一些实现方式中,误差的向后传播可以用于训练对象检测模型。
[0133]
如图所示,方法800的步骤808至814可以对一个或多个后续帧重复进行。例如,可以针对训练视频中的每个剩余帧重复步骤808至814。
[0134]
图9描绘了根据本公开的示例方面的用于训练用于对象检测模型的自适应交织策略网络的示例方法900的流程图。尽管图9出于说明和讨论的目的描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不偏离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或适配方法900的各种步骤。
[0135]
在902处,该方法可以包括将训练数据输入到对象检测模型中以生成一个或多个批量的推断数据。例如,对象检测模型可以包括被配置为实现自适应交织策略的自适应交织策略网络、被配置用于准确性的第一特征提取器网络、被配置用于速度的第二特征提取器网络,以及共享存储器层。训练数据可以被输入到对象检测模型中以生成一个或多个批量的推断数据。
[0136]
每个批量的推断数据可以包括如本文所述的状态数据、动作数据和奖励函数数据。例如,奖励函数数据可以包括速度奖励和准确性奖励的总和。速度奖励可以是当使用被配置用于速度的第二特征提取器网络时授予的定义值。准确性奖励可以是至少部分地基于最小损失特征提取器网络与所选择的特征提取器网络之间的损失差而确定的检测损失。例如,当选择了被配置用于准确性的第一特征提取器网络时,检测损失可以是零,或者当选择了被配置用于速度的第二特征提取器网络时,检测损失可以是非零的。状态数据可以包括由所选择的特征提取器网络(例如,第一特征提取器网络或第二特征提取器网络)在特定时间步处输出的数据。动作数据可以包括与在特定时间步处运行哪个特征提取器网络(例如,第一特征提取器网络或第二特征提取器网络)相对应的数据。
[0137]
在904处,方法900可以包括至少部分地基于所述一个或多个批量的推断数据来训练所述自适应交织策略网络。例如,自适应交织策略网络可以被训练以便增加(例如,优化)交织对象检测模型的准确性,同时减少(例如,最小化)交织对象检测模型的延迟(例如,运行时)。
[0138]
附加公开
[0139]
本文所讨论的技术参考了服务器、数据库、软件应用和其它基于计算机的系统,以及所采取的动作和发送到这些系统以及来自这些系统的信息。基于计算机的系统的固有灵活性允许组件之间的任务和功能的各种各样的可能配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用程序可以在单个系统上实现或分布在多个系统上。分布式组件可以顺序地或并行地操作。
[0140]
虽然已相对于本发明主题的各种特定实例实施例详细描述了本发明主题,但以解
释而非限制本发明的方式提供每一实例。本领域技术人员在理解了上述内容之后,可以容易地对这些实施例进行改变、变化和等效替换。因此,本主题公开不排除包括对本领域普通技术人员显而易见的对本主题的这样的修改、变化和/或添加。例如,作为一个实施例的一部分示出或描述的特征可与另一实施例一起使用,以产生又一实施例。因此,本公开旨在覆盖这样的改变、变化和等同物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献