CN111311634B - 一种人脸图像检测方法、装置及设备 - Google Patents
一种人脸图像检测方法、装置及设备 Download PDFInfo
- Publication number
- CN111311634B CN111311634B CN202010076844.XA CN202010076844A CN111311634B CN 111311634 B CN111311634 B CN 111311634B CN 202010076844 A CN202010076844 A CN 202010076844A CN 111311634 B CN111311634 B CN 111311634B
- Authority
- CN
- China
- Prior art keywords
- image
- face
- neural network
- sub
- network model
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 338
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 163
- 238000000034 method Methods 0.000 claims description 77
- 238000012549 training Methods 0.000 claims description 65
- 238000003062 neural network model Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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
Abstract
本说明书实施例公开了一种人脸图像检测方法、装置及设备。该方案包括:根据上一帧图像中存在人脸图像的第一人脸区域的位置信息,从当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;并利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种人脸图像检测方法、装置及设备。
背景技术
随着科技的发展,越来越多的场景开始出现对人脸图像进行检测的需求。例如,在对用户进行身份验证的场景,或者,对视频中的用户行动轨迹进行追踪的场景,以及监控是否有人入侵指定地点的场景等。由于这些场景通常需要对待检测图像中的人脸图像进行精确识别,因此,目前采用的人脸图像检测方法通常较为复杂,这不仅会消耗大量的计算资源,还会对人脸图像检测效率产生影响。
综上所述,如何提供一种检测效率较高且准确性也较好的人脸图像检测方法已成为亟需解决的问题。
发明内容
有鉴于此,本说明书一个或多个实施例提供了一种人脸图像检测方法、装置及设备,用于在保证人脸图像检测结果的准确性的基础上,去提高人脸图像检测方法的运行效率。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种人脸图像检测方法,包括:
获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;
根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
本说明书实施例提供的一种人脸图像检测方法,包括:
获取待检测帧序列中的一帧图像,得到第一帧图像;
利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;
获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
本说明书实施例提供的一种人脸图像检测模型的训练方法,包括:
获取样本图像集合;
对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
利用所述预测图像集合对轻量化卷积神经网络模型进行训练。
本说明书实施例提供的一种人脸图像检测装置,包括:
第一获取模块,用于获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;
第一子图像提取模块,用于根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
第一检测模块,用于利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
本说明书实施例提供的一种人脸图像检测装置,包括:
第一获取模块,用于获取待检测帧序列中的一帧图像,得到第一帧图像;
第一检测模块,用于利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;
第二获取模块,用于获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
子图像提取模块,用于针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
第二检测模块,用于利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
本说明书实施例提供的一种人脸图像检测模型的训练装置,包括:
获取模块,用于获取样本图像集合;
预测图像集合生成模块,用于对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
训练模块,用于利用预测图像集合对轻量化卷积神经网络模型进行训练。
本说明书实施例提供的一种人脸图像检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;
根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
本说明书实施例提供的一种人脸图像检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测帧序列中的一帧图像,得到第一帧图像;
利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;
获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
本说明书实施例提供的一种人脸图像检测模型的训练设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取样本图像集合;
对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
利用所述预测图像集合对轻量化卷积神经网络模型进行训练。
本说明书一个实施例实现了能够达到以下有益效果:
通过根据上一帧图像中存在人脸图像的第一人脸区域的位置信息,从当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域,并利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像,以实现对当前帧图像的人脸检测。由于同一人脸图像在连续两帧图像中的显示区域之间的差异性较小,因此,该方案通过对当前帧图像中的第一子图像进行人脸检测得到的人脸检测结果的准确性较好。同时,由于无需对当前帧图像中的全部区域进行检测,减少了轻量化卷积神经网络模型所需处理的数据量,从而有利于提升人脸图像检测方法的运行效率。且由于轻量化卷积神经网络模型结构较为简单、算子数量较少、运算速度较快,从而可以进一步提升人脸图像检测方法的运行效率。
附图说明
此处所说明的附图用来提供对本说明书一个或多个实施例的进一步理解,构成本说明书一个或多个实施例的一部分,本说明书的示意性实施例及其说明用于解释本说明书一个或多个实施例,并不构成对本说明书一个或多个实施例的不当限定。在附图中:
图1为本说明书实施例提供的一种人脸图像检测方法的流程示意图;
图2为本说明书实施例提供的一种当前帧图像中的第一子图像的示意图;
图3为本说明书实施例提供的另一种人脸图像检测方法的流程示意图;
图4为本说明书实施例提供的一种人脸图像检测模型的训练方法的流程示意图;
图5为本说明实施例提供的一种从样本图像中确定预测人脸图像的示意图;
图6为本说明书实施例提供的对应于图1的一种人脸图像检测装置的结构示意图;
图7为本说明书实施例提供的对应于图3的一种人脸图像检测装置的结构示意图;
图8为本说明书实施例提供的对应于图4的一种人脸图像检测模型的训练装置的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
现有技术中,人脸图像检测是指对于任意一幅给定的图像,采用一定的策略对该图像进行搜索,以确定该图像中是否含有人脸图像。若是,则返回表示存在人脸图像的分类结果以及该图像中的人脸图像的位置信息。目前,在对视频中的人脸图像进行检测时,通常可以采用多任务级联卷积神经网络(英文缩写:MTCNN)实现。由于多任务级联卷积神经网络结构较为复杂、包含的卷积算子也较多,因此,利用多任务级联卷积神经网络对待检测图像进行人脸检测时的耗时较长。从而使得利用多任务级联卷积神经网络对视频中的人脸图像进行检测时,时延较大,无法满足对视频帧中的人脸图像进行检测的实时性需求。
为了解决现有技术中的缺陷,本方案给出了以下实施例:
图1为本说明书实施例提供的一种人脸图像检测方法的流程示意图。从程序角度而言,流程的执行主体可以为设备,或者搭载于设备中的程序。
如图1所示,该流程可以包括以下步骤:
步骤102:获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像。
在本说明书实施例中,当前帧图像与上一帧图像为待检测视频中的两帧连续的图像,上一帧图像的时序早于当前帧图像。若上一帧图像中存在已被识别的包含有一张用户人脸的区域(即第一人脸区域),则可以采用本说明书实施例中提供的人脸图像检测方法对当前帧图像进行人脸检测。
在本说明书实施例中,根据获取的上一帧图像中的第一人脸区域的位置信息,可以确定出该第一人脸区域在该上一帧图像中的显示区域。在本说明书实施例中,对于第一人脸区域的位置信息的表现形式并不做具体限定,只需可以用于确定第一人脸区域与上一帧图像的相对位置关系即可。
步骤104:根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域。
在本说明书实施例中,由于同一人脸图像在视频中的连续两帧图像中的显示位置之间的差异性较小,因此,可以在确定一个人脸图像在上一帧图像中的显示区域(即第一人脸区域)后,通过对当前帧图像中与第一人脸区域位置相同或扩大一定范围后的区域内的图像(即第一子图像)进行人脸检测,即可以判断当前帧图像中是否包含该人脸图像。
在本说明书实施例中,步骤104具体可以包括:根据所述第一人脸区域的位置信息,确定对所述第一人脸区域放大预设倍数后得到的目标区域的位置信息,所述目标区域的面积与所述第一人脸区域的面积之比为所述预设倍数;根据所述目标区域的位置信息,从所述当前帧图像中提取所述目标区域内的图像,得到第一子图像。其中,第一子图像的显示区域的中心点与第一人脸区域的中心点可以是重合的。
在实际应用,可以认为当前帧图像与上一帧图像位于同一坐标系内,且当前帧图像在该坐标系中的显示区域与上一帧图像在该坐标系中的显示区域相同。图2为本说明书实施例提供的一种当前帧图像中的第一子图像的示意图,如图2所示,假定,当前帧图像201的显示区域表示为:左上角坐标(0,3),左下角坐标(4,0)。上一帧图像中的第一人脸区域201的位置信息表示为:左上角坐标(1,2),右下角坐标(2,1)。若预设倍数为1.44,则对第一人脸区域放大1.44倍后得到的目标区域的位置信息可以表示为:左上角坐标(0.9,2.1),右下角坐标(2.1,0.9)。根据该目标区域的位置信息,从当前帧图像中提取的第一子图像为区域203中的图像。
步骤106:利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
在本说明书实施例中,轻量化卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络。相较于卷积神经网络模型(英文简写:CNN)而言,轻量化卷积神经网络模型的模型参数量更少,计算复杂度更低,从而使得轻量化卷积神经网络模型的运行效率较高。具体的,轻量化卷积神经网络模型中应至少包含有多个卷积层,在实际应用中,轻量化卷积神经网络模型还可以包含池化层和/或全连接层。
在本说明书实施例中,轻量化卷积神经网络模型可以用于检测第一子图像中是否存在人脸图像,若存在,轻量化卷积神经网络模型还可以用于确定该人脸图像在第一子图像中的显示区域的位置信息,以及第一子图像中的人脸图像的人脸面部轮廓关键点(例如,双眼、鼻子、嘴角)的位置信息。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
在本说明书实施例中,由于同一人脸图像在连续两帧图像中的显示区域之间的差异性较小,因此,图1中的方法,通过从当前帧图像中提取覆盖了上一帧图像中存在一个人脸图像的区域内的图像(即第一子图像),并对当前帧图像中的各个第一子图像进行人脸检测,即相当于对当前帧图像的全部区域进行了人脸检测,在保证人脸检测准确性的基础上,减少了轻量化卷积神经网络模型所需处理的数据量,从而有利于提升人脸图像检测效率。且由于轻量化卷积神经网络模型结构较为简单、算子数量较少、运算速度较快,从而可以进一步提升人脸图像检测效率。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
人脸跟踪是指在检测到视频帧中存在人脸图像的前提下,在后续视频帧中继续捕获该人脸图像的位置。而在进行人脸跟踪的应用场景中,不仅需要检测当前帧图像中是否存在人脸图像,还需要确定当前帧图像中的人脸图像与上一帧图像中的已识别人脸图像之前的对应关系,从而实现人脸跟踪。本说明书实施例中给出了多种针对人脸跟踪的实现方式。
实现方式一
步骤106之后,还可以包括:
当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像之间的第一相似度。
判断所述第一相似度是否大于或等于第一阈值,得到第一判断结果。
当所述第一判断结果表示所述第一相似度大于或等于所述第一阈值时,将所述第一子图像中的人脸图像的标识确定为所述第一人脸区域中的人脸图像的第一标识。
在本实现方式中,可以先获取上一帧图像中的第一人脸区域内的人脸图像的第一特征值,再获取当前帧图像中的第一子图像中的人脸图像的第二特征值,根据第一特征值与第二特征值,计算所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像之间的第一相似度。若该第一相似度大于第一阈值,则表示该第一子图像中的人脸图像与该第一人脸区域中的人脸图像为同一用户的人脸图像。从而,可以将第一人脸区域中的人脸图像的第一标识作为第一子图像中的人脸图像的标识。
在实际应用中,若上一帧图像中的第一人脸区域是利用轻量化卷积神经网络模型检测得到的,则可以在轻量化卷积神经网络模型检测得到该第一人脸区域时,将该轻量化卷积神经网络模型的最后一个卷积层的输出特征或最后一个全连接层的输出特征作为第一特征值。并在轻量化卷积神经网络模型检测得到第一子图像中存在人脸图像时,将该轻量化卷积神经网络模型的最后一个卷积层的输出特征或最后一个全连接层的输出特征作为第二特征值。
上述人脸图像的特征值的提取方式,无需利用其他人脸特征提取模型再对当前帧图像及上一帧图像进行处理,即可得到所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像的特征值,简化了确定第一相似度时的计算步骤,有利于提升人脸跟踪速度,以满足对人脸跟踪的实时性的需求。且利用该人脸特征值提取方式得到的人脸图像的特征值的准确性较高,进而可以提升计算得到的第一子图像中的人脸图像与第一人脸区域中的人脸图像之间的第一相似度的准确性,以保证生成的人脸跟踪结果的准确性及有效性。
实现方式二
步骤106之后,还可以包括:
当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与各个已识别人脸图像之间的第二相似度;所述已识别人脸图像是基于对所述当前帧图像之前的图像进行人脸检测而得到的。
确定大于或等于所述第一阈值的所述第二相似度对应的已识别人脸图像的第二标识。
将所述第一子图像中的人脸图像的标识确定为所述第二标识。
在本实现方式中,可以基于图1中的方法,利用轻量化卷积神经网络模型对当前帧图像之前的多帧图像进行人脸检测,针对每个已识别人脸图像,对当前帧图像之前的多帧图像中的与该已识别人脸图像对应的人脸图像的特征值进行聚类处理,将聚类中心确定为该已识别人脸图像的平均特征值。其中,各帧图像中的与该已识别人脸图像对应的人脸图像的特征值,可以通过提取轻量化卷积神经网络模型的最后一个卷积层的输出特征或最后一个全连接层的输出特征而得到。
在本实现方式中,可以在轻量化卷积神经网络模型检测得到该第一子图像中存在人脸图像时,将该轻量化卷积神经网络模型的最后一个卷积层的输出特征或最后一个全连接层的输出特征作为该第一子图像中的人脸图像的第一特征值。通过根据该第一特征值与各个已识别人脸图像的平均特征值,计算得到第一子图像中的人脸图像与各个已识别人脸图像之间的第二相似度。基于已识别人脸图像的平均特征值计算得到的第二相似度的准确性较高,有利于提升人脸跟踪结果的准确性。
在本实现方式中,通过将第一子图像中的人脸图像与多个已识别人脸图像进行比对,可以降低因用户移动距离较大而导致的人脸跟踪失败的几率,从而有利于提升人脸跟踪方法的准确性及有效性。
在本说明实施例中,在对视频帧中的用户进行人脸检测或人脸跟踪时,若视频帧中出现了新增用户,基于图1中的方法存在无法及时检测到新增用户的风险。因此,可以预先指定可以采用轻量化卷积神经网络模型连续检测的图像的最大数量(即第二阈值)。当利用轻量化卷积神经网络模型连续检测的图像的数量达到第二阈值时,应采用单阶段目标检测模型对当前帧图像的下一帧图像进行全面的人脸检测,以保证对人脸检测或人脸跟踪的准确性。
在本说明书实施例中,当确定所述第一子图像中的人脸图像的标识之后,还可以包括:
获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量,所述待检测帧序列中包含所述当前帧图像及所述上一帧图像。
判断所述连续检测的待检测帧序列中的图像的数量是否达到第二阈值,得到第二判断结果。
当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量未达到所述第二阈值时,利用所述轻量化卷积神经网络模型对所述当前帧图像的下一帧图像进行人脸检测。
当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量达到所述第二阈值时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
在本说明书实施例中,待检测帧序列中的各个图像即为视频中的各帧图像。由于每秒视频中可能包含数十帧图像,因此,可以根据待检测帧序列对应的视频的帧速率以及实际需求,去设置第二阈值。例如,当待检测帧序列对应的视频的帧速率为30帧/秒时,第二阈值可以设置为15帧。即最多利用轻量化卷积神经网络模型对0.5秒的视频中的人脸进行检测或跟踪,就需要利用单阶段目标检测模型对后续视频帧进行一次全面的人脸检测。以提升人脸检测、跟踪方法的准确性及有效性。
在本说明书实施例中,单阶段(one stage)目标检测模型可以用于确定待检测图像中是否存在人脸图像,以及确定待检测图像中的各个人脸图像的所在区域的位置信息,和各个人脸图像的人脸面部轮廓关键点(例如,双眼、鼻子、嘴角)的位置信息。在实际应用中,单阶段目标检测模型可以采用SSD(Single Shot Detector)模型、DetectorNet、YOLO系列模型或RetinaFace等模型实现。相较于二阶段(two-stage)目标检测模型(例如,R-CNN,FastR-CNN等)而言,单阶段目标检测模型的人脸检测速度更快。但是,该单阶段目标检测模型的运行效率、检测速度等均低于轻量化卷积神经网络模型。
在本说明书实施例中,在模型训练阶段,可以采用单阶段目标检测模型对样本图像进行人脸检测,基于该样本图像,可以得到多张包含单个人脸图像的子图像,从而实现对单阶段目标检测模型的训练。再利用上述多张包含单个人脸图像的子图像对轻量化卷积神经网络模型进行训练,以生成训练后的轻量化卷积神经网络模型。
由于在模型训练过程中,使用了单阶段目标检测模型针对图像样本预测出的各种人脸分布结果对轻量化卷积神经网络模型进行训练,使得轻量化卷积神经网络模型的输入样本更均衡,从而有利于提升训练得到的轻量化卷积神经网络模型的人脸检测准确性。且由于这种模型训练方法属于端到端训练,训练效率较高,从而有利于降低模型训练耗时及成本。
在本说明实施例中,当步骤106生成的检测结果表示所述第一子图像中不存在人脸图像时,意为上一帧图像中的一个被识别的用户人脸未出现在当前帧图像中的指定位置处,此时,为提升人脸检测准确性,可以利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,以提升人脸检测结果的准确性。其中,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
在本说明实施例中,给出了多种获取当前帧图像的上一帧图像中的第一人脸区域的位置信息的实现方式。
实现方式一
步骤102:获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,具体可以包括:
获取当前帧图像的上一帧图像。
利用单阶段目标检测模型对所述上一帧图像进行人脸检测,确定所述上一帧图像中的第一人脸区域的位置信息;所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
在本实现方式中,若利用单阶段目标检测模型对上一帧图像进行人脸检测后,检测出了至少一个人脸图像,则可以将单阶段目标检测模型输出的各个人脸框的位置信息作为各个第一人脸区域的位置信息。从而可以根据图1中的人脸检测方法,去利用轻量化卷积神经网络模型对该上一帧图像的下一帧图像(即当前帧图像)进行人脸检测。
由于单阶段目标检测模型生成的人脸检测结果的准确性较好,且根据该单阶段目标检测模型的输出训练得到的轻量化卷积神经网络模型的检测准确性也较好,同时,该轻量化卷积神经网络模型的检测速度高于该单阶段目标检测模型的检测速度,因此,当利用轻量化卷积神经网络模型,根据单阶段目标检测模型生成的第一人脸区域的位置信息,对当前帧图像及后续图像进行人脸检测、跟踪时,可以在保证人脸检测结果的准确性的基础上,提升人脸检测、跟踪的实时性。
实现方式二
在执行步骤102之前,还可以包括:
获取当前帧图像之前的第二帧图像中的第二人脸区域的位置信息,所述第二人脸区域内存在一个人脸图像。
根据所述第二人脸区域的位置信息,从所述当前帧图像的上一帧图像中提取第二子图像,所述第二子图像在所述上一帧图像中的显示区域覆盖所述第二人脸区域。
利用轻量化卷积神经网络模型对所述第二子图像进行人脸检测,得到第一人脸区域。
步骤102:获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,具体可以包括:
根据所述第一人脸区域在所述第二子图像中的位置信息以及所述第二子图像在所述上一帧图像中的位置信息,确定所述第一人脸区域在所述上一帧图像中的位置信息。
在本实现方式中,由于可以利用轻量化卷神经网络模型对待检测帧序列中的连续的多帧图像进行人脸检测,若上一帧图像是基于图1中的人脸检测方法,利用轻量化卷神经网络模型进行人脸检测的,且该轻量化卷神经网络模型检测到上一帧图像中的第二子图像中存在人脸图像,则可以根据轻量化卷神经网络模型输出的第二子图像中的人脸框的位置信息(即所述第一人脸区域在所述第二子图像中的位置信息),以及第二子图像在所述上一帧图像中的位置信息,确定所述第一人脸区域在所述上一帧图像中的位置信息。以便于后续根据该第一人脸区域在所述上一帧图像中的位置信息,利用轻量化卷神经网络模型对当前帧图像进行快速的人脸检测、追踪。
在本说明书实施例中,由于根据各个第一人脸区域的位置信息,从当前帧中提取的各个第一子图像的分辨率可能不同,为便于利用轻量化卷积神经网络模型对各个第一子图像进行人脸检测,图1中的人脸检测方法在步骤104之前,还可以包括:将所述第一子图像的分辨率转化为预设分辨率,得到转化后第一子图像。步骤104,具体可以包括:利用轻量化卷积神经网络模型检测所述转化后第一子图像中是否存在人脸图像。在本说明书实施例中,预设分辨率可以根据实际需求而设置,例如,X*Y*3,其中,X表示水平方向的像素数,Y表示垂直方向的的像素数,3表示转化后第一子图像可以为彩色图像。本说明书实施例中,对与X、Y的数值不做具体限定。
目前,多任务级联卷积神经网络(英文缩写:MTCNN)由ProposalNetwork、RefineNetwork及OutputNetwork等三个子网络构成,在进行模型训练时,需先训练好ProposalNetwork后,再去训练Refine Network,最后训练Output Network,这种模型训练方法属于非端到端训练,不仅模型训练耗时较长,还会影响ProposalNetwork、RefineNetwork及OutputNetwork之间的关联性,从而使得最终训练得到的多任务级联卷积神经网络在进行人脸检测时生成的人脸检测结果的准确性不足。
图3为本说明书实施例提供的另一种人脸图像检测方法的流程示意图。从程序角度而言,流程的执行主体可以为服务器,或者搭载于服务器中的程序。如图3所示,该流程可以包括以下步骤:
步骤302:获取待检测帧序列中的一帧图像,得到第一帧图像。
步骤304:利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型。
在本说明书实施例中,所述第一神经网络模型可以采用基于卷积神经网络的多目标检测模型实现,具体的,所述第一神经网络模型可以采用单阶段目标检测模型及多阶段目标检测模型实现,由于单阶段目标检测模型相较于多阶段目标检测模型的人脸识别效率更高,因此,可以使用单阶段目标检测模型作为第一神经网络模型以提升人脸检测效率。其中,单阶段目标检测模型可以采用SSD(Single Shot Detector)模型、DetectorNet、YOLO系列模型或RetinaFace等模型实现。
在本说明书实施例中,利用第一神经网络模型对第一帧图像进行人脸检得到的人脸区域内通常只包含一个人脸图像(即存在一张用户人脸)。根据所述人脸区域的位置信息,可以确定出该人脸区域在第一帧图像中的显示区域。在本说明书实施例中,对于该人脸区域的位置信息的表现形式并不做具体限定,只需可以用于确定该人脸区域在第一帧图像中的显示位置即可。当采用SSD模型或RetinaFace模型作为第一神经网络时,所述人脸区域的位置信息可以为SSD模型或RetinaFace模型对第一帧图像进行人脸检测后输出的人脸框的位置信息。
步骤306:获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序。
在本说明实施例中,待检测帧序列可以为待检测视频对应的帧序列。其中,第二帧图像的采集时刻要比第一帧图像的采集时刻晚,因此,第二帧图像的时序晚于第一帧图像的时序。在本说明实施例中,当需要对待检测帧序列中的每帧图像均进行人脸检查时,该第二帧图像可以是在第一帧图像之后采集的第一帧图像。当只需对待检测帧序列中的部分图像进行人脸检查时,该第二帧图像可以为在第一帧图像之后采集的第N帧图像。其中,N的取值可以根据实际需求确定,对此不作具体限定。
步骤308:针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域。
在本说明实施例中,第一帧图像与第二帧图像的采集时间间隔通常应为数毫秒至数十毫秒,即第一帧图像与第二帧图像的采集时间间隔较小。因此,第一帧图像中的某个人脸图像的显示区域与第二帧图像中的该人脸图像的显示区域之间的重叠面积较大。因此,可以根据检测出的第一帧图像中的存在一个人脸图像的人脸区域的位置信息,从第二帧图像中去确定包含该人脸图像的子图像。在本说明实施例中,步骤308可以采用与步骤104相同的实现方式去实现,对此不再赘述。
步骤310:利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
在本说明书实施例中,步骤310中的第二神经网络模型(即轻量化卷积神经网络模型)与步骤106中的轻量化卷积神经网络模型可以为相同的模型。第二神经网络模型相较于第一神经网络模型的模型参数量更少,计算复杂度更低,从而使得第二神经网络模型的运行效率较高。具体的,步骤310可以采用与步骤106相同的实现方式去实现,对此不再赘述。
在本说明书实施例中,由于同一人脸图像在采集时间间隔较短的两帧图像中的显示区域之间的差异性较小,因此,图3中的方法,可以利用基于卷积神经网络的目标检测模型从第一帧图像中检测出各个包含一个人脸图像的人脸区域的位置信息,并根据各个人脸区域的位置信息,从第二帧图像中提取各个覆盖了对应的人脸区域的图像。通过利用轻量化卷积神经网络模型对第二帧图像中的各个子图像进行人脸检测,即相当于对第二帧图像的全部区域进行了人脸检测。
由于该基于卷积神经网络的目标检测模型生成的人脸区域的位置信息的准确性较高,因此,使得基于该人脸区域的位置信息生成的子图像中包含上一帧图像中存在的人脸图像的可能性较大。进而使得利用轻量化卷积神经网络模型对第二帧图像中的各个子图像进行人脸检测的方案,可以在保证人脸检测结果准确性的基础上,减少轻量化卷积神经网络模型所需处理的数据量,从而有利于提升人脸图像检测效率。且由于轻量化卷积神经网络模型结构较为简单、算子数量较少、运算速度较快,从而可以进一步提升人脸图像检测效率。
基于图3的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
在本说明书实施例中,人脸跟踪是指在检测到视频帧中存在人脸图像的前提下,在后续视频帧中继续捕获该人脸图像的位置。而在进行人脸跟踪的应用场景中,不仅需要确定待检测图像中是否存在人脸图像,还需要确定待检测图像中的人脸图像与已识别出的人脸图像之间的对应关系,从而实现人脸跟踪。
因此,步骤310之后还可以包括:针对任意一个子图像,若检测出人脸图像。则可以确定所述子图像中的人脸图像与第一帧图像中与所述子图像对应的人脸区域中的人脸图像之间的第一相似度。判断所述第一相似度是否大于或等于第一阈值,得到第一判断结果。当所述第一判断结果表示所述第一相似度大于或等于所述第一阈值时,将所述子图像中的人脸图像的标识确定为第一帧图像中的与所述子图像对应的人脸区域中的人脸图像的第一标识。其中,第一帧图像中的与所述子图像对应的人脸区域,是指采集子图像时所使用的第一帧图像中的人脸区域的位置信息所指示的人脸区域。
在本说明书实施例中,若至少可以确定出一个子图像中的人脸图像的标识,则可以继续采用第二神经网络对待检测帧序列中的后续图像进行人脸检测,直至无法确定出待检测帧图像中的人脸图像的标识,或者,直至使用第二神经网络模型连续检测的图像的数量达到设定值。
其中,采用第二神经网络对待检测帧序列中的后续图像进行人脸检测,具体可以包括:将确定出人脸图像的标识的子图像的中的人脸图像的位置信息,作为更新后的人脸区域的位置信息,将第三帧图像作为更新后的第二帧图像,利用步骤308-310中的人脸检测方式,对更新后的第二帧图像进行人脸检测;其中,第三帧图像的时序晚于第二帧图像的时序,对此不再赘述。
在本实现方式中,可以利用第二神经网络模型对多帧图像进行人脸检测,由于第二神经网络模型相较于第一神经网络模型的运行效率及人脸检测效率均较高,因此,可以提升人脸检测速度。
图4为本说明书实施例提供的一种人脸图像检测模型的训练方法的流程示意图。从程序角度而言,流程的执行主体可以为服务器,或者搭载于服务器中的程序。如图4所示,该流程可以包括以下步骤:
步骤402:获取样本图像集合。
步骤404:对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中。
在本说明书实施例中,样本图像集合中的样本图像中既可以包含人脸图像,也可以不包含人脸图像。当样本图像中不包含人脸图像时,单阶段目标检测模型针对该样本图像进行人脸检测得到的预测人脸图像集合应可以为空集。而当样本图像中包含人脸图像时,针对该样本图像中的任意一个人脸图像,单阶段目标检测模型可以检测得到多个包含该人脸图像的区域,从而得到多个与该人脸图像对应的预测人脸图像。在实际应用中,该单阶段目标检测模型可以采用SSD(Single Shot Detector)模型、DetectorNet、YOLO系列模型或RetinaFace模型等实现。
图5为本说明实施例提供的一种基于单阶段目标检测模型对样本图像进行人脸检测得到的预测人脸图像的示意图。如图5所示,样本图像501中包含一个人脸图像,当利用单阶段目标检测模型对样本图像501进行人脸检测时,单阶段目标检测模型可以生成多个预测人脸区域,即第一预测人脸区域502、第二预测人脸区域503及第三预测人脸区域504。与该图像样本对应的预测图像集合则应包含三个预测人脸图像,即分别从该样本图像中的第一预测人脸区域502、第二预测人脸区域503及第三预测人脸区域504中提取的图像。
步骤406:利用所述预测图像集合对轻量化卷积神经网络模型进行训练。
在本说明书实施例中,所述轻量化卷积神经网络模型可以用于检测目标图像中是否包含人脸(即进行人脸分类),确定目标图像中的人脸图像的显示区域的位置信息(即人脸框的位置信息),以及目标图像中的人脸图像的人脸面部轮廓关键点(例如,双眼、鼻子、嘴角)的位置信息。
在本说明书实施例中,基于图4中方法训练得到的人脸检测模型包括单阶段目标检测模型及轻量化卷积神经网络模型,其中,单阶段目标检测模型及轻量化卷积神经网络模型可以应用于图1及图3中的人脸检测方法中。
由于图4中的人脸检测模型的训练方法属于端到端训练,可以减少训练产生的单阶段目标检测模型与轻量化卷积神经网络模型之间的累计误差,有利于提升单阶段目标检测模型与轻量化卷积神经网络模型之间的关联性与吻合性,从而使得单阶段目标检测模型与轻量化卷积神经网络模型的人脸检测准确性较高。同时,由于图4中的模型训练方法,可以同时对单阶段目标检测模型与轻量化卷积神经网络模型进行训练,相较于对MTCNN网络进行非端到端训练的方法而言,训练效率有了较大提升。
在本说明书实施例中,可以预先确定预测图像集合中的各个预测人脸图像为正样本或负样本,并根据预测人脸图像的样本类型优化轻量化卷积神经网络模型的损失函数。具体的,步骤406之前,还可以包括:
对于所述预测图像集合中的每个所述预测人脸图像集合,确定所述预测人脸图像集合中的各个预测人脸图像的样本类型,所述样本类型为正样本或负样本。
在本说明书实施例中,针对样本图像中存在的每个人脸图像,可以预先指定与各个人脸图像对应的基准人脸区域。当利用单阶段目标检测模型对该样本图像进行人脸检测后,可以得到多个预测人脸区域,一个预测人脸区域内的图像即为一个预测人脸图像。
在本说明书实施例中,针对每个预测人脸图像,确定所述预测人脸图像的样本类型,具体可以包括:获取所述预测人脸图像在样本图像中的显示区域(即预测人脸区域);获取与所述预测人脸图像对应的人脸图像的基准人脸区域;确定所述基准人脸区域与所述预测人脸区域之间的交并比;判断所述交并比是否大于等于预设阈值;若是,则确定所述预测人脸图像的样本类型为正样本;若否,则确定所述预测人脸图像的样本类型为负样本。
在本说明书实施例中,当所述基准人脸区域与所述预测人脸区域之间的交并比小于预设阈值时,可以表示该预测人脸图像在样本图像中的显示区域与预先指定的存在人脸图像的基准人脸区域之间的重合度较小,因此,该预测人脸图像中存在人脸图像的可能性较小,从而可以将该预测人脸图像确定为负样本。同理,若计算得到的交并比大于等于预设阈值时,则该预测人脸图像中存在人脸图像的可能性较大,从而可以将该预测人脸图像确定为正样本。
对应的,步骤406:所利用所述预测图像集合对轻量化卷积神经网络模型进行训练,具体可以包括:
对于每个所述预测人脸图像,利用轻量化卷积神经网络模型对所述预测人脸图像进行人脸检测,得到人脸检测结果;根据所述人脸检测结果以及所述预测人脸图像的样本类型,采用反向传播算法对所述轻量化卷积神经网络模型进行优化。
具体的,当所述预测人脸图像的样本类型为负样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的与人脸分类对应的损失函数进行更新;当所述预测人脸图像的样本类型为正样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的全部损失函数进行更新。
其中,所述全部损失函数包含:与人脸分类对应的损失函数,与预测存在人脸图像的区域的位置信息(即人脸框的位置信息)对应的损失函数,与人脸面部轮廓关键点的位置信息对应的损失函数,以及与L2范数对应的损失函数。
在本说明书实施例中,当所述预测人脸图像的样本类型为负样本时,可以表示该预测人脸图像中不存在用户人脸,因此,通常而言轻量化卷积神经网络模型不应输出预测存在人脸图像的区域的位置信息以及人脸面部轮廓关键点的位置信息,此时,无需对与预测存在人脸图像的区域的位置信息对应的损失函数,与人脸面部轮廓关键点的位置信息对应的损失函数,以及与L2范数对应的损失函数进行更新,这种损失函数优化方法,有利于提升训练得到的轻量化卷积神经网络模型的准确性。
在本说明书实施例中,由于各个预测人脸图像的分辨率可能并不相同,为便于利用各个预测人脸图像对轻量化卷积神经网络模型进行训练,在步骤406之前,还可以包括:
对所述预测图像集合中的各个预测人脸图像进行图像尺寸转化,得到转化后的预测图像集合,所述转化后预测图像集合中的各个图像的分辨率均为预设分辨率。
步骤406:利用所述预测图像集合对轻量化卷积神经网络模型进行训练,具体可以包括:利用所述转化后的预测图像集合对轻量化卷积神经网络模型进行训练。
基于同样的思路,本说明书实施例还提供了图1中的方法对应的装置。图6为本说明书实施例提供的对应于图1的一种人脸图像检测装置的结构示意图。如图6所示,该装置可以包括:
第一获取模块602,用于获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像。
第一子图像提取模块604,用于根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域。
第一检测模块606,用于利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
基于图6的装置,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,图6中的装置,还可以包括:
第一相似度确定模块,用于当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像之间的第一相似度。
第一判断模块,用于判断所述第一相似度是否大于或等于第一阈值,得到第一判断结果。
第一标识确定模块,用于当所述第一判断结果表示所述第一相似度大于或等于所述第一阈值时,将所述第一子图像中的人脸图像的标识确定为所述第一人脸区域中的人脸图像的第一标识。
可选的,图6中的装置,还可以包括:
第二相似度确定模块,用于当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与各个已识别人脸图像之间的第二相似度;所述已识别人脸图像是基于对所述当前帧图像之前的图像进行人脸检测而得到的。
第二标识确定模块,用于确定大于或等于所述第一阈值的所述第二相似度对应的已识别人脸图像的第二标识;
第一子图像中的人脸图像的标识确定模块,用于将所述第一子图像中的人脸图像的标识确定为所述第二标识。
可选的,图6中的装置,还可以包括:
连续检测的图像数量获取模块,用于在确定所述第一子图像中的人脸图像的标识之后,获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量,该待检测帧序列中包含所述当前帧图像及所述上一帧图像。
第二判断模块,用于判断所述连续检测的待检测帧序列中的图像的数量是否达到第二阈值,得到第二判断结果;
下一帧图像检测模块,用于当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量未达到所述第二阈值时,利用所述轻量化卷积神经网络模型对所述当前帧图像的下一帧图像进行人脸检测。或者,用于当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量达到所述第二阈值时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
可选的,图6中的装置,还可以包括:
第二检测模块,用于当检测结果表示所述第一子图像中不存在人脸图像时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
可选的,图6中的装置中的第一获取模块602,具体可以用于:
获取当前帧图像的上一帧图像;利用单阶段目标检测模型对所述上一帧图像进行人脸检测,确定所述上一帧图像中的第一人脸区域的位置信息;所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
可选的,图6中的装置还可以包括:
第二获取模块,用于在获取当前帧图像的上一帧图像中的第一人脸区域的位置信息之前,获取当前帧图像之前的第二帧图像中的第二人脸区域的位置信息,所述第二人脸区域内存在一个人脸图像。
第二子图像提取模块,用于根据所述第二人脸区域的位置信息,从所述当前帧图像的上一帧图像中提取第二子图像,所述第二子图像在所述上一帧图像中的显示区域覆盖所述第二人脸区域。
第一人脸区域确定模块,用于利用轻量化卷积神经网络模型对所述第二子图像进行人脸检测,得到第一人脸区域。
对应的,第一获取模块602,具体可以用于:根据所述第一人脸区域在所述第二子图像中的位置信息以及所述第二子图像在所述上一帧图像中的位置信息,确定所述第一人脸区域在所述上一帧图像中的位置信息。
可选的,第一子图像提取模块604,具体可以用于:
根据所述第一人脸区域的位置信息,确定对所述第一人脸区域放大预设倍数后得到的目标区域的位置信息,所述目标区域的面积与所述第一人脸区域的面积之比为所述预设倍数;根据所述目标区域的位置信息,从所述当前帧图像中提取所述目标区域内的图像,得到第一子图像。
可选的,图6中的装置还可以包括:
图像分辨率转化模块,用于将所述第一子图像的分辨率转化为预设分辨率,得到转化后第一子图像。
第一检测模块606,具体可以用于:利用轻量化卷积神经网络模型检测所述转化后第一子图像中是否存在人脸图像。
基于同样的思路,本说明书实施例还提供了图3中的方法对应的装置。图7为本说明书实施例提供的对应于图3的一种人脸图像检测装置的结构示意图。如图7所示,该装置可以包括:
第一获取模块702,用于获取待检测帧序列中的一帧图像,得到第一帧图像。
第一检测模块704,用于利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型。
第二获取模块706,用于获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序。
子图像提取模块708,用于针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域。
第二检测模块710,用于利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
基于同样的思路,本说明书实施例还提供了图4中的方法对应的装置。图8为本说明书实施例提供的对应于图4的一种人脸图像检测模型的训练装置的结构示意图。如图8所示,该装置可以包括:
获取模块802,用于获取样本图像集合;
预测图像集合生成模块804,用于对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
训练模块806,用于利用所述预测图像集合对轻量化卷积神经网络模型进行训练。
基于图8的装置,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,图8中的装置,还可以包括:
样本类型确定模块,用于对于所述预测图像集合中的每个所述预测人脸图像集合,确定所述预测人脸图像集合中的各个预测人脸图像的样本类型,所述样本类型为正样本或负样本。
训练模块806,具体可以用于对于每个所述预测人脸图像,利用轻量化卷积神经网络模型对所述预测人脸图像进行人脸检测,得到人脸检测结果;根据所述人脸检测结果以及所述预测人脸图像的样本类型,采用反向传播算法对所述轻量化卷积神经网络模型进行优化。
其中,所述根据所述人脸检测结果以及所述预测人脸图像的样本类型,采用反向传播算法对所述轻量化卷积神经网络模型进行优化,具体可以包括:
当所述预测人脸图像的样本类型为负样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的与人脸分类对应的损失函数进行更新。
当所述预测人脸图像的样本类型为正样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的全部损失函数进行更新。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的一种人脸图像检测设备。
该设备可以包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像。
根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域。
利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像。
基于同样的思路,本说明书实施例还提供了与图3中方法对应的一种人脸图像检测设备。
该设备可以包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测帧序列中的一帧图像,得到第一帧图像;
利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;
获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型。
基于同样的思路,本说明书实施例还提供了与图4中方法对应的一种人脸图像检测模型的训练设备。
该设备可以包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取样本图像集合。
对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中。
利用所述预测图像集合对轻量化卷积神经网络模型进行训练。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field ProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell UniversityProgramming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。
Claims (23)
1.一种人脸图像检测方法,包括:
获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;所述第一人脸区域的位置信息是利用单阶段目标检测模型对所述上一帧图像进行人脸检测得到的;
根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
当检测结果表示所述第一子图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测;
获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量;所述待检测帧序列中包含所述当前帧图像以及所述上一帧图像;
若所述连续检测的待检测帧序列中的图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测。
2.如权利要求1所述的方法,所述利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像之后,还包括:
当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像之间的第一相似度;
判断所述第一相似度是否大于或等于第一阈值,得到第一判断结果;
当所述第一判断结果表示所述第一相似度大于或等于所述第一阈值时,将所述第一子图像中的人脸图像的标识确定为所述第一人脸区域中的人脸图像的第一标识。
3.如权利要求1所述的方法,所述利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像之后,还包括:
当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与各个已识别人脸图像之间的第二相似度;所述已识别人脸图像是基于对所述当前帧图像之前的图像进行人脸检测而得到的;
确定大于或等于第一阈值的所述第二相似度对应的已识别人脸图像的第二标识;
将所述第一子图像中的人脸图像的标识确定为所述第二标识。
4.如权利要求2或3所述的方法,当确定所述第一子图像中的人脸图像的标识之后,还包括:
获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量,所述待检测帧序列中包含所述当前帧图像及所述上一帧图像;
判断所述连续检测的待检测帧序列中的图像的数量是否达到第二阈值,得到第二判断结果;
当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量未达到所述第二阈值时,利用所述轻量化卷积神经网络模型对所述当前帧图像的下一帧图像进行人脸检测。
5.如权利要求4所述的方法,所述判断所述连续检测的待检测帧序列中的图像的数量是否达到第二阈值之后,还包括:
当所述第二判断结果表示所述连续检测的待检测帧序列中的图像的数量达到所述第二阈值时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
6.如权利要求1所述的方法,所述利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸之后,还包括:
当检测结果表示所述第一子图像中不存在人脸图像时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
7.如权利要求1所述的方法,所述获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,具体包括:
获取当前帧图像的上一帧图像;
利用单阶段目标检测模型对所述上一帧图像进行人脸检测,确定所述上一帧图像中的第一人脸区域的位置信息;所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
8.如权利要求1所述的方法,所述获取当前帧图像的上一帧图像中的第一人脸区域的位置信息之前,还包括:
获取当前帧图像之前的第二帧图像中的第二人脸区域的位置信息,所述第二人脸区域内存在一个人脸图像;
根据所述第二人脸区域的位置信息,从所述当前帧图像的上一帧图像中提取第二子图像,所述第二子图像在所述上一帧图像中的显示区域覆盖所述第二人脸区域;
利用轻量化卷积神经网络模型对所述第二子图像进行人脸检测,得到第一人脸区域;
所述获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,具体包括:
根据所述第一人脸区域在所述第二子图像中的位置信息以及所述第二子图像在所述上一帧图像中的位置信息,确定所述第一人脸区域在所述上一帧图像中的位置信息。
9.如权利要求1所述的方法,所述根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,具体包括:
根据所述第一人脸区域的位置信息,确定对所述第一人脸区域放大预设倍数后得到的目标区域的位置信息,所述目标区域的面积与所述第一人脸区域的面积之比为所述预设倍数;
根据所述目标区域的位置信息,从所述当前帧图像中提取所述目标区域内的图像,得到第一子图像。
10.如权利要求9所述的方法,所述利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像之前,还包括:
将所述第一子图像的分辨率转化为预设分辨率,得到转化后第一子图像;
所述利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像,具体包括:
利用轻量化卷积神经网络模型检测所述转化后第一子图像中是否存在人脸图像。
11.一种人脸图像检测方法,包括:
获取待检测帧序列中的一帧图像,得到第一帧图像;
利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;所述目标检测模型为单阶段目标检测模型;
获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
当检测结果表示所述子图像集合中的各个所述子图像中不存在人脸图像时,利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测;
获取利用所述第二神经网络模型连续检测的所述待检测帧序列中的图像的数量;
若所述连续检测的所述待检测帧序列中的图像的数量达到预设阈值,则利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测。
12.一种人脸图像检测模型的训练方法,包括:
获取样本图像集合;
对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
利用所述预测图像集合对轻量化卷积神经网络模型进行训练,得到训练后的所述轻量化卷积神经网络模型;
利用所述训练后的所述轻量化卷积神经网络模型检测所述样本图像集合中当前帧样本图像中是否存在人脸图像;
当检测结果表示所述当前帧样本图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测;
获取利用所述训练后的所述轻量化卷积神经网络模型连续检测的所述样本图像集合中的样本图像的数量;
若所述连续检测的所述样本图像集合中的样本图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测。
13.如权利要求12所述的方法,所述利用所述预测图像集合对轻量化卷积神经网络模型进行训练之前,还包括:
对于所述预测图像集合中的每个所述预测人脸图像集合,确定所述预测人脸图像集合中的各个预测人脸图像的样本类型,所述样本类型为正样本或负样本;
所述利用所述预测图像集合对轻量化卷积神经网络模型进行训练,具体包括:
对于每个所述预测人脸图像,利用轻量化卷积神经网络模型对所述预测人脸图像进行人脸检测,得到人脸检测结果;
根据所述人脸检测结果以及所述预测人脸图像的样本类型,采用反向传播算法对所述轻量化卷积神经网络模型进行优化。
14.如权利要求13所述的方法,所述根据所述人脸检测结果以及所述预测人脸图像的样本类型,采用反向传播算法对所述轻量化卷积神经网络模型进行优化,具体包括:
当所述预测人脸图像的样本类型为负样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的与人脸分类对应的损失函数进行更新;
当所述预测人脸图像的样本类型为正样本时,根据所述人脸检测结果,采用反向传播算法对所述轻量化卷积神经网络模型的全部损失函数进行更新。
15.一种人脸图像检测装置,包括:
第一获取模块,用于获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;所述第一人脸区域的位置信息是利用单阶段目标检测模型对所述上一帧图像进行人脸检测得到的;
第一子图像提取模块,用于根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
第一检测模块,用于利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
第二检测模块,用于当检测结果表示所述第一子图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测;
连续检测的图像数量获取模块,用于获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量;所述待检测帧序列中包含所述当前帧图像以及所述上一帧图像;
下一帧图像检测模块,用于若所述连续检测的待检测帧序列中的图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测。
16.如权利要求15所述的装置,还包括:
第一相似度确定模块,用于当检测结果表示所述第一子图像中存在人脸图像时,确定所述第一子图像中的人脸图像与所述第一人脸区域中的人脸图像之间的第一相似度;
第一判断模块,用于判断所述第一相似度是否大于或等于第一阈值,得到第一判断结果;
第一标识确定模块,用于当所述第一判断结果表示所述第一相似度大于或等于所述第一阈值时,将所述第一子图像中的人脸图像的标识确定为所述第一人脸区域中的人脸图像的第一标识。
17.如权利要求15所述的装置,还包括:
第二检测模块,用于当检测结果表示所述第一子图像中不存在人脸图像时,利用单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测,所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
18.如权利要求15所述的装置,所述第一获取模块,具体用于:
获取当前帧图像的上一帧图像;
利用单阶段目标检测模型对所述上一帧图像进行人脸检测,确定所述上一帧图像中的第一人脸区域的位置信息;所述单阶段目标检测模型在模型训练阶段的输出用于生成所述轻量化卷积神经网络模型的输入。
19.一种人脸图像检测装置,包括:
第一获取模块,用于获取待检测帧序列中的一帧图像,得到第一帧图像;
第一检测模块,用于利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;所述目标检测模型为单阶段目标检测模型;
第二获取模块,用于获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
子图像提取模块,用于针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
第二检测模块,用于利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
所述第二检测模块,还用于当检测结果表示所述子图像集合中的各个所述子图像中不存在人脸图像时,利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测;
连续检测的图像数量获取模块,用于获取利用所述第二神经网络模型连续检测的所述待检测帧序列中的图像的数量;
下一帧图像检测模块,用于若所述连续检测的所述待检测帧序列中的图像的数量达到预设阈值,则利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测。
20.一种人脸图像检测模型的训练装置,包括:
获取模块,用于获取样本图像集合;
预测图像集合生成模块,用于对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
训练模块,用于利用所述预测图像集合对轻量化卷积神经网络模型进行训练,得到训练后的所述轻量化卷积神经网络模型;
第一检测模块,用于利用所述训练后的所述轻量化卷积神经网络模型检测所述样本图像集合中当前帧样本图像中是否存在人脸图像;
第二检测模块,用于当检测结果表示所述当前帧样本图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测;
连续检测的图像数量获取模块,用于获取利用所述训练后的所述轻量化卷积神经网络模型连续检测的所述样本图像集合中的样本图像的数量;
下一帧图像检测模块,用于若所述连续检测的所述样本图像集合中的样本图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测。
21.一种人脸图像检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取当前帧图像的上一帧图像中的第一人脸区域的位置信息,所述第一人脸区域内存在一个人脸图像;所述第一人脸区域的位置信息是利用单阶段目标检测模型对所述上一帧图像进行人脸检测得到的;
根据所述第一人脸区域的位置信息,从所述当前帧图像中提取第一子图像,所述第一子图像在所述当前帧图像中的显示区域覆盖所述第一人脸区域;
利用轻量化卷积神经网络模型检测所述第一子图像中是否存在人脸图像;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
当检测结果表示所述第一子图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测;
获取利用所述轻量化卷积神经网络模型连续检测的待检测帧序列中的图像的数量;所述待检测帧序列中包含所述当前帧图像以及所述上一帧图像;
若所述连续检测的待检测帧序列中的图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧图像的下一帧图像进行人脸检测。
22.一种人脸图像检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测帧序列中的一帧图像,得到第一帧图像;
利用第一神经网络模型对所述第一帧图像进行人脸检测,得到所述第一帧图像中的至少一个人脸区域的位置信息,所述人脸区域内存在一个人脸图像,所述第一神经网络模型为基于卷积神经网络的目标检测模型;所述目标检测模型为单阶段目标检测模型;
获取所述待检测帧序列中的另一帧图像,得到第二帧图像,所述第二帧图像的时序晚于所述第一帧图像的时序;
针对每个所述人脸区域的位置信息,从所述第二帧图像中提取一个子图像,得到子图像集合;所述子图像在所述第二帧图像中的显示区域覆盖所述人脸区域;
利用第二神经网络模型,检测所述子图像集合中的各个所述子图像中是否存在人脸图像,所述第二神经网络模型为轻量化卷积神经网络模型;其中,所述单阶段目标检测模型在模型训练阶段针对样本图像检测到的包含人脸图像的子图像用于生成所述轻量化卷积神经网络模型的输入;
当检测结果表示所述子图像集合中的各个所述子图像中不存在人脸图像时,利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测;
获取利用所述第二神经网络模型连续检测的所述待检测帧序列中的图像的数量;
若所述连续检测的所述待检测帧序列中的图像的数量达到预设阈值,则利用所述第一神经网络模型对所述第二帧图像的下一帧图像进行人脸检测。
23.一种人脸图像检测模型的训练设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取样本图像集合;
对于所述样本图像集合中的每个样本图像,采用单阶段目标检测模型对所述样本图像进行人脸检测,得到预测图像集合;所述预测图像集合中包括多个预测人脸图像集合,对于一个所述样本图像的人脸检测结果包含在一个所述预测人脸图像集合中;
利用所述预测图像集合对轻量化卷积神经网络模型进行训练,得到训练后的所述轻量化卷积神经网络模型;
利用所述训练后的所述轻量化卷积神经网络模型检测所述样本图像集合中当前帧样本图像中是否存在人脸图像;
当检测结果表示所述当前帧样本图像中不存在人脸图像时,利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测;
获取利用所述训练后的所述轻量化卷积神经网络模型连续检测的所述样本图像集合中的样本图像的数量;
若所述连续检测的所述样本图像集合中的样本图像的数量达到预设阈值,则利用所述单阶段目标检测模型对所述当前帧样本图像的下一帧样本图像进行人脸检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076844.XA CN111311634B (zh) | 2020-01-23 | 2020-01-23 | 一种人脸图像检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010076844.XA CN111311634B (zh) | 2020-01-23 | 2020-01-23 | 一种人脸图像检测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311634A CN111311634A (zh) | 2020-06-19 |
CN111311634B true CN111311634B (zh) | 2024-02-27 |
Family
ID=71146995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010076844.XA Active CN111311634B (zh) | 2020-01-23 | 2020-01-23 | 一种人脸图像检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311634B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914837A (zh) * | 2020-07-10 | 2020-11-10 | 北京嘉楠捷思信息技术有限公司 | 车牌检测方法、装置、设备和存储介质 |
CN111860405A (zh) * | 2020-07-28 | 2020-10-30 | Oppo广东移动通信有限公司 | 图像识别模型的量化方法、装置、计算机设备及存储介质 |
CN112184756A (zh) * | 2020-09-30 | 2021-01-05 | 北京理工大学 | 一种基于深度学习的单目标快速检测方法 |
CN112633218B (zh) * | 2020-12-30 | 2023-10-13 | 深圳市优必选科技股份有限公司 | 人脸检测方法、装置、终端设备及计算机可读存储介质 |
CN113571051A (zh) * | 2021-06-11 | 2021-10-29 | 天津大学 | 一种唇部语音活动检测和结果纠错的语音识别系统和方法 |
CN114419471B (zh) * | 2022-03-29 | 2022-08-30 | 北京云迹科技股份有限公司 | 一种楼层识别方法、装置、电子设备及存储介质 |
CN114565967B (zh) * | 2022-04-28 | 2022-08-30 | 广州丰石科技有限公司 | 工牌人脸检测方法、终端以及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217225A (zh) * | 2014-09-02 | 2014-12-17 | 中国科学院自动化研究所 | 一种视觉目标检测与标注方法 |
CN104537386A (zh) * | 2014-11-21 | 2015-04-22 | 东南大学 | 一种基于级联混合高斯形状模型的多姿态图像特征点配准方法 |
CN107316322A (zh) * | 2017-06-27 | 2017-11-03 | 上海智臻智能网络科技股份有限公司 | 视频跟踪方法和装置、以及对象识别方法和装置 |
CN107492115A (zh) * | 2017-08-30 | 2017-12-19 | 北京小米移动软件有限公司 | 目标对象的检测方法及装置 |
CN107590482A (zh) * | 2017-09-29 | 2018-01-16 | 百度在线网络技术(北京)有限公司 | 信息生成方法和装置 |
CN108256479A (zh) * | 2018-01-17 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 人脸跟踪方法和装置 |
CN109325964A (zh) * | 2018-08-17 | 2019-02-12 | 深圳市中电数通智慧安全科技股份有限公司 | 一种人脸追踪方法、装置及终端 |
CN110399844A (zh) * | 2019-07-29 | 2019-11-01 | 南京图玩智能科技有限公司 | 一种应用于跨平台的人脸关键点识别与追踪方法及系统 |
CN110427821A (zh) * | 2019-06-27 | 2019-11-08 | 高新兴科技集团股份有限公司 | 一种基于轻量级卷积神经网络的人脸检测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236899B (zh) * | 2010-05-07 | 2013-12-04 | 株式会社理光 | 物体检测方法和装置 |
US10726244B2 (en) * | 2016-12-07 | 2020-07-28 | Samsung Electronics Co., Ltd. | Method and apparatus detecting a target |
-
2020
- 2020-01-23 CN CN202010076844.XA patent/CN111311634B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217225A (zh) * | 2014-09-02 | 2014-12-17 | 中国科学院自动化研究所 | 一种视觉目标检测与标注方法 |
CN104537386A (zh) * | 2014-11-21 | 2015-04-22 | 东南大学 | 一种基于级联混合高斯形状模型的多姿态图像特征点配准方法 |
CN107316322A (zh) * | 2017-06-27 | 2017-11-03 | 上海智臻智能网络科技股份有限公司 | 视频跟踪方法和装置、以及对象识别方法和装置 |
CN107492115A (zh) * | 2017-08-30 | 2017-12-19 | 北京小米移动软件有限公司 | 目标对象的检测方法及装置 |
CN107590482A (zh) * | 2017-09-29 | 2018-01-16 | 百度在线网络技术(北京)有限公司 | 信息生成方法和装置 |
CN108256479A (zh) * | 2018-01-17 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 人脸跟踪方法和装置 |
CN109325964A (zh) * | 2018-08-17 | 2019-02-12 | 深圳市中电数通智慧安全科技股份有限公司 | 一种人脸追踪方法、装置及终端 |
CN110427821A (zh) * | 2019-06-27 | 2019-11-08 | 高新兴科技集团股份有限公司 | 一种基于轻量级卷积神经网络的人脸检测方法及系统 |
CN110399844A (zh) * | 2019-07-29 | 2019-11-01 | 南京图玩智能科技有限公司 | 一种应用于跨平台的人脸关键点识别与追踪方法及系统 |
Non-Patent Citations (3)
Title |
---|
Wang Yang 等.Real-time face detection based on YOLO.IEEE.2018,第221-224页. * |
基于卷积神经网络多方位的人脸检测;许立升;孟小枫;宋宁;;信息技术;20180325(03);53-57 * |
尹茜.基于轻量级神经网络的人脸检测算法.常州信息职业技术学院学报.2019,第28-32+37页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111311634A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111311634B (zh) | 一种人脸图像检测方法、装置及设备 | |
CN108320296B (zh) | 一种视频中目标对象的检测跟踪方法、装置及设备 | |
KR102155182B1 (ko) | 비디오 리코딩 방법, 서버, 시스템 및 저장 매체 | |
JP7073522B2 (ja) | 空中手書きを識別するための方法、装置、デバイス及びコンピュータ読み取り可能な記憶媒体 | |
Babaee et al. | A dual cnn–rnn for multiple people tracking | |
CN110751674A (zh) | 多目标跟踪方法及相应视频分析系统 | |
CN110084299B (zh) | 基于多头融合注意力的目标检测方法和装置 | |
EP4053735A1 (en) | Method for structuring pedestrian information, device, apparatus and storage medium | |
Nguyen et al. | Yolo based real-time human detection for smart video surveillance at the edge | |
CN112889068A (zh) | 用于图像处理的神经网络对象识别的方法和系统 | |
CN111027507A (zh) | 基于视频数据识别的训练数据集生成方法及装置 | |
Xing et al. | DE‐SLAM: SLAM for highly dynamic environment | |
WO2020019353A1 (zh) | 跟踪控制方法、设备、计算机可读存储介质 | |
CN116235209A (zh) | 稀疏光流估计 | |
CN116343314B (zh) | 一种表情识别方法、装置、存储介质及电子设备 | |
CN115830633A (zh) | 基于多任务学习残差神经网络的行人重识别方法和系统 | |
CN111967365B (zh) | 影像连接点的提取方法和装置 | |
CN111652074B (zh) | 一种人脸识别方法、装置、设备及介质 | |
CN113408587A (zh) | 一种公交车乘客od匹配方法、装置和电子设备 | |
CN111523539A (zh) | 一种文字检测方法及装置 | |
CN117422870A (zh) | 一种实例分割的方法及装置 | |
US11706546B2 (en) | Image sensor with integrated single object class detection deep neural network (DNN) | |
Jani et al. | Comprehensive analysis of object detection and tracking methodologies from surveillance videos | |
Fu et al. | Denoising-mot: Towards multiple object tracking with severe occlusions | |
CN116152299B (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 |