CN111258669A - 人脸识别方法及装置、存储介质 - Google Patents
人脸识别方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111258669A CN111258669A CN202010217617.4A CN202010217617A CN111258669A CN 111258669 A CN111258669 A CN 111258669A CN 202010217617 A CN202010217617 A CN 202010217617A CN 111258669 A CN111258669 A CN 111258669A
- Authority
- CN
- China
- Prior art keywords
- face recognition
- image
- sub
- frame
- initialization
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 368
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Collating Specific Patterns (AREA)
Abstract
本公开提供了一种人脸识别方法及装置、存储介质,其中,操作***初始化包括第一进程初始化和第二进程初始化,所述方法包括:初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
Description
技术领域
本公开涉及人脸识别领域,尤其涉及人脸识别方法及装置、存储介质。
背景技术
目前,在安卓操作***中进行人脸识别的方案,是通过安卓操作***的应用层来进行的。
在实际应用中,需要在安卓操作***初始化完成后,才能通过应用层进行人脸识别。由于安卓操作***的初始化包括多个进程的初始化,因此安卓操作***初始化过程往往比较慢,人脸识别的时间较长。
发明内容
本公开提供了一种人脸识别方法及装置、存储介质。
根据本公开实施例的第一方面,提供一种人脸识别方法,所述操作***初始化包括第一进程初始化和第二进程初始化,所述方法包括:初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
在一些可选实施例中,所述第一进程包括框架服务进程,所述第二进程包括虚拟机进程。
在一些可选实施例中,所述通过所述第一进程获取至少一帧图像,包括:通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
在一些可选实施例中,所述方法还包括:在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
在一些可选实施例中,所述第一进程包括第一子进程和第二子进程;通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果,包括:通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送;通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
在一些可选实施例中,所述在得到所述人脸识别结果之后,所述方法还包括:释放所述第二子进程占用的至少部分资源。
在一些可选实施例中,所述方法还包括:如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送;通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
在一些可选实施例中,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程;和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
在一些可选实施例中,在所述操作***为车机操作***的情况下,所述车机操作***包括倒车影像模块,在所述倒车影像模块的驱动服务中集成所述第一子进程对应的服务,在所述倒车影像模块的倒车应用服务中集成车载摄像头的调用服务和所述第二子进程对应的服务;其中,所述车载摄像头用于采集包括车舱驾驶员的至少一帧图像。
根据本公开实施例的第二方面,提供一种人脸识别装置,所述操作***初始化包括第一进程初始化和第二进程初始化,所述装置包括:人脸识别模块,用于初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;第一初始化模块,用于在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
在一些可选实施例中,所述第一进程包括框架服务进程,所述第二进程包括虚拟机进程。
在一些可选实施例中,所述人脸识别模块包括:采集子模块,用于通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
在一些可选实施例中,所述装置还包括:第二初始化模块,用于在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
在一些可选实施例中,所述第一进程包括第一子进程和第二子进程;所述人脸识别模块包括:执行子模块,用于通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送;人脸识别子模块,用于通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
在一些可选实施例中,所述装置还包括:资源释放模块,用于释放所述第二子进程占用的至少部分资源。
在一些可选实施例中,所述装置还包括:发生模块,用于如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送;设备调整模块,用于通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
在一些可选实施例中,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程;和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
在一些可选实施例中,在所述操作***为车机操作***的情况下,所述车机操作***包括倒车影像模块,在所述倒车影像模块的驱动服务中集成所述第一子进程对应的服务,在所述倒车影像模块的倒车应用服务中集成车载摄像头的调用服务和所述第二子进程对应的服务;其中,所述车载摄像头用于采集包括车舱驾驶员的至少一帧图像。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面任一所述的人脸识别方法。
根据本公开实施例的第四方面,提供一种人脸识别装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现第一方面中任一项所述的人脸识别方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,操作***初始化的过程包括第一进程初始化和第二进程初始化,初始化第一进程,并通过第一进程获取至少一帧图像,并且对所述至少一帧图像进行人脸识别,得到人脸识别结果。在得到人脸识别结果之后,启动对第二进程的初始化。本公开可以在操作***初始化的过程中进行人脸识别,无需等待操作***初始化过程结束就可以确定人脸识别结果,缩短了得到人脸识别结果的时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种操作***初始化流程图;
图2是本公开根据一示例性实施例示出的一种人脸识别方法流程图;
图3是本公开根据一示例性实施例示出的另一种人脸识别方法流程图;
图4是本公开根据一示例性实施例示出的另一种人脸识别方法流程图;
图5是本公开根据一示例性实施例示出的另一种人脸识别方法流程图;
图6是本公开根据一示例性实施例示出的另一种人脸识别方法流程图;
图7是本公开根据一示例性实施例示出的一种人脸识别装置框图;
图8是本公开根据一示例性实施例示出的一种用于人脸识别装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开运行的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所运行的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中运行的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所运行的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本公开实施例中,先以安卓操作***为例,介绍一下操作***初始化过程。例如图1所示,安卓操作***首先需要先对启动装载(BootLoader)进行初始化。进而启动对Linux操作***内核(Linuxkernel)的初始化。在Linux kernel初始化结束之后,启动初始化(Init)进程,再启动C++层的框架服务(framework service)和Java虚拟机(Zygote)进程。在Zygote进程初始化结束之后,启动Javaframe work service,在Javaframe workservice初始化结束后,就完成了整个安卓操作***初始化过程,后续可以启动应用层的应用。上述操作***初始化过程可以运行在中央处理器(Central Processing Unit,CPU)中。
可以看出,上述操作***初始化过程涉及多个进程,初始化过程的时间比较长。如果需要进行人脸识别,需要等待操作***初始化结束,才能通过应用层进行,造成人脸识别的时间也较长。
本公开实施例提供了一种人脸识别方法,可以在操作***初始化过程结束之前,确定人脸识别结果,缩短人脸识别的时间。该人脸识别方法可以用于操作***中,该操作***包括但不限于安卓操作***、输入输出操作***(Input Output System,IOS)等,为了便于描述,以下实施例中将以安卓操作***为例进行说明。
例如图2所示,图2是根据一示例性实施例示出的一种人脸识别方法,包括以下步骤:
在步骤101中,初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果。
在本公开实施例中,第一进程是操作***所包括的一个进程,在操作***初始化的过程中,需要对第一进程进行初始化。其中,第一进程包括框架服务进程,框架服务进程包括但不限于C++框架服务进程。在初始化第一进程之后,通过第一进程可以得到人脸识别结果。
在步骤102中,在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
在本公开实施例中,第二进程同样是操作***所包括的一个进程,在操作***初始化的过程中,也需要对第二进程进行初始化。在本公开实施例中,第二进程包括虚拟机进程,该虚拟机进程包括但不限于Java虚拟机进程。
由于初始化虚拟机进程所需要的时间较长,在本公开实施例中,可以在得到人脸识别结果之后,启动对第二进程的初始化。
上述实施例中,操作***初始化的过程包括第一进程初始化和第二进程初始化,初始化第一进程,并通过第一进程获取至少一帧图像,并且对所述至少一帧图像进行人脸识别,得到人脸识别结果。在得到人脸识别结果之后,启动对第二进程的初始化。本公开可以在操作***初始化的过程中进行人脸识别,无需等待操作***初始化过程结束就可以确定人脸识别结果,缩短了得到人脸识别结果的时间。
在一些可选实施例中,步骤101中通过所述第一进程获取至少一帧图像,可以包括:
通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
在本公开实施例中,图像采集设备可以包括摄像头,在初始化第一进程之后,通过第一进程启动摄像头,从而采集至少一帧图像,后续针对采集的至少一帧图像进行人脸识别,得到人脸识别结果。
在一些可选实施例中,例如图3所示,上述方法还可以包括:
在步骤103中,在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
在本公开实施例中,图像采集设备可以包括摄像头,对应的服务可以包括但不限于摄像头服务(camera service),显卡驱动服务(openGL service)。在初始化第一进程的过程中,操作***还可以对图像采集设备对应的上述服务进行初始化。图像采集设备对应的服务初始化之后,可以通过图像采集设备采集至少一帧图像,以便后续进行人脸识别。
上述实施例中,可以在初始化第一进程的过程中,初始化与图像采集设备对应的服务,然后通过图像采集设备采集所述至少一帧图像。从而可以在操作***初始化结束之前,确定人脸识别结果,同样缩短了得到人脸识别结果的时间。
在一些可选实施例中,第一进程包括了第一子进程和第二子进程。其中,第一子进程可以在第二子进程和其他进程/子进程之间提供交互的接口。第二子进程可以包括人脸识别算法,通过对图像进行人脸识别,得到人脸识别结果。
相应地,例如图4所示,步骤101可以包括:
在步骤101-1中,通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送。
在本公开实施例中,通过第一子进程可以获得图像采集设备采集的至少一帧图像,并将至少一帧图像向第二子进程发送。
在步骤101-2中,通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
在本公开实施例中,第二子进程可以调用人脸识别算法,对至少一帧图像进行人脸检测,比如,可以通过诸如中央处理器、图形处理器(Graphics Processing Unit,GPU)等处理器中运行的深度神经网络,或是采取其他实现方式,以确定至少一帧图片中的人脸,提取人脸特征,将提取到的人脸特征与预存的人脸特征进行匹配,得到人脸识别结果。
上述实施例中,可以通过第一进程包括的第一子进程获取至少一帧图像,并向第一进程包括的第二子进程发送至少一帧图像。通过第二子进程进行人脸识别,得到人脸识别结果。实现了在操作***初始化过程中得到人脸识别结果的目的,缩短了得到人脸识别结果的时间。
在一些可选实施例中,第二子进程进行人脸识别时,预存的人脸特征可以是预存在文件***中的人脸特征,例如用户预先在对人脸特征进行注册,将注册的人脸特征存储在文件***中,第二子进程每次在提取了至少一帧图像的人脸特征之后,与文件***中存储的人脸特征进行比对,确定人脸识别结果。
在本公开实施例中,用户可以通过该操作***所在的设备直接注册人脸特征,还可以通过其他终端设备注册人脸特征后将注册的人脸特征发送到该操作***所在的设备上,该操作***所在的设备将注册的人脸特征存放在文件***中。
上述实施例中,可以将注册的人脸特征存放在文件***中,以便第二子进程将至少一帧图像中提取到的人脸特征与预存的人脸特征进行匹配,从而得到人脸识别结果,实现简便,可用性高。
在一些可选实施例中,人脸识别算法运行在CPU中,在本公开实施例中,为了加快人脸识别的速度,可以利用操作***所在芯片上的硬件加速资源进行人脸识别算法的加速,进一步提升人脸识别的速度。其中,硬件加速资源可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)和/或GPU。
在人脸识别过程中可以加快人脸识别速度的硬件资源均可以作为硬件加速资源,本公开对此不作限定。
在一些可选实施例中,例如图5所示,上述方法还包括:
在步骤104中,释放所述第二子进程占用的至少部分资源。
在本公开实施例中,可以通过关闭第二子进程来释放其占用的资源,还可以通过将第二子进程运行在后台或切换到省电模式下,来释放其占用的至少部分资源。
释放的资源可以用来初始化其他进程。这样不仅缩短了人脸识别过程占用的时间,并且,在得到人脸识别结果后,可以对有限的资源进行合理调用,从而避免资源浪费,使其他进程在初始化过程中可以调用更多空闲资源。
在一些可选实施例中,例如图6所示,该方法还包括:
在步骤105中,如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送。
在本公开实施例中,如果第二子进程得到了人脸识别结果,该人脸识别结果为识别出目标人脸,可以将人脸识别结果进行保存。在整个操作***完成初始化之后,可以通过第一子进程将保存的人脸识别结果向应用层发送。
在步骤106中,通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
在本公开实施例中,应用层已经预存了人脸和配置数据之间的对应关系,其中,目标人脸对应的配置数据,至少包括了目标设备的配置数据,也就意味着,通过应用层,可以参照配置数据,将所有配置数据对应的设备的配置参数进行调整,或者,调整配置数据对应的设备的至少部分配置参数,也可以理解为调整配置数据对应的至少部分设备的配置参数,或是调整配置数据对应的至少部分设备的至少部分配置参数。
例如,目标设备的配置数据包括但不限于椅背档位、空调档位、音量大小、光线强弱等。相应地,目标设备可以是操作***可以控制的座椅、空调、音频播放设备和氛围灯中的至少一个。
应用层可以参照配置数据,调整座椅、空调、音频播放设备和氛围灯分别对应的配置参数,也可以调整座椅、空调、音频播放设备和氛围灯中部分设备的配置参数,例如只调整座椅和空调的配置参数。或者还可以调整配置数据对应的至少部分设备的至少部分配置参数,例如氛围灯的配置参数包括颜色和数目,可以只调整氛围灯的颜色。
在本公开实施例中,对于同一类配置数据,不同的人脸对应的配置数据可以不同,对目标设备的调整方式也可以不同。例如对于椅背档位这一类的配置数据,座椅位置可以包括4至5种甚至更多种可调档位,人脸1、人脸2对应的椅背档位的配置数据分别为1档和3档的情况下,人脸识别结果为识别出人脸1,则可以对座椅位置进行调整,调整到第1档,人脸识别结果为识别出人脸2,则可以对座椅位置进行调整,调整到第3档。
同样地,还可以根据不同类的配置数据,对空调档位、音频播放设备的音量、氛围灯的颜色和光线等进行调整。当然具体还可以结合用户本次操作来调整等。
上述实施例中,可以根据人脸识别结果,确定对应的配置数据,从而调整目标设备,实现简便,可用性高。
在一些可选实施例中,第一子进程可以在获取至少一帧图像之后,通过显示模块进行显示,以便用户根据显示模块显示的图像对自身位置进行调整等相关操作,使得图像采集设备采集到的人脸更加清晰,后续得到的人脸识别结果更加准确。
在本公开实施例中,还可以在第二子进程确定了人脸识别结果之后,通过第一子进程将人脸识别结果发送给显示模块进行显示,显示模块可以显示识别成功或识别失败的相关信息,还可以在识别失败的情况下,显示识别失败的原因,例如检测到的人脸不在数据库中,或者由于用户遮挡面部导致人脸识别失败等。用户可以根据需要重新进行人脸识别。
上述实施例中,可以通过第一子进程将所述至少一帧图像和/或所述人脸识别结果发送给显示模块进行显示,实现简便,可用性高。
在一些可选实施例中,第一子进程服务可以是预先添加在第一进程中,或者可以复用第一进程中已有的子进程,和/或第二子进程可以预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
第一进程为C++框架服务进程,可以通过修改资源文件,在C++框架服务进程中新建一个服务对应第一子进程,和/或新建一个服务对应第二子进程。其中,资源文件是扩展名为.rc的文件,该文件可以对程序中用到的资源进行统一管理。
或者,在本公开实施例中,为了简化开发难度,可以让第一子进程和/或第二子进程复用所述第一进程中已有子进程。
其中,第一子进程和第二子进程可以都预先添加在第一进程C++框架服务进程中,或者其中一个添加在第一进程C++框架服务进程中,另一个复用第一进程C++框架服务进程中已有的子进程,或者第一子进程和第二子进程可以都复用第一进程C++框架服务进程中已有的子进程。
上述实施例中,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程,和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。在操作***初始化结束之前就得到人脸识别结果,缩短了人脸识别的时间。
在一些可选实施例中,上述方法可以用于可移动和/或具备定制化功能的机器设备中,例如车辆、飞机等。如果用于车辆上,图像采集设备采集到的至少一帧图像可以包括车舱驾驶员的至少一帧图像,该操作***则可以是车机操作***,该车机操作***包括倒车影像模块。
其中,第一子进程和第二子进程可以复用第一进程中已有的子进程,在本公开实施例中,两个子进程可以复用倒车影像模块所包括的硬件抽象层接口定义语言(HALinterface definition language,HIDL)服务。在倒车影像模块所包括的HIDL驱动服务中集成第一子进程对应的服务,在倒车影像模块所包括的HIDL应用服务中集成车载摄像头的调用服务和第二子进程对应的服务。
车载摄像头可以采集包括车舱驾驶员的至少一帧图像,第一子进程在初始化之后,获取包括车舱驾驶员的至少一帧图像,并向第二子进程发送。第二子进程对包括车舱驾驶员的至少一帧图像进行人脸识别,得到人脸识别结果。在人脸识别结果为识别出目标人脸的情况下,可以确定与目标人脸对应的配置数据,从而调整座椅档位、空调档位、氛围灯颜色和光线亮度等。
上述实施例中,可以在驾驶员进入车辆后,无需等待车机操作***初始化过程结束,就可以快速确定人脸识别结果,缩短了获得人脸识别结果的时间。
在一些可选实施例中,结合车机操作***对上述过程进一步举例说明如下。
可以通过修改资源文件,在车机操作***的C++框架服务进程中新增与第一子进程和第二子进程分别对应的服务。或者为了简化操作***开发的复杂度,以及提升人脸识别速度,可以借助启动比较迅速、使用相同驱动模块的安卓操作***底层的服务来辅助开发,所述第一子进程和/或第二子进程复用倒车影像模块的驱动服务和倒车应用服务。
在驾驶员进入车辆启动车辆后,车机操作***开始启动,进入初始化过程。第一进程为C++框架服务进程,在对第一子进程和第二子进程初始化的同时,操作***还会对图像采集设备对应的服务进行初始化。图像采集设备对应的服务可以包括摄像头服务和显卡服务。在图像采集设备对应的服务初始化结束之后,图像采集设备可以采集包括车舱驾驶员的至少一帧图像,由第一子进程获取至少一帧图像并向第二子进程发送。第一子进程同时还可以将至少一帧图像发送给显示模块进行显示,以便驾驶员根据显示的图像调整头部位置,以便更好地进行人脸识别。
第二子进程可以调用人脸识别算法提取至少一帧图像的人脸特征,将提取的人脸特征与文件***中预存的人脸特征进行匹配,获得人脸识别结果。其中,预存的人脸特征可以是之前已经注册的人脸特征,或者还可以是用户通过自身携带的终端注册并发送到车辆的文件***进行保存的人脸特征。其中,预存的人脸特征可以存储在云端,在需要进行人脸比对前从云端获取;或是,存储在车机(即部署在车辆上的电子设备)本地;或是,存储在诸如移动设备等第三方设备中,以使车机通过与第三方设备之间采用诸如蓝牙、网络等传输方式来获取等。
第二子进程在运行人脸识别算法的过程中,还可以利用车机操作***上的硬件加速资源如DSP或者GPU进行算法加速,这样可进一步提升人脸识别的速度。
第二子进程得到人脸识别结果之后,第一子进程可以将人脸识别结果发送到显示模块进行显示,显示模块可以显示识别成功或识别失败的相关信息,还可以在识别失败的情况下,显示识别失败的原因,例如检测到的人脸不在数据库中,或者由于用户遮挡面部导致人脸识别失败等。
保存该人脸识别结果之后,可以释放第二子进程占用的至少部分资源,该资源包括但不限于CPU和GPU资源等,从而让其他进程进行初始化。这样不仅缩短了人脸识别过程占用的时间,并且,在得到人脸识别结果后,可以对有限的资源进行合理调用,从而避免资源浪费,使其他进程在初始化过程中可以调用更多空闲资源。
在整个操作***初始化结束之后,第一子进程还可以将人脸识别结果发送到应用层,应用层根据预存的人脸和配置数据之间的对应关系,确定目标人脸对应的配置数据,车机操作***基于配置数据调整目标设备。例如配置数据包括针对不同车舱驾驶员进行的个性化定制数据,则车机操作***可以调节座椅位置角度,打开预设的氛围灯光颜色等等。
上述实施例中,可以在车机***初始化过程中进行驾驶员人脸识别,无需等待操作***初始化过程结束就可以得到人脸识别结果,根据人脸识别结果调整目标设备,缩短了获得人脸识别结果的时间,提高了驾驶体验。
与前述方法实施例相对应,本公开还提供了装置的实施例。
如图7所示,图7是本公开根据一示例性实施例示出的一种人脸识别装置框图,所述操作***初始化包括第一进程初始化和第二进程初始化,所述装置包括:人脸识别模块210,用于初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;第一初始化模块220,用于在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
在一些可选实施例中,所述第一进程包括框架服务进程,所述第二进程包括虚拟机进程。
在一些可选实施例中,所述人脸识别模块包括:采集子模块,用于通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
在一些可选实施例中,所述装置还包括:第二初始化模块,用于在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
在一些可选实施例中,所述第一进程包括第一子进程和第二子进程;所述人脸识别模块包括:执行子模块,用于通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送;人脸识别子模块,用于通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
在一些可选实施例中,所述装置还包括:资源释放模块,用于释放所述第二子进程占用的至少部分资源。
在一些可选实施例中,所述装置还包括:发生模块,用于如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送;设备调整模块,用于通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
在一些可选实施例中,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程;和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
在一些可选实施例中,在所述操作***为车机操作***的情况下,所述车机操作***包括倒车影像模块,在所述倒车影像模块的驱动服务中集成所述第一子进程对应的服务,在所述倒车影像模块的倒车应用服务中集成车载摄像头的调用服务和所述第二子进程对应的服务;其中,所述车载摄像头用于采集包括车舱驾驶员的至少一帧图像。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本公开实施例还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行上述任一所述的人脸识别方法。
在一些可选实施例中,本公开实施例提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的人脸识别方法的指令。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
本公开实施例还提供了一种人脸识别装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为调用所述存储器中存储的可执行指令,实现上述任一项所述的人脸识别方法。
本公开实施例还提供了一种人脸识别装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为调用所述存储器中存储的可执行指令,实现上述任一项所述的人脸识别方法。
图8为本公开实施例提供的一种人脸识别装置的硬件结构示意图。该人脸识别装置310包括处理器311,还可以包括输入装置312、输出装置313和存储器314。该输入装置312、输出装置313、存储器314和处理器311之间通过总线相互连接。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图8仅仅示出了一种人脸识别装置的简化设计。在实际应用中,人脸识别装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本公开实施例的人脸识别装置都在本公开的保护范围之内。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或者惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (20)
1.一种人脸识别方法,其特征在于,所述操作***初始化包括第一进程初始化和第二进程初始化,所述方法包括:
初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;
在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
2.根据权利要求1所述的方法,其特征在于,所述第一进程包括框架服务进程,所述第二进程包括虚拟机进程。
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述第一进程获取至少一帧图像,包括:
通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一进程包括第一子进程和第二子进程;
通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果,包括:
通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送;
通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
6.根据权利要求5所述的方法,其特征在于,所述在得到所述人脸识别结果之后,所述方法还包括:
释放所述第二子进程占用的至少部分资源。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送;
通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
8.根据权利要求5或6任一项所述的方法,其特征在于,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程;
和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
9.根据权利要求8所述的方法,其特征在于,在所述操作***为车机操作***的情况下,所述车机操作***包括倒车影像模块,在所述倒车影像模块的驱动服务中集成所述第一子进程对应的服务,在所述倒车影像模块的倒车应用服务中集成车载摄像头的调用服务和所述第二子进程对应的服务;其中,所述车载摄像头用于采集包括车舱驾驶员的至少一帧图像。
10.一种人脸识别装置,其特征在于,所述操作***初始化包括第一进程初始化和第二进程初始化,所述装置包括:
人脸识别模块,用于初始化所述第一进程,并通过所述第一进程获取至少一帧图像,且对所述至少一帧图像进行人脸识别,得到人脸识别结果;
第一初始化模块,用于在得到所述人脸识别结果之后,启动对所述第二进程的初始化。
11.根据权利要求10所述的装置,其特征在于,所述第一进程包括框架服务进程,所述第二进程包括虚拟机进程。
12.根据权利要求10或11所述的装置,其特征在于,所述人脸识别模块包括:
采集子模块,用于通过所述第一进程启动图像采集设备,并采集所述至少一帧图像。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二初始化模块,用于在初始化所述第一进程的过程中,初始化所述图像采集设备对应的服务。
14.根据权利要求10-13任一项所述的装置,其特征在于,所述第一进程包括第一子进程和第二子进程;
所述人脸识别模块包括:
执行子模块,用于通过所述第一子进程,获取所述至少一帧图像,并将所述至少一帧图像向所述第二子进程发送;
人脸识别子模块,用于通过所述第二子进程,根据所述至少一帧图像得到所述人脸识别结果。
15.根据权利要求14所述的方法,其特征在于,所述装置还包括:
资源释放模块,用于释放所述第二子进程占用的至少部分资源。
16.根据权利要求10-15任一项所述的装置,其特征在于,所述装置还包括:
发生模块,用于如果所述人脸识别结果为识别出目标人脸,在所述操作***完成初始化后,将所述人脸识别结果向应用层发送;
设备调整模块,用于通过所述应用层,根据与所述目标人脸对应的配置数据,调整目标设备。
17.根据权利要求14或15所述的装置,其特征在于,所述第一子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程;
和/或,所述第二子进程预先添加在所述第一进程中或复用所述第一进程中的已有子进程。
18.根据权利要求17所述的装置,其特征在于,在所述操作***为车机操作***的情况下,所述车机操作***包括倒车影像模块,在所述倒车影像模块的驱动服务中集成所述第一子进程对应的服务,在所述倒车影像模块的倒车应用服务中集成车载摄像头的调用服务和所述第二子进程对应的服务;其中,所述车载摄像头用于采集包括车舱驾驶员的至少一帧图像。
19.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-9任一所述的人脸识别方法。
20.一种人脸识别装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现权利要求1-9中任一项所述的人脸识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217617.4A CN111258669B (zh) | 2020-03-25 | 2020-03-25 | 人脸识别方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217617.4A CN111258669B (zh) | 2020-03-25 | 2020-03-25 | 人脸识别方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258669A true CN111258669A (zh) | 2020-06-09 |
CN111258669B CN111258669B (zh) | 2024-04-16 |
Family
ID=70951558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010217617.4A Active CN111258669B (zh) | 2020-03-25 | 2020-03-25 | 人脸识别方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258669B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286107A (zh) * | 2021-12-30 | 2022-04-05 | 武汉华威科智能技术有限公司 | 一种提高实时视频处理效率的方法、***、设备及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464950A (zh) * | 2009-01-16 | 2009-06-24 | 北京航空航天大学 | 基于在线学习和贝叶斯推理的视频人脸识别与检索方法 |
CN104503788A (zh) * | 2014-12-16 | 2015-04-08 | 电子科技大学 | 一种缩短安卓操作***启动时间的设置方法 |
CN105843375A (zh) * | 2016-02-22 | 2016-08-10 | 乐卡汽车智能科技(北京)有限公司 | 用于车辆的设置方法、装置及车载电子信息*** |
CN106043124A (zh) * | 2016-05-25 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 一种控制倒车影像显示的方法及装置 |
CN106627261A (zh) * | 2016-11-08 | 2017-05-10 | 广州大学 | 一种基于人脸识别的汽车座椅自主记忆***和方法 |
CN106740596A (zh) * | 2016-11-30 | 2017-05-31 | 北京汽车集团有限公司 | 驾驶位置调整方法、装置和车辆 |
CN106954281A (zh) * | 2017-03-24 | 2017-07-14 | 成都市极米科技有限公司 | 一种wifi连接方法及装置 |
CN108319916A (zh) * | 2018-02-01 | 2018-07-24 | 广州市君望机器人自动化有限公司 | 人脸识别方法、装置、机器人及存储介质 |
CN108319480A (zh) * | 2018-02-01 | 2018-07-24 | 微鲸科技有限公司 | 蓝牙服务启动方法、装置及电子设备 |
CN108733429A (zh) * | 2018-05-16 | 2018-11-02 | Oppo广东移动通信有限公司 | ***资源配置的调整方法、装置、存储介质及移动终端 |
CN109145653A (zh) * | 2018-08-01 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据处理方法和装置、电子设备、计算机可读存储介质 |
WO2019072132A1 (zh) * | 2017-10-11 | 2019-04-18 | Oppo广东移动通信有限公司 | 人脸识别方法及相关产品 |
CN110254393A (zh) * | 2019-06-21 | 2019-09-20 | 一汽轿车股份有限公司 | 一种基于人脸识别技术的汽车自适应控制方法 |
-
2020
- 2020-03-25 CN CN202010217617.4A patent/CN111258669B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464950A (zh) * | 2009-01-16 | 2009-06-24 | 北京航空航天大学 | 基于在线学习和贝叶斯推理的视频人脸识别与检索方法 |
CN104503788A (zh) * | 2014-12-16 | 2015-04-08 | 电子科技大学 | 一种缩短安卓操作***启动时间的设置方法 |
CN105843375A (zh) * | 2016-02-22 | 2016-08-10 | 乐卡汽车智能科技(北京)有限公司 | 用于车辆的设置方法、装置及车载电子信息*** |
CN106043124A (zh) * | 2016-05-25 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 一种控制倒车影像显示的方法及装置 |
CN106627261A (zh) * | 2016-11-08 | 2017-05-10 | 广州大学 | 一种基于人脸识别的汽车座椅自主记忆***和方法 |
CN106740596A (zh) * | 2016-11-30 | 2017-05-31 | 北京汽车集团有限公司 | 驾驶位置调整方法、装置和车辆 |
CN106954281A (zh) * | 2017-03-24 | 2017-07-14 | 成都市极米科技有限公司 | 一种wifi连接方法及装置 |
WO2019072132A1 (zh) * | 2017-10-11 | 2019-04-18 | Oppo广东移动通信有限公司 | 人脸识别方法及相关产品 |
CN108319916A (zh) * | 2018-02-01 | 2018-07-24 | 广州市君望机器人自动化有限公司 | 人脸识别方法、装置、机器人及存储介质 |
CN108319480A (zh) * | 2018-02-01 | 2018-07-24 | 微鲸科技有限公司 | 蓝牙服务启动方法、装置及电子设备 |
CN108733429A (zh) * | 2018-05-16 | 2018-11-02 | Oppo广东移动通信有限公司 | ***资源配置的调整方法、装置、存储介质及移动终端 |
CN109145653A (zh) * | 2018-08-01 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据处理方法和装置、电子设备、计算机可读存储介质 |
CN110254393A (zh) * | 2019-06-21 | 2019-09-20 | 一汽轿车股份有限公司 | 一种基于人脸识别技术的汽车自适应控制方法 |
Non-Patent Citations (2)
Title |
---|
SCHOETTNER, M. 等: "Linking and loading in a persistent DSM operating system", PARALLEL AND DISTRIBUTED COMPUTING AND SYSTEMS, 1 January 2000 (2000-01-01) * |
张静;褚丽莉;周影;: "基于OpenCV的ROS平台人脸识别***的研究", no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286107A (zh) * | 2021-12-30 | 2022-04-05 | 武汉华威科智能技术有限公司 | 一种提高实时视频处理效率的方法、***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111258669B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885713B2 (en) | Method, apparatus, and system for generating an AR application and rendering an AR instance | |
CN111258669B (zh) | 人脸识别方法及装置、存储介质 | |
US10569726B2 (en) | In-vehicle system | |
CN107835398A (zh) | 一种基于投屏的定制化导航信息显示方法、装置 | |
CN112959998B (zh) | 一种车载人机交互方法、装置、车辆及电子设备 | |
CN113270093A (zh) | 代理装置、代理***以及非暂时性记录介质 | |
CN111179369B (zh) | 一种基于安卓***的gpu渲染方法及装置 | |
CN113071511A (zh) | 倒车影像显示方法、装置、电子设备及存储介质 | |
CN112440900A (zh) | 一种车辆控制方法、装置、控制设备及汽车 | |
CN107683236A (zh) | 用于管理机动车辆的驾驶模式改变的方法和*** | |
CN113271330A (zh) | 代理装置、代理***以及非暂时性记录介质 | |
CN114756191B (zh) | 一种基于安卓***的视频数据快速显示方法及*** | |
CN114077473A (zh) | 通信方法、装置及*** | |
CN114419566A (zh) | 一种图片处理的方法和装置 | |
CN114461158A (zh) | 一种应用投屏方法、装置、车载终端及可读存储介质 | |
CN113901895B (zh) | 一种车辆的开门动作识别方法、装置以及处理设备 | |
CN115686715A (zh) | 车辆的开机画面显示方法、装置、设备及存储介质 | |
CN115311866B (zh) | 一种车辆联动方法及装置 | |
CN113589730B (zh) | 基于xen的多***的异显控制***、方法及相关产品 | |
CN116755817A (zh) | 显示方法、装置、设备及存储介质 | |
CN117891337A (zh) | 基于车载的云旅游场景构建方法、装置、***、介质及设备 | |
CN111414213A (zh) | 基本输入输出***的开机阶段辨识方法 | |
CN116089292A (zh) | 车载软件***模拟方法、装置、电子设备及存储介质 | |
CN118353936A (zh) | 服务中间件 | |
CN109766144A (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 |