一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种目标检测方法、装置、系统以及计算机可读存储介质与流程

2022-02-25 18:03:34 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,具体涉及一种目标检测方法、装置、系统以及计算机可读存储介质。


背景技术:

2.目标检测是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。
3.目前,目标检测大多使用基于传统图像处理方法包括基于背景更新的前景检测算法(visual background extractor,vibe)、高斯混合模型(gaussian mixture model,gmm)等前景检测算法对特定区域进行前景提取,但该类方法严重依赖于背景建模的准确度,受光照影响较大,鲁棒性差,识别错误率高,针对区域目标检测报警的情形,常常发生误报警的情况。因此,急需一种识别正确率高的目标检测方法。


技术实现要素:

4.本技术提供一种目标检测方法、装置、系统以及计算机可读存储介质,旨在解决目前现有目标检测方法识别错误率高的问题,提供了一种通过多帧视频帧的判断结果进行综合性判断的目标检测方法,提高了目标检测准确性,避免误报警的发生。
5.根据本技术实施例之一提供一种目标检测方法,所述目标检测方法包括:获取连续视频帧序列;分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果;统计所述连续视频帧序列中判断结果相同的视频帧数量;当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。
6.在一些实施例中,所述统计所述连续视频帧序列中判断结果相同的视频帧数量包括:获取预设的用于统计判断结果数量的目标判断集合;分别将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合,得到与所述连续视频帧序列中每一视频帧对应的当前目标判断集合;基于所述当前目标判断集合统计判断结果相同的视频帧数量。
7.在一些实施例中,所述目标判断集合是长度为k的固定集合,其中k为大于1的整数值,所述分别将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合,得到与所述连续视频帧序列中每一视频帧对应的当前目标判断集合包括:分别获取所述连续视频帧序列中每一视频帧的帧数值;分别比较所述连续视频帧序列中每一视频帧的帧数值与长度k的大小,得到大小比较结果;基于所述大小比较结果确定所述连续视频帧序列中每一视频帧插入所述目标判断集合的第一位置信息;基于所述第一位置信息将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合,得到与所述连续视频帧序列中每一视频帧对应的当前目标判断集合。
8.在一些实施例中,所述目标判断集合是初始长度为l的动态集合,其中l为大于等
于1的整数值,基于所述当前目标判断集合统计判断结果相同的视频帧数量包括:分别比较所述连续视频帧序列中每一视频帧的帧数值与长度l的大小,得到大小比较结果;基于所述大小比较结果确定所述当前目标判断集合的统计范围;基于所述当前目标判断集合的统计范围统计判断结果相同的视频帧数量。
9.在一些实施例中,所述基于所述大小比较结果确定当前目标判断集合的统计范围包括:获取预设的统计范围阈值j,其中j为大于0的整数值;对于所述连续视频帧序列中每一视频帧的帧数值i,当所述帧数值i大于l时,确定所述当前目标判断集合的统计范围为i-j 1至i的区间范围,其中i为大于0的整数值;否则确定所述当前目标判断集合的统计范围为1至i的区间范围。
10.在一些实施例中,所述预设帧数条件为所述数量大于第一阈值。
11.在一些实施例中,所述预设帧数条件为数量小于第二阈值。
12.一方面,根据本技术实施例之一提供一种目标检测装置,所述目标检测装置包括:获取模块,所述获取模块用于获取连续视频帧序列;判断模块,所述判断模块用于分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果;统计模块,所述统计模块用于统计所述连续视频帧序列中判断结果相同的视频帧数量;确定模块,所述确定模块用于当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。
13.另一方面,本技术还提供一种目标检测系统,所述系统包括:
14.一个或多个处理器;
15.存储器;以及
16.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的目标检测方法。
17.另一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的目标检测方法中的步骤。
18.本技术通过多帧视频的判断结果综合确定场景中是否存在特定目标,提高了目标检测准确性,避免误报警的发生;同时采用了目标判断集合统计多帧视频的判断结果,保证了针对每一视频帧的连续性以及综合性的目标检测过程,例如,针对100帧的连续视频帧序列,目标判断集合可以将100帧的连续视频帧序列中每一视频帧的判断结果采用动态集合全部保存或采用固定集合按判断范围保存,通过目标判断集合可以判断1-10帧范围内的连续视频帧序列是否存在特定目标,通过目标判断集合也可以判断9-19帧范围内的连续视频帧序列是否存在特定目标,从而避免了只判断获取的整十数帧(例如1-10帧、11-20帧)连续视频帧序列的漏判误判情况。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例中提供的示例性目标检测应用系统的场景示意图;
21.图2是本技术实施例中提供的示例性目标检测方法的一个实施例流程示意图;
22.图3是本技术实施例中提供的示例性统计视频帧判断结果数量的一个实施例流程示意图;
23.图4是本技术实施例中提供的示例性确定当前目标判断集合的一个实施例流程示意图;
24.图5是本技术实施例中提供的示例性基于当前目标判断集合统计判断结果相同的视频帧数量的一个实施例流程示意图;
25.图6是本技术实施例中提供的示例性统计视频帧判断结果数量的一个实施例过程示意图;
26.图7是本技术实施例中提供的示例性统计视频帧判断结果数量的另一个实施例过程示意图;
27.图8是本技术实施例中提供的示例性目标检测装置的一个实施例结构示意图;
28.图9是本技术实施例中提供的示例性目标检测系统的一个实施例结构示意图。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
31.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
32.本技术实施例提供一种目标检测方法、装置、服务器及存储介质,以下分别进行详细说明。
33.如图1所示,为本技术实施例中示例性目标检测应用系统的场景示意图。
34.目标检测应用系统可以是应用于需要检测特定目标是否出现于场景中的监测系统。例如,目标检测应用系统可以应用于防盗、罪犯检测等安全监控事件的场景中;又例如,
目标检测应用系统可以应用于交通管理中监测驾驶车辆是否违章(例如骑线行驶);再例如,目标检测应用系统可以应用于自动驾驶中判断车辆前方是否出现阻挡物体。值得注意的是,上述对目标检测应用系统的应用场景仅是示例性举例,除此之外,目标检测应用系统还可以用于经济、文化、教育、医疗、公共管理等各行各业进行特定目标的监测。
35.在一些实施例中,目标检测应用系统可以包括服务器110、网络120、存储设备130以及图像获取终端140。在一些实施例中,目标检测应用系统可以获取连续视频帧序列,并在线监测是否特定目标是否出现于场景中。
36.服务器110可以处理来自目标检测应用系统的至少一个组件或外部数据源(例如,存储设备130、图像获取终端140)的数据和/或信息,例如服务器110可以判断图像获取终端140发送的连续视频帧序列中每一帧中是否存在特定目标。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可以是经由接入点连接到网络120的集中式服务器组,或者经由至少一个接入点分别连接到网络120的分布式服务器组。在一些实施例中,服务器110可以本地连接到网络120或者与网络120远程连接。例如,服务器110可以经由网络120访问存储在存储设备130中的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
37.网络120连接目标检测应用系统的各组成部分,使得各部分之间可以进行通讯,以促进信息和/或数据的交换。在一些实施例中,目标检测应用系统中的至少一个组件(例如,服务器110、储存设备130、图像获取终端140)可以经由网络120将信息和/或数据(例如连续视频帧序列)发送到目标检测应用系统中的其他组件。在一些实施例中,目标检测应用系统中各部分之间的网络可以是有线网络或无线网络中的任意一种或多种。例如,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(local area network,lan)、广域网络(wide area network,wan)、无线局域网络(wireless local area network,wlan)、城域网(metropolitan area network,man)、公共交换电话网络(public switched telephone network,pstn)、蓝牙网络(bluetooth)、紫蜂网络(zigbee)、近场通信(near field communication,nfc)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
38.存储设备130可以储存数据和/或指令。在一些实施例中,存储设备130可以存储从图像获取终端140获得的数据。例如,连续视频帧序列。又例如,存储设备130可以存储与图像获取终端140相关的日志。在一些实施例中,存储设备130可以存储服务器110可以执行的数据和/或指令。在一些实施例中,存储设备130可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(rom)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(random access memory,ram)。示例性ram可包括动态随机存取存储器(dynamic random access memory,dram)、双倍数据速率同步动态随机存取存储器(double-data-rate synchronous dynamic random access memory,ddrsdram)、静态随机存取存储器(static random-access memory,sram)、晶闸管随机存取存储器(thyristor random access memory,t-ram)和零电容随机存取存储器(zero capacitance random access memory,z-ram)等。示例性只读存储器可以包括
掩模型只读存储器(masked read only memory,mrom)、可编程只读存储器(programmable read only memory,prom)、可擦除可编程只读存储器(programmable erasable read only memory,perom)、电可擦除可编程只读存储器(electrically erasable programmable read only memory eeprom)、光盘只读存储器(compact disc read-only memory,cd-rom)和数字多功能磁盘只读存储器等。在一些实施例中,存储设备130可在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
39.图像获取终端140可以获取连续视频帧序列。在一些实施例中,图像获取终端140可以是具有信息接收和/或发送功能的设备,以便于发送给服务器110进行处理。在一些实施例中,图像获取终端140可以包括多个终端141、142、143......。例如,图像获取终端140可以包括移动设备141、监控摄像机142、监控无人机143、车载终端设备144等或其任何组合。
40.应当注意的是,上述有关目标检测应用系统的描述仅仅是为了示例和说明,而不限定本技术的适用范围。对于本领域技术人员来说,在本技术的指导下可以对目标检测应用系统进行各种修正和改变,例如,目标检测应用系统还可以包括报警装置,以便于检测到特定目标后进行报警。
41.如图2所示,为本技术实施例中提供的目标检测方法的一个实施例流程示意图,该目标检测方法可以包括步骤s201~步骤s204,具体如下:
42.步骤s201,获取连续视频帧序列。
43.连续视频帧序列可以是指组成视频的连续静态图像,其中组成视频的连续静态图像对应于连续视频帧序列中的每一帧,连续视频帧序列对应的帧数可以是设定值(例如25帧)。在本技术的一些实施例中,连续视频帧序列可以是一定序列范围(例如序列1~1000)的连续静态图像,即一段时间内(例如预设时间段)获取的连续视频帧序列,以便于在后续步骤中检测一段时间内场景中是否出现特定目标。在本技术另外的一些实施例中,连续视频帧序列可以是无穷序列范围的连续静态图像,即持续获取的连续视频帧序列,以便于在后续步骤中持续检测场景中是否出现特定目标。
44.具体的,步骤s201可以由获取模块801执行。在本技术的一些实施例中,获取模块801获取连续视频帧序列可以是接收图像获取终端140发送的连续视频帧序列。在本技术另外的一些实施例中,获取模块801获取连续视频帧序列也可以是接收存储设备130存储的历史连续视频帧序列。
45.步骤s202,分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果。
46.特定目标可以是指需要被监测是否出现的对象,特定目标可以是人、动物、装置或物体。例如,以自动驾驶场景为例,特定对象可以是行人、宠物、其他车辆、绿化带、信号灯等。又例如,以智能视频监控为例,特定对象可以是进行抢劫、偷盗等犯罪行为的犯罪分子。
47.具体的,步骤s202可以是由判断模块802执行。在本技术的一些实施例中,判断模块802判断所述连续视频帧序列中每一视频帧中是否存在特定目标可以通过前景检测算法实现。在一些实施例中,例如对于判断模块802采用前景算法的实施例,前景检测算法可以包括基于背景更新的前景检测算法(visual background extractor,vibe)、高斯混合模型
(gaussian mixture model,gmm)、背景差法、帧差法、平均背景法、光流法等或其组合。在本技术另外的一些实施例中,判断模块802判断所述连续视频帧序列中每一视频帧中是否存在特定目标可以通过基于深度学习的目标检测算法实现的。在一些实施例中,例如对于判断模块802采用深度学习目标检测算法的实施例,基于深度学习的目标检测算法可以包括基于区域的卷积神经网络(faster region-convolutional neural networks,faster r-cnn)、基于区域的全卷积网络(region-based fully convolutional network.s,rfcn)、目标检测(you only look once,yolo)、单发多盒探测器(single shot multibox detector,ssd)等或其组合。
48.视频帧的判断结果可以包括存在特定目标的结果以及不存在特定目标的结果。在本技术的一些实施例中,判断结果可以是以数字形式体现的,例如,以0代表不存在特定目标的视频帧判断结果,以1代表存在特定目标的视频帧判断结果。在本技术另外的一些实施例中,判断结果还可以是文字形式体现,例如,“存在目标”代表存在特定目标的视频帧判断结果,“不存在目标”代表不存在特定目标的视频帧判断结果。
49.步骤s203,统计所述连续视频帧序列中判断结果相同的视频帧数量。
50.具体的,步骤s203可以由统计模块803执行的,统计模块803统计所述连续视频帧序列中判断结果相同的视频帧数量,以便于综合判断连续视频帧序列中是否出现特定目标,以提高检测准确性,降低误检测率。在本技术的一些实施例中,统计模块803统计所述连续视频帧序列中判断结果相同的视频帧数量的数量可以是统计不存在特定目标的视频帧判断结果数量。在本技术另外的一些实施例中,统计模块803统计所述连续视频帧序列中判断结果相同的视频帧数量可以是统计存在特定目标的视频帧判断结果数量。
51.在一些具体的实施例中,可以通过目标判断集合统计所述连续视频帧序列中判断结果相同的视频帧数量,其中目标判断集合是指按连续视频帧序列顺序存放每一视频帧的判断结果的集合,以便于进行连续性以及综合性的目标检测过程,避免间歇性判断以及误判情况的发生,例如,针对100帧的连续视频帧序列,目标判断集合可以将100帧的连续视频帧序列中每一视频帧的判断结果通过动态集合全部保存或通过固定集合按判断范围保存,进行每一帧的综合性判断,例如通过目标判断集合可以判断1-10帧范围内的连续视频帧序列是否存在特定目标,又例如通过目标判断集合也可以判断9-19帧范围内的连续视频帧序列是否存在特定目标,从而避免了只判断获取的整十数帧(例如1-10帧、11-20帧)连续视频帧序列的漏判误判情况。具体的,关于基于目标判断集合统计所述连续视频帧序列中判断结果相同的视频帧数量可以参见附图3,步骤s301-s303。
52.在本技术的一些实施例中,目标判断集合可以是长度k的固定集合,其中k为大于1的整数值,通过比较视频帧的序列值与k的大小,然后将视频帧的判断结果插入目标判断集合则可统计得到连续视频帧序列中判断结果相同的数量,具体的,关于通过长度k的固定的目标判断集合统计得到连续视频帧序列中判断结果相同的数量可以参见附图4,步骤s401-s404。在本技术另外的一些实施例中,目标判断集合可以是初始长度l的动态集合,其中l为大于等于1的整数值,通过将视频帧判断结果插入目标判断集合,然后统计目标判断集合一定范围内的视频帧判断结果即可得到连续视频帧序列中判断结果相同的数量,具体的,关于通过初始长度l的动态的目标判断集合统计得到连续视频帧序列中判断结果相同的数量可以参见附图5,步骤s501-504。
53.步骤s204,当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。
54.检测结果可以包括检测到特定目标的结果以及未检测到特定目标的结果。在本技术的一些实施例中,检测结果可以是以数字形式体现的,例如,以0代表未检测到特定目标的结果,以1代表检测到特定目标的结果。在本技术另外的一些实施例中,检测结果还可以是文字形式体现,例如,“检测到特定目标”代表检测到特定目标的结果,“未检测到特定目标”代表未检测到特定目标的结果。
55.预设帧数条件可以是指根据数量确定检测到所述特定目标的检测结果的条件。在本技术的一些实施例中,例如针对步骤s203统计的数量是存在特定目标的视频帧判断结果数量的实施例,预设帧数条件可以是指步骤s203统计的数量大于第一阈值,例如针对10帧视频帧统计得出不存在特定目标的视频帧判断结果数量大于等于6,则可以确定检测到所述特定目标的检测结果。在本技术的另外一些实施例中,预设帧数条件可以是指步骤s203统计的数量大于第一阈值,同时数量小于一定值,例如,数量大于6且小于所述统计的视频帧数量10,又例如,数量大于6且小于目标判断集合长度k值(例如8),再例如数量大于6且小于目标判断集合的统计范围阈值j(例如9)。
56.在本技术的一些的实施例中,例如针对步骤s203统计的数量是不存在特定目标的视频帧判断结果数量的实施例,预设帧数条件可以是指步骤s203统计的数量小于等于第二阈值,例如针对10帧视频帧统计得出不存在特定目标的视频帧判断结果数量小于4,则可以确定检测到所述特定目标的检测结果。在本技术另外的一些实施例中,预设帧数条件可以是指步骤s203统计的数量小于第二阈值,同时数量大于等于一定值,例如统计得到的数量小于4且大于等于最低数量0。
57.在本技术的一些实施例中,例如对于预设帧数条件是指步骤s203统计的数量大于第一阈值的实施例,第一阈值可以是系统预设值,还可以是系统根据其他参数值确定的,例如根据10帧视频帧与0.4的比例确定第一阈值为4,又例如根据20帧视频帧与0.8的比例确定第一阈值为8。在本技术的另外一些实施例中,例如对于预设帧数条件是指步骤s203统计的数量小于第二阈值的实施例,第二阈值可以是系统预设值,还可以是系统根据其他参数值确定的,例如根据10帧视频帧与0.6的比例确定第二阈值为6,又例如根据20帧视频帧与0.5的比例确定第二阈值为10。
58.值得注意的是,上述关于预设帧数条件的说明仅为示例性的,预设帧数条件还可以是指步骤s203统计的数量与连续视频帧序列总的帧数比例的比较,例如,存在特定目标的视频帧比例大于等于0.6,不存在特定目标的视频帧比例小于0.3,均可以认定确定检测到所述特定目标的检测结果。本技术通过统计多帧视频帧的判断结果综合确定场景中是否存在特定目标,相对于目前单一视频帧的目标检测过程,提高了目标检测准确性,避免了误报警的发生。
59.如图3所示,为本技术实施例中提供的统计视频帧判断结果数量的一个实施例流程示意图,其中统计视频帧判断结果数量可以包括步骤s301~步骤s303,具体如下:
60.步骤s301,获取预设的用于统计判断结果数量的目标判断集合。
61.其中,目标判断集合可以是指按连续视频帧序列顺序存放每一视频帧的判断结果的集合,以便于进行连续性以及综合性的目标检测过程,避免间歇性判断以及误判情况的
发生。在本技术的一些实施例中,目标判断集合可以是指list数组、array数组、arraylist数组、set数组等。在具体的一些实施例中,可以将目标判断集合设定为长度k的固定集合,例如设置list数组的长度为k。在本技术另外的一些实施例中,目标判断集合还可以是按顺序进行视频帧判断结果记录的数据库,将视频帧判断结果记录在数据库中,待判断时再进行调取。
62.具体的,步骤s301可以由统计模块803执行。在一些实施例中,统计模块803获取目标判断集合可以是通过在存储空间内(例如内存空间)获取的。
63.步骤s302,分别将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合,得到与所述连续视频帧序列中每一视频帧对应的当前目标判断集合。
64.当前目标判断集合可以是指与连续视频帧序列中每一视频帧对应的判断结果集合,其中,得到的当前目标判断集合的数量可以是与连续视频帧序列的视频帧数量相同的,即连续视频帧序列中每一视频帧均对应一个当前目标判断集合。在本技术的一些实施例中,与所述连续视频帧序列中每一视频帧对应的当前目标判断集合可以包括之前插入的视频帧判断结果,例如,以图6为例,当目标判断集合为固定长度为4的集合时,对于第5视频帧,将判断结果5插入后由于长度受限去掉判断结果1,则第5视频帧对应的当前目标判断集合可以是包括判断结果2、判断结果3、判断结果4、判断结果5的集合,进而可以统计判断结果2、判断结果3、判断结果4、判断结果5的相同结果数量得出针对于第5视频帧的综合性目标判断结果。又例如,以图7为例,当目标判断集合为初始长度为4的集合时,对于第5视频帧,将判断结果5按顺序插入目标判断集合,则第5视频帧对应的当前目标判断集合可以是包括判断结果1、判断结果2、判断结果3、判断结果4、判断结果5的当前目标判断集合。
65.在本技术的一些实施例中,例如针对将视频帧插入list数组、array数组、arraylist数组、set数组等目标判断集合的实施例,可以通过编程语言实现,例如java、c 、c#、python等。在本技术另外一些实施例中,例如针对将视频帧插入数据库的实施例,可以通过数据库语言实现,例如mysql、mariadb、oracle、microsoft sql server、mongodb等。
66.具体的,步骤s302可以由统计模块803执行。在本技术的一些实施例中,统计模块803分别将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合可以是插入一个视频帧后,则对应得到该视频帧的当前目标判断集合,以便于根据当前目标判断集合对该视频帧进行及时的综合性判断。在本技术另外的一些实施例中,统计模块803分别将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合可以是全部插入所有视频帧后,然后再依次在插入记录中得到每一视频帧对应的当前目标判断集合。
67.步骤s303,基于所述当前目标判断集合统计判断结果相同的视频帧数量。
68.得到每一视频帧对应的当前目标判断集合,则可以基于该当前目标判断集合统计判断结果相同的视频帧数量,以便于对该视频帧进行综合性的判断。在一些具体的实施例中,例如针对目标判断集合为固定长度集合的实施例,则可以直接根据当前目标判断集合进行结果统计即可,以图6为例,插入后的目标判断集合的判断结果包括:判断结果2、判断结果3、判断结果4、判断结果5,其中判断结果2、判断结果3、判断结果4为存在特定目标,判断结果5为不存在特定目标,即可以统计存在特定目标的判断结果的数量为3,也可以统计不存在特定目标的判断结果的数量为1。在一些具体的实施例中,例如针对目标判断集合为
初始长度的动态集合的实施例,则可以根据当前目标判断集合确定统计范围后再进行结果统计,以图7为例,插入后的目标判断集合的判断结果包括:判断结果1、判断结果2、判断结果3、判断结果4、判断结果5,可以确定当前目标判断集合的统计范围为判断结果2、判断结果3、判断结果4、判断结果5。具体的,关于目标判断集合为初始长度的动态集合确定统计范围可以参见附图5,步骤s501-s504。
69.如图4所示,为本技术实施例中提供的示例性确定当前目标判断集合的一个实施例流程示意图。在一些实施例中,目标判断集合是长度为k的固定集合,根据固定长度k的目标判断集合确定当前目标判断集合可以包括步骤s401~s404,具体如下:
70.步骤s401,分别获取所述连续视频帧序列中每一视频帧的帧数值。
71.帧数值可以是指视频帧对应的拍摄顺序值。在本技术一些实施例中,每一视频帧的帧数值可以根据视频帧获取先后顺序(视频拍摄过程)确定,例如最先获取的视频帧的帧数值为1,其后获取视频帧的帧数值依次为2、3、4....。本技术的另外一些实施例,每一视频帧的帧数值可以根据拍摄时间确定,例如对于拍摄时间为0.008sec视频帧的帧数值为1,对于拍摄时间为0.009sec视频帧的帧数值为2。具体的,步骤s401可以由统计模块803执行,其中,每一视频帧的帧数值可以是与每一视频帧组成的一组数据,以便于统计模块803统一获取。
72.步骤s402,分别比较所述连续视频帧序列中每一视频帧的帧数值与长度k的大小,得到大小比较结果。
73.在一些实施例中,针对续视频帧序列中第i视频帧,其中第i视频帧可以是指连续视频帧序列中的任一帧视频帧,i代表连续视频帧序列中的任一帧视频帧的序列值,i为大于0的整数值,可以首先将连续视频帧序列中的任一帧视频帧的序列值i与k值的大小进行比较,进而判断固定长度k的目标判断集合是否已经填满视频帧的判断结果。具体的,步骤s402可以由统计模块803执行。
74.步骤s403,基于所述大小比较结果确定所述连续视频帧序列中每一视频帧插入所述目标判断集合的第一位置信息。
75.得到大小比较结果后,则可以根据大小比较结果确定第i视频帧的判断结果插入所述目标判断集合的第一位置信息。在本技术的一些实施例中,当i大于k时,例如,如图6所示,针对第5视频帧对应的判断结果5,目标判断集合的固定长度k为4,则可以确定目标判断集合已经填满视频帧的判断结果,包括判断结果1、判断结果2、判断结果3、判断结果4,因此可以将判断结果1去除,并将判断结果2、判断结果3、判断结果4向前挪动一位,最终确定判断结果5插入所述目标判断集合的第一位置的为目标判断集合的末位位置;当i小于等于k时,则目标判断集合未填满视频帧的判断结果,因此可以确定所述第i视频帧的判断结果插入所述目标判断集合的第一位置为目标判断集合的第i位位置。具体的,步骤s403可以是由统计模块803执行。
76.步骤s404,基于所述第一位置信息将所述连续视频帧序列中每一视频帧的判断结果依次插入所述目标判断集合,得到与所述连续视频帧序列中每一视频帧对应的当前目标判断集合。
77.当每一帧视频帧的判断结果确定了对应插入目标判断集合的第一位置信息后,即可以直接将该视频帧的判断结果插入目标判断集合,以便于进行及时的连续视频帧序列特
定目标判断过程。例如,如图6所示,插入目标判断集合后,目标判断集合的判断结果包括:判断结果2、判断结果3、判断结果4、判断结果5。在一些具体的实施例中,当每一帧视频帧的判断结果确定对应插入目标判断集合的第一位置信息后,还可以等待下一帧视频帧或后续几帧视频帧的第一位置信息确定后再一起插入目标判断集合,进行跳过一定视频帧的视频帧序列特定目标判断过程,以减少目标检测过程的计算量。
78.如图5所示,本技术实施例中提供的示例性基于当前目标判断集合统计判断结果相同的视频帧数量的一个实施例流程示意图。在一些实施例中,目标判断集合是初始长度为l的动态集合,根据初始长度为l的目标判断集合统计判断结果相同的视频帧数量可以包括步骤s501~s504:
79.步骤s501,分别获取所述连续视频帧序列中每一视频帧的帧数值。
80.帧数值可以是指视频帧对应的序列号,其中,每一视频帧的帧数值可以根据视频帧获取先后顺序(视频拍摄过程)确定,例如最先获取的视频帧的帧数值为1,其后获取视频帧的帧数值依次为2、3、4....。在一些实施例中,每一视频帧的帧数值可以是与每一视频帧组成的一组数据,以便以统一获取。具体的,步骤s501可以由统计模块803执行。
81.步骤s502,分别比较所述连续视频帧序列中每一视频帧的帧数值与长度l的大小,得到大小比较结果。
82.在一些具体的实施例中,可以比较i与l的大小,得到大小比较结果,以便于确定目标判断集合统计范围,例如,如图7所示,目标判断集合统计范围为4帧视频帧中存在特定对象的比例或数量,目标判断集合初始长度l为4,当i小于l时,即只需确定目标判断集合统计范围为当前目标判断集合中存在的视频帧的判断结果即可;当i为5,i大于l时,即可确定目标判断集合统计范围为目标判断集合中2-5区间范围对应的视频帧的判断结果。具体的,步骤s503可以由统计模块803执行。
83.步骤s503,基于所述大小比较结果确定所述当前目标判断集合的统计范围。
84.当前目标判断集合的统计范围可以是指统计结果的区间范围。在一些具体的实施例中,基于所述大小比较结果确定所述当前目标判断集合的统计范围可以包括:获取预设的统计范围阈值j,其中,j为大于0的整数值;对于所述连续视频帧序列中每一视频帧的帧数值i,当所述帧数值i大于l时,确定所述当前目标判断集合的统计范围为i-j 1至i的区间范围,其中i为大于0的整数值;否则确定所述当前目标判断集合的统计范围为1至i的区间范围,其中,统计范围阈值j可以是指统计范围的预设长度,例如,如图7所示,目标判断集合初始长度l为4,统计范围阈值j为4,当i小于等于l时,即只需确定当前目标判断集合的统计范围为当前目标判断集合中存在的视频帧的判断结果即可;当i为5,i大于l,即可确定目标判断集合统计范围为目标判断集合中2-5区间范围对应的视频帧的判断结果。在一些实施例中,统计范围阈值j可以是系统设定值,例如设定在统计模块803中的参数值。
85.步骤s504,基于所述当前目标判断集合的统计范围统计判断结果相同的视频帧数量。
86.基于所述大小比较结果确定了当前目标判断集合的统计范围,则可以根据插入后的所述当前目标判断集合统计所述判断结果相同的数量。例如,以图5为例,插入后的当前目标判断集合的判断结果包括:判断结果1、判断结果2、判断结果3、判断结果4、判断结果5,根据大小比较结果可以确定统计范围包括判断结果2、判断结果3、判断结果4、判断结果5,
其中判断结果2、判断结果3、判断结果4为存在特定目标,判断结果5为不存在特定目标,即可以统计存在特定目标的判断结果的数量为3,也可以统计不存在特定目标的判断结果的数量为1。具体的,步骤s504可以由统计模块803执行。
87.为了更好实施本技术实施例中目标检测方法,在目标检测方法基础之上,本技术实施例中还提供一种目标检测装置,如图8所示,所述目标检测装置800包括:
88.获取模块801,所述获取模块801用于获取连续视频帧序列。在一些实施例中,获取连续视频帧序列可以是通过接收图像获取终端140发出而实现的。在一些实施例中,获取连续视频帧序列接收存储设备130存储的历史连续视频帧序列实现。
89.判断模块802,所述判断模块802用于分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果。在一些实施例中,判断所述连续视频帧序列中每一视频帧中是否存在特定目标可以通过前景检测算法实现。在一些实施例中,前景检测算法可以包括基于背景更新的前景检测算法(visual background extractor,vibe)、高斯混合模型(gaussian mixture model,gmm)、背景差法、帧差法、平均背景法、光流法等或其组合。在一些实施例中,判断所述连续视频帧序列中每一视频帧中是否存在特定目标可以通过基于深度学习的目标检测算法实现的。在一些实施例中,基于深度学习的目标检测算法可以包括基于区域的卷积神经网络(faster region-convolutional neural networks,faster r-cnn)、基于区域的全卷积网络(region-based fully convolutional network.s,rfcn)、目标检测(you only look once,yolo)、单发多盒探测器(single shot multibox detector,ssd)等或其组合。
90.统计模块803,所述统计模块803用于统计所述连续视频帧序列中判断结果相同的视频帧数量。在一些实施例中,统计所述连续视频帧序列中判断结果相同的视频帧数量可以是统计不存在特定目标的视频帧判断结果数量。在一些实施例中,统计所述连续视频帧序列中判断结果相同的视频帧数量可以是统计存在特定目标的视频帧判断结果数量。在一些实施例中,可以通过目标判断集合统计所述连续视频帧序列中判断结果相同的视频帧数量,其中目标判断集合是指按连续视频帧序列顺序存放每一视频帧的判断结果的集合,以便于进行连续性以及综合性的目标检测过程,避免间歇性判断以及误判情况的发生
91.确定模块804,所述确定模块804用于当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。预设帧数条件可以是指根据数量判断所述连续视频帧序列中存在所述特定目标的条件。在一些实施例中,例如针对步骤s203统计的数量是不存在特定目标的视频帧判断结果数量的实施例,预设帧数条件可以是指步骤s203统计的数量大于第一阈值。在一些实施例中,例如针对步骤s203统计的数量是存在特定目标的视频帧判断结果数量的实施例,预设帧数条件可以是指步骤s203统计的数量小于第二阈值。
92.应当理解,图8所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本技术的系统及其模块不仅可以有诸如超大规模集成电路或门
阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
93.需要注意的是,以上对于装置及其模块的描述,仅为描述方便,并不能把本技术限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图8中披露的获取模块801、判断模块802、统计模块803、确定模块804可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能,例如获取模块801、判断模块802可以是分别具有获取和判断功能的两个模块,也可以是同时具有获取和判断功能的一个模块。
94.为了更好实施本技术实施例中的目标检测方法,在目标检测方法基础之上,本技术实施例中还提供一种目标检测系统,其集成了本技术实施例所提供的任一种目标检测装置,所述系统包括:
95.一个或多个处理器;
96.存储器;以及
97.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述目标检测实施例中任一项实施例所述的目标检测方法中的步骤。
98.如图9所示,其示出了本技术实施例所涉及的目标检测系统的结构示意图,具体来讲:
99.该目标检测系统可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902。本领域技术人员可以理解,图9中示出的结构并不构成对目标检测系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
100.处理器901是该系统的控制中心,利用各种接口和线路连接整个系统的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行系统的各种功能和处理数据,从而对系统进行整体监控。可选的,处理器901可包括一个或多个处理核心;处理器901可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,优选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。
101.存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据目标检测系统的使用所创建
的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
102.尽管未示出,目标检测系统还可以包括显示单元等,在此不再赘述。具体在本实施例中,目标检测系统中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能,如下:
103.获取连续视频帧序列;
104.分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果;
105.统计所述连续视频帧序列中判断结果相同的视频帧数量;
106.当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。
107.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
108.为此,本发明实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(read only memory,rom)、随机存取记忆体(random access memory,ram)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种目标检测方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
109.获取连续视频帧序列;
110.分别判断所述连续视频帧序列中每一视频帧中是否存在特定目标,得到每一视频帧的判断结果;
111.统计所述连续视频帧序列中判断结果相同的视频帧数量;
112.当所述数量满足预设帧数条件时,确定检测到所述特定目标的检测结果。
113.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
114.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
115.同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
116.相应地,本技术的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本技术的各方面可能表现为位于一个
或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
117.计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
118.本技术各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb.net、python等,常规程序化编程语言如c语言、visual basic、fortran 2003、perl、cobol 2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
119.此外,除非权利要求中明确说明,本技术所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本技术流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本技术实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
120.同理,应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
121.以上对本技术实施例所提供的一种目标检测方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献