一种基于人脸识别算法进行数据挖掘的方法以及电子设备与流程

文档序号:16630912发布日期:2019-01-16 06:33阅读:423来源:国知局
一种基于人脸识别算法进行数据挖掘的方法以及电子设备与流程

本发明涉及数据挖掘领域,尤其涉及一种基于人脸识别算法进行数据挖掘的方法以及电子设备。



背景技术:

人脸识别是一种全新的技术,随着人脸识别技术的不断完善,现有技术能够将人脸识别技术应用在一些智能设备中。例如,iphone手机利用人脸识别进行解锁。

人脸识别非常实用,但是现有技术中,真正应用人脸识别的场景并不常见。

例如,当举办展览会时,需要获取各个时间段对应的人数,从而获取用户最感兴趣的展览品。然而,现有技术中,只能通过目测和/或计数的方式统计各个时间段参加展览会的人数。这一方式,效率过于低下,并且容易出错。

也就是说,现有技术中,无法将人脸识别技术应用于展览会或其他会议中,导致获取用户兴趣话题异常困难。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于人脸识别算法进行数据挖掘的方法以及电子设备,旨在解决现有技术中获取用户兴趣话题异常困难的问题。

本发明的技术方案如下:

一种基于人脸识别算法进行数据挖掘的方法,其包括:

a、预先建立形状模型与纹理模型,以及将所述形状模型与纹理模型进行组合,得到组合模型;

b、将需要检测的视频文件传入至所述组合模型中,并通过所述组合模型执行接收到的视频文件;

c、根据预设的检测阈值判断视频文件是否存在人脸信息,若是,则通过一累计单元自动累加,得到相应时间段的用户人数;

d、将各个时间段对应的用户人数进行排序,得到排序结果,根据排序结果获取用户感兴趣的目标内容。

优选的,所述步骤a之前包括:

s、采集样本数据,并对样本数据进行标定,以及将标定后的样本数据记录为数组文件。

优选的,所述步骤a中,建立形状模型的步骤具体包括:

对所述数组文件进行procrustes变换,得到平均模型;

对所述平均模型进行pca降维,得到形状模型。

优选的,所述步骤a中,建立纹理模型的步骤具体包括:

在获取样本数据后,获取样本数据的点集;

通过delaunay三角划分对样本数据的点集进行处理,得到三角形集合;

通过三角映射对所述三角形集合进行处理,得到平均纹理模型;

对所述平均纹理模型进行pca降维,得到纹理模型。

优选的,所述步骤b具体包括:

b1、通过一图像采集单元获取视频文件;

b2、将获取得到的视频文件通过所述组合模型执行,得到执行结果。

优选的,所述步骤c具体包括:

判断所述执行结果是否满足所述检测阈值,若是,则通过所述累计单元自动加一,当所述执行结果不满足所述检测阈值时,则保持不变。

优选的,所述步骤d具体包括:

d1、将视频文件按区域进行划分,得到多个目标区域;

d2、统计每个目标区域在各个时间段对应的用户人数;

d3、对所有目标区域在各个时间段对应的用户人数进行排序,得到排序结果;

d4、将各时间段用户人数最多的目标区域标记为用户最感兴趣的目标内容。

本发明还一种电子设备,其包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

预先建立形状模型与纹理模型,以及将所述形状模型与纹理模型进行组合,得到组合模型;

将需要检测的视频文件传入至所述组合模型中,并通过所述组合模型执行接收到的视频文件;

根据预设的检测阈值判断视频文件是否存在人脸信息,若是,则通过一累计单元自动累加,得到相应时间段的用户人数;

将各个时间段对应的用户人数进行排序,得到排序结果,根据排序结果获取用户感兴趣的目标内容。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于人脸识别算法进行数据挖掘的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于人脸识别算法进行数据挖掘的方法。

有益效果:通过本发明提供的方法,可以先采集视频文件,然后将采集得到的视频文件传入至预先建立的组合模型中,从而由组合模型执行视频文件;再根据预设的检测阈值判断视频文件是否存在人脸信息,如果存在人脸信息,则将通过所述统计单元自动累计;最后,对各个时间段的用户人数进行排序,得到排序结果,再根据统计结果获取用户最感兴趣的目标内容。例如,根据排序结果获取当前展览会,用户最感兴趣的展览品。也就是说,不同区域展示不同的展览品,当其中一个区域对应的用户人数最多,那么,该区域对应的展览品便为用户最感兴趣的展览品(目标内容)。

附图说明

图1为本发明基于人脸识别算法进行数据挖掘的方法较佳实施例的流程图。

图2为本发明电子设备较佳实施例的结构框图。

