本发明涉及电视技术领域,尤其涉及一种电视节目推荐方法及装置。
背景技术:
随着数字电视业务、多媒体的发展以及人们生活水平的提高,电视节目在人们的日常休闲活动中占有非常重要的比例。然而近年来随着电视节目种类的不断增多,用户在选择节目上需要花费大量的时间进行浏览和检索,以找到适合自己观看的电视节目,大大降低用户的使用体验。
技术实现要素:
本发明的主要目的在于提供一种电视节目推荐方法及装置,旨在解决用户在选择电视节目时需要耗费大量时间进行浏览和检索的技术问题。
为实现上述目的,本发明提供的一种电视节目推荐方法包括以下步骤:
获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端。
优选地,所述获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数的步骤包括:
获取当前用户的人脸图像,并对所述人脸图像进行预处理;
基于局部Gabor二值模式算子对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
优选地,所述基于局部Gabor二值模式算子对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数的步骤包括:
根据Gabor函数将预处理后的所述人脸图像转换为Gabor幅值图像,并根据局部二值模式算子对Gabor幅值图像进行编码,以形成局部Gabor二值模式特征图像;
对局部Gabor二值模式特征图像进行纹理分块,并获取每一纹理分块的直方序列图;
根据所述直方序列图获取人脸特征参数。
优选地,所述根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端的步骤包括:
基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息,以根据预设的推荐算法获取电视节目信息与用户年龄区间信息之间的匹配关系并储存于预存的节目数据库中;
将所述年龄信息与年龄区间信息进行比对,并根据储存的匹配关系获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
将所述匹配的电视节目信息显示于电视端。
优选地,所述根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息的步骤之后还包括:
根据所述人脸特征参数判别当前用户的性别,以获取性别信息;
所述根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端的步骤包括:
根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
根据预设的推荐算法获取匹配的电视节目信息中与所述性别信息匹配的备选电视节目信息,并将所述备选电视节目信息显示于电视端。
此外,为实现上述目的,本发明还提供一种电视节目推荐装置,包括:
获取模块,用以获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
年龄估算模块,用以根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
推荐模块,用以根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端。
优选地,所述获取模块包括:
获取单元,用以获取当前用户的人脸图像,并对所述人脸图像进行预处理;
提取单元,用以基于局部Gabor二值模式算子对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
优选地,所述提取单元包括:
第一处理单元,用以根据Gabor函数将预处理后的所述人脸图像转换为Gabor幅值图像,并根据局部二值模式算子对Gabor幅值图像进行编码,以形成局部Gabor二值模式特征图像;
第二处理单元,用以对局部Gabor二值模式特征图像进行纹理分块,并获取每一纹理分块的直方序列图;
第三处理单元,用以根据所述直方序列图获取人脸特征参数。
优选地,所述推荐模块包括:
存储单元,用以基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息,以根据预设的推荐算法获取电视节目信息与用户年龄区间信息之间的匹配关系并储存于预存的节目数据库中;
算法单元,用以将所述年龄信息与年龄区间信息进行比对,并根据储存的匹配关系获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
显示单元,用以将所述匹配的电视节目信息显示于电视端。
优选地,所述电视节目推荐装置还包括:
性别信息获取模块,用以根据所述人脸特征参数判别当前用户的性别,以获取性别信息;
所述推荐模块还用以:
根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
根据预设的推荐算法获取匹配的电视节目信息中与所述性别信息匹配的备选电视节目信息,并将所述备选电视节目信息显示于电视端。
本实施例提供的技术方案中,通过获取用户的人脸图像来估算用户年龄,以获取年龄信息,并根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端,以供用户选择,使得用户无需通过多次切换电视频道来选择电视节目,节省了用户浏览和检索节目的时间,提升了用户体验。
附图说明
图1为本发明电视节目推荐方法第一实施例的流程示意图;
图2为本发明电视节目推荐方法第二实施例中对人脸图像进行预处理步骤的细化流程示意图;
图3为本发明电视节目推荐方法第三实施例中对获取人脸特征参数步骤的细化流程示意图;
图4为本发明电视节目推荐方法第四实施例中根据年龄信息推荐电视节目信息步骤的细化流程示意图;
图5为本发明电视节目推荐方法第五实施例的流程示意图;
图6为本发明电视节目推荐装置第一实施例的功能模块示意图;
图7为本发明电视节目推荐装置第二实施例中获取模块的细化功能模块示意图;
图8为本发明电视节目推荐装置第三实施例中提取单元的细化功能模块示意图;
图9为本发明电视节目推荐装置第四实施例中推荐模块的细化功能模块示意图;
图10为本发明电视节目推荐装置第五实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种电视节目推荐方法,参照图1,在一实施例中,该电视节目推荐方法包括:
步骤S10,获取用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
需要说明的是,人脸识别是一种基于人脸特征对个人身份识别的技术,用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术;包括人脸图像采集、人脸定位、人脸识别预处理、身份确认及身份查找。
本实施例中,所述人脸图像的获取通过摄像头实现,例如静态图像、动态图像、不同的位置、不同表情等都可以被很好地采集。需要说明的是,通过连续不间断地在预设时间内采集用户的人脸图像视频流,进而能获取多个人脸图像的视频帧。
进一步地,对获取的所述人脸图像的视频帧进行特征提取,以获取人脸特征参数。需要说明的是,所述人脸特征参数包括眼睛、口、鼻等器官的位置和形状等信息。
步骤S20,根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
在本实施例的一种优选实施方案中,所述预设函数为支持向量回归函数(Support Vector Regression,SVR)。根据支持向量回归函数对所述人脸特征参数进行年龄估算,以获取当前用户的年龄信息。
支持向量回归(Support Vector Regression,SVR)是支持向量机的一种推广形式。该方法引入了核函数和不敏感损失函数,并且对于噪声等具有鲁棒性的优点,因此,采用支持向量机回归进行年龄估算。基于支持向量回归的分类问题可以被分为线性回归方式和非线性回归方式。
若分类问题是线性可分的,SVR可被描述为如下形式:
若分类问题是非线性可分的情况,可以通过引入核函数来解决此问题,核函数能够将训练数据映射到高维空间,从而增加非线性学习器的计算能力来解决非线性分类问题,回归函数为:
进一步地,需要对年龄估算的结果进行函数评价,支持向量机的基本原理是在空间中寻找到一个超平面,使得分类的错误率最小,因此用均方误差(Mean Square Error,MSE)及平均绝对误差(Mean Absolute Error,MAE)来评价年龄估算函数的效果。
①均方误差(MSE):
②平均绝对误差(MAE):
其中,yi为年龄参数真实值,f(xi)为年龄估算值。
通过上述函数的运算,获取当前用户的年龄信息。
步骤S30,根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端。
在本实施例中,所述预存的数据库可以为本地节目数据库,也可以是基于云端服务器的节目数据库。本实施例中,将获取的当前用户的年龄信息储存于预设的推荐系统,并根据预设的推荐算法从本地或者云端服务器的节目数据库中获取与用户年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端,以供用户选择。
需要说明的是,所述推荐系统主要包括用户信息、推荐算法和节目数据库三个要素。用户信息可以通过直接填写注册信息或是间接地提供浏览和购买行为等方式提供用户偏好或需求,推荐算法通过用户的信息或行为对用户进行偏好预测,并在节目数据库中进行比对,将用户可能感兴趣的节目资源信息推送给用户,完成推荐。用户信息包括用户提供的注册信息,如年龄、性别、兴趣爱好等,或者是用户购买或其他相关体验某一产品后对此做出的信息记录,如电影评分、电影观后感、相关推荐节目等。
具体地,当获取当前用户年龄信息,根据推荐系统中记录的用户信息,获取与当前用户年龄信息匹配的用户信息,并基于推荐算法获取与当前用户年龄信息匹配的电视节目信息,进而讲所述匹配的电视节目信息显示于电视端,以供用户选择。
本实施例提供的技术方案中,通过获取用户的人脸图像来估算用户年龄,以获取年龄信息,并根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端,以供用户选择,使得用户无需通过多次切换电视频道来选择电视节目,节省了用户浏览和检索节目的时间,提升了用户体验。
进一步地,请参照图2,基于上述实施例,本实施例中,所述步骤S10包括:
步骤S11,获取当前用户的人脸图像,并对所述人脸图像进行预处理;
步骤S12,基于局部Gabor二值模式算法对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
需要说明的是,通过摄像头获取用户的人脸头像,在图像采集过程中光照的改变容易导致图像呈现不同的明暗程度,且人脸大小也因用户不同而存在差异,因此需要对获取的所述人脸图像进行预处理。
具体地,采用灰度均衡化的方法对所述人脸图像进行灰度均衡化处理,进而增加人脸图像的整体对比度,并使灰度分布均匀,以消除光照变化的影响,此外还可以消除不同人种的肤色差异。其具体的计算步骤如下:
①列出原始图像的灰度级fj,j=1,2,3,...,L-1,其中L是灰度级的个数;
②统计各灰度级的像素数目nj,j=1,2,3,...,L-1;
③计算原始图像直方图各灰度级的频数Pf(fj)=nj/n,j=1,2,3,...,L-1,其中n为原始图像总的像素数目;
④计算累计分布函数
⑤应用以下公式计算映射后的输出图像的灰度级gi,i=0,1,2...,P-1,P为输出图像灰度级的个数,gi=INT[(gmax-gmin)C(f)+gmin+0.5]其中,INT为取整符号;
⑥统计映射后各灰度级的像素数目ni,i=0,1,2...,P-1;
⑦计算输出图像直方图Pg(gi)=ni/n,i=0,1,2...,P-1;
⑧用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。
进一步地,通过将尺寸各不相同的人脸图像变换为统一的标准尺寸图像以便于人脸特征参数的提取,本实施例中,可采用双线形插值方法进行人脸图像尺度归一化处理。具体算法如下:
当需要进行人脸图像尺寸的缩小时,
其中(X,Y)均是原始图像的像素值,(X′,Y′)均是变换后图像的像素值,a,d分别为水平方向和垂直方向的比例因子。
当需要进行人脸图像尺寸的放大时,在尺寸放大的过程中,会出现一些原始图像中没有的像素点,这就需要通过插值运算来计算出该点的像素值。为了能最好地消除放大时出现的马赛克现象,可采用双线性插值的算法,首先将原始图像中矩形顶点的灰度值复制到放大后的图像矩形对应的顶点;然后对原始图像中所有点的灰度值采用双线性插值算法计算,实现尺寸归一。
假设点(x0,y0)和(x1,y1)分别是矩形的两个对角顶点,点(x,y)包含在该矩形中,且满足x任x∈(x0,x1),y∈(y0,y1)则可根据以下公式求得该点的灰度值f(x,y)。
进一步地,基于局部Gabor二值模式算法对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
本实施例提供的技术方案中,通过对获取的人脸图像进行灰度均衡化的预处理,能消除图像采集过程中光照变化对图像造成的影响,增强人脸图像的整体对比度,同时通过尺度归一化的处理能将尺寸不同的人脸图像转换为统一的标准尺寸图像,以便于更好地进行人脸特征提取,获得更为准确的人脸特征参数。
进一步地,请参照图3,基于实施例二,本实施例中,所述步骤S12包括:
步骤S121,根据Gabor函数将预处理后的所述人脸图像转换为Gabor幅值图像,并根据局部二值模式算子对Gabor幅值图像进行编码,以形成局部Gabor二值模式算子;
步骤S122,基于局部Gabor二值模式算子对预处理后的人脸图像进行纹理分块,并获取每一纹理分块的直方序列图;
步骤S123,根据所述直方序列图获取人脸特征参数。
具体地,使用Gabor函数对经过预处理后的所述人脸图像进行处理,得到多个Gabor幅值图像。其中,Gabor小波变换在空间域和时间域的信号处理方面有着独特的优势,它能够在图像频域提取不同尺度、不同方向的特征,从而反映不同尺度、方向上的纹理变化情况,被广泛应用于人脸识别领域。进一步地,对每幅Gabor幅值图像进行LBP(Local Binary Patterns,局部二值模式)编码,进而得到LGBP(Local Gabor Binary Patterns,局部Gabor二值模式)特征图像。
对每幅LGBP算子特征图像进行纹理分块,并获取每幅LGBP算子特征图像每一纹理分块的直方序列图,进而得到多个直方序列图;将多个直方序列图串联成一个向量,用以表述人脸特征的特征向量,也即获得人脸特征参数。
本实施例中,进一步提出了将Gabor函数和LBP算法相结合,形成LGBP算子,并使用LGBP算子对预处理后的人脸图像进行特征提取;LGBP特征结合了LBP算子对光照的不敏感性和Gabor函数对噪声、表情稳定性强的优点,进而能更好地获取人脸特征参数。
进一步地,请参照图4,基于上述实施例,本实施例中,所述步骤S30包括:
步骤S31,基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息,以根据预设的推荐算法获取电视节目信息与用户年龄区间信息之间的匹配关系并储存于预存的节目数据库中;
步骤S32,将所述年龄信息与年龄区间信息进行比对,并根据储存的匹配关系获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
步骤S33,将所述匹配的电视节目信息显示于电视端。
可以理解地,用户之间的固有属性可以反映用户的部分偏好,本实施例中,用户的固有属性指的是用户年龄,例如,儿童一般都喜欢动画片,青年观众一般喜欢综艺节目和偶像剧等,中年女性一般喜欢生活情感剧和美食节目等,而老年观众一般喜欢养生节目和经典老剧等。
需要说明的是,所述云端服务器通过获取历史电视节目信息及与每一电视节目信息对应的用户年龄区间信息,通过特定的运算规则将上述电视节目信息及用户年龄区间信息转换为数据模型,进而获得用户年龄区间信息与电视节目信息之间的匹配关系并保存于预存的节目数据库中。例如,年龄区间为20~30岁之间的用户一般偏好选择综艺节目和偶像剧等,年龄区间为60~70岁之间的用户一般偏好选择养生节目和经典老剧等。
进一步地,根据获取的当前用户的年龄信息与年龄区间信息进行比对,并根据预设的推荐算法获取与所述年龄信息匹配的电视节目信息,将所述匹配的电视节目信息显示于电视端,以供用户选择。例如,当获取当前用户的年龄信息为25岁,则其所对应的年龄区间信息为20~30岁,根据预存的节目数据库中储存的电视节目信息与年龄区间信息之间的匹配关系,根据预设的推荐算法,向当前用户推荐的电视节目也就对应为综艺节目和偶像剧等。
本实施例中,基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息并储存,因而将当前用户的年龄信息与年龄区间信息进行比对,根据预设的推荐算法获取与年龄信息匹配的电视节目信息;使得用户可从推荐的电视节目信息中选择需要观看的电视节目,无需再进行繁琐的浏览来选定电视节目,节省了用户的操作时间,提高用户体验。
进一步地,请参照图5,基于实施例一至实施例三,本实施例中,所述电视节目的推荐方法包括:
步骤S10,获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
步骤S20,根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
步骤S40,根据所述人脸特征参数判别当前用户的性别,以获取性别信息;
步骤S51,根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
步骤S52,根据预设的推荐算法获取匹配的电视节目信息中与所述性别信息匹配的备选电视节目信息,并将所述备选电视节目信息显示于电视端。
可以理解地,不同性别、不同年龄的用户对电视节目有不同的偏好。基于特定的函数方法能对获取的人脸特征参数进行性别判断,进而获取性别信息,即当前用户为男性用户还是女性用户。
具体地,结合获取的年龄信息及性别信息,即能判别当前用户所处的年龄区间及性别,以更好地向当前用户推荐与其年龄及性别匹配的电视节目。例如,当获取的年龄信息为20~30岁,则根据预设的推荐算法获取与该年龄信息匹配的电视节目信息为综艺节目或电视剧等;进一步地,当性别信息为女性时,则根据预设的推荐算法获取综艺节目或电视剧等电视节目信息中与女性匹配的备选电视节目信息,例如真人秀综艺节目或情感偶像剧等;当性别信息为男性时,根据预设的推荐算法获取综艺节目或电视剧等电视节目信息中与男性匹配的备选电视节目信息,例如访谈类综艺节目或动作剧等。
本实施例中,进一步提出了根据人脸特征参数获取年龄信息和性别信息,进而根据预设的推荐算法获取预存的节目数据库中与所述年龄信息及性别信息匹配的电视节目信息的技术方案,进而能更准确地向用户推荐其感兴趣的电视节目。
本发明还提供一种电视节目推荐装置,参照图6,在一实施例中,本发明提供的电视节目推荐装置包括:
获取模块10,用以获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
需要说明的是,人脸识别是一种基于人脸特征对个人身份识别的技术,用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术;包括人脸图像采集、人脸定位、人脸识别预处理、身份确认及身份查找。
本实施例中,所述人脸图像的获取通过摄像头实现,例如静态图像、动态图像、不同的位置、不同表情等都可以被很好地采集。需要说明的是,通过连续不间断地在预设时间内采集用户的人脸图像视频流,进而能获取多个人脸图像的视频帧。
进一步地,对获取的所述人脸图像的视频帧进行特征提取,以获取人脸特征参数。需要说明的是,所述人脸特征参数包括眼睛、口、鼻等器官的位置和形状等信息。
年龄估算模块20,用以根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
在本实施例的一种优选实施方案中,所述预设函数为支持向量回归函数(Support Vector Regression,SVR)。根据支持向量回归函数对所述人脸特征参数进行年龄估算,以获取当前用户的年龄信息。
支持向量回归(Support Vector Regression,SVR)是支持向量机的一种推广形式。该方法引入了核函数和不敏感损失函数,并且对于噪声等具有鲁棒性的优点,因此,采用支持向量机回归进行年龄估算。基于支持向量回归的分类问题可以被分为线性回归方式和非线性回归方式。
若分类问题是线性可分的,SVR可被描述为如下形式:
若分类问题是非线性可分的情况,可以通过引入核函数来解决此问题,核函数能够将训练数据映射到高维空间,从而增加非线性学习器的计算能力来解决非线性分类问题,回归函数为:
进一步地,需要对年龄估算的结果进行函数评价,支持向量机的基本原理是在空间中寻找到一个超平面,使得分类的错误率最小,因此用均方误差(Mean Square Error,MSE)及平均绝对误差(Mean Absolute Error,MAE)来评价年龄估算函数的效果。
①均方误差(MSE):
②平均绝对误差(MAE):
其中,yi为年龄参数真实值,f(xi)为年龄估算值。
通过上述函数的运算,获取当前用户的年龄信息。
推荐模块30,用以根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端。
在本实施例中,所述预存的数据库可以为本地节目数据库,也可以是基于云端服务器的节目数据库。本实施例中,将获取的当前用户的年龄信息储存于预设的推荐系统,并根据预设的推荐算法从本地或者云端服务器的节目数据库中获取与用户年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端,以供用户选择。
需要说明的是,所述推荐系统主要包括用户信息、推荐算法和节目数据库三个要素。用户信息可以通过直接填写注册信息或是间接地提供浏览和购买行为等方式提供用户偏好或需求,推荐算法通过用户的信息或行为对用户进行偏好预测,并在节目数据库中进行比对,将用户可能感兴趣的节目资源信息推送给用户,完成推荐。用户信息包括用户提供的注册信息,如年龄、性别、兴趣爱好等,或者是用户购买或其他相关体验某一产品后对此做出的信息记录,如电影评分、电影观后感、相关推荐节目等。
具体地,当获取当前用户年龄信息,根据推荐系统中记录的用户信息,获取与当前用户年龄信息匹配的用户信息,并基于推荐算法获取与当前用户年龄信息匹配的电视节目信息,进而讲所述匹配的电视节目信息显示于电视端,以供用户选择。
本实施例提供的技术方案中,通过获取用户的人脸图像来估算用户年龄,以获取年龄信息,并根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息,并将所述匹配的电视节目信息显示于电视端,以供用户选择,使得用户无需通过多次切换电视频道来选择电视节目,节省了用户浏览和检索节目的时间,提升了用户体验。
进一步地,请参照图7,基于上述实施例,本实施例中,所述获取模块10包括:
获取单元11,用以获取当前用户的人脸图像,并对所述人脸图像进行预处理;
提取单元12,用以基于局部Gabor二值模式算子对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
需要说明的是,通过摄像头获取用户的人脸头像,在图像采集过程中光照的改变容易导致图像呈现不同的明暗程度,且人脸大小也因用户不同而存在差异,因此需要对获取的所述人脸图像进行预处理。
具体地,采用灰度均衡化的方法对所述人脸图像进行灰度均衡化处理,进而增加人脸图像的整体对比度,并使灰度分布均匀,以消除光照变化的影响,此外还可以消除不同人种的肤色差异。其具体的计算步骤如下:
①列出原始图像的灰度级fj,j=1,2,3,...,L-1,其中L是灰度级的个数;
②统计各灰度级的像素数目nj,j=1,2,3,...,L-1;
③计算原始图像直方图各灰度级的频数Pf(fj)=nj/n,j=1,2,3,...,L-1,其中n为原始图像总的像素数目;
④计算累计分布函数
⑤应用以下公式计算映射后的输出图像的灰度级gi,i=0,1,2...,P-1,P为输出图像灰度级的个数,gi=INT[(gmax-gmin)C(f)+gmin+0.5]其中,INT为取整符号;
⑥统计映射后各灰度级的像素数目ni,i=0,1,2...,P-1;
⑦计算输出图像直方图Pg(gi)=ni/n,i=0,1,2...,P-1;
⑧用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。
进一步地,通过将尺寸各不相同的人脸图像变换为统一的标准尺寸图像以便于人脸特征参数的提取,本实施例中,可采用双线形插值方法进行人脸图像尺度归一化处理。具体算法如下:
当需要进行人脸图像尺寸的缩小时,
其中(X,Y)均是原始图像的像素值,(X′,Y′)均是变换后图像的像素值,a,d分别为水平方向和垂直方向的比例因子。
当需要进行人脸图像尺寸的放大时,在尺寸放大的过程中,会出现一些原始图像中没有的像素点,这就需要通过插值运算来计算出该点的像素值。为了能最好地消除放大时出现的马赛克现象,可采用双线性插值的算法,首先将原始图像中矩形顶点的灰度值复制到放大后的图像矩形对应的顶点;然后对原始图像中所有点的灰度值采用双线性插值算法计算,实现尺寸归一。
假设点(x0,y0)和(x1,y1)分别是矩形的两个对角顶点,点(x,y)包含在该矩形中,且满足x任x∈(x0,x1),y∈(y0,y1)则可根据以下公式求得该点的灰度值f(x,y)。
进一步地,基于局部Gabor二值模式算法对预处理后的所述人脸图像进行特征提取,以获取人脸特征参数。
本实施例提供的技术方案中,通过对获取的人脸图像进行灰度均衡化的预处理,能消除图像采集过程中光照变化对图像造成的影响,增强人脸图像的整体对比度,同时通过尺度归一化的处理能将尺寸不同的人脸图像转换为统一的标准尺寸图像,以便于更好地进行人脸特征提取,获得更为准确的人脸特征参数。
进一步地,请参照图8,基于实施例二,本实施例中,所述提取单元12包括:
第一处理单元121,用以根据Gabor函数将预处理后的所述人脸图像转换为Gabor幅值图像,并根据局部二值模式算子对Gabor幅值图像进行编码,以形成局部Gabor二值模式特征图像;
第二处理单元122,用以对局部Gabor二值模式特征图像进行纹理分块,并获取每一纹理分块的直方序列图;
第三处理单元123,用以根据所述直方序列图获取人脸特征参数。
具体地,使用Gabor函数对经过预处理后的所述人脸图像进行处理,得到多个Gabor幅值图像。其中,Gabor小波变换在空间域和时间域的信号处理方面有着独特的优势,它能够在图像频域提取不同尺度、不同方向的特征,从而反映不同尺度、方向上的纹理变化情况,被广泛应用于人脸识别领域。进一步地,对每幅Gabor幅值图像进行LBP(Local Binary Patterns,局部二值模式)编码,进而得到LGBP(Local Gabor Binary Patterns,局部Gabor二值模式)特征图像。
对每幅LGBP算子特征图像进行纹理分块,并获取每幅LGBP算子特征图像每一纹理分块的直方序列图,进而得到多个直方序列图;将多个直方序列图串联成一个向量,用以表述人脸特征的特征向量,也即获得人脸特征参数。
本实施例中,进一步提出了将Gabor函数和LBP算法相结合,形成LGBP算子,并使用LGBP算子对预处理后的人脸图像进行特征提取;LGBP特征结合了LBP算子对光照的不敏感性和Gabor函数对噪声、表情稳定性强的优点,进而能更好地获取人脸特征参数。
进一步地,请参照图9,基于上述实施例,本实施例中,所述推荐模块30包括:
存储单元31,用以基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息,以根据预设的推荐算法获取电视节目信息与用户年龄区间信息之间的匹配关系并储存于预存的节目数据库中;
算法单元32,用以将所述年龄信息与年龄区间信息进行比对,并根据储存的匹配关系获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
显示单元33,用以将所述匹配的电视节目信息显示于电视端。
可以理解地,用户之间的固有属性可以反映用户的部分偏好,本实施例中,用户的固有属性指的是用户年龄,例如,儿童一般都喜欢动画片,青年观众一般喜欢综艺节目和偶像剧等,中年女性一般喜欢生活情感剧和美食节目等,而老年观众一般喜欢养生节目和经典老剧等。
需要说明的是,所述云端服务器通过获取历史电视节目信息及与每一电视节目信息对应的用户年龄区间信息,通过特定的运算规则将上述电视节目信息及用户年龄区间信息转换为数据模型,进而获得用户年龄区间信息与电视节目信息之间的匹配关系并保存于预存的节目数据库中。例如,年龄区间为20~30岁之间的用户一般偏好选择综艺节目和偶像剧等,年龄区间为60~70岁之间的用户一般偏好选择养生节目和经典老剧等。
进一步地,根据获取的当前用户的年龄信息与年龄区间信息进行比对,并根据预设的推荐算法获取与所述年龄信息匹配的电视节目信息,将所述匹配的电视节目信息显示于电视端,以供用户选择。例如,当获取当前用户的年龄信息为25岁,则其所对应的年龄区间信息为20~30岁,根据预存的节目数据库中储存的电视节目信息与年龄区间信息之间的匹配关系,根据预设的推荐算法,向当前用户推荐的电视节目也就对应为综艺节目和偶像剧等。
本实施例中,基于云端服务器获取电视节目信息及与每一电视节目信息对应的用户年龄区间信息并储存,因而将当前用户的年龄信息与年龄区间信息进行比对,根据预设的推荐算法获取与年龄信息匹配的电视节目信息;使得用户可从推荐的电视节目信息中选择需要观看的电视节目,无需再进行繁琐的浏览来选定电视节目,节省了用户的操作时间,提高用户体验。
进一步地,请参照图10,基于实施例一至实施例三,本实施例中,所述电视节目推荐装置包括:
获取模块10,用以获取当前用户的人脸图像,并对所述人脸图像进行特征提取以获取人脸特征参数;
年龄估算模块20,用以根据预设函数对所述人脸特征参数进行年龄估算,以获取年龄信息;
性别信息获取模块40,用以根据所述人脸特征参数判别当前用户的性别,以获取性别信息;
推荐模块30,还用以根据预设的推荐算法获取预存的节目数据库中与所述年龄信息匹配的电视节目信息;
根据预设的推荐算法获取匹配的电视节目信息中与所述性别信息匹配的备选电视节目信息,并将所述备选电视节目信息显示于电视端。
可以理解地,不同性别、不同年龄的用户对电视节目有不同的偏好。基于特定的函数方法能对获取的人脸特征参数进行性别判断,进而获取性别信息,即当前用户为男性用户还是女性用户。
具体地,结合获取的年龄信息及性别信息,即能判别当前用户所处的年龄区间及性别,以更好地向当前用户推荐与其年龄及性别匹配的电视节目。例如,当获取的年龄信息为20~30岁,则根据预设的推荐算法获取与该年龄信息匹配的电视节目信息为综艺节目或电视剧等;进一步地,当性别信息为女性时,则根据预设的推荐算法获取综艺节目或电视剧等电视节目信息中与女性匹配的备选电视节目信息,例如真人秀综艺节目或情感偶像剧等;当性别信息为男性时,根据预设的推荐算法获取综艺节目或电视剧等电视节目信息中与男性匹配的备选电视节目信息,例如访谈类综艺节目或动作剧等。
本实施例中,进一步提出了根据人脸特征参数获取年龄信息和性别信息,进而根据预设的推荐算法获取预存的节目数据库中与所述年龄信息及性别信息匹配的电视节目信息的技术方案,进而能更准确地向用户推荐其感兴趣的电视节目。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。