掌桥专利:专业的专利平台
掌桥专利
首页

基于运动向量的目标检测方法和装置

文献发布时间:2023-06-19 19:33:46


基于运动向量的目标检测方法和装置

技术领域

本发明涉及视频处理领域,尤其涉及一种基于运动向量的目标检测方法和装置。

背景技术

对于传统的用于安防的硬盘录像机而言,一般情况下用户可以根据自身需要设置录像计划,开启移动检测录像以实现定时录像功能;部分高端的智能网络硬盘录像机(Network Video Recorder,NVR)则可以根据目标识别实现定时移动检测功能。

当前主要存在两种技术方案能够实现上述移动检测功能,一种是基于传统图像处理的背景建模技术,一种是基于深度学习的目标检测技术。

对于第一种方案,其优点在于整体计算量小、计算速度快,然而该方案需要先对H.264或H.265码流进行解码再基于视频帧缩放,然后再进行背景建模,其中缩放和背景建模部分的计算量较大;并且该技术方案容易受到噪声干扰产生误报,使得最终的检测结果精度低。

对于第二种方案,其优点在于检测精度高,然而该方案需要使用深度学习模型进行推理,整体计算量较大,对芯片的计算性能要求很高;此外对于一些未知目标或小物体也容易发生漏检的情况。

针对上述两种方案的以上缺点,高通公司提出了通过视频帧判断场景复杂度再选用不同模型进行推理的技术方案,该方案中首先使用Resnet50提取特征,接着使用多层感知器(Multilayer Perceptron,MLP)模型判断运动复杂度,然后再使用具有不同复杂度的模型来检测视频,这使得整体计算成本降低了5倍。但是,该技术方案依然存在应用上的缺点,具体而言,其需要对视频帧先解码、缩放,然后再判断场景复杂度,在该部分中的计算量较大,而且前置提取特征的ResNet50也依然很浪费算力。

发明内容

鉴于此,本发明提供了一种基于运动向量的目标检测方法和装置,以用于解决现有技术中的上述技术问题。

根据本发明的一个方面,提供了一种基于运动向量的目标检测方法,用于检测视频中的目标,其中,视频包括多个待解码视频帧,多个待解码视频帧包括帧内编码帧、帧间预测编码帧以及双向预测编码帧,该方法包括以下步骤:

S1:从多个待解码视频帧中获取一个视频帧作为当前帧;

S2:判断当前帧是帧内编码帧、帧间预测编码帧或双向预测编码帧,若是帧内编码帧,则执行S3;若是帧间预测编码帧或者双向预测编码帧,则执行S4;

S3:将当前帧的运动向量和前一帧的运动向量融合,然后将融合后的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行S5;

S4:将当前帧的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行S5;

S5:利用目标检测模型对经解码的当前帧进行目标检测,获得目标检测结果。

根据本发明的另一个方面,提供了一种基于运动向量的目标检测装置,用于检测视频中的目标,其中,视频包括多个待解码视频帧,多个待解码视频帧包括帧内编码帧、帧间预测编码帧以及双向预测编码帧,该装置包括以下模块:

获取模块,被配置为从多个待解码视频帧中获取一个视频帧作为当前帧;

判断模块,被配置为判断当前帧是帧内编码帧、帧间预测编码帧或双向预测编码帧,若是帧内编码帧,则执行融合推理模块;若是帧间预测编码帧或者双向预测编码帧,则执行推理模块;

融合推理模块,被配置为将当前帧的运动向量和前一帧的运动向量融合,然后将融合后的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行目标检测模块;

推理模块,被配置为将当前帧的运动向量送入运动复杂度推理模型进行推理判断以获得运动复杂度,然后执行目标检测模块;

目标检测模块,被配置为利用目标检测模型对经解码的当前帧进行目标检测,获得目标检测结果。

根据本发明的又一个方面,提供了一种电子设备,包括:一个或多个处理器以及存储器,其中,存储器用于存储可执行指令;一个或多个处理器被配置为经由可执行指令来实现上述的方法。

根据本发明的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。

根据本发明的再另一方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。

从以上技术方案可以看出,本发明所提供的技术方案至少存在以下优点:

本发明所提供的技术方案利用H264,H265编码中自带的运动向量来训练模型并进行场景复杂度的判断,从而无需对视频帧进行先解码再缩放的步骤即可判断场景复杂度,不仅使得计算量大大减少,提升了单路的整体推理速度;而且减少了单路的功耗开销,提升了环境适应性;还使得单个芯片可以处理更多的视频路数。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,但并不构成对本发明技术方案的限制。

图1示出了本发明示例性实施例所提供的方法的流程图;

图2示出了本发明示例性实施例所提供的系统的结构框图;

图3示出了本发明示例性实施例中的电子设备的结构框图。

具体实施方式

下面将参照附图来详细描述本发明的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,并不作为对本发明及其应用或使用的任何限制。本发明可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本发明透彻且完整,并且向本领域技术人员充分表达本发明的范围。

除非上下文另外明确地表明,如果未特意限定要素的数量,则该要素可以是一个也可以是多个。如本说明书使用的,术语“多个/若干”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及“……中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。

另外,本说明书中有涉及“第一”、“第二”、“第三”等的描述,该“第一”、“第二”、“第三”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。

常见的H264或者H265解码工具及软件会提供用于读取每一视频帧的运动向量(motion vector,MV)的应用程序编程接口(Application Programming Interface,API)本发明所提供的技术方案能够将前述的运动向量利用于边缘视频推理中。本发明使用运动向量来训练模型并进行场景复杂度的判断,从而无需对视频帧执行先解码再缩放的处理即可判断场景复杂度,而且使用的模型也能够从ResNet50残差网络模型换成ResNet18残差网络模型或计算量更小的mobileNet模型,大大提升了性能。

本说明书的以下部分将结合附图详细描述本发明的实施例。

本发明的一个方面提供了一种基于运动向量的目标检测方法,应用于对包括多个待解码视频帧的视频进行处理,多个待解码视频帧中包括帧内编码帧(Intra-frame orKey-frame,简称I帧)、帧间预测编码帧(Predictive-frame,简称P帧)以及双向预测编码帧(Bi-directional Interpolated Prediction Frame,简称B帧)。

进一步说明的是,帧内编码帧是记录图像全部信息的关键帧,其无需参考其他图像进行解码,并且在解码后能够形成一张单独的且完整的图像,每个视频序列的第一帧均为帧内编码帧。帧间预测编码帧只记录了与前一帧图像之间的差别的数据,其没有完整的图像数据,因此需要参考前面的帧的数据才能进行编码以获得图像数据。双向预测编码帧记录的是当前帧与前后帧的差别,因此需要参考前面的帧以及后面的帧才能够解码以获得最终的图像数据。

请参考图1,其示出了本发明示例性实施例所提供的方法的流程图。

由于视频包括多个待解码视频帧,因此本发明提供的目标检测方法在对视频进行目标检测处理时,将多个待解码视频帧中的每个视频帧作为当前帧,分别依次执行如下步骤:

S1:从多个待解码视频帧中获取一个视频帧作为当前帧;

S2:判断当前帧是帧内编码帧、帧间预测编码帧或双向预测编码帧,若是帧内编码帧,则执行S3;若是帧间预测编码帧或者双向预测编码帧,则执行S4;

S3:将当前帧的运动向量和前一帧的运动向量融合,然后将融合后的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行S5;

S4:将当前帧的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行S5;

S5:利用目标检测模型对经解码的当前帧进行目标检测,获得目标检测结果。

最终获得的目标检测结果包括当前帧中的目标数量、目标在当前帧中的坐标、目标的类别以及目标的置信度值。此外,在上述步骤中,当前帧的运动向量和前一帧(即当前帧的前一个视频帧)的运动向量融合,是通过将前述两帧的运动向量先相加来得到运动向量的总和,再对该总和除以2得到的。

在一个优选实施例中,目标检测模型可以根据获得的运动复杂度进行选取,并且运动复杂度的值与目标检测模型的复杂程度成正比。也就是说,如果当前帧的运动复杂度较低,就可以选择较简单的目标检测模型进行处理,如果当前帧的运动复杂度较高,就可以选择较复杂的目标检测模型进行处理。当然,本领域技术人员可以理解的是,这仅是出于实现优化计算力的优选目标而进行的选择,不同目标检测模型的实现之间并不存在实质性差异。例如,目标检测模型可以在常见的YOLO系列模型或者Faster RCNN模型中选择,本发明并不以此为限。

