Kinect驱动的人脸实时动画
近期几年。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驱动的人脸实时动画的更多相关文章
- 手 Q 人脸识别动画实现详解
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 前言 开门见山,先来看下效果吧. 看到这么酷炫的效果图,不得不赞叹一下我们的设计师.然而,站在程序员的角度上看,除了酷炫之外更多的是复杂.但是 ...
- ROS 安装kinect驱动+测试
有时 ,需要用到kinect 的所有需要驱动才能使用kinect ,turtlebot2上的传感器就是kinect ,所以kinect 的用处还是很多的 , 今天就来讲一下kinect 驱动在unbu ...
- ARM TK1 安装kinect驱动
首先安装usb库 $ git clone https://github.com/libusb/libusb.git 编译libusb需要的工具 $ sudo apt-get install autoc ...
- STC8H开发(十三): I2C驱动DS3231高精度实时时钟芯片
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- STC8H开发(十四): I2C驱动RX8025T高精度实时时钟芯片
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- 图像处理(二十一)基于数据驱动的人脸卡通动画生成-Siggraph Asia 2014
http://blog.csdn.net/garfielder007/article/details/50582018 在现实生活中,我们经常会去评价一个人,长得是否漂亮.是不是帅哥美女,然而如何用五 ...
- Ubuntu升级显卡驱动后开机无动画的解决办法
我的联想Ideapad z460,Nvidia GEFORCE 310M的显卡,安装闭源的驱动非常的蛋疼,ubuntu下面有附加驱动管理,在里面直接就能安装,也可以到官网下载.run的安装包,比较的折 ...
- Jetson TX1 安装Kinect驱动
1.添加Universe源 $ sudo apt-add-repository universe $ sudo apt-get update 2.安装编译工具和依赖项 $ sudo apt-get i ...
- c# 利用AForge和百度AI开发实时人脸识别
baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...
随机推荐
- inux 软件编译、安装、删除
640?wx_fmt=otherimage.png 本文学习内容 手动安装软件 手动安装下载源码的软件 源码编译3步骤 deb包-包依赖管理 dekg -l 查看所以安装deb的包 apt-get仓库 ...
- MFC线程获取主窗口句柄
CWnd* h_q = AfxGetApp()->GetMainWnd(); //获取主窗口的句柄
- vue之$mount
数据挂载 在实例化Vue的时候,两种方式挂载数据 方法一:最常用的方法 var app=new vue({ el:"#app", data(){} ````` }) 注:文档中最常 ...
- vue 表单操作
<form class="mian__form" @submit.prevent="submit"> <ul> ...
- Perl字符集[\d\D]表示任何字符(所有数字和非数字,包括换行符),“.”表示除了换行符以外的所有字符。
Perl字符集[\d\D]表示任何字符(所有数字和非数字,包括换行符),“.”表示除了换行符以外的所有字符.
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
java实现 数据结构:链表. 栈. 队列.优先级队列.哈希表 数据结构javavector工作importlist 最近在准备找工作的事情,就复习了一下java.翻了一下书和网上的教材,发现虽然 ...
- bzoj1174 Toponyms
给你一个字符集合,你从其中找出一些字符串出来. 希望你找出来的这些字符串的最长公共前缀*字符串的总个数最大化. 第一行给出数字N.N在[2,1000000] 下面N行描述这些字符串,长度不超过2000 ...
- win10下硬盘安装CentOS7
安装环境: 1.系统:Windows 10 2.硬盘:SSD(已装好Win 10) + HHD(用来装CentOS 7) 准备工作: 1.DiskGenius(分区工具):用来给硬盘做分区: 2.系统 ...
- 杭电1722 Cake (分蛋糕)
#include<cstdio> int f(int m,int n) { ) return n; else return f(n,m%n); } int main() { int m,n ...
- HDU 4803 贪心
尽可能的让当前的平均值接近最后的平均值才能最快达到终点的情况 #include <cstdio> #include <cstring> #include <iostrea ...