活体视频图片处理方法、装置、计算机设备和存储介质与流程

文档序号:21547480发布日期:2020-07-17 17:58阅读:373来源:国知局
活体视频图片处理方法、装置、计算机设备和存储介质与流程

本发明涉及生物识别技术领域,特别是涉及活体检测中视频图片处理方法、装置和可读存储介质。



背景技术:

人像识别作为一项成熟的生物识别技术,目前已经广泛应用于金融、教育、公安、社会服务、电子商务等领域。然而,人脸很容易用视频或照片进行复制后进行欺骗性识别,使得安全性存在问题。视频活体检测是目前应对这种安全问题的主要解决方案。

现有技术视频活体检测中需要将视频解码出图片和声音,而活体检测仅需要对解码出来的图片进行检测,对解码出来的声音并不检测。在对图片检测活体置信度时,一般并不对所有视频图片进行检测,而只对大约3~6秒左右的视频进行检测,以视频码率25帧/秒计算,视频活体检测的视频总帧数大约在100帧左右,一般使用cpu解码并格式转换一张图片需要耗时20~40毫秒左右,100帧图片则需要2000~4000毫秒左右,耗时长并且浪费操作系统的资源。如果将视频下载到本地磁盘进行处理,又势必会增加磁盘于内存之间的io访问量,降低处理速度。

此外,常规的视频活体检测解码器多为处理文件格式的视频,无法直接检测内存视频数据。并且,部分活体检测的视频来源于手机、平板电脑等移动终端设备,拍摄角度不同,视频活体检测解码需要对图像进行旋转操作,也需要耗费cpu的资源和处理时间。以上情况均会导致视频活体检测效率降低,用户体验不好。

因此,有必要对现有技术进行改进以期获得更好的用户体验。



技术实现要素:

基于此,有必要针对存在的问题,提供一种活体检测中视频图片的处理方法、装置和可读存储介质,以改善现有视频活体检测的效率。

一种活体视频图片处理方法,所述方法包括:

接收活体视频的检测请求并保存所述活体视频到内存;

获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;

根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;

对所述目标图片进行解码得到解码目标图片;

将所述解码目标图片反馈给底层接口。

在其中一个实施例中,所述方法还包括:所述对所述目标图片进行解码得到解码目标图片的步骤之后还包括:

获取所述解码目标图片的图片角度信息;

根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片。

在其中一个实施例中,所述方法还包括:所述根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片的步骤包括:

获取所述原始活体视频数据包中的图片数量并编号;

删除编号在首尾的预设数量图片;

对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在其中一个实施例中,所述方法还包括:所述对所述目标图片进行解码得到解码目标图片的步骤包括:

获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

一种活体视频图片处理装置,所述活体视频图片处理装置包括:

接收单元,用于接收活体视频的检测请求并将所述活体视频保存到内存;

原始活体视频数据包计算单元,用于计算出原始活体视频数据包中的图片数量;

图片抽帧单元,用于根据所述原始活体视频数据包计算单元计算出来的图片数量,对所述原始活体视频数据包中的图片进行抽帧,以获取目标图片;

图片解码单元,用于将所述图片抽帧单元抽取的目标图片进行解码还原,以得到解码目标图片,并将所述解码目标图片反馈给底层接口。

在其中一个实施例中,所述装置还包括:

图片角度处理单元,用于获取所述图片解码单元输出的所述解码目标图片的图片角度信息,并根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片。

在其中一个实施例中,所述图片抽帧单元还包括:

图片数量编号模块,用于获取到的所述原始活体视频数据包中的图片数量,并所述原始活体视频数据包中的图片进行编号;

图片抽帧处理模块,用于删除所述图片数量编号模块进行编号的所述原始活体视频数据包中图片编号在首尾的预设数量图片,并对剩余图片进行等距离抽取图片,以获得目标图片。

在其中一个实施例中,所述图片解码单元还包括:

参考帧获取模块,用于获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

图片抽帧检测模块,用于根据所述参考帧获取模块获取的关键帧i帧和非关键帧p帧的信息,对所述目标图片进行抽帧检测;

图片解码模块,用于对所述图片抽帧检测模块输出的所述目标图片进行解码还原,并将所述解码目标图片反馈给底层接口。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述方法的步骤。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述方法的步骤。

