李昌镐,谭 光
(中山大学智能工程学院,广东 深圳 518106)
信息技术的快速发展使得无人驾驶、AR和VR等移动设备开始不断涌现,在这些移动设备上搭载视频监控等视觉分析系统已成为主流。为了支持这些移动视觉应用,视觉分析系统必须准确地识别和标注物体的位置。例如,高速公路摄像头检测到超速驾驶行为,可以锁定并跟踪超速车辆,在下一个测速点对前车发出警示信号,提醒前车及时避让。基于AR的视频应用发展迅速,这些应用需要连续且实时地检测和跟踪视频中的目标[1]。
近些年来,深度卷积神经网络(Deep Neural Network, DNN)在图像目标检测领域迅速普及,而且相较于传统方法取得了更好的效果,将基于深度神经网络的图像检测算法应用到视频中,把视频的每一帧当作图像进行检测是视频目标检测的一个主要方法。DNN模型能够获得高的准确率,但它通常涉及大量的计算,移动设备上有限的硬件计算资源无法完全支持这些计算。最近,YOLOv3-tiny[2], YOLOv4-tiny[3]等模型可以在移动设备运行目标检测任务,但它们检测的准确率不高,且会产生大量能耗。
在移动视觉目标检测领域主要有两种类型的方法,分别为基于云端的实时目标检测方法和基于本地的实时目标检测方法。在基于云端检测的方法中,Glimpse[4]在移动端开辟一个活动缓存以存储一些有代表性的视频帧子集,然后在其中选取一些关键帧发送到云端进行检测。但它没有考虑到网络变化带来的影响。DeepDecision[5]和MCDNN[6]设计了一个框架,该框架根据网络条件决定将任务卸载到云端还是在本地执行,但任务仅考虑了网络条件的影响,没有考虑实时性和精度,尤其是移动检测实时性无法满足。而基于本地检测的方法MARLIN[7]会依次执行目标检测和目标跟踪,当目标跟踪开始跟踪累积帧中的目标时,目标检测器将停止其检测任务,但当视频内容变得复杂场景变化迅速时,MARLIN很可能产生视频帧积压问题。并且在视频处理期间,始终使用相同的DNN模型设置,这无法适应在不同检测环境下对DNN模型检测延迟的要求,检测效率会受到很大程度影响。与MARLIN不同,AdaVP[8]并行运行目标检测器和目标跟踪器,并根据视频内容的变化率在不同的模型设置之间切换,但由于并行pipeline的同时使用,会导致设备电能的大量损耗,无法长时间支持一个移动端设备的使用。
针对以上问题,本文提出了一个基于目标检测与目标跟踪相结合的目标检测框架,在此框架下对视频帧的处理方式进行调度,结合目标检测在检测精度上的优势和目标跟踪的低能耗低时延,提高用户对检测系统应用的体验质量。本文主要贡献包括以下两个方面:①建立了一套用户体验质量(Qualityofexperience, QoE)衡量指标。基于此设计了一个基于端云协同的移动视觉目标检测系统,并分析视频内容变化速率对系统性能的影响。②提出基于鲁棒模型预测控制的检测跟踪调度算法。在检测跟踪框架下,该算法通过预测未来网络带宽和不同视频场景变化速度下跟踪误差的变化,进而指导算法进行优化和控制。实验证明,文中提出的调度算法可以有效地利用已有网络和计算资源,在尽可能低能耗的情况下减少跟踪器漂移导致的精度损失,在复杂场景变化条件下保证一定的检测精度,达到1.9%-67.5%的QoE提升和3.3%-51.5%的能耗降低,使移动视觉目标检测系统达到最优性能。
对于移动视觉目标检测系统而言,用户在观看视频时,会受到视频目标检测质量的影响,并且移动设备的使用时长也会影响用户的体验,因此本文的目的是以下三点:①低功耗:对于电量受限的移动设备,系统需要在低功耗下实现目标跟踪。②准确度:在场景不断变化的情况下,视频中的物体需要被准确地分类和定位,避免检测错误和跟踪不准确带来的用户体验下降。㈢实时性:为了满足人类对现实世界的感受,目标检测和跟踪需要达到实时效果。
为了评价移动端用户对视频目标检测系统质量和性能的主观感受,从用户角度得到系统中视频内容为用户带来的舒适程度,使用用户体验质量作为评价指标。在视频图像处理的端云协同系统中,视频帧的检测精度是影响QoE的主要因素,这里的检测精度是由标签识别的准确度和目标框的精准度来决定。移动设备也受硬件条件的限制,只有固定的电能储备,移动设备的使用时长也影响着用户体验质量。用户获得综合体验的目标是在有限的电量储备下尽可能地延长设备使用时间,在移动设备上体现为在单位时间内尽量减少设备能耗,因此设备能耗也是影响QoE的重要因素。综上所述,影响QoE的关键因素检测精度、跟踪误差和能耗。
根据用户对以上三个部分有不同的偏好,本文定义一个综合性QoE来代表总的用户体验,具体公式如下
(1)
在设计视频用户体验指标之后,需要建立一个视频目标检测系统来实现视频用户体验质量的最大化。本文搭建一个端云协同系统,端云协同系统的框架如图1所示。
系统的输入是视频帧,输出为已经得到目标识别和定位结果的视频帧。首先,将缓冲区里的第一个视频帧进行检测,把检测结果发送到移动端。后续视频帧逐个发送给调度模块,调度模块根据对带宽预测值、目标框内跟踪误差、目标框外扰动误差、场景变化速率和能耗的综合分析,获得一个决策结果,选择将下一帧发送给跟踪器或检测器,实现移动端对视频目标检测任务的调度。
系统中不同模块的作用如下:
1)本地检测器:用于在本地对视频帧进行目标检测,使用YOLOv5s作为本地检测模型。
2)云端检测器:用于在云端对视频帧进行目标检测,使用YOLOv4[9]作为云端检测模型。
3)目标跟踪器:用于在移动端对输入的视频帧进行目标跟踪,使用Lucas-Kanade法[10]对目标进行跟踪。
4)跟踪误差和变化检测器:用于对目标框内跟踪误差、目标框外扰动误差和场景变化速率进行测量计算。
5)带宽预测器:用于对移动端与云端之间的网络带宽进行预测。
6)调度模块:用于根据当前状态对视频帧序列的检测与跟踪行为进行调度。
视频目标检测系统是根据当前状态选择决策方式进行调度,以达到用户体验质量的最大化。本系统的状态可表示为
(2)
图1 系统架构
本系统的决策方式包括本地检测(Dlocal),云端检测上传分辨率320×320 (Dcloud320),云端检测上传分辨率608×608 (Dcloud608),跟踪(T)。所以可得到决策为:
ak=(Dlocal,Dcloud320,Dcloud608,T)
(3)
移动设备进行目标跟踪任务时,跟踪误差会随着跟踪的视频帧数逐渐积累,跟踪误差的变化速度也会受到视频内容变化率的影响。在跟踪误差积累到一定程度时,需要将视频帧发送到本地或云端进行目标检测,降低跟踪误差,使误差稳定在一个较低的范围内,才能提升检测精度。
如2图是两段变化率不同的视频内容,可以看出当场景变化速度较快时,视野中的所有物体都有快速的位移变换,所有物体图像特征的平均速度很大。当视频中目标变化速度慢时,特征的平均移动速度保持在1-1.2之间,当视频中目标变化速度快时,特征的平均移动速度会提升到1.45以上。
图2 视频场景变化速率对比图
在目标跟踪过程中,视频内容的变化率会影响跟踪质量,图3展示了两个不同视频内容变化速度下目标跟踪算法下的跟踪表现,其中video1的场景变化速率大于video2。随着场景内物体的移动,导致误差的不断积累,跟踪误差不断地增大,video1的误差累积速度比video2更快。在video1中,第12帧时跟踪误差已经累积到5,而在video2中,第27帧时跟误差才达到5。可见视频内容变化率对于跟踪精度的影响。
图3 不同场景变化速度下目标跟踪误差对比图
移动视觉目标检测和跟踪的调度本质上是一个随机最优控制问题。在最优控制方面,有两种众所周知的算法,比例积分微分(PID)控制和基于马尔科夫决策(MDP)过程的控制。与MPC相比,PID在计算上更简单,但它通常在稳定的线性系统中起作用,不能在非线性系统中应用。另外,PID控制只能在连续的时间和空间中工作,在这种高度离散的系统中使用会导致性能下降或者不稳定。对于MDP,可以将网络吞吐量状态转换为马尔科夫决策过程,但这必须满足网络吞吐量遵循马尔科夫决策场,这尚不清楚。MPC广泛应用于工业控制和导航等不同领域,可以在约束条件下通过预测进行在线优化动态系统中复杂的控制目标。在本实验中选用MPC作为控制调度算法。
理想情况下,只要对未来网络带宽和场景变化速率有一个准确的了解,系统就可以选择最佳决策方式以解决QoE最优化问题。但实际上,未来的场景变化速率与未来视频帧的内容有关,在线情况下无法准确得知未来视频内容信息。与此同时,实时地网络带宽变化很难通过离线优化来得到完美的预测信息。尽管无法得到精准的未来信息,但通常情况下,场景变化和网络条件在短时间内相对稳定,在几秒内不会发生急剧变化。基于这个假设,在约束条件下系统通过预测未来视野内场景变化率和网络带宽,利用MPC在线优化移动视觉目标检测系统中的视频QoE。
图4 模型预测控制结构图
如图4,为本系统的模型预测控制算法结构图。该算法通过分析向前视野N步的最优策略以选择决策方式,进而解决QoE最优化问题。第一步的决策方式是本地目标检测,之后在每一帧迭代优化。设在第k帧,MPC算法向前探索N步,然后根据以下三步进行决策。
1)预测:预测未来N步的网络吞吐量和场景变化速率,这里本实验使用常规的滑动窗口方法对带宽和场景变化率进行预测,实验中取N=3。
2)滚动优化:这是MPC算法的核心部分,使用跟踪误差,能耗值,场景变化速率预测值和带宽预测值,指导优化方法得出一个决策。在第k帧,系统的决策方式为:
(4)
系统的优化目标是在一定能耗速度的约束下,最大化视频用户体验质量,可表示为:
(5)
3)决策:通过优化给出决策后,移动端选择视频帧的处理方式,进行相应的任务。
(6)
而此时视频QoE约束问题变为最大最小值优化问题,此时系统的目标函数变为
(7)
因此为了对预测带宽进行修正,防止带宽预测器高估未来带宽,实验通过统计过去X个时间步真实带宽与预测带宽的差值,引入预测误差err作为修正系数,计算得到正确的预测带宽
(8)
(9)
本文将采用修正后的带宽预测方式的模型预测控制算法称作鲁棒MPC算法。
网络带宽指在单位时间内能传输的数据量,是衡量网络特征的一个重要指标。本实验使用HSDPA mobile dataset[11],它是一个网络带宽数据集,常用作与网络相关的应用中。本实验使用的视频图像数据集是KITTI数据集[12]。KITTI是被广泛应用于视频图像检测和自动驾驶等多目标跟踪领域,包含城市街道、乡村公路、电车轨道和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对光流图和立体图像组成,以10Hz的频率采样及同步,因此在动态镜头下该数据集的场景变化较快。
为了验证鲁棒MPC检测跟踪调度算法DTr_mpc的有效性,实验对比了固定策略调度算法DTlocal、贪心调度算法DTgreed和MPC调度算法DTmpc。其中固定调度策略算法仅使用移动端检测跟踪策略DTlocal加以对比,分别为每跟踪3帧本地检测1帧的策略DTlocal-3和每跟踪5帧本地检测1帧的策略DTlocal-5。
图5 不同算法检测精度对比图
实验对不同算法的检测精度进行对比。如图5,在两种不同IOU值下,不同调度算法的F1score。在IOU为0.6时,DTlocal-3、DTlocal-5、DTgreed、DTmpc和DTr_mpc分别可以得到79.8%、71.4%、77.3%、79.4%和80.1%的检测精度,其中DTr_mpc比最低的DTlocal-5的准确率高8.7%。在IOU为0.5时,DTlocal-3、DTlocal-5、DTgreed、DTmpc和DTr_mpc分别可以得到83.1%、75.6%、81.7%、82.9%和83.9%的准确率,DTr_mpc比其它调度算法的准确率提高0.8%-8.3%。说明鲁棒MPC调度算法能够在系统执行移动视觉任务时,可以保证有效的检测精度,相比于其它几种调度算法,DTr_mpc在精度上有一定提升。
图6 QoE累积函数分布图
图6展示了每个调度算法在整个处理过程中的累积概率分布。由于固定调度策略DTlocal-3和DTlocal-5调度方式只有本地目标检测和跟踪,而本地检测受能耗影响较大,所以无法得到高于0.92的QoE值,概率分布曲线也不是均匀分布。鲁棒MPC调度算法DTr_mpc相比于贪心调度算法DTgreed和MPC调度算法DTmpc可以获得更多大于0.8的QoE,这说明DTr_mpc可以在网络波动较大时,保持每一步决策的最高QoE,有更优的性能。
从表1中可以看出,在12个网络带宽轨迹中,DTr_mpc的视频QoE相比于DTlocal-3有23.7%提升,相比于DTlocal-5有67.5%提升,相比于DTgreed有4.1%提升,相比于DTmpc有的1.9%提升,达到了最高的用户体验质量。与此同时,DTr_mpc比固定调度算法DTlocal-3降低了51.5%的能耗,对比DTgreed和DTmpc,DTr_mpc的能耗值也可以降低3.3%-7.8%,所以鲁棒MPC调度算法可以减少移动设备的耗能,延长移动设备的使用时间,在能耗方面达到了最优化。
表1 不同调度算法结果对比
综上所述,鲁棒MPC检测跟踪调度算法能够在网络带宽持续波动的情况下,综合考虑网络条件和视频场景速率变化情况,权衡目标检测精度和能耗等因素,使移动视觉目标检测系统达到最优性能。
本文针对移动视觉目标检测任务,提出了一个视频用户体验质量作为系统的优化指标,设计了一个基于目标检测与目标跟踪的视频目标检测系统,构建了一个完整的系统架构。最后利用鲁棒模型预测控制算法对目标检测和目标跟踪行为进行调度,实现视频目标检测系统的性能优化。