基于边缘计算的视频实时目标追踪方法及装置与流程

文档序号:22554661发布日期:2020-10-17 02:35阅读:158来源:国知局
基于边缘计算的视频实时目标追踪方法及装置与流程

本发明涉及边缘计算领域,尤其涉及一种基于边缘计算的视频实时目标追踪方法及装置。



背景技术:

移动端实时视频分析处理,指在手机、增强现实头显等移动设备上,实时的对摄像头采集的视频进行分析,比如目标检测与追踪、语义分割等。是诸如智能家居、增强现实、智能监控等应用所需的关键技术。

这些任务往往对实时性要求较高,较高的延迟会严重影响用户的使用体验,甚至造成安全隐患。移动端设备由于自身计算能力和内存资源不足,难以直接实时运行基于深度学习的目标检测算法。而由于云端和设备端较远的物理距离,两者间的通信具有较大延迟。因此,直接将模型计算任务分流到云端,也难以满足应用对实时性的需求。



技术实现要素:

为了解决上述问题,本发明实施例提供一种基于边缘计算的视频实时目标追踪方法及装置。

第一方面,本发明实施例提供一种基于边缘计算的视频实时目标追踪方法,包括:按预设规则持续从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对所述待校准帧进行目标识别;若接收到边缘端发送的待校准帧目标位置的识别结果,则根据所述识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

进一步地,按预设规则从采集的视频帧中选取待校准帧发送至边缘端之后,还包括:从待校准帧开始直至当前帧,对视频帧进行存储;相应地,根据所述识别结果,确定当前帧的目标位置,包括:根据存储的待校准帧和接收的识别结果,从待校准帧开始逐帧追踪到当前帧的目标位置。

进一步地,边缘端接收到待校准帧后,还包括将所述待校准帧发送至云服务器进行目标识别,相应地:若边缘端将待校准帧发送至云服务器后,未收到云服务器的校准结果,则所述识别结果为边缘端进行本地目标追踪后发出;若边缘端收到云服务器对待校准帧的校准结果,则所述识别结果为边缘端根据云服务器的校准结果进行校准后发出。

第二方面,本发明实施例提供一种基于边缘计算的视频实时目标追踪方法,包括:若接收到移动终端发送的待校准帧,则对所述待校准帧进行目标识别,得到待校准帧的识别结果;将本地计算的识别结果发送至移动终端,以用于移动终端根据所述识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

进一步地,接收到移动终端发送的待校准帧之后,还包括:将所述待校准帧发送至云服务器,若接收到云服务器返回的待校准帧的校准结果,则根据接收的校准结果更新本地的目标追踪结果。

进一步地,所述将计算的识别结果发送至移动终端,包括:将待校准帧的目标追踪结果和用于目标追踪的特征点,发送至移动终端。

第三方面,本发明实施例提供一种基于边缘计算的视频实时目标追踪装置,包括:获取模块,用于按预设规则持续从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对所述待校准帧进行目标识别;处理模块,用于若接收到边缘端发送的待校准帧目标位置的识别结果,则根据所述识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

第四方面,本发明实施例提供一种基于边缘计算的视频实时目标追踪装置,包括:校准模块,用于若接收到移动终端发送的待校准帧,则对所述待校准帧进行目标识别,得到待校准帧的识别结果;发送模块,用于将本地计算的识别结果发送至移动终端,以用于移动终端根据所述识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明第一方面或第二方面的基于边缘计算的视频实时目标追踪方法的步骤。

第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面或第二方面的基于边缘计算的视频实时目标追踪方法的步骤。

本发明实施例提供的基于边缘计算的视频实时目标追踪方法及装置,从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对所述待校准帧进行目标识别,由于边缘端和移动终端之间的信道传输时延较低,从而解决了基于云端进行校准带来的延时问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于边缘计算的视频实时目标追踪方法流程图;

图2为本发明实施例提供的移动终端处理流程图;

图3为本发明实施例提供的边缘端处理流程图;

图4为本发明实施例提供的基于边缘计算的视频实时目标追踪装置结构图;

图5为本发明另一实施例提供的基于边缘计算的视频实时目标追踪装置结构图;

图6为本发明实施例提供的一种电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

近年来,为了解决云端和设备端通信延迟较大的问题,边缘计算技术逐渐成为新的计算方式。边缘计算旨在利用更靠近设备终端的计算资源,直接提供低延迟、低能耗的计算服务,减少应用对公网环境的依赖。理想情况下,边缘计算设备需要能够实时地运行应用所需地深度学习模型,从而提供稳定的低延迟服务。然而,高端的深度学习服务器或者边缘集群价格高昂,只适合企业和生产环境,对于个人和家庭用户来说难以负担。

事实上,在个人和家庭场景中,存在着诸多架构各异的弱边缘计算设备,例如笔记本电脑、台式主机等。除此之外,目前也有价格较为低廉的边缘计算节点。虽然这些计算设备的能力不足以支撑整个实时视频分析任务,但是其计算资源仍远超过常见的移动端设备。

本发明的目的是克服现有技术中存在的不足,利用家庭场景中容易获得的弱边缘计算设备,提供一种基于云端、边缘端、移动端协同的家用移动端实时视频分析系统。本发明实施例先以移动终端为方法的执行主体对本方法进行说明,图1为本发明实施例提供的基于边缘计算的视频实时目标追踪方法流程图,如图1所示,本发明实施例提供一种基于边缘计算的视频实时目标追踪方法,包括:

101、按预设规则持续从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别。移动端负责采集视频帧,若移动端计算能力不足,并不能直接运行目标检测算法,可以通过边缘端返回的目标识别后的目标框来获得目标的初始位置,再进行本地的实时追踪。也就是说,在系统刚开始运行时,移动端若没有从边缘端获取目标位置,则进行等待,当获得了边缘端返回的目标位置后才开始目标追踪缘端。

移动端也可以本地初步渲染目标位置,从而进行移动终端本地的目标追踪。无论哪种方法,在得到第一个待校准帧的目标识别结果后,移动设备需要对视频流中的每一帧进行实时地轻量级目标追踪,从而保证移动设备在下次边缘端返回结果之前,平滑地提供目标的准确位置。移动终端与边缘端进行通信,从采集的视频帧中按预设规则持续的选取一定的视频帧发送到边缘端,生成待校准帧目标位置的识别结果,以实现移动端目标追踪的持续校准。本发明实施例的边缘端,包括设在移动终端近端的可运行目标追踪程序的计算设备,包括笔记本电脑、台式主机和专门设置的用于协同移动终端进行目标追踪的边缘计算设备。如在基站处分别设置边缘端设备,移动终端将待校准帧发送至对应覆盖范围的基站处的边缘端设备。

按预设规则从采集的视频帧中,选取待校准帧发送至边缘端,具体可以是每一帧都发送,但是这将明显增大边缘端的开销,并且边缘端处理目标追踪的时延,以及移动终端的发送时延不可忽略,每一帧都发送并不是最优方案。可以每隔预设帧数发送一帧,也可以充分考虑边缘端的处理时延和移动终端的发送时延综合确定。

例如,按预设规则从采集的视频帧中,选取待校准帧发送至边缘端,包括:当采集到新的视频帧,将其放入一个发送队列中,每次发送队列里面发送最新的帧至边缘端,丢弃之前的帧。同样的,从边缘端接收到校准结果时,将校准结果放入接收队列中,每次从中接收队列中选取最新的校准结果进行追踪,丢弃过时的结果。

边缘端接收到待校准帧后,对待校准帧进行目标识别。由于边缘端比移动终端计算精度高,从而识别结果发送到移动终端,作为移动终端的校准结果。

102、若接收到边缘端发送的待校准帧目标位置的识别结果,则根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

若收到边缘端发送的待校准帧关于目标位置的识别结果,如待追踪目标在待校准帧中的目标框,则根据识别结果对待校准帧进行校准。考虑到边缘端的处理延时和传输延时,此时移动终端获取的视频帧为待校准帧之后的帧。因此,需根据识别结果和对应的待校验帧,更新到最新的当前帧,进行目标位置校准,并基于最新确定的当前帧目标位置进行目标追踪。即在得到最新确定的当前帧目标位置后,在收到下一个待校验帧的校验结果之前,移动设备对当前帧开始的每一帧进行实时地轻量级目标追踪,从而保证移动设备在下次边缘端返回结果之前,平滑地提供目标的准确位置。

本发明实施例的方法,从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别,由于边缘端和移动终端之间的信道传输时延较低,从而解决了基于云端进行校准带来的延时问题。基于现有的云端校准方式,接收到云端的校准结果后,再基于云端的结果进行校准。

基于上述实施例的内容,作为一种可选实施例,按预设规则从采集的视频帧中选取待校准帧发送至边缘端之后,还包括:从待校准帧开始直至当前帧,对视频帧进行存储;相应地,根据识别结果,确定当前帧的目标位置,包括:根据存储的待校准帧和接收的识别结果,从待校准帧开始逐帧追踪到当前帧的目标位置。

考虑到接收校准帧之后,当前视频帧已经更新到若干帧之后。当移动端向边缘端发送待校准的视频帧后,需要缓存接下来的所有帧。当边缘端返回结果后,移动端首先通过缓存的视频帧在后台将结果逐帧追踪到当前帧,然后进行当前目标框校准。

图2为本发明实施例提供的移动终端处理流程图,如图2所示,其中包含两个实时光流法追踪器,以及与边缘端的通信模块。

每当摄像头捕捉到新的视频帧时,光流法追踪器1将保存好的对应目标框从前一帧更新到当前帧。为了保证在移动端上实时运行,光流法追踪器1采用了基于光流的快速追踪算法。具体来说,该算法在每个目标框中选取数个关键点,利用光流法分别对关键点进行追踪,再利用新的关键点位置更新出新的目标框。

光流法追踪器2负责处理边缘端返回的结果。由于边缘端的通讯延迟,其返回的结果属于当前帧之前的数帧。因此,光流法追踪器2需要利用之前缓存的中间帧,逐帧将目标框追踪到当前帧,再对移动端显示的目标框进行校正。为了避免影响移动端实时显示目标框,光流法追踪器1和2采用了完全相同的算法,但是分别运行在不同的线程中。

具体地,假设移动端向边缘端上传第i帧,由于存在通信和计算时延,当边缘端返回第i帧结果时,当前可能已经到了第i+5帧。移动端的后台追踪器线程,利用基于光流法的追踪,依次将结果从第i帧追踪到i+1、i+2、...、i+5帧。由于后台追踪同样需要消耗时间,有可能当后台追踪器追踪到i+5帧时,视频已经到了i+6帧甚至i+7帧,因此,后台追踪器需要继续进行逐帧追踪,直到将结果追踪到当前实时显示的帧。与此同时,前端实时追踪器,实时的基于光流法将结果从前一帧追踪到当前帧。当且仅当后台追踪器追踪到当前帧时,移动端才会将当前帧对应的目标框校正更新为后台追踪的结果。此后,前端实时追踪器通过校正后的结果进行实时追踪;后台追踪器则等到边缘端返回结果时再重复上述过程。

通过根据存储的待校准帧和接收的识别结果,从待校准帧开始逐帧追踪到当前帧的目标位置,有利于当前帧的目标位置获取的准确性。

基于上述实施例的内容,作为一种可选实施例,边缘端接收到待校准帧后,还包括将待校准帧发送至云服务器进行目标识别,相应地:若边缘端将待校准帧发送至云服务器后,未收到云服务器的校准结果,则识别结果为边缘端进行本地目标追踪后发出;若边缘端收到云服务器对待校准帧的校准结果,则识别结果为边缘端根据云服务器的校准结果进行校准后发出。

本发明实施例中,边缘端将原本云端和移动端之间较长的延迟划分为两个部分,即边缘端-移动端延迟,以及云端-边缘端延迟。移动端只需要面对从上传视频帧到边缘端返回结果的较短延迟,而边缘端则负责在云端返回结果的较长时间段中对结果进行稳定地更新。图3为本发明实施例提供的边缘端处理流程图,主要包含边缘端追踪器模块和与云端、移动端间的通信模块。

