近期几年。realtime的人脸动画開始风声水起。不少图形图像的研究者開始在这个领域不断的在顶级会议siggraph和期刊tog上面发文章。

随着kinect等便宜的三维数据採集设备的运用。以及其功能强大的人脸识别和动作识别的功能,极大的推动了人脸数据驱动电脑中3D模型

的表情表演和动作表演的可能。

以下是几个大牛的主页,当中有不少关于这方面的研究:

主要发起者:

li hao 在epfl的lgg实验室的研究工作:

http://lgg.epfl.ch/publications.php

眼下其人在usc:

http://www.hao-li.com/Hao_Li/Hao_Li_-_about_me.html

然后他们还做出了比較成熟的软件:

http://www.faceshift.com/

国内的话,大牛 zhou kun也不做了不少相关的工作:

http://www.kunzhou.net/

此外 瑞士的迪斯尼研究中心以及传统的矩阵摄相三维人脸重建和动作捕捉的强者usc的一个实验室也有不少相关工作:

http://gl.ict.usc.edu/Research/HFFH/

http://www.disneyresearch.com/publications/

本人依据之前的几个blog的工作,然后整合试试变形的算法。也对实时人脸动画进行了尝试,详细过程例如以下:

1.通过kinect保存人脸的三维数据为obj文件

2.启动网格显示模型,读取保存的kinect网格模型

3.显示每一个顶点相应的标号

4.打开要驱动的obj模型

5.左键选择与上面顶点相应的坐标而且记录下来。(选中了的点会在模型中有红点标出,而且在命令行窗体输出相应的ID和坐标)

6.建立相应关系。即实时获得的kinect数据与须要驱动的顶点的相应关系

7.连接kinect,而且运用laplace或者poission变形方式。实时驱动模型变形,中间过程截图例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGl6aWJpbmc4ODA5MDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGl6aWJpbmc4ODA5MDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGl6aWJpbmc4ODA5MDk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

至此。kinect驱动三维模型实时变形的demo基本结束,这里还是很初步的结果。兴许能够通过參数化映射等实现自己主动的变形点匹配和变形驱动。当然也能够运用LOD等方式驱动更加丰富的人脸的动画,详细能够參考14年siggraph的paper,    http://www.iro.umontreal.ca/~derek/.

另外。也能够依照上面提到的几个大牛的方法,直接运用machine learning 的方式,学习几个主要的表情。然后驱动动画。这将是一件很有趣的事情。

Kinect驱动的人脸实时动画的更多相关文章

  1. 手 Q 人脸识别动画实现详解

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 前言 开门见山,先来看下效果吧. 看到这么酷炫的效果图,不得不赞叹一下我们的设计师.然而,站在程序员的角度上看,除了酷炫之外更多的是复杂.但是 ...

  2. ROS 安装kinect驱动+测试

    有时 ,需要用到kinect 的所有需要驱动才能使用kinect ,turtlebot2上的传感器就是kinect ,所以kinect 的用处还是很多的 , 今天就来讲一下kinect 驱动在unbu ...

  3. ARM TK1 安装kinect驱动

    首先安装usb库 $ git clone https://github.com/libusb/libusb.git 编译libusb需要的工具 $ sudo apt-get install autoc ...

  4. STC8H开发(十三): I2C驱动DS3231高精度实时时钟芯片

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  5. STC8H开发(十四): I2C驱动RX8025T高精度实时时钟芯片

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  6. 图像处理(二十一)基于数据驱动的人脸卡通动画生成-Siggraph Asia 2014

    http://blog.csdn.net/garfielder007/article/details/50582018 在现实生活中,我们经常会去评价一个人,长得是否漂亮.是不是帅哥美女,然而如何用五 ...

  7. Ubuntu升级显卡驱动后开机无动画的解决办法

    我的联想Ideapad z460,Nvidia GEFORCE 310M的显卡,安装闭源的驱动非常的蛋疼,ubuntu下面有附加驱动管理,在里面直接就能安装,也可以到官网下载.run的安装包,比较的折 ...

  8. Jetson TX1 安装Kinect驱动

    1.添加Universe源 $ sudo apt-add-repository universe $ sudo apt-get update 2.安装编译工具和依赖项 $ sudo apt-get i ...

  9. c# 利用AForge和百度AI开发实时人脸识别

    baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...

随机推荐

  1. Python+Selenium 自动化测试获取测试报告内容并发送邮件

    这里封装一个send_mail()方法,用于测试完成后读取测试报告内容,并将测试结果通过邮件发送到接收人 # coding: utf-8 import smtplib from email.mime. ...

  2. No-1.第一个 Python 程序

    1. 第一个 HelloWorld 程序 1.1 Python 源程序的基本概念 Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做 Python 的开发 Python 程序的 ...

  3. java关于时间的相关操作

    /** * 获取当天时间零点 * @return */ public Date gettoday(){ SimpleDateFormat sdf = new SimpleDateFormat(&quo ...

  4. Bootstrap 12 栅格系统

    栅格系统简介 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列.它包含了易于使用的预定义类,还有强大的mix ...

  5. TP-LINK配置公网映射

    公室里的主机获取到的地址是路由器分配的私网地址,通常是192.168.1.x,只有挂在同一个路由器底下的其它主机可以访问,路由器外面的主机是无法访问的.但是有时候我们希望把办公室内的服务器上的服务暴露 ...

  6. mongodb的安装与简单操作

    MongoDB中文社区:http://www.mongoing.com     数据库的使用场景 SQL(关系型数据库):MySQL.SQLServer  --->磁盘操作 1.高度事务性的场景 ...

  7. Buffer.from()

    Buffer.from(array) array {Array} 使用一个8位字节的数组分配一个新的 Buffer. const buf = Buffer.from([0x62, 0x75, 0x66 ...

  8. MySQL简单查询和单表查询

    MySQL记录操作 概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用 ...

  9. 集训第五周动态规划 C题 编辑距离

    Description Let x and y be two strings over some finite alphabet A. We would like to transform x int ...

  10. Uva 10305 拓扑排序

    题意: 给定n个点,与m条边, 给出他们的拓扑排序. 分析: 拓扑排序可以有两种做法, 第一种是dfs, 每次都找到某一个点的终点, 然后加入序列末尾, 正在访问的标记为-1, 访问过的标记为1, 未 ...