BlazeIt: 优化基于神经网络的视频分析的外文翻译资料

 2022-08-23 15:37:21

英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料


BlazeIt: 优化基于神经网络的视频分析的

声明性聚合和限制查询

Daniel Kang,Peter Ballis,Mati Zaharia

斯坦福大学黎明项目,Blazit @ cus.Stanford.edu

摘要

神经网络(NNs)的最新发展使得能够以高精度自动查询大量视频数据。这些深层的NNs可以在视频中准确地标注出对象的位置和类型,但是它们在计算上很昂贵,并且需要复杂的命令式部署代码来回答查询。先前的工作使用近似过滤来减少视频分析的成本,但是不处理两类重要的查询:聚合查询和限制查询,而且,这些方法仍然需要复杂的代码来部署。为了解决大规模查询视频的计算和可用性挑战,我们引入了BLAZEIT,这是一个优化视频中对象的时空信息查询的系统。 BLAZEIT通过FRAMEQL接受查询,FRAMEQL是用于视频分析的SQL的声明性扩展,支持视频特定的查询优化。我们在BLAZEIT中引入了两种新的查询优化技术,这些是先前的工作所不支持的。首先,我们开发使用神经网络作为控制变量的方法,以快速回答带有错误边界的近似聚合查询。其次,我们提出了一种用于基数受限视频查询的新颖搜索算法。通过这些优化,BLAZEIT可以比最新的视频处理文献提供高达83倍的加速。

1 介绍

最近有两种趋势引起了人们对视频分析的兴趣。 首先,摄像头现在很便宜且已广泛部署,例如仅伦敦就有超过500,000台CCTV [2]。 其次,深度神经网络(DNNs)可以自动生成视频注释。 例如,给定图像或视频帧,对象检测DNN [20]返回一组边界框和对象类。 分析师可以使用这些DNNs从视频的每一帧提取对象的位置和类型,这是一种常见的分析技术[62]。 在这项工作中,我们研究了批处理设置,其中收集了大量视频以供以后分析[6,37,46]。

尽管DNNs是准确的[32],但天真地使用它们有两个关键挑战。 首先,从可用性的角度来看,这些方法需要跨许多底层库(例如OpenCV,Caffe2和Detectron [26])进行复杂的命令式编程,这是一个繁琐的过程。 其次,从计算角度来看,在视频的每一帧上执行对象检测的天真方法在成本上过于昂贵:最新的对象检测(例如Mask R-CNNs [32])每帧运行3帧 秒(fps),这将需要8个GPU十年来处理100个摄像月的视频。

研究人员最近提出了视频分析的优化方法,主要侧重于通过近似谓词进行过滤[6,9,46,55]。 例如,NOSCOPE和TAHOMA训练了更便宜的代理模型进行过滤[6,46]。 但是,这些优化不能处理两个关键的查询类:聚合查询和限制查询。 例如,分析人员可能希望计算每帧汽车的平均数量(汇总查询),或者仅手动检查10辆公交车实例和5辆汽车(极限查询)以了解拥堵情况。 对于这些查询,近似的过滤效率低下,例如,如果90%的帧中包含汽车,则对汽车的过滤不会显着加快对汽车的计数。 此外,这些优化仍然需要非专家用户编写复杂的代码才能部署。

为了解决这些可用性和计算难题,我们介绍了BLAZEIT,这是一种视频分析系统,具有声明性查询语言以及两个针对聚合和限制查询的新颖优化方法。 BLAZEIT的声明性查询语言FRAMEQL扩展了具有视频特定功能的SQL,并允许熟悉SQL的用户发出视频分析查询。 由于查询是声明式表示的,因此BLAZEIT可以使用其查询优化器和执行引擎自动端对端地优化查询。 最后,BLAZEIT为聚合和限制查询提供了两种新颖的优化,其性能超过了以前的工作,包括NOSCOPE [46]和近似查询处理(AQP),最高可达83倍。

FRAMEQL允许用户通过虚拟关系查询视频中对象的信息。 BLAZEIT没有完全实现FRAMEQL关系,而是使用优化来减少对象检测调用的次数,同时根据FRAMEQL查询的规范满足精度保证(图1)。 FRAMEQL的关系表示视频中的位置和对象类别的信息。 鉴于这种关系,FRAMEQL可以在先前的工作[6,9,46,55]中表达选择查询,以及包括聚合和限制查询(第4节)在内的新查询类别。

