![]() |
索尼计算机娱乐(SCE)在2011年9月6日开始举行的“CEDEC 2011”上,介绍了该公司面部图像识别库“libface”在游戏中的应用。该公司近几年一直在CEDEC上介绍libface的利用方法等,而今年介绍了更加实用的内容。
索尼的面部识别技术以该公司以前从事的个人机器人用面部识别技术为基础。现在已应用于数码相机等各种产品中,其中,libface是将该面部识别技术移植到PlayStation 3上而成。充分利用用Cell/B.E.的SPU的SIMD指令等,针对Cell作了优化。能够获取脸的位置、大小,倾斜度、面部部位(眼、鼻、口、轮廓)、各种属性(性别、年龄、有无眼镜、眼睁开的程度)以及笑脸表情等信息。
以时序滤波器降低噪声,实现平滑化
此次,SCE介绍了面部识别结果的参数在时间序列上的稳定化和平滑化。应用实例是由用户面部动作来操作CG上的人物形象(用户替身)。
不仅是libface,一般在对每帧动画图像直接应用面部图像的检测算法时,识别结果的时序参数无论如何都会产生小幅振动、噪声(重影)、误识别引起的数值突变(跳动)。SCE推荐利用时序滤波器来抑制这些重影和跳动。
只是,滤波器的特性需要依识别部位调整。例如,有像摇头那样动作连续且过渡自然的动作,也有像眨眼那样有闭眼和睁眼的离散且可明确区分,没有过渡状态看起来更为自然的动作。因此,根据眼睛的睁开程度对眨眼进行了阈值处理。
还需要考虑识别结果的帧率。普通游戏的CG描绘处理为60帧/秒,但在某些硬件环境下,图像识别低于该速度,只能达到约10帧/秒左右。因此,如果将面部识别结果的参数直接反映到60帧/秒的人物绘图中,动作就会不连贯。针对这种情况,SCE推荐使用卷积滤波器(卷积运算)。
如果将卷积滤波器应用于时序数据,输出尽管会变得顺畅,但会发生与接头数量相应的延迟。合适的接头数量因用途而异,但此次演讲中,SCE介绍了8个接头的实例。
以PS Vita扩大面部识别技术的应用领域
libface现在已由PS3赛车游戏“GRAN TURISMO 5(GT5)”等多种游戏采用(参阅本站报道)。虽然目前数量还不是很多,但“在几个月内,可能还会由几款海外市场的游戏采用”(SCE半导体系统开发部的小口贵弘)。
为利用面部识别技术,PS3需要另配摄像头,而Play Station Portabl(PSP)的后续机型“PlayStation Vita”则标配有摄像头。因此“今后以PS Vita为主也便于采用面部识别技术”(SCE的小口贵弘)。
CPU负荷较轻,但占用内存
此次,开发GT5的Polyphony Digital公司的内村创也作了演讲。在GT5中,可相应于面部朝向改变游戏画面的摄像头角度(参阅本站报道)。支持想在比赛中确认旁边车辆等要求,但游戏手柄已被油门及离合器等很多功能占满,没有多余空间,因此才决定采用面部识别技术(libface)。
据内村介绍,libface的CPU负荷比较低。但内存占用量比较大,因此不能在所有情况下使用面部识别功能。在比赛中可以使用面部识别功能,但进入汽车检修坑场景时,因内存占用的关系,而关闭了面部识别功能。
还将支持照明条件及与追踪功能并用
最后,关于libface今后的动向,SCE表示其将支持照明条件等环境差异。为了在暗处、逆光及侧光等不同照明条件下稳定识别,将采用环境光滤波器。具体是在识别面部图像之前,作为预处理而插入亮度转换滤波器,将其转换成正常图像。滤波器系数将通过校准自动选择面部检测分数最高的。另外,还将把眼、鼻、口等面部部位的追踪功能与面部检测并用,使识别更加稳定。