一种基于视频的人脸识别系统中的多模板人脸自动录入方法
技术领域
本发明涉及计算机视觉识别技术,尤其涉及一种基于视频的人脸识别系统中的多模板人脸自动录入方法。
背景技术
随着科技的进步和经济的发展,人工智能已经不是一个陌生的名词,人脸识别技术作为人工智能领域的一个重点研究课题,已经广泛应用与人们的日常生活中,如考勤系统、门禁系统、刷脸支付等。一个完整的人脸识别系统,主要包括机器前端展示界面、人脸检测跟踪模块、人脸录入模块、人员数据库、人脸识别模块。其中人脸录入模块是整个系统中不可或缺的部分,是识别的前提,通过人脸录入提取符合识别要求的人脸模板,计算模板特征,构建人员数据库,才能进行下一步的识别操作。因此,能够快速、有效地采集到丰富的人脸数据,对于用户体验和人脸识别准确度的提升都具有重要意义。
目前,常用的人脸录入方式多为用户在指定区域内拍摄一张照片作为人脸模板提取特征存入人脸数据库。这种方式一般会在界面上显示符合要求的人脸轮廓,需要用户高度配合将人脸凑到指定区域完成录入,用户体验感较差。另外,用户录入时可能会存在动态模糊、光照条件不佳、人脸角度偏等问题影响模板的质量,导致后续人脸识别的置信度降低,所以对于模板质量的把控在人脸录入环节中显得尤为重要。再者,在人脸比对识别速度允许的情况下,多模板协同比单一模板更可靠。因此,有必要研究一种用户体验佳、模板质量有保证、多模板协同的人脸录入方法,打破传统单张人脸模板录入模式,提高识别准确率和人机交互友好度。
发明内容
本发明提供了一种基于视频的人脸识别系统中的多模板人脸自动录入方法,以解决一般人脸识别系统中录入时用户配合要求高、模板质量不可控,影响用户体验和后续识别准确率的问题。
本发明解决上述技术问题所采用的技术方案为:一种基于视频的人脸识别系统中的多模板人脸自动录入方法,包括以下步骤:
①人脸录入模式下,根据人脸跟踪检测结果得到当前视频帧内第i个人脸位置Rect(xi,yi,wi,hi)和三维人脸角度信息其中,0≤i≤N-1,N和i分别为当前视频帧内的人脸轨迹数量和序号;分别表示第i个人脸的上下角度、左右角度和时钟旋转角度。
②比较这N个人脸区域大小,得到最大人脸位置Rect(xi,yi,wi,hi),对应轨迹序号为i,该条人脸轨迹即为有效人脸录入轨迹。
③为该条有效人脸录入轨迹i建立用来存储多张人脸模板的队列缓存{Mj},0≤j<9,表示左右角度每隔10度存储一张,即共可存储9个不同角度的模版:
④将当前帧截取的人脸通过步骤④-1,④-2,④-3,④-4的筛选,符合要求的存入对应角度的人脸队列中,具体操作步骤为:
④-1保证该最大人脸大于最小录入人脸阈值Rect(wmin,hmin),符合要求则执行步骤④-2,否则返回步骤④处理下一帧人脸,界面提示“请靠近一点”;
④-2保证用户人脸在垂直方向居中平视,符合上下角度符合要求则执行步骤④-3,否则返回步骤④处理下一帧人脸,提示“请稍微抬头”;提示“请稍微低头”;
④-3清晰度检查,过滤动态模糊的人脸图片。符合要求则执行步骤④-4,否则返回步骤④处理下一帧人脸;
④-4根据人脸左右角度,满足条件的将人脸图片保存至对应的Mi中。
⑤判断步骤④保存队列{Mj}中的图片,若M4有模板,M3、M5至少存在一个模板,队列中剩余6个位置至少一个存在模板,则录入完成,保存的模板数目至少3个,最多9个;若还不满足完成条件,则返回步骤④,直至满足完成条件为止。
⑥对保存的模板图片做光照处理。计算人脸灰度值水平,判断图片是否存在过曝光或曝光不足的情况,若存在则采用gamma校正来调整图片亮度:
其中,为当前图片中(x,y)坐标点c通道的像素值,RGB图片0≤c<3;为gamma校正后的图片(x,y)坐标点c通道的像素值,γ为矫正参数。过曝光和曝光不足两种情况用不同的γ值来矫正,可以将曝光异常图片恢复至正常光照。
⑦对光照处理后的模板照片和原始照片都进行特征提取,保存成特征文件,存入人员数据库中,与该人员id关联。在后续的识别过程中,只需加载特征文件就能识别,不需要再对模板进行特征提取。
与普遍人脸录入方法相比,本发明的优点在于:
1)本发明严格筛选人脸录入模板图片,排除人脸过小、动态模糊、光照异常的问题,从而保证人脸模板质量;
2)本发明采用多模板协同的方式,相较于单一模板,包含了更多维度的人脸特征,有助于提高后续的人脸识别准确度;
3)本发明对保存的人脸模板做光照补偿,对于存在过曝光或曝光不足的模板重新调整曝光,减少因环境光变化过大引起的后续人脸比对拒识率和误识率的增加。
4)本发明将保存下来的人脸模板直接提取特征转换成人脸特征文件存入数据库,后续识别时直接加载特征文件,不需要多次计算特征,减少运行耗时。
附图说明
图1为本发明方法的流程框图;
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明公开了一种基于视频的人脸比对识别系统中的多模板人脸自动录入方法。首先取得视频场景内的最大人脸轨迹,按照一定筛选逻辑自动保存多个角度的人脸图片作为模板,筛选时排除人脸过小、动态模糊、光照异常的图片,从而保证人脸模板质量。其次,对过曝光或曝光不足的模板进行光照补偿,补偿后的图片加入此人模板中,提高比对准确度。最后,将保存的模板提取特征转化为人脸特征文件存入人脸比对数据库,直接比对特征,减少运行耗时。本录入方法实现用户人脸的自动采集,其录入时间短、用户配合度低,同时录入模板质量高,能有效提高识别准确性。
本方法的总体流程框图如图1所示,具体包括以下步骤:
①人脸录入模式下,根据人脸跟踪检测结果得到当前视频帧内第i个人脸位置Rect(xi,yi,wi,hi)和三维人脸角度信息其中,0≤i≤N-1,N和i分别为当前视频帧内的人脸轨迹数量和序号;分别表示第i个人脸的上下角度、左右角度和时钟旋转角度。
②比较当前视频帧中的这N个人脸区域大小,得到最大人脸位置Rect(xi,yi,wi,hi),对应轨迹序号为i,该条人脸轨迹即为有效人脸录入轨迹。从当前帧的场景图中ROI截取该条轨迹的人脸位置Rect(xi,yi,wi,hi)并存储为当前帧有效轨迹i的人脸图片;
③为该条有效人脸录入轨迹i建立用来存储多张人脸模板的队列缓存{Mj},0≤j<9,表示左右角度每隔10度存储一张,即共可存储9个不同角度的模板:
④将当前帧截取的人脸图片通过步骤④-1,④-2,④-3,④-4的筛选,符合要求的存入对应角度的人脸模板队列中,具体操作步骤为:
④-1保证该最大人脸大于最小录入人脸阈值Rect(wmin,hmin),太小的模板会影响识别效果,符合要求则执行步骤④-2,否则返回步骤④处理下一帧人脸,界面提示“请靠近一点”;
④-2保证用户人脸在垂直方向居中平视,符合上下角度否则返回步骤④处理下一帧人脸,提示“请稍微抬头”;提示“请稍微低头”;
④-3清晰度检查,过滤动态模糊的人脸图片。首先,利用Sobel算子分别计算水平和垂直方向的梯度:
Sobel(imageGrey,imageSobel,CV-16U,1,1);
其中,imageGrey为人脸图片的灰度图,imageSobel为经过计算后的Sobel梯度图。然后计算经过Sobel算子处理后的图像的平均灰度值meanValue,
meanValue=mean(imageSobel)[0];
meanValue值越大,代表图像越清晰。本发明中meanValue>0.4,即符合清晰度要求,执行步骤④-4,否则返回步骤④处理下一帧人脸;
④-4界面提示“请缓慢左右转动人脸”,程序判断人脸三维角度,满足以下条件的人脸图片将自动保存至对应的模板队列{Mj}中的对应位置j中:
如当前人脸上下角度左右角度则将图片缓存至M6中。缓存完毕后进入步骤⑤判断模板队列{Mj}是否满足完成条件;若不满足上述角度条件,则返回步骤④处理下一帧人脸。
⑤判断步骤④保存模板队列{Mj}中的人脸模板图片,若M4有模板,M3、M5至少存在一个模板,队列中剩余6个位置至少一个存在模板,则录入完成,保存的模板数目至少3个,最多9个,录入完成后进入步骤⑥;若当前不满足完成条件,则返回步骤④,直至满足完成条件为止。
⑥对保存的模板做光照处理。计算人脸灰度值水平,判断图片是否存在过曝光或曝光不足的情况,若存在则采用gamma校正来调整图片亮度
其中,为当前图片中(x,y)坐标点c通道的像素值,RGB图片0≤c<3;为gamma校正后的图片(x,y)坐标点c通道的像素值,γ为矫正参数。具体操作流程如下:
⑥-1判断当前模板是否存在曝光异常。首先,将三通道彩色图片转化为灰度图,然后读取每个像素点的灰度值,计算灰度小于80和大于120的像素点个数分别在整张灰度图中的占比。若灰度小于80的像素点占比大于50%,则认为该张模板处于曝光不足状态;若灰度大于120的像素点占比大于50%,则认为该张模板处于过曝光状态。
⑥-2对于两种曝光异常状态,分别用不同的γ值来调整图片亮度。对于曝光不足的图像,选取γ=0.6,调整后图像整体亮度值得到提升,同时低灰度处的对比度得到增加,更利于分辩低灰度值时的图像细节;对于过曝光状态,选取γ=1.4,调整后图像的高光部分被压缩而暗调部分被扩展,整体亮度值降低,更利于分辩高灰度值时的图像细节。
⑦对光照处理后的模板图片和原始模板图片都进行特征提取,保存成特征文件,存入人员数据库中,与该人员id关联。在后续的识别过程中,只需加载特征文件就能识别,不需要再对模板进行特征提取。
为了更有效地说明本发明方法的有效性和可行性,对本发明方法与单一模板和未光照处理的模板进行测试比较人脸识别的准确率。选取100个用户按本发明方法录入人脸,得到多角度模板和光照处理后的模板共435张图片,其中18人的模板需要光照处理。同时保存单一正脸模板100张;未做光照处理的模板(本发明省略步骤⑥)378张。人脸测试集用该100个用户不同角度、不同光照的人脸图片各50张,共5000张图片。三种模板采用同一个识别模型,识别阈值为0.75,对5000张测试人脸图片在模板库中进行比对测试,测试结果如表1所示。
表1本发明录入的模板与单一模板、未光照处理模板测试结果对比
|
单一模板 |
未光照处理模板 |
本发明 |
误识率 |
0.62% |
0.22% |
0.06% |
拒识率 |
1.72% |
0.64% |
0.18% |
从表1可以看出,本发明录入的模板在识别准确率上相较于单一模板和未光照处理的模板有较大提高。本次测试所用的模型单张图片人脸特征提取耗时200ms左右,而比对1张模板平均1.1ns左右,识别速度瓶颈主要在特征提取上,所以在单线程提取人脸特征时,录入用户5万人以下的系统在识别速度上跟单一模板基本一致,但较单一模板误识率和拒识率有明显下降,识别准确率有大幅度提高。