CN113191195A - 基于深度学习的人脸检测方法及系统 - Google Patents
基于深度学习的人脸检测方法及系统 Download PDFInfo
- Publication number
- CN113191195A CN113191195A CN202110353983.7A CN202110353983A CN113191195A CN 113191195 A CN113191195 A CN 113191195A CN 202110353983 A CN202110353983 A CN 202110353983A CN 113191195 A CN113191195 A CN 113191195A
- Authority
- CN
- China
- Prior art keywords
- face
- sample face
- sample
- target
- value
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 220
- 238000013135 deep learning Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000004458 analytical method Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 238
- 238000003062 neural network model Methods 0.000 claims description 84
- 238000004364 calculation method Methods 0.000 claims description 27
- 210000000887 face Anatomy 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 150000001875 compounds Chemical class 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000002372 labelling Methods 0.000 abstract description 6
- 238000007781 pre-processing Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
-
- 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/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的人脸检测方法及系统,该方法包括将人脸图像输入轻量级人脸检测模型中进行分析,得到人脸图像对应的检测结果;从人脸图像对应的检测结果中确定与标准结果匹配的所有目标检测结果;其中,人脸图像的检测结果包括预测图像框的人脸分类置信度、预测图像框的偏移值、预测图像框的准确度以及预测人脸关键点的偏移值。可见,本发明通过将多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。
Description
技术领域
本发明涉及人脸图像检测技术领域,尤其涉及一种基于深度学习的人脸检测方法及系统。
背景技术
人脸检测主要任务是判断图像上是否存在人脸,若存在人脸,则给出人脸所处的位置和大小。其中,人脸检测属于目标检测(包括通用目标检测和特定类别目标检测)的范畴,受通用目标检测方法的进展的启发,特定类别的目标检测也取得了显著进步。
在早期工业界,VJ算法(Viola-Jones)是针对特定类别目标检测提出的里程碑式的工作,它使用Haar-Like特征和级联的AdaBoost分类器对人脸进行检测,不仅提升了检测精度还兼顾了运算效率,此后的文献都是基于VJ算法的改进工作,如Haar-AdaBoost,LBP-AdaBoost,GF-SVM等进一步提升了检测性能。以及随着深度学习的发展,近年来出现了针对通用目标提出的检测算法,如性能较优的Faster-RCNN、R-FCN系列,速度较快的YOLO、SSD系列。
然而,实践发现这些算法仍存在一些缺点,例如:人脸检测算法在小尺寸人脸上检测率高,当其应用于人脸识别系统中时,需对检测出的小尺寸人脸上采样到人脸识别模型需要的输入尺寸,导致人脸图像质量下降,进而影响人脸识别率以及精确度。因此,如何提出一种在实际场景中能够提高人脸检测的精确度的技术方案尤为重要。
发明内容
本发明所要解决的技术问题在于,提供一种基于深度学习的人脸检测方法及系统,能够在实际场景中能够提高人脸检测的精确度。
为了解决上述技术问题,本发明实施例第一方面公开了一种基于深度学习的人脸检测方法,所述方法包括:
将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析,并获取所述轻量级人脸检测模型输出的检测结果,作为所有所述目标人脸图像对应的检测结果;
从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果;
其中,每帧所述目标人脸图像的检测结果包括每帧所述目标人脸图像的预测人脸框、每帧所述目标人脸图像的预测图像框的人脸分类置信度、每帧所述目标人脸图像的预测图像框的偏移值、每帧所述目标人脸图像的预测图像框的准确度以及每帧所述目标人脸图像的预测人脸关键点的偏移值。
作为一种可选的实施方式,在本发明第一方面中,每帧所述目标人脸图像包括至少一个目标人脸,每个所述目标人脸对应至少一个所述预测图像框,每帧所述目标人脸图像对应的检测结果包括每帧所述目标人脸图像中每个所述目标人脸的预测图像框对应的检测结果;
其中,所述从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果,包括:
对每帧所述目标人脸图像的每个所述目标人脸执行以下操作:
根据所述目标人脸的每个所述预测图像框的偏移值、每个所述预测图像框在对应的坐标系的坐标点、所述目标人脸的输出锚框的宽度和高度以及所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层的宽度和高度,计算所述目标人脸的每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度;
计算所述目标人脸的每个所述预测图像框的人脸分类置信度与所述目标人脸的每个所述预测图像框的准确度的目标乘积值,并从所述目标人脸的所有所述预测图像框中选择最大目标乘积值对应的预测图像框的检测结果作为所述目标人脸的检测结果;
确定每帧所述目标人脸图像中最大目标乘积值对应的预测图像框的检测结果,作为与确定出的标准结果匹配的所有目标检测结果。
作为一种可选的实施方式,在本发明第一方面中,每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度的计算公式如下:
bx=(sigmoid(tx)+cx)*sw;
by=(sigmoid(ty)+cy)*sh;
其中,(bx,by,bw,bh)表示所述预测图像框的中心点坐标、所述预测图像框的宽度与高度,(cx,cy)表示所述预测图像框在对应的坐标系的坐标点,(pw,ph)表示所述目标人脸的输出锚框的宽度和高度,(sw,sh)表示所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层所得到的宽度和高度,(tx,ty,tw,th)表示所述预测图像框的偏移值。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件;
当判断出满足所述训练条件时,确定满足所述训练条件的所述基本神经网络模型为确定出的轻量级人脸检测模型;
当判断出不满足所述训练条件时,重新执行所述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件的操作。
作为一种可选的实施方式,在本发明第一方面中,所述判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件,包括:
获取所述基本神经网络模型输出的训练结果,作为所述训练样本人脸图像集对应的预测参数;
计算所述训练样本人脸图像集对应的真值偏移值结果,并基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值结果确定所述训练样本人脸图像集对应的预测总损失值,并判断所述预测总损失值是否稳定于某一损失值;
当判断出所述预测总损失值稳定于所述某一损失值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件;或者,
判断所述基本神经网络模型的训练次数是否大于等于确定出的训练次数阈值,当判断出大于等于所述训练次数阈值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件。
作为一种可选的实施方式,在本发明第一方面中,所述训练样本人脸图像集中每个所述训练样本人脸图像中包含至少一个样本人脸;
其中,所述计算所述训练样本人脸图像集对应的真值偏移值结果,包括:
对每个所述样本人脸图像的每个所述样本人脸执行以下操作:
基于确定出的锚框映射所述样本人脸,得到所述样本人脸的锚框,获取所述样本人脸的真值参数,所述样本人脸的真值参数包括所述样本人脸的起始坐标、所述样本人脸的宽度以及所述样本人脸的高度;
对所述样本人脸的真值参数执行归一化操作,得到所述样本人脸的归一化真值参数,计算所述样本人脸的归一化真值参数与所述样本人脸的特征尺寸之间的乘积值,作为所述样本人脸的目标真值参数;
计算所述样本人脸的目标真值参数与所述样本人脸的锚框的交并比,得到所述样本人脸对应的交并比值,并判断所述交并比值是否大于等于确定出的交并比值阈值,当判断出大于等于所述交并比值阈值时,基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数,所述样本人脸的真值偏移值参数包括所述样本人脸的真值坐标偏移值、所述样本人脸的真值高度偏移值以及所述样本人脸的真值宽度偏移值;
保存所述样本人脸对应的目标信息,所述样本人脸对应的目标信息包括所述样本人脸的真值偏移值参数以及所述样本人脸的锚框的标识;
确定所有所述样本人脸图像的所有所述样本人脸中其对应的交并比值大于等于所述交并比值阈值的所有所述样本人脸对应的目标信息,作为所述训练样本人脸图像集对应的真值偏移值结果;
其中,所述训练样本人脸图像集中每个所述样本人脸图像包含的样本人脸均存在对应的预测参数。
作为一种可选的实施方式,在本发明第一方面中,所述基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数,包括:
将所述样本人脸的目标真值坐标值向下取整,得到所述样本人脸的取整坐标值,并基于所述样本人脸的目标真值坐标值减去所述样本人脸的取整坐标值,得到所述样本人脸的真值坐标偏移值;
确定所述样本人脸的真值坐标偏移值、所述样本人脸的目标真值宽度偏移值以及所述样本人脸的目标真值高度偏移值,作为所述样本人脸的真值偏移值参数。
作为一种可选的实施方式,在本发明第一方面中,每个所述样本人脸对应的预测参数包括每个所述样本人脸对应的预测图像框的预测参数以及每个所述样本人脸对应的预测人脸确定出的关键点的预测参数,所述样本人脸的真值偏移值参数还包括所述样本人脸关键点的真值偏移值参数;
其中,所述基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值结果确定所述训练样本人脸图像集对应的预测总损失值,包括:
对每个所述样本人脸图像的每个所述样本人脸执行以下操作:
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值;
根据所述样本人脸对应的预测人脸关键点的预测参数以及所述样本人脸关键点的真值偏移值参数,计算所述样本人脸对应的预测人脸关键点的回归损失值;
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸所在坐标系中每个像素点的分类损失值,并从所有所述像素点中筛选出正像素样本和负像素样本,所述正像素样本为所述样本人脸所在坐标系中所述样本人脸的取整坐标值所对应的像素点,所述负像素样本为所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由大到小排序在前预设百分比的所有像素点或者所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由小到大排序在后预设百分比的所有像素点;
计算所述样本人脸的正像素样本对应的分类损失值与所述样本人脸的负像素样本对应的分类损失值之间的分类损失均值,作为所述样本人脸对应的目标预测分类损失值;
基于所述样本人脸对应的预测图像框的回归损失值、所述样本人脸对应的预测图像框的准确度的损失值、所述样本人脸对应的预测人脸关键点的回归损失值以及所述样本人脸对应的目标预测分类损失值,计算所述样本人脸对应的预测总损失值。
作为一种可选的实施方式,在本发明第一方面中,每个所述样本人脸对应的预测参数还包括每个所述样本人脸对应的预测图像框的准确率;
其中,所述根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值,包括:
计算所述样本人脸对应的预测参数与所述样本人脸的特征尺寸的乘积值,作为所述样本人脸的目标预测参数;
根据所述样本人脸的目标预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值;
根据所述样本人脸的目标预测参数以及所述样本人脸对应的预测图像框的准确率,计算所述样本人脸对应的预测图像框的准确度的损失值。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:基于确定出的聚类方法对训练样本人脸图像集中所有所述训练样本人脸图像执行聚类操作,得到至少一个锚框,并确定所有所述锚框作为确定出的锚框;
其中,所有所述锚框为当所有所述样本人脸图像对应的聚类中心不再发生变动时或者所有所述样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值时对应的锚框。
本发明实施例第二方面公开了一种基于深度学习的人脸检测系统,所述人脸检测系统包括:
分析模块,用于将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析;
获取模块,用于获取所述轻量级人脸检测模型输出的检测结果,作为所有所述目标人脸图像对应的检测结果;
确定模块,用于从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果;
其中,每帧所述目标人脸图像的检测结果包括每帧所述目标人脸图像的预测图像框的人脸分类置信度、每帧所述目标人脸图像的预测图像框的偏移值、每帧所述目标人脸图像的预测图像框的准确度以及每帧所述目标人脸图像的预测人脸关键点的偏移值。
作为一种可选的实施方式,在本发明第二方面中,每帧所述目标人脸图像包括至少一个目标人脸,每个所述目标人脸对应至少一个所述预测图像框,每帧所述目标人脸图像对应的检测结果包括每帧所述目标人脸图像中每个所述目标人脸的预测图像框对应的检测结果;
其中,所述确定模块从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果的方式具体为:
对每帧所述目标人脸图像的每个所述目标人脸执行以下操作:
根据每个所述目标人脸的每个所述预测图像框的偏移值、每个所述预测图像框在对应的坐标系的坐标点、每个所述目标人脸的输出锚框的宽度和高度以及所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层的宽度和高度,计算每个所述目标人脸的每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度;
计算所述目标人脸的每个所述预测图像框的人脸分类置信度与所述目标人脸的每个所述预测图像框的准确度的目标乘积值,并从所述目标人脸的所有所述预测图像框中选择最大目标乘积值对应的预测图像框的检测结果作为所述目标人脸的检测结果;
确定每帧所述目标人脸图像中最大目标乘积值对应的预测图像框的检测结果,作为与确定出的标准结果匹配的所有目标检测结果。
作为一种可选的实施方式,在本发明第二方面中,每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度的计算公式如下:
bx=(sigmoid(tx)+cx)*sw;
by=(sigmoid(ty)+cy)*sh;
其中,(bx,by,bw,bh)表示所述预测图像框的中心点坐标、所述预测图像框的宽度与高度,(cx,cy)表示所述预测图像框在对应的坐标系的坐标点,)pw,ph)表示所述目标人脸的输出锚框的宽度和高度,(sw,sh)表示所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层的宽度和高度,(tx,ty,tw,th)表示所述预测图像框的偏移值。
作为一种可选的实施方式,在本发明第二方面中,所述人脸检测系统还包括:
训练模块,用于将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练;
判断模块,用于判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件;
所述确定模块,还用于当所述判断模块判断出满足所述训练条件时,确定满足所述训练条件的所述基本神经网络模型为确定出的轻量级人脸检测模型;
所述训练模块,还用于当所述判断模块判断出不满足所述训练条件时,重新执行所述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并触发所述判断模块执行所述的判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件的操作。
作为一种可选的实施方式,在本发明第二方面中,所述判断模块包括:
获取子模块,用于获取所述基本神经网络模型输出的训练结果,作为所述训练样本人脸图像集对应的预测参数;
计算子模块,用于计算所述训练样本人脸图像集对应的真值偏移值结果;
确定子模块,用于基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值结果确定所述训练样本人脸图像集对应的预测总损失值;
判断子模块,用于判断所述预测总损失值是否稳定于某一损失值;
所述确定子模块,还用于当所述判断子模块判断出所述损失值稳定于所述某一损失值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件;或者,
判断子模块,用于判断所述基本神经网络模型的训练次数是否大于等于确定出的训练次数阈值;
确定子模块,用于当所述判断子模块判断出大于等于所述训练次数阈值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件。
作为一种可选的实施方式,在本发明第二方面中,所述训练样本人脸图像集中每个所述训练样本人脸图像中包含至少一个样本人脸;
其中,所述计算子模块计算所述训练样本人脸图像集对应的真值偏移值结果的方式具体为:
对每个所述训练样本人脸图像的每个所述样本人脸执行以下操作:
基于确定出的锚框映射所述样本人脸,得到所述样本人脸的锚框,获取所述样本人脸的真值参数,所述样本人脸的真值参数包括所述样本人脸的起始坐标、所述样本人脸的宽度以及所述样本人脸的高度;
对所述样本人脸的真值参数执行归一化操作,得到所述样本人脸的归一化真值参数,计算所述样本人脸的归一化真值参数与所述样本人脸的特征尺寸之间的乘积值,作为所述样本人脸的目标真值参数;
计算所述样本人脸的目标真值参数与所述样本人脸的锚框的交并比,得到所述样本人脸对应的交并比值,并判断所述交并比值是否大于等于确定出的交并比值阈值,当判断出大于等于所述交并比值阈值时,基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数,所述样本人脸的真值偏移值参数包括所述样本人脸的真值坐标偏移值、所述样本人脸的真值宽度偏移值以及所述样本人脸的真值高度偏移值;
保存所述样本人脸对应的目标信息,所述样本人脸对应的目标信息包括所述样本人脸的真值偏移值参数以及所述样本人脸的锚框的标识;
确定所有所述训练样本人脸图像的所有所述样本人脸中其对应的交并比值大于等于所述交并比值阈值的所有所述样本人脸对应的目标信息,作为所述训练样本人脸图像集对应的真值偏移值结果;
其中,所述训练样本人脸图像集中每个所述训练样本人脸图像包含的样本人脸均存在对应的预测参数。
作为一种可选的实施方式,在本发明第二方面中,所述计算子模块基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数的方式具体为:
将所述样本人脸的目标真值坐标值向下取整,得到所述样本人脸的取整坐标值,并基于所述样本人脸的目标真值坐标值减去所述样本人脸的取整坐标值,得到所述样本人脸的真值坐标偏移值;
确定所述样本人脸的真值坐标偏移值、所述样本人脸的目标真值宽度偏移值以及所述样本人脸的目标真值宽度偏移值,作为所述样本人脸的真值偏移值参数。
作为一种可选的实施方式,在本发明第二方面中,每个所述样本人脸对应的预测参数包括每个所述样本人脸对应的预测图像框的预测参数以及每个所述样本人脸对应的预测人脸关键点的预测参数,所述样本人脸的真值偏移值参数还包括所述样本人脸关键点的真值偏移值参数;
所述确定子模块基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值的结果确定所述训练样本人脸图像集对应的预测总损失值的方式具体为:
对每个所述样本人脸图像的每个所述样本人脸执行以下操作:
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值;
根据所述样本人脸对应的预测人脸关键点的预测参数以及所述样本人脸关键点的真值偏移值参数,计算所述样本人脸对应的预测人脸关键点的回归损失值;
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸所在坐标系中每个像素点的分类损失值,并从所有所述像素点中筛选出正像素样本和负像素样本,所述正像素样本为所述样本人脸所在坐标系中所述样本人脸的取整坐标值所对应的像素点,所述负像素样本为所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由大到小排序在前预设百分比的所有像素点或者所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由小到大排序在后预设百分比的所有像素点;
计算所述样本人脸的正像素样本对应的分类损失值与所述样本人脸的负像素样本对应的分类损失值之间的分类损失均值,作为所述样本人脸对应的目标预测分类损失值;
基于所述样本人脸对应的预测图像框的回归损失值、所述样本人脸对应的预测图像框的准确度的损失值、所述样本人脸对应的预测人脸关键点的回归损失值以及所述样本人脸对应的目标预测分类损失值,计算所述样本人脸对应的预测总损失值。
作为一种可选的实施方式,在本发明第二方面中,每个所述样本人脸对应的预测参数还包括每个所述样本人脸对应的预测图像框的准确率;
其中,所述确定子模块根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值,包括:
计算所述样本人脸对应的预测参数与所述样本人脸的特征尺寸的乘积值,作为所述样本人脸的目标预测参数;
根据所述样本人脸的目标预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值;
根据所述样本人脸的目标预测参数以及所述样本人脸对应的预测图像框的准确率,计算所述样本人脸对应的预测图像框的准确度的损失值。
作为一种可选的实施方式,在本发明第二方面中,所述人脸检测系统还包括:
聚类模块,用于基于确定出的聚类方法对所有训练样本人脸图像集中所述训练样本人脸图像执行聚类操作,得到至少一个锚框;
所述确定模块,还用于确定所有所述锚框作为确定出的锚框;
其中,所有所述锚框为当所有所述样本人脸图像对应的聚类中心不再发生变动时或者所有所述样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值时对应的锚框。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,公开了一种基于深度学习的人脸检测方法及系统,该方法包括:将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析,并获取轻量级人脸检测模型输出的检测结果,作为所有目标人脸图像对应的检测结果;从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果;其中,每帧目标人脸图像的检测结果包括每帧目标人脸图像的预测图像框的人脸分类置信度、每帧目标人脸图像的预测图像框的偏移值、每帧目标人脸图像的预测图像框的准确度以及每帧目标人脸图像的预测人脸关键点的偏移值。可见,本发明实施通过将多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于深度学习的人脸检测方法的流程示意图;
图2是本发明实施例公开的另一种基于深度学习的人脸检测方法的流程示意图;
图3是本发明实施例公开的一种基于深度学习的人脸检测系统的结构示意图;
图4是本发明实施例公开的另一种基于深度学习的人脸检测系统的结构示意图;
图5是本发明实施例公开的又一种基于深度学习的人脸检测系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种基于深度学习的人脸检测方法及系统,能够通过将多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。
实施例一请参阅图1,图1是本发明实施例公开的一种基于深度学习的人脸检测方法的流程示意图。如图1所示,该基于深度学习的人脸检测方法可以包括以下操作:
101、将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析,并获取该轻量级人脸检测模型输出的检测结果,作为所有目标人脸图像对应的检测结果。
本发明实施例中,可选的,所有目标人脸图像可以是对实时采集到的视频处理成帧的图像,也可以是对已经采集到的视频处理成帧的图像,优选实时采集到的。进一步的,所有目标人脸图像可以是从视频处理成帧的所有图像中间隔预设数量帧的图像,例如:每间隔6帧获取一帧作为所需的目标人脸图像。
本发明实施例中,可选的,每帧目标人脸图像的检测结果包括每帧目标人脸图像的预测图像框对应的人脸分类置信度、每帧目标人脸图像的预测图像框的偏移值、每帧目标人脸图像的预测图像框的准确度以及每帧目标人脸图像的预测人脸关键点的偏移值。其中,当预测图像框对应的人脸分类置信度大于等于确定出的人脸分类置信度阈值时,表示预测图像框中的图像为人脸,即此时预测图像框为预测人脸框。其中,每帧目标人脸图像的预测人脸关键点包括每帧目标人脸图像的预测人脸左眼中心关键点、右眼中心关键点、鼻子关键点、左嘴角关键点、右嘴角关键点中的至少一种。进一步的,还可以包括头顶关键点、左眉毛中心关键点、右眉毛中心关键点、左脸颊中心关键点以及右脸颊中心关键点等中的至少一种。这样人脸图像的检测结果包括的内容越多,越有利于提高人脸检测的准确性以及可靠性。又进一步的,每帧目标人脸图像包括至少一个目标人脸,且每个目标人脸至少存在一个预测图像框。又进一步的,在获取到目标人脸图像之后,先对目标人脸图像执行减均值和/或除方差操作,再将执行减均值和/或除方差操作后的目标人脸图像输入轻量级人脸检测模型中进行分析之前,这样通过将更准确的人脸图像输入模型中进行分析,有利于提高人脸图像的检测结果的分析效率。又进一步的,在获取到目标人脸图像之后,先判断目标人脸图像的尺寸是否满足轻量级人脸检测模型的需求,若满足,则执行步骤101,若不满足,则调整目标人脸图像的尺寸以满足轻量级人脸检测模型的需求,再执行步骤101。这样能够减少由于因人脸图像的尺寸不满足轻量级人脸检测模型的尺寸要求而导致无法检测的发生情况,提高了人脸图像的检测结果的检测准确性以及效率。
102、从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果。
可见,实施图1所描述的基于深度学习的人脸检测方法通过将多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。
在一个可选的实施例中,每帧目标人脸图像包括至少一个目标人脸,每个目标人脸对应至少一个预测图像框,每帧目标人脸图像对应的检测结果包括每帧目标人脸图像中每个目标人脸的预测图像框对应的检测结果;
其中,从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果,包括:
对每帧目标人脸图像的每个目标人脸执行以下操作:
根据每个目标人脸的每个预测图像框的偏移值、每个预测图像框在对应的坐标系的坐标点、每个目标人脸的输出锚框的宽度和高度以及目标人脸图像的宽度和高度分别除以轻量级人脸检测模型的输出层所得到的宽度和高度,计算每个目标人脸的每个预测图像框的中心点坐标、每个预测图像框的宽度与高度;
计算目标人脸的每个预测图像框对应的人脸分类置信度与目标人脸的每个预测图像框的精准度的目标乘积值,并从目标人脸的所有预测图像框中选择最大目标乘积值对应的预测图像框的检测结果作为目标人脸的检测结果;
确定每帧目标人脸图像中最大目标乘积值对应的预测图像框的检测结果,作为与确定出的标准结果匹配的所有目标检测结果。
该可选的实施例中,可选的,每个目标人脸的预测图像框的中心点坐标、每个目标人脸的预测图像框的宽度与高度的计算公式如下:
bx=(sigmoid(tx)+cx)*sw;
by=(sigmoid(ty)+cy)*sh;
其中,(bx,by,bw,bh)表示每个目标人脸的预测图像框的中心点坐标、每个目标人脸的预测图像框的宽度与高度;(cx,cy)表示预测图像框在对应的坐标系中的坐标点,(pw,ph)表示目标人脸的输出锚框的宽度和高度,(sw,sh)表示目标人脸图像的宽度和高度分别除以轻量级人脸检测模型的输出层的宽度和高度,(tx,ty,tw,th)表示预测图像框的偏移值。
该可选的实施例中,可选的,目标人脸的预测关键点坐标的计算方法请参阅上述的目标人脸的预测图像框的中心点坐标、每个目标人脸的预测图像框的宽度与高度的计算方法,此时,上式中的(tx,ty)表示预测人脸关键点的坐标偏移值,在此不再赘述。
可见,该可选的实施例在人脸图像输入轻量级人脸检测模型之后,通过计算目标人脸图像的预测图像框的中心点坐标、宽度和高度,并结合预测图像框的准确度与每个预测图像框之间的交并比值,能够获取到目标人脸图像中每个目标人脸的满足条件的检测结果,提高了每个目标人脸的检测结果的计算准确性以及可靠性。
实施例二
请参阅图2,图2是本发明实施例公开的另一种基于深度学习的人脸检测方法的流程示意图。如图2所示,该基于深度学习的人脸检测方法可以包括以下操作:
201、将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,判断该基本神经网络模型的当前训练条件是否满足确定出的训练条件。当判断出满足训练条件时,触发执行步骤202;当判断出不满足训练条件时,重新执行步骤201。
本发明实施例中,可选的,训练样本人脸图像集中的样本人脸图像为符合条件的人脸图像和/或Widerface数据集中的人脸图像。
本发明实施例中,可选的,在执行步骤201之前,该方法还可以包括以下步骤:
在其他训练样本人脸图像集(如:ImageNet数据集)中的每个样本人脸图像,基于初始特征金字塔获取不同分辨率的样本人脸图像,并对不同分辨率的样本人脸图像进行上采样,再利用上下文模块对上采样的样本人脸图像以及对应尺寸的样本人脸图像进行融合,对基本神经网络模型的主干网络进行训练,以对基本神经网络模型的主干网络的参数进行初始化,得到初始化后的基本神经网络模型,即对基本神经网络模型的主干网络中不同卷积层参数进行初始化,并保留后五个阶段的卷积层的参数(C2、C3、C4、C5、C6),以及触发执行步骤201,此时,步骤201中的基本神经网络模型为初始化后的基本神经网络模型,这样通过对基本神经网络模型的主干网络的卷积层参数进行初始化,能够减少因在训练基本神经网络模型的过程中陷入局部最优的发生情况,提高模型的特征表达能力。
202、确定满足训练条件的基本神经网络模型为确定出的轻量级人脸检测模型,并触发执行步骤203。
203、将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析,并获取该轻量级人脸检测模型输出的检测结果,作为所有目标人脸图像对应的检测结果。
204、从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果。
本发明实施例中,针对步骤203、步骤204的相关描述请参照实施例一中针对步骤101-步骤102的详细描述,本发明实施例不再赘述。
可见,实施图2所描述的基于深度学习的人脸检测方法能够通过将采集到的多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。此外,通过基于满足图像全局优化要求的人脸模型的主干网络训练样本人脸图像,能够获取到即使在具有应用于资源受限的嵌入式端也能够使用的且高准确性的轻量级人脸检测模型,有利于后续直接使用该模型直接对采集到的实际场景的人脸图像进行检测,有利于提高人脸图像的实时检测准确性以及效率。
在一个可选的实施例中,判断基本神经网络模型的当前训练条件是否满足确定出的训练条件,包括:
获取基本神经网络模型输出的训练结果,作为训练样本人脸图像集对应的预测参数;
计算训练样本人脸图像集对应的真值偏移值结果,并基于训练样本人脸图像集对应的预测参数与训练样本人脸图像集对应的真值偏移值结果确定训练样本人脸图像集对应的预测总损失值,并判断预测总损失值是否稳定于某一损失值;
当判断出预测总损失值稳定于某一损失值时,确定基本神经网络模型的当前训练条件满足确定出的训练条件;或者,
判断基本神经网络模型的训练次数是否大于等于确定出的训练次数阈值,当判断出大于等于训练次数阈值时,确定基本神经网络模型的当前训练条件满足确定出的训练条件。
可见,该可选的实施例通过在判断出训练样本人脸图像对应的预测总损失值收敛,即基本神经网络模型拟合时,或者,在基本神经网络模型的训练次数达到预预设次数时,能够确定基本神经网络模型训练完成,能够丰富基本神经网络模型的训练完成的确定方式,提高基本神经网络模型的训练完成的确定准确性以及可靠性。
在另一个可选的实施例中,上述训练样本人脸图像集中每个样本人脸图像中包含至少一个样本人脸。以及可选的,计算训练样本人脸图像集对应的真值偏移值结果,包括:
对每个样本人脸图像的每个样本人脸执行以下操作:
基于确定出的锚框映射样本人脸,得到样本人脸的锚框,获取样本人脸的真值参数,样本人脸的真值参数包括样本人脸的起始坐标、样本人脸的宽度以及样本人脸的高度;
对样本人脸的真值参数执行归一化操作,得到样本人脸的归一化真值参数,计算样本人脸的归一化真值参数与样本人脸的特征尺寸之间的乘积值,作为样本人脸的目标真值参数;
计算样本人脸的目标真值参数与样本人脸的锚框的交并比,得到样本人脸对应的交并比值,并判断交并比值是否大于等于确定出的交并比值阈值,当判断出大于等于交并比值阈值时,基于样本人脸的目标真值参数,获取样本人脸的真值偏移值参数,样本人脸的真值偏移值参数包括样本人脸的真值坐标偏移值、样本人脸的真值宽度偏移值以及样本人脸的真值高度偏移值;
保存样本人脸对应的目标信息,该样本人脸对应的目标信息包括样本人脸的真值偏移值参数以及样本人脸的锚框的标识;
确定所有训练样本人脸图像的所有样本人脸中其对应的交并比值大于等于交并比值阈值的所有样本人脸对应的目标信息,作为训练样本人脸图像集对应的真值偏移值结果;
其中,训练样本人脸图像集中每个样本人脸图像包含的样本人脸均存在对应的预测参数。
该可选的实施例中,每个样本人脸的锚框的数量大于等于1,即每个人脸的真值偏移值结果的数量大于等于1。
该可选的实施例中,样本人脸的真值高度偏移值以及样本人脸的真值宽度偏移值等于样本人脸的目标真值参数中包括的样本人脸的目标真值宽度和样本人脸的目标真值宽度偏移值。
该可选的实施例中,可选的,基于样本人脸的目标真值参数,获取样本人脸的真值偏移值参数,包括:
将样本人脸的目标真值坐标值向下取整,得到样本人脸的取整坐标值,并基于样本人脸的目标真值坐标值减去样本人脸的取整坐标值,得到样本人脸的真值坐标偏移值;
确定样本人脸的真值坐标偏移值、样本人脸的目标真值宽度偏移值以及样本人脸的目标真值高度偏移值,作为样本人脸的真值偏移值参数。
可见,该可选的实施例当归一化的样本人脸的真值参数与样本人脸的锚框之间的交并比值较大时,方获取样本人脸的真值偏移值参数,能够获取到高准确度的样本人脸的真值偏移值参数,从而降低训练样本人脸图像对应的总损失值,以及对样本人脸的真值进行归一化,以及采用聚类方法获得的人脸的输出锚框,以便于计算这两者之间的交并比,能够提高交并比的计算准确性,从而提高基本神经网络模型的收敛准确性以及效率。
在又一个可选的实施例中,每个样本人脸对应的预测参数包括每个样本人脸对应的预测图像框的预测参数以及每个样本人脸对应的预测人脸关键点的预测参数,样本人脸的真值偏移值参数还包括样本人脸关键点的真值偏移值参数;
其中,基于训练样本人脸图像集对应的预测参数与训练样本人脸图像集对应的真值偏移值的结果确定训练样本人脸图像集对应的预测总损失值,包括:
对每个样本人脸图像的每个样本人脸执行以下操作:
根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值以及样本人脸对应的预测图像框的准确度的损失值;
根据样本人脸对应的预测人脸关键点的预测参数以及样本人脸关键点的真值偏移值参数,计算样本人脸对应的预测人脸关键点的回归损失值;
根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸所在坐标系中每个像素点的分类损失值,并从所有像素点中筛选出正像素样本和负像素样本,正像素样本为样本人脸所在坐标系中样本人脸的取整坐标值所对应的像素点,负像素样本为样本人脸所在坐标系中除正像素样本之外的所有像素点中其分类损失值由大到小排序在前预设百分比(如70%)的所有像素点或者样本人脸所在坐标系中除正像素样本之外的所有像素点中其分类损失值由小到大排序在后预设百分比的所有像素点;
计算样本人脸的正像素样本对应的分类损失值与样本人脸的负像素样本对应的分类损失值之间的分类损失均值,作为样本人脸对应的目标预测分类损失值;
基于样本人脸对应的预测图像框的回归损失值、样本人脸对应的预测图像框的准确度的损失值、样本人脸对应的预测人脸关键点的回归损失值以及样本人脸对应的目标预测分类损失值,计算样本人脸对应的预测总损失值。
该可选的实施例中,可选的,样本人脸对应的预测人脸关键点包括样本人脸对应的预测左右眼中心关键点、鼻子关键点以及左右嘴角关键点。其中,进一步的,还可以包括头顶关键点、左眉毛中心关键点、右眉毛中心关键点、左脸颊中心关键点以及右脸颊中心关键点等中的至少一种。
需要说明的是,全文中的目标预测分类损失值对应人脸分类置信度的损失值。
该可选的实施例中,每个样本人脸对应的预测参数还包括每个样本人脸对应的预测图像框的准确率。可选的,根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值以及样本人脸对应的预测图像框的准确度的损失值,包括:
计算样本人脸对应的预测参数与样本人脸的特征尺寸的乘积值,作为样本人脸的目标预测参数;
根据样本人脸的目标预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值;
根据样本人脸的目标预测参数以及样本人脸对应的预测图像框的准确率,计算样本人脸对应的预测图像框的准确度的损失值。
该可选的实施例中,可选的,每个样本人脸对应至少一个预测图像框;样本人脸对应的预测图像框的回归损失值的计算公式如下:
其中,表示样本人脸对应的第i个预测图像框的回归损失值,ti={tx,ty,tw,th}i表示样本人脸对应的第i个预测图像框的起始预测坐标偏移值以及该预测图像框的预测宽度和预测高度,表示样本人脸的真值坐标偏移值、样本人脸的真值宽度偏移值以及样本人脸的真值高度偏移值。
该可选的实施例中,可选的,样本人脸对应的预测图像框的准确度的损失值的计算公式如下:
Lobj(i)=-yilog(pi)-(1-yi)log(1-pi);
其中,Lobj(i)表示样本人脸对应的第i个预测图像框的准确度的损失值,a表示超参数且0≤a≤1,pi表示样本人脸对应的第i个预测图像框的准确率。
该可选的实施例中,可选的,样本人脸对应的预测人脸关键点的回归损失值的计算公式如下:
R是平滑的L1损失函数,其公式为:
式中,分别表示样本人脸对应的第i个预测人脸左右眼中心关键点的预测坐标偏移值、鼻子关键点的预测坐标偏移值以及左右嘴角关键点的预测坐标偏移值,分别表示样本人脸的左右眼中心关键点中心的真值坐标偏移值、鼻子关键点的真值坐标偏移值以及左右嘴角关键点的真值坐标偏移值。
该可选的实施例中,可选的,样本人脸对应的目标预测分类损失值的计算公式如下:
式中,Lcls样本人脸对应的目标预测分类损失值,N表示正像素样本的数量和负像素样本的数量之和,L(pj,yj)表示样本人脸所在坐标系中第j个像素点的分类损失值,yj表示样本人脸所在坐标系中第j个像素点的人脸分类标签,pj表示样本人脸所在坐标系中第j个像素点为人脸像素点的概率。
该可选的实施例中,可选的,样本人脸对应的预测总损失值的计算公式如下:
式中,L表示样本人脸对应的预测总损失值,N1表示样本人脸对应的预测图像框的总数,λ1、λ2、λ3和λ4分别表示不同损失函数的权重。进一步的,损失函数的损失值越小,其对应的权重值就越大。
可见,该可选的实施例通过分别计算样本人脸对应的预测图像框的回归损失值、样本人脸对应的预测图像框的准确度的损失值、样本人脸对应的预测图像框关键点的回归损失值以及样本人脸对应的目标预测分类损失值,以及基于这些损失值计算样本人脸对应的预测总损失值,能够提高样本人脸对应的预测总损失值的计算准确性以及可靠性,从而提高基本神经网络模型的训练准确性以及可靠性,提高基本神经网络模型的收敛速度。
在又一个可选的实施例中,该基于深度学习的人脸检测方法还可以包括以下操作:
基于确定出的聚类方法对训练样本人脸图像集中样本人脸图像执行聚类操作,得到至少一个锚框,并确定所有锚框作为上述确定出的锚框;
其中,所有锚框为当所有样本人脸图像对应的聚类中心不再发生变动时或者所有样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值时对应的锚框。
本发明实施例中,可选的,训练样本人脸图像集中的样本人脸图像为符合条件的人脸图像和/或Widerface数据集中的人脸图像。
该可选的实施例中,可选的,基于确定出聚类方法训练样本人脸图像集中样本人脸图像执行聚类操作,得到至少一个锚框,包括:
随机选取训练样本人脸图像集中N个训练样本人脸图像构建K个聚类中心,样本人脸图像样本由宽度和高度组成;
计算样本人脸图像与每个聚类中心的交并比,根据样本人脸图像对应的交并比计算每个聚类中心对应的损失值,其中,该损失值L的计算公式如下:
L=1-iou(sample_box,cluster_box);
式中,sample_box用于表示样本人脸框,cluster_box用于表示每个聚类中心框;
计算每个聚类的训练样本人脸图像的中心坐标的均值,作为新的聚类中心,并重复上述的计算样本人脸图像与每个聚类中心的交并比,根据样本人脸图像对应的交并比计算每个聚类中心对应的损失值的步骤,直至所有样本人脸图像对应的聚类中心不再发生变动时或者所有样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值。
可见,该可选的实施例通过将样本人脸图像与对应的聚类中心进行交并比,得到新的聚类中心,并重复获取交并比的步骤,直到聚类中心不再变化或者迭代次数达到设定的次数,能够提高锚框的获取准确性以及效率,从而有利于提高样本人脸图像的真值偏移值参数的确定准确性以及效率;以及通过结合先验框计算满足要求的锚框,提高了实际场景中的人脸检测位置的精准度。
在又一个可选的实施例中,基于确定出的聚类方法对训练样本人脸图像集中样本人脸图像执行聚类操作,得到至少一个锚框之后,该基于深度学习的人脸检测方法还可以包括以下操作:
针对每个锚框的高与宽,保持锚框的宽度不变,按照确定出的高宽比缩放锚框的高度,得到第一锚框,保持锚框的高度不变,按照确定出的高宽比缩放锚框的宽度,得到第二锚框,分别计算锚框、第一锚框以及第二锚框的宽度均值与高度均值,并将锚框对应的宽度均值与锚框对应的高度均值所组成的锚框更新锚框,得到更新后的锚框;
该可选的实施例中,可选的,确定所有锚框作为确定出的锚框,包括:
确定更新后的所有锚框作为确定出的锚框。
举例来说,保持锚框的宽度不变,按照高宽比1:1和1:1.5计算高度,得到两个第一锚框,然后保持锚框的高度不变,按照高宽比1:1和1:1.5计算宽度,得到两个第二锚框,并计算5个锚框的宽度和高度的均值所组成的锚框作为上述确定出的锚框。
可见,该可选的实施例通过分别对锚框的宽度和高度进行适当的缩放,然后获取原锚框和缩放后的锚框的高度和宽度均值所围成的锚框作为所需的锚框,能够进一步提高锚框的获取准确性以及可靠性。
在又一个可选的实施例中,在执行上述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练的操作之前,或者,在执行上述的基于确定出的聚类方法对训练样本人脸图像集中样本人脸图像执行聚类操作,得到至少一个锚框的操作之前,该基于深度学习的人脸检测方法还可以包括以下操作:
从训练样本人脸图像集的所有样本人图像中查询其面积小于等于确定出的面积阈值(如6400(80*80))的第一样本人脸图像,并对其面积小于等于面积阈值的所有第一样本人脸图像执行尺寸放大操作,得到所有第二样本人脸图像;
对所有样本人图像中其面积大于面积阈值的所有第三样本人脸图像以及所有第二样本人脸图像执行预处理操作,其中,预处理操作包括镜像操作、图像翻转操作、图像亮度调整操作、图像对比度调整操作以及图像色度调整操作中的一种或多种组合;
将被执行预处理操作的所有样本人脸图像更新至训练样本人脸图像,并执行上述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练的操作,或者执行上述的基于确定出的聚类方法对训练样本人脸图像集中样本人脸图像执行聚类操作,得到至少一个锚框的操作。
该可选的实施例中,可选的,在对样本人脸图像执行图像翻转操作之前,先从对应的样本人脸图像中获取人脸,再对该人脸执行至少一次图像翻转操作,并保存所有翻转图像以及每个翻转图像的坐标。进一步的,在获取到人脸之后,先获取人脸的起始坐标。例如:从样本人脸图像中获取人脸A,并对人脸A左右翻转20°、40°。
该可选的实施例中,可选的,在执行完毕上述的预处理操作,进一步判断上述所有第三样本人脸图像以及所有第二样本人脸图像是否存在其尺寸达不到上述基本神经网络模型的尺寸要求,当判断出存在时,对其尺寸达不到上述基本神经网络模型的尺寸要求的所有样本人脸图像执行插值操作,以使得达到基本神经网络模型的尺寸要求。进一步的,对执行插值操作后的样本人脸图像执行减均值和/或除方差操作,有利于进一步提高获取到满足基本神经网络模型的要求的图像的准确性以及可靠性,从而进一步提高基本神经网络模型的训练准确性,获进一步提高轻量级人脸检测模型的鲁棒性。
该可选的实施例中,可以在对样本人脸图像执行训练之前对样本人脸图像执行预处理操作,也可以在对样本人脸图像执行训练过程中对样本人脸图像执行预处理操作。
可见,该可选的实施例先通过对面积较小的人脸图像执行尺寸放大操作,再对所有样本人脸图像执行镜像、翻转等操作,丰富了样本人脸图像的多样性,能够获取到更多适合人脸检测系统的样本人脸图像,减少因小尺寸样本人脸图像放大尺寸之后其图像质量下降而影响图像识别性能的发生情况,以及通过增加更多的样本人脸图像,有利于提高轻量级人脸检测模型的训练准确性以及鲁棒性,从而提高各种复杂实际场景中人脸检测的准确性以及效率。
在又一个可选的实施例中,在执行上述的对所有样本人图像中其面积大于面积阈值的所有第三样本人脸图像以及所有第二样本人脸图像执行预处理操作之前,在该方法还包括:
判断所有第三样本人脸图像以及所有第二样本人脸图像中是否存在非法人脸图像,当判断出存在非法人脸图像时,将非法人脸图像从所有第三样本人脸图像以及所有第二样本人脸图像中进行删除,并执行上述的对所有样本人图像中其面积大于面积阈值的所有第三样本人脸图像以及所有第二样本人脸图像执行预处理操作的操作;当判断出不存在非法人脸图像时,执行上述的对所有样本人图像中其面积大于面积阈值的所有第三样本人脸图像以及所有第二样本人脸图像执行预处理操作的操作。
该可选的实施例中,非法人脸图像包括起始坐标小于0的样本人脸图像和/或宽度或高度等于0的样本人脸图像。
可见,该可选的实施例在对样本人脸图像执行预处理之前,先将非法人脸图像进行删除,能够减少对非法人脸图像执行预处理操作的发生情况,提高了对样本人脸图像的预处理准确性,提高获取到更多适合人脸检测系统的样本人脸图像的准确性以及可靠性,从而进一步提高轻量级人脸检测模型的训练准确性以及鲁棒性。
实施例三
本发明实施例公开的一种基于深度学习的轻量级人脸检测模型的训练方法,该方法包括以下步骤:
步骤一、将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,判断该基本神经网络模型的当前训练条件是否满足确定出的训练条件训练,判断该基本神经网络模型的当前训练条件是否满足确定出的训练条件。当判断出满足训练条件时,触发执行步骤二;当判断出不满足训练条件时,重新执行步骤一。
步骤二、确定满足训练条件的基本神经网络模型为确定出的轻量级人脸检测模型。
需要说明的是,本发明实施例中其他相关描述,请参阅实施例二中相关技术内容的详细描述,在此不再赘述。
可见,实施该基于深度学习的轻量级人脸检测模型的训练能够通过基于满足图像全局优化要求的人脸模型的主干网络训练样本人脸图像,能够获取到即使在具有应用于资源受限的嵌入式端也能够使用的且高准确性的轻量级人脸检测模型,有利于后续直接使用该模型直接对实际场景的人脸图像进行检测,有利于提高人脸图像的实时检测准确性以及效率。
实施例四
请参阅图3,图3是本发明实施例公开的一种基于深度学习的人脸检测系统的结构示意图。如图3所示,该基于深度学习的人脸检测系统可以包括分析模块301、获取模块302以及确定模块303,其中:
分析模块301,用于将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析。
获取模块302,用于获取轻量级人脸检测模型输出的检测结果,作为所有目标人脸图像对应的检测结果。
确定模块303,用于从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果。
其中,每帧目标人脸图像的检测结果包括每帧目标人脸图像的预测图像框对应的人脸分类置信度、每帧目标人脸图像的预测图像框的偏移值、每帧目标人脸图像的预测图像框的准确度以及每帧目标人脸图像的预测人脸关键点的偏移值。
可见,实施图3所描述的基于深度学习的人脸检测系统能够通过将多帧人脸图像输入能够适应资源受限的嵌入式端中的轻量级人脸检测模型中进行分析,并将模型输出的结果与标注结果进行比较,能够在实际场景快速获取到精确的人脸的位置,也能够提高大尺寸人脸检测精度,使其更好的应用于人脸识别上。
在另一个可选的实施例中,如图3所示,每帧目标人脸图像包括至少一个目标人脸,每个目标人脸对应至少一个预测图像框,每帧目标人脸图像对应的检测结果包括每帧目标人脸图像中每个目标人脸的预测图像框对应的检测结果;
其中,确定模块303从所有目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果的方式具体为:
对每个目标人脸图像的每个目标人脸执行以下操作:
根据目标人脸的每个预测图像框的偏移值、每个预测图像框在对应的坐标系的坐标点、每个目标人脸的输出锚框的宽度和高度以及目标人脸图像的宽度和高度分别除以轻量级人脸检测模型的输出层所得到的宽度和高度,计算每个目标人脸的每个预测图像框的中心点坐标、每个预测图像框的宽度与高度;
计算每个预测图像框对应的人脸分类置信度与目标人脸的每个预测图像框的准确度的目标乘积值,并从目标人脸的所有预测图像框中选择最大目标乘积值对应的预测图像框的检测结果作为目标人脸的检测结果;确定每帧目标人脸图像中最大目标乘积值对应的预测图像框的检测结果,作为与确定出的标准结果匹配的所有目标检测结果。
该可选的实施例中,每个预测图像框的中心点坐标、每个预测图像框的宽度与高度的计算公式如下:
bx=(sigmoid(tx)+cx)*sw;
by=(sigmoid(ty)+cy)*sh;
其中,(bx,by,bw,bh)表示每个目标人脸的预测图像框的中心点坐标、每个目标人脸的预测图像框的宽度与高度;(cx,cy)表示预测图像框在对应的坐标系中的坐标点,(pw,ph)表示目标人脸的输出锚框的宽度和高度,(sw,sh)表示目标人脸图像的宽度和高度分别除以轻量级人脸检测模型的输出层的宽度和高度,(tx,ty,tw,th)表示预测图像框的偏移值。
可见,实施图3所描述的基于深度学习的人脸检测系统能够在人脸图像输入轻量级人脸检测模型之后,通过计算目标人脸图像的预测图像框的中心点坐标、宽度和高度,并结合预测图像框的准确度与每个预测图像框之间的交并比值,能够获取到目标人脸图像中每个目标人脸的满足条件的检测结果,提高了每个目标人脸的检测结果的计算准确性以及可靠性。
在另一个可选的实施例中,如图4所示,人脸检测系统还包括:训练模块304以及判断模块305,其中:
训练模块304,用于将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练。
判断模块305,用于判断基本神经网络模型的当前训练条件是否满足确定出的训练条件。
确定模块303,还用于当判断模块305判断出满足训练条件时,确定满足训练条件的基本神经网络模型为确定出的轻量级人脸检测模型。
训练模块304,还用于当判断模块305判断出不满足训练条件时,重新执行上述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并触发判断模块305执行上述的判断基本神经网络模型的当前训练条件是否满足确定出的训练条件的操作。
可见,实施图4所描述的基于深度学习的人脸检测系统能够通过基于满足图像全局优化要求的人脸模型的主干网络训练样本人脸图像,能够获取到即使在具有应用于资源受限的嵌入式端也能够使用的且高准确性的轻量级人脸检测模型,有利于后续直接使用该模型直接对实际场景的人脸图像进行检测,有利于提高人脸图像的实时检测准确性以及效率。
在又一个可选的实施例中,如图4所示,判断模块305包括:
获取子模块3051,用于获取基本神经网络模型输出的训练结果,作为训练样本人脸图像集对应的预测参数。
计算子模块3052,用于计算训练样本人脸图像集对应的真值偏移值结果。
确定子模块3053,用于基于训练样本人脸图像集对应的预测参数与训练样本人脸图像集对应的真值偏移值结果确定训练样本人脸图像集对应的预测总损失值。
判断子模块3054,用于判断预测总损失值是否稳定于某一损失值。
确定子模块3053,还用于当判断子模块判断出损失值稳定于某一损失值时,确定基本神经网络模型的当前训练条件满足确定出的训练条件。或者,
判断子模块3054,用于判断基本神经网络模型的训练次数是否大于等于确定出的训练次数阈值。
确定子模块3053,用于当判断子模块3054判断出大于等于训练次数阈值时,确定基本神经网络模型的当前训练条件满足确定出的训练条件。
可见,实施图4所描述的基于深度学习的人脸检测系统通过在判断出训练样本人脸图像对应的预测总损失值收敛,即基本神经网络模型拟合时或者在基本神经网络模型的训练次数达到预预设次数时,能够确定基本神经网络模型训练完成,能够丰富基本神经网络模型的训练完成的确定方式,提高基本神经网络模型的训练完成的确定准确性以及可靠性。
在又一个可选的实施例中,如图4所示,上述训练样本人脸图像集中样本人脸图像中包含至少一个样本人脸。以及计算子模块3052计算训练样本人脸图像集对应的真值偏移值结果的方式具体为:
对每个样本人脸图像的每个样本人脸执行以下操作:
基于确定出的锚框映射样本人脸,得到样本人脸的锚框,获取样本人脸的真值参数,样本人脸的真值参数包括样本人脸的起始坐标、样本人脸的宽度以及样本人脸的高度;
对样本人脸的真值参数执行归一化操作,得到样本人脸的归一化真值参数,计算样本人脸的归一化真值参数与样本人脸的特征尺寸之间的乘积值,作为样本人脸的目标真值参数;
计算样本人脸的目标真值参数与样本人脸的锚框的交并比,得到样本人脸对应的交并比值,并判断交并比值是否大于等于确定出的交并比值阈值,当判断出大于等于交并比值阈值时,基于样本人脸的目标真值参数,获取样本人脸的真值偏移值参数,样本人脸的真值偏移值参数包括样本人脸的真值坐标偏移值、样本人脸的真值宽度偏移值以及样本人脸的真值高度偏移值;
保存样本人脸对应的目标信息,样本人脸对应的目标信息包括样本人脸的真值偏移值参数以及样本人脸的锚框的标识;
确定所有训练样本人脸图像的所有样本人脸中其对应的交并比值大于等于交并比值阈值的所有样本人脸对应的目标信息,作为训练样本人脸图像集对应的真值偏移值结果;
其中,训练样本人脸图像集中每个样本人脸图像包含的样本人脸均存在对应的预测参数。
该可选的实施例中,计算子模块3052基于样本人脸的目标真值参数,获取样本人脸的真值偏移值参数的方式具体为:
将样本人脸的目标真值坐标值向下取整,得到样本人脸的取整坐标值,并基于样本人脸的目标真值坐标值减去样本人脸的取整坐标值,得到样本人脸的真值坐标偏移值;
确定样本人脸的真值坐标偏移值、样本人脸的目标真值宽度偏移值以及样本人脸的目标真值高度偏移值,作为样本人脸的真值偏移值参数。
可见,实施图4所描述的基于深度学习的人脸检测系统当归一化的样本人脸的真值参数与样本人脸的锚框之间的交并比值较大时,方获取样本人脸的真值偏移值参数,能够获取到高准确度的样本人脸的真值偏移值参数,从而降低训练样本人脸图像对应的总损失值,以及对样本人脸的真值进行归一化,以及采用聚类方法获得的人脸的输出锚框,以便于计算这两者之间的交并比,能够提高交并比的计算准确性,从而提高基本神经网络模型的收敛准确性以及效率。
在又一个可选的实施例中,每个样本人脸对应的预测参数包括每个样本人脸对应的预测图像框的预测参数以及每个样本人脸对应的预测人脸确定出的关键点的预测参数,样本人脸的真值偏移值参数还包括样本人脸关键点的真值偏移值参数。以及如图4所示,确定子模块3053基于训练样本人脸图像集对应的预测参数与训练样本人脸图像集对应的真值偏移值结果确定训练样本人脸图像集对应的预测总损失值的方式具体为:
对每个样本人脸图像的每个样本人脸执行以下操作:
根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值以及样本人脸对应的预测图像框的准确度的损失值。
根据样本人脸对应的预测人脸关键点的预测参数以及样本人脸关键点的真值偏移值参数,计算样本人脸对应的预测人脸关键点的回归损失值;
根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸所在坐标系中每个像素点的分类损失值,并从所有像素点中筛选出正像素样本和负像素样本,正像素样本为样本人脸所在坐标系中样本人脸的取整坐标值所对应的像素点,负像素样本为样本人脸所在坐标系中除正像素样本之外的所有像素点中其分类损失值由大到小排序在前预设百分比的所有像素点或者样本人脸所在坐标系中除正像素样本之外的所有像素点中其分类损失值由小到大排序在后预设百分比的所有像素点;
计算样本人脸的正像素样本对应的分类损失值与样本人脸的负像素样本对应的分类损失值之间的分类损失均值,作为样本人脸对应的目标预测分类损失值;
基于样本人脸对应的预测图像框的回归损失值、样本人脸对应的预测图像框的准确度的损失值、样本人脸对应的预测人脸关键点的回归损失值以及样本人脸对应的目标预测分类损失值,计算样本人脸对应的预测总损失值。
该可选的实施例中,每个样本人脸对应的预测参数还包括每个样本人脸对应的预测图像框的准确率。以及如图4所示,确定子模块3053根据样本人脸对应的预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值以及样本人脸对应的预测图像框的准确度的损失值,包括:
计算样本人脸对应的预测参数与样本人脸的特征尺寸的乘积值,作为样本人脸的目标预测参数;
根据样本人脸的目标预测参数与样本人脸对应的目标信息,计算样本人脸对应的预测图像框的回归损失值;
根据样本人脸的目标预测参数以及样本人脸对应的预测图像框的准确率,计算样本人脸对应的预测图像框的准确度的损失值。
该可选的实施例中,可选的,每个样本人脸对应至少一个预测图像框;样本人脸对应的预测图像框的回归损失值的计算公式如下:
其中,表示样本人脸对应的第i个预测图像框的回归损失值,表示样本人脸对应的第i个预测图像框的起始预测坐标偏移值以及该预测图像框的预测宽度和预测高度,表示样本人脸的真值坐标偏移值、样本人脸的真值宽度偏移值以及样本人脸的真值高度偏移值。
该可选的实施例中,可选的,样本人脸对应的预测图像框的人脸的准确度损失值的计算公式如下:
Lobj(i)=-yilog(pi)-(1-yi)log(1-pi);
其中,Lobj(i)表示样本人脸对应的第i个预测图像框的人脸准确度损失值,a表示超参数且a∈[0,1],pi表示样本人脸对应的第i个预测图像框的准确率。
该可选的实施例中,可选的,样本人脸对应的预测人脸关键点包括样本人脸对应的预测左右眼中心关键点中心、鼻子关键点以及左右嘴角关键点;
样本人脸对应的预测人脸关键点的回归损失值的计算公式如下:
R是平滑的L1损失函数,其公式为:
式中,分别表示样本人脸对应的第i个预测图像框的左右眼中心关键点的预测坐标偏移值、鼻子关键点的预测坐标偏移值以及左右嘴角关键点的预测坐标偏移值,分别表示样本人脸的左右眼中心关键点真值坐标偏移值、鼻子关键点真值坐标偏移值以及左右嘴角关键点真值坐标偏移值。
该可选的实施例中,可选的,样本人脸对应的目标预测分类损失值的计算公式如下:
式中,Lcls样本人脸对应的目标预测分类损失值,N表示正像素样本的数量和负像素样本的数量之和,L(pj,yj)表示样本人脸所在坐标系中第j个像素点的分类损失值,yj表示样本人脸所在坐标系中第j个像素点的人脸分类标签,pj表示样本人脸所在坐标系中第j个像素点为人脸像素点的概率。
该可选的实施例中,可选的,样本人脸对应的预测总损失值的计算公式如下:
式中,L表示样本人脸对应的预测总损失值,N1表示样本人脸对应的预测图像框的总数,λ1、λ2、λ3和λ4分别表示不同损失函数的权重。
可见,实施图4所描述的基于深度学习的人脸检测系统通过分别计算样本人脸对应的预测图像框的回归损失值、样本人脸对应的预测图像框的准确度的损失值、样本人脸对应的预测人脸关键点的回归损失值以及样本人脸对应的目标预测分类损失值,以及基于这些损失值计算样本人脸对应的预测总损失值,能够提高样本人脸对应的预测总损失值的计算准确性以及可靠性,从而提高基本神经网络模型的训练准确性以及可靠性,提高基本神经网络模型的收敛速度。
在又一个可选的实施例中,如图4所示,人脸检测系统还包括:聚类模块306,其中:
聚类模块306,用于基于确定出的聚类方法对训练样本人脸图像集中每个样本人脸图像执行聚类操作,得到至少一个锚框。
确定模块303,还用于确定所有锚框作为确定出的锚框。
其中,所有锚框为当所有样本人脸图像对应的聚类中心不再发生变动时或者所有样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值时对应的锚框。
可见,实施图4所描述的基于深度学习的人脸检测系统通过将样本人脸图像的面积与对应的聚类中心的面积进行交并比,得到新的聚类中心,并重复获取交并比的步骤,直到聚类中心不再变化或者迭代次数达到设定的次数,能够提高锚框的获取准确性以及效率,从而有利于提高样本人脸图像的真值偏移值参数的确定准确性以及效率;以及通过结合先验框计算满足要求的锚框,提高了实际场景中的人脸检测位置的精准度。
在又一个可选的实施例中,如图4所示,人脸检测系统还包括:计算模块307以及更新模块308,其中:
计算模块307,用于在聚类模块306基于确定出的聚类方法对训练样本人脸图像集中所有样本人脸图像执行聚类操作,得到至少一个锚框之后,针对每个锚框的高与宽,保持锚框的宽度不变,按照确定出的高宽比缩放锚框的高度,得到第一锚框,保持锚框的高度不变,按照确定出的高宽比缩放锚框的宽度,得到第二锚框,分别计算锚框、第一锚框以及第二锚框的宽度均值与高度均值。
更新模块308,用于将锚框对应的宽度均值与锚框对应的高度均值所组成的锚框更新锚框,得到更新后的锚框。
其中,确定模块303确定所有锚框作为确定出的锚框的方式具体为:
确定更新后的所有锚框作为确定出的锚框。
可见,实施图4所描述的基于深度学习的人脸检测系统通过分别对锚框的宽度和高度进行适当的缩放,然后获取原锚框和缩放后的锚框的高度和宽度均值所围成的锚框作为所需的锚框,能够进一步提高锚框的获取准确性以及可靠性。
实施例五
请参阅图5,图5是本发明实施例公开的又一种基于深度学习的人脸检测系统。如图5所示,该基于深度学习的人脸检测系统可以包括:
存储有可执行程序代码的存储器501;
与存储器501耦合的处理器502;
进一步的,还可以包括与处理器502耦合的输入接口503和输出接口504;
其中,处理器502调用存储器501中存储的可执行程序代码,用于执行实施例一或实施例二所描述的基于深度学习的人脸检测方法的步骤。
实施例六
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的基于深度学习的人脸检测方法的步骤。
实施例七
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的基于深度学习的人脸检测方法的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-onlyMemory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read OnlyMemory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-OnlyMemory,OTPROM)、电子抹除式可复写只读存储器(Electrically-ErasableProgrammable Read-Only Memory,EEPROM)、只读光盘(Compact DiscRead-OnlyMemory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种基于深度学习的人脸检测方法及系统所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (18)
1.一种基于深度学习的人脸检测方法,其特征在于,所述方法包括:
将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析,并获取所述轻量级人脸检测模型输出的检测结果,作为所有所述目标人脸图像对应的检测结果;
从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果;
其中,每帧所述目标人脸图像的检测结果包括每帧所述目标人脸图像的预测图像框对应的人脸分类置信度、每帧所述目标人脸图像的预测图像框的偏移值、每帧所述目标人脸图像的预测图像框的准确度以及每帧所述目标人脸图像的预测人脸关键点的偏移值。
2.根据权利要求1所述的基于深度学习的人脸检测方法,其特征在于,每帧所述目标人脸图像包括至少一个目标人脸,每个所述目标人脸对应至少一个所述预测图像框,每帧所述目标人脸图像对应的检测结果包括每帧所述目标人脸图像中每个所述目标人脸的预测图像框对应的检测结果;
其中,所述从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果,包括:
对每帧所述目标人脸图像的每个所述目标人脸执行以下操作:
根据所述目标人脸的每个所述预测图像框的偏移值、每个所述预测图像框在对应的坐标系的坐标点、所述目标人脸的输出锚框的宽度和高度以及所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层所得到的宽度和高度,计算所述目标人脸的每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度;
计算所述目标人脸的每个所述预测图像框的人脸分类置信度与所述目标人脸的每个所述预测图像框的准确度的目标乘积值,并从所述目标人脸的所有所述预测图像框中选择最大目标乘积值对应的预测图像框的检测结果作为所述目标人脸的检测结果;
确定每帧所述目标人脸图像中最大目标乘积值对应的预测图像框的检测结果,作为与确定出的标准结果匹配的所有目标检测结果。
3.根据权利要求2所述的基于深度学习的人脸检测方法,其特征在于,每个所述预测图像框的中心点坐标、每个所述预测图像框的宽度与高度的计算公式如下:
bx=(sigmoid(tx)+cx)*sw;
by=(sigmoid(ty)+cy)*sh;
其中,(bx,by,bw,bh)表示所述预测图像框的中心点坐标、所述预测图像框的宽度与高度,(cx,cy)表示所述预测图像框在对应的坐标系的坐标点,(pw,ph)表示所述目标人脸的输出锚框的宽度和高度,(sw,sh)表示所述目标人脸图像的宽度和高度分别除以所述轻量级人脸检测模型的输出层所得到的宽度和高度,(tx,ty,tw,th)表示所述预测图像框的偏移值。
4.根据权利要求1-3任一项所述的基于深度学习的人脸检测方法,其特征在于,所述方法还包括:
将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件;
当判断出满足所述训练条件时,确定满足所述训练条件的所述基本神经网络模型为确定出的轻量级人脸检测模型;
当判断出不满足所述训练条件时,重新执行所述的将训练样本人脸图像集输入确定出的基本神经网络模型中进行训练,并判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件的操作。
5.根据权利要求4所述的基于深度学习的人脸检测方法,其特征在于,所述判断所述基本神经网络模型的当前训练条件是否满足确定出的训练条件,包括:
获取所述基本神经网络模型输出的训练结果,作为所述训练样本人脸图像集对应的预测参数;
计算所述训练样本人脸图像集对应的真值偏移值结果,并基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值结果确定所述训练样本人脸图像集对应的预测总损失值,并判断所述预测总损失值是否稳定于某一损失值;
当判断出所述预测总损失值稳定于所述某一损失值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件;或者,
判断所述基本神经网络模型的训练次数是否大于等于确定出的训练次数阈值,当判断出大于等于所述训练次数阈值时,确定所述基本神经网络模型的当前训练条件满足确定出的训练条件。
6.根据权利要求4或5所述的基于深度学习的人脸检测方法,其特征在于,所述训练样本人脸图像集中每个所述样本人脸图像中包含至少一个样本人脸;
其中,所述计算所述训练样本人脸图像集对应的真值偏移值结果,包括:
对每个所述样本人脸图像的每个所述样本人脸执行以下操作:
基于确定出的锚框映射所述样本人脸,得到所述样本人脸的锚框,获取所述样本人脸的真值参数,所述样本人脸的真值参数包括所述样本人脸的起始坐标、所述样本人脸的宽度以及所述样本人脸的高度;
对所述样本人脸的真值参数执行归一化操作,得到所述样本人脸的归一化真值参数,计算所述样本人脸的归一化真值参数与所述样本人脸的特征尺寸之间的乘积值,作为所述样本人脸的目标真值参数;
计算所述样本人脸的目标真值参数与所述样本人脸的锚框的交并比,得到所述样本人脸对应的交并比值,并判断所述交并比值是否大于等于确定出的交并比值阈值,当判断出大于等于所述交并比值阈值时,基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数,所述样本人脸的真值偏移值参数包括所述样本人脸的真值坐标偏移值、所述样本人脸的真值高度偏移值以及所述样本人脸的真值宽度偏移值;
保存所述样本人脸对应的目标信息,所述样本人脸对应的目标信息包括所述样本人脸的真值偏移值参数以及所述样本人脸的锚框的标识;
确定所有所述训练样本人脸图像的所有所述样本人脸中其对应的交并比值大于等于所述交并比值阈值的所有所述样本人脸对应的目标信息,作为所述训练样本人脸图像集对应的真值偏移值结果;
其中,所述训练样本人脸图像集中每个所述样本人脸图像包含的样本人脸均存在对应的预测参数。
7.根据权利要求6所述的基于深度学习的人脸检测方法,其特征在于,所述基于所述样本人脸的目标真值参数,获取所述样本人脸的真值偏移值参数,包括:
将所述样本人脸的目标真值坐标值向下取整,得到所述样本人脸的取整坐标值,并基于所述样本人脸的目标真值坐标值减去所述样本人脸的取整坐标值,得到所述样本人脸的真值坐标偏移值;
确定所述样本人脸的真值坐标偏移值、所述样本人脸的目标真值宽度偏移值以及所述样本人脸的目标真值高度偏移值,作为所述样本人脸的真值偏移值参数。
8.根据权利要求7所述的基于深度学习的人脸检测方法,其特征在于,每个所述样本人脸对应的预测参数包括每个所述样本人脸对应的预测图像框的预测参数以及每个所述样本人脸对应的预测人脸确定出的关键点的预测参数,所述样本人脸的真值偏移值参数还包括所述样本人脸关键点的真值偏移值参数;
其中,所述基于所述训练样本人脸图像集对应的预测参数与所述训练样本人脸图像集对应的真值偏移值结果确定所述训练样本人脸图像集对应的预测总损失值,包括:
对每个所述样本人脸图像的每个所述样本人脸执行以下操作:
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值;
根据所述样本人脸对应的预测人脸关键点的预测参数以及所述样本人脸关键点的真值偏移值参数,计算所述样本人脸对应的预测人脸关键点的回归损失值;
根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸所在坐标系中每个像素点的分类损失值,并从所有所述像素点中筛选出正像素样本和负像素样本,所述正像素样本为所述样本人脸所在坐标系中所述样本人脸的取整坐标值所对应的像素点,所述负像素样本为所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由大到小排序在前预设百分比的所有像素点或者所述样本人脸所在坐标系中除所述正像素样本之外的所有像素点中其分类损失值由小到大排序在后预设百分比的所有像素点;
计算所述样本人脸的正像素样本对应的分类损失值与所述样本人脸的负像素样本对应的分类损失值之间的分类损失均值,作为所述样本人脸对应的目标预测分类损失值;
基于所述样本人脸对应的预测图像框的回归损失值、所述样本人脸对应的预测图像框的准确度的损失值、所述样本人脸对应的预测人脸关键点的回归损失值以及所述样本人脸对应的目标预测分类损失值,计算所述样本人脸对应的预测总损失值。
9.根据权利要求8所述的基于深度学习的人脸检测方法,其特征在于,每个所述样本人脸对应的预测参数还包括每个所述样本人脸对应的预测图像框的准确率;
其中,所述根据所述样本人脸对应的预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值以及所述样本人脸对应的预测图像框的准确度的损失值,包括:
计算所述样本人脸对应的预测参数与所述样本人脸的特征尺寸的乘积值,作为所述样本人脸的目标预测参数;
根据所述样本人脸的目标预测参数与所述样本人脸对应的目标信息,计算所述样本人脸对应的预测图像框的回归损失值;
根据所述样本人脸的目标预测参数以及所述样本人脸对应的预测图像框的准确率,计算所述样本人脸对应的预测图像框的准确度的损失值。
15.根据权利要求6、7、8、9或11所述的基于深度学习的人脸检测方法,其特征在于,所述方法还包括:
基于确定出的聚类方法对训练样本人脸图像集中所有所述训练样本人脸图像执行聚类操作,得到至少一个锚框,并确定所有所述锚框作为确定出的锚框;
其中,所有所述锚框为当所有所述样本人脸图像对应的聚类中心不再发生变动时或者所有所述样本人脸图像被执行聚类的次数大于等于确定出的聚类次数阈值时对应的锚框。
16.根据权利要求15所述的基于深度学习的人脸检测方法,其特征在于,所述基于确定出的聚类方法对训练样本人脸图像集中所述训练样本人脸图像执行聚类操作,得到至少一个锚框之后,所述方法还包括:
针对每个所述锚框的高与宽,保持所述锚框的宽度不变,按照确定出的高宽比缩放所述锚框的高度,得到第一锚框,保持所述锚框的高度不变,按照确定出的高宽比缩放所述锚框的宽度,得到第二锚框,分别计算所述锚框、所述第一锚框以及所述第二锚框的宽度均值与高度均值,并将所述锚框对应的宽度均值与所述锚框对应的高度均值所组成的锚框更新所述锚框,得到更新后的锚框;
其中,所述确定所有所述锚框作为确定出的锚框,包括:
确定更新后的所有所述锚框作为确定出的锚框。
17.一种基于深度学习的人脸检测系统,其特征在于,所述人脸检测系统包括:
分析模块,用于将采集到的至少一帧目标人脸图像输入确定出的轻量级人脸检测模型中进行分析;
获取模块,用于获取所述轻量级人脸检测模型输出的检测结果,作为所有所述目标人脸图像对应的检测结果;
确定模块,用于从所有所述目标人脸图像对应的检测结果中确定与确定出的标准结果匹配的所有目标检测结果;
其中,每帧所述目标人脸图像的检测结果包括每帧所述目标人脸图像的预测图像框的人脸分类置信度、每帧所述目标人脸图像的预测图像框的偏移值、每帧所述目标人脸图像的预测图像框的准确度以及每帧所述目标人脸图像的预测人脸关键点的偏移值。
18.一种基于深度学习的人脸检测系统,其特征在于,所述人脸检测系统包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-16任一项所述的基于深度学习的人脸检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110353983.7A CN113191195A (zh) | 2021-04-01 | 2021-04-01 | 基于深度学习的人脸检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110353983.7A CN113191195A (zh) | 2021-04-01 | 2021-04-01 | 基于深度学习的人脸检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113191195A true CN113191195A (zh) | 2021-07-30 |
Family
ID=76974335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110353983.7A Pending CN113191195A (zh) | 2021-04-01 | 2021-04-01 | 基于深度学习的人脸检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113191195A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114495228A (zh) * | 2022-01-26 | 2022-05-13 | 北京百度网讯科技有限公司 | 人脸检测器的训练方法及装置、设备、介质和产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828776A (en) * | 1994-09-20 | 1998-10-27 | Neopath, Inc. | Apparatus for identification and integration of multiple cell patterns |
CN109961006A (zh) * | 2019-01-30 | 2019-07-02 | 东华大学 | 一种低像素多目标人脸检测和关键点定位方法以及对齐方法 |
WO2019128646A1 (zh) * | 2017-12-28 | 2019-07-04 | 深圳励飞科技有限公司 | 人脸检测方法、卷积神经网络参数的训练方法、装置及介质 |
WO2020001082A1 (zh) * | 2018-06-30 | 2020-01-02 | 东南大学 | 一种基于迁移学习的人脸属性分析方法 |
CN111695482A (zh) * | 2020-06-04 | 2020-09-22 | 华油钢管有限公司 | 一种管道缺陷识别方法 |
-
2021
- 2021-04-01 CN CN202110353983.7A patent/CN113191195A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828776A (en) * | 1994-09-20 | 1998-10-27 | Neopath, Inc. | Apparatus for identification and integration of multiple cell patterns |
WO2019128646A1 (zh) * | 2017-12-28 | 2019-07-04 | 深圳励飞科技有限公司 | 人脸检测方法、卷积神经网络参数的训练方法、装置及介质 |
WO2020001082A1 (zh) * | 2018-06-30 | 2020-01-02 | 东南大学 | 一种基于迁移学习的人脸属性分析方法 |
CN109961006A (zh) * | 2019-01-30 | 2019-07-02 | 东华大学 | 一种低像素多目标人脸检测和关键点定位方法以及对齐方法 |
CN111695482A (zh) * | 2020-06-04 | 2020-09-22 | 华油钢管有限公司 | 一种管道缺陷识别方法 |
Non-Patent Citations (2)
Title |
---|
孟本成;: "基于YOLOV3算法的行人检测方法", 电视技术, no. 09, 5 May 2019 (2019-05-05) * |
尹茜;: "基于轻量级神经网络的人脸检测算法", 常州信息职业技术学院学报, no. 06 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114495228A (zh) * | 2022-01-26 | 2022-05-13 | 北京百度网讯科技有限公司 | 人脸检测器的训练方法及装置、设备、介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657602B2 (en) | Font identification from imagery | |
CN107229904B (zh) | 一种基于深度学习的目标检测与识别方法 | |
CN111898547B (zh) | 人脸识别模型的训练方法、装置、设备及存储介质 | |
CN111027493B (zh) | 一种基于深度学习多网络软融合的行人检测方法 | |
CN106960195B (zh) | 一种基于深度学习的人群计数方法及装置 | |
US8023701B2 (en) | Method, apparatus, and program for human figure region extraction | |
JP4903854B2 (ja) | デジタル画像におけるオブジェクト検出方法 | |
US7643659B2 (en) | Facial feature detection on mobile devices | |
WO2017193906A1 (zh) | 一种图像处理方法及处理系统 | |
US7953253B2 (en) | Face detection on mobile devices | |
CN111291637A (zh) | 一种基于卷积神经网络的人脸检测方法、装置及设备 | |
CN111814902A (zh) | 目标检测模型训练方法、目标识别方法、装置和介质 | |
CN110765860A (zh) | 摔倒判定方法、装置、计算机设备及存储介质 | |
CN110069989B (zh) | 人脸图像处理方法及装置、计算机可读存储介质 | |
CN108446672B (zh) | 一种基于由粗到细脸部形状估计的人脸对齐方法 | |
CN109492576B (zh) | 图像识别方法、装置及电子设备 | |
Jun et al. | Robust real-time face detection using face certainty map | |
WO2021143865A1 (zh) | 定位方法及装置、电子设备、计算机可读存储介质 | |
JP7054278B1 (ja) | 深層学習に基づくエッジ識別方法 | |
CN111368632A (zh) | 一种签名识别方法及设备 | |
CN113743426A (zh) | 一种训练方法、装置、设备以及计算机可读存储介质 | |
US20110243426A1 (en) | Method, apparatus, and program for generating classifiers | |
CN109635749B (zh) | 基于视频流的图像处理方法及装置 | |
CN113191195A (zh) | 基于深度学习的人脸检测方法及系统 | |
WO2024011859A1 (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 |