本申请涉及智能监控技术领域,特别是涉及一种监控视频中视频帧的提取方法、装置、计算机设备和存储介质。
背景技术:
出于对家庭成员、财产方面安全的重视,越来越多的家庭开始使用监控设备进行预警;监控设备上传监控视频到云端后,服务器会从监控视频中提取视频帧并进行分析。
现有技术中,对监控视频中视频帧的提取方式,一般是服务器根据监控视频前后视频帧的像素亮度变化,将监控视频划分成不同类型的时间片段,进而对不同类型的时间片段使用不同的视频帧提取方式;但是,这种方式会将除第一帧与最后一帧外的其他视频帧重复计算两次,导致监控视频中视频帧的提取过程较为繁琐,从而造成服务器提取视频帧的效率低下。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高服务器提取视频帧的效率的监控视频中视频帧的提取方法、装置、计算机设备和存储介质。
一种监控视频中视频帧的提取方法,所述方法包括:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对所述视频帧进行人脸识别,得到人脸识别结果;
根据所述人脸识别结果,确定所述当前监控视频的场景状态;
根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数;
根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧。
在一个实施例中,所述对所述视频帧进行人脸识别,得到人脸识别结果,包括:若识别到所述视频帧中包含人脸信息,则提取所述视频帧中的人脸信息;将所述视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果;若识别到所述视频帧中不包含人脸信息,则确定所述人脸识别结果为所述当前监控视频中不存在人脸。
在一个实施例中,所述根据所述人脸识别结果,确定所述当前监控视频的场景状态,包括:若所述人脸识别结果为所述当前监控视频中存在所述预设家庭成员,则确定所述当前监控视频的场景状态为第一场景状态;若所述人脸识别结果为所述当前监控视频中不存在所述预设家庭成员,则确定所述当前监控视频的场景状态为第二场景状态;若所述人脸识别结果为所述当前监控视频中不存在人脸,则确定所述当前监控视频的场景状态为第三场景状态。
在一个实施例中,所述根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数,包括:从第一预设数据库中获取预设的视频帧提取参数文件;所述预设的视频帧提取参数文件用于记录所述场景状态与所述场景状态对应的下一场景状态的视频帧提取参数的对应关系;从所述预设的视频帧提取参数文件中,获取与所述场景状态对应的下一场景状态的视频帧提取参数;将所述下一场景状态的视频帧提取参数,确定为所述当前监控视频对应的下一监控视频的视频帧提取参数。
在一个实施例中,在所述根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧之前,还包括:读取第二预设数据库中各个监控视频的属性参数;所述属性参数包括下载标签和上传时间;从所述预设数据库中获取所述下载标签为未下载,且所述上传时间在各个所述监控视频中最早的监控视频,作为所述当前监控视频。
在一个实施例中,在所述确定所述当前监控视频的场景状态为第二场景状态之后,还包括:记录所述第二场景状态的持续时间;若所述第二场景状态的持续时间达到预设阈值,则生成预警信息;将所述预警信息发送至相应的终端设备。
在一个实施例中,所述生成预警信息,包括:从第二预设数据库中获取与所述第二场景状态对应的监控视频和所述监控视频对应的属性参数;根据所述监控视频和所述监控视频对应的属性参数生成所述预警信息;所述预警信息包括预警时间、预警预览画面以及所述监控视频对应的预览链接。
一种监控视频中视频帧的提取装置,所述装置包括:
视频帧提取模块,用于根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧;
人脸识别模块,用于对所述视频帧进行人脸识别,得到人脸识别结果;
场景状态确定模块,用于根据所述人脸识别结果,确定所述当前监控视频的场景状态;
提取参数确定模块,用于根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对所述视频帧进行人脸识别,得到人脸识别结果;
根据所述人脸识别结果,确定所述当前监控视频的场景状态;
根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数;
根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对所述视频帧进行人脸识别,得到人脸识别结果;
根据所述人脸识别结果,确定所述当前监控视频的场景状态;
根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数;
根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧。
上述监控视频中视频帧的提取方法、装置、计算机设备和存储介质,根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;对视频帧进行人脸识别,得到人脸识别结果;根据人脸识别结果,确定当前监控视频的场景状态;根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数;根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧。通过人脸识别的方法对监控视频中出现的人员进行分析,根据人脸识别的结果进一步确定当前的场景状态;并根据场景状态的特点,选择不同的视频帧提取参数对下一监控视频的视频帧进行提取;无需对同一帧进行重复计算,简化了监控视频中视频帧的提取过程,提高了服务器提取视频帧的效率。
附图说明
图1为一个实施例中监控视频中视频帧的提取方法的应用环境图;
图2为一个实施例中监控视频中视频帧的提取方法的流程示意图;
图3为一个实施例中对视频帧进行人脸识别,得到人脸识别结果步骤的流程示意图;
图4为一个实施例中根据人脸识别结果,确定当前监控视频的场景状态步骤的流程示意图;
图5为一个实施例中监根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数步骤的流程示意图;
图6为另一个实施例中监控视频中视频帧的提取方法的流程示意图;
图7为一个实施例中监控视频中视频帧的提取装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的监控视频中视频帧的提取方法,可以应用于如图1所示的应用环境中。其中,终端11通过网络与数据库12连接,数据库12可以是云存储形式;数据库12与服务器13通过网络进行通信;终端11也可以直接与服务器13通过网络进行通信。终端11将获取到的监控视频发送至数据库12;服务器13根据预先确定的视频帧提取参数,在数据库12获取终端11上传的监控视频,并从当前监控视频中提取出视频帧;服务器13对所述视频帧进行人脸识别,得到人脸识别结果;服务器13根据所述人脸识别结果,确定所述当前监控视频的场景状态;服务器13根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数;服务器13根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧。其中,终端11可以但不限于是各种监控设备、拍摄设备、通信设备,例如摄像头、电子眼、手机等;服务器13可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种监控视频中视频帧的提取方法,本实施例以该方法应用于图1所示的服务器进行举例说明,包括以下步骤:
步骤21,根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧。
其中,帧是影像动画中最小单位的单幅影像画面,一帧就是一幅静止的画面,连续的帧组合形成视频图像。视频帧提取是指在一段监控视频中通过间隔一定帧抽取若干帧得到多张静止的监控视频图像;视频帧提取参数是服务器提取监控视频每一帧时所采用的的间隔参数,包括抽帧步长。在一段时间内,前后帧(秒)的内容并不会有太大的出入,采用间隔抽帧的方式忽略关键信息的概率很小。
具体地,服务器从预设的数据库获取当前需要进行视频帧提取工作的监控视频,从预先确定的视频帧提取参数中读取抽帧步长,根据对应的抽帧步长对监控视频地视频帧进行提取,提取后获得多个静止的视频帧图像。若没有预先确定的视频帧提取参数,服务器会利用初始的视频帧提取参数对监控视频进行视频帧提取。
本步骤通过视频帧提取参数对服务器的视频帧提取间隔作出限定,视频帧提取参数是可以被更新修改的,因此服务器可以根据当前监控视频画面的情况确定下一段视频的视频帧提取参数,提高了服务器提取视频帧的效率。
步骤22,对视频帧进行人脸识别,得到人脸识别结果。
其中,由于视频帧是一张张静止的监控视频画面,因此对视频帧进行人脸识别相当于对静止的图像进行人脸识别。
具体的,服务器依次对提取出的视频帧进行人脸识别,从视频帧中获取每一个人脸信息,并与预设数据库中的人脸信息进行比对,确定每一帧所对应的人脸识别结果。例如在家庭监控场景下,通常存储在预设数据库中的人脸信息应是家庭成员的人脸信息,因此人脸识别结果通常是视频帧中存不存在人脸信息,若存在的话人脸信息是否是家庭成员。需要说明的是,由于一段监控视频提取出的视频帧数量较多,且某些情境下视频帧的重复性较大,因此可以根据实际情况从多个视频帧中选择部分有代表性的视频帧进行人脸识别,提高了服务器进行人脸识别的效率。例如一段帧率是24fps(framespersecond,每秒传输帧数),时长为2秒且画面静止的监控视频,假设每帧都提取,则获得48张视频帧图像;则我们可以设定每24张视频帧图像进行一次人脸识别,减轻服务器计算压力。
本步骤将监控与人脸识别技术结合,实时判断当前监控视频所监控的场景状态是否安全,为后续根据场景状态确定提取参数提供了可靠的数据支撑,无需对同一帧进行重复计算,简化了监控视频中视频帧的提取过程,提高了服务器提取视频帧的效率。
步骤23,根据人脸识别结果,确定当前监控视频的场景状态。
其中,场景状态是指根据监控视频所监控的场景实际情况的不同,所预先确定分类结果;在家庭监控场景下,不管是家庭成员还是陌生人(包括客人以及闯入者)在监控镜头前的活动都具有一定的连续性和持续性。例如,家庭环境下场景状态可以简单的分为有人和无人,也可以进一步分为有人、有宠物、无人和无宠物;场景状态可以根据监控应用的实际环境进行设定。当然,本方法可以应用于其他监控场景中,例如餐馆、教室、办公场所等,具体的应用场景状态可以根据应用的环境不同进行相应调整设置。
具体地,服务器通过对视频帧图像进行人脸识别得到人脸识别的结果,根据人脸识别结果中的人员信息确定当前监控视频中存在的人员是否为家庭成员,并据此将不同将监控视频对应的场景状态进行划分,确定当前监控视频对应的场景状态。
本步骤通过引入人脸识别技术对监控视频帧进行识别,并根据人脸识别的结果确定当前监控视频所对应的场景状态;能够根据不同的场景状态对监控视频帧的提取作出不同调整,无需对同一帧进行重复计算,简化了监控视频中视频帧的提取过程,提高了服务器提取视频帧的效率。
步骤24,根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数。
其中,由于监控视频具有连续的特点,因此当前的监控视频的内容通常与下一段监控视频的内容是衔接的,根据当前监控视频确定的场景状态在下一段监控视频中也适用,即前后两段视频的场景状态具有一定的继承性,前一场景是x类的,下一场景很大概率上也是x类。监控设备拍摄监控视频后,会根据实际情况将监控视频进一步划分成一定时间长度的小视频并(比如每一分钟上传一次)上传至云端数据库,服务器将会从云端数据库中下载视频进行视频帧的提取,再进一步地进行检测和识别。下一监控视频即是与当前监控视频所连续的监控视频。例如一段视频为abcde上传,服务器首先获取a段视频进行分析,分析完之后再获取b段视频进行分析,此时b段相当于a段的“下一监控视频”。
具体地,不同的场景状态分别对应不同的视频帧提取参数。服务器根据对视频帧的人脸识别确定出当前监控视频所对应的场景状态,从预设数据库中的视频帧提取参数文件提取出与场景状态对应的视频帧提取参数,作为下一监控视频的视频帧提取参数。
本步骤通过视频帧提取参数的不同,将场景状态与视频帧提取参数相对应,实现了根据场景状态调整服务器的视频帧提取的具体参数,提高了服务器提取视频帧的效率。
步骤25,根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧。
具体地,服务器通过对当前监控视频进行人脸识别确定了当前监控视频所对应的场景状态,后根据场景状态确定了下一监控视频所对应的视频帧提取参数,之后服务器会根据上述视频帧提取参数对下一监控视频进行视频帧的提取。
本步骤利用监控视频具有连续性的特点,根据当前监控视频的场景状态确定了对下一监控视频进行视频帧提取时的视频帧提取参数,确保了监控视频中视频帧提取的延续性,提高了服务器提取视频帧的效率。
上述监控视频中视频帧的提取方法中,根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;对视频帧进行人脸识别,得到人脸识别结果;根据人脸识别结果,确定当前监控视频的场景状态;根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数;根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧。通过人脸识别的方法对监控视频中出现的人员进行分析,根据人脸识别的结果进一步确定当前的场景状态;并根据场景状态的特点,选择不同的视频帧提取参数对下一监控视频的视频帧进行提取;无需对同一帧进行重复计算,简化了监控视频中视频帧的提取过程,提高了服务器提取视频帧的效率。
在一个实施例中,上述步骤22,如图3所示,对视频帧进行人脸识别,得到人脸识别结果,包括:
步骤31,若识别到视频帧中包含人脸信息,则提取视频帧中的人脸信息。
具体实现中,服务器对提取出的视频帧图像进行逐一扫描,若检测到视频帧图像中存在人脸信息,则提取检测到的人脸信息进行人脸识别,获得人脸识别结果。
步骤32,将视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果。
具体实现中,服务器从数据库中获取预先录入的预设家庭成员的人脸信息;服务器将视频帧中的人脸信息与预设家庭成员的人脸信息进行逐一匹配,确定视频帧中的各个人脸信息所对应的具体身份。若视频帧中的人脸信息与预设家庭成员的人脸信息不存在匹配,则确定人脸识别结果为陌生人;若视频帧中的人脸信息与预设家庭成员的人脸信息部分匹配成功,则确定人脸识别结果为有家庭成员。
步骤33,若识别到视频帧中不包含人脸信息,则确定人脸识别结果为当前监控视频中不存在人脸。
具体实现中,若服务器对视频帧进行扫描后,没有在视频帧中检测到人脸信息,则确定当前监控视频中不存在人脸,人脸识别结果为无人。
本实施例通过对视频帧中的人脸信息进行提取,并与预设家庭成员的人脸信息进行匹配,确定视频帧所对应的人脸识别结果。人脸识别能够确保对当前场景状态判断的准确性。
在一个实施例中,上述步骤23,如图4所示,根据人脸识别结果,确定当前监控视频的场景状态,包括:
步骤41,若人脸识别结果为当前监控视频中存在预设家庭成员,则确定当前监控视频的场景状态为第一场景状态。
步骤42,若人脸识别结果为当前监控视频中不存在预设家庭成员,则确定当前监控视频的场景状态为第二场景状态。
步骤43,若人脸识别结果为当前监控视频中不存在人脸,则确定当前监控视频的场景状态为第三场景状态。
其中,在基于家庭监控场景下,存在以下三种人脸识别结果:1)无人;2)陌生人;3)家庭成员。根据上述三种人脸识别结果,又能获得7种场景:a.一直无人,b.只有陌生人,c.只有家庭成员,d.无人 陌生人(表示在无人场景下有陌生人出现),e.无人 家庭成员,f.陌生人 家庭成员(有客来访),g.无人 陌生人 家庭成员。上述7种场景又能进一步归类为:①家中有家庭成员:c,e,f,g;②家中只有陌生人:b,d;③家中无人:a。则①②③可以作为3种场景状态。
具体地,服务器根据人脸识别结果中是否存在家庭成员信息,将当前监控视频对应的场景状态确定为第一场景状态、第二场景状态以及第三场景状态中的一种。本实施例中的场景状态可以根据监控环境实际情况的不同进行具体设置,不对场景状态的具体数量(人脸识别结果)做限制。由以上3类场景得知,在优先级上:家庭成员>陌生人>无人,即只要有家庭成员被识别成功,那么该段视频的场景即被归类于①类,若没有家庭成员出现,且出现了陌生人,则被归类于②类,若无人,则归类于③类。
本实施例将人脸识别结果与场景状态之间对应起来,实现了根据人脸识别结果确定不同场景状态的效果。
在一个实施例中,上述步骤24,如图5所示,根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数,包括:
步骤51,从第一预设数据库中获取预设的视频帧提取参数文件;预设的视频帧提取参数文件用于记录场景状态与场景状态对应的下一场景状态的视频帧提取参数的对应关系。
其中,第一预设数据库用于存储预设的视频帧提取参数文件;根据预设的视频帧提取参数文件可以查询到与下一场景状态对应的视频帧提取参数。例如,视频帧提取参数文件中,视频帧提取参数是抽帧步长。
具体地,服务器根据人脸识别确定当前场景状态,查询第一预设数据库中预设的视频帧提取参数文件,获取与当前场景状态对应的下一场景状态的视频帧提取参数。
步骤52,从预设的视频帧提取参数文件中,获取与场景状态对应的下一场景状态的视频帧提取参数。
具体地,由于场景状态之间具有连续性的特点,可以根据当前场景状态确定下一场景状态对应的视频帧提取参数;则第一场景状态对应的抽帧步长为4,理由为存在家庭成员,抽帧力度最小;第二场景状态对应的抽帧步长为3,理由为已检测存在陌生人,抽帧力度适中;第三场景状态对应的抽帧步长为2,理由为无人,不确定下一状态,抽帧力度最大。
步骤53,将下一场景状态的视频帧提取参数,确定为当前监控视频对应的下一监控视频的视频帧提取参数。
具体地,服务器将上述与场景状态对应的抽帧步长,确定为下一监控视频的视频帧提取参数;在对当前监控视频的提取完成之后,服务器会根据上述视频帧提取参数对下一监控视频进行视频帧的提取。
本实施例通过视频帧提取参数文件确定了不同场景状态所对应的视频帧提取参数,实现了服务器根据场景状态,确定下一监控视频的视频帧提取参数的效果。
在一个实施例中,上述步骤25,在根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧之前,还包括:读取第二预设数据库中各个监控视频的属性参数;属性参数包括下载标签和上传时间;从预设数据库中获取下载标签为未下载,且上传时间在各个监控视频中最早的监控视频,作为当前监控视频。
其中,第二预设数据库为存储监控设备上传的监控视频的数据库;监控视频的属性参数为监控视频文件的详细属性,例如上传时间、下载时间、文件大小、md5(md5message-digestalgorithm,信息摘要算法)以及下载标签等;下载标签与监控视频文件是否被下载有关,可以根据文件的利用状态进行修改;上传时间是监控设备上传监控视频的时间。根据下载标签和上传时间的限制,服务器可以依次从数据库中选出连续的且未被下载过的监控视频。
具体地,服务器从预设数据库中依次读取监控视频的属性参数,将下载标签为未下载和最早上传的监控视频下载到服务器本地存储中,并作为当前监控视频,进行视频帧的提取工作。将对应的监控视频下载到本地之后,需将监控视频的属性参数中下载标签修改为已下载。
本实施例通过下载标签和上传时间的条件限制,保障了服务器能够从预设数据库中获取到与上一个处理的监控视频连续的监控视频。
在一个实施例中,上述步骤42,在确定当前监控视频的场景状态为第二场景状态之后,还包括:记录第二场景状态的持续时间;若第二场景状态的持续时间达到预设阈值,则生成预警信息;将预警信息发送至相应的终端设备。
其中,第二场景状态是家中只有陌生人出现的状态,服务器通过记录该状态的持续时间是否达到预设阈值,判断第二场景状态对应的家庭环境是否存在危险需要主动预警。例如,设定第二场景状态的持续时间为5分钟;若陌生人出现在家里时间达到5分钟显然不是正常情况,例如小偷到家中盗窃,则需要生成相应的预警信息。对应的,若第二场景状态只持续了10s,例如检测到陌生人后又出现了家庭成员,可能是邀请朋友到家中做客,朋友被先邀请进门走进监控设备的视野范围后,家庭成员才随后进入。这种情况下通过第二场景状态的持续时间的限制避免了错误的预警。
具体地,服务器通过对视频帧的人脸识别,发现视频帧中存在一个或多个陌生的人脸信息,并且没有出现家庭成员人脸信息,则确认当前场景状态为第二场景状态,并记录第二场景状态的开始时间;一段时间后,当前场景状态依旧为第二场景状态,服务器将当前的时间与第二场景状态的开始时间进行计算,得到第二场景状态的持续时间,若超过预设阈值,则生成预警信息发送至家庭成员终端设备;也可以通过设置使服务器接入公安报警系统,自动进行报警。
本实施例通过对危险的场景状态设置持续时间,排除了部分可能产生错误预警的情况,增强了监控设备及其系统的监控有效性。
在一个实施例中,生成预警信息,包括:从第二预设数据库中获取与第二场景状态对应的监控视频和监控视频对应的属性参数;根据监控视频和监控视频对应的属性参数生成预警信息;预警信息包括预警时间、预警预览画面以及监控视频对应的预览链接。
具体地,服务器当前监控的家庭环境场景的确存在危险,从第二预设数据库中获取监控视频的文件和监控视频文件对应的属性参数,可以为多个监控视频。服务器为上述获取到的监控视频生成预览的链接,终端设备可以根据该链接查看监控视频,确认家中的具体情况。进一步的,服务器还可以将监控视频中的人脸信息提取出来,添加至预警信息中,便于操作终端设备的人员第一时间了解到家庭中的侵入人员;同时,若预警信息接入公安系统,可以通过预警信息中的人脸信息直接获取侵入人员的身份信息,便于公安人员掌握情况,第一时间处理。
本实施例将监控视频、属性参数甚至人脸信息等打包生成预警信息,直观的让相关人员了解到所监控环境的最新情况及危险源信息,提高了监控系统的预警效果。
在一个实施例中,如图6所示,提供了另一种监控视频中视频帧的提取方法,可以应用于如图1所示的应用环境中:服务器13从云存储12下载终端11上传的监控视频进行分析,服务器13根据初始的步长参数对监控视频进行抽帧,得到视频帧图像;服务器13对视频帧图像进行人脸识别,根据预设的人脸识别结果确定场景状态;服务器13再根据当前场景状态确定下一监控视频对应的抽帧步长;服务器13将当前监控视频分析完毕后,输出并记录当前监控视频分析结果后继续从云存储12中下载与当前监控视频连续的下一监控视频,并重复上述步骤。
本实施例中在确定当前场景状态时可能会因为遗漏关键帧,导致识别出错;但本发明所采用的机制会使服务器很快纠正上述误差。假设前一场景(n-1)状态为①第一场景状态(即存在家庭成员),设当前真实场景(n)为①第一场景状态。那么当前场景状态下的抽帧步长为4;考虑这样一种极端情况,在此抽帧步长下,遗漏掉了所有的存在人物帧,即未检测到任何人脸信息存在,那么检测后的场景为③第三场景状态(即无人),那么下一场景状态对应的监控视频抽帧步长为2,抽帧力度最大。那么由于下一场景(n 1)的抽帧力度最大,有最大概率得到该场景的(n 1)真实状态。因此,即便在极端情况下,对于关键帧的遗漏只会导致有限场景的错误判断,而监控视频之间具有连续性,对场景状态判断的错误将会被很快纠正。
另外,由于当前人脸识别算法的成熟,很少会出现人脸识别错误的情况,因此重点关注人脸检测出错的情况。由于现实情况下可能出现人脸信息遮挡、运动模糊情况导致的人脸识别出错,即有人场景判断成无人场景。在家庭监控领域,必须保证对闯入者的准确检测。在真实场景中,场景状态是具有一定的继承性的,很少出现第n场景为a类(即①第一场景状态),第n 1场景为b类(即②第二场景状态),第n 2场景为c类(③第三场景状态),第n 3场景为d类(d属于a,b,c中的一类)的情况。前一场景为②时,已经检测到有闯入者,对当前场景的误判并不会导致无法预警。前一场景为③类场景时,抽帧力度最大,检测出错的可能性最小。前一场景为①类场景时,抽帧力度最小,出错可能性最大,因此,重点分析此种情况。前一场景(n-1)为①类场景时,当前视频(n)的抽帧步长为4,且当前场景未检测出陌生人(即检测错误),那么下一场景(n 1)的抽帧步长为2,检测出错的概率最小。即在较差的情况下,也只会导致一段视频检测出错,预警信息生成的时间出现略微延迟(且延迟时间较短),而不会出现不预警的情况。可以通过缩短每一段监控视频时间的方式提高预警效果。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种监控视频中视频帧的提取装置,包括:视频帧提取模块71、人脸识别模块72、场景状态确定模块73和提取参数确定模块74,其中:
视频帧提取模块71,用于根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧;
人脸识别模块72,用于对视频帧进行人脸识别,得到人脸识别结果;
场景状态确定模块73,用于根据人脸识别结果,确定当前监控视频的场景状态;
提取参数确定模块74,用于根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数。
在一个实施例中,人脸识别模块72还用于若识别到视频帧中包含人脸信息,则提取视频帧中的人脸信息;将视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果;若识别到视频帧中不包含人脸信息,则确定人脸识别结果为当前监控视频中不存在人脸。
在一个实施例中,场景状态确定模块73还用于若人脸识别结果为当前监控视频中存在预设家庭成员,则确定当前监控视频的场景状态为第一场景状态;若人脸识别结果为当前监控视频中不存在预设家庭成员,则确定当前监控视频的场景状态为第二场景状态;若人脸识别结果为当前监控视频中不存在人脸,则确定当前监控视频的场景状态为第三场景状态。
在一个实施例中,提取参数确定模块74还用于从第一预设数据库中获取预设的视频帧提取参数文件;预设的视频帧提取参数文件用于记录场景状态与场景状态对应的下一场景状态的视频帧提取参数的对应关系;从预设的视频帧提取参数文件中,获取与场景状态对应的下一场景状态的视频帧提取参数;将下一场景状态的视频帧提取参数,确定为当前监控视频对应的下一监控视频的视频帧提取参数。
在一个实施例中,监控视频中视频帧的提取装置还包括监控视频提取模块,用于读取第二预设数据库中各个监控视频的属性参数;属性参数包括下载标签和上传时间;从预设数据库中获取下载标签为未下载,且上传时间在各个监控视频中最早的监控视频,作为当前监控视频。
在一个实施例中,监控视频中视频帧的提取装置还包括监控视频预警模块,用于记录第二场景状态的持续时间;若第二场景状态的持续时间达到预设阈值,则生成预警信息;将预警信息发送至相应的终端设备。
在一个实施例中,预警模块还用于从第二预设数据库中获取与第二场景状态对应的监控视频和监控视频对应的属性参数;根据监控视频和监控视频对应的属性参数生成预警信息;预警信息包括预警时间、预警预览画面以及监控视频对应的预览链接。
上述各个实施例,通过人脸识别的方法对监控视频中出现的人员进行分析,根据人脸识别的结果进一步确定当前的场景状态;并根据场景状态的特点,选择不同的视频帧提取参数对下一监控视频的视频帧进行提取;无需对同一帧进行重复计算,简化了监控视频中视频帧的提取过程,提高了服务器提取视频帧的效率。
关于监控视频中视频帧的提取装置的具体限定可以参见上文中对于监控视频中视频帧的提取方法的限定,在此不再赘述。上述监控视频中视频帧的提取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储监控视频中视频帧的提取数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种监控视频中视频帧的提取方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对视频帧进行人脸识别,得到人脸识别结果;
根据人脸识别结果,确定当前监控视频的场景状态;
根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数;
根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若识别到视频帧中包含人脸信息,则提取视频帧中的人脸信息;将视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果;若识别到视频帧中不包含人脸信息,则确定人脸识别结果为当前监控视频中不存在人脸。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若人脸识别结果为当前监控视频中存在预设家庭成员,则确定当前监控视频的场景状态为第一场景状态;若人脸识别结果为当前监控视频中不存在预设家庭成员,则确定当前监控视频的场景状态为第二场景状态;若人脸识别结果为当前监控视频中不存在人脸,则确定当前监控视频的场景状态为第三场景状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从第一预设数据库中获取预设的视频帧提取参数文件;预设的视频帧提取参数文件用于记录场景状态与场景状态对应的下一场景状态的视频帧提取参数的对应关系;从预设的视频帧提取参数文件中,获取与场景状态对应的下一场景状态的视频帧提取参数;将下一场景状态的视频帧提取参数,确定为当前监控视频对应的下一监控视频的视频帧提取参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:读取第二预设数据库中各个监控视频的属性参数;属性参数包括下载标签和上传时间;从预设数据库中获取下载标签为未下载,且上传时间在各个监控视频中最早的监控视频,作为当前监控视频。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:记录第二场景状态的持续时间;若第二场景状态的持续时间达到预设阈值,则生成预警信息;将预警信息发送至相应的终端设备。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从第二预设数据库中获取与第二场景状态对应的监控视频和监控视频对应的属性参数;根据监控视频和监控视频对应的属性参数生成预警信息;预警信息包括预警时间、预警预览画面以及监控视频对应的预览链接。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对视频帧进行人脸识别,得到人脸识别结果;
根据人脸识别结果,确定当前监控视频的场景状态;
根据场景状态,确定当前监控视频对应的下一监控视频的视频帧提取参数;
根据视频帧提取参数,从当前监控视频对应的下一监控视频中提取出视频帧。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若识别到视频帧中包含人脸信息,则提取视频帧中的人脸信息;将视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果;若识别到视频帧中不包含人脸信息,则确定人脸识别结果为当前监控视频中不存在人脸。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若人脸识别结果为当前监控视频中存在预设家庭成员,则确定当前监控视频的场景状态为第一场景状态;若人脸识别结果为当前监控视频中不存在预设家庭成员,则确定当前监控视频的场景状态为第二场景状态;若人脸识别结果为当前监控视频中不存在人脸,则确定当前监控视频的场景状态为第三场景状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从第一预设数据库中获取预设的视频帧提取参数文件;预设的视频帧提取参数文件用于记录场景状态与场景状态对应的下一场景状态的视频帧提取参数的对应关系;从预设的视频帧提取参数文件中,获取与场景状态对应的下一场景状态的视频帧提取参数;将下一场景状态的视频帧提取参数,确定为当前监控视频对应的下一监控视频的视频帧提取参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取第二预设数据库中各个监控视频的属性参数;属性参数包括下载标签和上传时间;从预设数据库中获取下载标签为未下载,且上传时间在各个监控视频中最早的监控视频,作为当前监控视频。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:记录第二场景状态的持续时间;若第二场景状态的持续时间达到预设阈值,则生成预警信息;将预警信息发送至相应的终端设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从第二预设数据库中获取与第二场景状态对应的监控视频和监控视频对应的属性参数;根据监控视频和监控视频对应的属性参数生成预警信息;预警信息包括预警时间、预警预览画面以及监控视频对应的预览链接。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种监控视频中视频帧的提取方法,其特征在于,所述方法包括:
根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;
对所述视频帧进行人脸识别,得到人脸识别结果;
根据所述人脸识别结果,确定所述当前监控视频的场景状态;
根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数;
根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧。
2.根据权利要求1所述的方法,其特征在于,所述对所述视频帧进行人脸识别,得到人脸识别结果,包括:
若识别到所述视频帧中包含人脸信息,则提取所述视频帧中的人脸信息;
将所述视频帧中的人脸信息与预设家庭成员的人脸信息进行匹配,得到匹配结果,作为人脸识别结果;
若识别到所述视频帧中不包含人脸信息,则确定所述人脸识别结果为所述当前监控视频中不存在人脸。
3.根据权利要求2所述的方法,其特征在于,所述根据所述人脸识别结果,确定所述当前监控视频的场景状态,包括:
若所述人脸识别结果为所述当前监控视频中存在所述预设家庭成员,则确定所述当前监控视频的场景状态为第一场景状态;
若所述人脸识别结果为所述当前监控视频中不存在所述预设家庭成员,则确定所述当前监控视频的场景状态为第二场景状态;
若所述人脸识别结果为所述当前监控视频中不存在人脸,则确定所述当前监控视频的场景状态为第三场景状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数,包括:
从第一预设数据库中获取预设的视频帧提取参数文件;所述预设的视频帧提取参数文件用于记录所述场景状态与所述场景状态对应的下一场景状态的视频帧提取参数的对应关系;
从所述预设的视频帧提取参数文件中,获取与所述场景状态对应的下一场景状态的视频帧提取参数;
将所述下一场景状态的视频帧提取参数,确定为所述当前监控视频对应的下一监控视频的视频帧提取参数。
5.根据权利要求4所述的方法,其特征在于,在所述根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧之前,还包括:
读取第二预设数据库中各个监控视频的属性参数;所述属性参数包括下载标签和上传时间;
从所述预设数据库中获取所述下载标签为未下载,且所述上传时间在各个所述监控视频中最早的监控视频,作为所述当前监控视频。
6.根据权利要求3所述的方法,其特征在于,在所述确定所述当前监控视频的场景状态为第二场景状态之后,还包括:
记录所述第二场景状态的持续时间;
若所述第二场景状态的持续时间达到预设阈值,则生成预警信息;
将所述预警信息发送至相应的终端设备。
7.根据权利要求6所述的方法,其特征在于,所述生成预警信息,包括:
从第二预设数据库中获取与所述第二场景状态对应的监控视频和所述监控视频对应的属性参数;
根据所述监控视频和所述监控视频对应的属性参数生成所述预警信息;所述预警信息包括预警时间、预警预览画面以及所述监控视频对应的预览链接。
8.一种监控视频中视频帧的提取装置,其特征在于,所述装置包括:
视频帧提取模块,用于根据预先确定的视频帧提取参数,从当前监控视频中提取出视频帧;根据所述视频帧提取参数,从所述当前监控视频对应的下一监控视频中提取出视频帧;
人脸识别模块,用于对所述视频帧进行人脸识别,得到人脸识别结果;
场景状态确定模块,用于根据所述人脸识别结果,确定所述当前监控视频的场景状态;
提取参数确定模块,用于根据所述场景状态,确定所述当前监控视频对应的下一监控视频的视频帧提取参数。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结