CN110826507B - 人脸检测方法、装置、设备及存储介质 - Google Patents

人脸检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110826507B
CN110826507B CN201911096216.1A CN201911096216A CN110826507B CN 110826507 B CN110826507 B CN 110826507B CN 201911096216 A CN201911096216 A CN 201911096216A CN 110826507 B CN110826507 B CN 110826507B
Authority
CN
China
Prior art keywords
image
deep learning
learning model
target image
face recognition
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
Application number
CN201911096216.1A
Other languages
English (en)
Other versions
CN110826507A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911096216.1A priority Critical patent/CN110826507B/zh
Publication of CN110826507A publication Critical patent/CN110826507A/zh
Application granted granted Critical
Publication of CN110826507B publication Critical patent/CN110826507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种人脸检测方法、装置、设备及存储介质,涉及计算机视觉技术领域。具体实现方案为:由用户终端基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像;采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的。本申请的技术方案,能够针对不同的操作系统,可支持跨平台编程语言的人脸检测操作,从而保证使用任何操作系统的用户终端都可正常使用应用程序中与人脸相关的功能。

Description

人脸检测方法、装置、设备及存储介质
技术领域
本申请涉及图像处理技术领域,具体涉及计算机视觉技术领域,尤其涉及一种人脸检测方法、装置、设备及存储介质。
背景技术
为了吸引更多的用户,当前的拍照或视频类应用程序普遍都增加了与人脸相关的特效功能,例如,人脸美颜、人脸表情触发的动画特效以及换脸等。而这些特效功能都需要涉及人脸检测操作。
目前,用户终端安装的应用程序在执行与人脸相关的特效功能时,可以在用户终端本地执行人脸检测操作,但是由于用户终端操作系统不同,对应的系统原生编程语言也就不同,当应用程序的开发人员设计应用程序的编程语言与用户终端操作系统的原生编程语言不一致时,就会导致用户终端无法兼容跨平台的编程语言来执行人脸检测操作,进而影响应用程序中与人脸相关的特效功能的正常使用。
发明内容
本申请实施例公开一种人脸检测方法、装置、电子设备和介质,可以针对不同的操作系统,可支持跨平台编程语言的人脸检测操作,从而保证用户使用任何操作系统的用户终端都可正常使用应用程序中与人脸相关的特效功能。
第一方面,本申请实施例公开了一种人脸检测方法,由用户终端执行,该方法包括:
基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像;
采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的。
上述申请中的一个实施例具有如下有优点或有益效果:用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户使用任何操作系统的用户终端都可正常使用应用程序中与人脸相关的特效功能。
另外,根据本申请上述实施例的人脸检测方法,还可以具有如下附加的技术特征:
可选的,基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像,包括:
基于用户终端的操作系统,根据终端屏幕的尺寸对从图像采集器获取的原始图像进行缩放和格式转换,得到所述目标图像。
上述申请中的一个实施例具有如下优点或有益效果:本实施例基于用户终端的操作系统,对直接通过图像采集器获取的原始图像进行缩放和格式转换,使得处理后的目标图像满足人脸识别深度学习模型的处理规格,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。
可选的,采用人脸识别深度学习模型对所述目标图像进行处理,包括:
将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型;
其中,所述目标数据类型基于人脸识别深度学习模型的计算量预先确定。
上述申请中的一个实施例具有如下优点或有益效果:本实施例在采用人脸识别深度学习模型处理目标图像时,考虑人脸识别深度学习模型的实际计算量,基于由该实际计算量确定的目标数据类型选择不同的方法执行人脸识别深度学习模型,可提高人脸识别深度学习模型对目标图像进行人脸检测的效率,进一步的降低整个人脸检测过程的耗时,避免用户终端出现卡顿的现象。
可选的,将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型之前,还包括:
根据所述目标图像的尺寸和所述人脸识别深度学习模型的通道数量,确定所述人脸识别深度学习模型的计算量;
根据所述人脸识别深度学习模型的计算量,从候选数据类型中选择所述目标数据类型。
可选的,根据所述人脸识别深度学习模型的计算量,从候选数据类型中选择所述目标数据类型,包括:
若所述人脸识别深度学习模型的计算量大于计算量阈值,则将第一数据类型作为所述目标数据类型;
否则,将第二数据类型作为所述目标数据类型;
其中,所述第一数据类型的位数小于所述第二数据类型的位数。
上述申请中的一个实施例具有如下优点或有益效果:本实施例根据目标图像的尺寸以及人脸识别深度学习模型的通道数量确定该模型处理当前目标图像时对应的计算量,保证了模型计算量确定的准确性。此外若计算量高,选择低位数的目标数据类型执行人脸识别深度学习模型,否则,选择高位数的目标数据类型执行人脸识别深度学习模型。实现了对任何尺寸的目标图像人脸识别深度学习模型都可以快速完成人脸检测操作,降低整个人脸检测过程的耗时,极大的避免了用户终端容易出现卡顿的现象。
可选的,采用人脸识别深度学习模型对所述目标图像进行处理之前,还包括:
基于跨平台编程语言的加速指令,对所述目标图像进行处理确定目标图像特征表示,用于人脸识别深度学习模型对所述目标图像特征表示进行处理。
上述申请中的一个实施例具有如下优点或有益效果:本实施例基于跨平台语言的加速指令,对目标图像进行处理得到人脸识别深度学习模型进行人脸识别所需的目标图像的图像特征表示,加快了图像特征表示确定的过程,也就降低了人脸识别深度学习模型进行人脸检测处理的耗时,进一步避免了用户终端容易出现卡顿的现象。
可选的,对所述目标图像进行处理确定目标图像特征表示,包括:
并发对所述目标图像中像素点进行处理,确定目标图像特征表示。
上述申请中的一个实施例具有如下优点或有益效果:本实施例在确定目标图像特征表示时,采用并发的方式对目标图像中的像素点进行处理,在通过加速指令缩短图像特征表示确定耗时的基础上,进一步的缩短了确定图像特征表示的耗时,进而更好的避免用户终端容易出现卡顿的现象。
可选的,所述跨平台编程语言为C++;
若所述操作系统的原生语言为JAVA,则所述操作系统与所述跨平台编程语言通过桥接内存通信;所述桥接内存基于动态库到内存的访问机制构建;
若所述操作系统的原始语言为ObjectiveC,则所述操作系统与所述跨平台编程语言通过共享内存通信。
上述申请中的一个实施例具有如下优点或有益效果:本实施例针对原生语言为JAVA和ObjectiveC的操作系统,可以分别基于各操作系统对内存通信方式,支持通过跨平台编程语言实现的人脸识别深度学习模型对所述目标图像进行处理的过程。提高了不同操作系统的用户终端对跨平台编程语言的兼容性。
可选的,得到所述目标图像中的人脸检测结果之后,还包括:
对所述目标图像中的人脸图像进行纠偏,得到正面人脸图像;
根据所述正面人脸图像,对其他原始图像进行人脸跟踪。
上述申请中的一个实施例具有如下优点或有益效果:本实施例在针对视频类应用程序对连续图像帧进行人脸检测时,无需对每一帧图像都进行一次人脸检测操作,而是通过当前帧的正面人脸图像对后续图像帧进行人脸跟踪,极大的降低了对整个视频内容进行人脸检测的效率,避免用户终端在对视频内容进行人脸检测时出现卡顿的现象。
第二方面,本申请实施例还提供了一种人脸检测装置,配置于用户终端,该装置包括:
图像处理模块,用于基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像;
人脸检测模块,用于采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的。
上述申请中的一个实施例具有如下有优点或有益效果:用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户终端安装的应用程序可正常使用与人脸相关的特效功能。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请任一实施例所述的人脸检测方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请任一实施例所述的人脸检测方法。
上述申请中的一个实施例具有如下有优点或有益效果:用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户终端安装的应用程序可正常使用与人脸相关的特效功能。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1A是根据本申请第一实施例提供的一种人脸检测方法的流程图;
图1B是根据本申请第一实施例提供的目标图像及其人脸检测结果的效果示意图;
图2是根据本申请第二实施例提供的一种人脸检测方法的流程图;
图3是根据本申请第三实施例提供的一种人脸检测方法的流程图;
图4是根据本申请第四实施例提供的一种人脸检测装置的结构框图;
图5是用来实现本申请实施例提供的人脸检测方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
图1A是根据本申请第一实施例提供的一种人脸检测方法的流程图,图1B是根据本申请第一实施例提供的目标图像及其人脸检测结果的效果示意图。本实施例可适用于用户终端执行人脸检测的情况。尤其适用于用户终端基于跨平台编程语言执行人脸检测的情况。该方法可以由本申请实施例提供的人脸检测装置或用户终端来执行,该装置可以采用软件和/或硬件的方式实现。其中,本申请实施例中的用户终端可以是任何配置有图像采集器,且可支持安装拍照或视频类应用程序的电子设备,例如,可以是智能手机、智能手表、平板电脑等。如图1A所示,本实施例提供的人脸检测方法可以包括:
S101,基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像。
其中,用户终端的操作系统可以是管理和控制计算机硬件与软件资源的计算机程序,是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。可选的,本申请中的用户终端的操作系统可以是广泛应用到智能手机、平板电脑、智能手表等电子设备的嵌入式操作系统,例如,可以包括但不限于:Android、iOS、Symbian、Windows Phone等。可选的,不同的用户终端的操作系统可能不同,例如,不同品牌的智能手机的操作系统可能就不同。该图像采集器是用户终端进行图像处理必不可少的硬件。原始图像可以是指由图像采集器采集的未经任何处理的图像。
可选的,本实施例中用户终端基于自身的操作系统,直接从自身的图像采集器中获取未经任何处理的原始图像;然后通过自身的操作系统,对获取的原始图像进行一系列的图像预处理操作。相比于现有技术用户终端的操作系统通过调用图像处理接口来从图像采集器获取原始图像进行后续图像处理操作相比,本申请的用户终端的操作系统直接从图像采集器获取原始图像,提高了图像获取效率,缩短了针对原始图像进行人脸检测的整体耗时。
可选的,在本实施例中,从图像采集器获取了原始图像后,对该原始图像进行处理得到目标图像的过程可以包括:基于用户终端的操作系统,根据终端屏幕的尺寸对从图像采集器获取的原始图像进行缩放和格式转换,得到所述目标图像。具体的,可以是基于用户终端的操作系统,先采用该操作系统根据用户终端屏幕的尺寸,通过矩阵变换,对原始图像进行第一次缩放操作,使得本次缩放后的图像适配用户终端的屏幕;然后再通过跨平台编程语言采用双线性等多重高性能插值方法对第一次缩放后的图像进行二次缩放,使得二次缩放后的图像可适配后续进行人脸检测的人脸识别深度学习模型的输入图像尺寸。最后将二次缩放后的图像进行格式转换,使得转换后的图像格式满足人脸识别深度学习模型的输入图像格式。
可选的,当用户终端的操作系统不同时,本步骤具体执行对原始图像进行缩放和格式转换所采用的跨平台编程语言以及处理器件也所有区别。具体的:
当用户终端的操作系统为Android操作系统时,Android操作系统对应的原生编程语言为JAVA编程语言,该Android操作系统会基于JAVA编程语言通过相机纹理从图像采集器采集原始图像,其中,该原始图像可以是YUV格式的图像。此时,用户终端的操作系统可以是先基于Android操作系统对应的原生编程语言(即JAVA编程语言),采用图形处理器(Graphics Processing Unit,GPU)执行上述第一次缩放操作(即根据用户终端屏幕的尺寸,通过矩阵变换,对该YUV格式的原始图像进行第一次缩放操作),然后基于跨平台的C++编程语言执行上述第二次缩放操作(即对第一次缩放操作后的图像,通过双线性等多重高性能插值方法进行二次缩放),以及对二次缩放后的YUV格式的图像转换为bgr格式的图像,得到处理后的目标图像。
当用户终端的操作系统为iOS操作系统时,iOS操作系统对应的原生编程语言为ObjectiveC编程语言,该iOS操作系统会基于ObjectiveC编程语言通过数字信号处理(Digital Signal Processing,DSP)从图像采集器采集原始图像,其中,该原始图像可以是YUV格式的图像。此时,用户终端的操作系统可以是先基于iOS操作系统对应的原生编程语言(即ObjectiveC编程语言),采用中央处理器(Central Processing Unit,CPU)执行上述第一次缩放操作,然后基于跨平台的C++编程语言执行上述第二次缩放操作,以及对二次缩放后的YUV格式的图像转换为bgr格式的图像,得到处理后的目标图像。需要说明的是,关于本实施例具体如何针对上述两个不同的操作系统,实现跨平台编程语言之间的通信过程,将在本实施例的后续内容中进行详细介绍。
需要说明的是,本申请实施例对原始图像进行处理过程并不限于对原始图像进行缩放和格式转换处理,还可以包括其他处理操作,如去噪处理等。
S102,采用人脸识别深度学习模型对目标图像进行处理,得到目标图像中的人脸检测结果。
其中,人脸识别深度学习模型是采用大量的样本数据,对初始网络模型进行深度学习训练后得到的,可以进行图像人脸识别的模型。训练该模型的样本数据可以包括大量的包含人脸的图像,以及该图像对应的人脸区域标注结果。需要说明的是,本申请的人脸识别深度学习模型是基于跨平台编程语言实现的,并不是用户终端的操作系统的原生编程语言,例如,该人脸识别深度学习模型可以是采用跨平台的C++编程语言的相关代码编写而成的。
可选的,本实施例在采用人脸识别深度学习模型对目标图像进行处理时,可以是基于跨平台的C++编程语言,将S101处理得到的目标图像作为人脸识别深度学习模型的输入,然后启动执行该人脸识别深度学习模型的相关程序代码,此时该人脸识别深度学习模型就会基于训练的相关算法,对输入的目标图像进行人脸检测操作,并在目标图像中标注出人脸区域,作为该目标图像的人脸检测结果。示例性的,若图1B左边的图像为目标图像,将其输入到人脸识别深度学习模型中,得到的人脸检测结果为图1B右边的图像,处理结果中标处了目标图像中存在的每一个人脸对应的区域,本实施例的技术方案可以实现对多人脸同时进行检测。
需要说明的是,由于人脸识别深度学习模型对应的编程语言可能与用户终端的操作系统对应的编程语言不一致,出现了跨平台的情况,导致现有的用户终端基于操作系统的原生编程语言无法执行人脸识别深度学习模型,只能将目标图像发送至后端服务平台,由后端服务平台基于与人脸识别深度学习模型相同的编程语言,采用人脸识别深度学习模型执行对目标图像的人脸检测操作。而本申请之所以可以在用户终端执行人脸识别深度学习模型,因为本申请的用户终端可支持执行跨平台的编程语言。接下来,将详细介绍本实施例是如何针对不同的操作系统,实现该操作系统的原生编程语言与跨平台编程语言(即C++编程语言)之间的通信。具体的:
若操作系统的原生语言为JAVA,则操作系统与跨平台编程语言通过桥接内存通信;该桥接内存基于动态库到内存的访问机制构建。
具体的,当用户终端的操作系统为Android时,该操作系统的原生编程语言为JAVA,而跨平台的编程语言为C++,此时为了保证两编程语言之间的通信,可以通过构建桥接内存,两者之间通过借助桥接内存进行通信,其中,桥接内存可以是基于动态库到内存的访问机制,创建桥接内存,使JAVA编程语言的内存和C++编程语言的内存可以通过桥接内存相互访问,实现内存通信。可选的,可以通过定义桥接内存的pathname(路径名称)、handle(句柄)和classLoader(类加载器)以编写桥接内存。示例性的,可以为JAVA编程语言和C++编程语言在用户终端上分别分配内存空间,用户终端基于自身操作系统的原生JAVA编程语言对获取的原始图像进行第一次缩放操作后,将第一次缩放后的图像存储在JAVA编程语言对应的内存中,当跨平台的C++编程语言需要对第一次缩放后的图像进行第二次缩放时,可以通过C++编程语言访问自身的内存空间,然后再通过自身的内存空间进入桥接内存,进而借助桥接内存进入JAVA编程语言对应的内存,并从中获取第一次缩放操作后的图像,然后再基于C++编程语言对获取的第一次缩放操作后的图像进行后续的二次缩放操作、格式转换处理得到目标图像,以及采用人脸识别深度学习模型对目标图像进行处理得到人脸检测结果。
若操作系统的原始语言为ObjectiveC,则操作系统与跨平台编程语言通过共享内存通信。
具体的,当用户终端的操作系统为iOS时,该操作系统的原生编程语言为ObjectiveC,而跨平台的编程语言为C++,由于ObjectiveC编程语言和C++编程语言二者从底层技术角度都属于C语言,所以二者可以混编,此时为了保证两编程语言之间的通信,可以为ObjectiveC编程语言和C++编程语言混编构建共享内存。ObjectiveC编程语言和C++编程语言双方共享同一份内存,从而使得运行时的内存占用大大减少,使得在计算资源有限的用户终端上运行较大的网络。示例性的,可以采用ObjectiveC编程语言和C++编程语言混编的方式在用户终端内创建一个共享内存,用户终端基于自身操作系统的原生ObjectiveC编程语言对获取的原始图像进行第一次缩放操作后,将第一次缩放后的图像存储在创建的共享内存中,当跨平台的C++编程语言需要对第一次缩放后的图像进行第二次缩放时,可以通过C++编程语言访问共享内存,并从中获取第一次缩放操作后的图像,然后再基于C++编程语言对获取的第一次缩放操作后的图像进行后续的二次缩放操作、格式转换处理得到目标图像,以及采用人脸识别深度学习模型对目标图像进行处理得到人脸检测结果。
本申请实施例提供的人脸检测方法,用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户使用任何操作系统的用户终端都可正常使用应用程序中与人脸相关的特效功能。
可选的,由于本实施例的人脸检测算法的应用程序还可以是视频类应用程序,若对拍摄的视频进行人脸检测时,如果用户终端对视频中的每一帧图像都重复上述实施例介绍的S101-S102的步骤进行处理,需要耗费大量的时间,而本申请为了保证在用户终端无卡顿的进行人脸检测,可以是在对视频图像的第一帧图像执行完上述S101-S102的操作后,执行对目标图像中的人脸图像进行纠偏,得到正面人脸图像;根据正面人脸图像,对其他原始图像进行人脸跟踪。具体的,由于S102中已经标注出了目标图像中的人脸图像(即目标图像中的人脸区域对应的图像部分),此时可以对人脸图像进行人脸位置、人脸属性(如五官的角度属性、特征属性等)等相关人脸信息的解析,若解析结果为人脸属性的角度是侧面,则依据人脸位置、人脸属性等相关人脸信息,将侧面人脸图像纠偏生成该侧面人脸图像的正面人脸图像。将纠偏后的正脸图像作为基准,采用预先训练的人脸关键点模型,对该视频的后续图像帧进行人脸跟踪。若解析结果为人脸属性为正面,则可以直接基于该人脸图像进行后续图像帧的人脸跟踪。这样设置的好处是极大的降低了对视频图像整体进行人脸检测的效率,进一步的保证了本申请用户终端基于学习模型(如人脸识别深度学习模型和人脸关键点模型)进行人脸检测所需的时间小于终端屏幕的刷新频率,避免用户终端出现卡顿的现象。
第二实施例
图2是根据本申请第二实施例提供的一种人脸检测方法的流程图;本实施例在上述实施例的基础上,进行了进一步的优化,具体给出了如何采用人脸识别深度学习模型对目标图像进行处理的详细情况介绍。具体的,如图2所示,本实施例提供的人脸检测方法可以包括:
S201,基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像。
S202,根据目标图像的尺寸和人脸识别深度学习模型的通道数量,确定人脸识别深度学习模型的计算量。
其中,目标图像的尺寸可以是指目标图像的长和宽。人脸识别深度学习模型的通道数包含人脸识别模型中每一数据处理层的输出通道数和输入通道数。
可选的,在本实施例中,根据目标图像的尺寸和人脸识别深度学习模型的通道数量,确定人脸识别深度学习模型的计算量时,可以是根据目标图像的长和宽、人脸识别深度学习模型中每一数据处理层(如卷积层)的输入通道数和输出通道数据以及该数据处理层的卷积核,按照数据处理层计算量公式,即可得到每一数据处理层的计算量,再将人脸识别深度学习模型中每一数据处理层的计算量求和,即可得到该人脸识别深度学习模型处理该目标图像所需的计算量。其中,目标图像的尺寸越大,对应的人脸识别深度学习模型的计算量就越大;人脸识别深度学习模型的通道数量越多,对应的人脸识别深度学习模型的计算量就越大。
S203,根据人脸识别深度学习模型的计算量,从候选数据类型中选择目标数据类型。
其中,本申请中的数据类型是指执行人脸识别深度学习模型时计算数据对应的精确度位数,例如,可以包括8位整型数据(即int8),或32位浮点数据(即FP32)。候选数据类型可以是为权衡人脸识别深度学习模型计算量和计算精度,预先设置的多种不同位数的数据类型,例如可以包括int8和FP32两种。目标数据类型是针对S202计算的人脸识别深度学习模型的计算量,为该计算量权衡计算精度后,从候选数据类型中选择的适合该计算量的数据类型。
可选的,从候选数据类型中选择目标数据类型的执行方法有很多,对此本实施例不进行限定。可以是预先构建不同计算量数值或范围及其适配数据类型之间的映射关系,在S202确定出人脸识别深度学习模型的计算量后,通查找该映射关系,从候选数据类型中选择该计算量适配的目标数据类型。还可以是判断S202确定出的人脸识别深度学习模型的计算量是否大于预先设置的计算量阈值,若人脸识别深度学习模型的计算量大于计算量阈值,则将第一数据类型作为目标数据类型;否则,将第二数据类型作为目标数据类型;其中,第一数据类型的位数小于所述第二数据类型的位数。示例性的,若候选数据类型中包括第一数据类型和第二数据类型,其中第一数据类型为int8数据类型,第二数据类型为FP32数据类型。此时若S202确定出人脸识别深度学习模型的计算量大于预设的计算量阈值,则说明此时人脸识别深度学习模型的计算量较大,为了避免用户终端的卡顿,需要通过降低模型的计算精度,来保证计算效率,此时需要从候选数据类型中选择位数低的int8数据类型作为目标数据类型。若S202确定出人脸识别深度学习模型的计算量小于或等于预设的计算量阈值,则说明此时人脸识别深度学习模型的计算量不是很大,此时模型的计算量不会影响用户终端的卡顿,因此可以考虑提到模型的计算精度,从候选数据类型中选择位数高的FP32数据类型作为目标数据类型。
需要说明的是,本实施例在设置候选数据类型时,已经考虑的人脸识别深度学习模型的计算精度,可以保证在选择位数最低的数据类型时,人脸识别深度学习模型进行人脸检测也可达到最低精度要求。
S204,将目标图像作为人脸识别深度学习模型的输入,基于目标数据类型执行人脸识别深度学习模型,得到目标图像中的人脸检测结果。
其中,人脸识别深度学习模型是基于跨平台编程语言实现的。目标数据类型是基于人脸识别深度学习模型的计算量预先确定。
可选的,由于S203确定了执行人脸识别深度学习模型时的数据类型的位数,此时将S201处理后的目标图像输入人脸识别深度学习模型后,人脸识别深度学习模型会基于输入的目标图像,通过其内部的各数据处理层,逐层进行相关的数据处理操作,得到目标图像中的人脸检测结果。需要说明的是在人脸识别深度学习模型的各数据处理层进行数据处理前,需要对该层接收到的数据量化为目标数据类型对应的位数,如将接收到的数据量化成in8数据类型或FP32数据类型,然后在进行该数据处理层的相关数据处理操作。
本申请实施例提供的人脸检测方法,用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理得到目标图像后,先根据目标图像的尺寸以及人脸识别深度学习模型的通道数量确定该模型处理当前目标图像时对应的计算量,在采用人脸识别深度学习模型处理目标图像时,考虑人脸识别深度学习模型的实际计算量,基于由该实际计算量确定的目标数据类型选择不同的方法执行人脸识别深度学习模型,本申请的方案可以实现对任何尺寸的目标图像人脸识别深度学习模型都可以在用户终端快速完成人脸检测操作,降低用户终端执行整个人脸检测过程的耗时,极大的避免用户终端容易出现卡顿的现象。
第三实施例
图3是根据本申请第三实施例提供的一种人脸检测方法的流程图;本实施例在上述实施例的基础上,进行了进一步的优化,具体给出了如何进一步降低人脸检测耗时的详细情况介绍。具体的,如图3所示,本实施例提供的人脸检测方法可以包括:
S301,基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像。
S302,基于跨平台编程语言的加速指令,对目标图像进行处理确定目标图像特征表示,用于人脸识别深度学习模型对目标图像特征表示进行处理。
其中,加速指令可以是对信号处理算法进行加速计算的指令,本申请是对确定目标图像特征表示的处理过程进行加速计算。可选的,不同的编程语言对应的加速指令不同,例如,ObjectiveC编程语言对应的是accelerate加速指令,JAVA编程语言对应的是JAVAGPU加速指令,而跨平台的C++编程语言对应的是neon加速指令。目标图像特征表示可以是指目标图像中每一个像素点对应的bgr像素值、像素坐标等像素点信息。其中,目标图像特征表示是实际输入到人脸识别深度学习模型中,供该模型进行人脸检测分析处理的输入数据。
可选的,由于本申请对目标图像进行处理确定目标图像特征表示是基于跨平台的C++编程语言实现的,所以本实施例可以是基于neon加速指令来加快计算目标图像特征表示。可选的,由于目标图像中的像素点个数较多,为了进一步加速确定目标图像特征表示的过程,本实施例可以是并发对目标图像中像素点进行处理,确定目标图像特征表示。具体的,假设通常情况下,一次将目标图像中32bit的数据传入寄存器中,采用跨平台编程语言的加速指令对传输寄存器的一个32bit数据进行确定目标图像表示的处理。而本实施例采用并发对目标图像中像素点进行处理时,可以是一次将目标图像中多个(如4个)32bit的数据传入寄存器中,采用跨平台编程语言的加速指令对传输寄存器的多个32bit数据进行确定目标图像表示的处理,这样设置的好处在于,可以将确定目标图像表示的处理过程提速多倍(如4倍)。
S303,采用人脸识别深度学习模型对目标图像特征表示进行处理,得到目标图像中的人脸检测结果。其中,人脸识别深度学习模型是基于跨平台编程语言实现的。
可选的,将S302确定出的目标图像特征表示作为人脸识别深度学习模型的输入,并执行该人脸识别深度学习模型,得到目标图像中的人脸检测结果。可选的,为了提高人脸识别深度学习模型进行人脸检测的效率,本实施例还可以是基于目标数据类型执行人脸识别深度学习模型,得到目标图像中的人脸检测结果;其中,目标数据类型基于人脸识别深度学习模型的计算量预先确定。具体如何根据目标数据类型执行人脸识别深度学习模型的过程在前述实施例已经进行了介绍,在此不进行赘述。
本申请实施例提供的人脸检测方法,用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理得到目标图像后,基于跨平台编程语言的加速指令,并发对目标图像进行处理确定用于人脸识别深度学习模型进行人脸检测处理的目标图像特征表示。极大的加快了图像特征表示确定的过程,进而也就降低了人脸识别深度学习模型进行人脸检测处理的耗时,可进一步避免用户终端容易出现卡顿的现象。
第四实施例
图4是根据本申请第四实施例提供的一种人脸检测装置的结构示意图,该装置可执行本申请任意实施例所提供的人脸检测方法,具备执行方法相应的功能模块和有益效果。可选的,该装置可以采用软件和/或硬件的方式实现,并可配置在用户终端中。如图4所示,该人脸检测装置400可以包括:
图像处理模块401,用于基于用户终端的操作系统,对从图像采集器获取的原始图像进行处理得到目标图像;
人脸检测模块402,用于采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的。
本申请实施例提供的人脸检测装置,用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户使用任何操作系统的用户终端都可正常使用应用程序中与人脸相关的特效功能。
进一步的,上述图像处理模块401具体用于:基于用户终端的操作系统,根据终端屏幕的尺寸对从图像采集器获取的原始图像进行缩放和格式转换,得到所述目标图像。
进一步的,上述人脸检测模块402具体用于:将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型;其中,所述目标数据类型基于人脸识别深度学习模型的计算量预先确定。
进一步的,上述装置还包括:
计算量确定模块,用于根据所述目标图像的尺寸和所述人脸识别深度学习模型的通道数量,确定所述人脸识别深度学习模型的计算量;
数据类型确定模块,用于根据所述人脸识别深度学习模型的计算量,从候选数据类型中选择所述目标数据类型。
进一步的,上述数据类型确定模块具体用于:
若所述人脸识别深度学习模型的计算量大于计算量阈值,则将第一数据类型作为所述目标数据类型;
否则,将第二数据类型作为所述目标数据类型;
其中,所述第一数据类型的位数小于所述第二数据类型的位数。
进一步的,上述装置还包括:
图像特征表示确定模块,用于基于跨平台编程语言的加速指令,对所述目标图像进行处理确定目标图像特征表示,用于人脸识别深度学习模型对所述目标图像特征表示进行处理。
进一步的,上述图像特征表示确定模块具体用于:
并发对所述目标图像中像素点进行处理,确定目标图像特征表示。
进一步的,所述跨平台编程语言为C++;
若所述操作系统的原生语言为JAVA,则所述操作系统与所述跨平台编程语言通过桥接内存通信;所述桥接内存基于动态库到内存的访问机制构建;
若所述操作系统的原始语言为ObjectiveC,则所述操作系统与所述跨平台编程语言通过共享内存通信。
进一步的,上述装置还包括:
图像纠偏模块,用于对所述目标图像中的人脸图像进行纠偏,得到正面人脸图像;
人脸跟踪模块,用于根据所述正面人脸图像,对其他原始图像进行人脸跟踪。
第五实施例
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是用于实现本申请实施例的人脸检测的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的人脸检测方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的人脸检测方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的人脸检测的方法对应的程序指令/模块(例如,附图4所示的图像处理模块401和人脸检测模块402)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的人脸检测方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于实现人脸检测方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至用于实现人脸检测方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现人脸检测方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与用于实现人脸检测方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,用户终端基于其自身的操作系统,从图像采集器中直接获取原始图像进行处理后,由跨平台编程语言实现的人脸识别深度学习模型对处理后的目标图像进行人脸检测。本实施例直接从终端的硬件中获取原始图像进行处理,而非调用图像处理接口获取图像,降低了图像处理过程的耗时,避免了用户终端容易出现卡顿的现象。此外,由于人脸识别深度学习模型基于跨平台编程语言实现的,所以本实施例的方案可支持针对不同的操作系统进行跨平台编程语言的人脸检测操作,提高了用户终端对跨平台编程语言的兼容性,从而保证用户终端安装的应用程序可正常使用与人脸相关的特效功能。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种人脸检测方法,其特征在于,由用户终端执行,所述方法包括:
基于用户终端的操作系统,从所述用户终端的图像采集器中获取原始图像,并通过所述操作系统对获取的原始图像进行图像预处理操作,得到目标图像;
采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的;
其中,所述操作系统的原生编程语言与所述跨平台编程语言不同,所述跨平台编程语言为C++;
若所述操作系统的原生语言为JAVA,则所述操作系统与所述跨平台编程语言通过桥接内存通信;所述桥接内存基于动态库到内存的访问机制构建;
若所述操作系统的原始语言为ObjectiveC,则所述操作系统与所述跨平台编程语言通过共享内存通信;
其中,采用人脸识别深度学习模型对所述目标图像进行处理,包括:
将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型;
其中,所述目标数据类型基于人脸识别深度学习模型的计算量预先确定。
2.根据权利要求1所述的方法,其特征在于,包括:
基于用户终端的操作系统,根据终端屏幕的尺寸对从图像采集器获取的原始图像进行缩放和格式转换,得到所述目标图像。
3.根据权利要求1所述的方法,其特征在于,将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型之前,还包括:
根据所述目标图像的尺寸和所述人脸识别深度学习模型的通道数量,确定所述人脸识别深度学习模型的计算量;
根据所述人脸识别深度学习模型的计算量,从候选数据类型中选择所述目标数据类型。
4.根据权利要求3所述的方法,其特征在于,根据所述人脸识别深度学习模型的计算量,从候选数据类型中选择所述目标数据类型,包括:
若所述人脸识别深度学习模型的计算量大于计算量阈值,则将第一数据类型作为所述目标数据类型;
否则,将第二数据类型作为所述目标数据类型;
其中,所述第一数据类型的位数小于所述第二数据类型的位数。
5.根据权利要求1所述的方法,其特征在于,采用人脸识别深度学习模型对所述目标图像进行处理之前,还包括:
基于跨平台编程语言的加速指令,对所述目标图像进行处理确定目标图像特征表示,用于人脸识别深度学习模型对所述目标图像特征表示进行处理。
6.根据权利要求5所述的方法,其特征在于,对所述目标图像进行处理确定目标图像特征表示,包括:
并发对所述目标图像中像素点进行处理,确定目标图像特征表示。
7.根据权利要求1所述的方法,其特征在于,得到所述目标图像中的人脸检测结果之后,还包括:
对所述目标图像中的人脸图像进行纠偏,得到正面人脸图像;
根据所述正面人脸图像,对其他原始图像进行人脸跟踪。
8.一种人脸检测装置,其特征在于,配置于用户终端,所述装置包括:
图像处理模块,基于用户终端的操作系统,从所述用户终端的图像采集器中获取原始图像,并通过所述操作系统对获取的原始图像进行图像预处理操作,得到目标图像;
人脸检测模块,用于采用人脸识别深度学习模型对所述目标图像进行处理,得到所述目标图像中的人脸检测结果;其中所述人脸识别深度学习模型是基于跨平台编程语言实现的;
其中,所述操作系统的原生编程语言与所述跨平台编程语言不同,所述跨平台编程语言为C++;
若所述操作系统的原生语言为JAVA,则所述操作系统与所述跨平台编程语言通过桥接内存通信;所述桥接内存基于动态库到内存的访问机制构建;
若所述操作系统的原始语言为ObjectiveC,则所述操作系统与所述跨平台编程语言通过共享内存通信;
所述人脸检测模块具体用于:将所述目标图像作为所述人脸识别深度学习模型的输入,基于目标数据类型执行所述人脸识别深度学习模型;其中,所述目标数据类型基于人脸识别深度学习模型的计算量预先确定。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的人脸检测方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的人脸检测方法。
CN201911096216.1A 2019-11-11 2019-11-11 人脸检测方法、装置、设备及存储介质 Active CN110826507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911096216.1A CN110826507B (zh) 2019-11-11 2019-11-11 人脸检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911096216.1A CN110826507B (zh) 2019-11-11 2019-11-11 人脸检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110826507A CN110826507A (zh) 2020-02-21
CN110826507B true CN110826507B (zh) 2022-08-23

