交互式投影动态捕捉下的数据采集子系统设计

2020-07-28 10:17陈起阳史佩伦陈方园熊国瑾
中国电气工程学报 2020年2期
关键词:算法

陈起阳 史佩伦 陈方园 熊国瑾

摘要:本文以交互式投影动态捕捉下的数据采集子系统为研究对象,首先分析了基于kinect下的动态捕捉、语音捕捉以及基于Kinect进行图像分割所使用的Mean Shift算法,然后建立了基于MAYA下的角色模型。

关键词:交互式投影动态捕捉;kinect;算法

1基于 kinect 下的动态捕捉及语音捕捉

Kinect的构成结构是由三个镜头、四个内置麦克风构造而成,中间结构的镜头是RGB的彩色摄像机,它的作用是用来采集彩色图像,而中间镜头的两边分别设有红外线发射器和红外线的CMOS的摄影机。Kinect工作原理是由将红外线发射器投射近红外光谱,然后照射到一些粗糙物体、或者穿透毛玻璃后,所在的光谱回发生扭曲,进而会随机的反射斑点,之后就会被CMOS摄影机所读取。最后CMOS摄影机分析到的红外光3谱并且读取它们之后生成深度图。而对于四个麦克风,内设数字的信号处理器DSP这样的组件, 它们所将同时收录声音来源,之后进行对比过滤,剔除背景噪音。

对于人体的骨骼动态捕捉,Kinect所测量的人体骨骼范围为0.5m—4.5m,而帧数据则定为人体的25个关节点的集合数据,而帧数据中的每帧都包含了关节中的3D位置和所处的方向,而每秒扫描人体骨骼运动的帧数为30fps。

2基于Kinect进行图像分割所使用的Mean Shift算法

2.1 Kinect深度图获取方式及流程

对于Kinect的RGB彩色摄像机捕捉的彩色图通过Mean Shift算法]对彩色图进行对于图像的分割,之后通过散焦法对于分割的图像进行提取及融合,最后对于融合成的深度图进行一个三边滤波。散焦法对于分割成的单幅图进行提取方式:首先通过边缘点处的LOG滤波响应的正负处的双峰间距计算出散焦的模糊参数从而获得了边缘点处的深度值,最后可以使用matting Laplacian的插值从而生成稠密的深度图。最后可以将散焦法形成的稠密深度图和RGB彩色摄像机捕捉到的深度图进行一个融合,达到最终的目的。通过Mean Shift算法所得的深色图的质量远超过通过Kinect所捕捉到的深色图。

优先使用散焦法,将Mean Shift算法分割成的深色图通过散焦法提取深度D2(X,Y);

将Kinect所捕捉到的深度图D1(X,Y)与Mean Shift算法分割成的D2(X,Y)进行融合,从而生成一个图像的质量较好的融合型深度图D3(X,Y);

对于D1(X,Y)和D2(X,Y)融合成的深度圖Dy(X,Y)进行三边滤波。

2.2 Mean Shift 算法图像分割具体步骤及特征

第一、对于kinect的RGB彩色摄像机所捕捉到的彩色图转换到LUV色彩空间并且之后使用Mean Shift算法将彩色图像进行分割并将分成c个区域p1、p2、p3……pc,之中c为通过Mean Shift算法进行图像分割所产生的区域数目总和,也可将其称之为类别数。

第二、我们将通过散焦法将分割成的c个区域进行深度提取,首先将分割成的区域的彩色图进行一个转化成为灰度图,之后使用Canny算子方法进行检测灰度图的边缘,并且计算LOG的滤波响应,之后通过边缘处的边缘点处的LOG滤波的响应的正负双峰之间的距离进行计算从而得到散焦的模糊参数,最后通过模糊参数可以进而得到边缘点处的 深度值,这样我们就可以最后的到分割成的稀疏的深度图。

第三、我们可以将边缘处的分割成的稀疏深度图(包含深度值)通过matting

Laplacian的插值从而生成稠密的深度图。

第四、对于分割成的稠密深度图进行一个权值的深度图像的融合。具体方式:通过对于分割区域中p1、p2、p3……pc 等进行像素级的一个加权融合,可以根据此区域的产生的灰度值的方差和此区域处的像素到边缘处像素的距离计算出稠密深度图所要融合的一个权值。

第五、我们将对已经通过权值融合好的深度图进行一个三边滤波,而所谓的三边滤波则是包括表征的三维空间距离、所呈现的颜色值得差异性以及深度值的差异化。

首先我们将Kinect的RGB所捕捉到的色彩图转化为LUV的色彩空间,而其中的L*则表示为亮度,其中所取值的区间为00到100间,而其中的V*则表示为色彩的饱和度,其中的的取值的范围为-100到100区间,而将Kinect中的RGB色彩图动态捕捉图转换为LUV空间化的转换的公式:

通过由上式可以通过色彩图坐标(R,G,B)从而计算出LUV的彩色空间(L*,U*,V*)坐标值,之后我们进行将每个图之中的坐标以及色彩的信息成为一个增广向量,即x(xs,xr),此外空间的坐标xs(x,y),而色彩的信息则为xr(l*,u*,v*),从而得到增广的向量为x(x,y,l*,u*,v*)。

对于Mean Shift算法下的Mh(xt)而

对于计算公式中,t所代表的含义即为迭代的次数,而n则为落入到Sh中的像素的个数;而其中的K h h 则为核函数,且它的定义为

在最后,Mean Shift算法当结束时会一共呈现处c个类型的聚合,且对应着Kinect中的RGB所捕捉到的色彩图分割成的c个区域中的p1、p2、p3……pc。

2.3散焦法下的图像深度提取

在对于通过Mean Shift算法分割成的区域进行散焦法的深度提取,当分割成的区域化的所捕捉的模型没有聚焦点的时候,所通过RGB捕捉到的色彩图就会产生模糊,之后我们可以根据物体到达聚焦的平面的所处距离不同,所产生的模糊程度也会因此而不同。通 过聚散法所产生的构成原理则就是先

估算出散焦的模糊的参数,之后整合RGB捕捉的参数计算出图像的深度值。

首先将通过Mean Shift算法分割成的散焦图C(x,y)转化成灰度的图像I0(x,y),其中为散焦的参数。其下,将对于散焦参数的具体计算、通过matting Laplacian插值生成稠密深度图以及生成边缘处的稀疏的深度图。

2.4关于模拟下的Kinect所捕捉的骨骼运动及色彩图、深度图

3基于MAYA下的角色模型的建立

基于Kinect下的动态捕捉到的骨骼运动和深度图片下,通过MAYA软件进角色模型的构建,对于所构建的模型,将在模型身体控制器上设置多个骨骼运动触发点,设置多个 面部控制器,并且建立表情的修构数据库和角色模型数据库。

3.1 MAYA下构建角色模型及与Kinect的绑定方法

首先通过三维人体扫描仪进行人体的扫描,之后再进行等比例的缩小并且构建虚拟化的三维数学模型,从而形成虚拟化的人体模型,在模型之中将包括多个身体控制器和多个面部控制器等,通过在身体模型上绑定骨骼运动系统,从而骨骼运动系统和身体控制器共 同的驱动者角色模型的动作。同理,我们所进行的骨骼运动系统和面部控制器共同驱动角色模型的面部发生变化。对于模型的面部表情,我们将通过关键帧的设置,对模型产生的一些表情进行修复化。其中具体的构造方法如下:Q1:首先进行三维人体的扫描及按比例构造出人物模型,并且在于模型中设立多个控制器进行身体以及面部的控制;Q2:在模型身上绑定骨骼系统,并且与身体控制器进行实时绑定,并驱动身体动作的进行和变化;Q2.1:将扫描到的人体骨骼导入到MAYA场景之中,并且调整每个身体关键的骨骼部位与身体的模型相对应齐;Q2.2:根据客户端所要求得指令,在模型上自动绑定一些动态骨骼运动;Q3:在模型身上绑定骨骼系统,并且与面部控制器进行实时绑定,并驱动面部动作的进行和变化;Q4:通过关键帧的设置,我们可以通过已经形成的表情的数据库和动作的数据库将信息赋予到模型之中;Q4.1:通过 BlendShape[3]的变形处理将修复每个所需要的表情;Q4.2:通过关键帧,在身体控制器和面部控制器处的属性中建立与表情修复的一种驱动关系;

Q4.3:调整模型的面部表情,并且修复;Q5:可以依据RBF的修复设置,将已经储存的身体模型数据进行修复以及对所产生的动作进行修正;Q5.1:创建好每个身体模型数据,将模型数据上传到模型数据库中,并且利用RBF技术进行定位,对于身体骨骼和所修复的模型进行融合。

3.2构建模型及表情修复流程

第一、构建多个身体模型及在身体上绑定多个控制器并对于面部和身体动作的控制;

第二、在身体的模型之中绑定骨骼系统进行运动捕捉;

第三、在面部的模型之中绑定骨骼系统进行动态捕捉;

第四、将在表情数据库中进行模型与表情的相匹配并且对所产生角色表情部分进行修正;

第五、将储存在数据库中的身体模型进行骨骼的动态融合,并且对于所产生的模型的动作进行不断的修复。

3.3身体绑定及面部模型绑定结果示意图

3.4 基于Unity下的场景模型的建立

參考文献

[1] Komar,K.G,Proc.SPIE[J],120,(1977),127.

[2] Y.Chuang,B.Curless,D.Salesin,and  R.Szeliski.A  bayesian  approach  to  digital matting[M].CVPR,2001.

[3] 戴鹏,徐光祐.面向网上人际交流的便捷人脸动画.计算机辅助设计与图形学学报[J],2008,2 0(6):793-800.

[4] 郭海新,刘庆.虚拟现实技术在室内设计中的应用[J].大众商务,2010(1):15-153.

猜你喜欢
算法
国际主流轧差算法介绍:以CHIPS的BRA算法为例
利用数形结合明晰算理
《算法》专题训练
例说算法初步中常见的易错点
清华大学开源迁移学习算法库
Travellng thg World Full—time for Rree
算法框图型扫描
《漫画算法:小灰的算法之旅》
学习算法的“三种境界”
算法框图的补全