具体实施方式

本发明一种基于人脸识别算法进行数据挖掘的方法以及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,一种基于人脸识别算法进行数据挖掘的方法,其包括:

s1、预先建立形状模型与纹理模型,以及将所述形状模型与纹理模型进行组合,得到组合模型;

s2、将需要检测的视频文件传入至所述组合模型中,并通过所述组合模型执行接收到的视频文件;

s3、根据预设的检测阈值判断视频文件是否存在人脸信息,若是,则通过一累计单元自动累加,得到相应时间段的用户人数;

s4、将各个时间段对应的用户人数进行排序,得到排序结果,根据排序结果获取用户感兴趣的目标内容。

通过本发明提供的方法,便可以直接使用组合模型执行采集得到的视频文件,从而根据得到的统计结果获取用户最感兴趣的目标内容。例如,将本发明应用于展览会中,便可以根据用户人数,获取用户最感兴趣的展览品;再例如,将本发明应用于超市中,便可以根据用户人数获取用户最感兴趣的食品区域或用户最感兴趣的用品区域。

优选的,其中,所述步骤s1之前包括:

s0、采集样本数据,并对样本数据进行标定,以及将标定后的样本数据记录为数组文件。

所述步骤s0中,建立aam模型(组合模型,activeappearancemodel),就需要采集目标的样本,建立样本库,即采集样本数据。一般来说,样本数据越多,aam模型的效果越好,但建立组合模型的时间越长;样本数据的差异性越大,aam模型所能处理的人脸的范围越广,但准确性会相对下降。

对样本数据进行标定的具体步骤如下:先将采集到的图片或图像,去除背景,其中,图片或图像必须包含人的脸部信息。

然后,对图片或图像进行标定,即通过手动的方式将人脸的轮廓通过点和或/线描起来。

最后,通过预先建立的脚本文件(计算机程序)读取各个标记点,从而得到一个数组文件。

例如,图像a中包含5个标记点a、b、c、d和e,其中,标记点a的坐标为(m,n),标记点b的坐标为(k,l),标记点c的坐标为(v,c),标记点d的坐标为(p,o)以及标记点e的坐标为(q,n),那么得到的数据文件便为:{m,n,k,l,v,c,p,o,q,n}。也就是说,将各个标记点的坐标作为数据文件的元素。其中,坐标原点为各个图像的中心。

所述步骤s1中,在建立形状模型与纹理模型后,将两者进行组合,便可以得到本发明中的aam模型,即组合模型。

优选的,所述步骤s1中,建立形状模型的步骤具体包括:

对所述数组文件进行procrustes变换,得到平均模型;

对所述平均模型进行pca降维,得到形状模型。

其中,对数组进行procrustes变换是指对数据文件进行归一化。

由于每个样本的拍摄角度,人脸角度,人脸远近等因素,样本中的人脸的位置,大小均不相同。procrustes变换的主要思想是将观测对象的中心平移到原点,然后将对象的大小伸缩到固定大小并将对象旋转到正确位置。

每一个样本的对象都有四个参数,重心的横坐标和纵坐标,对象大小和对象旋转的角度。对于每两个样本,首先将两个样本的对象的重点都移动到同一位置,然后将两个样本的对象通过放大缩小至相同尺寸,最后通过两个对象相应的特征点的位置来计算出两个对象的旋转角度的差别,然后旋转对象,使相应点的距离的平方和最小,从而使使两个对象的角度一致。

对样本的对象两两进行procrustes变换,最终所有对象都移动到固定的初始位置,大小、角度也一致。然后对转换后的所有样本求平均,就得到了一个平均模型。

在得到平均模型后,将得到多个参数,然而,这些参数都是多维的,因此需要对平均模型进行降维处理。

pca(principalcomponentanalysis)即主元分析,是一种对数据进行分析的技术,它可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭示隐藏在复杂数据背后的简单结构。

具体的降维步骤如下:

(1)、采集数据形成m*n的矩阵。m为观测数据的维数,n为观测样本的个数。

(2)、在每个观测变量(矩阵行向量)上减去该观测变量的平均值得到矩阵x。

(3)、对xxt进行特征值分解(svd分解),取特征向量组成p的行向量以及对应的特征根。

这样,便可以得到形状模型(shapemodel)。

优选的,所述步骤s1中,建立纹理模型的步骤具体包括:

在获取样本数据后,获取样本数据的点集;

通过delaunay三角划分对样本数据的点集进行处理,得到三角形集合;

通过三角映射对所述三角形集合进行处理,得到平均纹理模型;

对所述平均纹理模型进行pca降维,得到纹理模型。

纹理模型(texturemodel)描述了目标的纹理特征。纹理模型的输入数据和形状模型一样,在这里可以看做是n张图片,每张图片上有一个点集。

delaunay三角划分将空间点连接为三角形,使得所有三角形中最小的角最大的一个技术。三角划分的要点是任何三角形的外接圆都不包括任何其他顶点,即外接圆性质。

使用delaunay三角划分后,每一个样本都可以划分为一系列三角形,而不同样本间这些三角形是对应的。要得到平均纹理模型,就需要把样本中的目标的纹理通过分片仿射投影到同一个样本上,而这种分片仿射就是三角映射。

在求出平均纹理模型后,我们同样得到了很多可以控制这个模型的参数,因而我们同样需要对这些结果进行pca降维,从而提取出对平均纹理模型影响最大的前q个参数。我们可以通过调整这q个参数改变纹理模型。

这样,便可以得到一个纹理模型。

在得到形状模型和纹理模型后,我们就可以对这两个模型进行加权组合,得到组合模型,也就是aam模型。

所述步骤s2中,在得到视频文件后,便可以直接将视频文件传入至组合模型中,由组合模型执行视频文件。

优选的,所述步骤s2具体包括:

s21、通过一图像采集单元获取视频文件;

s22、将获取得到的视频文件通过所述组合模型执行,得到执行结果。

所述步骤s21中,所述图像采集单元是指摄像机或摄影机(数码相机、手机相机等等)。通过图像采集单元便可以获取相应的视频文件。

所述步骤s22中,所述组合模型实际上是一种算法,也就是说,组合模型是通过计算机运行。

将获取得到的视频文件上传至计算机,然后调用组合模型,使组合模型执行视频文件,从而得到执行结果。

所述步骤s3中,如果视频文件中存在人脸信息,那么,将自动通过所述统计单元累加,从而得到相应时间段的用户人数。

优选的,所述步骤s3具体包括:

判断所述执行结果是否满足所述检测阈值,若是,则通过所述累计单元自动加一,当所述执行结果不满足所述检测阈值时,则保持不变。

具体的,所述检测阈值由用户自身定义。

例如,用户将视频文件a上传时组合模型中,并由组合模型执行视频文件a,从而得到执行结果a。其中,执行结果a小于预设的检测阈值,那么,便可以判定视频文件a中存在人脸,并通过所述累计单元自动累加。

再例如,用户将视频文件b上传时组合模型中,并由组合模型执行视频文件b,从而得到执行结果b。其中,执行结果b大于或等于预设的检测阈值,那么,便可以判定视频文件b中不存在人脸,保持所述累计单元的数值不变。

所述步骤s4中,将各个时间段对应的用户人数进行排序,排序的方式可以是按照统计结果从大到小排序,也可以是按照统计结果从小到大进行排序,从而得到排序结果。

根据排序结果便可以获取用户最感兴趣的目标内容,也就是说,排序结果越大,其对应的目标内容,便是用户最感兴趣的目标内容。

优选的,所述步骤s4具体包括:

s41、将视频文件按区域进行划分,得到多个目标区域;

s42、统计每个目标区域在各个时间段对应的用户人数;

s43、对所有目标区域在各个时间段对应的用户人数进行排序,得到排序结果;

s44、将各时间段用户人数最多的目标区域标记为用户最感兴趣的目标内容。

所述步骤s41中,直接对视频文件进行解析,然后得到各个目标区域对应的目标视频。

也就是说,视频文件是包含多个目标区域的文件,然后,根据预先划分的目标区域,对视频文件进行解析,得到各个区域对应的视频文件。

例如,视频文件的长度为100min,其中包含目标区域a的时间段为:00:00-00:30;包含目标区域b的时间段为:00:30-01:00;包含目标区域c的时间段为:01:00-01:15以及包含目标区域d的时间段为:01:15-01:30。这样,便可以将视频文件按照目标区域划分,得到各个目标区域对应的视频文件。

所述步骤s42中,统计相同时间段内,各个目标区域对应的用户人数。例如,在展览厅中,目标区域a在展览时间(一天的展览时间)内对应的用户人数为100人;目标区域b在展览时间内对应的用户人数为80人;目标区域c在展览时间内对应的用户人数为200人;目标区域d在展览时间内对应的用户人数为380人。再例如,目标区域e(食品区)在超市的运营时间(一天的运营时间)内对应的目标人数为5000人;目标区域f(饮料区)在超市的运营时间f内对应的目标人数为3000人;目标区域g(生鲜区)在超市的运营时间f内对应的目标人数为8000人。这样,便可以获取每个目标区域在各个时间段对应的用户人数。