上述活体视频图片处理方法、装置、计算机设备和存储介质,通过接收活体视频检测的请求,并将活体视频保存到内存;对需要检测的活体视频计算出其中所包含的图片数量,去掉活体视频中图片序列首尾的帧图片,再等距离抽取帧图片来得到目标图片,再对目标图片根据视频压缩技术中参考帧对其进行检测,以确保得到的目标图片包含了原始活体视频中的完整信息,最后将抽帧检测后的目标图片进行解码,以最终得到解码目标图片输出给底层接口。通过在内存中直接进行图片抽帧、解码的操作,避免了将活体视频下载到磁盘中进行操作,减少了磁盘的io(inputandoutput输入和输出)操作,直接在内存中的操作减少了中间处理环节,提高了活体视频整理处理性能,进而提高了活体视频检测解码视频的处理速度,节省了gpu的性能损耗。另外,在将解码目标图片输出到底层接口前,还可以对解码目标图片进行图片角度信息的处理,将非正常视角的图片进行角度旋转处理,得到正常视角的图片输出到底层接口,进一步减轻了底层sdk(softdevelopmentkit软件开发工具包)的处理压力,提高活体视频检测的精度。

附图说明

图1为一个实施例中提供的活体视频图片处理方法的实施环境图;

图2为一个实施例中计算机设备的内部结构框图;

图3为一个实施例中活体视频图片处理方法的流程图;

图4为另一个实施例中活体视频图片处理方法的流程图;

图5为一个实施例中根据原始活体视频数据包中的图片数量对图片进行抽帧以获得目标图片的流程图;

图6为一个实施例中对目标图片进行解码得到解码目标图片的流程图;

图7为一个实施例中活体视频图片处理装置的结构框图;

图8为另一个实施例中活体视频图片处理装置的结构框图;

图9为一个实施例中图片抽帧单元的结构框图;

图10为一个实施例中图片解码单元的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中提供的活体视频图片处理方法的实施环境图,如图1所示,在该实施环境中,包括计算机设备110以及终端120。

计算机设备110为活体视频图片处理设备,例如为测试人员使用的电脑等计算机设备,计算机设备110上安装有活体视频图片处理工具。终端120上安装有需要进行活体视频图片处理的应用,当需要进行活体视频图片处理时,测试人员可以在终端120发出活体视频图片处理请求,该活体视频图片处理请求中携带有活体视频图片处理标识,计算机设备110接收该活体视频图片处理请求,根据活体视频图片处理标识获取计算机设备110中与活体视频图片处理标识对应的测试脚本,然后利用活体视频图片处理工具执行该测试脚本,对终端120上的应用进行测试,并获取测试脚本对应的活体视频图片处理结果。

需要说明的是,终端120以及计算机设备110可为智能手机、平板电脑、笔记本电脑、台式计算机、服务器等,但并不局限于此。计算机设备110以及终端120可以通过蓝牙、usb(universalserialbus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。

图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机程序,数据库中可存储有控件信息序列,该计算机程序被处理器执行时,可使得处理器实现一种活体视频图片处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种活体视频图片处理方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图3所示,在一个实施例中,提出了一种方法,该方法可以应用于上述的计算机设备110中,具体可以包括以下步骤s302~s310:

步骤s302,接收活体视频的检测请求并保存所述活体视频到内存;

在本实施例中,接收活体视频的检测请求一般由计算机设备来完成,本实施例中采用后台服务器来完成,当然,此处采用后台服务器来完成并非限定于服务器来完成,如前所述的其他计算机设备也可以承担。在视频活体检测技术中,后台服务器承担着视频解码运算工作,将视频活体检测器设置在后台服务器端,在视频活体检测器接收到活体视频的检测请求后,视频活体检测器会获取到原始活体视频数据包,将原始活体视频数据包保存到内存中。将原始活体视频数据包保存到内存中进行操作,能够提高对原始活体视频数据的处理速度,因为在内存中对数据的直接操作速度远高于将原始活体视频数据下载到磁盘中进行操作,这是为了提高对原始活体视频数据处理的速度。

在一些实施例中,也可以将原始活体视频数据包保存到非易失性存储介质中进行处理。

步骤s304,获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;

在本发明实施例中,视频解码器获取到原始活体视频数据包后,首先需要计算出原始活体视频数据包中所包含的帧图片的数量。在视频活体检测技术中,所需要检测的数量大概为3~6秒左右的视频数据,可根据不同的视频码率来进行确定。比如,3~6秒左右的视频中包含90幅帧图片,本实施例中将视频中包含的帧图片简称为图片,视频解码器获得原始活体视频数据包中的图片为90幅。

步骤s306,根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;

本发明方法中,对原始活体视频数据包中的图片进行抽帧是关键点,抽帧,即抽取原始活体视频数据包中的关键帧图片,减少视频解码器处理图片的数量,使视频解码器对必要的图片进行处理,对非必要的图片不处理,进而节省系统资源,加快处理速度。

图5示出了一个实施例中根据原始活体视频数据包中的图片数量对图片进行抽帧以获得目标图片的流程图,具体可以包括以下步骤s502~s506:

步骤s502,获取所述原始活体视频数据包中的图片数量并编号;

在视频解码器获取到原始活体视频数据包中的图片数量后,还需要对原始活体视频数据包中的图片进行依序编号,比如,视频解码器获取到的原始活体视频数据包中包含90幅帧图片,即将该90幅图片依序从0~89进行编号。

步骤s504,删除编号在首尾的预设数量图片;

对于原始活体视频数据包中的图片而言,必定存在关键帧和非关键帧,在现有视频压缩技术领域,每一帧代表一幅静止的图像,在实际压缩过程中,会采取各种算法进行减少数据的容量,ipb为最常见的手段。i帧又称为内部画面(intrapicture),i帧表示关键帧,属于帧内压缩,解码时只需要本帧图片数据即可完成,p帧表示这一帧与之前一个关键帧(p帧)的差别,解码时需要用之前缓存的图片进行叠加上本帧定义的差别,以生成最终图片。b帧是双向差别帧,也即b帧记录了本帧与前后帧的差别,解码b帧,要取得之前的缓存图片,还要解码之后的图片,通过前后图片与本帧图片的叠加生成最终图片。b帧压缩率高,解码时cpu负担很重,因此,本发明采用关键帧i帧和非关键帧p帧来进行计算。

本实施例中,需要删除原始活体视频数据包中图片组的首尾预设的图片,具体而言,对于90幅的原始活体视频数据包来说,需要去掉首尾各15幅图片,此处,首尾各删除的15幅图片在于防止视频解码器接收到的原始活体视频数据为假图片,所删除的预设数量的图片也根据经验值得出,本领域技术人员均能够知晓根据所接收到的原始活体视频数据包中的帧图片进行适当调整。对于90幅图片的原始活体视频数据包,删除首尾的15幅图片后,剩下60帧图片。

步骤s506,对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在删除掉原始活体视频数据包中首尾的预设数量图片后,需要对剩下的图片进行等距离的图片抽取操作,等距离抽取操作也是为了防止图片欺诈的情况发生,比如,上述90幅图片的原始活体视频数据包在删除首尾预设的图片后,剩下60帧图片,对该60帧图片进行等距离的抽取的等距离n=(90-15×2)÷(6+1)=8,根据该等距离n为8计算出需要抽取6幅图片,即从上述原始活体视频数据包中图片组的第15帧开始计算,分别抽取第24帧(15+8)、第32帧(24+8)、第40帧(32+8)、第48帧(40+8)、第56帧(48+8)、第64帧(56+8)等6帧图片,等距离抽取原始活体视频数据包中的图片后,即获得了目标图片。

在一些实施例中,抽帧获取的目标图片在根据上述视频压缩技术中的关键帧i帧和非关键帧p帧对目标图片进行检测,以保证抽取的目标图片正确,能够准确表示原始活体视频,可以大概率规避恶意的攻击,提高检测性能和响应效果。

步骤s308,对所述目标图片进行解码得到解码目标图片;

在本实施例中,得到适当的目标图片后,即可根据原始活体视频数据包的视频压缩技术对图片进行解码得到解码目标图片。

图6示出了一个实施例中对目标图片进行解码得到解码目标图片的流程图,具体可以包括以下步骤s602~606:

步骤s602,获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

步骤s604,根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

步骤s606,对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

步骤s310,将所述解码目标图片反馈给底层接口。

本实施例中,视频解码器在内存中将最后得到的解码目标图片输出到底层接口,比如底层的sdk(softwaredevelopmentkit软件开发工具包)中进行活体检测,以完成来自该sdk的活体视频检测请求。

图4示出了在另一个实施例中,提出了一种活体视频图片处理方法,该方法可以应用于上述的计算机设备110中,为在上述活体视频图片处理方法基础上的进一步优化技术方案,具体可以包括以下步骤:

步骤s402,接收活体视频的检测请求并保存所述活体视频到内存;

在本实施例中,接收活体视频的检测请求一般由计算机设备来完成,本实施例中采用后台服务器来完成,当然,此处采用后台服务器来完成并非限定于服务器来完成,如前所述的其他计算机设备也可以承担。在视频活体检测技术中,后台服务器承担着视频解码运算工作,将视频活体检测器设置在后台服务器端,在视频活体检测器接收到活体视频的检测请求后,视频活体检测器会获取到原始活体视频数据包,将原始活体视频数据包保存到内存中。将原始活体视频数据包保存到内存中进行操作,能够提高对原始活体视频数据的处理速度,因为在内存中对数据的直接操作速度远高于将原始活体视频数据下载到磁盘中进行操作,这是为了提高对原始活体视频数据处理的速度。

在一些实施例中,也可以将原始活体视频数据包保存到非易失性存储介质中进行处理。

步骤s404,获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;

在本发明实施例中,视频解码器获取到原始活体视频数据包后,首先需要计算出原始活体视频数据包中所包含的帧图片的数量。在视频活体检测技术中,所需要检测的数量大概为3~6秒左右的视频数据,可根据不同的视频码率来进行确定。比如,3~6秒左右的视频中包含90幅帧图片,本实施例中将视频中包含的帧图片简称为图片,视频解码器获得原始活体视频数据包中的图片为90幅。

步骤s406,根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;

本发明方法中,对原始活体视频数据包中的图片进行抽帧是关键点,抽帧,即抽取原始活体视频数据包中的关键帧图片,减少视频解码器处理图片的数量,使视频解码器对必要的图片进行处理,对非必要的图片不处理,进而节省系统资源,加快处理速度。

图5示出了一个实施例中根据原始活体视频数据包中的图片数量对图片进行抽帧以获得目标图片的流程图,具体可以包括以下步骤s502~s506:

步骤s502,获取所述原始活体视频数据包中的图片数量并编号;

在视频解码器获取到原始活体视频数据包中的图片数量后,还需要对原始活体视频数据包中的图片进行依序编号,比如,视频解码器获取到的原始活体视频数据包中包含90幅帧图片,即将该90幅图片依序从0~89进行编号。

步骤s504,删除编号在首尾的预设数量图片;

对于原始活体视频数据包中的图片而言,必定存在关键帧和非关键帧,在现有视频压缩技术领域,每一帧代表一幅静止的图像,在实际压缩过程中,会采取各种算法进行减少数据的容量,ipb为最常见的手段。i帧又称为内部画面(intrapicture),i帧表示关键帧,属于帧内压缩,解码时只需要本帧图片数据即可完成,p帧表示这一帧与之前一个关键帧(p帧)的差别,解码时需要用之前缓存的图片进行叠加上本帧定义的差别,以生成最终图片。b帧是双向差别帧,也即b帧记录了本帧与前后帧的差别,解码b帧,要取得之前的缓存图片,还要解码之后的图片,通过前后图片与本帧图片的叠加生成最终图片。b帧压缩率高,解码时cpu负担很重,因此,本发明采用关键帧i帧和非关键帧p帧来进行计算。

本实施例中,需要删除原始活体视频数据包中图片组的首尾预设的图片,具体而言,对于90幅的原始活体视频数据包来说,需要去掉首尾各15幅图片,此处,首尾各删除的15幅图片在于防止视频解码器接收到的原始活体视频数据为假图片,所删除的预设数量的图片也根据经验值得出,本领域技术人员均能够知晓根据所接收到的原始活体视频数据包中的帧图片进行适当调整。对于90幅图片的原始活体视频数据包,删除首尾的15幅图片后,剩下60帧图片。

步骤s506,对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在删除掉原始活体视频数据包中首尾的预设数量图片后,需要对剩下的图片进行等距离的图片抽取操作,等距离抽取操作也是为了防止图片欺诈的情况发生,比如,上述90幅图片的原始活体视频数据包在删除首尾预设的图片后,剩下60帧图片,对该60帧图片进行等距离的抽取的等距离n=(90-15×2)÷(6+1)=8,根据该等距离n为8计算出需要抽取6幅图片,即从上述原始活体视频数据包中图片组的第15帧开始计算,分别抽取第24帧(15+8)、第32帧(24+8)、第40帧(32+8)、第48帧(40+8)、第56帧(48+8)、第64帧(56+8)等6帧图片,等距离抽取原始活体视频数据包中的图片后,即获得了目标图片。

在一些实施例中,抽帧获取的目标图片在根据上述视频压缩技术中的关键帧i帧和非关键帧p帧对目标图片进行检测,以保证抽取的目标图片正确,能够准确表示原始活体视频,可以大概率规避恶意的攻击,提高检测性能和响应效果。

步骤s408,对所述目标图片进行解码得到解码目标图片;

在本实施例中,得到适当的目标图片后,即可根据原始活体视频数据包的视频压缩技术对图片进行解码得到解码目标图片。

图6示出了一个实施例中对目标图片进行解码得到解码目标图片的流程图,具体可以包括以下步骤s602~606:

步骤s602,获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

步骤s604,根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

步骤s606,对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

步骤s410,获取所述解码目标图片的图片角度信息,根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片;

本实施例中,对于原始活体视频而言,有些原始活体视频来源于移动端,比如手机,手机拍摄视频时旋转的角度不同时,所拍摄出来的角度也不同,也即视频为非正常视角。此时,需要进一步对解码出来的解码目标图片进行旋转,即对解码目标图片进行转置90度或270度,或者镜像180度的操作,旋转到正常视角再反馈到底层接口。当然,旋转操作并非任意旋转,需要根据原始活体视频的角度信息来进行。具体可采取矩阵逆置或镜像等操作处理,以得到正常视角的解码目标图片。比如,图片为二维数组,宽w高h的rgb格式图片可以表示为array[w][h],数组的元素值包含(r,g,b)三个数值,rgb格式图像即为一个2维3层的矩阵,矩阵逆置就是对这个array[w][h]矩阵逆置为array[h][w]的矩阵,3层图像进行相同的矩阵逆置操作。

步骤s412,将所述解码目标图片反馈给底层接口。

本实施例中,视频解码器在内存中将最后得到的解码目标图片输出到底层接口,比如底层的sdk(softwaredevelopmentkit软件开发工具包)中进行活体检测,以完成来自该sdk的活体视频检测请求。

如图7所示,在一个实施例中,提供了一种活体视频图片处理装置,该活体视频图片处理装置可以集成于上述的计算机设备110中,具体可以包括接收单元702、原始活体视频数据包计算单元704、图片抽帧单元706以及图片解码单元708。

接收单元702,用于接收活体视频的检测请求并将所述活体视频保存到内存;

原始活体视频数据包计算单元704,用于计算出原始活体视频数据包中的图片数量;

图片抽帧单元706,用于根据所述原始活体视频数据包计算单元计算出来的图片数量,对所述原始活体视频数据包中的图片进行抽帧,以获取目标图片;

图片解码单元708,用于将所述图片抽帧单元抽取的目标图片进行解码还原,以得到解码目标图片,并将所述解码目标图片反馈给底层接口。

如图9所示,在一个实施例中,所述图片抽帧单元706还包括图片数量编号模块706a和图片抽帧处理模块706b。

图片数量编号模块706a,用于获取到的所述原始活体视频数据包中的图片数量,并所述原始活体视频数据包中的图片进行编号;

图片抽帧处理模块706b,用于删除所述图片数量编号模块进行编号的所述原始活体视频数据包中图片编号在首尾的预设数量图片,并对剩余图片进行等距离抽取图片,以获得目标图片。

如图10所示,在一个实施例中,所述图片解码单元708还包括参考帧获取模块708a、图片抽帧检测模块708b和图片解码模块708c。

参考帧获取模块708a,用于获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

图片抽帧检测模块708b,用于根据所述参考帧获取模块获取的关键帧i帧和非关键帧p帧的信息,对所述目标图片进行抽帧检测;

图片解码模块708c,用于对所述图片抽帧检测模块输出的所述目标图片进行解码还原,并将所述解码目标图片反馈给底层接口。

如图8所示为另外一种实施例中提出的一种活体视频图片处理装置,该装置可以集成于上述的计算机设备110中,为在上述活体视频图片处理装置基础上的进一步优化技术方案,具体可以包括接收单元802、原始活体视频数据包计算单元804、图片抽帧单元806、图片角度处理单元808以及图片解码单元810。

接收单元802,用于接收活体视频的检测请求并将所述活体视频保存到内存;

原始活体视频数据包计算单元804,用于计算出原始活体视频数据包中的图片数量;

图片抽帧单元806,用于根据所述原始活体视频数据包计算单元计算出来的图片数量,对所述原始活体视频数据包中的图片进行抽帧,以获取目标图片;

图片角度处理单元808,用于获取所述图片解码单元输出的所述解码目标图片的图片角度信息,并根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片;

图片解码单元810,用于将所述图片抽帧单元抽取的目标图片进行解码还原,以得到解码目标图片,并将所述解码目标图片反馈给底层接口。

在图8所示的活体视频图片处理装置实施例中,所述图片抽帧单元806与上述活体视频图片处理装置相同,同样包括图片数量编号模块和图片抽帧处理模块,由于与图9所示的图片抽帧单元706相同,未画图示意,可参考图9。

其中,图片数量编号模块,用于获取到的所述原始活体视频数据包中的图片数量,并所述原始活体视频数据包中的图片进行编号;

图片抽帧处理模块,用于删除所述图片数量编号模块进行编号的所述原始活体视频数据包中图片编号在首尾的预设数量图片,并对剩余图片进行等距离抽取图片,以获得目标图片。

同理,所述图片解码单元810与上述活体视频图片处理装置相同,同样还包括参考帧获取模块、图片抽帧检测模块和图片解码模块,由于与图10所示的图片解码单元708相同,未画图示意,可参考图10。

其中,参考帧获取模块,用于获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

图片抽帧检测模块,用于根据所述参考帧获取模块获取的关键帧i帧和非关键帧p帧的信息,对所述目标图片进行抽帧检测;

图片解码模块,用于对所述图片抽帧检测模块输出的所述目标图片进行解码还原,并将所述解码目标图片反馈给底层接口。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收活体视频的检测请求并保存所述活体视频到内存;获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;对所述目标图片进行解码得到解码目标图片;将所述解码目标图片反馈给底层接口。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:所述根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片的步骤包括:

获取所述原始活体视频数据包中的图片数量并编号;

删除编号在首尾的预设数量图片;

对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在一个实施例中,所述对所述目标图片进行解码得到解码目标图片的步骤包括:

获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

在另一个实施例中,还提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收活体视频的检测请求并保存所述活体视频到内存;获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;对所述目标图片进行解码得到解码目标图片;获取所述解码目标图片的图片角度信息,根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片;将所述解码目标图片反馈给底层接口。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:所述根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片的步骤包括:

获取所述原始活体视频数据包中的图片数量并编号;

删除编号在首尾的预设数量图片;

对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在一个实施例中,所述对所述目标图片进行解码得到解码目标图片的步骤包括:

获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收活体视频的检测请求并保存所述活体视频到内存;获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;对所述目标图片进行解码得到解码目标图片;将所述解码目标图片反馈给底层接口。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:所述根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片的步骤包括:

获取所述原始活体视频数据包中的图片数量并编号;

删除编号在首尾的预设数量图片;

对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在一个实施例中,所述对所述目标图片进行解码得到解码目标图片的步骤包括:

获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

在另一个实施例中,还提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收活体视频的检测请求并保存所述活体视频到内存;获取原始活体视频数据包,并计算出所述原始活体视频数据包中的图片数量;根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片;对所述目标图片进行解码得到解码目标图片;获取所述解码目标图片的图片角度信息,根据所述图片角度信息进行图片旋转操作将所述解码目标图片调整为正常角度的图片;将所述解码目标图片反馈给底层接口。

在一个实施例中,处理器执行计算机可读指令时还执行以下步骤:所述根据所述原始活体视频数据包中的图片数量对所述原始活体视频数据包中的图片进行抽帧,以获得目标图片的步骤包括:

获取所述原始活体视频数据包中的图片数量并编号;

删除编号在首尾的预设数量图片;

对删除首尾的预设数量图片的剩余图片进行等距离抽取图片,以获得目标图片。

在一个实施例中,所述对所述目标图片进行解码得到解码目标图片的步骤包括:

获取所述原始活体视频数据包中的关键帧i帧和非关键帧p帧;

根据所述关键帧i帧和非关键帧p帧的信息对所述目标图片进行抽帧检测,确保所述目标图片包含了所述原始活体视频中的完整图片信息;

对抽帧检测后的所述目标图片进行解码,以得到解码目标图片。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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