一种视频中动态人脸识别方法与流程

文档序号:11251914阅读:1200来源:国知局
一种视频中动态人脸识别方法与流程
本发明涉及人脸识别的方法,特别涉及一种视频中动态人脸识别方法。
背景技术
:当前,人类的视觉对于观测的而言越来越有限,当有物体快速闪过或物体过于小等一些情况的时候,人类的眼睛有时候是无法正确认知到这些东西的,这和人眼睛的自身构造和其自身的特性有关,但人们又希望对这些信息进行了解和用肉眼看到,从而我们通过计算机来代替我们的眼睛对事物进行观测。视频的物体标记和跟踪这方面对于计算机视觉研究领域而言不是一个陌生的概念,近年来对物体的识别和对物体的实时跟踪的技术越来越受大家关注,我们不满足于记录数据,也不满足于提取信息,希望在视频中挖掘规律性的内容,比如,通过一个人的姿势就可以看出这是一个好人,还是一个在那儿徘徊等待作案时机的坏人,这需要我们做人脸的视频识别。物体的识别属于图像识别的方面,对于图像方面而言,它经历过3个发展阶段:文字识别、数字图像处理和识别和物体标记。文字识别是从1950开始研究的,之后的由于数字图像的强大的存储能力,方便性,不易失真等有着巨大优势,从而大家对于数字图像处理和识别在1965年开始研究。物体的识别主要指的是对三维世界的客体及环境的感知和认识,属于高级的计算机视觉范畴。在对于图像识别模式而言,在其发展过程中主要有3种方式用来识别,分别是统计模式识别、结构模式识别和模糊模式识别。在近10年来它一直是众多研究人员的研究对象的核心。虽然图像识别技术在国内外都发展的很快,但是对于物体标记这块的研究并不很成熟,多数的研究都是在不是很复杂的或特定的场景进行采集和分析,要做到在非特定或者是随机场景还是有一定的难度的,也就是自适应性能差,一旦目标图像被较强的噪声污染或是目标图像有较大残缺往往就得不出理想的结果。技术实现要素:本发明目的在于克服现有技术的不足,提出一种视频中动态人脸识别方法,先对视频进行处理,包括对其进行截取,每一帧存放为图片;之后通过对比当前帧和上一帧,进行相识度比对,图像相似度通过直方图匹配算法来返回一个巴氏系数,从而来确定是否出现快速运动的物体;然后对有物体出现的图片进行处理,先通过帧间差分法对整个视频进行处理,从而取出背景,再对物体出现的图片和背景图像进行差分,取出物体在图片中的位置,然后通过分析对图片相应区域标记出物体的位置并进行判断物体为何物;之后进行人脸的识别和肤色提取。本发明解决其技术问题所采用的技术方案是:一种视频中动态人脸识别方法,包括:对视频进行处理,把视频中相应的秒或帧转化成图片输出;使用直方图匹配法依次比较相邻两张图片的相识度,当相识度大于预设值时,过滤掉没有物体出现的图片;对于有物体出现的图片,通过帧间差分法对整个视频进行处理,取出实时更新的背景图像;对于有物体出现的图片,和实时更新的背景图像进行差分,标记出相应的区域处并显示出来,完成物体标记;对标记出的物体进行人脸识别。使用直方图匹配法依次比较相邻两张图片的相识度,包括:对相邻两张图片分别进行灰度化处理并计算相邻两张图片的巴氏系数。进行灰度化处理的方法为:对图片rgb三个分量进行加权平均得到最重的灰度值,使用公式gray=0.11b+0.59g+0.3r计算;其中gray表示处理后的灰度值。计算相邻两张图片的巴氏系数的公式为:bhattacharyya=∑{i=1|n}√(∑ai·∑bi)其中,a和b表示相邻两张图片,n是分块数,ai表示在a中第i部分的成员数,bi表示在b中第i部分的成员数。对于有物体出现的图片,和实时更新的背景图像进行差分,标记出相应的区域处并显示出来,完成物体标记,具体包括:对当前图片与实时更新的背景图做差处理;对做差的结果图进行二值化,二值化所使用的方法为迭代法;对通过二值化的图中的信息进行提取,把提取的结果反馈到当前图片上进行显示,完成标记。对标记出的物体进行人脸识别,具体包括:使用face++对相应的图片进行识别处理;接收face++返回的json数据中人脸个数,判断人脸个数是否为0,如果不为0,在图片上输出人脸识别的结果;如果返回的人脸个数为0,判断上一时刻识别的结果;如果上一时刻没有人脸出现,输出当前时刻的原图片;如果上一时刻有人脸出现,对当前时刻左右的帧图片进行识别;如果有人脸出现,输出相应帧的图片,并在当前时刻图片上显示结果;如果没有人脸出现,输出当前时刻的原图片。与现有技术相比,本发明具有如下有益效果:本发明提出一种视频中动态人脸识别方法,先对视频进行处理,包括对其进行截取,每一帧存放为图片;之后通过对比当前帧和上一帧,进行相识度比对,图像相似度通过直方图匹配算法来返回一个巴氏系数,从而来确定是否出现快速运动的物体;然后对有物体出现的图片进行处理,先通过帧间差分法对整个视频进行处理,从而取出背景,再对物体出现的图片和背景图像进行差分,取出物体在图片中的位置,然后通过分析对图片相应区域标记出物体的位置并进行判断物体为何物;之后进行人脸的识别。本发明方法能够对视频中的动态人脸进行快速的标记和识别,识别效率和准确率较高。附图说明图1是本发明方法的流程图;图2是本发明方法的对一视频以秒为单位的展示图;图3是本发明方法的对图2所示图片过滤后的展示图;图4是本发明方法的对图3所示图片进行物体标记后的展示图;图5是本发明方法的人脸识别流程图;图6是本发明方法的人脸识别最终效果图。具体实施方式一种视频中动态人脸识别方法,主要是通过matlab编程语言实现,参见图1所示,所述方法包括:步骤101,对视频进行处理,把视频中相应的秒或帧转化成图片输出。具体的,在对视频中物体进行识别时,首先需要先对视频进行处理,把视频中相应的帧转化成图片输出,才能通过图像处理和识别进行了解。本实施例中,使用matlab提供的库函数来对视频中的帧进行处理,并输出图片的jpg格式:imwrite(read(mov,i*mov.framerate),strcat(num2str(i),’.jpg’),’jpg’)如图2所示为使用上述方法对一视频以秒为单位的展示图。步骤102,使用直方图匹配法依次比较相邻两张图片的相识度,当相识度大于预设值时,过滤掉没有物体出现的图片。在把视频中的每一帧都转化成图片后,由于物体不一定都会一直出现在视频中,从而在检测图片是否出现物体时,会出现许多没有物体出现也会被列入检测队列,如果在一段20多s的视频中只有1s左右有物体出现的话,那么这样的话就会有许多不需要进行检测帧图片,从而会让运行的时间加长,效率低。为了解决上述的问题,本实施例通过使用直方图匹配法比较帧于帧之间图像相识度,来过滤掉些没用的帧图片。直方图匹配法是一种先进行灰度化,之后把其灰度直方图改成自己希望的直方图。在使用直方图匹配来比较图像相识度时,一般会计算其巴氏距离(bhattacharyyadistance)和巴氏系数(bhattacharyyacoefficient)。其中巴氏距离是用于测量两离散概率分布,巴氏系数是对两个统计样本的重叠量的近视计算。计算巴氏距离和系数来进行图像相似度的处理,其对图像相识度的结果的效果是最好的。以下列出巴氏距离和巴氏系数的数学上的公式。巴氏距离公式:db(p,q)=-ln(bc(p,q))其中,q、p是分别指x数域上的两个离散概率分布,bc是指巴氏系数。巴氏系数:bhattacharyya=∑{i=1|n}√(∑ai·∑bi)其中,a和b表示相邻两张图片,n是分块数,ai表示在a中第i部分的成员数,bi表示在b中第i部分的成员数。通过上述的介绍我们开始基于直方图匹配的方式来比较图片的相识度。在此先要对图片进行灰度化处理,通过i=rgb2gray(m)函数来进行转化,其中m是指要进行成灰度图的图像,i是指m的灰度图像。然后通过[count,x]=imhist(i),来读出灰度图中图像中的直方图信息,其中count和x分别为图片灰度图的直方图数据向量和相应的彩色向量。之后通过上述的公式进行对巴氏距离和巴氏系数计算。对于图像灰度化也可以通过不直接调用matlab的方式来进行:对于图像进行灰度化,实际上是通过对图像rgb三个分量进行加权平均得到最重的灰度值,如下计算公式:gray=0.11b+0.59g+0.3r。使用直方图匹配法依次比较相邻两张图片的相识度,数值如表1所示:表1图像相识度当前时刻(视频中第几秒)上一时刻(视频中第几秒)巴氏系数(图像相识度)210.975782320.973902430.970653540.902657650.927859760.951648870.906080980.9262401090.96624111100.95521712110.96784013120.93339814130.93597715140.927042本实施例中,当相识度大于预设值0.97时,过滤掉没有物体出现的图片,如图3所示。步骤103,对于有物体出现的图片,通过帧间差分法对整个视频进行处理,取出实时更新的背景图像。具体的,本实施例使用帧间差分法来实现。对于视频中背景的处理的方式是通过对图片进行“相加”之后求“平均值”的方式。假设截取的帧的图片同一命名为picture(n),其中n是指视频中的第n帧。具体的执行方式如下:但是,处理时要求背景的实时性,则我们对视频的背景进行实时的处理提取,方式如下:通过上述的方式可以对视频中背景提取进行实时的更新。步骤104,对于有物体出现的图片,和实时更新的背景图像进行差分,标记出相应的区域处并显示出来,完成物体标记。具体的,本实施例进行的物体标记就是要确定出两张图片的不同处,从而确认出物体,通过“差”的方式来求。即:c=picture(n)-backg;之后对相减的结果图进行二值化,二值化的方法用的是迭代法,迭代法时基于逼近的思想,先求出图像的最大灰度值和最小灰度值,分别记为rmax和rmin,之后令阈值t=(rmax+rmin)/2;之后根据阈值将图像的平均灰度分成两组r1和r2,分别求出两组的平均灰度值μ1和μ2,最后求出新的阈值t=(μ1+μ2)/2。设f(x,y)是输入的灰度图像函数,g(x,y)是输出后二值图像函数:通过上述的方式来完成图像的二值化,之后对通过二值化的图,对它里面的信息进行提取,把提取的结果反馈到picture(n)上进行显示,如图4所示。步骤105,对标记出的物体进行人脸识别。通过上述的步骤,已经可以成功的从视频中发现物体并进行标记,从而现在开始要对物品进行识别。由于每个物体都有自己的基本特征而且对于同一个事物而言又有不同的形态,对于此次的物体标记,以人脸识别为主。具体的,对标记出的物体进行人脸识别具体包括首先使用face++对相应的图片进行识别处理;然后,如图5所示,接收face++返回的json数据中人脸个数,判断人脸个数是否为0,如果不为0,在图片上输出人脸识别的结果;如果返回的人脸个数为0,判断上一时刻识别的结果;如果上一时刻没有人脸出现,输出当前时刻的原图片;如果上一时刻有人脸出现,对当前时刻左右的帧图片进行识别;如果有人脸出现,输出相应帧的图片,并在当前时刻图片上显示结果;如果没有人脸出现,输出当前时刻的原图片。face++识别处理和加上后期处理的最终效果图如图6所示。以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1