本领域技术人员可以理解,由于视频序列的第一帧是帧内编码帧,因此其不存在可以与之进行运动向量融合的前一帧,所以对于视频序列的第一帧而言,本发明所提供的方法并不会进行处理,而是直接跳转至视频序列的第二帧并继续执行方法。

在一个优选实施例中,为降低算法复杂度并提高计算效率,运动复杂度推理模型可以选用两层的多层感知器(Multilayer Perceptron,MLP)网络或者resnet18残差网络,本领域技术人员也可以自行设计一个小网络,本发明并不以此为限。

在本发明所提供的方法中,为了对多个视频帧的运动复杂度进行区分,所采用的运动复杂度必然包括至少两个类别。出于算法成本的考量,可以优选地为6个类别。

以下部分将以多个视频帧中的某一帧对本发明所提供的方法进行具体阐释。

在一个示例性实施例中,以第5帧与第6帧为例进行说明。

首先在S1中,获取第5帧作为当前帧;

接着在S2中,判断出该第5帧是帧内编码帧(仅作为示例性举例,并不代表多个视频帧中的第5帧必定为帧内编码帧),则转至执行S3;

接着在S3中,将第5帧的运动向量和第4帧的运动向量进行融合,然后将得到的融合后的运动向量送入运动复杂度推理模型以获得运动复杂度,例如得出运动复杂度为4;

在执行上述步骤的同时,本方法还并行对第5帧解码,并获得经解码的第5帧;

接着在S5中,选取对应于运动复杂度为4的目标检测模型对经解码的第5帧进行目标检测,并获得第5帧中的目标数量、这些目标各自在第5帧中的坐标、这些目标各自的类别以及这些目标各自的置信度值。

至此,对第5帧的执行结束,然后对第6帧执行本发明所提供的方法。

首先在S1中,获取第6帧作为当前帧;

接着在S2中,判断出该第6帧是双向预测编码帧(仅作为示例性举例,并不代表多个视频帧中的第6帧必定为双向预测编码帧),则转至执行S4;

接着在S4中,将第6帧的运动向量送入运动复杂度推理模型以获得动复杂度,例如得出运动复杂度为2;

在执行上述步骤的同时,本方法还并行对第6帧解码,并获经解码的第6帧;

接着在S5中,选取对应于运动复杂度为2的目标检测模型对经解码的第6帧进行目标检测,并获得第6帧中的目标数量、这些目标各自在第6帧中的坐标、这些目标各自的类别以及这些目标各自的置信度值。

至此,对第6帧的执行结束。

请参考图2,其示出了本发明示例性实施例所提供的系统的结构框图。

本发明的另一个方面提供了一种基于运动向量的目标检测装置,用于检测视频中的目标,其中,视频包括多个待解码视频帧,多个待解码视频帧包括帧内编码帧、帧间预测编码帧以及双向预测编码帧,该装置包括以下模块:

获取模块,被配置为从多个待解码视频帧中获取一个视频帧作为当前帧;

判断模块,被配置为判断当前帧是帧内编码帧、帧间预测编码帧或双向预测编码帧,若是帧内编码帧,则执行融合推理模块;若是帧间预测编码帧或者双向预测编码帧,则执行推理模块;

融合推理模块,被配置为将当前帧的运动向量和前一帧的运动向量融合,然后将融合后的运动向量送入运动复杂度推理模型以获得运动复杂度,然后执行目标检测模块;

推理模块,被配置为将当前帧的运动向量送入运动复杂度推理模型进行推理判断以获得运动复杂度,然后执行目标检测模块;

目标检测模块,被配置为利用目标检测模型对经解码的当前帧进行目标检测,获得目标检测结果。

本领域技术人员可以理解的是,为实现对视频中所有待解码视频帧的处理,该装置需要依次将多个待解码视频帧中的每个视频帧作为当前帧,然后执行获取模块至目标检测模块。