当移动端上传新的视频帧时,边缘端追踪器需要将目标框更新到新的视频帧上,并且向移动端返回对应的校准结果。当云端返回视频目标检测结果时,边缘端需要对追踪器重新进行初始化(校准),此后处理移动端新上传的视频帧时,直接利用云端返回的最新结果。不同于移动端只能运行基于光流法的简单追踪,边缘端可以选择运行许多更加高级的目标追踪算法。具体的边缘端追踪算法由边缘端追踪器选择算法决定。

在通信模块方面,边缘端需要负责三个功能。一方面,边缘端负责向移动端返回最新的追踪结果以及关键点。另一方面,边缘端负责接收云端返回的检测结果,并对追踪器进行重新校准。除此之外,边缘端在一个独立的线程中,将移动端传来的视频帧直接上传到云端进行目标检测,从而避免追踪器的处理速度影响视频帧上传到云端。

本发明实施例的方法,若边缘端将待校准帧发送至云服务器后,未收到云服务器的校准结果,则识别结果为边缘端进行本地目标追踪后发出,在未收到云服务器的校准结果时,充分利用了边缘端的实时性。在收到云服务器的校准结果时,校准结果为边缘端根据云服务器的校准结果进行准后发出,充分利用了云端的准确性,从而能够显著提高移动终端目标追踪的实时性,并兼顾准确性。

以边缘端为执行主体对本发明实施例进行进一步说明,本发明实施例提供一种基于边缘计算的视频实时目标追踪方法,包括:若接收到移动终端发送的待校准帧,则对待校准帧进行目标识别,得到待校准帧的识别结果;将计算的识别结果发送至移动终端,以用于移动终端根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

基于上述实施例的内容,作为一种可选实施例,接收到移动终端发送的待校准帧之后,还包括:将待校准帧发送至云服务器,若接收到云服务器返回的待校准帧的校准结果,则根据接收的校准结果更新本地的目标追踪结果。

以边缘端为执行主体的实施例可参见上述以移动终端为执行主体的实施例,此处不再赘述。

基于上述实施例的内容,作为一种可选实施例,将本地计算的识别结果发送至移动终端,包括:将待校准帧的目标追踪结果和用于目标追踪的特征点,发送至移动终端。

目标追踪结果主要为待追踪目标的目标框,本发明实施例中,还将目标框的特征点发送至移动终端,移动终端可根据接收到的特征点,进行目标识别实现目标追踪,可以减少特征点的计算开销,从而进一步提高移动终端的计算速度。

图4为本发明实施例提供的基于边缘计算的视频实时目标追踪装置结构图,如图4所示,该基于边缘计算的视频实时目标追踪装置包括:获取模块401和处理模块402。其中,获取模块401用于按预设规则持续从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别;处理模块402用于若接收到边缘端发送的待校准帧目标位置的识别结果,则根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

图5为本发明另一实施例提供的基于边缘计算的视频实时目标追踪装置结构图,如图5所示,该基于边缘计算的视频实时目标追踪装置包括:校准模块501和发送模块502。其中,校准模块501用于若接收到移动终端发送的待校准帧,则对待校准帧进行目标识别,得到待校准帧的识别结果;发送模块502用于将计算的识别结果发送至移动终端,以用于移动终端根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。

本发明实施例提供的基于边缘计算的视频实时目标追踪装置,从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别,解决了基于云端进行校准带来的延时问题。基于现有的云端校准方式,接收到云端的校准结果后,再基于云端的结果进行校准。

图6为本发明实施例提供的一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)601、通信接口(communicationsinterface)602、存储器(memory)603和总线604,其中,处理器601,通信接口602,存储器603通过总线604完成相互间的通信。通信接口602可以用于电子设备的信息传输。处理器601可以调用存储器603中的逻辑指令,以执行包括如下的方法:按预设规则从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别;若接收到边缘端发送的待校准帧目标位置的识别结果,则根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:按预设规则持续从采集的视频帧中选取待校准帧发送至边缘端,以用于边缘端接收到待校准帧后,对待校准帧进行目标识别;若接收到边缘端发送的待校准帧目标位置的识别结果,则根据识别结果,确定当前帧的目标位置,并基于最新确定的当前帧目标位置进行目标追踪。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1