一种面向嵌入式硬件的人脸检测方法技术

技术编号:31018640 阅读:31 留言:0更新日期:2021-11-30 03:03
本发明专利技术公开了一种面向嵌入式硬件的人脸检测方法,包括模型训练过程:获取人脸图像的数据集和验证集并人脸标注后转换成符合yolov5网络模型的数据格式;修改yolov5网络模型中的激活层函数为ReLU;将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;模型部署应用过程:将训练后的yolov5网络模型换成ONNX格式,再转换成硬件设备支持的格式后量化,将量化后的网络模型部署在边缘设备上;将待预测的图像输入量化后的网络模型,预处理后进行推理预测得到输出结果并在原图像上表示。本发明专利技术可在保证准确度的前提下,减小模型的体积,提高模型的可移植性,具有较高的准确性、便携性、实时性,加速了嵌入式领域人脸检测系统的发展。的发展。的发展。

【技术实现步骤摘要】
一种面向嵌入式硬件的人脸检测方法


[0001]本专利技术涉及一种面向嵌入式硬件的人脸检测方法,属于人脸检测的


技术介绍

[0002]神经网络作为深度学习的一类典型方法,已经在诸多计算机视觉领域取得了很大的成功,从基本的大规模图像分类任务到高级计算机视觉应用都能见到神经网络的踪影。神经网络在人脸识别领域的应用也很多,近年来人脸识别成为近年来生物特征识别领域一个非常热门的研究方向。
[0003]目前实用的人脸检测系统中,基于PC平台的人脸检测系统占了大多数。但是随着电子技术的发展及社会的需求变化,硬件处理平台朝着微型化、低功耗、便携式的方向发展,并且PC平台具有体积大、功耗高、便携性差等缺点,限制了人脸检测的广泛应用与普及。嵌入式硬件平台具有体积小、功耗低、便携性强等特点。
[0004]随着技术的发展,嵌入式平台的运算速度越来越快,使得在开发便携式的人脸检测系统成为可能。因此,开发具有更广阔应用领域的嵌入式人脸检测系统成为可能。

技术实现思路

[0005]为了克服现有的大部分人脸检测算法都针对服务器环境下通用的并行计算硬件开发,具有体积大、功耗高、便携性差的缺点,本专利技术提供一种面向嵌入式硬件的人脸检测方法,具备较高的准确性和实时性,为人脸检测提供高效的检测方法。
[0006]本专利技术具体采用以下技术方案解决上述技术问题:
[0007]一种面向嵌入式硬件的人脸检测方法,包括模型训练过程和模型部署应用过程;
[0008]其中,所述模型训练过程包括以下步骤
[0009]获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式;
[0010]修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;
[0011]将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;
[0012]其中,模型部署应用过程包括以下步骤:
[0013]将训练后的yolov5网络模型换成ONNX格式,再将ONNX格式的网络模型转换成硬件设备支持的格式;
[0014]将硬件设备支持格式的网络模型进行量化,再将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型;
[0015]将待预测的图像输入量化后的网络模型,利用量化后的网络模型对待预测的图像进行预处理,再对预处理后的图像进行推理预测,并加载训练得到的模型权重文件,由量化后的网络模型得到输出结果,将输出结果相应的矩形坐标在原图像上表示,即可得到可视
化的预测结果。
[0016]进一步地,作为本专利技术的一种优选技术方案,所述模型训练过程中采用的ReLU激活函数的公式为:f(x)=max(0,x)。
[0017]进一步地,作为本专利技术的一种优选技术方案,所述模型训练过程中获得模型权重文件采用yolov5网络模型的损失函数为GloU
loss

