人脸变形之移动最小二乘MLS

论文:Image Deformation Using Moving Least Squares

Nonrigid Image Deformation Using Moving Regularized Least Squares

Github:https://github.com/Jarvis73/Moving-Least-Squares

Moving Least Squares Deformation 

• p: 一列控制顶点.

• q: 控制顶点变换后的坐标.

给定图上的一点 v, 求解一个最优的仿射变换来最小化

其中 pi 和 qi 都是行向量, 每行的分量为点的坐标, 权重 wi 有如下的形式  

因为该最小二乘问题中的权重 wi 独立于 v 变形后的点, 所以我们称之为移动最小二乘最小化. 对于不同的 v, 可以得到不同的变换 lv(x). 由于 lv(x) 是仿射变换, 所以可以写成

令原始的优化函数对 T 求偏导数并令其为 0, 解出 

其中 p∗ 和 q∗ 是原来一系列控制顶点的加权质心,

所以有 

所以原优化函数可以修改为  

其中

考虑二维图像时, M 就是一个 2 × 2 的矩阵.

1.1 Affine Deformation

要找一个仿射变换来极小化方程 (4), 直接用古典方法求解优化问题得

从而我们可以写出仿射变换的表达式

 又因为 pi 是固定的, 所以上式可以变为

 

其中 Aj 可以预计算  

1.2 Similarity Deformation 

实际上仿射变换包含了非一致性的平移和放缩,实际中的许多物体并不会产生这么复杂的变化。相似变换是仿射变换的一个子类,仅包含平移、旋转和一致的放缩。为了满足相似变换的性质,我们限制矩阵 M 满足 M⊤M = λ2 I, ∃λ。如果 M 是分块矩阵,有 M = (M1,M2) 的形式,其中 M1, M2 都是长度为 2 的列向量,那么对于 M 的限制可以 变为 M⊤1 M1 = M⊤2 M2 = λ2,并且 M⊤1 M2 = 0。这个限制意味着 M2 = M⊥1 ,其中 ⊥ 是一 个作用于二维向量的算子使得 (x, y)⊥ = ( y, x)。这样原来的目标方程 (4) 可以修改为

(注: 论文上式中有个符号可能写错了, 有待进一步确认.) 该二次方程有唯一的最优值,从而可以得到最优值点 M)

其中 

 

 从而得到最终的变换公式

 

其中 Ai 是 

 

1.3 Rigid Deformation

进一步地,我们要求变换中不包括一致放缩,即限制变为 M⊤M = I。先给出一个定理,这个定理说明了刚性变换和相似变换的关系。

定理 1. 令 C 是可以极小化如下相似问题的矩阵

如果 C 写成 λR 的形式,R 是一个旋转矩阵,λ 是一个标量,那么旋转矩阵 R 极小化如

下的刚性问题

定理证明略去,可以参考原文中的 AppendixA。

根据定理我们知道刚性变化恰好就是方程 (7),除了把其中的 µs 替换为 µr

 令

 

其中 Ai 由式 (8) 定义,最后的变换公式为

速度显存开销测试 

三种变形方式

cpu速度(720*960大小图片)

gpu显存/速度

仿射变形affine

10.05s

6.5G/600ms

相似变形similar

14.32s

3.8G/1060ms

网格变形rigid

13.47s

3.8G/1040ms

移动最小二乘MLS vs 反距离加权IDW:

MLS的显存开销更大,速度更慢

全局变形方法

速度

显存开销

变形效果

移动最小二乘MLS 

较慢

多(可以通过减少点的数量,减少图片大小,增大网格大小gridsize)

可以从原始点一模一样的变形到目标点,但是在点多的时候边缘平滑性细节较差,点少的时候边缘平滑性细节较好

反距离加权IDW

较快

不能从原始点一模一样的变形到目标点,会受变形系数的影响,但是边缘细节较好

测试效果

 

 

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
移动最小二乘MLS)曲面重构是一种曲线曲面拟合的方法,它是在最小二乘法的基础上进行改进的。通过添加权函数等步骤,MLS可以更好地适应数据点的分布情况,从而实现更准确的曲面重构。\[3\] 在MLS曲面重构中,首先需要对数据点进行采样,并选择适当的权函数。然后,通过计算每个采样点周围的邻域点的权重,确定每个采样点的权重矩阵。接下来,使用最小二乘法来拟合曲面,通过求解线性方程组来确定曲面的系数。最后,根据拟合的曲面系数,可以对新的点进行曲面重构。\[2\] MLS曲面重构方法在计算机图形学、计算机辅助设计等领域有广泛的应用。它可以用于曲面重建、曲面平滑、曲面插值等任务,能够有效地处理不规则数据点集合,并生成平滑的曲面。\[1\] 总之,移动最小二乘MLS)曲面重构是一种基于最小二乘法的曲线曲面拟合方法,通过添加权函数等步骤,可以更好地适应数据点的分布情况,实现准确的曲面重构。它在计算机图形学和计算机辅助设计等领域有广泛的应用。 #### 引用[.reference_title] - *1* [基于移动最小二乘法的曲线曲面拟合(python语言实现)](https://blog.csdn.net/baidu_38127162/article/details/82380914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [移动最小二乘法(MLS)曲线曲面拟合C++代码实现](https://blog.csdn.net/liumangmao1314/article/details/54179526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值