CN109978914B - 人脸追踪方法及装置 - Google Patents
人脸追踪方法及装置 Download PDFInfo
- Publication number
- CN109978914B CN109978914B CN201910173368.0A CN201910173368A CN109978914B CN 109978914 B CN109978914 B CN 109978914B CN 201910173368 A CN201910173368 A CN 201910173368A CN 109978914 B CN109978914 B CN 109978914B
- Authority
- CN
- China
- Prior art keywords
- video data
- face
- frame
- central processing
- processing unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种人脸追踪方法及装置,所述人脸追踪方法包括:获取视频数据;显示对应于所获取的当前帧视频数据的视频图像;同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据;调取所缓存的唯一帧视频数据进行人脸检测;在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框。根据本发明实施例的人脸追踪方法,可实现对人脸的实时追踪。
Description
技术领域
本发明涉及人脸识别技术领域,尤其涉及一种人脸追踪方法及装置。
背景技术
随着人脸识别技术的提升,相应的人脸追踪技术的应用越来越广泛。
在应用人脸追踪技术时,通常会在视频图像中有人脸出现时,将人脸检测到并在人脸上标记人脸框,以便明确追踪对象。
然而,采用目前已有的人脸追踪方法,人脸实时追踪显示很大程度上取决于人脸识别算法,而算法很难同时达到高水平的速度和精度,尤其当算法具有高精度时,利用该算法会比较耗时,因此影响该算法的速度。在这种情况下,标记人脸框会存在延时,导致跟不上人脸移动速度,从而无法实现对人脸的实时追踪。
发明内容
本发明实施例旨在提供一种人脸追踪方法及装置,以实现对人脸的实时追踪。
第一方面,本发明实施例提供了一种人脸追踪方法。所述人脸追踪方法包括:获取视频数据;显示对应于所获取的当前帧视频数据的视频图像;同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据;调取所缓存的唯一帧视频数据进行人脸检测;在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框。
进一步地,所述同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据,包括:判断缓存的前一帧视频数据是否已被删除,如果所述前一帧视频数据已被删除,则直接缓存当前帧视频数据,如果所述前一帧视频数据未被删除,则删除所述前一帧视频数据,并将所述当前帧视频数据缓存。
进一步地,所述调取所缓存的唯一帧视频数据进行人脸检测,包括:判断是否存在缓存的一帧视频数据,如果存在所述缓存的一帧视频数据,则根据所述缓存的一帧视频数据进行人脸检测,并且清空缓存,如果不存在缓存的一帧视频数据,则继续等待一帧视频数据的缓存。
进一步地,在所述调取所缓存的唯一帧视频数据进行人脸检测之前,所述人脸追踪方法还包括为人脸检测绑定中央处理单元的大核。
进一步地,所述为人脸检测绑定中央处理单元的大核,包括:判断所述中央处理单元是否为多核中央处理单元,当所述中央处理单元为所述多核中央处理单元时,绑定所述多核中央处理单元中的大核进行人脸检测,当所述中央处理单元为单核中央处理单元时,则直接进行人脸检测。
进一步地,在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框,包括:根据检测到的所述人脸数据,确定人脸在对应于所调取的所述唯一帧视频数据的视频图像中的坐标,并在当前显示的对应于一帧视频数据的视频图像中实时显示与所述坐标对应的人脸框。
进一步地,所述获取视频数据,包括:通过预览回调函数回调视频数据。
进一步地,所述显示对应于所获取的当前帧视频数据的视频图像,包括:针对所获取的所述视频数据,实时显示对应于所获取的当前帧视频数据的视频图像。
第二方面,本发明实施例提供一种人脸追踪装置,所述人脸追踪装置具有实现上述第一方面涉及的人脸追踪方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,人脸追踪装置包括:获取单元,用于获取视频数据;显示单元,用于显示对应于所获取的当前帧视频数据的视频图像;缓存单元,用于同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据;检测单元,用于调取所缓存的唯一帧视频数据进行人脸检测;并且,所述显示单元用于在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框。
进一步地,所述缓存单元用于判断缓存的前一帧视频数据是否已被删除,如果所述前一帧视频数据已被删除,则直接缓存当前帧视频数据,如果所述前一帧视频数据未被删除,则删除所述前一帧视频数据,并将所述当前帧视频数据缓存。
进一步地,所述检测单元用于判断是否存在缓存的一帧视频数据,如果存在所述缓存的一帧视频数据,则根据所述缓存的一帧视频数据进行人脸检测,并且清空缓存,如果不存在缓存的一帧视频数据,则继续等待一帧视频数据的缓存。
进一步地,所述检测单元还用于在所述调取所缓存的唯一帧视频数据进行人脸检测之前,为人脸检测绑定中央处理单元的大核。
进一步地,所述检测单元用于判断所述中央处理单元是否为多核中央处理单元,当所述中央处理单元为所述多核中央处理单元时,绑定所述多核中央处理单元中的大核进行人脸检测,当所述中央处理单元为单核中央处理单元时,则直接进行人脸检测。
进一步地,所述显示单元用于根据检测到的所述人脸数据确定人脸在对应于所调取的所述唯一帧视频数据的视频图像中的坐标,并在当前显示的对应于一帧视频数据的视频图像中实时显示与所述坐标对应的人脸框。
进一步地,所述获取单元用于通过预览回调函数回调视频数据。
进一步地,所述显示单元还用于针对所获取的所述视频数据,实时显示对应于所获取的当前帧视频数据的视频图像。
第三方面,本发明实施例提供一种电子设备,该电子设备包括处理器和存储器。所述存储器,用于存储所述处理器执行的指令;所述处理器,用于调用所述存储器存储的指令,并执行上述第一方面或第一方面各种实施方式中涉及的人脸追踪方法。
第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在计算机上运行时,执行上述第一方面或第一方面各种实施方式中涉及的人脸追踪方法。
第五方面,提供一种包含指令的计算机程序产品,当所述包含指令的计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第一方面各种实施方式中涉及的人脸追踪方法。
本发明实施例提供的人脸追踪方法及装置,采用双线程分别对获取的视频数据进行处理。其中一个线程用于实现显示视频图像,另一个线程用于对获取的视频数据进行缓存,然后利用该视频数据实现检测人脸,最后将检测到的人脸框实时地显示在所显示的视频图像中的人脸上。其中,由于缓存的视频数据始终是最新的唯一帧视频数据,因此从缓存中取出的用于进行人脸检测的数据总是最新缓存的唯一帧数据,从而减少了用于进行检测的视频帧相对于实时显示的视频帧的时间差(时间延迟)。另外,通过将人脸检测的线程绑定在多核中央处理单元的大核上,来保证人脸检测算法始终在大核上高效运行,从而进一步提高了人脸检测速度。从而本发明实施例提供的人脸追踪方法及装置能够更好地实现对人脸的实时追踪。
附图说明
图1是本发明实施例提供的电子设备的结构示意图;
图2是本发明实施例提供的一种人脸追踪方法实施流程图;
图3是本发明实施例提供的一种人脸追踪装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例提供的人脸追踪方法及装置,可应用于安防领域等需要动态监控和追踪的场景,例如追踪罪犯的场景。
本发明实施例应用的场景中至少包括能够实现人脸追踪功能的电子设备,该电子设备可以是诸如智能手机、平板电脑、计算机等智能终端,也可以是远程服务器等设备。
图1所示为本发明实施例涉及的一种电子设备100的示例性结构示意图。参阅图1所示,电子设备100可包括处理器/控制器101、存储器102、输入输出装置103以及图像采集装置104。其中,处理器/控制器101分别与存储器102、输入输出装置103以及图像采集装置104连接,例如可通过总线系统和/或其它形式的连接机构(未示出)进行连接。存储器102可用于存储程序和数据,包括本发明实施例中涉及的人脸追踪的程序,处理器/控制器101通过运行存储在存储器102的程序从而执行电子设备100的各种功能应用以及数据处理。
以下,本发明实施例将对电子设备100中涉及的主要部件进行介绍:
本发明实施例中,处理器/控制器101是电子设备100的控制中心,可利用各种接口和线路连接电子设备100中的各个部件,通过运行或执行存储在存储器102内的程序,以及调用存储在存储器102内的数据,执行电子设备100的各种功能和数据的处理,控制所述电子设备100中的其它组件以执行期望的功能,从而对电子终端100进行整体监控。本发明实施例中处理器/控制器101可以采用数字信号处理器(Digital Signal Processing,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现,所述处理器/控制器101可以是中央处理单元(Central Processing Unit,CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合。
本发明实施例中,存储器102存储的程序可以是电子设备100的操作系统(比如:安卓操作系统,简称“安卓系统”,或者iOS操作系统,或者其他操作系统,其中,操作系统也可简称为“系统”),也可以是电子设备100实现相应功能所需的应用程序(例如图像采集功能,声音播放功能、图像显示功能等)。存储器102存储的数据可以是电子设备100使用过程中所创建的数据等。本发明实施例中涉及的存储器102可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(Random Access Memory,RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(Read-Only Memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等。所述计算机可读存储介质也可以是其他磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此,例如存储器102可以是上述易失性存储器和/或非易失性存储器的组合。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器/控制器101可以运行所述程序指令,以实现下文所述的本发明实施例中的人脸检测功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
本发明实施例中,输入输出装置103可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备100的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本发明实施例中输入输出装置103可包括物理键盘、功能按键(比如音量控制按键、开关按键等)、鼠标、操作杆、轨迹球、麦克风、扬声器、、触控面板和显示屏等中的一个或多个。
本发明实施例中,图像采集装置104可用于采集图像。图像采集装置104例如可以是摄像机等,用以拍摄用户期望的图像(例如视频等),并且将所拍摄的图像存储在所述存储器102中以供其它组件使用。
可以理解的是,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100包括比图示更多或更少的部件,或者组合某些部件,或者也可以具有其他组件和结构。例如电子设备100还可包括提供用户与电子设备100之间音频接口的音频电路、扬声器和麦克风等。当电子设备100采用无线方式与外界通信时,还可包括射频(Radio Frequency,RF)电路和连接的天线,无线保真(Wireless-Fidelity,Wi-Fi)模块和连接的天线等。此外,电子设备100还包括传感器以及为其供电的电源等,在此不再一一列举。
目前,电子设备100在进行人脸追踪时,都是采用不同的算法以力求提高人脸识别速度,然而目前的算法很难同时达到高水平的速度和精度,尤其当算法具有高精度时,利用该算法会比较耗时,因此影响该算法的速度。现有技术中,在进行人脸追踪时,视频流不断推送视频帧进行实时显示且同时进行人脸检测,由于人脸检测算法速度较慢导致不能及时处理视频帧,未经人脸检测算法处理的视频帧都被放在队列里等待检测,随着等待检测的视频帧数量的累积,用于进行人脸检测的视频帧相对于实时显示的视频帧会有越来越大的时间差(时间延迟)。在这种情况下,标记人脸框会存在延时,导致跟不上人脸移动速度,从而无法实现对人脸的实时追踪。
有鉴于此,本发明实施例提供一种人脸追踪方法,在该方法中,利用双线程处理获取的视频数据,其中一个线程中,由于缓存的视频数据始终是最新的唯一帧视频数据,减少了用于进行检测的视频帧相对于实时显示的视频帧的时间差。另外,通过将人脸检测的线程绑定在多核中央处理单元的大核上,来保证人脸检测算法始终在大核上高效运行,从而进一步提高了人脸检测速度。从而本发明实施例提供的人脸追踪方法能够更好地实现对人脸的实时追踪。
以下将结合实际应用对本发明实施例提供的人脸追踪方法进行说明。
图2所示为本发明实施例提供的一种人脸追踪方法实施流程图。图2所示的方法执行主体可以是电子设备100,当然可以是其他能够实现相应功能的执行主体,本发明实施例不做限定。参阅图2所示,该方法包括:
S201:获取视频数据。
在本发明实施例中,获取视频数据可以通过使用预览回调函数回调视频数据来实现。当然,本发明实施例中的视频数据的获取方式可以采用目前已有的其它方式,本发明实施例在此不再详述。
S202:显示对应于所获取的当前帧视频数据的视频图像。
本发明实施例中,在并行的两个线程中的一个线程中,针对所获取的视频数据,可以实时显示对应于所获取的当前帧视频数据的视频图像。当然,本发明实施例中的视频图像显示可以采用目前已有的其它显示方式,例如延迟显示,以更好地配合人脸框在人脸上的实时标记,本发明实施例在此不再详述。
S203:同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据。
本发明实施例中,在并行的两个线程中的另一个线程中,针对所获取的视频数据,同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据。同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据通过以下方式实现:在显示对应于当前帧视频数据的视频图像的同时,判断缓存的前一帧视频数据是否已被删除,如果前一帧视频数据已被删除,则前一帧视频数据已被处理,直接缓存当前帧视频数据,如果前一帧视频数据未被删除,则前一帧视频数据还未被处理,删除未被处理的前一帧视频数据,将当前帧视频数据缓存。因此,人脸检测所处理的视频数据是最新一帧视频数据,从而减少了视频数据等待处理的时间。
在一个可能的实施例中,为了保证人脸检测所处理的视频数据是最新一帧(当前帧)视频数据,设置一个容量为1的实时缓冲队列(只能缓存一帧视频数据),将最新一帧(当前帧)视频数据存放到该实时缓冲队列中,首先判断该实时缓冲队列当前是否存放有一帧视频数据,如果没有视频数据,则说明实时缓冲队列中的前一帧视频数据已被处理,因此将最新一帧视频数据直接存放到该实时缓冲队列中,如果该实时缓冲队列已满,即该实时缓冲队列中具有前一帧视频数据,则说明正在处理历史帧的视频数据,前一帧视频数据还未来得及处理,因此将实时缓冲队列清空,将最新帧的视频数据存放到实时缓冲队列中,从而保证了处理完历史帧的视频数据之后处理的是最新帧的视频数据。在本实施例中,将未能及时处理的视频帧丢弃而不进行人脸检测,保证用于进行人脸检测的是最新缓存的唯一帧数据,避免由于排队待检的视频帧越来越多而导致用于进行检测的视频帧相对于实时显示的视频帧的时间差的增大。
在一种可能的实施方式中,同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据,还可通过以下方式实现:一旦获取到最新帧的视频数据,则对缓存实施清空操作而不论缓存是否为空,并将获取到的最新帧的视频数据缓存。
S204:调取所缓存的唯一帧视频数据进行人脸检测。
本发明实施例中,在进行人脸检测时,判断是否存在缓存的一帧视频数据,如果存在所述缓存的一帧视频数据,则根据所述缓存的一帧视频数据进行人脸检测,并且清空缓存,如果不存在缓存的一帧视频数据,则继续等待一帧视频数据的缓存。
本发明实施例中的人脸检测也可以称为人脸识别。该人脸检测或人脸识别的具体操作可采用目前已有技术,在此不再赘述。
在一个可能的实施方式中,在所述调取所缓存的唯一帧视频数据进行人脸检测之前,所述人脸追踪方法还包括为人脸检测绑定中央处理单元(CPU)的大核。
具体地,在进行人脸检测之前,判断CPU是否为多核CPU,当CPU为多核CPU时,绑定所述多核CPU中的大核进行人脸检测,当CPU为单核CPU时,则直接进行人脸检测。
在一个可能的实施例中,在进行人脸检测之前,首先判断CPU是否为多核CPU,当CPU为多核CPU时,调用系统下的syscall接口,并将cpu的大核id和人脸检测线程id传送给该接口,该接口调用成功后,将人脸检测线程绑定到CPU大核上。因此,人脸检测会在绑定的大核上运行,不会频繁发生CPU的核切换,大核主频高运算快,从而可以较大程度的稳定和提升人脸检测的速度。人脸检测速度的提升能够提升对视频帧的实时处理能力,进一步减少了用于进行检测的视频帧相对于实时显示的视频帧的时间差。
本发明实施例中的绑定CPU的大核也可采用目前已有技术,在此不再赘述。
S205:在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框。
本发明实施例中,一旦根据调取的所述唯一帧视频数据检测到人脸数据,则根据检测到的所述人脸数据确定人脸在对应于所调取的所述唯一帧视频数据的视频图像中的坐标,并在当前显示的对应于一帧视频数据的视频图像中实时显示与所述坐标对应的人脸框。
本发明实施例中的人脸框在图像中人脸上的显示可采用目前已有技术,在此不再赘述。
本发明实施例提供的人脸追踪方法及装置,采用双线程分别对获取的视频数据进行处理。其中一个线程用于实现显示视频图像,另一个线程用于对获取的视频数据进行缓存,然后利用该视频数据实现检测人脸,最后将检测到的人脸框实时的显示在所显示的视频图像中的人脸上。其中,由于缓存的视频数据始终是最新的唯一帧视频数据,减少了用于进行检测的视频帧相对于实时显示的视频帧的时间差。另外,通过将人脸检测的线程绑定在多核中央处理单元的大核上,来保证人脸检测算法始终在大核上高效运行,从而进一步提高了人脸检测速度。从而本发明实施例提供的人脸追踪方法能够更好地实现对人脸的实时追踪。
基于相同的发明构思,本发明实施例还提供一种人脸追踪装置。
可以理解的是,本发明实施例提供的人脸追踪装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的各示例的单元及方法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法实施例对人脸识别装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,本发明实施例提供的人脸追踪装置可包括获取单元、显示单元、缓存单元和检测单元。图3所示为本发明实施例提供的一种人脸追踪装置1000的结构示意图,该人脸识别装置1000可以应用于上述涉及的电子设备100。参阅图3所示,该人脸追踪装置1000可包括获取单元1001、缓存单元1002、检测单元1003和显示单元1004。其中,获取单元1001,用于获取视频数据。显示单元1004,用于显示对应于所获取的当前帧视频数据的视频图像。缓存单元1002,用于同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据。检测单元1003,用于调取所缓存的唯一帧视频数据进行人脸检测。此外,显示单元1004还用于在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框。
本发明实施例中,所述获取单元1001可以通过预览回调函数回调视频数据。
本发明实施例中,所述显示单元1004可以针对所获取的所述视频数据,实时显示对应于所获取的当前帧视频数据的视频图像。
本发明实施例中,所述缓存单元1002可以针对所获取的视频数据,同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据。并且所述缓存单元1002可以通过以下方式确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据:判断缓存的前一帧视频数据是否已被删除,如果前一帧视频数据已被删除,则前一帧视频数据已被处理,直接缓存当前帧视频数据,如果前一帧视频数据未被删除,则前一帧视频数据还未被处理,删除未被处理的前一帧视频数据,将当前帧视频数据缓存。
本发明实施例中,所述检测单元1003可以在进行人脸检测时,判断是否存在缓存的一帧视频数据,如果存在所述缓存的一帧视频数据,则根据所述缓存的一帧视频数据进行人脸检测,并且清空缓存,如果不存在缓存的一帧视频数据,则继续等待一帧视频数据的缓存。
本发明实施例中,所述检测单元1003还可以在调取所缓存的唯一帧视频数据进行人脸检测之前,为人脸检测绑定中央处理单元(CPU)的大核。
具体地,在进行人脸检测之前,所述检测单元1003可以判断CPU是否为多核CPU,当CPU为多核CPU时,绑定所述多核CPU中的大核进行人脸检测,当CPU为单核CPU时,则直接进行人脸检测。
本发明实施例中,一旦检测单元1003根据调取的所述唯一帧视频数据检测到人脸数据,所述显示单元1004可以根据检测到的所述人脸数据确定人脸在对应于所调取的所述唯一帧视频数据的视频图像中的坐标,并在当前显示的对应于一帧视频数据的视频图像中实时显示与所述坐标对应的人脸框。
需要说明的是,本发明实施例提供的人脸追踪装置1000具有实现上述方法实施例中涉及的人脸追踪方法过程中的所有功能,其具体实现过程可参阅上述实施例及附图的相关描述,在此不再赘述。人脸追踪装置1000中的各个模块单元所实现的功能与上文描述的用于人脸追踪的方法中的步骤相对应,其具体实现和技术效果请参见上文对于方法步骤的描述,在此不再赘述。
在采用硬件形式的情况下,上述涉及的获取单元1001可以是图像采集装置或输入输出装置,显示单元1004可以是输入输出装置,缓存单元1002和检测单元1003可以是处理器/控制器。因此,上述涉及的人脸追踪装置1000可以为图1所示的电子设备。该电子设备包括处理器和存储器。电子设备也可包括输入输出装置,还可包括图像采集装置。所述存储器、输入输出装置和图像采集装置均通过总线与所述处理器连接。其中,所述存储器,用于存储所述处理器执行的指令;所述处理器为中央处理单元(Central Processing Unit,CPU),用于调用所述存储器存储的指令,并执行上述实施例涉及人脸追踪方法。
其中,电子设备执行人脸追踪的过程,可参阅上述实施例描述的人脸追踪的实施过程,在此不再赘述。
根据本发明实施例的人脸追踪方法及装置,考虑到目前人脸检测的算法侧达到瓶颈,在算法上层加速人脸检测,一方面通过设置缓存并保证等待处理的一帧视频数据为最新帧的视频数据,另一方面通过将检测人脸的线程绑定到CPU的大核,从而提高人脸检测的速度。本发明实施例的人脸追踪方法及装置适用性强,可适用于各种算法并且匹配任何帧率的摄像机。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在计算机上运行时,执行上述实施例涉及的人脸追踪方法。
本发明实施例还提供一种包含指令的计算机程序产品,当所述包含指令的计算机程序产品在计算机上运行时,使得计算机执行上述实施例涉及的人脸追踪方法。
可以理解的是,本发明实施例中涉及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例涉及的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。
Claims (9)
1.一种人脸追踪方法,其中,所述人脸追踪方法包括:
获取视频数据;
显示对应于所获取的当前帧视频数据的视频图像;
同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据;
为人脸检测绑定中央处理单元的大核;
调取所缓存的唯一帧视频数据进行人脸检测;
在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框;
其中,所述为人脸检测绑定中央处理单元的大核,包括:
判断所述中央处理单元是否为多核中央处理单元,当所述中央处理单元为所述多核中央处理单元时,绑定所述多核中央处理单元中的大核进行人脸检测,当所述中央处理单元为单核中央处理单元时,则直接进行人脸检测。
2.根据权利要求1所述的人脸追踪方法,其中,所述同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据,包括:
判断缓存的前一帧视频数据是否已被删除,如果所述前一帧视频数据已被删除,则直接缓存当前帧视频数据,如果所述前一帧视频数据未被删除,则删除所述前一帧视频数据,并将所述当前帧视频数据缓存。
3.根据权利要求1所述的人脸追踪方法,其中,所述调取所缓存的唯一帧视频数据进行人脸检测,包括:
判断是否存在缓存的一帧视频数据,如果存在所述缓存的一帧视频数据,则根据所述缓存的一帧视频数据进行人脸检测,并且清空缓存,如果不存在缓存的一帧视频数据,则继续等待一帧视频数据的缓存。
4.根据权利要求1所述的人脸追踪方法,其中,在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框,包括:
根据检测到的所述人脸数据,确定人脸在对应于所调取的所述唯一帧视频数据的视频图像中的坐标,并在当前显示的对应于一帧视频数据的视频图像中实时显示与所述坐标对应的人脸框。
5.根据权利要求1所述的人脸追踪方法,其中,所述获取视频数据,包括:
通过预览回调函数回调视频数据。
6.根据权利要求1所述的人脸追踪方法,其中,所述显示对应于所获取的当前帧视频数据的视频图像,包括:
针对所获取的所述视频数据,实时显示对应于所获取的当前帧视频数据的视频图像。
7.一种人脸追踪装置,其中,所述人脸追踪装置包括:
获取单元,用于获取视频数据;
显示单元,用于显示对应于所获取的当前帧视频数据的视频图像;
缓存单元,用于同时缓存所述当前帧视频数据并确保所缓存的所述当前帧视频数据是缓存的唯一帧视频数据;
绑定单元,用于为人脸检测绑定中央处理单元的大核;
检测单元,调取所缓存的唯一帧视频数据进行人脸检测;
并且,所述显示单元用于在当前显示的对应于一帧视频数据的视频图像中,实时显示根据检测到的人脸数据得到的人脸框;
其中,所述为人脸检测绑定中央处理单元的大核,包括:
判断所述中央处理单元是否为多核中央处理单元,当所述中央处理单元为所述多核中央处理单元时,绑定所述多核中央处理单元中的大核进行人脸检测,当所述中央处理单元为单核中央处理单元时,则直接进行人脸检测。
8.一种电子设备,其中,所述电子设备包括:
存储器,用于存储指令;以及
处理器,用于调用所述存储器存储的指令执行权利要求1至6中任一项所述的人脸追踪方法。
9.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在计算机上运行时,执行权利要求1至6中任一项所述的人脸追踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173368.0A CN109978914B (zh) | 2019-03-07 | 2019-03-07 | 人脸追踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173368.0A CN109978914B (zh) | 2019-03-07 | 2019-03-07 | 人脸追踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109978914A CN109978914A (zh) | 2019-07-05 |
CN109978914B true CN109978914B (zh) | 2021-06-08 |
Family
ID=67078198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910173368.0A Active CN109978914B (zh) | 2019-03-07 | 2019-03-07 | 人脸追踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978914B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716535A (zh) * | 2013-12-12 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种切换拍摄模式方法和电子设备 |
CN205451095U (zh) * | 2015-12-02 | 2016-08-10 | 深圳市商汤科技有限公司 | 一种人脸识别装置 |
EP3098755A1 (en) * | 2015-05-29 | 2016-11-30 | Accenture Global Services Limited | Local caching for object recognition |
CN107770487A (zh) * | 2017-09-12 | 2018-03-06 | 深圳英飞拓科技股份有限公司 | 一种特征提取并优选的方法、系统及终端设备 |
CN108491822A (zh) * | 2018-04-02 | 2018-09-04 | 杭州高创电子科技有限公司 | 一种基于嵌入式设备有限缓存的人脸检测去重方法 |
CN108875512A (zh) * | 2017-12-05 | 2018-11-23 | 北京旷视科技有限公司 | 人脸识别方法、装置、系统、存储介质和电子设备 |
CN109086670A (zh) * | 2018-07-03 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 人脸识别方法、装置及设备 |
CN109409172A (zh) * | 2017-08-18 | 2019-03-01 | 安徽三联交通应用技术股份有限公司 | 驾驶员视线检测方法、系统、介质及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201419438D0 (en) * | 2014-10-31 | 2014-12-17 | Microsoft Corp | Modifying video call data |
-
2019
- 2019-03-07 CN CN201910173368.0A patent/CN109978914B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716535A (zh) * | 2013-12-12 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种切换拍摄模式方法和电子设备 |
EP3098755A1 (en) * | 2015-05-29 | 2016-11-30 | Accenture Global Services Limited | Local caching for object recognition |
CN205451095U (zh) * | 2015-12-02 | 2016-08-10 | 深圳市商汤科技有限公司 | 一种人脸识别装置 |
CN109409172A (zh) * | 2017-08-18 | 2019-03-01 | 安徽三联交通应用技术股份有限公司 | 驾驶员视线检测方法、系统、介质及设备 |
CN107770487A (zh) * | 2017-09-12 | 2018-03-06 | 深圳英飞拓科技股份有限公司 | 一种特征提取并优选的方法、系统及终端设备 |
CN108875512A (zh) * | 2017-12-05 | 2018-11-23 | 北京旷视科技有限公司 | 人脸识别方法、装置、系统、存储介质和电子设备 |
CN108491822A (zh) * | 2018-04-02 | 2018-09-04 | 杭州高创电子科技有限公司 | 一种基于嵌入式设备有限缓存的人脸检测去重方法 |
CN109086670A (zh) * | 2018-07-03 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 人脸识别方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109978914A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130222629A1 (en) | Methods, apparatuses, and computer program products for facilitating concurrent video recording and still image capture | |
US11196935B2 (en) | Method and apparatus for accelerating AEC convergence, and terminal device | |
US10338976B2 (en) | Method and apparatus for providing screenshot service on terminal device and storage medium and device | |
CN111163345A (zh) | 一种图像渲染方法及装置 | |
WO2024125329A1 (zh) | 直播特效渲染方法、装置、设备、可读存储介质及产品 | |
CN112954212B (zh) | 视频生成方法、装置及设备 | |
CN112073641B (zh) | 影像拍摄方法、装置、移动终端以及存储介质 | |
CN110213479B (zh) | 一种视频拍摄防抖方法和装置 | |
WO2017101126A1 (zh) | 一种监控系统的数据存储方法及系统 | |
KR20230133970A (ko) | 사진촬영 방법, 장치 및 전자기기 | |
EP4451115A1 (en) | Data access method and apparatus, and non-transient computer-readable storage medium | |
CN108989680B (zh) | 摄像进程启动方法、计算机装置及计算机可读存储介质 | |
US8120691B2 (en) | Image capturing appatatus and method for use in a mobile terminal | |
CN112530205A (zh) | 机场停机坪飞机状态检测方法及装置 | |
CN111416996B (zh) | 多媒体文件检测方法、播放方法、装置、设备及存储介质 | |
CN115629875A (zh) | 内存页面处理方法、装置以及电子设备 | |
CN106879263A (zh) | 一种拍摄方法和移动设备 | |
CN112749590B (zh) | 目标检测方法、装置、计算机设备和计算机可读存储介质 | |
CN115278047A (zh) | 拍摄方法、装置、电子设备和存储介质 | |
CN114387402A (zh) | 虚拟现实场景显示方法及装置、电子设备、可读存储介质 | |
CN109978914B (zh) | 人脸追踪方法及装置 | |
US20210335390A1 (en) | Method and device for generating dynamic image | |
CN115469816B (zh) | 存储器的读写切换方法、装置、设备及存储介质 | |
CN115421908A (zh) | 内存分配方法、装置以及电子设备 | |
WO2022061723A1 (zh) | 一种图像处理方法、设备、终端及存储介质 |
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 |