所述步骤s43中,对影响的用户人数进行排序,从而得到排序结果。

所述步骤s44中,根据获取得到排序结果,将各时间段用户人数最多的目标区域标记为用户最感兴趣的目标内容,以及将各时间段用户人数最少的目标区域标记为用户最不感兴趣的目标内容。

下面,通过1个具体的实施例对本发明进一步解释与说明。

某公司举办一个展览会,该公司预先将展览会划分为四个展览区,展览区a1、展览区a2、展览区a3以及展览区a4,其中,展览区a1展示的展览品为展览品1,展览区a2展示的展览品为展览品2,展览区a3展示的展览品为展览品3以及展览区a4展示的展览品为展览品4,并且四个展览区域的展览面积相等。

当展览展览品时,通过摄像机对整个展览会进行采集,然后,将采集得到视频文件根据预先划分的展览区划分为四个目标区域,并统计各个目标区域在各个时间段对应的用户人数。

例如,预先将展览会划分为4个时间段,其中,第一时间段为:9:00-11:00,第二时间段为:11:00-13:00,第三时间段为:13:00-15:00以及第四时间段为:15:00-17:00。

将视频文件传输至电子设备,并由本发明的组合模型执行视频文件,从而得到相应的用户人数。

其中,第一时间段对应目标区域1(展览区a1)的用户人数为100人;第一时间段对应目标区域2(展览区a2)的用户人数为50人;第一时间段对应目标区域3(展览区a3)的用户人数为60人;第一时间段对应目标区域4(展览区a4)的用户人数为90人。第二时间段对应目标区域1的用户人数为90人;第二时间段对应目标区域2的用户人数为200人;第二时间段对应目标区域3的用户人数为100人;第二时间段对应目标区域4的用户人数为80人。第三时间段对应目标区域1的用户人数为90人;第三时间段对应目标区域2的用户人数为70人;第三时间段对应目标区域3的用户人数为100人;第三时间段对应目标区域4的用户人数为80人。第四时间段对应目标区域1的用户人数为20人;第四时间段对应目标区域2的用户人数为10人;第四时间段对应目标区域3的用户人数为90人;第四时间段对应目标区域4的用户人数为100人。

然后,所有目标区域在各个时间段对应的用户人数进行排序,得到排序结果。

显然,第一时间段内的排序结果(按照用户人数从大到小排序)为:展览品1、展览品4、展览品3以及展览品2;

第二时间段内的排序结果为:展览品2、展览品3、展览品1以及展览品4;

第三时间段内的排序结果为:展览品3、展览品1、展览品4以及展览品2;

以及第四时间段内的排序结果为:展览品4、展览品3、展览品1以及展览品2。

根据上述排序结果便可以判定在第一时间内用户最感兴趣的目标内容为展览品1;在第二时间内用户最感兴趣的目标内容为展览品2;在第三时间内用户最感兴趣的目标内容为展览品3以及在第四时间内用户最感兴趣的目标内容为展览品4。

这样,便可以根据用户最感兴趣的目标内容调整展览会的展览面积或者延长展览时间等等。

例如,根据上述排序结果,在第一时间内将目标区域4的面积从80平方米调整为100平方米,这样,便可以使得更多人在目标区域4中“观看”展览品4。

再例如,根据上述排序结果,在第四时间内将目标区域1的面积从50平方米调整为80平方米,这样,便可以使得更多人在目标区域1中“观看”展览品1。

当然,本发明还可以具体用于在超市中,同样的,先对超市划分多个目标区域,根据各个时间段的用户人数,实时调整各个区域的产品或者调整各个区域的面积等等。

请参阅图2,本发明还提供一种电子设备10,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:

预先建立形状模型与纹理模型,以及将所述形状模型与纹理模型进行组合,得到组合模型;

将需要检测的视频文件传入至所述组合模型中,并通过所述组合模型执行接收到的视频文件;

根据预设的检测阈值判断视频文件是否存在人脸信息,若是,则通过一累计单元自动累加,得到相应时间段的用户人数;

将各个时间段对应的用户人数进行排序,得到排序结果,根据排序结果获取用户感兴趣的目标内容。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于人脸识别算法进行数据挖掘的方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于人脸识别算法进行数据挖掘的各种功能应用以及数据处理,即实现上述方法实施例中的基于人脸识别算法进行数据挖掘的方法。

关于上述电子设备10的具体技术细节,已在上述步骤中详述,故此不做赘述。

本发明还提供一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于人脸识别算法进行数据挖掘的方法。

本发明还提供一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于人脸识别算法进行数据挖掘的方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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