Family

ID=69554025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911096216.1A Active CN110826507B (zh) 2019-11-11 2019-11-11 人脸检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110826507B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507944B (zh) * 2020-03-31 2023-07-04 北京百度网讯科技有限公司 皮肤光滑度的确定方法、装置和电子设备
CN111680597B (zh) * 2020-05-29 2023-09-01 北京百度网讯科技有限公司 人脸识别模型处理方法、装置、设备和存储介质
CN111854963A (zh) * 2020-06-11 2020-10-30 浙江大华技术股份有限公司 温度检测的方法、装置、设备和计算机设备
CN111736920A (zh) * 2020-06-24 2020-10-02 深圳壹账通智能科技有限公司 基于人工智能的图像处理方法、装置、设备及存储介质
CN111783643B (zh) * 2020-06-30 2023-09-01 北京百度网讯科技有限公司 人脸识别的方法、装置、电子设备及存储介质
CN111783644B (zh) * 2020-06-30 2023-07-14 百度在线网络技术(北京)有限公司 检测方法、装置、设备和计算机存储介质
CN111931944A (zh) * 2020-07-14 2020-11-13 东云睿连(武汉)计算技术有限公司 一种深度学习向导装置和方法
CN112929675B (zh) * 2021-01-27 2023-05-19 上海淇玥信息技术有限公司 一种图像资源的压缩方法、装置和电子设备
CN116541313B (zh) * 2023-07-07 2023-09-19 天津金城银行股份有限公司 一种人脸核身方法、装置及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941506A (zh) * 2017-05-17 2017-07-11 北京京东尚科信息技术有限公司 基于生物特征的数据处理方法和装置
CN107247940A (zh) * 2017-06-18 2017-10-13 天津大学 一种面部识别和聚类的联合嵌入方法
CN107465810A (zh) * 2017-07-11 2017-12-12 广东欧珀移动通信有限公司 数据控制方法及相关产品
CN107623738A (zh) * 2017-09-28 2018-01-23 中南大学 一种面向安卓应用的WebView桥接口污点映射及分析方法
CN108416422A (zh) * 2017-12-29 2018-08-17 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941506A (zh) * 2017-05-17 2017-07-11 北京京东尚科信息技术有限公司 基于生物特征的数据处理方法和装置
CN107247940A (zh) * 2017-06-18 2017-10-13 天津大学 一种面部识别和聚类的联合嵌入方法
CN107465810A (zh) * 2017-07-11 2017-12-12 广东欧珀移动通信有限公司 数据控制方法及相关产品
CN107623738A (zh) * 2017-09-28 2018-01-23 中南大学 一种面向安卓应用的WebView桥接口污点映射及分析方法
CN108416422A (zh) * 2017-12-29 2018-08-17 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置

