The Documentatiion of Kinect Face Tracking

to continue Face Tracking Outputs.......


Face Tracking Outputs

      在这里讲详细讲解一个Face Tracking 引擎的信息输出细节,并且说明在每次调用StartTracking和ContinueTracking时,FTResult都会对以下信息进行更新:

  • Tracking status(跟踪状态)
  • 2D point (2D信息点)
  • 3D head pose (3D 头部姿态信息)
  • AUS
2D Mesh and Points

      Face Tracking SDK中共完成了对87个2D信息点的跟踪,其中有13点没有画出,下图展示这87个点(据说在最新版本SDK中将信息点增加到100+ points)。如图所示:


这些点通过一个数组返回,并且和通过Kinect 返回的RGB图像(640*480 分辨率)有相同的坐标空间。那没有画出的13个点分别是:

  • 每个眼睛的中心,嘴角,鼻子中心
  • 头部的边缘
3D Head Pose(头部姿态的3D信息)

        用户头部的X、Y和Z轴的位置信息,是基于上篇博文的坐标系统。用户的头部姿态信息通过三个角度来表示:pitch(倾斜)、roll(转动)、yaw(偏离中心),详细看下图:





这些角度通过在[-180,180]这个范围内的数据来表示,详细见下表:

Angle Value

Pitch angle

0=neutral

-90 = looking down towards the floor

+90 = looking up towards the ceiling

Face Tracking tracks when the user’s head pitch is less than 20 degrees, but works best when less than 10 degrees.

Roll angle

0 = neutral

-90 = horizontal parallel with right shoulder of subject

+90 = horizontal parallel with left shoulder of the subject

Face Tracking tracks when the user’s head roll is less than 90 degrees, but works best when less than 45 degrees.

Yaw angle

0 = neutral

-90 = turned towards the right shoulder of the subject

+90 = turned towards the left shoulder of the subject

Face Tracking tracks when the user’s head yaw is less than 45 degrees, but works best when less than 30 degrees


Animation Units

          Face Tracking SDK的结果也可以表示成6个AUS和11个SUS的权值形式(详细的定义请查看Candide3模型http://www.icg.isy.liu.se/candide/)。其中SUs完成对头部形状的估计,包括:不会发生大的形变的嘴、眉毛、眼睛等等。AUS则是控制那些会发生形变的位置控制avatar models 去跟着被跟踪者做相同的动作。

         Face Tracking SDK跟踪了如下几组AUS值,并且每一组AUS值都被限定在-1和+1两种选择。

AU Name and Value Avatar Illustration AU Value Interpretation

Neutral Face

(all AUs 0)

JJ130970.k4w_face_neutral_face2(en-us,IEB.10).png  

AU0 – Upper Lip Raiser

(In Candid3 this is AU10)

JJ130970.k4w_face_upper_lip_raiser(en-us,IEB.10).png

0=neutral, covering teeth

1=showing teeth fully

-1=maximal possible pushed down lip

AU1 – Jaw Lowerer

(In Candid3 this is AU26/27)

JJ130970.k4w_face_jaw_lowerer(en-us,IEB.10).png

0=closed

1=fully open

-1= closed, like 0

AU2 – Lip Stretcher

(In Candid3 this is AU20)

JJ130970.k4w_face_lip_stretcher(en-us,IEB.10).png

0=neutral

1=fully stretched (joker’s smile)

-0.5=rounded (pout)

-1=fully rounded (kissing mouth)

AU3 – Brow Lowerer

(In Candid3 this is AU4)

JJ130970.k4w_face_brow_lowerer(en-us,IEB.10).png

0=neutral

-1=raised almost all the way

+1=fully lowered (to the limit of the eyes)

AU4 – Lip Corner Depressor

(In Candid3 this is AU13/15)

JJ130970.k4w_face_lip_corner_depressor(en-us,IEB.10).png

0=neutral

-1=very happy smile

+1=very sad frown

AU5 – Outer Brow Raiser

(In Candid3 this is AU2)

JJ130970.k4w_face_outer_brow_raiser(en-us,IEB.10).png

0=neutral

-1=fully lowered as a very sad face

+1=raised as in an expression of deep surprise


Face Tracking SDK Code Samples

         在SDK中包含了两个示例代码,其中单人脸例子用来说明如何去追踪一个单一的人脸并且如何保证和avatar的一致。多人脸追踪例子和单人脸例子相似,除了完成多人脸追踪外,这些例子都可以在Developer Toolkit中的“Samples”找到,下表是为了说明在使用这些例子时,可以传入的命令行参数

Capture Option Command Format Parameters Description
Specified Depth -Depth[:DEPTHFORMAT][:DEPTHSIZE] The DEPTHFORMAT component can have following values
  • “DEPTH”: each depth pixel is encoded as a 16 bit integer representing a value in millimeters, or 0 if undefined.
  • “PLAYERID”: each depth pixel contains a player index in the least significant 3 bits, and a depth value in millimeters in the most significant 13 bits.

If no depth format is specified, or if the “-Depth” argument is absent, the program will use the default format, depth + player id.

Request that the depth image is captured according to the specified format and specified size.
Color -Color[:COLORFORMAT][:COLORSIZE] The COLORFORMAT component can have the values
  • “RGB”: the="" color pixels are encoded in RGB mode.
  • “PLAYERID”: the color pixels are encoded in YUV mode.
  • If no color format is specified, or if the “-Color” argument is absent, the program will use the default format, RGB.

The COLORSIZE component can have the values:

  • “320x240”: the depth image is composed of 320 rows of 240 pixels
  • “640x480”: the depth image is composed of 640 rows of 480 pixels
  • “1280x960”: the depth image is composed of 1280 rows of 960 pixels

If no color size is specified, or if the “-Color” argument is absent, the program will use the default format, 640x480.

Request that the color image is captured according to the specified format and specified size.
Near Mode -NearMode If argument is present, near mode is activated. Request that the depth sensor be programmed to operate in “near mode.” If the argument is absent, the depth sensor will operate in standard mode. Optimizes operation of the Kinect Hardware when the subject is closer than 3ft.
Seated Skeleton -SeatedSkeleton If argument is present, seated Skeleton mode is activated. Request that the skeleton be assessed using the “seated” pipeline. If the argument is absent, the skeleton will be computed using the standard (standing) pipeline.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值