应当理解,图2中所示的系统的各个模块可以与本说明书前文描述的方法中的各个步骤相对应。由此,上面针对方法描述的操作、特征和优点同样适用于系统及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。

虽然上面参考特定模块讨论了特定功能,但是应当注意,本发明技术方案中各个模块的功能也可以分为多个模块进行实现,和/或多个模块的至少一些功能可以组合成单个模块进行实现。本发明技术方案中特定模块执行动作的方式包括,该特定模块本身执行动作,或者由该特定模块调用或以其他方式访问执行动作(或结合该特定模块一起执行动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。

除上述技术方案外,本发明还提供了一种电子设备,该电子设备包括一个或多个处理器以及用于存储可执行指令存储器。其中,该一个或多个处理器被配置为经由可执行指令来实现上述方法。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行上述方法。

本发明还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时,使得处理器执行上述方法。

在本说明书的以下部分,将结合图3来描述前述电子设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。

图3示出了可以被用来实施本发明所描述的方法的电子设备300的示例配置。本发明技术方案所提供的神经网络切分系统也可以全部或至少部分地由电子设备300或类似设备或系统实现。

电子设备300可以是各种不同类型的设备。电子设备300的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等。

电子设备300可以包括能够诸如通过系统总线311或其他适当的连接彼此通信的至少一个处理器302、存储器304、(多个)通信接口309、显示设备301、其他输入/输出(I/O)设备310以及一个或更多大容量存储设备303。

处理器302可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器302可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器302可以被配置成获取并且执行存储在存储器304、大容量存储设备303或者其他计算机可读介质中的计算机可读指令,诸如操作系统305的程序代码、应用程序306的程序代码、其他程序307的程序代码等

存储器304和大容量存储设备303是用于存储指令的计算机可读存储介质的示例,指令由处理器302执行来实施前面所描述的各种功能。举例来说,存储器304一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等)。此外,大容量存储设备303一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等。存储器304和大容量存储设备303在本发明中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器302作为被配置成实施在本发明的示例中所描述的操作和功能的特定机器来执行。

多个程序可以存储在大容量存储设备303上。这些程序包括操作系统305、一个或多个应用程序306、其他程序307和程序数据308,并且它们可以被加载到存储器304以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):基于运动向量的目标检测方法(包括该方法的任何合适的步骤)和/或本申请描述的另外的实施例。

虽然在图3中被图示成存储在电子设备300的存储器304中,但是模块305、306、307和308或者其部分可以使用可由电子设备300访问的任何形式的计算机可读介质来实施。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。

通信介质包括例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(例如电缆和线),以及能传播能量波的无线介质(例如声音、电磁、RF、微波和红外)。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(例如载波、或例如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。

作为示例性说明,计算机可读存储介质可包括以用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括但不限于,易失性存储器,例如随机存储器(RAM、DRAM、SRAM);以及非易失性存储器,例如闪存、各种只读存储器(ROM、PROM、EPROM、EEPROM)、磁性和铁磁/铁电存储器(MRAM、FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。

一个或更多通信接口309用于诸如通过网络、直接连接等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、Bluetooth接口、近场通信(NFC)接口等。通信接口309可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等)和无线网络(例如WLAN、蜂窝、卫星等)、因特网等。通信接口309还可以提供与诸如存储阵列、网络附属存储、存储区域网等中的外部存储设备(图中未示出)的通信。

在一些示例中,可以包括诸如监视器之类的显示设备301,以用于向用户显示信息和图像。其他I/O设备310可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等。

本发明描述的技术方案可以由电子设备300的这些各种配置来支持,并且不限于本发明所描述的技术方案的具体示例。

虽然在附图和前面的描述中已经详细地说明和描述了本发明,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,本发明所要求保护的范围由权利要求而非上述说明限定,落在权利要求的等同要件的含义和范围内的所有变化均涵盖在本发明的保护范围内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。

相关技术
  • 运动向量场的确定方法、装置、设备、存储介质和车辆
  • 一种目标检测的分类模型建立方法、装置和目标检测设备
  • 一种基于角度的目标检测训练方法、目标检测方法及装置
  • 基于SE-FPN的目标检测模型训练方法、目标检测方法及装置
技术分类

06120115953995