CN114697324B - 一种基于边云协同的实时视频分析与处理方法 - Google Patents
一种基于边云协同的实时视频分析与处理方法 Download PDFInfo
- Publication number
- CN114697324B CN114697324B CN202210229980.7A CN202210229980A CN114697324B CN 114697324 B CN114697324 B CN 114697324B CN 202210229980 A CN202210229980 A CN 202210229980A CN 114697324 B CN114697324 B CN 114697324B
- Authority
- CN
- China
- Prior art keywords
- processing
- video
- video frame
- cloud
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 238000005094 computer simulation Methods 0.000 claims description 3
- 238000011217 control strategy Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 3
- 238000010223 real-time analysis Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于边云协同的实时视频分析与处理方法,该方法首先通过车载设备上的视频采集单元获取视频数据,然后通过决策引擎对视频数据进行分发至边缘服务器或云节点服务器,包括设置预处理模块完成视频数据的格式转化和分辨率转化,在服务器和决策引擎之间建立联系,由决策引擎选择不同的模块进行预处理,处理模块包括边缘处理模块和云处理模块,本发明根据当前视频分析系统的状态实时决定边缘或云服务分发、从而实现实时处理大量的视频帧数据的功能,保证了视频分析的实时性和可用性。
Description
技术领域
本发明属于多媒体技术领域,具体涉及一种基于边云协同的实时视频分析与处理方法。
景技术
目前,视频分析技术已经有多种算法进行实现。而最先进的视频分析算法大多是用深度神经网络(DNNs)实现的,深度神经网络由数百层组成,结构复杂,计算量大,需要耗费的计算资源大。鉴于视频分析算法这一特点,对计算资源有着很高的要求,然而,摄像机和边缘节点的计算能力是有限的,甚至这两种的计算能力偏弱。因此,如果所有视频分析操作都在摄像机或边缘节点上本地执行,必然导致无法忍受的延迟。所以仅仅在边缘节点进行分析和处理是困难的。同时,海量视频资源的大数据量,导致完全依赖云处理器会造成超高延迟,而视频分析往往有实时分析的要求,超高延迟是不能被接受的,且如此之多的视频数据传输到云端的带宽成本很高。所以,单纯地采用单一方式去进行实时视频分析处理难以实现。提高视频分析服务性能的一个实用方法是利用边缘和云的协作进行视频分析。
边缘节点与云节点相结合,在一些简单或者数据量较小的视频资源处理的情况中,边缘节点足以应付。当数据量不断增大,导致边缘节点负载变高,这时,将部分视频数据卸载到云节点进行处理,缓解边缘节点的压力,不失为一种好方法。如此,既能照顾到边缘节点的计算能力偏弱的问题,同时也能缓解数据传输带来的处理延迟和带宽代价。利用边缘云协作进行视频分析可以结合边缘和云的优势。边缘节点距离本地摄像机较近,视频内容可以以较低的传输时延和带宽开销传输到边缘。视频内容可以在边缘节点上用小的DNN模型进行处理,也可以在边缘节点上进行预处理以减小视频大小,然后传输到云端进行处理。云可以提供较大的DNN模型,具有较高的识别准确率。因此,云可以支持需要强大处理能力和高精确度的视频分析任务。
此外,摄像机和边缘节点的计算能力是有限的,甚至这两种的计算能力偏弱。因此,如果所有视频分析操作都在摄像机或边缘节点上本地执行,必然导致无法忍受的延迟。仅仅在边缘节点进行分析和处理是困难的。同时,海量视频资源的大数据量,导致完全依赖云处理器会造成超高延迟,而视频分析往往有实时分析的要求,超高延迟是不能被接受的,且如此之多的视频数据传输到云端的带宽成本很高。所以,单纯地采用单一方式去进行实时视频分析处理难以实现。
发明内容
发明目的:本发明提供一种基于边云协同的实时视频分析与处理方法,用于针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据进行处理,可提高视频分析的实时性和可靠性。
技术方案:一种基于边云协同的实时视频分析与处理方法,该方法通过建立分发决策机制,将视频数据采集后由决策引擎将数据分配至节点处理,选择边缘节点或云节点处理,实现视频数据的实时处理;所述方法包括如下步骤:
(1)通过视频采集设备获取视频帧数据;
(2)构建决策引擎,由决策引擎确定处理视频帧数据的分配决策、分辨率要求和处理模型选择,根据分辨率处理结果对视频帧数据进行预处理;
(3)对决策引擎输出结果进行预处理,包括根据分辨率要求对视频帧数据进行分辨率处理,且基于http协议将视频帧数据的预处理结果卸载到边缘节点或云节点;
(4)在边缘节点和云节点上部署有与决策引擎相应的处理机制,用于识别接收和相应视频帧数据的处理,包括加载相应的处理模型进行计算分析;
(5)本地的视频设备接收到返回的处理结果,交由存储模块保存。
进一步的,在上述方法的步骤(1)中,所述的视频帧数据包括真实摄像头视频数据和虚拟摄像头数据。
所述决策引擎对于视频帧数据的分配处理机制中包括考虑视频系统当前状态,所述的视频系统当前状态部署在本地的视频设备上,分配决策考虑的指标包括实时网络带宽、当前边缘节点等待任务数和当前云节点等待任务数。
进一步的,步骤(2)构建决策引擎的算法包括基于Threshold算法、Predictive算法和DRL算法实现,具体如下:
(a)基于Threshold算法实现过程如下:
设定当前边缘节点任务数量为local_tasks_number,边缘节点所能处理的最大任务数量设为D,决策引擎每次作出决策前,Threshold算法会实时检测当前边缘节点任务数量local_tasks_number,并将其与阈值D比较,关系式如下所示:
local_tasks_number<=D->edge node,
local_tasks_number>D->cloud server;
若当前视频帧交由边缘节点处理,则默认分辨率选择结果为最高1080p,处理模型选择结果为部署在边缘节点精确度最高的模型,即Fasterrcnn_mobilenet;若local_tasks_number>D,则当前视频帧交由云节点处理,此时默认分辨率选择结果为最低240p,处理模型选择结果为部署在云节点精确度最低的模型,即Retinanet_resnet50;
(b)基于Predictive算法的实现过程如下:
由Predictive方法计算其预估奖赏值,选取奖赏值最高的组合作为决策并交由系统执行,Predictive方法预测原理对应的目标函数为:
rewardi=accuracyi-cur_delayi*weight
其中rewardi表示系统根据当前状态为i组合计算的预估奖赏值,奖赏值越高,预估系统性能越高;accuracyi为第i个组合中处理模型在该组合分辨率下的精确度,系统中存储这4种模型在不同分辨率下的准确度,系统实时读表;cur_delayi为边缘节点或者云节点的处理延迟,需要实时获取;weight为延迟的权重,weight越大,延迟所占比例越高。由式子可以看出,reward值越大,系统性能越好。所以,系统每次通过预估每个模型的reward值来进行预测,挑选reward值最大的模型、分辨率、边缘/云节点分发来进行处理。例如,假定某时刻t,系统正好处理完一帧数据,且处理延迟cur_delay在云节点为0.5s,在边缘节点为0.2s,weight=1;
(c)基于DRL算法实现的过程如下:
首先基于DRL算法进行系统建模,将时间范围被离散成固定的区间,时间段为t=1,2,3,....DRL代理观察系统状态,对每一帧视频做出控制决策,并与环境交互,学习最优策略;
State:表示当前系统的状态,包括系统的工作负载、边缘节点与云服务器之间的带宽状况等;将视频帧t时的系统状态表示为:
St=[lt,ct,bt],
其中lt表示等待边缘节点处理的视频帧数量,ct代表等待卸载到云的视频帧数量,lt和ct是通过测量边缘节点上本地等待队列和卸载队列的队列长度得到的,bt是边缘节点与云之间最后观测到的带宽。
Action:DRL代理根据当前系统状态和控制策略,对每一帧视频进行执行决策。决策决定了如何处理视频帧。具体来说,每个决策由以下控制配置组成:视频帧预处理、卸载到云或局部推理时选择的分辨率,以及在边缘或云上选择的DNN模型;
为视频帧t提供的决策为:
at=π(st)→<edge/cloud,model,resolution>,
π是DRL代理的控制策略。如果选择了一个决策,则对视频帧采用该决策对应的设置(即边缘推理或云推理、DNN模型、视频分辨率)进行处理。
Reward:该奖励对视频帧的推理性能进行评估。
本发明考虑了识别精度和处理延迟的性能指标来衡量推理性能。为了保证视频帧推理的时延要求,避免系统过载,当队列中的等待时间mt大于阈值T时,将丢弃视频帧。对视频帧t进行推理的奖励计算为:
其中pt为所选DNN模型对视频帧t的识别精度,dt为视频帧t的处理延迟,W为处理延迟惩罚的相对权重。如果一个视频帧在没有推理的情况下被丢弃,那么这个视频帧的奖励是-F,这是一个固定的大惩罚。否则,视频帧的奖励将被计算为准确性和处理延迟的线性组合。我们可以根据准确性和延迟的相对重要性为W设置一个合适的值。如果处理延迟比较重要,W可以设置一个较大的值。否则,W可以设置一个较小的值。
Optimization objective:边缘节点连续从摄像机中读取视频帧进行推理。我们的目标是学习最优策略,为每个视频帧做出决策,使整体奖励最大化,从而使系统性能最大化。优化目标是:
其中π*是导出的最优策略,γ是折扣因子,π是处理视频帧的策略。
进一步的,步骤(3)所述的预处理为根据将视频帧数据按照固定长宽比16:9的比例进行缩放。
有益效果:与现有技术相比,本发明所提供的一种基于边云协同的实时视频分析与处理方法,能够基于边云协同的基础之上,采用多种不同的决策方式,完成来自不同视频数据源的实时视频分析任务。同时,系统也记录了带宽、延迟等反应系统性能的数据指标,实现了系统的实时性和可靠性。而且,与以往的工作相比,本发明实现了视频分析系统的完整流程,极大地减轻了其他工作者的劳动,将研究者从视频分析流程中解放出来,使他们能够专注于自己的领域。
附图说明
图1是本发明所述方法实现的系统框架图;
图2是本发明所述决策引擎基于DRL算法中DQN代理的原理图;
图3是依据本发明所述方法进行实验的平均延迟图;
图4是依据本发明法进行实验的平均奖励图。
具体实施方式
为了详细的说明本发明所述的技术方案,下面结合说明书附图做进一步的阐述。
本发明所提供的是一种基于边云协同的实时视频分析与处理方法,可采用多种方式动态分发视频数据到边缘节点或者云节点,实现实时视频分析,确保视频分析的实时性和可靠性。
结合图1所示的系统结构框图。一种基于边云协同的实时视频分析与处理方法,依据该方法实现的系统结构上,该系统主要包括视频读取模块,决策引擎模块、预处理模块,存储模块以及边缘处理模块和云处理模块,针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据进行处理,采用多种方式作为系统决策引擎进行决策,实现对视频的实时分析,对于处理分配,本发明所述方法具体包括如下步骤:
S1、视频读取模块首先读取视频源中的视频帧数据,可根据实际情况设置获取视频帧的时间间隔,如50ms,即每隔50ms读取一帧视频。视频读取模块有多种接口实现,包括视频文件读取接口、虚拟摄像头读取接口和真实摄像头读取接口;对于视频帧数据的读取考虑如下三个方面的因素。
(1a)视频文件读取接口可读取多种视频文件格式,包括mov,avi,mp4等;
(1b)虚拟摄像头读取接口可读取由软件实现的摄像头中的视频帧数据;
(1c)真实摄像头读取接口可实时读取摄像头硬件获取的视频数据。
S2、通过算法构建决策引擎,由决策引擎作出相应决策,决策内容主要包括边缘/云节点分发决策、分辨率选择决策和处理模型选择决策;根据决策引擎输出的数据信息,对待处理的视频帧数据进行预处理,数据信息即对应视频帧数据处理提出的分辨率要求,处理模型选择信息。
对于步骤S2中的分配决策,分辨率要求和处理模型选择,主要如下:
(2a)边缘/云节点分发决策是指决策引擎根据使用的算法来决定将当前视频帧交由边缘节点处理还是云节点处理;
(2b)分辨率选择决策是指决策引擎根据使用的算法来决定视频帧经过预处理后的分辨率大小;
(2c)处理模型选择决策是指系统中对视频帧进行处理的模型共有4个,即Maskrcnn_resnet50,Retinanet_resnet50,Fasterrcnn_mobilenet_320,Fasterrcnn_mobilenet,如表1,其中Fasterrcnn_mobilenet_320,Fasterrcnn_mobilenet部署在边缘节点,Maskrcnn_resnet50,Retinanet_resnet50部署在云节点。这些模型由准确性指标衡量。
在步骤S2中,决策引擎还包括基于视频处理系统的当前系统状态由系统实时监测的多个指标组成,包括:实时网络带宽bandwidth、当前边缘节点等待任务数local_pending_tasks_number、当前云节点等待任务数cloud_pending_tasks_number。
在决策引擎的构建上,现有技术对此的实现方法比较多,但是本发明中,主要是基于Threshold方法、Predictive方法和具有学习能力的DRL(Deep ReinforcementLearning)算法。
对于第一种决策引擎,基于Threshold算法的原理为:设定当前边缘节点任务数量为local_tasks_number,边缘节点所能处理的最大任务数量设为D。决策引擎每次作出决策前,Threshold算法会实时检测当前边缘节点任务数量local_tasks_number,并将其与阈值D比较,如下
local_tasks_number<=D->edge node,
local_tasks_number>D->cloud server
若当前视频帧交由边缘节点处理,则默认分辨率选择结果为最高1080p,模型选择结果为部署在边缘节点精确度最高的模型,即Fasterrcnn_mobilenet,如表1;若local_tasks_number>D,则当前视频帧交由云节点处理,此时默认分辨率选择结果为最低240p,模型选择结果为部署在云节点精确度最低的模型,如表1即Retinanet_resnet50。
第二种决策引擎方法Predictive方法的原理如下:
在决策引擎输出的信息中,包括三种决策信息,三种决策进行排列组合,则共有16种组合,如表1所示。根据每一种组合采用Predictive方法计算其预估奖赏值,选取奖赏值最高的组合作为决策并交由系统执行。Predictive方法预测原理对应的目标函数为:
rewardi=accuracyi-cur_delayi*weight
其中rewardi表示系统根据当前状态为i组合计算的预估奖赏值,奖赏值越高,预估系统性能越高;accuracyi为第i个组合中处理模型在该组合分辨率下的精确度,系统中存储这4种模型在不同分辨率下的准确度,如表1,系统实时读表;cur_delayi为边缘节点或者云节点的处理延迟,需要实时获取;weight为延迟的权重,weight越大,延迟所占比例越高。由式子可以看出,reward值越大,系统性能越好。所以,系统每次通过预估每个模型的reward值来进行预测,挑选reward值最大的模型、分辨率、边缘/云节点分发来进行处理。例如,假定某时刻t,系统正好处理完一帧数据,且处理延迟cur_delay在云节点为0.5s,在边缘节点为0.2s,weight=1。由predictive方法计算得到的预测值表格如下表1。
表1.组合预测表(假定此时weight=1,delay=0.5s)
由表格可得出{cloud,Maskrcnn_resnet50,480p}组合预测值最大,则下一帧数据由这一组合进行处理。
结合图2所示,第三种决策引擎算法DRL(Deep Reinforcement Learning)算法的原理如下:
基于DRL的建模,采用基于DRL的方法进行系统建模。时间范围被离散成固定的区间。时间段为t=1,2,3,....DRL代理观察系统状态,对每一帧视频做出控制决策,并与环境交互,学习最优策略。
State:表示当前系统的状态,包括系统的工作负载、边缘节点与云服务器之间的带宽状况等。我们将视频帧t时的系统状态表示为:
St=[lt,ct,bt],
其中lt表示等待边缘节点处理的视频帧数量,ct代表等待卸载到云的视频帧数量,lt和ct是通过测量边缘节点上本地等待队列和卸载队列的队列长度得到的,bt是边缘节点与云之间最后观测到的带宽。
Action:DRL代理根据当前系统状态和控制策略,对每一帧视频进行执行决策。决策决定了如何处理视频帧。具体来说,每个决策由以下控制配置组成:视频帧预处理、卸载到云或局部推理时选择的分辨率,以及在边缘或云上选择的DNN模型。我们为视频帧t提供的决策为:
at=π(st)→<edge/cloud,model,resolution>,
π是DRL代理的控制策略。如果选择了一个决策,则对视频帧采用该决策对应的设置(即边缘推理或云推理、DNN模型、视频分辨率)进行处理。
Reward:该奖励对视频帧的推理性能进行评估。我们考虑了识别精度和处理延迟的性能指标来衡量推理性能。为了保证视频帧推理的时延要求,避免系统过载,当队列中的等待时间mt大于阈值T时,将丢弃视频帧。对视频帧t进行推理的奖励计算为:
其中pt为所选DNN模型对视频帧t的识别精度,dt为视频帧t的处理延迟,W为处理延迟惩罚的相对权重。如果一个视频帧在没有推理的情况下被丢弃,那么这个视频帧的奖励是-F,这是一个固定的大惩罚。否则,视频帧的奖励将被计算为准确性和处理延迟的线性组合,可以根据准确性和延迟的相对重要性为W设置一个合适的值。如果处理延迟比较重要,W可以设置一个较大的值。否则,W可以设置一个较小的值。
Optimization objective:边缘节点连续从摄像机中读取视频帧进行推理。该算法实现的目标是学习最优策略,为每个视频帧做出决策,使整体奖励最大化,从而使系统性能最大化。优化目标是:
其中π*是导出的最优策略,γ是折扣因子,π是处理视频帧的策略。
S3、将视频读取模块读取的视频帧以及决策引擎模块作出的分辨率选择决策一同交由预处理模块进行相应的预处理,并返回预处理后的视频帧;预处理操作主要为分辨率变换,分辨率范围包括1080P,480P,360P,240P 4种分辨率;针对决策引擎作出的边缘云分发决策,将预处理过后的视频帧和处理模型选择决策结果一起交由边缘节点处理或者卸载到云节点进行处理,卸载操作采用http协议完成。
对于预处理,根据固定长宽比16:9进行视频帧的按比例缩放。
S4、针对传输的视频帧和处理模型选择决策结果,边缘节点和云节点具有相同的处理逻辑,根据接收到的处理模型选择决策结果加载相应的处理模型,并使用该模型对视频帧进行处理,最后将处理结果返回到本地。
在步骤S4的处理中,处理模型及其精确度如下:
S5、本地接收到返回的处理结果,交由存储模块保存。
结合图3和图4,横坐标是时间间隔interval,视频模块在读取视频帧时,每间隔interval时间读取一帧数据。实验中采取50ms,100ms,150ms,200ms四个值。图3和图4均是系统处理统一视频所统计出来的,视频共有5146帧图像帧。图3和图4中,每组数据分分别以柱状图展示实验结果,每组柱状图依次代表Threshold算法、Predictive算法和DQN算法决策结果。
其中,delay图:纵坐标为平均时延。随着interval增大,每种方法的处理时延都减小。同一interval下,基本呈现出threshold>predictive>dqn的趋势。
reward图:系统中统一采用reward=accuracy-delay*weight的式子来评估系统性能,reward值越大,系统性能越好。图中,随着interval增大,每种方法的reward值也都增大。同一interval下,基本呈现出threshold>predictive>dqn的趋势。
依据本发明的实施,基于视频采集、分析处理系统的数据信息,针对视频文件、行车记录仪、交通摄像头等产生的视频帧数据,采用多种算法构成系统决策引擎,进行动态DNN模型选择和任务卸载,确保视频分析的实时性和可靠性。首先通过视频读取接口获得视频帧数据;针对每一帧图像,系统决策引擎根据当前系统状态作出相应的决策;根据决策,先对视频帧进行预处理,即分辨率变换;针对预处理完成的视频帧数据,根据决策引擎作出的决策,将预处理过的视频帧传输到边缘节点或者云节点,模型选择结果也一并传输;针对传输过来的视频帧数据和模型选择结果,边缘节点或云节点采用相应的模型对视频帧进行处理,得到处理结果。除此之外,系统还要进行相应系统信息的存储。边缘/云协同实时视频分析系统包括视频读取模块、决策引擎模块、预处理模块、边缘处理模块和云处理模块。其中,决策引擎可采用多种不同的方式。本发明采用多种不同的方式实现决策引擎,可根据当前系统状态实时决定边缘/云分发、分辨率选择、处理模型选择,从而实现实时处理大量的视频帧数据的功能,保证了视频分析的实时性和可用性。
Claims (4)
1.一种基于边云协同的实时视频分析与处理方法,其特征在于,该方法通过建立分发决策机制,将视频数据采集后由决策引擎将数据分配至节点处理,选择边缘节点或云节点处理,实现视频数据的实时处理;所述方法包括如下步骤:
(1)通过视频采集设备获取视频帧数据;
(2)构建决策引擎,由决策引擎确定处理视频帧数据的分配决策、分辨率要求和处理模型选择,根据分辨率处理结果对视频帧数据进行预处理;
步骤(2)构建决策引擎的算法包括基于Threshold算法、Predictive算法和DRL算法实现,具体如下:
(a)基于Threshold算法实现过程如下:
设定当前边缘节点任务数量为local_tasks_number,边缘节点所能处理的最大任务数量设为D,决策引擎每次作出决策前,Threshold算法会实时检测当前边缘节点任务数量local_tasks_number,并将其与阈值D比较,关系式如下所示:
local_tasks_number<=D->edge node,
local_tasks_number>D->cloud server;
若当前视频帧交由边缘节点处理,则默认分辨率选择结果为最高1080p,处理模型选择结果为部署在边缘节点精确度最高的模型,即Fasterrcnn_mobilenet;若local_tasks_number>D,则当前视频帧交由云节点处理,此时默认分辨率选择结果为最低240p,处理模型选择结果为部署在云节点精确度最低的模型,即Retinanet_resnet50;
(b)基于Predictive算法的实现过程如下:
由Predictive方法计算其预估奖赏值,选取奖赏值最高的组合作为决策并交由系统执行,Predictive方法预测原理对应的目标函数为:
rewardi=accuracyi-cur_delayi*weight
其中rewardi表示系统根据当前状态为i组合计算的预估奖赏值,奖赏值越高,预估系统性能越高;accuracyi为第i个组合中处理模型在该组合分辨率下的精确度,系统中存储这4种模型在不同分辨率下的准确度,系统实时读表;cur_delayi为边缘节点或者云节点的处理延迟,需要实时获取;weight为延迟的权重,weight越大,延迟所占比例越高;
由上可知,reward值越大,系统性能越好,系统每次通过预估每个模型的reward值来进行预测,选择reward值最大的处理模型、分辨率、边缘或云节点分发处理;
(c)基于DRL算法实现的过程如下:
首先基于DRL算法进行系统建模,将时间范围被离散成固定的区间,时间段为t=1,2,3,....DRL代理观察系统状态,对每一帧视频做出控制决策,并与环境交互,学习最优策略;
State:表示当前系统的状态,包括系统的工作负载、边缘节点与云服务器之间的带宽状况等,将视频帧t时的系统状态表示为:
St=[lt,ct,bt],
其中lt表示等待边缘节点处理的视频帧数量,ct代表等待卸载到云的视频帧数量,lt和ct是通过测量边缘节点上本地等待队列和卸载队列的队列长度得到的,bt是边缘节点与云之间最后观测到的带宽;
Action:DRL代理根据当前系统状态和控制策略,对每一帧视频进行执行决策,决策包括视频帧预处理、卸载到云或局部推理时选择的分辨率的控制配置信息,以及在边缘或云上选择的DNN模型;
为视频帧t提供的决策为:
at=π(st)→<edge/cloud,model,resolution>,
π是DRL代理的控制策略;如果选择了一个决策,则对视频帧采用该决策对应的设置进行处理;
Reward:奖励对视频帧的推理性能进行评估;
所述方法基于识别精度和处理延迟的性能指标来衡量推理性能,为了保证视频帧推理的时延要求,避免系统过载,当队列中的等待时间mt大于阈值T时,将丢弃视频帧;对视频帧t进行推理的奖励计算为:
其中pt为所选DNN模型对视频帧t的识别精度,dt为视频帧t的处理延迟,W为处理延迟惩罚的相对权重,如果一个视频帧在没有推理的情况下被丢弃,那么这个视频帧的奖励是-F,为固定的大惩罚,否则,视频帧的奖励将被计算为准确性和处理延迟的线性组合;
根据准确性和延迟的相对重要性为W设置一个合适的值,如果处理延迟比较重要,则W设置一个较大的值,否则,W可以设置一个较小的值;
Optimization objective:边缘节点连续从摄像机中读取视频帧进行推理,其目标是学习最优策略,为每个视频帧做出决策,使整体奖励最大化,从而使系统性能最大化,优化目标是:
其中π*是导出的最优策略,γ是折扣因子,π是处理视频帧的策略;
(3)对决策引擎输出结果进行预处理,包括根据分辨率要求对视频帧数据进行分辨率处理,且基于http协议将视频帧数据的预处理结果卸载到边缘节点或云节点;
(4)在边缘节点和云节点上部署有与决策引擎相应的处理机制,用于识别接收和相应视频帧数据的处理,包括加载相应的处理模型进行计算分析;
(5)本地的视频设备接收到返回的处理结果,交由存储模块保存。
2.根据权利要求1所述的基于边云协同的实时视频分析与处理方法,其特征在于,步骤(1)所述的视频帧数据包括真实摄像头视频数据和虚拟摄像头数据。
3.根据权利要求1所述的基于边云协同的实时视频分析与处理方法,其特征在于,所述决策引擎对于视频帧数据的分配处理机制中包括考虑视频系统当前状态,所述的视频系统当前状态部署在本地的视频设备上,分配决策考虑的指标包括实时网络带宽、当前边缘节点等待任务数和当前云节点等待任务数。
4.根据权利要求1所述的基于边云协同的实时视频分析与处理方法,其特征在于,步骤(3)所述的预处理为根据将视频帧数据按照固定长宽比16:9的比例进行缩放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229980.7A CN114697324B (zh) | 2022-03-07 | 2022-03-07 | 一种基于边云协同的实时视频分析与处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229980.7A CN114697324B (zh) | 2022-03-07 | 2022-03-07 | 一种基于边云协同的实时视频分析与处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697324A CN114697324A (zh) | 2022-07-01 |
CN114697324B true CN114697324B (zh) | 2024-02-20 |
Family
ID=82136664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210229980.7A Active CN114697324B (zh) | 2022-03-07 | 2022-03-07 | 一种基于边云协同的实时视频分析与处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697324B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114926667B (zh) * | 2022-07-20 | 2022-11-08 | 安徽炬视科技有限公司 | 基于云边端协同的图像识别方法 |
CN115866417B (zh) * | 2023-02-28 | 2023-05-05 | 中国人民解放军军事科学院战争研究院 | 基于边缘计算的视频服务方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407334A (zh) * | 2015-12-29 | 2016-03-16 | 上海大学 | 一种面向多场景监控视频的自主管理方法 |
CN111756812A (zh) * | 2020-05-29 | 2020-10-09 | 华南理工大学 | 一种能耗感知的边云协同动态卸载调度方法 |
CN113242469A (zh) * | 2021-04-21 | 2021-08-10 | 南京大学 | 一种自适应视频传输配置方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901573A (zh) * | 2020-08-17 | 2020-11-06 | 泽达易盛(天津)科技股份有限公司 | 一种基于边缘计算的细颗粒度实时监管系统 |
-
2022
- 2022-03-07 CN CN202210229980.7A patent/CN114697324B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407334A (zh) * | 2015-12-29 | 2016-03-16 | 上海大学 | 一种面向多场景监控视频的自主管理方法 |
CN111756812A (zh) * | 2020-05-29 | 2020-10-09 | 华南理工大学 | 一种能耗感知的边云协同动态卸载调度方法 |
CN113242469A (zh) * | 2021-04-21 | 2021-08-10 | 南京大学 | 一种自适应视频传输配置方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114697324A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114697324B (zh) | 一种基于边云协同的实时视频分析与处理方法 | |
CN110347500B (zh) | 用于边缘计算环境中面向深度学习应用的任务卸载方法 | |
CN104657205A (zh) | 一种基于虚拟化的视频内容分析方法及系统 | |
CN111553213A (zh) | 移动边缘云中实时分布式的身份感知行人属性识别方法 | |
Zhang et al. | A serverless cloud-fog platform for dnn-based video analytics with incremental learning | |
CN109375999A (zh) | 一种基于贝叶斯网络的mec随机任务迁移方法 | |
CN116016538A (zh) | 面向动态环境的边端协同推理任务卸载优化方法与系统 | |
CN115103313A (zh) | 基于位置预测的智慧公路任务协同处理方法、系统 | |
CN114640669A (zh) | 边缘计算方法及装置 | |
CN112398917A (zh) | 面向多站融合架构的实时任务调度方法和装置 | |
Lu et al. | Dynamic offloading on a hybrid edge–cloud architecture for multiobject tracking | |
CN114301911B (zh) | 一种基于边边协同的任务管理方法和系统 | |
CN112532461B (zh) | 一种面向边缘智能的多边缘节点增量计算卸载方法 | |
CN116109058A (zh) | 一种基于深度强化学习的变电站巡视管理方法和装置 | |
CN113115072A (zh) | 一种基于端云协同的视频目标检测跟踪调度方法及系统 | |
CN114359602A (zh) | 产品缺陷的检测方法及装置、存储介质、电子设备 | |
CN112215174A (zh) | 一种基于计算机视觉的环卫车辆状态分析方法 | |
CN117062025B (zh) | 一种车联网节能联合计算卸载与资源分配方法 | |
CN116708445B (zh) | 边缘计算任务的分配方法、配电网系统、装置及存储介质 | |
CN111461958A (zh) | 一种快速多路数据流实时检测优化处理控制系统及方法 | |
Zhang et al. | HeteroPush: Communication-Efficient Video Analytics by Scheduling Heterogeneous Filters | |
CN116866352B (zh) | 一种云边协同的智能摄像系统 | |
Xue et al. | Edge Computing Offloading Strategy for Fast Diagnosis of Image of Substation | |
CN115618960B (zh) | 联邦学习优化方法、装置、电子设备及存储介质 | |
CN117648199B (zh) | 一种基于摄像头的无线边缘计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |