数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法(FA-GN与IC-GN)


前言

由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,其中需要对别人现有算法的复现和调研,尽管其中很多算法都已经非常成熟,但对于初学者而言即使明白其中的原理,无法上手实践和操作的话,依然无法能够将其完全的应用起来或者在上面进行创新,我希望能将自己作为一个初学者复现他人代码和学习该原理的过程记录下来,方便每一个涉足该领域的人能更快应用这些知识。

本文的论述基础建立在我的前一篇文章Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)【ADIC2D代码复现及原理介绍】。推荐先通过这篇帖子了解DIC整体模型及运算后,再阅读本文。

数字图像相关专栏目录:

  1. Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)【ADIC2D代码复现及原理介绍】
  2. 数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法(FA-GN与IC-GN)
  3. 数字图像相关(Digital Image Correlation, DIC)中的非线性优化方法IC-GN的数值解计算
  4. 用MATLAB绘制随机散斑图案【源码+正确的椭圆旋转公式】

本文的算术推导过程主要借鉴http://www.ncorr.com/index.php/dic-algorithms


内容回顾

为保证阅读的通畅,我会将上一篇帖子中的模型在这一节中进行简单的回顾与展示,便于在后面的公式推导中方便随时回头查看。在上一文中,我们可以将数字图像相关总结归纳为:通过在参考图像上设置好子区 f i = F ( x o + Δ x i ) f_{i}=F\left(x^{o}+\Delta x_{i}\right) fi=F(xo+Δxi) ,基于给定的一组形函数参数初值 P 0 P_{0} P0,对目标函数(相关标准)不断迭代优化从而得到一组最优解 P ∗ P^{*} P,从而得到一组在形变图像上与参考子区最佳匹配的形变子区 g i ∗ = G ( x o + W ( Δ x i , P ∗ ) ) g_{i}^{*}=G\left(x^{o}+\boldsymbol{W}\left(\Delta \boldsymbol{x}_{i}, \boldsymbol{P^{*}}\right)\right) gi=G(xo+W(Δxi,P)),最终实现参考图像像素点与形变图像像素点的匹配。 具体模型示意如图所示。
在这里插入图片描述
本文会用到的各参数说明:

  1. 参考子区中心点 x 0 = [ x 0 y 0 ] T \boldsymbol{x}^{0}=\left[\begin{array}{ll}x_{0} & y_{0}\end{array}\right]^{T} x0=[x0y0]T

  2. 参考子区像素点 x i = Δ x i x 0 + x o = [ x i y i ] = [ Δ x i Δ y i ] + [ x 0 y 0 ] \boldsymbol{x}^{i}=\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}+\boldsymbol{x}^{o}=\left[\begin{array}{l} x_{i} \\ y_{i} \end{array}\right]=\left[\begin{array}{l} \Delta x_{i} \\ \Delta y_{i} \end{array}\right]+\left[\begin{array}{l} x^{0} \\ y^{0} \end{array}\right] xi=Δxix0+xo=[xiyi]=[ΔxiΔyi]+[x0y0]

  3. 形变子区像素点 x i ′ = Δ x i ′ x 0 + x o = [ x i ′ y i ′ ] = [ Δ x i ′ Δ y i ′ ] + [ x 0 y 0 ] \boldsymbol{x}^{i'}=\Delta \boldsymbol{x}^{i'} \boldsymbol{x}^{0}+\boldsymbol{x}^{o}=\left[\begin{array}{l} x_{i}' \\ y_{i}' \end{array}\right]=\left[\begin{array}{l} \Delta x_{i}' \\ \Delta y_{i}' \end{array}\right]+\left[\begin{array}{l} x^{0} \\ y^{0} \end{array}\right] xi=Δxix0+xo=[xiyi]=[ΔxiΔyi]+[x0y0]

  4. 形变子区像素点偏移量 Δ x i ′ x 0 = W ( Δ x i x 0 , P ) \Delta \boldsymbol{x}^{i'} \boldsymbol{x}^{0}=\boldsymbol W(\Delta \boldsymbol{x}^{i}\boldsymbol{x}^{0},P) Δxix0=W(Δxix0,P)

  5. 参考子区 f i = F ( x o + Δ x i x 0 ) = F ( x o + W ( Δ x i x 0 , 0 ) ) f_{i}=F\left(\boldsymbol x^{o}+\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}\right)=F\left(\boldsymbol x^{o}+\boldsymbol{W}\left(\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}, 0\right)\right) fi=F(xo+Δxix0)=F(xo+W(Δxix0,0))

  6. 形变子区 g i = G ( x o + W ( Δ x i x 0 , P ) ) g_{i}=G\left(\boldsymbol x^{o}+\boldsymbol{W}\left(\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}, \boldsymbol{P}\right)\right) gi=G(xo+W(Δxix0,P))

