本技术涉及图像处理技术领域,具体涉及一种人脸跟踪的游戏交互方法及装置。
背景技术:
目前市面上类似微信打飞机一类的小游戏,都是采用键鼠、触摸屏或外接游戏手柄做为游戏输入设备,控制子弹的飞行轨迹来射击目标。这种方式存在以下缺陷:1)玩家手指活动范围小,长期在触摸屏上滑动,或者按鼠标键盘容易产生肌肉疲劳,导致“鼠标手”“键盘手”等健康问题;2)玩家长期以固定姿势盯着屏幕,容易导致眼球疲劳,导致视力问题;3)互动方式单一,在体验的过程中会显得枯燥无趣,使玩家很快失去新鲜感;4)使用外接游戏手柄控制虽然进行更自然的交互,但增加游戏外设成本较高。
技术实现要素:
本发明的目的在于解决现有技术中玩家手指活动范围小,长期在触摸屏上滑动,或者按鼠标键盘容易产生肌肉疲劳,导致“鼠标手”“键盘手”等健康问题;玩家长期以固定姿势盯着屏幕,容易导致眼球疲劳,导致视力问题;互动方式单一,在体验的过程中会显得枯燥无趣,使玩家很快失去新鲜感;使用外接游戏手柄控制虽然进行更自然的交互,但增加游戏外设成本较高的问题,提供一种人脸跟踪的游戏交互方法及装置。
本发明解决其技术问题所采用的技术方案是:
提供一种人脸跟踪的游戏交互方法,包括:
获取包含人脸的图像信息;
对所述图像信息中的多个脸部特征点进行定位;
对所定位到的多个所述脸部特征点映射到3d世界坐标空间;
从所映射的3d世界坐标空间中提取一至多个包含五官的脸部特征点的3d世界坐标;
依据所提取的3d世界坐标执行预设的游戏交互机制。
在本发明所述的游戏交互方法中,所述从所映射的3d世界坐标空间中提取一至多个包含五官的脸部特征点的3d世界坐标,包括:
从所映射的3d世界坐标空间中分别获取左眼瞳孔特征点、右眼瞳孔特征点及鼻尖特征点的3d世界坐标a(xa,ya,za)、b(xb,yb,zb)及c(xc,yc,zc);
分别获取嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)。
在本发明所述的游戏交互方法中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,包括:
依据所述左眼瞳孔特征点、所述右眼瞳孔特征点及所述鼻尖特征点形成一平面,所述平面包括向量ac(xc-xa,yc-ya,zc-za)、向量bc(xc-xb,yc-yb,zc-zb)及向量ab(xb-xa,yb-ya,zb-za);
计算以所述左眼瞳孔特征点为垂足,所述平面的法线与屏幕的第一交点t1(xt1,yt1,zt1)及第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za):
(xc-xa)(xt1-xa)+(yc-ya)(yt1-ya)+(zc-za)(zt1-za)=0
(xc-xb)(xt1-xa)+(yc-yb)(yt1-ya)+(zc-zb)(zt1-za)=0
(xb-xa)(xt1-xa)+(yb-ya)(yt1-ya)+(zb-za)(zt1-za)=0;
计算以所述右眼瞳孔特征点为垂足,所述平面的法线与屏幕的第二交点t2(xt2,yt2,zt2)及第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb):
(xc-xa)(xt2-xb)+(yc-ya)(yt2-yb)+(zc-za)(zt2-zb)=0
(xc-xb)(xt2-xb)+(yc-yb)(yt2-yb)+(zc-zb)(zt2-zb)=0
(xb-xa)(xt2-xb)+(yb-ya)(yt2-yb)+(zb-za)(zt2-zb)=0。
在本发明所述的游戏交互方法中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,还包括:
根据所述第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za)及所述第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb)产生虚拟攻击物;
设置所述虚拟攻击物于所述屏幕上的交点为所述第一交点t1(xt1,yt1,zt1)及所述第二交点t2(xt2,yt2,zt2);
判断所述虚拟攻击物是否击中所述屏幕中的目标物,若是,则计算击中所述目标物的数量,并销毁所述虚拟攻击物,若否,则销毁所述虚拟攻击物;
若所击中的目标物的数量达到预设的数量,则重新获取包含人脸的图像信息。
在本发明所述的游戏交互方法中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,包括:
计算所述嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)之间的距离l:
判断所述距离l是否大于预设的阈值,若是,则判断为张嘴,若否,则判断为闭嘴;
当判断为张嘴时,于屏幕中释放特效。
另一方面,提供一种人脸跟踪的游戏交互装置,其中存储有多条指令,所述指令适于由处理器加载并执行,包括:
获取包含人脸的图像信息;
对所述图像信息中的多个脸部特征点进行定位;
对所定位到的多个所述脸部特征点映射到3d世界坐标空间;
从所映射的3d世界坐标空间中提取一至多个包含五官的脸部特征点的3d世界坐标;
依据所提取的3d世界坐标执行预设的游戏交互机制。
在本发明所述的游戏交互装置中,所述从所映射的3d世界坐标空间中提取一至多个包含五官的脸部特征点的3d世界坐标,包括:
从所映射的3d世界坐标空间中分别获取左眼瞳孔特征点、右眼瞳孔特征点及鼻尖特征点的3d世界坐标a(xa,ya,za)、b(xb,yb,zb)及c(xc,yc,zc);
分别获取嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)。
在本发明所述的游戏交互装置中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,包括:
依据所述左眼瞳孔特征点、所述右眼瞳孔特征点及所述鼻尖特征点形成一平面,所述平面包括向量ac(xc-xa,yc-ya,zc-za)、向量bc(xc-xb,yc-yb,zc-zb)及向量ab(xb-xa,yb-ya,zb-za);
计算以所述左眼瞳孔特征点为垂足,所述平面的法线与屏幕的第一交点t1(xt1,yt1,zt1)及第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za):
(xc-xa)(xt1-xa)+(yc-ya)(yt1-ya)+(zc-za)(zt1-za)=0
(xc-xb)(xt1-xa)+(yc-yb)(yt1-ya)+(zc-zb)(zt1-za)=0
(xb-xa)(xt1-xa)+(yb-ya)(yt1-ya)+(zb-za)(zt1-za)=0;
计算以所述右眼瞳孔特征点为垂足,所述平面的法线与屏幕的第二交点t2(xt2,yt2,zt2)及第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb):
(xc-xa)(xt2-xb)+(yc-ya)(yt2-yb)+(zc-za)(zt2-zb)=0
(xc-xb)(xt2-xb)+(yc-yb)(yt2-yb)+(zc-zb)(zt2-zb)=0
(xb-xa)(xt2-xb)+(yb-ya)(yt2-yb)+(zb-za)(zt2-zb)=0。
在本发明所述的游戏交互装置中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,还包括:
根据所述第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za)及所述第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb)产生虚拟攻击物;
设置所述虚拟攻击物于所述屏幕上的交点为所述第一交点t1(xt1,yt1,zt1)及所述第二交点t2(xt2,yt2,zt2);
判断所述虚拟攻击物是否击中所述屏幕中的目标物,若是,则计算击中所述目标物的数量,并销毁所述虚拟攻击物,若否,则销毁所述虚拟攻击物;
若所击中的目标物的数量达到预设的数量,则重新获取包含人脸的图像信息。
在本发明所述的游戏交互装置中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,包括:
计算所述嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)之间的距离l:
判断所述距离l是否大于预设的阈值,若是,则判断为张嘴,若否,则判断为闭嘴;
当判断为张嘴时,于屏幕中释放特效。
上述公开的一种人脸跟踪的游戏交互方法及装置具有以下有益效果:无需外接其他游戏输入设备,降低成本;使用人脸运动控制子弹轨迹,玩家在游戏过程中需进场运动头部,有效锻炼脖子肌肉;玩家在游戏过程中,眼球需经常运动,有效锻炼眼球防止近视;使用面部动作来控制游戏元素如炮弹、火焰的发射,能有效锻炼面部肌肉;是一种健康的游戏交互方式。
附图说明
图1为本发明一实施例提供的一种人脸跟踪的游戏交互方法的流程图;
图2为本发明一实施例提供的游戏交互机制的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供了一种人脸跟踪的游戏交互方法及装置,其目的在于,利用手机摄像头/pc摄像头作为游戏输入设备,通过人脸位置姿态的跟踪及面部动作跟踪,来控制打飞机类游戏子弹飞行的轨迹及发射控制。这种方法的优点在于:1)无需外接其他游戏输入设备,降低成本;2)使用人脸运动控制子弹轨迹,玩家在游戏过程中需进场运动头部,有效锻炼脖子肌肉;3)玩家在游戏过程中,眼球需经常运动,有效锻炼眼球防止近视;4)使用面部动作来控制游戏元素如炮弹、火焰的发射,能有效锻炼面部肌肉。是一种健康的游戏交互方式。
参见图1,图1为本发明一实施例提供的一种人脸跟踪的游戏交互方法的流程图,该人脸跟踪的游戏交互方法可通过计算机程序实现,具体包括以下步骤s1-s5:
s1、获取包含人脸的图像信息;可利用手机摄像头/pc摄像头作为游戏输入设备,进行人脸位置姿态的跟踪及面部动作跟踪。
s2、对所述图像信息中的多个脸部特征点进行定位;例如:采用asm主动外观模型算法,对脸部68个特征点进行定位,68个特征点包括眼镜、瞳孔、嘴巴、鼻子等。
s3、对所定位到的多个所述脸部特征点映射到3d世界坐标空间;即对脸部68个特征点进行3d世界坐标映射。
s4、从所映射的3d世界坐标空间中提取一至多个包含五官的脸部特征点的3d世界坐标;针对采用眼睛控制屏幕坐标的实施例,本实施例提供嘴唇、鼻尖及瞳孔的应用,具体的,步骤s4包括子步骤s41-s42:
s41、从所映射的3d世界坐标空间中分别获取左眼瞳孔特征点、右眼瞳孔特征点及鼻尖特征点的3d世界坐标a(xa,ya,za)、b(xb,yb,zb)及c(xc,yc,zc);
s42、分别获取嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)。
s5、依据所提取的3d世界坐标执行预设的游戏交互机制。参见图2,本发明提供游戏交互机制如下:
第一实施例,包括步骤s511-s517:
s511、依据所述左眼瞳孔特征点、所述右眼瞳孔特征点及所述鼻尖特征点形成一平面,所述平面包括向量ac(xc-xa,yc-ya,zc-za)、向量bc(xc-xb,yc-yb,zc-zb)及向量ab(xb-xa,yb-ya,zb-za);
s512、计算以所述左眼瞳孔特征点为垂足,所述平面的法线与屏幕的第一交点t1(xt1,yt1,zt1)及第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za):
(xc-xa)(xt1-xa)+(yc-ya)(yt1-ya)+(zc-za)(zt1-za)=0
(xc-xb)(xt1-xa)+(yc-yb)(yt1-ya)+(zc-zb)(zt1-za)=0
(xb-xa)(xt1-xa)+(yb-ya)(yt1-ya)+(zb-za)(zt1-za)=0;
s513、计算以所述右眼瞳孔特征点为垂足,所述平面的法线与屏幕的第二交点t2(xt2,yt2,zt2)及第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb):
(xc-xa)(xt2-xb)+(yc-ya)(yt2-yb)+(zc-za)(zt2-zb)=0
(xc-xb)(xt2-xb)+(yc-yb)(yt2-yb)+(zc-zb)(zt2-zb)=0
(xb-xa)(xt2-xb)+(yb-ya)(yt2-yb)+(zb-za)(zt2-zb)=0。
在本发明所述的游戏交互方法中,所述依据所提取的3d世界坐标执行预设的游戏交互机制,还包括:
s514、根据所述第一交点对应的向量at1(xt1-xa,yt1-ya,zt1-za)及所述第二交点对应的向量at2(xt2-xb,yt2-yb,zt2-zb)产生虚拟攻击物;例如:该虚拟攻击物为子弹。
s515、设置所述虚拟攻击物于所述屏幕上的交点为所述第一交点t1(xt1,yt1,zt1)及所述第二交点t2(xt2,yt2,zt2);即子弹处于屏幕的坐标。
s516、判断所述虚拟攻击物是否击中所述屏幕中的目标物,若是,则计算击中所述目标物的数量,并销毁所述虚拟攻击物,若否,则销毁所述虚拟攻击物;例如:目标物为飞机,飞机在屏幕中飞行,当子弹击中飞机时,销毁子弹并对击毁的飞机计数。若没有击中飞机,则直接销毁子弹。
s517、若所击中的目标物的数量达到预设的数量,则重新获取包含人脸的图像信息。
第二实施例,包括步骤s521-s523:
s521、计算所述嘴唇上下两个特征点的3d世界坐标d(xd,yd,zd)及e(xe,ye,ze)之间的距离l:
s522、判断所述距离l是否大于预设的阈值,若是,则判断为张嘴,若否,则判断为闭嘴;
s523、当判断为张嘴时,于屏幕中释放特效。例如,嘴巴喷火来击毁屏幕上移动的飞机。
本发明还提供一种人脸跟踪的游戏交互装置,其中存储有多条指令,所述指令适于由处理器加载并执行,从而实现上述方法。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。