CN110443115A - 人脸识别方法、装置、计算机设备及可读存储介质 - Google Patents

人脸识别方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN110443115A
CN110443115A CN201910533013.8A CN201910533013A CN110443115A CN 110443115 A CN110443115 A CN 110443115A CN 201910533013 A CN201910533013 A CN 201910533013A CN 110443115 A CN110443115 A CN 110443115A
Authority
CN
China
Prior art keywords
video
frame
face
video frame
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910533013.8A
Other languages
English (en)
Other versions
CN110443115B (zh
Inventor
张磊
王俊强
李方君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910533013.8A priority Critical patent/CN110443115B/zh
Publication of CN110443115A publication Critical patent/CN110443115A/zh
Application granted granted Critical
Publication of CN110443115B publication Critical patent/CN110443115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种人脸识别方法、装置、计算机设备及可读存储介质,其中方法包括:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。在对视频进行人脸检测时,根据对当前帧的检测耗时确定开始下一次检测前能够丢弃的最大帧数,然后在最大帧数范围内丢弃一定数量视频帧,使视频播放与人脸检测能够同步显示,减少延时现象的发生,提高人脸检测时视频播放的流畅度。

Description

人脸识别方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及到生物识别技术领域,特别是涉及到一种人脸识别方法、装置、计算机设备及可读存储介质。
背景技术
现有在视频流中进行人脸识别检测的程序一般都是采用单线程结构,由于读取视频数据与检测识别人脸两个步骤为串行结构,即读取视频数据与检测识别不能够同时进行,必须先后顺序进行,因此在视频中具有较多检测识别信息时,如在车站、医院等场所,容易发生检测延时,对于视频的检测识别效果不好。即便是采用多线程,也无法做到读取视频数据与检测识别的并行处理,仍旧会产生延时现象,需要用户对视频的播放进行手动调速,视频检测不够流畅。因此开发一种能够高效实时检测视频流中人脸的方法是急需解决的问题。
发明内容
本发明的主要目的为提供一种人脸识别方法、装置、计算机设备及可读存储介质,提高进行视频人脸检测时视频播放的流畅度。
本发明提出一种人脸识别方法,包括步骤:
获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;
根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;
根据检测耗时从播放队列中向后间隔选取特定排序的视频帧并进行人脸检测。
进一步地,根据检测耗时从播放队列中向后间隔选取特定排序的视频帧并进行人脸检测的步骤,包括:
计算待识别视频在检测耗时内对应的播放帧数;
在播放队列中,从第一视频帧处向后选取第二视频帧进行人脸检测,其中第二视频帧与第一视频帧之间的最大间隔帧数为播放帧数减一。
进一步地,从第一视频帧处向后选取第二视频帧进行人脸检测的步骤,包括:
检测第一视频帧往后最大间隔帧数内的视频帧中是否存在I帧;
若存在,则将I帧设为第二视频帧进行人脸检测;若不存在,则选择与第一视频帧间隔最大间隔帧数的视频帧进行人脸检测。
进一步地,若存在,则将I帧设为第二视频帧进行人脸检测的步骤,包括:
若存在多帧I帧,则将多帧I帧均设为第二视频帧,并按照播放顺序依次进行人脸检测。
进一步地,获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧的步骤,包括:
从视频文件中读取或从摄像设备中实时获取待识别视频的所有视频帧;
将视频帧进行解码以转换成指定格式的图像,并以播放队列的形式进行存储。
进一步地,在根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测的步骤之后,还包括:
根据人脸检测的检测结果,确定视频帧中的人脸位置并进行人脸标识;
输出显示包含人脸标识信息的视频帧。
进一步地,输出显示包含人脸标识信息的视频帧的步骤,包括:
持续输出视频帧时,计算第一人脸标识和第二人脸标识在视频帧中的坐标位置差值,第一人脸标识与第二人脸标识分别位于检测顺序相邻的视频帧中;
若坐标位置差值位于预设差值范围内,则判定第一人脸标识与第二人脸标识对应的为同一人脸,对第一人脸标识与第二人脸标识之间的播放切换做运动平滑处理。
本发明还提出了一种人脸识别装置,包括:
获取模块,用于获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;
检测模块,用于根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;
选取模块,用于根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。
本发明还提出了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项的人脸识别方法。
本发明还提出了一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的人脸识别方法。
本发明与现有技术相比,有益效果是:本发明提供了一种人脸识别方法、装置、计算机设备及可读存储介质,其中方法包括:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。在对视频进行人脸检测时,根据对当前帧的检测耗时确定开始下一次检测前能够丢弃的最大帧数,然后在最大帧数范围内丢弃一定数量视频帧,使视频播放与人脸检测能够同步显示,减少延时现象的发生,提高人脸检测时视频播放的流畅度。
附图说明
图1为本发明人脸识别方法一实施例的步骤流程示意图;
图2为本发明人脸识别方法一实施例的进行人脸识别的示意图;
图3为本发明人脸识别装置一实施例的模块示意图;
图4为本发明计算机设备一实施例的模块示意框图;
图5为本发明可读存储介质一实施例的模块示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明在一实施例中提出了一种人脸检测方法,包括:
S1:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;
S2:根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;
S3:根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。
在实施上述步骤时,视频都是由一帧一帧的图像快速播放所组成的,若要对视频中的人脸进行检测乃至识别,则需将待识别视频还原成单帧的图像,然后对图像中的人脸进行检测乃至识别。在一些实施例中,待识别视频可以是监控摄像头的实时录像,也可以是其他类型的视频,例如电影、电视剧等。对待识别视频进行解码,得到视频数据,其实就是读取待识别视频中需要进行人脸检测或人脸识别的最新一帧图像,然后因视频帧与图像的编码格式不同,需要对该视频帧进行解码,得到特定格式的图像,例如PNG、JPG、BMP等格式,以便后续进行人脸检测或识别。不断的从待识别视频中读取顺序最前的视频帧,然后将其解码成特定格式的图像,这样就把待识别视频转换成由一定数量的图像组成,这些图像就是待识别视频的视频数据,从而可以对视频中存在的人脸进行检测或识别。
然后根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时,通过算法对每一帧图像进行人脸检测或者识别时,需要一定的检测耗时,并且图像中的数据越多越复杂,则耗时越久。在以往的单线程结构中,由于读取视频数据与检测识别人脸两个步骤为串行结构,即读取视频数据与检测识别不能够同时进行,必须先后顺序进行,因此在待识别视频中具有较多检测识别信息时容易发生检测延时,在进行视频人脸检测时视频播放不流畅。即便是采用多线程,也无法做到读取视频数据与检测识别的并行处理,仍旧会产生延时现象。在本申请一实施例中,在对视频数据进行人脸检测时,通过主动丢帧的检测方式,使视频帧的播放与人脸检测能够尽量或者完全同步显示,减少延时现象的发生,提高视频播放的流畅度。
具体地,假如视频的播放速率为1s30帧,而算法进行读取一帧视频数据与检测人脸两个步骤共需耗时100ms,则在100ms内视频帧总共要播放3帧,加上当前检测视频帧本身,则2帧为下一次检测前能够丢弃的最大帧数,因此在下次检测时则丢弃1-2帧视频,即若第一次进行检测的帧数顺序为第一帧,则第二次进行检测的帧数顺序为第三帧或第四帧,为了匹配算法的检测耗时,在第一次检测与第二次检测之间丢弃了第二帧这一帧或者第二帧与第三帧这两帧。当丢弃第二帧这一帧时,使得视频帧的播放速率减缓,减小了播放延时,而且在提高视频流畅度的同时尽量丢弃更少数量的视频帧,能够起到尽量保全视频检测内容的作用;而当丢弃第二帧与第三帧这两帧时,使得视频帧的播放速率进一步减缓,使视频帧的播放速率与人脸检测能够完全同步显示,从而避免了在播放时延时现象的产生。
在一些实施例中,采用特征检测算法对视频帧中的人脸进行检测,其中特征检测算法包括Haar特征检测算法(Haar-like)、HOG特征检测算法(Histogram of OrientedGradient,方向梯度直方图)以及LBP特征检测算法(Local Binary Pattern,局部二值模式)中的一种或多种的组合。例如在HOG特征检测算法中,首先将存储图像进行灰度化,然后将图像分割成16×16像素的小方块,再分析存储图像中的每个小方块以及其周围的小方块,根据明暗度画一个箭头,箭头的指向代表了像素逐渐变暗的方向,重复操作每一个小方块,最终所有的小方块都被箭头取代,就形成了梯度直方图,它们能显示出图像从明亮到黑暗流动的变化,然后在每个小方块中,计算出每个主方向各有多少个梯度(有多少指向上,指向右上,指向右等),然后用指向性最强的那个方向箭头来代替原来那个小方块,最终结果,如图1所示,我们将存储图像转换成一个非常简单的HOG表达形式,由此捕获了我们面部的基本结构,也即是在存储图像中检测出了人脸的具体位置和大小。同样的,在LBP特征检测算法中也是如此,例如将一幅100*100像素大小的存储图像,划分为10*10=100个子区域,每个子区域的大小为10*10像素;然后在每个子区域内的每个像素点,提取其LBP特征,然后,建立统计直方图;利用这10*10个统计直方图,就可以检测出存储图像中人脸的具体位置以及大小。
本发明提出了一种人脸检测方法,包括:S1:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;S2:根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;S3:根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。在对视频进行人脸检测时,根据对当前帧的检测耗时确定开始下一次检测前能够丢弃的最大帧数,然后在最大帧数范围内丢弃一定数量视频帧,使视频播放与人脸检测能够同步显示,减少延时现象的发生,提高人脸检测时视频播放的流畅度。
在一个较优的实施例中,根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测的步骤S3,包括:
S31:计算待识别视频在检测耗时内对应的播放帧数。
S32:在播放队列中,从第一视频帧处向后选取第二视频帧进行人脸检测,其中第二视频帧与第一视频帧之间的最大间隔帧数小于等于播放帧数减一
在上述步骤实施时,由于每个视频帧中所包含的信息并不完全一致,若当前视频帧中包含的信息较多,则对应的检测耗时也较长,若当前视频帧中包含的信息较少,则对应的检测耗时也较短。检测耗时时刻处于动态变化过程,而并不是一个固定值,相邻两次人脸检测之间能够丢弃的最大帧数数量也是对应于算法检测耗时进行动态变化。因此在播放队列中选取排序最前的第一视频帧进行人脸检测后,统计第一视频帧对应的检测耗时,以便后续确定能够丢弃的最大帧数。在播放队列中选取排序最前的第一视频帧进行人脸检测,防止在检测开始前就已经丢弃掉一定数量的视频帧,起到尽量保全视频检测内容的完整性。
在一个具体实施例中,视频的播放速率为1s30帧,检测完第一视频帧后,若统计到第一视频帧的检测耗时为100ms,按照1s30帧的播放速率,待识别视频在100ms内需播放3帧视频帧,则3帧为待识别视频在检测耗时内对应的播放帧数;若统计到第一视频帧的检测耗时为50ms,按照1s30帧的播放速率,待识别视频在50ms内播放了1.5帧视频帧,由于视频帧不能够进行拆分,因此对其四舍五入得到播放视频帧数量为2帧,则2帧为待识别视频在检测耗时内对应的播放帧数。
在上述在播放队列中,从第一视频帧处向后选取第二视频帧进行人脸检测,其中第二视频帧与第一视频帧之间的最大间隔帧数小于等于播放帧数减一的步骤S23中,统计出待识别视频在第一视频帧的检测耗时内对应的播放帧数后,加上第一视频帧自身,则第二视频帧与第一视频帧之间的最大间隔帧数为播放帧数减一,即若3帧为待识别视频在检测耗时内对应的播放帧数,则第二视频帧与第一视频帧之间的最大间隔帧数为2帧,在播放队列中,若第一视频帧为第一帧,则从第一视频帧处向后选取第三帧或第四帧作为第二视频帧进行人脸检测,当选取第三帧作为第二视频帧时,使得视频帧的播放速率减缓,减小了播放延时,而且在提高视频流畅度的同时尽量丢弃更少数量的视频帧,能够起到尽量保全视频检测内容的作用;而当选取第四帧作为第二视频帧时,使得视频帧的播放速率进一步减缓,使视频帧的播放速率与人脸检测能够完全同步显示,从而避免了在播放时延时现象的产生。若2帧为待识别视频在检测耗时内对应的播放帧数,则第二视频帧与第一视频帧之间的最大间隔帧数为1帧,则只能从第一视频帧处向后选取第三帧作为第二视频帧进行人脸检测。
在一个较优的实施例中,从第一视频帧处向后选取第二视频帧进行人脸检测的步骤S32,包括:
S321:检测第一视频帧往后最大间隔帧数内的视频帧中是否存在I帧;
S322:若存在,则将I帧设为第二视频帧进行人脸检测;若不存在,则选择与第一视频帧间隔最大间隔帧数的视频帧进行人脸检测。
在上述步骤实施时,在现有的流媒体中,多采用H264作为编码标准,在H264编码流下,视频帧总共有三种类型:I帧、B帧和P帧,其中I帧为关键帧,解码时仅用I帧的数据就可重构完整图像,不需要参考其他画面而生成,因为I帧描述了图像背景和运动主体的详情,所占数据的信息量比较大,而且I帧是P帧和B帧的参考帧,其质量直接影响到同组中以后各帧的质量,因此在进行丢帧处理时,一般不会丢弃I帧。P帧为前向预测编码帧,P帧表示的是这一帧跟之前的一个I帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面,由于P帧是参考帧,它可能造成解码错误的扩散。B帧为双向预测内插编码帧,记录的是本帧与前后帧的差别,要对B帧进行解码,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。若计算出3帧为待识别视频在检测耗时内对应的播放帧数,则第二视频帧与第一视频帧之间的最大间隔帧数为2帧,检测第一视频帧往后的2帧视频帧中是否包含I帧,例如第一视频帧为第一帧,则检测第二帧和第三帧中是否存在I帧。
之所以要检测第二帧和第三帧中是否存在I帧,一是由于I帧为关键帧,包含了较多的编码信息,将其直接丢弃有可能造成视频信息的丢失,用户体验不好。二是由于算法检测耗时较小,第二视频帧与第一视频帧之间间隔的帧数较少,第二视频帧的解码很有可能需要依靠这个I帧,若丢弃了中间的I帧,对第二视频帧很有可能会造成影响。因此若检测到第一视频帧往后最大间隔帧数数量的视频帧中包含有I帧,则将该I帧设为第二视频帧进行人脸检测,在减小视频播放延时,提高视频播放流畅度的同时兼顾保证视频播放内容的质量;且在一般的流媒体中,I帧、B帧和P帧的占比大概分别为15%、35%和50%,I帧的占比远远小于B帧和P帧,因此不丢弃I帧的处理方式不会对整体的视频播放造成较大的延时影响,不会影响用户体验。若检测到第一视频帧往后最大间隔帧数数量的视频帧中不包含有I帧,则直接选择与第一视频帧间隔最大间隔帧数的视频帧作为第二视频帧进行人脸检测,此时使得视频的播放与人脸检测能够完全同步显示,能够最好的提高视频播放的流畅度。在另一些实施例中,若检测到第一视频帧往后最大间隔帧数数量的视频帧中不包含有I帧,也可以在第一视频帧往后最大间隔帧数数量的视频帧中随机或指定选取一个视频帧作为第二视频帧进行人脸检测,例如若第一视频帧为第一帧,且第二视频帧与第一视频帧之间的最大间隔帧数为4帧,则可以在第三帧、第四帧、第五帧以及第六帧这四个视频帧中进行随机选择,或者指定选择第三帧、第四帧以及第五帧中的一帧。
在一个较优的实施例中,若存在,则将I帧设为第二视频帧进行人脸检测的步骤S322,包括:
S3221:若存在多帧I帧,则将多帧I帧均设为第二视频帧,并按照播放顺序依次进行人脸检测。
在上述步骤实施时,在一些情况下,第一视频帧往后最大间隔帧数数量的视频帧中可能包含多个I帧,如前步骤S321所述,I帧一般不能够丢弃,因此将多帧I帧均设为第二视频帧,并按照播放顺序依次进行人脸检测。例如若第一视频帧为第一帧,第二视频帧与第一视频帧之间的最大间隔帧数为4帧,且第二帧与第四帧均为I帧,则将第二帧与第四帧都设为第二视频帧,并且按照播放顺序先对第二帧进行人脸检测,再对第四帧进行人脸检测。如前步骤S232所述,由于I帧的占比最少,且I帧与I帧之间一般间隔较多帧数,而第一视频帧与第二视频帧之间则间隔较少帧数,因此第一视频帧往后最大间隔帧数数量的视频帧中可能包含多个I帧的情况极少或者没有,因此将多帧I帧均设为第二视频帧,并按照播放顺序依次进行人脸检测的处理方式不会对整体的视频播放造成较大的延时影响,不会影响用户体验。
在一个较优的实施例中,获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧的步骤S1,包括:
S11:从视频文件中读取或从摄像设备中实时获取待识别视频的所有视频帧;
S12:将视频帧进行解码以转换成指定格式的图像,并以播放队列的形式进行存储。
在上述从视频文件中读取或从摄像设备中实时获取待识别视频的所有视频帧的步骤S11中,在实际应用中,视频人脸检测及识别可以在车站、宾馆、医院等人流密集的地方发挥人眼所不能做到的诸如验证、记录、识别等作用,在一些实施例中,可以通过获取预设识别区域的录像,例如监控视频等作为待识别视频。在另一些实施例中,可以通过摄像头对过往的行人进行实时检测识别。在进行实时检测识别时,摄像头将当前的实时视频帧不断地发送给视频读取进程,供其进行解码并存储。
在一个完整的获取特定的视频帧的流程中,首先,要获取待识别视频,在一些实施例中,可以通过VideoCapture函数从文件中读取待识别视频,例如:VideoCapture::VideoCapture(conststring&filename),又或者从摄像头中读取待识别视频,例如VideoCapture::VideoCapture(int device);然后,通过VideoOpen函数打开该视频文件,例如bool VideoCapture::open(const string&filename),或者打开该摄像头,例如boolVideoCapture::open(int device);然后,通过release函数释放打开的视频,例如capture.release();/*释放打开的视频*/;然后,通过Opened函数
判断视频是否被打开,成功打开返回ture,否则false,例如bool VideoCapture::open(const string&filename)bool VideoCapture::open(int device);最后通过grab函数从视频文件中或者设备中获取视频帧,该方法成功调用返回ture,例如boolVideoCapture::grab(),从而从待识别视频中获取到特定的视频帧。在一些实施例中,在获取视频帧时,可以通过get函数double VideoCapture::get(int propId)和set函数boolVideoCapture::set(int propId,double value)来自定义想要获取到的视频帧帧数。
在上述将视频帧进行解码以转换成指定格式的图像,并以播放队列的形式进行存储的步骤S12中,获取到特定的视频帧之后,通过调用retrive函数对获取的帧进行解码,例如bool VideoCapture::retrieve(Mat&image,int channel=0);又或者通过调用read函数直接获取视频帧并解码,例如VideoCapture&Vi deoCapture::operator>>(Mat&image)boolVideoCapture::read(Mat&image)。从而将该视频帧转化为特定格式的图像并进行存储。
在一个较优的实施例中,在根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测的步骤S3之后,还包括:
S4:根据人脸检测的检测结果,确定视频帧中的人脸位置并进行人脸标识;
S5:输出显示包含人脸标识信息的视频帧。
在上述步骤实施时,将视频帧转换成特定格式的图片进行存储之后,读取图片,通过算法检测出该图片中存在的人脸的具体位置和大小,并对该人脸的具体位置和大小进行标识,得到标识位置。在一些实施例中,算法基于像素方法在图片中定位该标识位置,即主要以像素为单位计算不同特征的显著度图,在显著度图中定位人脸的具体位置和大小,此类方法的计算特征较容易提取、计算量较小、较为快速,但对于噪声较为敏感、鲁棒性较差。在另一些实施例中,算法基于频域分析的方法在图片中定位该标识位置,通过寻找不同特征在频域中的特点,构建频域滤波器来定位人脸的具体位置和大小,此类方法鲁棒性较好。在又一些实施例中,算法基于区域的方法在图片中定位该标识位置,利用分割将图像划分为不同的区域,然后通过区域竞争来定位人脸的具体位置和大小。
得到标识位置,即得出待识别视频中存在的人脸的具体位置和大小之后,将该标识位置信息整合到视频数据(当前检测视频帧)中,然后输出带有标识位置信息的视频数据,即输出带有标识位置信息的当前检测视频帧,不断的输出带有标识位置信息的检测视频帧,由此达到在视频中检测人脸的目的。在一些实施例中,在录制视频的检测中,可以通过将排序最前的视频帧的播放稍稍推迟一定时间,该一定时间等于视频读取解码和算法检测的耗时,使得视频帧和标识位置信息同步显示,减少延时现象的产生,同时减少需要丢弃的视频帧,尽量保证输出视频内容的完整性。在一些实施例中,该标识位置在显示页面中表现为一个方框或者圆环等具有显著标识形状,将视频帧中检测到的人脸框选出来并且不会妨碍用户查看人脸。在另一些实施例中,该标识位置在显示页面中表现为一个实心的形状,例如方块或者圆盘,将视频帧中检测到的人脸覆盖住,从而使他人无法查看视频帧中的人脸。
在一个较优的实施例中,输出显示包含人脸标识信息的视频帧的步骤S5,包括:
S51:持续输出视频帧时,计算第一人脸标识和第二人脸标识在视频帧中的坐标位置差值,第一人脸标识与第二人脸标识分别位于检测顺序相邻的视频帧中;
S52:若坐标位置差值位于预设差值范围内,则判定第一人脸标识与第二人脸标识对应的为同一人脸,对第一人脸标识与第二人脸标识之间的播放切换做运动平滑处理。
在上述步骤实施时,持续输出进行人脸检测的视频帧时,由于在一个待识别视频中,不同的视频帧其形状大小都是一致的,所以可以通过视频帧中的坐标位置来定义或确定人脸标识位置在视频帧中显示的具体位置。其中第一人脸标识与第二人脸标识分别位于检测顺序相邻的视频帧中,例如第一人脸标识为第一视频帧中的人脸标识,而第二人脸标识则为第二视频帧中的人脸标识,通过计算第一人脸标识和第二人脸标识在视频帧中的坐标位置差值,确定第一人脸标识和第二人脸标识在视频帧中的显示位置差值。
由于第一视频帧与第二视频帧之间的间隔帧数很少,而1s内视频帧播放速率可以达到24帧或者30帧,因此第一视频帧与第二视频帧之间的时间差很小,只有零点几秒,具体到待识别视频中的人脸,同一张人脸在第一视频帧与第二视频帧之间的相对位移也非常小,不会与其他人脸进行混淆,因此若计算出人脸标识在第一视频帧和第二视频帧之间的坐标位置差值位于预设差值范围内,则判定第一人脸标识与第二人脸标识对应的为同一人脸,对第一人脸标识与第二人脸标识之间的播放切换做运动平滑处理,使得用户体验更好,视频的播放效果更佳。
在一个较优的实施例中,在根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测的步骤S3之后,还包括:
S6:采用神经卷积网络算法对检测出的人脸进行人脸识别。
在上述步骤实施时,在检测出待识别视频中存在的人脸之后,进一步地,可以采用神经卷积网络算法对待识别视频中的人脸进行人脸识别,实现例如监控寻人的功能。在一个具体的实施例中,先通过面部特征点估计(face landmark estimation)算法找出视频中人脸的68个特征点(landmark),在一个具体的实施例中,如图2所示,68个特征点共包括:下巴轮廓17个点[0-16],左眉毛5个点[17-21],右眉毛5个点[22-26],鼻梁4个点[27-30],鼻尖5个点[31-35],左眼6个点[36-41],右眼6个点[42-47],外嘴唇12个点[48-59],内嘴唇8个点[60-67]。从而进一步得知人脸中五官的具体位置与大小;由于在视频中有些存在的人脸可能光线角度并不好,因此再将图片进行旋转、缩放和错切等操作,使得眼睛和嘴巴尽可能的靠近中心,进行人脸对齐,使图像中显示的人脸更加符合标准人脸;进行人脸对齐操作之后,再通过神经卷积网络算法对对齐后的人脸进行编码,生成一个128维向量X,最后计算这个得到128维向量与数据库中已存在的128维向量Y之间的欧式距离,例如通过以下公式:
当与其他向量相比,向量X与向量Y之间的欧式距离最近或者向量X与向量Y之间的欧式距离位于一定的阈值范围时,即认为是向量X所对应的人脸与向量Y所对应的人脸是同一张人脸,也即是同一个人,从而完成人脸识别。
参照图2,本发明在一实施例中还提出了一种人脸检测装置,包括:
获取模块10,用于获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;
检测模块20,用于根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;
选取模块30,用于根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。
其中上述模块10-30分别用于执行的操作与前述实施方式的人脸检测方法的步骤一一对应,在此不再赘述。
进一步地,对应前述实施方式的人脸检测方法的细分步骤,上述模块10-30相应的包含了子模块、单元或子单元,用于执行前述人脸检测方法的细分步骤,在此也不再赘述。
本发明还提出了一种计算机设备,包括存储器1003和处理器1002,存储器1003存储有计算机程序1004,处理器1002执行计算机程序1004时实现上述中任一项方法的步骤,包括:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。
本发明还提出了一种计算机可读存储介质2001,其上存储有计算机程序2002,计算机程序2002被处理器执行时实现上述中任一项的方法的步骤,包括:获取待识别视频并进行视频解码,得到组成待识别视频的所有视频帧,所有视频帧按照播放顺序排成播放队列;根据指令在播放队列中选定第一视频帧进行人脸检测,并统计第一视频帧对应的检测耗时;根据检测耗时从播放队列中间隔选取特定排序的视频帧并进行人脸检测。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种人脸识别方法,其特征在于,包括步骤:
获取待识别视频并进行视频解码,得到组成所述待识别视频的所有视频帧,将所述所有视频帧按照播放顺序排成播放队列;
根据指令在所述播放队列中选定第一视频帧进行人脸检测,并统计所述第一视频帧对应的检测耗时;
根据所述检测耗时从所述播放队列中向后间隔选取特定排序的所述视频帧并进行人脸检测。
2.根据权利要求1所述的人脸识别方法,其特征在于,所述根据所述检测耗时从所述播放队列中向后间隔选取特定排序的所述视频帧并进行人脸检测的步骤,包括:
计算所述待识别视频在所述检测耗时内对应的播放帧数;
在所述播放队列中,从所述第一视频帧处向后选取第二视频帧进行所述人脸检测,其中,所述第二视频帧与所述第一视频帧之间的最大间隔帧数为所述播放帧数减一。
3.根据权利要求2所述的人脸识别方法,其特征在于,所述从所述第一视频帧处向后选取第二视频帧进行所述人脸检测的步骤,包括:
检测所述第一视频帧往后所述最大间隔帧数内的所述视频帧中是否存在I帧;
若存在,则将所述I帧设为所述第二视频帧进行所述人脸检测;若不存在,则选择与所述第一视频帧间隔所述最大间隔帧数的视频帧进行所述人脸检测。
4.根据权利要求3所述的人脸识别方法,其特征在于,所述若存在,则将所述I帧设为所述第二视频帧进行所述人脸检测的步骤,包括:
若存在多帧所述I帧,则将多帧所述I帧均设为所述第二视频帧,并按照播放顺序依次进行所述人脸检测。
5.根据权利要求1所述的人脸识别方法,其特征在于,所述获取待识别视频并进行视频解码,得到组成所述待识别视频的所有视频帧的步骤,包括:
从视频文件中读取或从摄像设备中实时获取所述待识别视频的所有所述视频帧;
将所述视频帧进行解码以转换成指定格式的图像,并以所述播放队列的形式进行存储。
6.根据权利要求1所述的人脸识别方法,其特征在于,在所述根据所述检测耗时从所述播放队列中间隔选取特定排序的所述视频帧并进行人脸检测的步骤之后,还包括:
根据所述人脸检测的检测结果,确定所述视频帧中的人脸位置并进行人脸标识;
输出显示包含所述人脸标识信息的所述视频帧。
7.根据权利要求6所述的人脸识别方法,其特征在于,所述输出显示包含所述人脸标识信息的所述视频帧的步骤,包括:
持续输出所述视频帧时,计算第一人脸标识和第二人脸标识在所述视频帧中的坐标位置差值,所述第一人脸标识与所述第二人脸标识分别位于检测顺序相邻的所述视频帧中;
若所述坐标位置差值位于预设差值范围内,则判定所述第一人脸标识与所述第二人脸标识对应的为同一人脸,对所述第一人脸标识与所述第二人脸标识之间的播放切换做运动平滑处理。
8.一种人脸识别装置,其特征在于,包括:
获取模块,用于获取待识别视频并进行视频解码,得到组成所述待识别视频的所有视频帧,所有所述视频帧按照播放顺序排成播放队列;
检测模块,用于根据指令在所述播放队列中选定第一视频帧进行人脸检测,并统计所述第一视频帧对应的检测耗时;
选取模块,用于根据所述检测耗时从所述播放队列中间隔选取特定排序的所述视频帧并进行人脸检测。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的人脸识别方法。
10.一种可读存储介质,其特征在于,该可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的人脸识别方法。
CN201910533013.8A 2019-06-19 2019-06-19 人脸识别方法、装置、计算机设备及可读存储介质 Active CN110443115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910533013.8A CN110443115B (zh) 2019-06-19 2019-06-19 人脸识别方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910533013.8A CN110443115B (zh) 2019-06-19 2019-06-19 人脸识别方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110443115A true CN110443115A (zh) 2019-11-12
CN110443115B CN110443115B (zh) 2023-12-22

Family

ID=68429151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910533013.8A Active CN110443115B (zh) 2019-06-19 2019-06-19 人脸识别方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110443115B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476095A (zh) * 2020-03-05 2020-07-31 平安科技(深圳)有限公司 一种表情属性识别方法、装置、计算机设备及存储介质
CN112333537A (zh) * 2020-07-27 2021-02-05 深圳Tcl新技术有限公司 视频整合方法、装置及计算机可读存储介质
CN112887510A (zh) * 2021-01-19 2021-06-01 三一重工股份有限公司 基于视频检测的视频播放方法及系统
CN113205079A (zh) * 2021-06-04 2021-08-03 北京奇艺世纪科技有限公司 一种人脸检测方法、装置、电子设备及存储介质
CN113269090A (zh) * 2021-05-26 2021-08-17 平安科技(深圳)有限公司 基于人脸质量评估的人脸识别方法、装置、设备及介质
CN114040247A (zh) * 2021-11-09 2022-02-11 新智认知数据服务有限公司 网络视频流的处理方法、电子设备及计算机可读存储介质
WO2022048129A1 (zh) * 2020-09-04 2022-03-10 华为技术有限公司 对象识别方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073676A (zh) * 2010-11-30 2011-05-25 中国科学院计算技术研究所 一种网络色情视频实时检测方法和系统
CN107609497A (zh) * 2017-08-31 2018-01-19 武汉世纪金桥安全技术有限公司 基于视觉跟踪技术的实时视频人脸识别方法及系统
CN109840491A (zh) * 2019-01-25 2019-06-04 平安科技(深圳)有限公司 视频流播放方法、系统、计算机装置及可读存储介质
US20190384965A1 (en) * 2016-12-16 2019-12-19 Keylemon Sa A method for selecting frames used in face processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073676A (zh) * 2010-11-30 2011-05-25 中国科学院计算技术研究所 一种网络色情视频实时检测方法和系统
US20190384965A1 (en) * 2016-12-16 2019-12-19 Keylemon Sa A method for selecting frames used in face processing
CN107609497A (zh) * 2017-08-31 2018-01-19 武汉世纪金桥安全技术有限公司 基于视觉跟踪技术的实时视频人脸识别方法及系统
CN109840491A (zh) * 2019-01-25 2019-06-04 平安科技(深圳)有限公司 视频流播放方法、系统、计算机装置及可读存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476095A (zh) * 2020-03-05 2020-07-31 平安科技(深圳)有限公司 一种表情属性识别方法、装置、计算机设备及存储介质
CN112333537A (zh) * 2020-07-27 2021-02-05 深圳Tcl新技术有限公司 视频整合方法、装置及计算机可读存储介质
CN112333537B (zh) * 2020-07-27 2023-12-05 深圳Tcl新技术有限公司 视频整合方法、装置及计算机可读存储介质
WO2022048129A1 (zh) * 2020-09-04 2022-03-10 华为技术有限公司 对象识别方法、装置及系统
CN112887510A (zh) * 2021-01-19 2021-06-01 三一重工股份有限公司 基于视频检测的视频播放方法及系统
CN113269090A (zh) * 2021-05-26 2021-08-17 平安科技(深圳)有限公司 基于人脸质量评估的人脸识别方法、装置、设备及介质
CN113269090B (zh) * 2021-05-26 2024-05-28 平安科技(深圳)有限公司 基于人脸质量评估的人脸识别方法、装置、设备及介质
CN113205079A (zh) * 2021-06-04 2021-08-03 北京奇艺世纪科技有限公司 一种人脸检测方法、装置、电子设备及存储介质
CN113205079B (zh) * 2021-06-04 2023-09-05 北京奇艺世纪科技有限公司 一种人脸检测方法、装置、电子设备及存储介质
CN114040247A (zh) * 2021-11-09 2022-02-11 新智认知数据服务有限公司 网络视频流的处理方法、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110443115B (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
CN110443115A (zh) 人脸识别方法、装置、计算机设备及可读存储介质
US7499077B2 (en) Summarization of football video content
US6813313B2 (en) Method and system for high-level structure analysis and event detection in domain specific videos
US8270806B2 (en) Information processing apparatus and method of controlling same
US8326042B2 (en) Video shot change detection based on color features, object features, and reliable motion information
KR100873638B1 (ko) 영상 처리 방법 및 장치
CN107430780B (zh) 用于基于视频内容特性的输出创建的方法
CN100589532C (zh) 字幕区域提取装置和方法
WO1999023600A1 (en) Video signal face region detection
CN110443114A (zh) 人脸识别方法、装置、计算机设备及可读存储介质
US9805267B2 (en) Video processing system with photo generation and methods for use therewith
Omidyeganeh et al. Video keyframe analysis using a segment-based statistical metric in a visually sensitive parametric space
Hasan et al. CAMHID: Camera motion histogram descriptor and its application to cinematographic shot classification
CN109876416A (zh) 一种基于图像信息的跳绳计数方法
US20090180670A1 (en) Blocker image identification apparatus and method
Jacobson et al. Scale-aware saliency for application to frame rate upconversion
EP1265154A2 (en) Summarization of football video content
CN110830734A (zh) 一种突变和渐变镜头切换识别方法
CN113743339B (zh) 一种基于场景识别的室内跌倒检测方法和系统
Fonseca et al. Face tracking in the compressed domain
CN114862900A (zh) 一种乒乓球运动分析方法
Shi Player detection method based on MobileNetV2 under the background of the world cup
Liu et al. Lower attentive region detection for virtual content insertion in broadcast video
Manikandan Binary Heatmap based High Speed Object Tracking in Racket Sports using Semantic Image Segmentation
Huang Automatic region of interest extraction and tracking in coded video sequence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant