分享

java摄像头跟随

 新用户79878317 2022-04-10

e454e823182da973aaba162d3f3fc031.gif

本发明涉及一种摄像头自动跟随人脸转动的控制方法。

背景技术:

目前,随着人类科学技术的不断发展,人脸识别技术在人们日常生活中越来越普及,无论在人工智能研究还是公共安全应用方面,人脸识别技术一直是一项前沿、热门技术,拥有举足轻重的地位。

作为生物特征识别技术的一类,人脸识别由于其非接触性以及采集方便的特点,具有良好的发展和应用前景。人脸识别技术在诸多应用场景中都发挥了十分重要的作用,比如机场安检、边检通关等。近几年随着互联网金融的高速发展,人脸识别技术在移动支付上表现出极大的应用优势。人脸识别的目的是根据获取的用户人脸图像或视频得知用户的身份。

目前,人脸识别技术非受控环境下仍无法满足实用要求,其主要难点在于人脸识别技术仍存在着易变性的问题,人脸的外形很不稳定,人可以通过脸部的变化产生很多表情,而在不同观察角度,人脸的视觉图像也相差很大,研究中需要考虑到人的面部表情,姿态,年龄,位置,以及遮盖物等因素引起的类内变化,以及来自外界光照(例如白天和夜晚、室内和室外等),背景等环境不同引起的类间变化。

因此,目前迫切需要一种方法,能够使人脸始终在最佳识别位置,来满足人们对人脸识别功能的要求,提高人脸识别的整体工作效率和工作质量。

技术实现要素:

本发明的目的是提供一种摄像头自动跟随人脸转动的控制方法,使人脸始终保持在视频帧的中间位置,很好的克服了由于摄像头安装角度固定、用户姿势、光照或遮挡等原因造成的人脸检测精度低的问题,是人脸识别和身份认证的核心技术,为人脸识别和身份认证提供高质量的人脸图片信息。

实现本发明目的的技术方案是:一种摄像头自动跟随人脸转动的控制方法,包括以下步骤:

s1,摄像头实时获取人脸图像帧,对人脸图像帧进行预处理;

s2,基于多任务卷积神经网络模型对人脸图像帧进行实时运算,检测出图像中的所有人脸;

s3,根据检测出人脸的位置坐标和得分信息,计算获取最佳人脸;

s4,根据最佳人脸的位置信息计算人脸框与视频框中间的位置差值;

s5,控制步进电机转动,使最佳人脸始终保持在视频框的中间位置。

所述步骤二中的多任务卷积神经网络模型包括三个级联的网络,分别为生成候选人脸框的p-net网络、对候选框优选过滤的r-net网络和生成最终边界框与人脸关键点的o-net网络。

所述步骤二中对人脸图像帧进行实时运算包括以下步骤:

s2.1:首先将图像进行不同尺度的变换,构建图像金字塔;

s2.2:将图像输入p-net网络,p-net网络输出人脸的roi区域候选框和候选框边界回归向量;

s2.3:将p-net网络的候选边框输入r-net网络,得到人脸与非人脸的判定分类得分和候选框边界回归向量,如果分类得分超过阈值,则为人脸,继续保留该候选框,否则舍弃该候选框;然后通过回归向量对候选框边界进行回归,对保留下来的候选框边界进行校准;最后通过非极大值抑制算法去掉高度重叠的的候选框;

s2.4:o-net网络给出人脸判定分类得分、候选框边界回归向量以及五个面部特征点的位置。

所述步骤s2.1具体为:将图像缩小到上一次操作图像面积的一半,直到达到预先设置的最小人脸尺寸为止。

所述步骤s2.2具体为:

对于输入大小为:w*h的图像,产生n*m个候选框和n*m*4个回归向量,其中w为图像的宽,h为图像的高,

保留得分超过阈值的候选框,通过回归向量对候选框边界进行回归,对保留的候选框边界进行校准,最终通过非极大值抑制算法去除高度重叠的候选边框。

所述多任务卷积神经网络对人脸/非人脸的分类、边界框的回归和特征点的定位进行训练。

所述人脸/非人脸的分类的训练函数为:

其中,pi为候选框样本被网络预测为人脸的分类概率,表示该候选框样本为真的标记;

边界框的回归的训练函数为:

其中,为人脸区域框,为真实人脸区域框;

特征点的定位的训练函数为:

yi∈r10

其中,为网络预测的特征点位置,为真实人脸区域特征点的位置坐标。

所述多任务卷积神经网络使用wider_face数据集对人脸分类任务和候选框边界回归任务进行训练。

所述步骤4中人脸框的中间位置的计算公式为:

hbox-middle=ymin+(ymax-ymin)/2;

人脸框与当前视频框中间位置的差值的计算公式为:

hcurrent=hbox-middle-hframe/2;

其中,(xmin,ymin)为最佳人脸框左上角坐标,(xmax,ymax)为最佳人脸框右下角坐标,hframe为人脸图像帧的高度,单位为像素(px)。

所述步骤5中具体为:

首先计算人脸框面积s,公式为:

s=(xmax-xmin)*(ymax-ymin);

当人脸框面积s大于所设阈值时,若:0≤abs(hcurrent)≤25,说明人脸框处于视频帧的中间位置摄像头不需要转动,控制串口发送控制步进电机的pwm占空比为0%的命令;

若:±26≤hcurrent≤±100,则发送pwm占空比为25%的命令控制步进电机缓慢转动;

若:±101≤hcurrent≤±240,则发送pwm占空比为50%的命令控制步进电机快速转动;

使人脸框中间位置和视频框中间位置的差值小于阈值,从而保证人脸处于视频框的中间位置。

采用了上述技术方案,本发明具有以下的有益效果:

本发明通过多任务卷积神经网络计算出人脸图像最佳显示位置,而后控制摄像头对准最佳人脸识别位置,使人脸始终保持在视频帧的中间位置,很好的克服了由于摄像头安装角度固定、用户姿势、光照或遮挡等原因造成的人脸检测精度低的问题,为人脸识别和身份认证提供高质量的人脸图片信息。

附图说明

为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中

图1为本发明的流程示意图。

图2为本发明的多任务卷积神经网络的结构图。

具体实施方式

(实施例1)

见图1和图2,本实施例的摄像头自动跟随人脸转动的控制方法,包括以下步骤:

s1,摄像头实时获取人脸图像帧,对人脸图像帧进行预处理;

s2,基于多任务卷积神经网络模型对人脸图像帧进行实时运算,检测出图像中的所有人脸;

其中,多任务卷积神经网络模型包括三个级联的网络,分别为生成候选人脸框的p-net网络、对候选框优选过滤的r-net网络和生成最终边界框与人脸关键点的o-net网络。

对人脸图像帧进行实时运算包括以下步骤:

s2.1:首先将图像进行不同尺度的变换,将图像缩小到上一次操作图像面积的一半,直到达到预先设置的最小人脸尺寸为止,构建图像金字塔。

s2.2:将图像输入p-net网络,p-net网络输出人脸的roi区域候选框和候选框边界回归向量;对于输入大小为:w*h的图像,产生n*m个候选框和n*m*4个回归向量,其中w为图像的宽,h为图像的高,保留得分超过阈值的候选框,通过回归向量对候选框边界进行回归,对保留的候选框边界进行校准,最终通过非极大值抑制算法去除高度重叠的候选边框。

s2.3:将p-net网络的候选边框输入r-net网络,通过人脸/非人脸的分类的训练函数:

其中,pi为候选框样本被网络预测为人脸的分类概率,表示该候选框样本为真的标记;

得到人脸与非人脸的判定分类得分和候选框边界回归向量,如果分类得分超过阈值,则为人脸,继续保留该候选框,否则舍弃该候选框;

然后通过回归向量对候选框边界进行回归,所用边界框的回归的训练函数为:

其中,为人脸区域框,为真实人脸区域框;

对保留下来的候选框边界进行校准;最后通过非极大值抑制算法去掉高度重叠的的候选框。

s2.4:o-net网络给出人脸判定分类得分、候选框边界回归向量以及五个面部特征点的位置,其中特征点定位的训练函数为:

yi∈r10

其中,为网络预测的特征点位置,为真实人脸区域特征点的位置坐标。

由于每个层级的cnn中完成不同的学习任务,所以在训练过程中使用不同类型的训练图像。那么总的学习目标函数为:

式中n代表训练样本的个数,系数αj表示任务的重要性。在训练p-net和r-net时,设置αdet为1,αbox为0.5,αlandmark为0.5。训练o-net时,设置αdet为1,αbox为0.5,为了使特征点定位更准确,将αlandmark设置为1。为样本类型指示器。

另外的,多任务卷积神经网络使用wider_face数据集对人脸分类任务和候选框边界回归任务进行训练。

数据集中包含一定比例的遮挡和姿势具有高度的变化性人脸标签,数据集中的人脸被随机划分,其中40%的数据用作训练集,10%的数据用作验证集,50%的数据作为测试集。使用celeba数据集对特征点定位任务进行训练。celeba数据集图片数量多,人脸姿势变化大、背景杂乱。每张照片有40个属性标注,5个特征点位置标注。该数据集可以用来进行面部属性识别,人脸检测和特征点定位。

在训练时,由于人脸检测和对齐任务同时进行,因此需要根据与真实人脸框的重叠率iou(intersection-over-union)划分4种不同的数据集。负样本集:iou小于0.3的样本。正样本集:iou大于0.65的样本。半人脸集:iou大于0.3并且小于0.65的样本。特征点集:标注了五个特征点位置的样本。正样本集和负样本集用来训练人脸分类任务,正样本集和半人脸集用来训练候选框边界回归任务,特征点数据集的数据用来训练特征点定位任务。训练p-net时,随机从wider_face数据集中剪裁出正样本集,负样本集和半人脸集,从celeba数据集中剪裁人脸作为特征点集。训练r-net时,使用已经训练完的第一级网络p-net对wider_fac数据集进行检测,并剪裁出正样本集,负样本集和半人脸集,并从celeba数据集中检测特征点集。训练o-net时的数据集收集同r-net相似,只不过在检测时同时使用了前两级网络。

s3,根据检测出人脸的位置坐标和得分信息,计算获取最佳人脸。

s4,根据最佳人脸的位置信息计算人脸框与视频框中间的位置差值,其中,人脸框的中间位置的计算公式为:

hbox-middle=ymin+(ymax-ymin)/2;

人脸框与当前视频框中间位置的差值的计算公式为:

hcurrent=hbox-middle-hframe/2;

其中,(xmin,ymin)为最佳人脸框左上角坐标,(xmax,ymax)为最佳人脸框右下角坐标,hframe为人脸图像帧的高度,单位为像素(px)。

s5,首先计算人脸框面积s,公式为:

s=(xmax-xmin)*(ymax-ymin);

当人脸框面积s大于所设阈值时,若:0≤abs(hcurrent)≤25,说明人脸框处于视频帧的中间位置摄像头不需要转动,控制串口发送控制步进电机的pwm占空比为0%的命令;

若:±26≤hcurrent≤±100,则发送pwm占空比为25%的命令控制步进电机缓慢转动;

若:±101≤hcurrent≤±240,则发送pwm占空比为50%的命令控制步进电机快速转动;

使人脸框中间位置和视频框中间位置的差值小于阈值,从而保证人脸处于视频框的中间位置。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多