APP下载

基于端云协同的目标检测跟踪自适应调度算法

2021-08-09谭光李昌镐詹昭焕

关键词:时延云端调度

谭光 李昌镐 詹昭焕

(中山大学 智能工程学院,广东 深圳 518106)

随着5G时代的到来,无人驾驶、增强现实(AR)设备、虚拟现实(VR)设备、智能家居等移动端应用开始逐渐涌现,视频检测任务对于这些应用是不可或缺的,例如在十字路口的摄像头检测到行人闯红灯,可以通过警示灯给汽车驾驶者发出一个信号,避免交通事故的发生。基于AR视频的应用发展前景广阔,例如当用户购物时,AR应用程序能够实时地对商品进行识别,帮助视力障碍人士导航[1]。这些应用要求移动设备能够准确、连续、实时地检测和跟踪物体,帧率达到30 f/s甚至60 f/s[2]。

为了支持这些移动端视频应用,目标检测系统必须准确地识别物体并标注物体的位置。基于深度神经网络(DNN)的目标检测方法是当今目标检测领域最先进的技术[3],YOLO[4]、SSD[5]等深度学习模型能够获得很好的检测效果。将基于深度神经网络的图像检测算法应用到视频中,把视频的每一帧当做图像进行检测是视频检测的一个主要方法,但由于视频中存在目标遮挡、运动模糊、形态变化多样性等问题,会导致一些帧中出现目标检测精度低的问题[6],而且虽然DNN能够获得高的目标检测准确率,但它通常涉及大量的计算,移动设备上有限的硬件资源无法完全支持这些计算。最近,YOLOv3-tiny[7]、Faster R-CNN[8]等DNN压缩模型可以在移动端运行目标检测任务,但它们的检测准确率不高。与此同时,一些轻量化深度学习模型能够获得较好的检测性能,但不能满足视频处理的实时性,如文献[9]所设计的系统虽然可以获得较高的检测精度,但处理一帧的时间为0.5~1.0 s,不满足实时性要求。移动端的检测模型均需要较大的能耗,不利于移动设备的长时间续航,文献[10]设计了一个节能的目标检测和跟踪系统,仅在需要的时候调用DNN模型检测物体,并采用轻量级跟踪方法跟踪物体,该系统可以降低73.3%的能量损耗。

近些年,云计算技术取得了飞速的发展,它是一种将计算任务卸载到云端服务器的分布式计算方法,已广泛应用于各个领域。文献[11]提出了一种将检测任务卸载到云端的目标检测系统,使用活动缓存存放视频帧,用目标跟踪算法跟踪这些视频帧,选择触发帧发送到云端检测。然而,传统云计算无法满足移动端应用对网络时延、抖动、安全性等的要求[12]。当网络状况较差,网络时延较大时,云计算反而会使移动端应用无法正常工作。例如,在长期演进(LTE)网络上,移动端发送一个视频帧至服务器到移动端接收到检测结果大约需要700 ms,这时视频已经播放了20多帧,被定位的对象可能已不在检测结果的标注框周围[13]。因此,在移动端实现实时、准确的检测和跟踪并减少设备能耗成为了一个挑战。

由于移动端设备的计算能力较弱且深度学习的目标检测任务需要在服务器上执行,因此,在设计有效的移动端目标检测系统时,需要考虑如下问题:

1)准确率和时延的权衡。依赖深度学习的AR应用有不同的精度和延迟要求[14]。例如,在超市购物用于推荐产品的AR技术对检测实时性的要求高于对检测精度的要求;而在学校的人脸认证系统中,工作人员需要得到准确的身份认证信息,对检测的准确性有更高的要求。

2)时延的来源。当视频检测任务发送到云端执行时,时延来自于在网络上的数据传输时间加上深度学习模型的计算时间,当视频检测任务在本地执行时,时延只受深度学习模型的运算时间的影响。前人的工作主要通过将深度学习模型轻量化以减少模型的计算时间,但网络时延通常远远高于计算时延[15]。

3)任务调度的重要性。当深度学习的任务在移动端执行时,在消耗计算资源和内存资源的同时,会消耗大量的电池能量,为了延长电池的使用时长,必须尽量减少本地的计算消耗,所以将检测任务发送到云端执行是一个高效且可行的方案。由于目标跟踪的能耗小于目标检测的能耗,在目标检测中加入目标跟踪,本地必须根据实时情况选择策略调度方式,因此,任务调度在端云协同系统中起着重要的作用。