我们的第一个优化是回答聚合查询,它使用特定于查询的NNs(即专用NN s[46])作为控制变量或直接回答查询(第6节)。 控制变量是一种方差减少技术,它使用与感兴趣的统计量相关的辅助随机变量来减少给定误差范围所需的样本数量[28]。 我们展示如何使用专用NN作为控制变量,是专用NN的一种新颖用法(已用于近似过滤)。 相反,标准的随机采样不能利用代理模型,并且当对象频繁出现时,先前的工作(过滤)效率很低。

我们的第二次优化是为了回答基数受限的查询(例如,使用至少三辆汽车搜索10帧的LIMIT查询),使用代理模型(第7节)评估更可能包含事件的帧上的对象检测。 通过优先搜索框架,BLAZEIT可以在加速查询执行的同时获得准确的答案。 相反,对于频繁的对象,过滤效率低下,而对于稀有事件,随机采样的效率低下。

重要的是,无论专业神经网络的准确性如何,我们的两个优化都可以提供准确的答案或准确性保证。此外,这两种优化都可以扩展为解决查询谓词。

BLAZEIT通过基于规则的查询优化器和有效地执行FRAMEQL查询的执行引擎,将这些优化功能集成到了端到端系统中。 给定查询内容,BLAZEIT将生成优化的查询计划,该计划将尽可能避免执行对象检测,同时保持用户指定的准确性(相对于作为基本事实的对象检测方法)。

我们根据广泛用于研究视频分析[9、37、40、46、70]和两个新视频流的四个视频流的各种查询评估BLAZEIT。 我们证明BLAZEIT可以比以前在视频分析和AQP上的聚合和限制查询分别提高14倍和83倍。

总而言之,我们做出了以下贡献:

1.我们引入了FRAMEQL,一种用于查询视频中对象的时空信息的查询语言,并显示它可以回答各种现实世界的查询,包括聚合,限制和选择查询。

2.我们引入了一种聚合算法,该算法使用控制变量来利用专门的NNs进行比现有AQP方法更有效的聚集,最多可达14倍。

3.我们引入了一种使用特殊NNs的极限查询算法,可以比视频分析和随机采样方面的最新成果提供多达83倍的加速。

2 示例用例

回想一下,我们专注于这项工作中的批处理设置。 我们给出了可以应用BLAZEIT的几种方案:

城市规划。 给定在街道拐角处设置的交通摄像头,城市规划人员将根据汽车数量进行交通计量,并确定最繁忙的时间[69]。 规划者对公共交通与交通拥堵如何相互作用感兴趣[16],并寻找至少10辆公共汽车和至少5辆汽车的事件。然后,规划者试图了解旅游业如何影响交通,并寻找红色巴士作为旅游巴士的代理(见图3)。

自主车辆分析。当AVs处于黄灯前且人行横道中有多个行人时,研究AVs的分析人员会注意到异常行为[23],并进行搜索。

店铺计划。零售商店的所有者将CCTV放置在商店中[66]。 所有者将视频划分为通道,并计算通过每个通道以了解客户流的人数。 此信息可用于计划存储和过道布局。

鸟类学。鸟类学家(研究鸟类的科学家)对了解鸟类的喂养方式很感兴趣,因此将网络摄像头放在鸟类喂食器的前面[1]。 然后,鸟类学家将不同的鸟类喂食器放置在喂食器的左侧和右侧,并计算访问每一侧的鸟类数量。 最后,鸟类学家可能会选择红色或蓝色的鸟类作为物种的代理。

这些查询可以使用视频中对象的时空信息以及框内容上的简单用户定义函数(UDF)来回答。 因此,这些应用说明了对表达这种查询的统一方法的需求。

3 BLAZEIT系统概述

BLAZEIT的目标是尽快执行FRAMEQL查询; 我们在sect;4中描述FRAMEQL。 为了执行FRAMEQL查询,BLAZEIT使用目标对象检测方法,实体解析方法和可选的用户定义函数(UDF)。 我们将在本节中描述这些方法的规范,并在sect;8中描述默认值。 重要的是,我们假设提供了对象检测类类型。

BLAZEIT通过使用第六节和第七节所述的技术来避免实现,从而快速执行查询。 BLAZEIT使用代理模型,通常是专门的神经网络[46,68]来避免数学化(图1b),我们将在下面进行描述。

3.1 组件

构造。我们假设目标对象检测方法是通过以下API实现的:

OD(frame) Setlt;Tuplelt;class, boxgt;gt; (1)

并提供了对象类(即类型)。我们假设实体分辨率采用两个附近的帧和框,如果框对应于同一对象,则返回true。尽管我们提供了默认设置(第8节),但是可以更改对象检测和实体解析方法,例如,可以使用车牌读取器来解决汽车的身份问题。UDF可以用于回答更多复杂的查询,例如确定颜色,按对象大小或位置进行过滤或细分类。UDF是接受时间戳,掩码和矩形像素集的功能。例如,要计算对象的“红色”,UDF可以对像素的红色通道求平均。

