Morph

几何变换:only change the pixel’s location

morph:使一幅图像逐步变化到另一幅图像的处理方法

  • 较复杂的二维图像处理,需要对各像素点的颜色、位置作变换
  • 变形的起始图像和结束图像分别为两幅关键帧,从起始形状变化到结束形状的关键在于自动地生成中间形状,也即自动生成中间帧

静态变换:大小相同的两幅图的转换作静态变换,从一幅图a逐渐变化成第二幅图b

  • 原理:让图a中每个像素的颜色,逐渐变成图b相同位置像素的颜色
  • 方法:根据变换的快慢,设置相应的步长,将图a每一点的RGB逐渐变成图b相同位置象素的RGB,可以选择等比或等差的方式
  • 对于灰度图像,可以直接用等比或等差级数定义步长,使颜色从原图变到目标图 $$ I_i=I_{\text{begin}}+i\times\dfrac{I_{\text{end}}-I_{\text{begin}}}{n} $$
  • 对于彩色图像,RGB三色同时从原图变到目标图像。可以分别变化,也可考虑RGB的相对比例关系同时变化
\[ r_{i,j}=r_{i,j}^a+\dfrac{r_{i,j}^b-r_{i,j}^a}{N}\times n,\quad n=0,\cdots,N-1 \]
\[ g_{i,j}=g_{i,j}^a+\dfrac{g_{i,j}^b-g_{i,j}^a}{N}\times n,\quad n=0,\cdots,N-1 \]
\[ b_{i,j}=b_{i,j}^a+\dfrac{b_{i,j}^b-b_{i,j}^a}{N}\times n,\quad n=0,\cdots,N-1 \]

选择两幅结构相似、大小相同的画面作为起始和结束关键帧,这样才能比较容易地实现自然、连续的中间变形过程

结构保持:对齐

  • 基于点:在起始和结束画面上确定和勾画出各部分(主要轮廓)的结构对应关系,也即从起始画面上的一个点变到结束画面上的另一个对应点的位置,这是变形运算所需要的参数;根据需要,对应点的位置可以任意移动。调整起始帧的对应点位置,可以模拟摄像中的镜头渐变效果
  • 基于线段:在各点像素坐标变化的同时,每个像素的颜色RGB也一起从原图像改变为目标图像;这时可以采用不同的插值策略计算像素中间值(空间,颜色) image.png|500
  • 基于网格:确定坐标变换函数,根据变换函数产生中间帧
    • 视点变换就是求在视点移动后原始图像变换生成的新视图;在用相机拍摄物体时,保持物体的位置不动,而将相机移离物体,这就相当于视点变换,如果我们保持相机固定位置,将物体移离相机,这就相当于模型转换。视点变形要求对物体有三维坐标知识

应用:Expressive Expression Mapping with Ratio Images

解法:几何变换

问题:表情细节丢失

光照模型:假设存在\(m\)个点光源

\[ I=\rho\sum_{1\leqslant i\leqslant m}S_iI_in\cdot l_i\equiv\rho E(n) \]

其中\(S_i=0\)当且仅当点无法别光源i照亮,否则\(S_i=1\)

表情比例图:

\[ \dfrac{I'}{I}=\dfrac{\rho E(n')}{\rho E(n)}=\dfrac{E(n')}{E(n)} \]

表面变形映射:\(I_1=\rho_1E(n)\to I'_1=\rho_1E(n')\), \(I_2=\rho_2E(n)\to I'_2=\rho_2E(n')\)

\[ \dfrac{I_1'}{I_1}=\dfrac{I_2'}{I_2}\Rightarrow I_2'=\dfrac{I_1'}{I_1}I_2 \]

算法:

  • 输入:图像\(A,A',B\)
  • 标记特征点
  • 对于每个特征点,做变换\(v_{b'}=v_b+v_{a'}-v_a\),令\(B_g\)为B的变换图
  • 对齐\(A,A',B_g\)
  • 计算比例图\(\mathfrak R=\dfrac{A'}{A}\)
  • \(B'=\mathfrak R\cdot B_g\)