针对以上问题,本文首先针对不同场景变化速度的视频,研究跟踪误差变化速度与场景变化之间的关系;接着提出一个针对端云协同系统的用户体验指标(QoE)[16],通过这个指标来权衡用户对目标检测精度和能耗的要求,使用户获得最佳的综合体验质量;然后将QoE作为优化目标,设计了一种目标检测跟踪自适应调度(DTAS)算法,该算法通过预测网络带宽、计算传输时延对目标检测和目标跟踪任务进行调度;最后在KITTI视频图像数据集上进行实验,以验证该检测跟踪自适应算法的有效性。

1 视频检测系统及目标检测跟踪调度算法

在端云协同系统的目标检测与跟踪过程中,针对视频中新出现的目标,考虑到其目标检测任务的需求,需保证目标检测的精度。针对视频中已检测到的目标,考虑到其跟踪任务的需求,需要将目标跟踪到一定的准确程度。同时,考虑到用户的体验,设备需要有尽可能长的使用时间,设备系统需要具备实时处理的能力。因此,本文算法应具有以下优点:①低功耗。对于电量受限的移动设备,系统需要在低功耗下实现目标跟踪。②高准确度。在场景不断变化的情况下,视频中的物体需要被准确地分类和定位,避免检测错误和跟踪不准确带来的用户体验下降。③实时性。为了满足人类对现实世界的感受,目标检测和跟踪需要达到实时,也就是展示的视频结果必须达到人眼可分辨范围以上。

1.1 系统概述

本文的检测跟踪自适应调度算法是在端云协同系统框架下应用的,首先需要搭建一个端云协同系统,端云协同系统的框架如图1所示。

系统的输入是从相机获取的视频帧,输出为已经目标识别和定位的视频帧。首先,对缓冲区中的第一个视频帧进行检测,把检测结果发送到移动端。后续视频帧逐个发送给调度模块,调度模块根据对带宽预测值、目标跟踪误差、新物体扰动误差和能耗的综合分析,获得一个决策结果,选择将下一帧发送给跟踪器或检测器,实现移动端对目标跟踪和检测任务的调度。

在此系统中,跟踪和变化检测器用来测量并记录目标跟踪误差和新物体扰动误差。带宽预测模块根据前一段时间的带宽,预测下一时刻的带宽。目标跟踪器用来跟踪目标物体,本地检测器和云端检测器用来检测接收到的视频帧。

图1 端云协同系统框架

为了满足视频帧检测的准确性,本文采用了YOLOv5检测算法。YOLOv5是最新提出来的目标检测模型,模型结构与YOLOv4[17]相近,使用了多种数据增强技术,通过训练数据自动学习得到锚定框,使用CSPDarknet作为特征提取网络,从输入图像中提取丰富的信息特征,使用特征金字塔增强模型对不同缩放尺度对象的检测,从而能够准确快速地识别不同大小和尺度的物体。YOLOv5能在TeslaP100上实现140 f/s的快速检测,相较而言YOLOv4的基准结果是在50 f/s速度下得到的,而且YOLOv5的大小仅有27 MB,单一图像的检测时间能够达到7 ms,具有很好的实时性。

本文采用核相关滤波(KCF)目标跟踪算法[18]作为跟踪器。基于相关滤波的KCF目标跟踪算法是一种鉴别式追踪方法,它通过图像的矩阵循环增加训练样本,训练一个目标检测器,使用目标检测器获取下一帧预测位置是否存在目标,然后根据新的检测结果去更新训练集,以此循环。KCF在目标跟踪的准确率和实时性上都具有很好的表现,具有连续性和实时性的优点。

1.2 跟踪误差分析

移动设备在执行目标跟踪任务时,误差会随着跟踪的视频帧数逐渐积累,导致目标跟踪不准确。因此,在跟踪误差积累到一定程度时,需要将视频帧发送到本地或云端进行目标检测,降低跟踪误差,使误差稳定在一个较低的范围内,提升检测精度,使用户得到好的体验质量。

在目标跟踪过程中,视频内容的变化速度会影响跟踪质量,图2展示了两个不同视频内容变化下目标跟踪算法的平均跟踪误差,其中视频1的场景变化速率大于视频2。随着误差的不断积累,跟踪误差不断地增大,视频1的误差累积速度比视频2更快。在视频1中,第7帧时跟踪误差已经累积到0.5,而在视频2中,第14帧时跟踪误差才累积到0.5。

图2 场景变化速度不同时的跟踪误差

1.3 QoE标准

为了评价客户端用户对端云协同系统质量和性能的主观感受,从用户的角度得到系统中视频内容为用户带来的舒适程度,本文使用用户体验质量(QoE)作为评价指标。在视频图像处理的端云协同系统中,视频帧的检测精度是影响QoE的主要因素,这里的检测精度主要由标签识别的准确度和目标框的精准度决定。由于移动设备受硬件条件的限制,只有固定的电量储备,移动设备的使用时长也影响着用户体验质量。用户的目标是在有限的电量储备下尽可能地延长设备使用时间,在移动设备上体现为在单位时间内尽量减少设备能耗,因此设备能耗也是影响QoE的重要因素。综上所述,影响QoE的关键因素主要有:

1)检测精度。检测精度直接影响到用户体验的好坏。为了评估目标框的检测精度,本文使用交并比(IoU)作为测量指标,目标的IoU被定义为

(1)

式中,Di是检测得到的目标框,Gi是正确标注的目标框,实验中将IoU>0.5的检测目标框作为成功跟踪的目标。本文用F1测量每一帧的检测精度,F1的计算式为

F1=2(P-1+R-1)

(2)

当用户需要较高的检测精度时,可能会因为检测时延产生较大的跟踪误差,在本地检测也会消耗较大的电量,这3个指标具有冲突性,不能兼得。根据用户对以上3个指标有不同的偏好,本文定义一个综合性的指标QoE来代表总的用户体验,

(3)

式中,λ和μ分别是跟踪误差和能耗的非负加权参数。

1.4 目标检测跟踪自适应调度算法

设Dl、Dc320、Dc608、DT分别表示本地检测、在云端检测上传分辨率为320×320的图像、在云端检测上传分辨率为608×608的图像、本地跟踪,则t时刻系统的决策方式为at=(Dl,Dc320,Dc608,DT)。

系统的奖励可分为预检测精度、跟踪误差、能耗大小。

预检测精度根据每个模块的检测质量来定义,预检测精度可根据每个检测模块的平均检测精度设置预定值,设本地预检测精度为Al,在云端上传分辨率为320×320图像的预检测精度为Ac320,在云端上传分辨率为608×608图像的预检测精度为Ac608。跟踪的预检测精度继承上一个检测行为的检测精度,初始值设为0。

如果仅根据每个检测模块的平均检测精度确定预检测精度,在系统运行过程中,若出现某个检测模块检测时延较长,则预先设定的检测精度奖励值会不符合实际用户体验,因此需要根据每个检测模块的时延,设置一个动态的预检测精度奖励值。

(4)

(5)

(6)

设本地检测、在云端检测上传分辨率为320×320图像、在云端检测上传分辨率为608×608图像的初始预检测精度分别为A1、Ac320、Ac608,则相应的预检测精度分别为

(7)

(8)

(9)

目标跟踪的预检测精度q(AT)继承自上一个检测行为的检测精度,即q(AT)=q(Ai),Ai分别表示Al、Ac320或Ac608,根据跟踪之前检测的决策方式决定。

在运行不同模块时,可通过测量获得不同模块的能耗值,本地检测、在云端检测上传分辨率为320×320图像、在云端检测上传分辨率为608×608图像、目标跟踪的能耗值分别表示为Bl、Bc320、Bc608、BT。因为实验中各模块的能耗值变化不大,所以根据对不同模块的测量,将Bl、Bc320、Bc608、BT分别设定3.5、1.0、1.8、0.3。

本地检测主要受预检测精度和能耗的影响,其中预检测精度受检测时延的影响。云端检测主要受预检测精度和能耗的影响,预检测精度受检测时延的影响。目标跟踪受跟踪误差和能耗的影响。综上所述,每一个决策行为都至少受到一个指标的影响。为了平衡用户需求,使用检测跟踪自适应调度算法选择不同的决策行为。因此,奖励函数映射关系为r:S×Λ→R(S、Λ、R分别表示状态、决策方式、奖励的集合),奖励函数为

rt=r(st,at)

(10)

(11)

2 仿真实验

针对端云协同系统,本文搭建了一个仿真实验平台,该平台由一个云服务器和一个移动端组成,移动端设备的内存和计算能力是受限的,网络信道条件是时变的,移动端用户根据任务需求与云端协作,获得对任务的分配和管理。

2.1 数据集

2.1.1 网络带宽数据集

网络带宽指在单位时间内能传输的数据量,是衡量网络特征的一个重要指标。本实验使用高速下行链路分组接入(HSDPA)移动数据集[19]。HSDPA是一种移动通信协议。HSDPA移动数据集是一个网络带宽数据集,常用于与网络相关的应用中。

2.1.2 视频图像数据集

本实验使用KITTI视频图像数据集[20]。KITTI数据集包含市区、乡村和高速公路等场景采集的真实图像数据,每幅图像中最多有15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对光流图和立体图像组成,以10 Hz的频率采样及同步。在本实验中,对轿车、货车、卡车、行人和自行车5个物体类别进行检测与识别,计算所有类别的F1,从而评判端云协同系统的视频检测精度。

2.2 实验结果与分析

检测跟踪自适应调度算法通过将QoE用户体验指标作为优化目标,综合考虑目标检测及跟踪精度和能耗对用户的影响,使调度算法能够综合全面地进行策略选择。

图3是某个带宽轨迹下检测跟踪自适应调度算法的仿真实验结果。可以看出:随着误差的累积,当网络带宽较小时,调度算法能够自适应地选择本地检测Dl;当网络带宽适中时,调度算法可以自适应地选择云端检测Dc320;当网络带宽较大时,调度算法可以自适应地选择云端检测Dc608。

图4为在同一网络带宽条件下场景变化时自适应调度算法的仿真实验结果。在包含449个采样时刻的网络带宽数据中,当视频内容变化速率较快时,跟踪误差累积速度变快,检测精度损失速度加快,检测模块的调度次数较多,为143次;当视频内容变化速率较慢时,跟踪误差累积速度变慢,检测精度损失速度较慢,检测模块的调度次数较少,为79次。

图3 自适应调度算法的仿真实验结果

图4 场景变化时自适应调度算法的仿真实验结果

可见,随着场景变化速率的不同,调度算法可以自适应地选择适应于场景变化的决策方案,以应对视频内容变化速率不同带来的跟踪误差累积速度的变化,选择合理的检测模块调度次数,在保持检测精度的同时,将跟踪误差维持在一个相对稳定的范围内。

为了验证检测跟踪自适应调度算法的有效性,采用固定策略调度方法进行了仿真实验对比,结果如表1所示。记固定策略调度算法本地检测为sim_Dl、云端检测上传分辨率为320×320图像为sim_Dc320、云端检测上传分辨率为608×608图像为sim_Dc608。

表1 不同算法的仿真实验结果对比

如果对每一帧都进行检测,无论是本地还是云端都会产生时延,显然无法满足实时性,需要使用固定策略调度方法以满足对视频检测实时性的要求。在实验中,使用本地目标检测和跟踪的固定策略,其参数设置为每隔5帧进行一次目标检测,未检测帧利用上一个已检测帧的结果使用目标跟踪方法进行跟踪。由于云端检测不仅产生检测时延,还会有传输时延,考虑到云端检测时延较长,故使用云端目标检测和跟踪的固定策略调度方式,其参数设置为每间隔9帧进行一次目标检测,未检测帧利用上一个已检测帧的结果采用目标跟踪方法进行跟踪。

DTAS算法可以根据实际的网络带宽变化,选择合适的调度时机和检测方式,这样不仅可以保证系统的检测精度,还能够降低系统的能耗,增强实时性。如表1所示,在68个网络带宽轨迹中,DTAS的平均QoE值最高,比sim_Dl提升了17.0%,比sim_Dc320提升了73.6%,比sim_Dc608提升了120.4%。在综合考虑目标检测精度和能耗等因素的情况下,DTAS算法的QoE均有较大提升。尤其相对于云端检测方法,DTAS的QoE增加1.5~3倍,有效地提高了用户体验质量。

表1还表明:DTAS算法的检测精度能够达到78.3%,相对固定策略调度算法精度损失很小,能够保持较好的检测效果;相比固定策略调度算法的3种决策方式,DTAS算法的能耗值成倍地降低,可以大量减小移动设备的耗能,延长电池的使用时间。

3 结语

针对移动设备计算储存能力受限、云计算时网络不稳定等问题,本文提出了一种基于端云协同系统的目标检测跟踪自适应调度算法。该算法通过对目标检测和跟踪任务的调度,使移动设备在保证检测精度的同时大幅减小能耗,延长设备使用时间。实验使用HSDPA带宽数据集模拟端云之间的网络信道变化,通过KITTI视频数据集分析场景变化速度与跟踪误差的关系,结果验证了所提出的检测跟踪自适应算法的有效性。目前,本文算法的用户体验指标只加入了对检测精度和能耗的考量,没有考虑用户对物体数量、具体应用场景的需求,检测帧的选取方式对数据有较高的要求,仅在仿真移动平台上进行实验,后续将在移动设备平台下进行测试,并做更深入的研究。

猜你喜欢

时延云端调度
基于智慧高速的应急指挥调度系统
四海心连·云端汇聚
计算机网络总时延公式的探讨
计算机网络总时延公式的探讨
基于增益调度与光滑切换的倾转旋翼机最优控制
在云端永生
云端之城
基于强化学习的时间触发通信调度方法
基于动态窗口的虚拟信道通用调度算法
《舍不得星星》特辑:摘颗星星给你呀