目标模型注释集(TMAS)。在摄取时,BLAZEIT将使用目标对象检测NN对视频的一小帧样本执行对象检测,并将元数据存储为FRAMEQL元组,我们将其称为目标模型注释集(TMAS)。 当数据被提取而不是针对每个查询提取时,即完成此过程,即数据执行一次,脱机执行,并在以后共享给多个查询。 对于给定的查询,BLAZEIT将使用此元数据来具体化训练数据以训练特定于查询的代理模型;第六节和第七节中提供了详细信息。TMAS分为训练数据和保留数据。

代理模型和专用NNs. BLAZEIT可以从查询谓词推断代理模型和/或过滤器,其中许多必须从数据中进行训练。这些代理模型可用于通过准确性保证来加速查询执行。

在整个过程中,我们使用专用的NNs[46,67],尤其是微型化的ResNet [33](第八节)作为代理模型。 专用NNs是在简化任务上(例如在较大NNs的边际分布上)模仿较大NN(例如Mask R-CNN)的NNs。 当专业的NNs预测输出更简单时,它们的运行速度将大大加快。

BLAZEIT将推断是否可以从查询规范中训练专门的NNs。例如,为了复制NOSCOPE的二进制检测,BLAZEIT会推断帧中是否存在感兴趣的对象,并训练专用的NNs进行预测。 先前的工作已经使用专门的NNs进行二进制检测[31,46],但是我们扩展了专门的聚合和限制查询。

3.2 局限性

尽管BLAZEIT可以比以前的工作回答更多范围的视频查询,但我们强调了一些限制。

TMAS。BLAZEIT要求对象检测方法在部分数据上运行,以训练专用NN和过滤器作为预处理步骤。 其他当代系统也需要TMAS [37,46]。

模型漂移。BLAZEIT的目标是批次分析设置,我们可以在此对TMAS i.i.d进行采样。 从可用数据中。 但是,在流传输设置中,数据分布可能会发生变化,BLAZEIT仍将提供准确性保证,但性能可能会降低。也就是说,相对于目标模型,BLAZEIT专业NN的准确性可能会降低。 结果,BLAZEIT可能会更慢地执行查询,但是重要的是,这不会影响准确性(第5节)。 可以通过标记一部分新数据并监视漂移或连续重新训练来减轻这种影响。

对象检测。 BLAZEIT取决于目标对象检测方法,并且不支持该方法返回的对象类别,例如,预训练的Mask R-CNN [26,32]可以检测汽车,但不能区分轿车和SUV。但是,如果需要,用户可以提供UDF。

4 FrameQL:表达复杂的时空视觉查询

为了满足视频分析上统一查询语言的需求,我们引入了FRAMEQL,这是SQL的扩展,用于查询视频中对象的时空信息。 通过使用标准关系代数提供类似表格的架构,我们使熟悉SQL的用户能够查询视频,而手动实施这些查询则需要深度学习,计算机视觉和编程方面的专业知识。

FRAMEQL受先前用于视频分析的查询语言的启发[18、48、50、54],但是FRAMEQL专门针对可以使用计算机视觉方法自动填充的信息。 我们将在本节末尾详细讨论差异。

FRAMEQL数据模型。 FRAMEQL将视频(可能以H.264格式压缩)表示为虚拟关系,每个视频具有一个关系。 每个FRAMEQL元组对应一个框架中的单个对象。 因此,一帧可以具有零个或多个元组(即,零个或多个对象),并且同一对象可以具有与其相关联的一个或多个元组(即,出现在多个帧中)。

我们在表1中显示FRAMEQL的数据模式。它包含与时间,位置,对象类别和对象标识符,框内容以及对象检测方法的功能有关的字段。BLAZEIT可以通过对象检测方法(请参见等式1)自动填充遮罩,类和特征,从实体解析方法自动填充trackid,并从视频元数据填充时间戳和内容。 用户可以覆盖默认对象检测和实体解析方法。例如,鸟类学家可以使用可以检测不同种类鸟类的物体检测器,但是自动驾驶车辆分析人员可能根本不需要检测鸟类。

FRAMEQL查询格式。FRAMEQL允许对象的选择,投射和聚集,并且通过返回关系可以与标准关系运算符组成。 我们在图4中显示了FRAMEQL语法。FRAMEQL通过三种方式扩展了SQL:GAP,用于指定容错的语法(例如ERROR WITHIN)和FCOUNT。 值得注意的是,我们不支持连接,因为我们在本文

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[237032],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。