Also Published As

Publication number Publication date
CN110826507A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN110826507B (zh) 人脸检测方法、装置、设备及存储介质
CN111524166B (zh) 视频帧的处理方法和装置
CN111079945B (zh) 端到端模型的训练方法及装置
CN111897619A (zh) 浏览器页面的显示方法、装置、电子设备及存储介质
CN114187459A (zh) 目标检测模型的训练方法、装置、电子设备以及存储介质
CN111241810A (zh) 标点预测方法及装置
CN112529180A (zh) 模型蒸馏的方法和装置
CN108290071B (zh) 用于在预测游戏者的意图的情况下确定用于执行绘制的资源分配的介质、装置、系统和方法
CN113628311B (zh) 图像渲染方法、图像渲染装置、电子设备以及存储介质
WO2022022729A1 (zh) 渲染控制方法、设备以及系统
EP3828733B1 (en) Visual search method, visual search device and electrical device
CN112966592A (zh) 手部关键点检测方法、装置、设备和介质
CN111027387A (zh) 人数评估及评估模型获取方法、装置及存储介质
US20220113943A1 (en) Method for multiply-add operations for neural network
CN111507944B (zh) 皮肤光滑度的确定方法、装置和电子设备
US20210209471A1 (en) Processor memory optimization method and apparatus for deep learning training tasks
CN115017922A (zh) 图片翻译的方法、装置、电子设备及可读存储介质
CN110782029B (zh) 神经网络预测方法、装置、电子设备和自动驾驶系统
CN114116418A (zh) 信息处理方法及装置、计算机存储介质、电子设备
CN112565605A (zh) 图像显示方法、装置和电子设备
CN112733879A (zh) 针对不同场景的模型蒸馏方法和装置
CN111666969B (zh) 计算图文相似度的方法、装置、电子设备和可读存储介质
CN111562962B (zh) 画面渲染方法、装置、电子设备和存储介质
CN114398131B (zh) 信息展示方法、装置、设备、介质及程序产品
CN111930356B (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