面向边缘计算的目标追踪应用部署策略阅读

522 阅读8分钟

原文地址:kns.cnki.net/KCMS/detail…

一、背景及问题

  • 由于实时性和功耗问题,使得基于深度学习模型的算法难以在移动终端设备上部署应用,需要进行应用部署优化,通过任务分割策略将目标追踪应用的计算合理卸载至边缘云,并利用信息融合策略对计算结果进行分析融合。
  • 需要利用合理算法进行运动检测、移动计算

二、相关工作

2.1 目标追踪算法

2.1.1 分类

  • 按照追踪目标和摄像机数量,可以分为单目标单摄像机(STSC, Single Target Single Camera)多目标单摄像机(MTSC, Multi Target Single Camera)多目标多摄像机(MTMC, Multi Target Multi Camera)。本文主要基于单目标单摄像机算法进行研究。

  • 基于深度学习的单目标追踪算法,主要分为两类:

    1. 将深度学习技术与相关滤波器结合(e.g. DeepSRDCF 采用深度特征取代手工特征以提升模型性能)
    2. 完全采用深度学习相关技术进行追踪(e.g. 孪生神经网络(Siamese network)),基于孪生神经网络的目标追踪算法是进来最主要的研究分支,因为它兼顾了处理速度和算法性能。

2.2 边缘计算技术

  移动设备盲目写在计算任务到边云云可能导致更低的性能和更高的功耗。

  在车联网中,.Garg S等人将边缘服务器作为中间接口,辅助车辆与云端数据中心通信,减少了终端节点访问时间和网络拥塞。

  边缘云架构是该研究领域的主要研究方向,列举如下架构

  1. Tong L等人将边缘云更加细化,将边缘云层设计为一种树状的层次结构,允许不同服务器层对峰值负载进行聚合,是的云资源利用率更高。
  2. Yao C等人从不同设备以及接入点的角度提出多层边缘计算框架EdgeFlow,通过权衡设备的资源占用情况以及通信状态,将不同任务以最佳方式分配给每一层。
  3. Chia-Wei T等人提出一种基于网管的边缘计算服务模型,可实现资源按需分配。

  在特定应用场景下的平台架构设计中,将计算能力较强的移动终端节点上移边缘云层是更为合理可靠的。

2.3 目标追踪系统应用场景分析

  追踪算法具有基本相同的处理步骤,给边缘计算的应用提供了可行性。对追踪任务进行分割,采用不同阶段利用不同的节点进行计算。这与分布式机器学习系统类似。

  基于边缘计算的目标追踪系统主要包含任务分割、目标追踪、通信以及信息融合等部分。终端节点和边缘云服务器分别部署目标追踪算法。通过任务分割决策计算任务处理节点,通信方案决策信息收发内容及通信步调等,计算任务卸载至云端运算后,通过信息融合策略对终端节点和边缘云两侧计算结果进行融合。

三、目标追踪应用部署策略研究

3.1 边缘云网络架构

  网络架构总体分为终端节点、边缘云和云端数据中心三层:

  1. 终端节点:为接入边缘云的移动设备,每个节点部署应用包含目标追踪、计算任务分割、信息融合和运动检测等多个部分。
  2. 边缘云层:为边缘云资源部署层,包含边缘计算服务器和文件服务器等硬件资源设备,部署完成终端节点计算任务所需的必要程序,主要包含边缘云目标追踪、信息融合、信息管理和通信等部分。
  3. 云端数据中心:与移动终端节点相距较远的数据中心,该层仅与边缘云进行通信。

  如果在设备工作环境较差的场景中,网络延迟可能使得终端节点设备与边缘云无法畅通连接,对于这种情况,要采用设备计算能力更强的节点设备。具体问题具体分析,可以将云端资源下移边缘端或者将边缘云继续拆分。

  部署策略如下:

  输入视频流数据,具体位置视频帧图片。任务分割策略根据本地计算负载状态,判定是否进行本地计算,并根据网络状态和边缘服务器资源占用情况,判断是否将发送边缘云进行计算,同时决定计算任务分割点,用以最终决策终端节点和边缘云的任务计算量。

  边缘云采用基于深度学习模型的追踪算法以提升整理追踪性能,根据算法计算得出响应图确定算法融合系数,并确定此时终端算法模型是否进行更新。信息融合算法通过融合终端节点和边缘云返回的计算结果对追踪目标的具体位置进行预测。并且采用运动模型对追踪目标的位移阈值进行动态设定,连续多帧目标位移均超出该阈值范围时,启动运动检测以确定是否存在运动物体,降低中断计算压力。

  分割策略:

  1. 模型完整卸载策略:本地终端节点负责数据的预处理和后处理,将算法的特征提取部分卸载至边缘云进行计算。数据预处理部分包括部分与输入图像数据相关的超参数计算。后处理主要包括根据边缘云返回的响应图,对追踪目标的尺度及具体估测位置进行计算等。

  2. 模型部分写在策略:将卷积神经网络模型中第一部分,即第一个卷积层。批标准化层(BN, Batch Normalization)及池化层分配至终端节点计算。

3.2 目标追踪算法

  采用集成多个算法的方式结合不同算法的优点,进而构造一个性能更加优良的算法模型以满足实际需求,即集成学习(Ensemble Learning),在目标追踪过程中,可将移动终端节点的相关滤波器算法与边缘云的深度学习算法进行集成。

  1. 终端节点目标追踪算法:采用基于相关滤波器的目标追踪算法进行部署以满足移动终端节点计算能力较弱且对续航能力要求较高的特点采用DCF。
  2. 边缘云目标追踪算法:基于边缘云计算资源丰富,处理速度快等特点,采用基于深度学习模型的目标追踪算法进行部署以满足追踪任务的性能要求。

3.3 任务分割模型

  可以根据多个卷积层输出的特征图学习多个不同的相关滤波器,因此可根据设备负载状态及网络网络环境,动态判定所学习的滤波器个数。需要进行环境信息探查

3.4 集成学习

  通过评测响应图波动程度来评价模型对当前预测的目标位置的置信程度,根据峰值置信度指标对不同算法计算所得的响应图谱进行度量,由此确定具体融合系数。

3.5 运行检测方案

  通过运动模型动态设定位移阈值范围,当预测未知连续多帧超出此阈值范围时,初步判定丢失目标,启动运动检测算法检测是否存在运动物体以确定是否丢失目标,再用辅助算法在丢失目标时进行重检测。

  1. 运动模型:目标在追踪过程中的动态变化使得对目标位移设置固定阈值判断滤波器预测结果不合适,因此要采用运动模型对目标位移阈值进行动态设定以适应目标在追踪过程中的动态变化。采用卡尔曼滤波器(Kalman Filter)进行建模

其中, \theta_x 为阈值位移, x^h为运动模型估测位移的滑动平均值, \rho_{\theta}为系数,x_kx_k^-分别为追踪算法和卡尔曼滤波器所估测的目标位移。

  1. 追踪检测算法:追踪算法连续多帧预测目标位移超过阈值范围时,采用运动检测算法对输入数据进行运动检测以进一步降低模型消耗,提升算法处理速度,减少不必要的计算。e.g. 帧差法,光流法,背景减除法,ViBe算法等。