《Kinect应用开发实战:用最自然的方式与机器对话》一3.6 创建你的Avatar

简介: 本节书摘来自华章出版社《Kinect应用开发实战:用最自然的方式与机器对话》一书中的第3章,第3.6节,作者 余涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.6 创建你的Avatar

Kinect可以识别追踪你的声音和肢体语言,但是面部表情呢?在CES 2011上,微软CEO鲍尔默曾以卡通形象出场,并且介绍Kinect Avatar服务,如图3-49所示。

image

Avatar卡通人物与真人相比特征鲜明,其可对你的面部表情进行识别并展示。Avatar Kinect为用户提供了一个虚拟平台,免费提供给所有Xbox Live会员,你可以与好友进行面对面的聊天交流。它能识别你的表情、眼神、口形、皱眉,这样可使用户更加“真实”地进行聊天,仿佛聚会时围坐一圈畅谈人生。
你站在那里,Kinect Avatar就出现了,举手投足,动作一致;一颦一笑,栩栩如生。这些在技术上如何实现的呢?

3.6.1 “有骨有肉”

前面我们花了很多篇幅来分析Kinect如何从深度图像中识别出人体骨骼,事实上Avatar是在人体骨骼基础上的进一步丰满的肢体。Avatar构建的整个过程好比人体素描,先勾勒出人体骨骼,再画出肌肉。

3.6.2 泊松方程噪声滤除

首先,我们来看如何创建与用户体型一致的Avatar身体。事实上,由于Kinect受成本所限,硬件能力并不强,因此,深度图像分辨率也不高。人体经过Kinect扫描得到的深度图,仿佛月球表面一样凹凸不平。如何将粗糙的表面还原为平滑的表面呢?传统图像处理中,中值滤波这种非线性平滑技术常用来保护边缘信息,是一种经典的平滑噪声的方法。
Kinect采用了泊松方程等算法进行噪声滤除,通过这种方法可判断人体表面特征点是噪声还是真实的存在。从技术算法层面上来看,先抓取特征点周边表面的角度和朝向,进而判断该点可能存在于空间的位置。同时根据朝向判断,在特征点周围形成一个虚拟的距离场。
泊松方程用于帮助建立这个距离场。根据采样特征点的位置,尽可能平均估计它对周围的影响,估计周围表面距离场情况。如果真实物体表面有一个洞的话,那么它的影响可以很好地扩散到周围,进而获得非常平滑的形状。每个特征点的最终状态和特征并不仅仅取决于它本身,还取决于周围很多点。如果在采样面中有一个凸起的点,这个点周围的点在朝向特性上都没有表现出这里有凸起的趋势,那么这个点就被判定为噪声并被去除,反之则保留。由于Kinect采样精度的限制,细小的表面特征信息也可能被误判为噪声。

3.6.3 粗糙变平滑、缺陷自动补齐

鲜活的Avatar表情是如何创建的呢?对很多需要实时绘制的娱乐类游戏来说,3000个顶点的人脸3D模型已经十分真实,目前Kinect的红外摄像头可以提供320×240的分辨率,可采集的特征点已经远远超过10000,除了脸上的皱纹之外,生成的多边形顶点人脸可表现绝大部分的表情特征。前面已经谈到,人脸表面的深度图像会出现缝隙和不连续的区域,修补这些缺陷主要借助上面所提到的泊松方程和平滑算法,判断漏洞附近的表面朝向,进而实现自动修补,从而粗糙变平滑、缺陷自动补齐。因此,你看到的Kinect Avatar一颦一笑,栩栩如生。
这其中涉及广泛的计算机视觉和图形学的知识,它们在深入理解问题并创建有效视觉交流方面的作用,已得到公认。

相关文章
|
9月前
|
Python
微信虚拟聊天对话生成器示例
python实现对话生成器代码示例
|
7月前
|
机器学习/深度学习 人工智能 人机交互
实验:智能语音技术简单实现
实验:智能语音技术简单实现
139 0
|
11月前
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏02支持中文及显示FPS
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏02支持中文及显示FPS
117 0
|
11月前
|
Java 计算机视觉
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
100 0
|
自然语言处理
【3】天猫精灵开放实验平台实验— 切换意图,参数传递
【3】天猫精灵开放实验平台实验— 切换意图,参数传递
【3】天猫精灵开放实验平台实验— 切换意图,参数传递
|
传感器 API 人机交互
《Kinect应用开发实战:用最自然的方式与机器对话》一导读
Kinect正是在这样的背景中诞生的,人机交互从二维世界扩展到三维空间,而且是非接触的交互体验(Touch-Free)。Kinect也许会成为第三次人机交互革命的原点。
2140 0
|
算法
《Kinect应用开发实战:用最自然的方式与机器对话》一3.7 本章小结
本节书摘来自华章出版社《Kinect应用开发实战:用最自然的方式与机器对话》一书中的第3章,第3.7节,作者 余涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1194 0
《Kinect应用开发实战:用最自然的方式与机器对话》一2.4 本章小结
本节书摘来自华章出版社《Kinect应用开发实战:用最自然的方式与机器对话》一书中的第2章,第2.4节,作者 余涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1307 0
|
算法
《Kinect应用开发实战:用最自然的方式与机器对话》一第3章 Kinect工作原理大揭秘 3.0
本节书摘来自华章出版社《Kinect应用开发实战:用最自然的方式与机器对话》一书中的第3章,第3.0节,作者 余涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1446 0