欢迎来到学术参考发表网

基于线性混合模型的目标对象变形方法

发布时间:2015-04-02 14:02

  0 引言

  我们通常需要通过计算机技术对图像进行变形,使图像或图像中的特定目标对象动作、角度等发生变形,以达到预期效果。理想的图像变形方法是使变形后的图像无失真、扭曲或违反常理的现象[1]

  图像的变形主要分为两种:一种是对整幅图像的变形,另一种是对图像中的特定目标对象进行变形[2]。目前,使用较多的是对目标对象选取3种线性模型:节点、骨架和楔形,然后混合使用模型以对目标对象进行变形 [3]。将上述模型混合后,需要计算其加权融合值,可以采用移动最小平方[4]< /sup>、对偶四元数[5]等方法。但是,这些方法通常有运行缓慢、使用复杂、不支持任意处理或变形不平滑等缺点。

  基于上述问题,本文针对二维图像提出了线性混合模型的目标对象变形方法,能够达到很好的变形效果。在线性混合模型权值计算中,对保留区域和非保留区域做了不同的处理。该算法能够产生很好的视觉效果,在变形过程中不会产生扭曲、重叠或畸变等违反自然规律的现象。

  变形后的图形图像,替换到目标图像的指定位置并合成到图像中,在虚拟现实中实现不能完成的梦想。

  1 待变形对象目标提取方法

  1.1 图像变形种类

  在图像处理中,图像的变形有两种:一种是整体图像的变形,另一种是图像中特定目标对象的变形。

  1.1.1 整体图像变形

  整体图像变形,是指将一幅图像平滑地变形到另一幅图形中,是一种基于像素的变形方法,通常采用尺度变换、移动或旋转的方法来完成。变形前后的图像具有一一映射关系,可以用一个仿射变换矩阵[6]表示。图1就是一种简单的图像变形,只是对原始图像做了旋转操作。

  图1 整体图像变形

  整体图像变形通常可用于图像拼接、异物查找等场合。首先用Harris[7]、 SIFT[8]等算子求取图像中的特征向量,然后将两幅图像中的特征向量进行配准,用RANSAC算法求取仿射变换矩阵,将其中一幅图像进行变形后即可做图像拼接或差分等处理。

  1.1.2 目标对象变形

  此变形方法是在提取目标对象后对其进行变形,而背景图像保持不变。之所以需要选取目标对象是由于指定的虚拟场景已经存在,只要替换虚拟场景中指定的图形图像,该过程通过少量的图形图像标注,就可以完成整个场景的虚拟变换。

  对目标对象的提取采用了基于Hu七阶不变矩的快速定位方法,用分水岭算法进行快速图形图像的分割与提取。在目标对象提取后,使用控制节点对二维目标对象进行变形。这里采用混合仿射转换来定义目标图像的平滑变形。

  1.2 目标对象提取

  目标对象提取是在待处理图像中定位出目标对象,其主要步骤如下:

  (1) 选取一张目标对象图像作为模板图,若为彩色图像则先将其转换为灰度图像,然后求取七阶不变矩。

  七阶不变矩属于低阶矩阵,其(p+q)阶矩为:

  mpq=∫+∞-∞∫+∞-∞xpyqf(x,y)dxdy(1)

  其中(x,y)为灰度图像的像素坐标,f(x,y)为此处的灰度值。中心矩为:

  μp[dylW.net专业提供教育论文代写的服务,欢迎光临www.dylW.NeT]q=∫+∞-∞∫+∞-∞(x-x)p(y-y)qf(x,y)dxdy(2)

  其中x=m10m00,y=m01m00。f(x,y)的归一化矩阵为:

  ηpq = μpq μγ00 ,γ=p+q2+1,p,q=1,2,3...(3)

  p+q≤3,得到模板图的七阶不变矩为:

  φ1=η20+η02(4)

  2 = (η20 - η02 )2 + 4η211 (5)

  φ3=(η30-3η12)2+(3η21-η03)2(6)

  φ4=(η30+η12)2+(η21+η03)2(7)

  φ5=(η30-3η12)(η30+η12)[(η30+η12)2-3(η21+η03)2]+

  (3η21-η03)(η21+η03)[3(η30+η12)2-(η21+η03)2](8)

  φ6=(η20-η02)(η30+η02)2-(η21+η03)2+

  4η11(η30-η12)(η21+η03) (9)

  φ7=(3η21-3η03)(η30+η12)[(η30+η12)2-3(η21+η03)2]-

  (η30-3η12)(η21+η03)[3(η30+η12)2-(η21+η02)2](10)

  因而,求得模板图的七阶不变矩为F1=[φ1,φ& lt;sub>2,φ3,φ4< /sub>,φ5,φ6< /sub>,φ7]。

  (1)选取一定大小的窗口,遍历待处理图像,并求取待处理图像的七阶不变矩F2=[Φ< sub>1,Φ2,Φ3< /sub>,Φ4,Φ5< /sub>,Φ6,Φ7]。为便于分析,将不变矩 F1,F2进行变换:

  Φi=log10Φi

  φi=log10φi i=1,2,...,7(11)

  定义归一化函数,如式(12),求取两矩阵的相似性度量s,如式(13)。

  l(x)=x,x<1

  1/x,x≥1 (12)

  s=1-∑7i=1l(Φi/φi)/7(13)

  通常,s值越接近于0,说明两图像的相似度越高,即匹配精度越高,从而实现目标对象的定位。

  (

  2)若相似性度量小于某一特定阈值,遍历结束。否则回到步骤(2)。

  (3)若遍历结束后仍未定出对象,则改变窗口大小(通常窗口大小为模板图像的0.8~1.2倍),回到步骤(2),继续遍历。

  根据实验,我们选取s的阈值为0.005。若相似度小于此值,则表明定位成功。

  2 线性混合模型

  2.1 三种常见的线性模型

  (1)节点。节点是一种基本的线性模型,其操作通常是局部平移、旋转或缩放,并对该对象附近的区域进行光滑传播。基于该算法的变形函数通常采用离散特征点插值方法,通过对控制节点的位置移动来完成一一映射。节点对图像的变形有两个步骤:①将图像在横向和纵向两个方向上做变形,同时建立映射关系;②通过映射关系做插值处理,以完成目标对象的变形。

  目前基于节点的图像变形方法通常采用ARAP(As-Rigid-As-Possible)保刚性算法[9]:首先在目标对象上建立三角形网格结构,然后最小化结构中所有三角形的失真变形,并建立线性方程组,以获得网格中所有顶点变形后的位置坐标。其操作有快速、直观、简单的优点,但它对某些拓扑结构的变形并不平滑。

  (2)骨架。骨架主要应用于一些方向比较僵硬且不需要过多变形的部位。若两个节点之间的区域过于柔弱,骨架则会将其转换成一个僵硬的肢体。其处理步骤是:①得到三角形网格,为目标对象配置骨架;②运用正向运动学原理编辑骨架,传递到目标图像上,实现对图像的变形。

  骨架配置对于目标对象的变形至关重要。在二维图像中,基于骨架的变形通常采用线段的MLS算法[4] 以求取能量函数。基于骨架的目标图像变形可使节点之间进行任意的拉伸,动作较为夸张。虽然基于骨架的变形操作容易,变形灵活、平滑,但其变形时没有一个度且会有相互干扰的情况,易导致失真现象产生。

  (3) 楔形。节点和骨架通常用于处理二维图像,而楔形主要用于处理三维图像。基于楔形的线性模型会影响目标对象,产生膨胀或腐蚀。

  2.2 基于线性模型的图像变形

  本文基于节点加权线型模型,通过加权融合后完成二维目标对象的任意变形。其关键技术是求取线性变换加权值,同时在求取权值的过程中将区域分成保留和非保留两个区域[10]。目标图像变形流程如图2所示。

  图2 目标图像变形流程

  2.2.1 连续混合模型权值计算

  假设ΩR2为二维图像中给定形状的容量域。Hj为控制句柄,其范围为HjΩ,j=1,...,m。Hj可以是单个的节点、一个区域或是一个骨架。若为骨架,Hj需要包含骨架上所有的节点,每一个Hj句柄对应一个仿射变换矩阵Tj。目标对象中所有节点p的变换均可通过上述加权联合后变换成p',其中p为原目标对象中的点,p'为变形后图像中的点,wj是与Hj相对应的一个权值。

  p'=∑mj=1wj(p)Tjp(14)

  为使图像变形有平滑、形状感知等特性,本文将权值wj定义为平滑函数最小值,对wj用Laplacian能量函数进行限制,公式如下:

  argmin∑mj=112∫ΩΔwj2dV(15)

  wj Hk = δjk (16)

  其中δjk是Kronecker的delta取值。为了计算方便,对wj做归一化处理,为方便变形,只考虑权值的非负值。

  ∑mj=1wj(p)=1,p∈Ω

  0≤wj(p)≤1,j=1,...,m (17)

  从公式(15)-(17)中可以看出,基于该线性混合权值的变形具有以下几种特性:

  (1)非负性。由于在图像变形中,负的权值会导致形状区域朝着相反的方向旋转,可能会出现两个点映射到一个点的情况,操作极为不便,所以本文的权值采用非负值。

  (2)无局部极大值。 由公式(16)可以看出,wj只在Hj处获得一个全局极大值,不会在其它地方获得局部极大值,这一特性保证了在图像变形中,离操作句柄越近的地方变换越为强烈,远离操作句柄的地方,变化尺度会衰减,这保证了目标对象变形中不会出现意想不到的情况。

  (3)平滑性。平滑性在图像变形中尤为重要,若图像缺少平滑会产生失真现象。骨架由节点连接,权值wj在节点上会有不连续的值,wj在Hj处值为1,而在相邻的骨架上值为0。节点通常被其所连接的骨架转向同一个地点(p'),因此不会导致平滑问题。

  通常在变形中,需要保留某些部位(如人的眼睛、鼻子等部位),使其不变形,这里称之为形状保留区域,需添加最小化二乘项[9]

  argmin∑mj=112∫Πρwj2dV(18)

  其中ρ为遮蔽物,Π为需要保留的区域。

  2.2.2 离散混合模型权值计算

  在实际图像变形中,只用到了有限的线性元素,所以需要将公式(15)做离散化处理。假设对象s是一个给定的二维多线段网格,其骨架上的采样顶点 v=v1,v2,...,vn,网格作用域为Ω。当顶点 v包含所有离散Hj时,结果是一个三角网格M。假设权值wj表示如下:

  wj=(w1,j,w2,j,...,wn,j)T(19)

  将式(15)变化如下:

  ∑mj=112∫ΩΔwj2dV≈∑mj=112(M-1Lwj)TM(M-1Lwj)(20)

  其中M是集总质量矩阵,L是余切Laplacian算子。

  形状保留公式(18)转换如下:

  ∑mj=112∫Πρwj2dV≈∑mj=112wTj(GTRMG)wj(21)

  其中G为线性FEM梯度算子[11],R为一个对角线矩阵,M为元素质量矩阵。

  3 实验结果及分析

  实验所用计算机配置为Intel i3-2100 CPU,2GB RAM,在Microsoft Visual Studio 2010平台上做仿真实验以验证本文算法的有效性。

  图3是待变形的一帧图像,图像像素尺寸为:1024×788。图4为需要变形的目标对象模板,模板图像像素尺寸为:233×566。用基于Hu不变矩快速方法,在大场景帧图像中定位出待变形目标图像如图5所示,像素尺寸为210×509,为模板图像的0.9倍。

  图3 待变形的帧图像

  图4 目标对象模板 图5 目标对象定位结果 图6 多边形轮廓提取

  将定位出来的目标对象通过分水岭算法,将背景擦出后提取待变形轮廓,如图6所示。从图中可以看出,该轮廓是一个多边形。然后用Shewchuk的二维网格生成方法[12]对多边形图像进行三角化,结果如图7所示。接着在图中手动输入变型节点,如图8所示。本文在目标对象的脸上输入节点,使其能够柔和变形。

  对眼睛、鼻子等需要保留形状的部位和普通部位分别求取离散混合模型权值,根据加权值对目标对象进行变形,变形结果如图9所示。从图中可以看出,人的头抬了起来,背也直起来了,右腿有少许抬起,但对嘴巴、鼻子、眼睛等部位未做过于夸张的变形,变形后的对象比较自然、平滑。若不考虑保留区域而直接进行变形的话,图像会出现严重的失真现象,如图10所示。

  图7 网格模型 图8 目标对象的节点与骨架 图9 变形结果图像

  图10 未考虑保留区域的变形 图11 扭曲的变形结果 图12 自由形式变形

  本文求取的离散混合权值还具有非负性、平滑性的优点,无局部极大值问题。图11是未考虑非负性问题,导致鼻子的变形方向与嘴巴相反;图12是基于自由形式变形后的图像,可以看出存在很多不平滑的地方。

  最后,将变形后的目标对象(见图9)放入到帧图像中,完成对目标对象的变形处理。

  图13 变形后的帧图像

  4 结语

  本文首先在待变形的帧图像中用Hu不变矩自动定

  位出[dylW.net专业提供教育论文代写的服务,欢迎光临www.dylW.NeT]目标对象,采用分水岭算法对目标进行分割与提取,并自动对提取对象的多边形轮廓进行三角化后,手动指定目标对象中的变形节点;然后将区域分为保留和非保留两部分,分别计算离散混合模型权值。实验结果表明,基于线性混合模型的目标对象变形采用加权算法,不会产生扭曲。

  本文只是对二维图像做了无失真变形,未对楔形模型和三维图像变形作研究。对三维立体图像的无失真变形研究,可以实现在大片中任意替换主角,实现自己演大片的梦想。

  参考文献

  [1] 吕福起.变形动画中的图形渐变技术研究[D]. 青岛:山东科技大学, 2011.

  [2] 蔡志峰, 卢汉清, MARC JAEGER. 用弹性混合模型解决图像变形匹配问题[J]. 中国图像图形学报, 2003, 8(7):753-758.

  [3] MAGNENAT-THALMANN N,LAPERRIERE R,THALMANN D.Joint-dependent local deformations for hand animation and object grasping[C].In Proceeding on Graphics Interface, 1988:26-33.

学术参考网:http://www.lw881.com/jsj/rj/1176.html

上一篇:MOOC课程平台功能设计策略的设计发展

下一篇:电力企业计算机信息一体化的分析与实现目标

相关标签: