嵌入式设备的人脸检测方法及装置、存储介质、终端与流程

    专利2022-07-08  92


    本发明涉及大数据处理
    技术领域
    ,具体地涉及一种嵌入式设备的人脸检测方法及装置、存储介质、终端。
    背景技术
    :随着计算机视觉技术的快速发展以及深度学习在计算机视觉技术的普及应用,以深度学习技术为背景的人脸识别技术已经成为计算机视觉的主流研究方向。人脸识别是利用终端摄像机及摄像头采集包含人脸的图像或者视频流,并在图像或视频流中自动进行人脸检测、人脸特征点定位及验证、实现人脸匹配识别的一系列技术。例如,移动端手机人脸识别验证锁屏解锁;应用程序(application,简称app)人脸识别验证开启;超市刷脸支付;火车站闸机人脸识别通行;以及人脸识别考勤打卡机系统等等;这些都涉及到人脸识别技术,然而在人脸识别时,前提是需要先进行人脸检测,人脸检测的快慢及准确率的直接影响到人脸识别的准确度及系统的用户体验。基于深度学习的人脸检测技术将计算机视觉任务提升到了一个新的高度,总体的趋势是为了达到更高的准确性构建更深更复杂的网络,但是现有技术中,这些网络在尺度和速度上难以满足移动终端设备或者嵌入式设备的要求,现有人脸检测方案还有缺陷,需要进一步改进。技术实现要素:本发明解决的技术问题是如何基于嵌入式设备快速、准确地进行人脸检测。为解决上述技术问题,本发明实施例提供一种嵌入式设备的人脸检测方法,包括:确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。可选的,所述人脸训练数据的图像尺寸为300×300,所述ssd算法采用的特征图的尺度为多个,分别是9×9、4×4、2×2和1×1。可选的,所述训练所述mobilenet-ssd网络模型包括:采用快速功能嵌入卷积神经网络框架,对所述mobilenet-ssd网络模型进行训练。可选的,在使用训练后的mobilenet-ssd模型检测待检测图像中的人脸之前,所述人脸检测方法还包括:对量化得到的mobilenet-ssd模型进行测试;如果进行所述测试时,测试图像包含人脸,但人脸检测结果未检测到人脸,则重新量化所述训练后的mobilenet-ssd网络模型。可选的,所述采用快速功能嵌入卷积神经网络框架,对所述mobilenet-ssd网络模型进行训练包括:判断所述训练后的mobilenet-ssd网络模型是否满足预设停止训练条件;如果满足所述预设停止训练条件,则停止训练,否则,继续采用所述快速功能嵌入卷积神经网络框架训练所述mobilenet-ssd网络模型,直至达到预设训练次数或满足所述预设停止训练条件。可选的,所述ssd算法采用如下公式确定所述特征图的先验框的尺寸,其中,表示第k个所述先验框的宽,表示第k个所述先验框的高;sk表示第k个特征图的尺寸,m表示所述ssd算法采用的特征图的数量,0<smin<smax<1,smin表示所述先验框的最小尺寸,smax表示所述先验框的最大尺寸,k为正整数。可选的,所述先验框的置信度误差公式为:其中,其中,lconf(x,c)表示置信度误差,x表示所述人脸训练数据的训练样本,c表示所述训练样本的置信度分值,表示所述训练样本x的第i个先验框与第j个真实框的概率,表示所述第i个训练样本为人脸的概率,表示的估计,p表示类别,pos表示正训练样本,neg表示负训练样本,n表示所述正训练样本的数量,表示e的次方,log表示取对数,表示非人脸类别。为解决上述技术问题,本发明实施例还提供一种嵌入式设备的人脸检测装置,包括:确定模块,用于确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;训练模块,基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;检测模块,用于使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。为解决上述技术问题,本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述方法的步骤。为解决上述技术问题,本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述方法的步骤。与现有技术相比,本发明实施例的技术方案具有以下有益效果:本发明实施例提供一种嵌入式设备的人脸检测方法,包括:确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。本发明实施例为计算量小、存储空间受限的嵌入式设备提供了一种较快速、准确率较高的人脸检测方法。具体而言,本发明实施例利用高效的mobilenet网络架构,把标准卷积分解成深度卷积(depthwiseconvolution)和逐点卷积(pointwiseconvolution),从而可以大幅度降低人脸卷积特征提取的参数量和计算量,易满足嵌入式设备的轻量化模型要求;而且单次多窗口检测(singleshotmulti-boxdetector,简称ssd)算法能够融合人脸多尺度维度特征达到更加准确地检测人脸的目的。进一步,所述人脸训练数据的图像尺寸为300×300,所述ssd算法采用的特征图的尺度为多个,分别是9×9、4×4、2×2和1×1。本发明实施例通过采用尺度为9×9、4×4、2×2和1×1的4个特征图进行融合处理,可以在满足计算精度的同时,尽量降低计算量,且能够检测到尺寸较小(也即像素较低)的人脸。进一步,所述训练所述mobilenet-ssd网络模型包括:采用快速功能嵌入卷积神经网络框架(convolutionalarchitectureforfastfeatureembedding,简称caffe),对所述mobilenet-ssd网络模型进行训练。本发明实施例通过采用caffe框架可以适应嵌入式设备需求,为实现嵌入式设备检测人脸提供可能。附图说明图1是本发明实施例的一种嵌入式设备的人脸检测方法的流程示意图;图2是本发明实施例基于嵌入式设备k37的一种人脸检测方法的流程示意图;图3是本发明实施例的一种标准的卷积核的结构示意图;图4是本发明实施例的一种深度向卷积核分解的结构示意图;图5是本发明实施例的一种逐点卷积核分解的结构示意图;图6是本发明实施例的一种mobilenet-ssd网络结构示意图;图7是本发明实施例的一种嵌入式设备的人脸检测装置的结构示意图。具体实施方式如
    背景技术
    所言,传统的人脸检测方法还存在缺陷,需要改进。传统的人脸检测方法包括基于特征的人脸检测方法、基于模板的人脸检测方法、基于统计理论的人脸检测方法等。本申请发明人发现,基于特征的人脸检测方法利用人脸的先验知识导出的规则进行人脸检测,缺点是无法精确的定义规则,规则过细将导致检测无法检测,规则笼统则导致检测的错误较高,检测的准确率不高。基于模板的人脸检测方法是通过计算人脸模板和待检测图像之间的相关性来实现人脸检测,然而模板的大小、形状、尺寸无法自适应的变化,因此增加了该方法的局限性。基于统计理论的人脸检测方法是指利用统计分析与机器学习的方法分别寻找人脸与非人脸样本特征,利用这些特征构建分类,使用分类进行人脸检测,但是这种方法需要大量的统计特性,样本训练费时费力。为解决上述技术问题,本发明实施例提供一种嵌入式设备的人脸检测方法,包括:确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。本发明实施例为计算量小、存储空间受限的嵌入式设备提供了一种较快速、准确率较高的人脸检测方法。具体而言,本发明实施例利用高效的移动网络(mobilenet)架构,把标准卷积分解成深度卷积(depthwiseconvolution)和逐点卷积(pointwiseconvolution),从而可以大幅度降低人脸卷积特征提取的参数量和计算量,易满足嵌入式设备的轻量化模型要求;而且单次多窗口检测(singleshotmulti-boxdetector,简称ssd)算法能够融合人脸多尺度维度特征达到更加准确地检测人脸的目的。为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。图1是本发明实施例的一种嵌入式设备的人脸检测方法的流程示意图。所述人脸检测方法可以应用于嵌入式设备,以对人脸进行检测。具体而言,所述人脸检测方法可以包括以下步骤:步骤s101,确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;步骤s102,基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;步骤s103,使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。快速功能嵌入卷积神经网络框架(convolutionalarchitectureforfastfeatureembedding,简称caffe)是一个兼具表达性、速度和思维模块化的深度学习框架。更具体而言,在步骤s101中,考虑到嵌入式设备的计算能力较差、存储空间较小,因而确定人脸检测模型采用mobilenet-ssd网络模型。并可以根据mobilenet-ssd网络模型,确定人脸训练数据集的数据格式。在具体实施中,可以采用caffe框架,对所述mobilenet-ssd网络模型进行训练。在一个非限制性的例子中,为适配所述mobilenet-ssd网络模型,可以将所述人脸训练数据集的数据格式确定为lmdb格式。本领域技术人员理解,人脸训练数据集可以直接影响训练的精度及人脸检测的效果,因而在训练mobilenet-ssd网络模型之前,将人脸训练数据集处理成与所述mobilenet-ssd网络模型适配的格式是必不可少的步骤。由于caffe架构导入的人脸训练数据集是lmdb格式的,因而在具体实施时,可以下载fddbface及widerface数据集作为所述mobilenet-ssd网络模型的人脸训练数据集。具体地,可以将所述人脸训练数据集中的每一人脸训练数据转换成data.mdb格式。所述人脸训练数据集可以用于mobilenet-ssd网络模型的训练,也可以作为测试数据集,用于检测所述mobilenet-ssd网络模型的效果。在步骤s102中,可以基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型。在训练时,所述mobilenet-ssd网络模型中的ssd算法可以对mobilenet架构的不同卷积层的特征图(featuremap)进行融合处理。进入融合处理的过程中,所述ssd算法采用的特征图的尺度可以根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的。在具体实施中,所述人脸训练数据集中的各个人脸训练数据的图像尺寸可以是相同的,例如300×300、600×600等等。所述ssd算法采用的特征图的尺度将随着卷积的过程获得的人脸特征图的尺寸而变化。变化的基本准则是随着卷积层数的增加人脸特征图的尺寸不断减小,可以减少采用的特征图的尺寸数量,且各个特征图的尺度也可以随之减小。在一个非限制性的例子中,所述人脸训练数据的图像尺寸为300×300,所述ssd算法融合处理采用的特征图的尺度可以为9×9、4×4、2×2和1×1。采用不同尺度的特征图进行人脸检测,优势在于:采用尺度比较大的特征图来检测图像尺寸相对较小的人脸,而尺度比较小的特征图可以检测图像尺寸较大的人脸,从而达到自适应检测人脸的大小。在具体实施中,所述ssd算法可以采用如下公式确定所述特征图的先验框的尺寸,其中,表示第k个所述先验框的宽,表示第k个所述先验框的高;sk表示第k个特征图的尺寸,m表示所述ssd算法采用的特征图的数量,0<smin<smax<1,smin表示所述先验框的最小尺寸,smax表示所述先验框的最大尺寸,k为正整数。在具体实施中,所述先验框的置信度误差公式为:其中,其中,lconf(x,c)表示置信度误差,x表示所述人脸训练数据的训练样本,c表示所述训练样本的置信度分值,表示所述训练样本x的第i个先验框与第j个真实框的概率,表示所述第i个训练样本为人脸的概率,表示的估计,p表示类别,pos表示正训练样本,neg表示负训练样本,n表示所述正训练样本的数量,表示e的次方,log表示取对数,表示非人脸类别。其中,所述负训练样本指的是不包含人脸的训练样本,所述正训练样本指的是包含人脸的训练样本。通过设置所述特征图的先验框的尺寸,计算置信度误差和,以置信度误差和不断减小为迭代训练准则,可以在预测精准度和计算复杂度之间实现平衡,有利于在保证检测准确度的条件下,尽量减小计算复杂度。在训练过程中,可以判断所述训练后的mobilenet-ssd网络模型是否满足预设停止训练条件。如果满足所述预设停止训练条件,则停止训练,否则,如果不满足所述预设停止训练条件,则可以继续采用所述caffe框架训练所述mobilenet-ssd网络模型,直至达到预设训练次数或满足所述预设停止训练条件。其中,所述预设停止条件为得到适配caffe框架的最优mobilenet-ssd网络模型,以损失函数的值减小到相当小(本发明,损失为0.01),并趋于稳定为准则。在得到训练后的mobilenet-ssd网络模型之后,为压缩所述训练后的mobilenet-ssd网络模型,可以采用caffe框架对所述训练后的mobilenet-ssd网络模型进行量化,之后,可以对量化得到的mobilenet-ssd模型进行测试。如果在测试过程中,测试图像包含人脸,但人脸检测结果却未检测到人脸,那么可以判定量化结果不准确,并可以重新量化所述训练后的mobilenet-ssd网络模型。下面以嵌入式设备k37为例,对本发明实施例进行详细阐述。图2是本发明实施例基于嵌入式设备k37的一种人脸检测方法的流程示意图。如图2所示,首先在步骤s201中,搭建k37硬件环境,并配置软件开发环境。其中,k37硬件平台套件包括:k37开发板、12v电源适配器、柔性电路板(flexibleprintedcircuit,简称fpc)排线、usb线、ft232串口、串口线、电源线、2.0usb盘、网线。所述软件开发环境为:intel-i5cpu,64位的乌班图(ubuntu)16.04系统,2块图像处理器(graphicsprocessingunit)1080ti显卡,16g内存,600g硬盘,caffe深度学习架构开发环境。在具体实施中,可以首先安装caffe依赖的编译库文件,适配caffe深度开发环境,然后下载并安装caffe架构,最后编译caffe源码,接着在该环境下实现嵌入式设备k37的mobilenet-ssd人脸检测算法开发。其次,在步骤s202中,构建mobilenet-ssd人脸检测网络模型。mobilenet算法的核心是深度向卷积分解,主要通过将标准卷积分解成一个深度卷积和一个点卷积(1×1卷积核)。深度卷积将每个卷积核应用到每个通道,而1×1卷积用来组合通道卷积的输出。卷积的分解可以减少网络的计算量,从而精简化训练的网络模型提高人脸检测的速度,具体实现算法结构分解如图3至图5所示。图3是本发明实施例的一种标准的卷积核的结构示意图。其中,c为卷积核的通道数,h、w分别表示卷积核的高度及宽度,n表示输出特征的通道数。若输出的卷积核的高度、宽度分别为g、k,标准卷积核的计算量s,则标准卷积核的计算量s=w*h*c*n*g*k。图4是本发明实施例的一种深度向卷积核分解的结构示意图。图4中,1表示该卷积核为单通道,h、w表示卷积核的高度及宽度,c表示输出特征的通道数。若输出的卷积核的高度、宽度分别为g、k,其中一部分积核的计算量为s1,则一部分积核的计算量s1=w*h*1*c*g*k。图5是本发明实施例的一种逐点卷积核分解的结构示意图。图5中,c表示该卷积核的通道数,1表示卷积核的高度及宽度,n表示输出特征的通道数。若输出的卷积核的高度、宽度分别为g、k,另一部分积核的计算量为s2,则另一部分积核的计算量s2=1*1*c*n*g*k。经过图3至图5的卷积核分解的计算量与标准卷积的计算量(以p表示)比较可以得出:可见,深度向卷积分解的计算量将降低到原来的p倍数,这将有利于减小训练的模型,轻量化模型到嵌入式端,提高人脸检测速度。进一步,构建嵌入式平台k37的mobilenet-ssd网络时会有大量的深度分解卷积网络结构,其中ssd算法将从不同层的不同尺寸的特征图(featuremap)中提取图像的特征信息进行融合,从而获取较准的人脸检测信息,包括人脸坐标、人脸可信度分值,构建具体的mobilenet-ssd网络结构如图6所示。图6是本发明实施例的一种mobilenet-ssd网络结构示意图。其中,所述ssd算法是利用不同卷积层的特征图进行融合处理的。在融合处理过程中,采用的特征图的尺度包括9×9,4×4,2×2,1×1,以实现利用较大的特征图来检测相对较小的目标,而较小的特征图检测较大的目标,从而达到自适应检测人脸的大小。参考图6,首先,输入至第一级联卷积单元(图未示)的图像尺寸为300×300×3,其中,所述卷积单元包括深度向卷积分解部分(图未示)、卷积部分(图未示)及池化部分(图未示)。其次,从所述卷积单元输出的特征图为9×9×32。再次,可以将所述特征图为9×9×32作为第二级联的卷积单元的输入信息,并输出4×4×64的特征图。进一步,可以将所述4×4×64的特征图作为第三级联的卷积单元(图未示),并从该卷积单元输出2×2×128的特征图;进一步,可以将所述2×2×128的特征图输入至第四级联的卷积单元(图未示),并输出1×1×128的特征图。进一步,可以将所述1×1×128的特征图作为人脸检测结果,以得到人脸检测输出的部分信息。相应地,可以对所述第一级联卷积单元、第二级联的卷积单元、第三级联的卷积单元和第四级联的卷积单元中的各个卷积单元的特征图作为分类(classify)单元的输入,并将经过所述分类单元得到的输出结果作为人脸检测输出。其中,所述分类单元用于输出人脸分类检测结果,包括人脸及非人脸,及人脸的区域坐标点及置信度分值。在具体实施中,可以设定所述ssd算法中的特征图的先验框,每个特征图的每个单元设置尺度或者长宽比不同的先验框,每个先验框对应输出的检测值包括检测人脸置信度的分值、边界框的坐标值,坐标值为(cx,cy,w,h),分别表示边界框的中心坐标以及宽高。若先验框坐标为d=(dcx,dcy,dw,dh),对应的边界框为b=(bcx,bcy,bw,bh),则边界框的预测值l为不同特征图的先验框大小及数量不同,先验框包括尺度和长宽比两个方面。对于先验框的尺度,其遵守的线性递增规则如下:其中,smin=0.1,smax=0.9,m为选中的特征图的数目,例如m=4。sk为第k个特征图对应的尺寸;长宽比取值可以表示为ar,因此,可以得到先验框的宽高关系:进一步,得到每个单元的先验框中心点为:其中,|fk|为第k个特征图的大小。在mobilenet-ssd人脸检测训练的过程中,首先确定训练图片中真实目标与哪个先验框来进行匹配,与之匹配的先验框所对应的边界框将负责预测该训练图片。训练的损失函数loss定义为置信度误差与位置误差的加权和,其中,n为先验框的正样本数量,α为权重系数,本发明实施例中,可以取α=1,c为人脸检测置信度预测值。l为先验框的所对应边界框的位置预测值,g为真实值的位置参数,x为训练样本。对于位置误差,采用smoothl1计算,公式如下:其中,pos表示正样本,当时,表示第i个先验框与第j个真实值匹配。表示真实值的位置参数估值,计算公式如下:smoothl1函数的公式为:对于置信度误差采用softmax_loss定义:其中,p表示类别,pos表示正样本,neg表示负样本。再次,继续参考图2,在步骤s203中,预处理人脸检测数据集。预处理后的人脸检测数据集可以适配mobilenet-ssd网络模型。人脸检测数据集的处理直接影响到训练的精度及人脸检测的效果。在训练mobilenet-ssd人脸检测之前,必须将数据集处理成模型适配的格式,由于caffe架构导入训练的数据是lmdb格式的,因而可以下载人脸检测数据集与标准(facedetectiondatasetandbenchmark,简称fddb)数据集及人脸检测数据集widerface作为所述mobilenet-ssd网络模型的训练数据,并将训练数据转换成data.mdb格式的训练数据集及测试数据集。训练数据集用于所述mobilenet-ssd网络模型的训练,测试数据集用于检测所述mobilenet-ssd网络模型的效果。在步骤s204中,使用caffe架构训练所述mobilenet-ssd人脸检测模型。之后,在步骤s205中,判断模型是否为最优caffe模型,也即判断训练得到的mobilenet-ssd人脸训练模型是否为最优caffe模型。如果不是,则在步骤s2061中,重新构建并训练mobilenet-ssd人脸检测模型;如果是,则在步骤s2062中,获取最优caffe模型及相关文件。在具体实施中,可以在ubuntu16.04终端配置好训练环境,包括mobilenet-ssd模型学习率的设定,每一次迭代训练的人脸数据量(batch_size)的设定,训练次数的设定,gpu配置的设定,优化函数的选取,人脸训练数据集路径的配置等等。当模型开始训练时,记录训练误损失函数是否逐渐成下降趋势,当训练结束时获取最优的caffe模型文件,如果获取的caffe模型文件并非最优,则重构mobilenet-ssd人脸检测网,继续执行上述过程,直到获取最优的caffe模型文件,或达到设定的训练次数为止。进一步,在步骤s207中,量化所述最优caffe模型,例如,可以生成deploy.cdnnqdata数据。在具体实施中,首先给定mobilenet-ssd网络模型需要量化的网络模型caffe模型以及网络(prototxt)文件;接着从人脸训练数据集中选取10张以上不同场景的人脸图像作为定点化模型的数据库(database);然后创建量化参数文件,具体参数如表1所示。表1文件夹名称描述--network设置网络模型路径--input用于测试生成定点模型的图像文件--output仿真输出结果文件路径--debugresult输出最终结果-g用于网络定点的图像文件夹之后,可以执行网络量化程序,在output文件夹下获得网络执行结果,可以得到mobilenet-ssd人脸检测量化模型:deploy.cdnnqdata。进一步,在步骤s208中,编译嵌入式设备k37的arm端软件开发工具包(softwaredevelopmentkit,简称sdk),以生成编码器(img)文件。在步骤s209中,烧录img文件并上板测试。在具体实施中,ubuntu终端解压k37的sdk,配置product_profile文件,在sdk根目录执行“makeimg”指令,编译sdk完成后会在sdk的output文件夹自动生成img升级包。将img升级文件拷贝到2.0usb根目录,之后再k37开发板烧录img上级文件,进一步,在k37开发板的串口执行img烧录文件,开启k37相机推流软件观察嵌入式终端人脸检测效果。之后,在步骤s210中,判断是否输出人脸检测结果。如果未输出,则转向步骤s2101,重新量化caffe模型,并转向步骤s207,否则,在步骤s2102中,输出人脸检测位置框和可信度分值。在一个光线不充分的条件下的测试结果中可以发现,单人脸检测结果的置信度分值为0.998230;多人脸(4个人脸)检测结果的置信度分值依次为0.892396,0.988525,0.839294,0.976440,可以说明该算法鲁棒性较好。进一步,经过调试仿真得出网络的运行速度较快,计算周期(cycle)如表2所示。其中,周期与时间的计算转换与嵌入式设备的时钟频率相关,本发明实施例中,k37时钟频率为500m,计算时间单位以毫秒计,计算时间t的公式如下,其中,tinitialization_time表示初始化时间,tpre_process_time表示预处理时间,tinference_time表示推理时间(inferencetime),tpost_process_time表示后置处理时间。t=(tinitialization_time tpre_process_time tinference_time tpost_process_time)/500/1000。表2调试函数周期[debug]ar_dump_statistics[dsp1]初始化时间0[debug]ar_dump_statistics[dsp1]预处理时间899063[debug]ar_dump_statistics[dsp1]推理时间53768672[debug]ar_dump_statistics[dsp1]后置处理时间29077综上所述,本发明实施例提供一种基于嵌入式设备(例如,k37)的mobilenet-ssd的人脸检测方法,可以较好的解决传统人脸检测缺陷,能较好的运用在嵌入式设备及移动端;该方法不仅能通过mobilenet网络深度向卷积分解的作用减少网的计算量和参数,到达网络模型轻量级的作用;而且还能通过ssd方法准确提取不同卷积层特征尺度信息并进行融合处理,对不同尺寸人脸进行自适应的检测。图7是本发明实施例的一种嵌入式设备的人脸检测装置,可以用于实施图1和图2所示方法技术方案。具体而言,所述嵌入式设备的人脸检测装置可以包括:确定模块71,用于确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;训练模块72,基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;检测模块73,用于使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。关于所述嵌入式设备的人脸检测装置的工作原理、工作方式的更多内容,可以参照上述图1和图2中所述技术方案的相关描述,这里不再赘述。进一步地,本发明实施例还公开一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述图1和图2所示实施例中所述的方法技术方案。优选地,所述存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。所述计算机可读存储介质可以包括rom、ram、磁盘或光盘等。进一步地,本发明实施例还公开一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述图1和图2所示实施例中所述的方法技术方案。优选地,所述终端为嵌入式设备,例如,型号为k37的嵌入式设备。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。当前第1页1 2 3 
    技术特征:

    1.一种嵌入式设备的人脸检测方法,其特征在于,包括:

    确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;

    基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;

    使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。

    2.根据权利要求1所述的人脸检测方法,其特征在于,所述人脸训练数据的图像尺寸为300×300,所述ssd算法采用的特征图的尺度为多个,分别是9×9、4×4、2×2和1×1。

    3.根据权利要求1所述的人脸检测方法,其特征在于,所述训练所述mobilenet-ssd网络模型包括:

    采用快速功能嵌入卷积神经网络框架,对所述mobilenet-ssd网络模型进行训练。

    4.根据权利要求3所述的人脸检测方法,其特征在于,在使用训练后的mobilenet-ssd模型检测待检测图像中的人脸之前,所述人脸检测方法还包括:

    对量化得到的mobilenet-ssd模型进行测试;

    如果进行所述测试时,测试图像包含人脸,但人脸检测结果未检测到人脸,则重新量化所述训练后的mobilenet-ssd网络模型。

    5.根据权利要求3所述的人脸检测方法,其特征在于,所述采用快速功能嵌入卷积神经网络框架,对所述mobilenet-ssd网络模型进行训练包括:

    判断所述训练后的mobilenet-ssd网络模型是否满足预设停止训练条件;

    如果满足所述预设停止训练条件,则停止训练,否则,继续采用所述快速功能嵌入卷积神经网络框架训练所述mobilenet-ssd网络模型,直至达到预设训练次数或满足所述预设停止训练条件。

    6.根据权利要求1所述的人脸检测方法,其特征在于,所述ssd算法采用如下公式确定所述特征图的先验框的尺寸,

    其中,表示第k个所述先验框的宽,表示第k个所述先验框的高;sk表示第k个特征图的尺寸,m表示所述ssd算法采用的特征图的数量,0<smin<smax<1,smin表示所述先验框的最小尺寸,smax表示所述先验框的最大尺寸,k为正整数。

    7.根据权利要求6所述的人脸检测方法,其特征在于,所述先验框的置信度误差公式为:

    其中,

    其中,lconf(x,c)表示置信度误差,x表示所述人脸训练数据的训练样本,c表示所述训练样本的置信度分值,表示所述训练样本x的第i个先验框与第j个真实框的概率,表示所述第i个训练样本为人脸的概率,表示的估计,p表示类别,pos表示正训练样本,neg表示负训练样本,n表示所述正训练样本的数量,表示e的次方,log表示取对数,表示非人脸类别。

    8.一种嵌入式设备的人脸检测装置,其特征在于,包括:

    确定模块,用于确定mobilenet-ssd网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;

    训练模块,基于所述数据格式的人脸训练数据集,训练所述mobilenet-ssd网络模型,在训练时,所述mobilenet-ssd网络模型中的ssd算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;

    检测模块,用于使用训练后的mobilenet-ssd模型检测待检测图像中的人脸。

    9.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至7任一项所述方法的步骤。

    10.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至7任一项所述方法的步骤。

    技术总结
    一种嵌入式设备的人脸检测方法及装置、存储介质、终端,所述人脸检测方法包括:确定MobileNet‑SSD网络模型为人脸检测模型,并确定人脸训练数据集的数据格式;基于所述数据格式的人脸训练数据集,训练所述MobileNet‑SSD网络模型,在训练时,所述MobileNet‑SSD网络模型中的SSD算法采用的特征图的尺度是根据所述人脸训练数据集中各个人脸训练数据的图像尺寸确定的;使用训练后的MobileNet‑SSD模型检测待检测图像中的人脸。通过本发明提供的技术方案,可以基于嵌入式设备较快速、较准确地进行人脸检测。

    技术研发人员:达声蔚
    受保护的技术使用者:上海齐感电子信息科技有限公司
    技术研发日:2019.09.12
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-19927.html

    最新回复(0)