CN113705404A - 一种面向嵌入式硬件的人脸检测方法 - Google Patents
一种面向嵌入式硬件的人脸检测方法 Download PDFInfo
- Publication number
- CN113705404A CN113705404A CN202110952145.1A CN202110952145A CN113705404A CN 113705404 A CN113705404 A CN 113705404A CN 202110952145 A CN202110952145 A CN 202110952145A CN 113705404 A CN113705404 A CN 113705404A
- Authority
- CN
- China
- Prior art keywords
- model
- network model
- image
- training
- format
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种面向嵌入式硬件的人脸检测方法,包括模型训练过程:获取人脸图像的数据集和验证集并人脸标注后转换成符合yolov5网络模型的数据格式;修改yolov5网络模型中的激活层函数为ReLU;将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;模型部署应用过程:将训练后的yolov5网络模型换成ONNX格式,再转换成硬件设备支持的格式后量化,将量化后的网络模型部署在边缘设备上;将待预测的图像输入量化后的网络模型,预处理后进行推理预测得到输出结果并在原图像上表示。本发明可在保证准确度的前提下,减小模型的体积,提高模型的可移植性,具有较高的准确性、便携性、实时性,加速了嵌入式领域人脸检测***的发展。
Description
技术领域
本发明涉及一种面向嵌入式硬件的人脸检测方法,属于人脸检测的技术领域。
背景技术
神经网络作为深度学习的一类典型方法,已经在诸多计算机视觉领域取得了很大的成功,从基本的大规模图像分类任务到高级计算机视觉应用都能见到神经网络的踪影。神经网络在人脸识别领域的应用也很多,近年来人脸识别成为近年来生物特征识别领域一个非常热门的研究方向。
目前实用的人脸检测***中,基于PC平台的人脸检测***占了大多数。但是随着电子技术的发展及社会的需求变化,硬件处理平台朝着微型化、低功耗、便携式的方向发展,并且PC平台具有体积大、功耗高、便携性差等缺点,限制了人脸检测的广泛应用与普及。嵌入式硬件平台具有体积小、功耗低、便携性强等特点。
随着技术的发展,嵌入式平台的运算速度越来越快,使得在开发便携式的人脸检测***成为可能。因此,开发具有更广阔应用领域的嵌入式人脸检测***成为可能。
发明内容
为了克服现有的大部分人脸检测算法都针对服务器环境下通用的并行计算硬件开发,具有体积大、功耗高、便携性差的缺点,本发明提供一种面向嵌入式硬件的人脸检测方法,具备较高的准确性和实时性,为人脸检测提供高效的检测方法。
本发明具体采用以下技术方案解决上述技术问题:
一种面向嵌入式硬件的人脸检测方法,包括模型训练过程和模型部署应用过程;
其中,所述模型训练过程包括以下步骤:
获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式;
修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;
将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;
其中,模型部署应用过程包括以下步骤:
将训练后的yolov5网络模型换成ONNX格式,再将ONNX格式的网络模型转换成硬件设备支持的格式;
将硬件设备支持格式的网络模型进行量化,再将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型;
将待预测的图像输入量化后的网络模型,利用量化后的网络模型对待预测的图像进行预处理,再对预处理后的图像进行推理预测,并加载训练得到的模型权重文件,由量化后的网络模型得到输出结果,将输出结果相应的矩形坐标在原图像上表示,即可得到可视化的预测结果。
进一步地,作为本发明的一种优选技术方案,所述模型训练过程中采用的ReLU激活函数的公式为:f(x)=max(0,x)。
进一步地,作为本发明的一种优选技术方案,所述模型训练过程中获得模型权重文件采用yolov5网络模型的损失函数为GloUloss。
进一步地,作为本发明的一种优选技术方案,所述模型训练过程还包括对yolov5网络模型训练得到的训练结果进行误差校正。
进一步地,作为本发明的一种优选技术方案,所述模型训练过程中误差校正采用非极大值抑制法NMS筛选掉重合度超出的预测结果。
进一步地,作为本发明的一种优选技术方案,所述模型训练过程中采用的yolov5网络模型,包括:
Backbone部分:利用卷积神经网络处理输入图像,生成深层的特征图,用来抽象提取图片的特征;
Neck部分:将提取的图像特征以不同的尺寸进行输出,以用于检测不同尺寸的目标;
Head部分:对输出的不同尺寸的图像特征进行预测,生成边界框并预测类别信息。
进一步地,作为本发明的一种优选技术方案,所述模型部署应用过程中将硬件设备支持格式的网络模型进行量化,包括:
将网络模型中的float32数据类型转成uint8数据类型量化,并计算float32数据类型的缩放因子S和uint8数据类型的平移因子Z:
其中,Xmax和Xmin表示浮点数的最大值和最小值;R表示浮点数,Q表示量化后的uint8类型数据,round表示做四舍五入处理,及函数clamp表示:
其中,clamp函数是将随机变化的数值限制在一个给定的区间,a,b表示常数,x表示一个变量。
本发明采用上述技术方案,能产生如下技术效果:
本发明提出一种面向嵌入式硬件的人脸检测方法,现有的yolov5网络模型是一种通用的目标检测模型,而本发明在其基础上改进了激活函数形成改进的yolov5网络模型,针对人脸检测问题进行训练,得到专用的人脸检测的yolov5网络模型;然后对改进的yolov5网络模型进行格式的转换、量化操作,在保证准确度的前提下,减小模型的体积,提高模型的可移植性,便于部署在边缘设备上;最终采用嵌入式硬件对模型的推理进行加速,具有较高的实用性。在不同数据集上的实验结果表明,本发明提出的人脸检测方法具有较高的准确性、便携性、实时性,加速了嵌入式领域人脸检测***的发展,可为人脸检测提供高效的检测方法。
附图说明
图1为本发明面向嵌入式硬件的人脸检测方法的流程示意图。
具体实施方式
下面结合说明书附图对本发明的实施方式进行描述。
如图1所示,本发明涉及一种面向嵌入式硬件的人脸检测方法,该方法主要包括模型训练过程和模型部署应用过程,具体如下:
步骤1、所述模型训练过程,包括以下步骤:
步骤1-1、获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式。
步骤1-2、修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;神经网络的激活函数的作用主要是提供网络的非线性建模能力。加入非线性激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。其中,采用的ReLU激活函数的公式为:f(x)=max(0,x),它的优点有:克服梯度消失的问题;加快训练速度。
步骤1-3、将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件。
在本发明中,输入yolov5网络模型的是图像,可以看成一个矩阵,所述yolov5网络模型的输出为(x,y,w,h,c),分别表示预测框在图像坐标系上的x、y坐标,矩形宽高,以及置信度。本质上是一个矩阵,通过上面三部分组成的网络,得到了另一个输出矩阵。为了保证目标都被检测到,还会尽可能输出多个目标,再靠后期的误差矫正来去除错误的预测结果。
进一步的,在本发明中,训练过程中,还包括对yolov5网络模型训练得到的训练结果进行误差校正。所述yolov5网络模型的输出本质上是一个矩阵,为了保证目标都被检测到,还会尽可能输出多个目标,再靠后期的误差矫正来去除错误的预测结果,即所述yolov5网络模型输出多个目标,并对多个目标进行误差校正,误差校正采用的方法为非极大值抑制法NMS,使用非极大值抑制的方法筛选掉重合度较高的预测结果。
对于yolov5网络模型的训练,需要找尽可能多的作为训练样本图像的数据集和验证集,并做好标注,格式仍然可表示为(x,y,w,h,1),其中x,y,w,h均为真值,将置信度设置为1。将标注好人脸的图像的数据集和验证集投入yolov5网络模型进行训练,得到权重文件。接受训练后的神经网络会赋予它认为重要的输入信息更高的权重值,而那些不重要的输入信息权重值则会相对较小。这些权重信息就组成了所需要的人脸检测的权重文件。
由权重参数是通过损失函数来决定的,损失函数是关于模型输出和样本标签值之差的函数,可以通过对误差函数求导来调节权重参数。本发明中yolov5网络模型采用的损失函数为GloUloss,使用相交尺度衡量的方式计算损失。GIoUloss的计算公式为:
其中,IoU即交并比,计算的是预测的边框和真实的边框的交集和并集的比值,C表示标签给定的真实的边框与模型给出的预测的边框两者的最小外接矩形,C-A∪B即为C中没有覆盖A和B的面积,A∪B表示真实框与预测框的并集。
步骤2、模型部署应用过程,包括以下步骤:
步骤2-1、为了适配嵌入式硬件的特性,训练后的模型需要进行转换和量化操作。首先,将训练后的yolov5网络模型换成ONNX格式,即Open Neural Network Exchange(,ONNX,开放神经网络交换)格式;是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移,再将ONNX格式的网络模型转换成硬件设备支持的格式。
转换过程中默认将大尺寸的最大池化层等价替换成多个小尺寸的最大池化层,可以加速模型的推理速度。此外,转换过程中去掉尾端的转置层,便于模型的部署推理。转置层作用是将输入的维度按照给定模式进行重排。
步骤2-2、将硬件设备支持格式的网络模型进行量化,再将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型。
所述量化采用的方式是uint8(非对称量化),在保证精度的前提下,模型量化可以有效的减小模型尺寸,减少存储空间,加快推理速度。
将网络模型中的float32数据类型转成uint8数据类型量化,并计算float32数据类型的缩放因子S和uint8数据类型的平移因子Z:
其中,Xmax和Xmin表示浮点数的最大值和最小值;R表示浮点数,Q表示量化后的uint8类型数据,round表示做四舍五入处理,及函数clamp表示:
其中,clamp函数是将随机变化的数值限制在一个给定的区间,a,b都为常数,x就是一个变量。
然后,将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型。
步骤2-3、首先,将待预测的图像输入量化后的网络模型,利用量化后的网络模型对待预测的图像进行预处理,图像的预处理部分主要包括,输入图像的尺寸,通道顺序等操作,要按照模型的输入格式进行调整;模型的加载过程中可以设置查询每层的运行时间和节点名称,有利于结果分析。
然后,利用量化后的网络模型对预处理后的图像进行推理预测,在进行预测时,加载上述训练得到的模型权重文件,由量化后的网络模型得到输出结果(x,y,w,h,c),将输出结果相应的矩形坐标在原图像上表示,即可得到可视化的预测结果,其中结果显示包括在原图像上显示人脸所在的区域并画出人脸框以及置信度。
本发明中所采用的yolov5网络模型,其结构主要包括三个主要组件:
Backbone部分:利用卷积神经网络处理输入图像,生成深层的特征图,用于抽象提取图片的特征;
Neck部分:将提取的图像特征以不同的尺寸进行输出,以用于检测不同尺寸的目标,便于可以更好的检测不同尺寸的目标;
Head部分:对输出的不同尺寸的图像特征进行预测,生成边界框并预测类别信息。
因此,模型中Backbone和Neck部分主要用于提取图像特征,图像特征即为输入图像预测框中各种人脸的特征。Head部分用于特征检测和预测类别。
所述yolov5网络模型在训练可以采用以下方式,yolov5网络模型可以使用上万张人脸图像进行训练,分类总数为1,分类名称为face。图片像素尺寸设置为416x416。将训练数据按9:1划分为训练集和验证集,载入yolov5网络模型,进行训练。加载训练得到的yolov5网络模型和模型的权重文件后,可以对带有人脸的图像给出预测结果。本实施例具备较高的准确率和实时性,具有较高的实际使用意义。
综上,本发明的方法,基于改进激活函数的yolov5网络模型进行人脸检测,以对yolov5网络模型进行训练;然后对训练后的yolov5网络模型进行格式的转换、量化操作,在保证准确度的前提下,减小模型的体积,提高模型的可移植性;最终采用嵌入式硬件对模型的推理进行加速,具有较高的实用性。在不同数据集上的实验结果表明,本发明提出的人脸检测方法具有较高的准确性、便携性、实时性,加速了嵌入式领域人脸检测***的发展。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (7)
1.一种面向嵌入式硬件的人脸检测方法,其特征在于,包括模型训练过程和模型部署应用过程;
其中,所述模型训练过程包括以下步骤:
获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式;
修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;
将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;
其中,模型部署应用过程包括以下步骤:
将训练后的yolov5网络模型换成ONNX格式,再将ONNX格式的网络模型转换成硬件设备支持的格式;
将硬件设备支持格式的网络模型进行量化,再将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型;
将待预测的图像输入量化后的网络模型,利用量化后的网络模型对输入待预测的图像进行预处理,再对预处理后的图像进行推理预测,并加载训练得到的模型权重文件,由量化后的网络模型得到输出结果,将输出结果相应的矩形坐标在原图像上表示,即可得到可视化的预测结果。
2.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中采用的ReLU激活函数的公式为:f(x)=max(0,x)。
3.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中获得模型权重文件采用yolov5网络模型的损失函数为GIoUloss。
4.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程还包括对yolov5网络模型训练得到的训练结果进行误差校正。
5.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中误差校正采用非极大值抑制法NMS筛选掉重合度超出的预测结果。
6.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中采用的yolov5网络模型,包括:
Backbone部分:利用卷积神经网络处理输入图像,生成深层的特征图,用来抽象提取图片的特征;
Neck部分:将提取的图像特征以不同的尺寸进行输出,以用于检测不同尺寸的目标;
Head部分:对输出的不同尺寸的图像特征进行预测,生成边界框并预测类别信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110952145.1A CN113705404A (zh) | 2021-08-18 | 2021-08-18 | 一种面向嵌入式硬件的人脸检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110952145.1A CN113705404A (zh) | 2021-08-18 | 2021-08-18 | 一种面向嵌入式硬件的人脸检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113705404A true CN113705404A (zh) | 2021-11-26 |
Family
ID=78653379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110952145.1A Pending CN113705404A (zh) | 2021-08-18 | 2021-08-18 | 一种面向嵌入式硬件的人脸检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705404A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116153389A (zh) * | 2023-04-21 | 2023-05-23 | 之江实验室 | 蛋白质语言模型的量化方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488989A (zh) * | 2020-04-16 | 2020-08-04 | 济南浪潮高新科技投资发展有限公司 | 一种在手机端实现轻量级目标检测的方法及模型 |
CN112085010A (zh) * | 2020-10-28 | 2020-12-15 | 成都信息工程大学 | 一种基于图像识别的口罩检测和部署***及方法 |
CN112233090A (zh) * | 2020-10-15 | 2021-01-15 | 浙江工商大学 | 基于改进注意力机制的薄膜瑕疵检测方法 |
CN112287839A (zh) * | 2020-10-29 | 2021-01-29 | 广西科技大学 | 一种基于迁移学习的ssd红外图像行人检测方法 |
US20210056293A1 (en) * | 2019-08-19 | 2021-02-25 | Zhuhai Eeasy Technology Co., Ltd. | Face detection method |
CN112749626A (zh) * | 2020-12-10 | 2021-05-04 | 同济大学 | 一种面向dsp平台的快速人脸检测与识别方法 |
-
2021
- 2021-08-18 CN CN202110952145.1A patent/CN113705404A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210056293A1 (en) * | 2019-08-19 | 2021-02-25 | Zhuhai Eeasy Technology Co., Ltd. | Face detection method |
CN111488989A (zh) * | 2020-04-16 | 2020-08-04 | 济南浪潮高新科技投资发展有限公司 | 一种在手机端实现轻量级目标检测的方法及模型 |
CN112233090A (zh) * | 2020-10-15 | 2021-01-15 | 浙江工商大学 | 基于改进注意力机制的薄膜瑕疵检测方法 |
CN112085010A (zh) * | 2020-10-28 | 2020-12-15 | 成都信息工程大学 | 一种基于图像识别的口罩检测和部署***及方法 |
CN112287839A (zh) * | 2020-10-29 | 2021-01-29 | 广西科技大学 | 一种基于迁移学习的ssd红外图像行人检测方法 |
CN112749626A (zh) * | 2020-12-10 | 2021-05-04 | 同济大学 | 一种面向dsp平台的快速人脸检测与识别方法 |
Non-Patent Citations (2)
Title |
---|
3D视觉工坊: "YOLOv5x6模型来了! 同样支持CPU上ONNX部署与推理", pages 1 - 4, Retrieved from the Internet <URL:YOLOv5x6模型来了! 同样支持CPU上ONNX部署与推理-腾讯云开发者社区-腾讯云 (tencent.com)> * |
张童;谭南林;包辰铭;: "应用于嵌入式平台的实时红外行人检测方法", 激光与红外, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116153389A (zh) * | 2023-04-21 | 2023-05-23 | 之江实验室 | 蛋白质语言模型的量化方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112528977B (zh) | 目标检测方法、装置、电子设备和存储介质 | |
EP3968179A1 (en) | Place recognition method and apparatus, model training method and apparatus for place recognition, and electronic device | |
CN114202672A (zh) | 一种基于注意力机制的小目标检测方法 | |
CN109583483B (zh) | 一种基于卷积神经网络的目标检测方法和*** | |
CN110866471A (zh) | 人脸图像质量评价方法及装置、计算机可读介质、通信终端 | |
CN111027563A (zh) | 一种文本检测方法、装置及识别*** | |
CN112651438A (zh) | 多类别图像的分类方法、装置、终端设备和存储介质 | |
CN112287820A (zh) | 人脸检测神经网络及训练方法、人脸检测方法、存储介质 | |
CN112115783A (zh) | 基于深度知识迁移的人脸特征点检测方法、装置及设备 | |
CN111160533A (zh) | 一种基于跨分辨率知识蒸馏的神经网络加速方法 | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
CN115457531A (zh) | 用于识别文本的方法和装置 | |
CN107301643B (zh) | 基于鲁棒稀疏表示与拉普拉斯正则项的显著目标检测方法 | |
CN110163205A (zh) | 图像处理方法、装置、介质和计算设备 | |
CN109583367A (zh) | 图像文本行检测方法及装置、存储介质和电子设备 | |
WO2023284608A1 (zh) | 字符识别模型生成方法、装置、计算机设备和存储介质 | |
CN110765882A (zh) | 一种视频标签确定方法、装置、服务器及存储介质 | |
CN113706562B (zh) | 图像分割方法、装置、***及细胞分割方法 | |
CN111127360A (zh) | 一种基于自动编码器的灰度图像迁移学习方法 | |
CN109993806A (zh) | 一种颜色识别方法、装置及电子设备 | |
He et al. | Context-aware mathematical expression recognition: An end-to-end framework and a benchmark | |
CN113705404A (zh) | 一种面向嵌入式硬件的人脸检测方法 | |
CN113361384A (zh) | 人脸识别模型压缩方法、设备、介质及计算机程序产品 | |
CN117746015A (zh) | 小目标检测模型训练方法、小目标检测方法及相关设备 | |
CN117392697A (zh) | 基于yolo目标检测框架的图元符号检测方法 |
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 |