基于神经网络的人脸检测模型的训练、人脸检测方法及系统与流程

文档序号:12178014阅读:来源:国知局

技术特征:

1.一种基于神经网络的人脸检测模型的训练方法,其特征在于,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述方法包括:

接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练;

通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度;

根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数;

计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,并将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整预测人脸框;

重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,输出人脸检测模型。

2.根据权利要求1所述的训练方法,其特征在于,所述通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,包括:

按照以下公式计算出预测人脸框相对于对应的默认人脸框的偏置信息:

tx=(x-xa)/wa,ty=(y-ya)/ha

tw=log(w/wa),th=log(h/ha)

其中,(x,y,w,h)为预测人脸框的中心点坐标、宽和高;(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为所述预测人脸框相对于对应的默认人脸框的偏置信息;

所述计算出真实人脸框相对于对应的默认人脸框的偏置信息,包括:

按照以下公式计算出所述真实人脸框相对于对应的默认人脸框的偏置信息:

<mrow> <msubsup> <mi>t</mi> <mi>x</mi> <mo>*</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>-</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mi>w</mi> <mi>a</mi> </msub> <mo>,</mo> <msubsup> <mi>t</mi> <mi>y</mi> <mo>*</mo> </msubsup> <mo>=</mo> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>-</mo> <msub> <mi>y</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <msub> <mi>h</mi> <mi>a</mi> </msub> </mrow>

<mrow> <msubsup> <mi>t</mi> <mi>w</mi> <mo>*</mo> </msubsup> <mo>=</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mrow> <mo>(</mo> <msup> <mi>w</mi> <mo>*</mo> </msup> <mo>/</mo> <msub> <mi>w</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>t</mi> <mi>h</mi> <mo>*</mo> </msubsup> <mo>=</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mrow> <mo>(</mo> <msup> <mi>h</mi> <mo>*</mo> </msup> <mo>/</mo> <msub> <mi>h</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,(xa,ya,wa,ha)为默认人脸框的中心点坐标、宽和高;(x*,y*,w*,h*)为真实人脸框的中心点坐标、宽和高;为所述真实人脸框相对于对应的默认人脸框的偏置信息。

3.根据权利要求1所述的训练方法,其特征在于,所述根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数,包括:

选取所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为采样默认人脸框;其中,所述相对面积为默认人脸框与真实人脸框的相交区域的面积除以默认人脸框与真实人脸框的并集区域的面积;

根据预测人脸框相对于对应的采样默认人脸框的偏置信息,以及所述真实人脸框相对于对应的采样默认人脸框的偏置信息,按照以下公式计算预测人脸框偏置的网络层的损失函数:

<mrow> <msub> <mi>Loss</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>g</mi> </mrow> </msub> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>g</mi> </mrow> </msub> </munderover> <msub> <mi>L</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>,</mo> <msubsup> <mi>T</mi> <mi>k</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>L</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>g</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>T</mi> <mo>,</mo> <msup> <mi>T</mi> <mo>*</mo> </msup> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>&Element;</mo> <mo>{</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>,</mo> <mi>w</mi> <mo>,</mo> <mi>h</mi> <mo>}</mo> </mrow> </munder> <msub> <mi>smooth</mi> <mrow> <mi>L</mi> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>-</mo> <msubsup> <mi>t</mi> <mi>i</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> </mrow>

其中,Nreg为采样默认人脸框的数量,T=tx,,ty,tw,th为预测人脸框相对于对应的采样默认人脸框的偏置信息,为真实人脸框相对于对应的采样默认人脸框的偏置信息;

所述根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数,包括:

将所述默认人脸框相对于对应的真实人脸框的相对面积大于预设的第一相对面积阈值时所对应的默认人脸框作为正样本,将所述默认人脸框相对于对应的真实人脸框的相对面积小于或等于预设的第一相对面积阈值时所对应的默认人脸框作为负样本;

按照预设的正负样本比例选取全部正样本及部分负样本;

按照以下公式计算预测人脸框置信度的网络层的损失函数:

<mrow> <msub> <mi>Loss</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mrow> <mi>c</mi> <mi>l</mi> <mi>s</mi> </mrow> </msub> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mrow> <mi>c</mi> <mi>l</mi> <mi>s</mi> </mrow> </msub> </munderover> <msub> <mi>L</mi> <mrow> <mi>c</mi> <mi>l</mi> <mi>s</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>,</mo> <msubsup> <mi>p</mi> <mi>i</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> </mrow>

Lcls(p,p*)=-[p*log p+(1-p*)log(1-p)]

其中,pi为选取的正样本或负样本包含人脸的置信度,为选取的正样本或负样本包含人脸的真实概率,正样本的为1,负样本的为0,Ncls为选取的正负样本的总数量。

4.根据权利要求1至3任一项所述的训练方法,其特征在于,所述计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差,包括:

采用随机梯度下降法计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的梯度;

将得到的梯度值作为所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差。

5.一种基于神经网络的人脸检测方法,其特征在于,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述方法包括:

接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测;

针对所述待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度;

根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框;

在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度所对应的预测人脸框作为最终的人脸检测结果。

6.根据权利要求5所述的检测方法,其特征在于,所述根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框,包括:

根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,按照以下公式计算对应的预测人脸框:

x=tx*wa+xa,y=ty*ha+ya

<mrow> <mi>w</mi> <mo>=</mo> <msup> <mi>e</mi> <msub> <mi>t</mi> <mi>w</mi> </msub> </msup> <mo>*</mo> <msub> <mi>w</mi> <mi>a</mi> </msub> <mo>,</mo> <mi>h</mi> <mo>=</mo> <msup> <mi>e</mi> <msub> <mi>t</mi> <mi>h</mi> </msub> </msup> <mo>*</mo> <msub> <mi>h</mi> <mi>a</mi> </msub> </mrow>

其中,(xa,ya,wa,ha)为每个默认人脸框的中心点坐标、宽和高;(x,y,w,h)为每个默认人脸框对应的预测人脸框的中心点坐标、宽和高;(tx,ty,tw,th)为对应的预测人脸框相对于每个默认人脸框的偏置信息。

7.根据权利要求5或6所述的检测方法,其特征在于,所述针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度之后,所述方法还包括:

过滤掉所述置信度小于或等于预设的置信度阈值的默认人脸框;

根据其余的每个默认人脸框及对应的预测人脸框相对于其余的每个所述默认人脸框的偏置信息,计算对应的预测人脸框;

将其余的默认人脸框所对应的预测人脸框作为最终的人脸检测结果。

8.根据权利要求7所述的检测方法,其特征在于,所述根据每个默认人脸框及对应的预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框之后,所述方法还包括:

计算每两个预测人脸框的相对面积;

若每两个预测人脸框的相对面积大于预设的第二相对面积阈值,则将所述两个预测人脸框作为采样预测人脸框;其中,所述相对面积为两个预测人脸框的相交区域的面积除以两个预测人脸框的并集区域的面积;

在所述采样预测人脸框中选取大于预设的置信度阈值的置信度所对应的采样预测人脸框作为最终的人脸检测结果,或者,在所述采样预测人脸框中选取最高置信度所对应的采样预测人脸框作为最终的人脸检测结果。

9.一种基于神经网络的人脸检测模型的训练系统,其特征在于,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述系统包括:输入模块、第一计算模块、第二计算模块、第三计算模块、反馈及更新模块、迭代输出模块;其中,

所述输入模块,用于接收到模型训练指令时,将所述训练集中的人脸图像输入到所述神经网络中进行训练;

所述第一计算模块,用于通过预测人脸框偏置的网络层计算出预测人脸框相对于对应的默认人脸框的偏置信息,以及计算出真实人脸框相对于对应的默认人脸框的偏置信息;并通过预测人脸框置信度的网络层计算出每个默认人脸框包含人脸的置信度;

所述第二计算模块,用于根据所述预测人脸框相对于对应的默认人脸框的偏置信息,以及所述真实人脸框相对于对应的默认人脸框的偏置信息,计算预测人脸框偏置的网络层的损失函数;并根据所述默认人脸框包含人脸的置信度,计算预测人脸框置信度的网络层的损失函数;

所述第三计算模块,用于计算所述预测人脸框偏置的网络层的损失函数与所述预测人脸框置信度的网络层的损失函数的误差;

所述反馈及更新模块,用于将所述误差通过反向传播反馈到所述神经网络中,根据所述误差更新所述神经网络的网络权重参数以及根据更新后的网络权重参数调整所述预测人脸框;

所述迭代输出模块,用于重复迭代训练直至调整后的预测人脸框与真实人脸框的误差在预设的误差范围之内,输出人脸检测模型。

10.一种基于神经网络的人脸检测系统,其特征在于,所述神经网络包括:人脸检测的网络层、预测人脸框偏置的网络层及预测人脸框置信度的网络层;其中,所述人脸检测的网络层是根据所述神经网络中不同网络层对应训练集中的人脸图像的感受野选取的,所述人脸检测的网络层中的每个胞元绑定六个默认人脸框,所述默认人脸框是根据对应的人脸检测的网络层规模设置的;每层人脸检测的网络层连接一层预测人脸框偏置的网络层及一层预测人脸框置信度的网络层;所述系统包括:输入模块、输出模块、计算模块、选取模块;其中,

所述输入模块,用于接收到人脸检测指令时,将待检测的人脸图像输入到训练好的人脸检测模型中进行人脸检测;

所述输出模块,用于针对待检测的人脸图像通过训练好的人脸检测模型中预测人脸框偏置的网络层输出预测人脸框相对于对应的默认人脸框的偏置信息,并通过训练好的人脸检测模型中预测人脸框置信度的网络层输出每个默认人脸框包含人脸的置信度;

所述计算模块,用于根据每个默认人脸框及预测人脸框相对于每个默认人脸框的偏置信息,计算对应的预测人脸框;

所述选取模块,用于在所述预测人脸框中选取大于预设的置信度阈值的置信度所对应的预测人脸框作为最终的人脸检测结果,或者,在所述预测人脸框中选取最高置信度所对应的预测人脸框作为最终的人脸检测结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1