本发明涉及计算机技术领域,特别涉及一种驱动眼睛运动的方法及电子设备。
背景技术:
在人脸识别或者表情迁移的过程中,对眼睛的识别和拟合是非常关键的,现有技术中,对眼睛的拟合通常存在误差大,易受干扰,睁眼闭眼状态判断不准确的问题。
技术实现要素:
为了解决上述问题,本发明提供了一种驱动眼睛运动的方法及电子设备。
所述技术方案如下:
第一方面,提供了一种驱动眼睛运动的方法,所述方法包括:
获取人脸眼睛的特征点;
根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果;
对所述拟合结果进行线性放大,得到放大结果;
根据所述放大结果对目标表情中的眼睛进行驱动。
结合第一方面,在第一种可能的实现方式中,所述根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果包括:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行岭回归估计;
根据所述岭回归估计获取所述拟合结果。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述岭回归的参数的取值范围为:[0.01,0.5]。
结合第一方面至第一方面的第二种任一可能的实现方式,在第三种可能的实现方式中,在所述根据所述放大结果对目标表情中的眼睛进行驱动之前,所述方法还包括:
对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
第二方面,提供了一种电子设备,所述电子设备包括:
获取模块,用于获取人脸眼睛的特征点;
拟合模块,用于根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果;
放大模块,用于对所述拟合结果进行线性放大,得到放大结果;
驱动模块,用于根据所述放大结果对目标表情中的眼睛进行驱动。
结合第二方面,在第一种可能的实现方式中,所述拟合模块具体用于:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行岭回归估计;
根据所述岭回归估计获取所述拟合结果。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述岭回归的参数的取值范围为:[0.01,0.5]。
结合第二方面至第二方面的第二种任一可能的实现方式,在第三种可能的实现方式中,所述电子设备还包括闭眼检测模块,用于:对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
第三方面,提供了一种电子设备,所述设备包括存储器,以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取人脸眼睛的特征点;
根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果;
对所述拟合结果进行线性放大,得到放大结果;
根据所述放大结果对目标表情中的眼睛进行驱动。
结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行岭回归估计;
根据所述岭回归估计获取所述拟合结果。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述岭回归的参数的取值范围为:[0.01,0.5]。
结合第三方面至第三方面的第二种任一可能的实现方式,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
本发明实施例提供了一种驱动眼睛运动的方法及电子设备,通过较大的拟合参数使得得到的结果具有较高的稳定性,提高了结果的抗干扰性,通过对拟合结果进行线性放大使得最终结果又具有较高的精度,同时通过闭眼检测,保证了眼睛开闭状态的正确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种驱动眼睛运动的方法的流程图;
图2是本发明实施例提供的一种驱动眼睛运动的方法的流程图;
图3是本发明实施例提供的一种驱动眼睛运动的方法的流程图;
图4是本发明实施例提供的一种电子设备的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种驱动眼睛运动的方法,该方法可以是通过运行电子设备上的应用程序实现的,该电子设备可以是智能手机、平板电脑和其他电子设备中的任意一个,本发明实施例对具体的电子设备不加以限定。
实施例一
本发明实施例提供了一种驱动眼睛运动的方法,参照图1所示,方法流程包括:
102、获取人脸眼睛的特征点。
具体的,该过程可以包括:
从视频帧中识别出人脸眼睛;
提取所述人脸眼睛的特征点。
需要指出的是,所述视频帧可以是通过摄像头等录像装置实时采集的,也可以是从视频文件中读取的,本发明实施例对视频帧的获取方式不加以限定。
104、根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果。
具体的,该过程可以为:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行拟合,获取拟合结果。
其中,所述预设的眼睛模型可以是一组预先设置好的多个眼睛模型,对所述人脸眼睛进行拟合时可以采用线性拟合,也可以采用非线性拟合,本发明实施例对具体的拟合方法不加以限定。
106、对所述拟合结果进行线性放大,得到放大结果。
具体的,该过程可以为:
根据预设的线性函数对所述拟合结果进行线性放大,得到放大结果。
108、根据所述放大结果对目标表情中的眼睛进行驱动。
具体的,该过程可以为:
根据放大结果中人脸眼睛的特征点的位置,驱动目标表情中眼睛至与所述放大结果中人脸眼睛的特征点的位置相对应的位置。
本发明实施例提供了一种驱动眼睛运动的方法,通过对拟合结果进行线性放大使得最终结果具有较高的精度。
实施例二
本发明实施例提供了一种驱动眼睛运动的方法,参照图2所示,方法流程包括:
202、获取人脸眼睛的特征点。
具体的,该过程可以包括:
从视频帧中识别出人脸眼睛;
提取所述人脸眼睛的特征点。
需要指出的是,所述视频帧可以是通过摄像头等录像装置实时采集的,也可以是从视频文件中读取的,本发明实施例对视频帧的获取方式不加以限定。
204、根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果。
具体的,以所述人脸眼睛的特征点为因变量y,以所述预设的眼睛模型为自变量x的线性回归的公式为:
y=ax+b(1)
其中,a和b是线性回归的参数。
根据公式(1)可以推导出公式(2):
y-bxt=axxt(2)
根据公式(2)和岭回归算法,可以推导出公式(3):
a=y-bxt×xxt+λi-1(3)
其中,i为单位矩阵,λ为岭回归参数。
根据所述人脸眼睛的特征点和所述预设的眼睛模型以及公式(3)可以计算出a和b的估算值a'和b',根据a'和b'以及所述预设的眼睛模型x可计算得到y'=a'x+b',其中y'即为所述拟合结果,y'是对y的估计。
示例性的,当所述人脸眼睛的特征点的数量为6个,所述预设的眼睛模型为8个时,y,a和b是12维向量,x是12×8维的矩阵。
需要指出的是,为了获得较高的稳定性,可以取一个较大的岭回归参数λ,示例性的,λ∈[0.01,0.5],优选的,λ=0.1,所述岭回归参数的取值范围仅是示例,本发明实施例对具体的岭回归参数范围不加以限定。
206、对所述拟合结果进行线性放大,得到放大结果。
具体的,该过程可以为:
根据预设的线性函数对所述拟合结果进行线性放大,得到放大结果。
所述线性函数可以为:
f(x)=cx+d(4)
其中c,d是放大系数,可以根据实际情况进行设定,将步骤204中得到的拟合结果y'代入公式(4),可以得到放大结果y”=cy'+d,优选的,放大系数c的取值为1.1,放大系数d的取值为0.1。
需要指出的是,所述线性函数仅是示例,还可以选择其他函数进行放大,本发明实施例对具体的放大函数不加以限定,所述放大系数的取值也仅是示例,放大系数还可以选择其他取值,本发明实施例对具体的放大系数不加限定。
208、根据所述放大结果对目标表情中的眼睛进行驱动。
具体的,该过程可以为:
根据放大结果中人脸眼睛的特征点的位置,驱动目标表情中眼睛至与所述放大结果中人脸眼睛的特征点的位置相对应的位置。
本发明实施例提供了一种驱动眼睛运动的方法,通过较大的拟合参数使得 得到的结果具有较高的稳定性,提高了结果的抗干扰性,通过对拟合结果进行线性放大使得最终结果又具有较高的精度。
实施例三
本发明实施例提供了一种驱动眼睛运动的方法,参照图3所示,方法流程包括:
302、获取人脸眼睛的特征点。
具体的,该过程可以包括:
从视频帧中识别出人脸眼睛;
提取所述人脸眼睛的特征点。
需要指出的是,所述视频帧可以是通过摄像头等录像装置实时采集的,也可以是从视频文件中读取的,本发明实施例对视频帧的获取方式不加以限定。
304、根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果。
具体的,以所述人脸眼睛的特征点为因变量y,以所述预设的眼睛模型为自变量x的线性回归的公式为:
y=ax+b(1)
其中,a和b是线性回归的参数。
根据公式(1)可以推导出公式(2):
y-bxt=axxt(2)
根据公式(2)和岭回归算法,可以推导出公式(3):
a=y-bxt×xxt+λi-1(3)
其中,i为单位矩阵,λ为岭回归参数。
根据所述人脸眼睛的特征点和所述预设的眼睛模型以及公式(3)可以计算出a和b的估算值a'和b',根据a'和b'以及所述预设的眼睛模型x可计算得到y'=a'x+b',其中y'即为所述拟合结果,y'是对y的估计。
示例性的,当所述人脸眼睛的特征点的数量为6个,所述预设的眼睛模型为10个时,y,a和b是12维向量,x是12×10维的矩阵。
需要指出的是,为了获得较高的稳定性,可以取一个较大的岭回归参数λ,示例性的,λ∈[0.01,0.5],优选的,λ=0.2,所述岭回归参数的取值范围仅是示例,本发明实施例对具体的岭回归参数范围不加以限定。
306、对所述拟合结果进行线性放大,得到放大结果。
具体的,该过程可以为:
根据预设的线性函数对所述拟合结果进行线性放大,得到放大结果。
所述线性函数可以为:
f(x)=cx+d(4)
其中c,d是放大系数,可以根据实际情况进行设定,将步骤304中得到的拟合结果y'代入公式(4),可以得到放大结果y”=cy'+d,优选的,放大系数c的取值为1.05,放大系数d的取值为0.15。
需要指出的是,所述线性函数仅是示例,还可以选择其他函数进行放大,本发明实施例对具体的放大函数不加以限定,所述放大系数的取值也仅是示例,放大系数还可以选择其他取值,本发明实施例对具体的放大系数不加限定。
308、对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
具体的,该过程可以为:
判断所述放大结果中的上眼睑对应的特征点的位置与对应的下眼睑对应的特征点的位置之间的距离是否小于预设阈值,如果小于该预设阈值,则判定所述放大结果对应的人脸眼睛为闭眼状态,修改所述人脸眼睛的状态为闭眼状态;
否则,判断所述放大结果中的上眼睑对应的特征点的位置是否低于对应的下眼睑对应的特征点的位置,如果是,则判定所述放大结果对应的人脸眼睛为闭眼状态,修改所述人脸眼睛的状态为闭眼状态。
310、根据所述放大结果对目标表情中的眼睛进行驱动。
具体的,该过程可以为:
如果所述人脸眼睛的状态为闭眼状态,则修改目标表情中的眼睛为闭眼状 态;否则,
根据放大结果中人脸眼睛的特征点的位置,驱动目标表情中眼睛至与所述放大结果中人脸眼睛的特征点的位置相对应的位置。
本发明实施例提供了一种驱动眼睛运动的方法,通过较大的拟合参数使得得到的结果具有较高的稳定性,提高了结果的抗干扰性,通过对拟合结果进行线性放大使得最终结果又具有较高的精度。
实施例四
本发明实施例提供了一种电子设备,参照图4所示,该电子设备包括:
获取模块401,用于获取人脸眼睛的特征点;
拟合模块402,用于根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果;
放大模块403,用于对所述拟合结果进行线性放大,得到放大结果;
驱动模块404,用于根据所述放大结果对目标表情中的眼睛进行驱动。
可选的,拟合模块402具体用于:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行岭回归估计;
根据所述岭回归估计获取所述拟合结果。
其中,所述岭回归的参数的取值范围为:[0.01,0.5]。
可选的,所述电子设备还包括闭眼检测模块405,用于:对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
本发明实施例提供了一种电子设备,通过较大的拟合参数使得得到的结果具有较高的稳定性,提高了结果的抗干扰性,通过对拟合结果进行线性放大使得最终结果又具有较高的精度。
实施例五
本发明实施例提供了一种电子设备,参照图5所示,该电子设备包括存储器501以及与存储器501连接的处理器502,其中,存储器501用于存储一组程 序代码,处理器502调用存储器501所存储的程序代码用于执行以下操作:
获取人脸眼睛的特征点;
根据预设的眼睛模型对所述人脸眼睛进行拟合,获取拟合结果;
对所述拟合结果进行线性放大,得到放大结果;
根据所述放大结果对目标表情中的眼睛进行驱动。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
根据预设的公式和预设的眼睛模型对所述人脸眼睛的特征点进行岭回归估计;
根据所述岭回归估计获取所述拟合结果。
其中,所述岭回归的参数的取值范围为:[0.01,0.5]。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
对所述放大结果进行闭眼检测,如果检测结果为闭眼,则修改所述人脸眼睛的状态为闭眼状态。
本发明实施例提供了一种电子设备,通过较大的拟合参数使得得到的结果具有较高的稳定性,提高了结果的抗干扰性,通过对拟合结果进行线性放大使得最终结果又具有较高的精度,同时通过闭眼检测,保证了眼睛开闭状态的正确性。
以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。