一种基于边云协同的实时视频分析与处理方法

文档序号:30623393发布日期:2022-07-02 05:28阅读:315来源:国知局
一种基于边云协同的实时视频分析与处理方法

1.本发明属于多媒体技术领域,具体涉及一种基于边云协同的实时视频分析与处理方法。
2.景技术
3.目前,视频分析技术已经有多种算法进行实现。而最先进的视频分析算法大多是用深度神经网络(dnns)实现的,深度神经网络由数百层组成,结构复杂,计算量大,需要耗费的计算资源大。鉴于视频分析算法这一特点,对计算资源有着很高的要求,然而,摄像机和边缘节点的计算能力是有限的,甚至这两种的计算能力偏弱。因此,如果所有视频分析操作都在摄像机或边缘节点上本地执行,必然导致无法忍受的延迟。所以仅仅在边缘节点进行分析和处理是困难的。同时,海量视频资源的大数据量,导致完全依赖云处理器会造成超高延迟,而视频分析往往有实时分析的要求,超高延迟是不能被接受的,且如此之多的视频数据传输到云端的带宽成本很高。所以,单纯地采用单一方式去进行实时视频分析处理难以实现。提高视频分析服务性能的一个实用方法是利用边缘和云的协作进行视频分析。
4.边缘节点与云节点相结合,在一些简单或者数据量较小的视频资源处理的情况中,边缘节点足以应付。当数据量不断增大,导致边缘节点负载变高,这时,将部分视频数据卸载到云节点进行处理,缓解边缘节点的压力,不失为一种好方法。如此,既能照顾到边缘节点的计算能力偏弱的问题,同时也能缓解数据传输带来的处理延迟和带宽代价。利用边缘云协作进行视频分析可以结合边缘和云的优势。边缘节点距离本地摄像机较近,视频内容可以以较低的传输时延和带宽开销传输到边缘。视频内容可以在边缘节点上用小的dnn模型进行处理,也可以在边缘节点上进行预处理以减小视频大小,然后传输到云端进行处理。云可以提供较大的dnn模型,具有较高的识别准确率。因此,云可以支持需要强大处理能力和高精确度的视频分析任务。
5.此外,摄像机和边缘节点的计算能力是有限的,甚至这两种的计算能力偏弱。因此,如果所有视频分析操作都在摄像机或边缘节点上本地执行,必然导致无法忍受的延迟。仅仅在边缘节点进行分析和处理是困难的。同时,海量视频资源的大数据量,导致完全依赖云处理器会造成超高延迟,而视频分析往往有实时分析的要求,超高延迟是不能被接受的,且如此之多的视频数据传输到云端的带宽成本很高。所以,单纯地采用单一方式去进行实时视频分析处理难以实现。


技术实现要素:

6.发明目的:本发明提供一种基于边云协同的实时视频分析与处理方法,用于针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据进行处理,可提高视频分析的实时性和可靠性。
7.技术方案:一种基于边云协同的实时视频分析与处理方法,该方法通过建立分发决策机制,将视频数据采集后由决策引擎将数据分配至节点处理,选择边缘节点或云节点处理,实现视频数据的实时处理;所述方法包括如下步骤:
8.(1)通过视频采集设备获取视频帧数据;
9.(2)构建决策引擎,由决策引擎确定处理视频帧数据的分配决策、分辨率要求和处理模型选择,根据分辨率处理结果对视频帧数据进行预处理;
10.(3)对决策引擎输出结果进行预处理,包括根据分辨率要求对视频帧数据进行分辨率处理,且基于http协议将视频帧数据的预处理结果卸载到边缘节点或云节点;
11.(4)在边缘节点和云节点上部署有与决策引擎相应的处理机制,用于识别接收和相应视频帧数据的处理,包括加载相应的处理模型进行计算分析;
12.(5)本地的视频设备接收到返回的处理结果,交由存储模块保存。
13.进一步的,在上述方法的步骤(1)中,所述的视频帧数据包括真实摄像头视频数据和虚拟摄像头数据。
14.所述决策引擎对于视频帧数据的分配处理机制中包括考虑视频系统当前状态,所述的视频系统当前状态部署在本地的视频设备上,分配决策考虑的指标包括实时网络带宽、当前边缘节点等待任务数和当前云节点等待任务数。
15.进一步的,步骤(2)构建决策引擎的算法包括基于threshold算法、predictive算法和drl算法实现,具体如下:
16.(a)基于threshold算法实现过程如下:
17.设定当前边缘节点任务数量为local_tasks_number,边缘节点所能处理的最大任务数量设为d,决策引擎每次作出决策前,threshold算法会实时检测当前边缘节点任务数量local_tasks_number,并将其与阈值d比较,关系式如下所示:
18.local_tasks_number《=d-》edge node,
19.local_tasks_number》d-》cloud server;
20.若当前视频帧交由边缘节点处理,则默认分辨率选择结果为最高1080p,处理模型选择结果为部署在边缘节点精确度最高的模型,即fasterrcnn_mobilenet;若local_tasks_number》d,则当前视频帧交由云节点处理,此时默认分辨率选择结果为最低240p,处理模型选择结果为部署在云节点精确度最低的模型,即retinanet_resnet50;
21.(b)基于predictive算法的实现过程如下:
22.由predictive方法计算其预估奖赏值,选取奖赏值最高的组合作为决策并交由系统执行,predictive方法预测原理对应的目标函数为:
23.rewardi=accuracy
i-cur_delayi*weight
24.其中rewardi表示系统根据当前状态为i组合计算的预估奖赏值,奖赏值越高,预估系统性能越高;accuracyi为第i个组合中处理模型在该组合分辨率下的精确度,系统中存储这4种模型在不同分辨率下的准确度,系统实时读表;cur_delayi为边缘节点或者云节点的处理延迟,需要实时获取;weight为延迟的权重,weight越大,延迟所占比例越高。由式子可以看出,reward值越大,系统性能越好。所以,系统每次通过预估每个模型的reward值来进行预测,挑选reward值最大的模型、分辨率、边缘/云节点分发来进行处理。例如,假定某时刻t,系统正好处理完一帧数据,且处理延迟cur_delay在云节点为0.5s,在边缘节点为0.2s,weight=1;
25.(c)基于drl算法实现的过程如下:
26.首先基于drl算法进行系统建模,将时间范围被离散成固定的区间,时间段为t=
1,2,3,....drl代理观察系统状态,对每一帧视频做出控制决策,并与环境交互,学习最优策略;
27.state:表示当前系统的状态,包括系统的工作负载、边缘节点与云服务器之间的带宽状况等;将视频帧t时的系统状态表示为:
28.s
t
=[l
t
,c
t
,b
t
],
[0029]
其中l
t
表示等待边缘节点处理的视频帧数量,c
t
代表等待卸载到云的视频帧数量,l
t
和c
t
是通过测量边缘节点上本地等待队列和卸载队列的队列长度得到的,b
t
是边缘节点与云之间最后观测到的带宽。
[0030]
action:drl代理根据当前系统状态和控制策略,对每一帧视频进行执行决策。决策决定了如何处理视频帧。具体来说,每个决策由以下控制配置组成:视频帧预处理、卸载到云或局部推理时选择的分辨率,以及在边缘或云上选择的dnn模型;
[0031]
为视频帧t提供的决策为:
[0032]at
=π(s
t
)