[0018]进一步地,作为本专利技术的一种优选技术方案,所述模型训练过程还包括对yolov5网络模型训练得到的训练结果进行误差校正。
[0019]进一步地,作为本专利技术的一种优选技术方案,所述模型训练过程中误差校正采用非极大值抑制法NMS筛选掉重合度超出的预测结果。
[0020]进一步地,作为本专利技术的一种优选技术方案,所述模型训练过程中采用的yolov5网络模型,包括:
[0021]Backbone部分:利用卷积神经网络处理输入图像,生成深层的特征图,用来抽象提取图片的特征;
[0022]Neck部分:将提取的图像特征以不同的尺寸进行输出,以用于检测不同尺寸的目标;
[0023]Head部分:对输出的不同尺寸的图像特征进行预测,生成边界框并预测类别信息。
[0024]进一步地,作为本专利技术的一种优选技术方案,所述模型部署应用过程中将硬件设备支持格式的网络模型进行量化,包括:
[0025]将网络模型中的float32数据类型转成uint8数据类型量化,并计算float32数据类型的缩放因子S和uint8数据类型的平移因子Z:
[0026][0027][0028]其中,X
max
和X
min
表示浮点数的最大值和最小值;R表示浮点数,Q表示量化后的uint8类型数据,round表示做四舍五入处理,及函数clamp表示:
[0029][0030]其中,clamp函数是将随机变化的数值限制在一个给定的区间,a,b表示常数,x表示一个变量。
[0031]本专利技术采用上述技术方案,能产生如下技术效果:
[0032]本专利技术提出一种面向嵌入式硬件的人脸检测方法,现有的yolov5网络模型是一种通用的目标检测模型,而本专利技术在其基础上改进了激活函数形成改进的yolov5网络模型,针对人脸检测问题进行训练,得到专用的人脸检测的yolov5网络模型;然后对改进的yolov5网络模型进行格式的转换、量化操作,在保证准确度的前提下,减小模型的体积,提高模型的可移植性,便于部署在边缘设备上;最终采用嵌入式硬件对模型的推理进行加速,具有较高的实用性。在不同数据集上的实验结果表明,本专利技术提出的人脸检测方法具有较高的准确性、便携性、实时性,加速了嵌入式领域人脸检测系统的发展,可为人脸检测提供高效的检测方法。
附图说明
[0033]图1为本专利技术面向嵌入式硬件的人脸检测方法的流程示意图。
具体实施方式
[0034]下面结合说明书附图对本专利技术的实施方式进行描述。
[0035]如图1所示,本专利技术涉及一种面向嵌入式硬件的人脸检测方法,该方法主要包括模型训练过程和模型部署应用过程,具体如下:
[0036]步骤1、所述模型训练过程,包括以下步骤:
[0037]步骤1

1、获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式。
[0038]步骤1

2、修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;神经网络的激活函数的作用主要是提供网络的非线性建模能力。加入非线性激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。其中,采用的ReLU激活函数的公式为:f(x)=max(0,x),它的优点有:克服梯度消失的问题;加快训练速度。
[0039]步骤1

3、将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件。
[0040]在本专利技术中,输入yolov5网络模型的是图像,可以看成一个矩阵,所述yolov5网络模型的输出为(x,y,w,h,c),分别表示预测框在图像坐标系上的x、y坐标,矩形宽高,以及置信度。本质上是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向嵌入式硬件的人脸检测方法,其特征在于,包括模型训练过程和模型部署应用过程;其中,所述模型训练过程包括以下步骤:获取包含人脸的图像按比例分为数据集和验证集,并对数据集和验证集的图像进行人脸标注;将已标注人脸的图像数据集和验证集转换成符合yolov5网络模型的数据格式;修改yolov5网络模型中的激活层函数为ReLU,修改训练的分类数和名称;将格式转换后的数据集和验证集的图像输入yolov5网络模型进行训练,得到训练结果并获得模型权重文件;其中,模型部署应用过程包括以下步骤:将训练后的yolov5网络模型换成ONNX格式,再将ONNX格式的网络模型转换成硬件设备支持的格式;将硬件设备支持格式的网络模型进行量化,再将量化后的网络模型部署在边缘设备上,并加载量化后的网络模型;将待预测的图像输入量化后的网络模型,利用量化后的网络模型对输入待预测的图像进行预处理,再对预处理后的图像进行推理预测,并加载训练得到的模型权重文件,由量化后的网络模型得到输出结果,将输出结果相应的矩形坐标在原图像上表示,即可得到可视化的预测结果。2.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中采用的ReLU激活函数的公式为:f(x)=max(0,x)。3.根据权利要求1所述的面向嵌入式硬件的人脸检测方法,其特征在于,所述模型训练过程中获得模型权重文件采用yolov5网络模型的损失函数为GIoU
loss
。4.根据权利要求1...

【专利技术属性】
技术研发人员:杨浩孙凯
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1