很多零零碎碎的事情,导致很久没写blog了。face animation的demo做完了也快一个月了,是时候总结总结了。
Kinect获得的标识点共用121个,其给的sdk里面也给出了响应的标签。如下图:
但是这个说明点绝大部分是错的。
由于获得kinect标识点的三维坐标,并且将每个点标识,并在vtk中显示:
上篇blog已经提到过这个问题,这里主要详细说明每个点以及与对应的嘴巴,鼻子等语义的关联。
kinect中眼睛,嘴巴是用两圈包围的顶点构成的,鼻子也是由外轮廓顶点构成,最终外围边界由稀疏的点构成边界,从而构成整个人脸三维特征点。
首先,左眼的标签如下:
顶点标记为:
外圈,逆时针:56,104,52,96,53,102,57,110
内圈,逆时针:106,73,54,69,98,100,70,55,74,108
其实kinect的点还是比较有规律的,基本遵守对称原则,眼皮对应位置上下的编号基本接近。
右眼:
顶点标记:
外圈,逆时针:23,109,24,101,20,95,19,103
内圈,逆时针:107,72,22,68,99,97,67,21,71,105
鼻子:
顶点标记:
78,37,77,94,93,92,58,25,69,76,38,75,26,1112,39,111
嘴巴:
顶点标记:
外圈,逆时针:31,79,7,39,80,64,86,9,41,8,85
内圈,逆时针:88,81,,37,82,89,84,40,83,
同时需要主要的是,kinect的有多个顶点重复,主要集中在对称中轴线位置,沿着额头,鼻子,嘴角等位置附近,可以找找,这里就不一一介绍了。
关于kinect获得的脸部特征点的介绍基本就这么多,后续可以按照这些特征点,结合二维图形,和深度图像,做更多的特征识别,语义理解的东西呢。