<edge/cloud,model,resolution>,
[0033]
π是drl代理的控制策略。如果选择了一个决策,则对视频帧采用该决策对应的设置(即边缘推理或云推理、dnn模型、视频分辨率)进行处理。
[0034]
reward:该奖励对视频帧的推理性能进行评估。
[0035]
本发明考虑了识别精度和处理延迟的性能指标来衡量推理性能。为了保证视频帧推理的时延要求,避免系统过载,当队列中的等待时间m
t
大于阈值t时,将丢弃视频帧。对视频帧t进行推理的奖励计算为:
[0036][0037]
其中p
t
为所选dnn模型对视频帧t的识别精度,d
t
为视频帧t的处理延迟,w为处理延迟惩罚的相对权重。如果一个视频帧在没有推理的情况下被丢弃,那么这个视频帧的奖励是-f,这是一个固定的大惩罚。否则,视频帧的奖励将被计算为准确性和处理延迟的线性组合。我们可以根据准确性和延迟的相对重要性为w设置一个合适的值。如果处理延迟比较重要,w可以设置一个较大的值。否则,w可以设置一个较小的值。
[0038]
optimization objective:边缘节点连续从摄像机中读取视频帧进行推理。我们的目标是学习最优策略,为每个视频帧做出决策,使整体奖励最大化,从而使系统性能最大化。优化目标是:
[0039][0040]
其中π
*
是导出的最优策略,γ是折扣因子,π是处理视频帧的策略。
[0041]
进一步的,步骤(3)所述的预处理为根据将视频帧数据按照固定长宽比16:9的比例进行缩放。
[0042]
有益效果:与现有技术相比,本发明所提供的一种基于边云协同的实时视频分析与处理方法,能够基于边云协同的基础之上,采用多种不同的决策方式,完成来自不同视频数据源的实时视频分析任务。同时,系统也记录了带宽、延迟等反应系统性能的数据指标,实现了系统的实时性和可靠性。而且,与以往的工作相比,本发明实现了视频分析系统的完
整流程,极大地减轻了其他工作者的劳动,将研究者从视频分析流程中解放出来,使他们能够专注于自己的领域。
附图说明
[0043]
图1是本发明所述方法实现的系统框架图;
[0044]
图2是本发明所述决策引擎基于drl算法中dqn代理的原理图;
[0045]
图3是依据本发明所述方法进行实验的平均延迟图;
[0046]
图4是依据本发明法进行实验的平均奖励图。
具体实施方式
[0047]
为了详细的说明本发明所述的技术方案,下面结合说明书附图做进一步的阐述。
[0048]
本发明所提供的是一种基于边云协同的实时视频分析与处理方法,可采用多种方式动态分发视频数据到边缘节点或者云节点,实现实时视频分析,确保视频分析的实时性和可靠性。
[0049]
结合图1所示的系统结构框图。一种基于边云协同的实时视频分析与处理方法,依据该方法实现的系统结构上,该系统主要包括视频读取模块,决策引擎模块、预处理模块,存储模块以及边缘处理模块和云处理模块,针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据进行处理,采用多种方式作为系统决策引擎进行决策,实现对视频的实时分析,对于处理分配,本发明所述方法具体包括如下步骤:
[0050]
s1、视频读取模块首先读取视频源中的视频帧数据,可根据实际情况设置获取视频帧的时间间隔,如50ms,即每隔50ms读取一帧视频。视频读取模块有多种接口实现,包括视频文件读取接口、虚拟摄像头读取接口和真实摄像头读取接口;对于视频帧数据的读取考虑如下三个方面的因素。
[0051]
(1a)视频文件读取接口可读取多种视频文件格式,包括mov,avi,mp4等;
[0052]
(1b)虚拟摄像头读取接口可读取由软件实现的摄像头中的视频帧数据;
[0053]
(1c)真实摄像头读取接口可实时读取摄像头硬件获取的视频数据。
[0054]
s2、通过算法构建决策引擎,由决策引擎作出相应决策,决策内容主要包括边缘/云节点分发决策、分辨率选择决策和处理模型选择决策;根据决策引擎输出的数据信息,对待处理的视频帧数据进行预处理,数据信息即对应视频帧数据处理提出的分辨率要求,处理模型选择信息。
[0055]
对于步骤s2中的分配决策,分辨率要求和处理模型选择,主要如下:
[0056]
(2a)边缘/云节点分发决策是指决策引擎根据使用的算法来决定将当前视频帧交由边缘节点处理还是云节点处理;
[0057]
(2b)分辨率选择决策是指决策引擎根据使用的算法来决定视频帧经过预处理后的分辨率大小;
[0058]
(2c)处理模型选择决策是指系统中对视频帧进行处理的模型共有4个,即maskrcnn_resnet50,retinanet_resnet50,fasterrcnn_mobilenet_320,fasterrcnn_mobilenet,如表1,其中fasterrcnn_mobilenet_320,fasterrcnn_mobilenet部署在边缘节点,maskrcnn_resnet50,retinanet_resnet50部署在云节点。这些模型由准确性指标衡量。
[0059]
在步骤s2中,决策引擎还包括基于视频处理系统的当前系统状态由系统实时监测的多个指标组成,包括:实时网络带宽bandwidth、当前边缘节点等待任务数local_pending_tasks_number、当前云节点等待任务数cloud_pending_tasks_number。
[0060]
在决策引擎的构建上,现有技术对此的实现方法比较多,但是本发明中,主要是基于threshold方法、predictive方法和具有学习能力的drl(deep reinforcement learning)算法。
[0061]
对于第一种决策引擎,基于threshold算法的原理为:设定当前边缘节点任务数量为local_tasks_number,边缘节点所能处理的最大任务数量设为d。决策引擎每次作出决策前,threshold算法会实时检测当前边缘节点任务数量local_tasks_number,并将其与阈值d比较,如下
[0062]
local_tasks_number《=d-》edge node,
[0063]
local_tasks_number》d-》cloud server
[0064]
若当前视频帧交由边缘节点处理,则默认分辨率选择结果为最高1080p,模型选择结果为部署在边缘节点精确度最高的模型,即fasterrcnn_mobilenet,如表1;若local_tasks_number》d,则当前视频帧交由云节点处理,此时默认分辨率选择结果为最低240p,模型选择结果为部署在云节点精确度最低的模型,如表1即retinanet_resnet50。
[0065]
第二种决策引擎方法predictive方法的原理如下:
[0066]
在决策引擎输出的信息中,包括三种决策信息,三种决策进行排列组合,则共有16种组合,如表1所示。根据每一种组合采用predictive方法计算其预估奖赏值,选取奖赏值最高的组合作为决策并交由系统执行。predictive方法预测原理对应的目标函数为:
[0067]
rewardi=accuracy
i-cur_delayi*weight
[0068]
其中rewardi表示系统根据当前状态为i组合计算的预估奖赏值,奖赏值越高,预估系统性能越高;accuracyi为第i个组合中处理模型在该组合分辨率下的精确度,系统中存储这4种模型在不同分辨率下的准确度,如表1,系统实时读表;cur_delayi为边缘节点或者云节点的处理延迟,需要实时获取;weight为延迟的权重,weight越大,延迟所占比例越高。由式子可以看出,reward值越大,系统性能越好。所以,系统每次通过预估每个模型的reward值来进行预测,挑选reward值最大的模型、分辨率、边缘/云节点分发来进行处理。例如,假定某时刻t,系统正好处理完一帧数据,且处理延迟cur_delay在云节点为0.5s,在边缘节点为0.2s,weight=1。由predictive方法计算得到的预测值表格如下表1。
[0069]
表1.组合预测表(假定此时weight=1,delay=0.5s)
[0070][0071][0072]
由表格可得出{cloud,maskrcnn_resnet50,480p}组合预测值最大,则下一帧数据由这一组合进行处理。
[0073]
结合图2所示,第三种决策引擎算法drl(deep reinforcement learning)算法的原理如下:
[0074]
基于drl的建模,采用基于drl的方法进行系统建模。时间范围被离散成固定的区间。时间段为t=1,2,3,....drl代理观察系统状态,对每一帧视频做出控制决策,并与环境交互,学习最优策略。
[0075]
state:表示当前系统的状态,包括系统的工作负载、边缘节点与云服务器之间的带宽状况等。我们将视频帧t时的系统状态表示为:
[0076]st
=[l
t
,c
t
,b
t
],
[0077]
其中l
t
表示等待边缘节点处理的视频帧数量,c
t
代表等待卸载到云的视频帧数量,l
t
和c
t
是通过测量边缘节点上本地等待队列和卸载队列的队列长度得到的,b
t
是边缘节点与云之间最后观测到的带宽。
[0078]
action:drl代理根据当前系统状态和控制策略,对每一帧视频进行执行决策。决策决定了如何处理视频帧。具体来说,每个决策由以下控制配置组成:视频帧预处理、卸载到云或局部推理时选择的分辨率,以及在边缘或云上选择的dnn模型。我们为视频帧t提供的决策为:
[0079]at
=π(s
t
)

<edge/cloud,model,resolution>,
[0080]
π是drl代理的控制策略。如果选择了一个决策,则对视频帧采用该决策对应的设置(即边缘推理或云推理、dnn模型、视频分辨率)进行处理。
[0081]
reward:该奖励对视频帧的推理性能进行评估。我们考虑了识别精度和处理延迟
的性能指标来衡量推理性能。为了保证视频帧推理的时延要求,避免系统过载,当队列中的等待时间m
t
大于阈值t时,将丢弃视频帧。对视频帧t进行推理的奖励计算为:
[0082][0083]
其中p
t
为所选dnn模型对视频帧t的识别精度,d
t
为视频帧t的处理延迟,w为处理延迟惩罚的相对权重。如果一个视频帧在没有推理的情况下被丢弃,那么这个视频帧的奖励是-f,这是一个固定的大惩罚。否则,视频帧的奖励将被计算为准确性和处理延迟的线性组合,可以根据准确性和延迟的相对重要性为w设置一个合适的值。如果处理延迟比较重要,w可以设置一个较大的值。否则,w可以设置一个较小的值。
[0084]
optimization objective:边缘节点连续从摄像机中读取视频帧进行推理。该算法实现的目标是学习最优策略,为每个视频帧做出决策,使整体奖励最大化,从而使系统性能最大化。优化目标是:
[0085][0086]
其中π
*
是导出的最优策略,γ是折扣因子,π是处理视频帧的策略。
[0087]
s3、将视频读取模块读取的视频帧以及决策引擎模块作出的分辨率选择决策一同交由预处理模块进行相应的预处理,并返回预处理后的视频帧;预处理操作主要为分辨率变换,分辨率范围包括1080p,480p,360p,240p 4种分辨率;针对决策引擎作出的边缘云分发决策,将预处理过后的视频帧和处理模型选择决策结果一起交由边缘节点处理或者卸载到云节点进行处理,卸载操作采用http协议完成。
[0088]
对于预处理,根据固定长宽比16:9进行视频帧的按比例缩放。
[0089]
s4、针对传输的视频帧和处理模型选择决策结果,边缘节点和云节点具有相同的处理逻辑,根据接收到的处理模型选择决策结果加载相应的处理模型,并使用该模型对视频帧进行处理,最后将处理结果返回到本地。
[0090]
在步骤s4的处理中,处理模型及其精确度如下:
[0091][0092]
s5、本地接收到返回的处理结果,交由存储模块保存。
[0093]
结合图3和图4,横坐标是时间间隔interval,视频模块在读取视频帧时,每间隔interval时间读取一帧数据。实验中采取50ms,100ms,150ms,200ms四个值。图3和图4均是系统处理统一视频所统计出来的,视频共有5146帧图像帧。图3和图4中,每组数据分分别以柱状图展示实验结果,每组柱状图依次代表threshold算法、predictive算法和dqn算法决策结果。
[0094]
其中,delay图:纵坐标为平均时延。随着interval增大,每种方法的处理时延都减
小。同一interval下,基本呈现出threshold》predictive》dqn的趋势。
[0095]
reward图:系统中统一采用reward=accuracy-delay*weight的式子来评估系统性能,reward值越大,系统性能越好。图中,随着interval增大,每种方法的reward值也都增大。同一interval下,基本呈现出threshold》predictive》dqn的趋势。
[0096]
依据本发明的实施,基于视频采集、分析处理系统的数据信息,针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据,采用多种算法构成系统决策引擎,进行动态dnn模型选择和任务卸载,确保视频分析的实时性和可靠性。首先通过视频读取接口获得视频帧数据;针对每一帧图像,系统决策引擎根据当前系统状态作出相应的决策;根据决策,先对视频帧进行预处理,即分辨率变换;针对预处理完成的视频帧数据,根据决策引擎作出的决策,将预处理过的视频帧传输到边缘节点或者云节点,模型选择结果也一并传输;针对传输过来的视频帧数据和模型选择结果,边缘节点或云节点采用相应的模型对视频帧进行处理,得到处理结果。除此之外,系统还要进行相应系统信息的存储。边缘/云协同实时视频分析系统包括视频读取模块、决策引擎模块、预处理模块、边缘处理模块和云处理模块。其中,决策引擎可采用多种不同的方式。本发明采用多种不同的方式实现决策引擎,可根据当前系统状态实时决定边缘/云分发、分辨率选择、处理模型选择,从而实现实时处理大量的视频帧数据的功能,保证了视频分析的实时性和可用性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1