在这里插入图片描述
形函数相关参数说明:

  1. 0阶形函数 W S F 0 ( Δ x i x 0 , P S F 0 ) = [ 1 0 u 0 1 v ] [ Δ x i Δ y i 1 ] \boldsymbol{W}^{S F 0}\left(\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}, \boldsymbol{P}^{S F 0}\right)=\left[\begin{array}{ccc} 1 & 0 & u \\ 0 & 1 & v \end{array}\right]\left[\begin{array}{c} \Delta x_{i} \\ \Delta y_{i} \\ 1 \end{array}\right] WSF0(Δxix0,PSF0)=[1001uv]ΔxiΔyi1
  2. 1阶形函数 W S F 1 ( Δ x i x 0 , P S F 1 ) = [ 1 + u x u y u v x 1 + v y v ] [ Δ x i Δ y i 1 ] \boldsymbol{W}^{S F 1}\left(\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}, \boldsymbol{P}^{S F 1}\right)=\left[\begin{array}{ccc} 1+u_{x} & u_{y} & u \\ v_{x} & 1+v_{y} & v \end{array}\right]\left[\begin{array}{c} \Delta x_{i} \\ \Delta y_{i} \\ 1 \end{array}\right] WSF1(Δxix0,PSF1)=[1+uxvxuy1+vyuv]ΔxiΔyi1
  3. 2阶形函数 W S F 2 ( Δ x i x 0 , P S F 2 ) = [ 1 2 u x x u x y 1 2 u y y 1 + u x u y u 1 2 v x x v x y 1 2 v y y v x 1 + v y v ] [ Δ x i 2 Δ x i Δ y i Δ y i 2 Δ x i Δ y i 1 ] \boldsymbol{W}^{S F 2}\left(\Delta \boldsymbol{x}^{i} \boldsymbol{x}^{0}, \boldsymbol{P}^{S F 2}\right)=\left[\begin{array}{cccccc} \frac{1}{2} u_{x x} & u_{x y} & \frac{1}{2} u_{y y} & 1+u_{x} & u_{y} & u \\ \frac{1}{2} v_{x x} & v_{x y} & \frac{1}{2} v_{y y} & v_{x} & 1+v_{y} & v \end{array}\right]\left[\begin{array}{c} \Delta x_{i}^{2} \\ \Delta x_{i} \Delta y_{i} \\ \Delta y_{i}^{2} \\ \Delta x_{i} \\ \Delta y_{i} \\ 1 \end{array}\right] WSF2(Δxix0,PSF2)=[21uxx21vxxuxyvxy21uyy21vyy1+uxvxuy1+vyuv]Δxi2ΔxiΔyiΔyi2ΔxiΔyi1

一. 非线性优化数学模型

数字图像相关中的非线性优化示意如图所示:1
在这里插入图片描述

根据上面的内容回顾,我们可以知道,数字图像相关最重要的一点就是基于一个函数(相关标准)迭代求解其最优解( P ∗ P^{*} P而相关标准本身是一个非线性函数,其最优解的位置就位于其极大值或极小值处【由选择的相关标准决定】,而要想找到这个极值点位置,就需要用数值分析中的非线性方程组的数值解法。这些方法中,最为常用的即牛顿迭代法(Newton’s method,也叫做牛顿-拉夫逊法,Newton-Raphson method)。下面,我们利用这种方法来思考和推导我们这个问题:

:采用一阶形函数 W S F 1 \boldsymbol{W}^{S F 1} WSF1零均值归一化最小距离平方标准(Zero-Normalized Sum of Squared Differences Criterion, ZNSSD) 来构建我们的数学模型

零均值归一化最小距离平方标准(Zero-Normalized Sum of Squared Differences Criterion, ZNSSD)
C ZNSSD  = ∑ i = 1 I [ f i − f ˉ f ~ − g i − g ˉ g ~ ] 2 ∈ [ 0 , 4 ] C_{\text {ZNSSD }}=\sum_{i=1}^{I}\left[\frac{f_{i}-\bar{f}}{\widetilde{f}}-\frac{g_{i}-\bar{g}}{\widetilde{g}}\right]^{2}\in [0,4] CZNSSD =i=1I[f fifˉg gigˉ]2[0,4]其中 f ˉ = ∑ i I f i I \bar{f}=\frac{\sum_{i}^{I} f_{i}}{I} fˉ=IiIfi g ˉ = ∑ i I f g I \bar{g}=\frac{\sum_{i}^{I} f_{g}}{I} gˉ=IiIfg分别代表参考图像和形变图像的灰度值均值, f ~ = ∑ i = 1 I ( f i − f ˉ ) 2 \widetilde{f}=\sqrt{\sum_{i=1}^{I}\left(f_{i}-\bar{f}\right)^{2}} f =i=1

  • 41
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ViolentElder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值