文章快速检索     高级检索
  重庆大学学报  2020, Vol. 43 Issue (12): 59-67  DOI: 10.11835/j.issn.1000-582X.2020.12.006 RIS(文献管理工具)
0

引用本文 

蒋中宁, 罗远新, 王勇勤, 郭平. 数字图像相关位移场测量的误差补偿[J]. 重庆大学学报, 2020, 43(12): 59-67. DOI: 10.11835/j.issn.1000-582X.2020.12.006.
JIANG Zhongning, LUO Yuanxin, WANG Yongqin, GUO Ping. Error compensation of digital-image-correlation displacement field measurement[J]. Journal of Chongqing University, 2020, 43(12): 59-67. DOI: 10.11835/j.issn.1000-582X.2020.12.006.

基金项目

国家自然科学基金资助项目(51405044);机械传动国家重点实验室开放课题(SKLMT-KFKT-2017)

通信作者

罗远新, 男, 重庆大学教授, 博士生导师, 主要研究方向为塑性成形工艺及装备, (E-mail)yxluo@cqu.edu.cn

作者简介

蒋中宁(1994-), 男, 重庆大学硕士研究生, 主要从事非接触位移场测量研究, (E-mail)313729986@qq.com

文章历史

收稿日期: 2020-07-17
数字图像相关位移场测量的误差补偿
蒋中宁 1a,1b, 罗远新 1a,1b, 王勇勤 1a,1b, 郭平 2     
1a. 重庆大学 机械传动国家重点实验室, 重庆 400044;
1b. 重庆大学 机械工程学院, 重庆 400044;
2. 美国西北大学, 埃文斯顿, IL 60208
摘要: 数字图像相关方法中,位移场测量的误差大小与算法的迭代次数通常成反比,要获得较低的误差,必须增加迭代次数,从而增加了计算量;而非迭代的方法误差相对较大。为解决这一问题,提出了一种基于BP神经网络的误差补偿方法。选择基于非迭代光流法的位移场测量方法为算法模型,详细分析了该算法本身存在的截断误差,以模拟散斑图的位移测量值及其误差为数据集,用训练好的神经网络误差预测模型对测量结果进行补偿。实验验证结果表明,补偿后的位移测量误差相较原来总体下降了50%左右,测量误差的统计分布也显著下降。
关键词: 数字图像相关    光流法    位移场测量    神经网络    误差补偿    
Error compensation of digital-image-correlation displacement field measurement
JIANG Zhongning 1a,1b, LUO Yuanxin 1a,1b, WANG Yongqin 1a,1b, GUO Ping 2     
1a. State Key Laboratory of Mechanical Transmissions, Chongqing University, Chongqing 400044, P. R. China;
1b. College of Mechanical Engineering, Chongqing University, Chongqing 400044, P. R. China;
2. Northwestern University, Evanston, IL 60208, USA
Abstract: The error of digital image correlation (DIC) displacement field measurement is always conflicted with the iteration times of algorithm. To reduce the calculation error, the number of iterations has to be increased, which will result in a heavy computing burden. However, the error of the non-iteration method is usually high. To solve the problem, a BP neural network-based error compensation method is proposed. The non-iteration optical flow algorithm is selected as analytical example and its error is also analyzed. The displacement measurement of a simulated speckle image and its error are used as training data. The displacement measurement result is compensated by the predicted value. The compensation experiment is carried out and it shows that the error after compensation drops by 50% and the histogram of the error is also reduced.
Keywords: digital image correlation    optical flow    displacement field measurement    neural network    error compensation    

传统接触式测量因其限制而无法测得全场位移,使得能测得全场位移的非接触测量方法成了一个研究热点。而在非接触测量中,基于数字图像相关的位移场测量方法相对其他非接触测量方法具有测量精度高、成本低、安装方便等优势,所以被广泛应用于实验力学[1-2]、结构监测[3]及生命科学[4]中,因此,对于位移场测量方法的精度研究具有重要意义。

基于数字图像相关的位移场测量方法最早是在二十世纪八十年代由Peters和Ranson共同提出[5]。数字图像相关的基本原理是拍摄变形前后待测表面的数字图像用相关函数来描述变形前后的待测表面,求解该相关函数,从而得到位移参数。为得到亚像素精度的测量结果,依据算法的不同分类,研究人员提出了3种数字图像相关算法[6]:基于迭代的相关算法、基于亚像素插值的曲面拟合算法以及基于梯度的光流法算法。

牛顿拉夫逊方法(N-R方法)是最经典的迭代算法。该方法使用了一种形函数来描述变形前后的位移场,进而将求解相关函数的问题转化为带有位移参数的非线性方程的优化问题。Bruck等[7]在正向搜索策略中使用了N-R迭代方法,在每一个迭代步中都要计算海森矩阵,故该方法的收敛速度十分缓慢。在基于高斯-牛顿梯度下降的反向组合算法(IC-GN)中,Pan等[8]有效避免了海森矩阵的计算,进而大幅提升了计算效率。

基于曲面拟合的算法引入了曲面方程,从而可以得到亚像素级的计算精度。徐飞鸿等[9]在三次曲面拟合法的基础上,提出了一种改进的亚像素位移求解算法,改善了其计算误差及抗噪性能。Su等[10]通过卷积插值的方法推导出了一种用于补偿由于噪声产生的偏差的正弦逼近算法。

在小位移和恒亮度的假设下,基于光流法的算法用梯度的方法来解位移方程。Davis[11]首先将光流法运用于位移测量。Zhou等[12]首次将光流法应用在散斑图的位移测量中。在解位移方程各参数的过程中,传统算法是用最小二乘的方法来逼近最优解,从而避免了插值过程,同时也保证了计算精度。根据文献[13],基于光流法的算法的问题在于为了得到足够小的精度和分辨率,在计算过程中需要多次迭代并且计算精度十分依赖精确的初解。

综上所述,大多研究通过提出新的算法或增加迭代次数来改进位移场测量的精度,并没有考虑到算法模型本身存在的误差,也很少有研究从误差补偿方面着手来改进位移场测量的精度。笔者选取了基于光流法的位移场测量方法,分析了该算法模型产生误差的来源,通过神经网络对测量误差进行预测,进而对该算法的测量结果进行补偿,并将补偿前后的测量结果进行对比,结果表明,补偿后的测量精度明显提升。

1 位移场测量算法的误差分析

由于光流法算法的简洁性,选用基于非迭代光流法算法的位移场测量方法作为实例,分析其算法模型,进而对其自身存在的误差进行分析。

1.1 光流法的算法模型

图 1所示,假设基准图像f(x, y)沿着xy方向分别移动了Δx和Δy的距离,在小位移和恒亮度的假设前提下,移动后的图像可以表示为g(x, y)=f(xx, yy),利用泰勒展开可以得到下式:

图 1 恒亮度假设下的图像位移 Fig. 1 The image shifts under the assumption of constant intensity
$ f(x + \Delta x, y + \Delta y) = f\left( {x, y} \right) + \frac{{\partial f\left( {x, y} \right)}}{{\partial x}}\Delta x + \frac{{\partial f\left( {x, y} \right)}}{{\partial y}}\Delta y + \ldots , $ (1)

式中$ \partial f/\partial x$$\partial f/\partial y $分别表示沿着xy向的导数。由于Δx和Δy都小于1,所以式中的高阶分量可以忽略不计,于是有

$ \Delta f \approx {J_x}\Delta x + {J_y}\Delta y, $ (2)

式中:Δf为变形前后图像的灰度差,$ {J_x} = \partial f\left( {x, y} \right)/\partial x, {J_y} = \partial f\left( {x, y} \right)/\partial y$。注意到此方程有2个未知数Δx和Δy,所以可将其转化为求解最小化问题[13]

$ {\rm{min}}\varphi (\Delta x, \Delta y), $ (3)

式中$\varphi (\Delta x, \Delta y) = \sum {\left\{ {{{\left( {\Delta f - {J_x}\Delta x - {J_y}\Delta y} \right)}^2}} \right\}} $

此问题可用最小二乘法解,且解须在驻值处取得,故可令其偏导为0:

$ \frac{{\varphi \partial }}{{\partial x}} = 0, \frac{{\partial \varphi }}{{\partial y}} = 0。$ (4)

可推导出方程的解为:

$ \left[ {\begin{array}{*{20}{c}} {\Delta x}\\ {\Delta y} \end{array}} \right] = {\rm{ }}\left[ {\begin{array}{*{20}{c}} {\sum\nolimits_{_{M, N}} {J_x^2} }&{\sum\nolimits_{M, N} {{J_x}{J_y}} }\\ {\sum\nolimits_{_{M, N}} {{J_x}{J_y}} }&{\sum\nolimits_{M, N} {J_y^2} } \end{array}} \right]{^{ - 1}}\left[ {\begin{array}{*{20}{c}} {\sum\nolimits_{M, N} {{J_x}\Delta f} }\\ {\sum\nolimits_{M, N} {{J_y}\Delta f} } \end{array}} \right]。$ (5)

式中MN分别为图像的长和宽。

1.2 算法自身存在的误差分析

由于光流法的恒亮度假设及在推导过程中的截断误差,该算法不可避免地会产生误差。误差主要来源于3个方面:拍摄得到图像的亮度变化、图像噪声和算法本身的截断误差。前2种误差属于随机误差,后1种为可预测的系统误差,所以本节对截断误差进行分析。

为便于分析,将上节模型退化到一维的情况,则可以得到:

$ g\left( x \right) = f(x + \Delta x) = f\left( x \right) + \Delta xf'\left( x \right) + \frac{1}{2}f''\left( x \right){(\Delta x)^2} + \ldots , $ (6)

舍去高阶小量后,原方程可表示为:

$ \frac{{\rm{d}}}{{{\rm{d}}(\Delta x)}}\phi (\Delta x) = 0,$ (7)

式中$\phi (\Delta x) = \sum\nolimits_{_x} {(g\left( x \right) - f\left( x \right) - f'\left( x \right)\Delta x)} $

所以,原方程的解为:

$ \Delta \widehat x = \frac{{\sum\nolimits_{_x} {f'\left( x \right)\left| {g\left( x \right) - f\left( x \right)} \right|} }}{{\sum\nolimits_x {{{\left| {f'\left( x \right)} \right|}^2}} }}。$ (8)

真实的位移值为Δx,则可以得到计算误差为:

$ \left| {\Delta \widehat x - \Delta x} \right| =\left| \frac{{\sum\nolimits_{_x} {f'\left( x \right)\left| {g\left( x \right) - f\left( x \right)} \right|} }}{{\sum\nolimits_{_x} {{{\left| {f'\left( x \right)} \right|}^2}} }} - \Delta x \right|,$ (9)

文献[14]给出了上式的边界为:

$ \begin{array}{*{20}{c}} {\left| {\Delta \widehat x - \Delta x} \right| = |\frac{{\sum\nolimits_{_x} {f''\left( x \right)\left| {g\left( x \right) - f\left( x \right)} \right|} }}{{\sum\nolimits_{_x} {{{\left| {f'\left( x \right)} \right|}^2}} }} - \Delta x{\rm{ }}}|\\ { \le \frac{1}{2}{\rm{ma}}{{\rm{x}}_\xi } | f''\left( \xi \right)| \frac{{\sum\nolimits_{_x} {\left| {f'\left( x \right)} \right|} }}{{\sum\nolimits_{_x} {{{\left| {f'\left( x \right)} \right|}^2}} }}{{(\Delta x)}^2},} \end{array} $ (10)

式中ξ的数学含义为在xxx之间,存在ξ,使得式(11)成立:

$ f(x + \Delta x) = f\left( x \right) + \delta xf' \left( x \right) + 12f''\left( \xi \right){(\Delta x)^2}。$ (11)
2 BP神经网络算法 2.1 BP神经网络预测测量误差的可行性

由上述的算法模型分析及误差分析可知,测量误差的数值与位移的真实值大小有关,且为非线性关系,常规的方法无法对其进行预测。BP神经网络具有很强的泛化能力,在一定的参数学习下拥有全局逼近的特性,可以逼近任意非线性映射关系[15]。将位移的测量值作为神经网络的输入,测量误差作为神经网络的输出,经过训练后的神经网络模型可以获得误差值与测量值之间的映射关系。

2.2 采用动量法和自适应学习速率的BP神经网络算法

图 2所示,一般来说,最速下降法是BP神经网络最常见的学习规则,通过反向传播来不断调整网络各节点的权重,使网络输出的全局误差最小。

图 2 BP神经网络算法流程 Fig. 2 Diagram of BP neural network

传统的最速下降法在实际应用中的缺点十分明显,比如收敛速度慢以及输出误差陷入局部极小值。针对这些缺点,选用了改进的BP神经网络,即采用了动量BP法和自适应学习速率的神经网络。

动量BP法是在标准BP算法的权值更新阶段引入动量因数α(0<α<1),使修正后的节点权重值具有一定惯性:

$ \omega \left( n \right) = - \eta \left( {1 - \alpha } \right)\nabla e\left( n \right) + \alpha \Delta \omega \left( {n - 1} \right),$ (12)

式中:η为学习速率;n为训练次数;α为全局动量因数;e为每次反向传播时的误差值。从上式可看出,节点权值的更新方向与幅度取决于当前计算得到的梯度以及上一次计算中的节点权值的方向和幅度,所以节点权值的更新进一步加快且更有鲁棒性。

自适应学习速率法是在计算的过程中,在每一个更新步都动态且适当地调整神经网络的学习速率,即每次权值更新时修正步长,以防止学习过程中计算所得的误差落入局部最小点。学习速率的调整可以通过以下经验公式实现[16]

$ \eta \left( {n + 1} \right) = {\rm{ }}\left\{ \begin{array}{l} 1.05\eta \left( n \right)\\ 0.7\eta \left( n \right)\\ \eta \left( n \right)e\left( n \right) < e\left( {n + 1} \right) < 1.03e\left( n \right)。\end{array} \right. $ (13)
3 针对位移场测量误差预测的神经网络模型 3.1 神经网络结构

根据上文的分析,利用3层神经网络来预测位移场的测量误差,输入层为测量算法所能得到的位移值,输出层为计算得到每一个点在XY方向的误差。由于输入输出都为两个方向的值,所以输入和输出层的节点数都为2。因为数据都是2个方向的位移值,并不是很复杂,所以选取5个神经元节点作为隐藏层,整体结构如图 3所示。

图 3 位移场测量算法误差预测的神经网络结构 Fig. 3 Structure of the neural network for the displacement error prediction
3.2 神经网络训练数据集的生成

选用美国实验力学学会(Society for Experimental Mechanics)[17]的模拟散斑图数据集来产生位移的测量值。图 4为选用的模拟散斑图,大小为487×325。以该图像为基准图像,可生成具有不同位移值的待测图像。为了得到位移测量值和测量误差的数据,生成了10幅在X方向具有一定位移的待测图像,X方向位移分别从1.1像素至11.0像素,Y方向位移为0。将他们编号后进行两两之间的测量计算,得到位移的测量值$\left( {\widehat x, \widehat y} \right) $和误差值(Δx, Δy)。用Matlab编写光流法的位移计算程序,计算子区为21×21,计算步长为10,所以针对此10幅图像总共需要计算10次,每次得到1 536组数据,总计得到15 360组数据。以测量值为输入,相应的测量误差为输出,将全部数据的70%作为神经网络的训练集,15%作为验证集,15%为测试集,建立训练数据集。图 5为其中一次补偿前测量所得结果。

图 4 模拟散斑 Fig. 4 Simulated speckle image
图 5 测量所得X向位移场分布及其统计分布 Fig. 5 Displacement field distribution in X direction and its histogram
3.3 神经网络的训练过程

选用改进的BP神经网络算法对学习样本进行网络训练,预测模型的实现过程如下。

首先对数据集进行预处理,即标准化,然后将其输入网络,设置隐藏层和输出层神经元节点的激活函数分别为sigmoid函数和ReLU函数。设置初始学习速率为0.01,最大迭代次数为1 000次,收敛时的误差为10-7,动量因数的推荐值为0.9。随机选取数据集中的70%为训练集,剩余30%为测试集和验证集。训练过程采用批训练,经过896次训练迭代完成了误差的预测。以训练好的神经网络模型的预测值为误差值,对原位移场测量值进行补偿,得到新的位移场测量分布。图 6显示了一组原测量值与补偿后测量值误差统计分布的对比。

图 6 补偿前后X向位移场误差统计分布 Fig. 6 Histogram of the calculation error in X direction before and after compensation

从上图可以看出,补偿前误差的均值为0.015,补偿后的误差均值为0.007 3,误差的统计分布明显下降。

3.4 预测模型的验证与对比

为了进一步验证训练得到的误差预测模型的正确性,生成了X向位移从0.1至1.0的10幅图像,将它们分别与基准图像对比计算。计算子区为21×21。将未补偿的测量值作为模型输入,进行误差预测,再对其进行误差补偿,将补偿之后的测量值误差与之进行对比,得到图 7的对比数据。经过补偿后,测量精度显著提升。图 8为每个计算点的计算时间。从中可以看出,补偿后的误差相比原来的误差降低了50%左右,且基本没有增加计算负担。

图 7 补偿前后X向位移场误差对比图 Fig. 7 omparison of the calculation error in X direction before and after compensation
图 8 补偿前后每个计算子区的计算时间对比 Fig. 8 Comparison of the calculation time of each subset before and after compensation

对位移为0.5像素的图片加入了不同等级的高斯噪声,使得图片的信噪比(SNR)分别为5, 10, 15, 20, 25, 30 dB,对比了不同噪声影响下的位移测量误差,计算结果如图 9所示。从中可以看出,补偿后的计算方法抗噪能力稍有提升。综上所述,本研究中训练的BP神经网络误差预测模型是有效的。

图 9 补偿前后不同噪声影响下的计算误差对比 Fig. 9 Comparison of the calculation error under different noise level before and after compensation
4 结论

1) 分析了基于非迭代光流法的位移场测量方法的算法模型以及其3种误差来源,分别是图像的亮度变化、图像噪声和算法本身的截断误差。详细分析了具有一定分布规律的截断误差。

2) 由于误差为难以用函数描述的非线性映射,所以提出了通过训练神经网络来建立误差预测模型的方法。生成了用于训练的数据集,并用训练后的预测模型对原测量数据进行补偿。结果表明,补偿后的测量位移误差均值为0.007 3像素,误差的统计分布显著下降。

3) 对训练出的预测模型进行了验证性实验。结果表明,补偿后的位移测量误差相较原来总体下降了50%左右,验证了所训练的BP神经网络误差预测模型的有效性。

参考文献
[1]
朱飞鹏, 龚琰, 白鹏翔, 等. 基于二维DIC的脆性材料拉伸应力-应变曲线测定[J]. 实验力学, 2018, 33(3): 333-342.
ZHU Feipeng, GONG Yan, BAI Pengxiang, et al. Measurement of tensile stress-strain curve of brittle materials based on 2D DIC[J]. Journal of Experimental Mechanics, 2018, 33(3): 333-342. (in Chinese)
[2]
陈德灯, 张蕊, 郭然. 高精度数字梯度敏感法测量PMMA板的转角场[J]. 重庆大学学报, 2018, 41(5): 68-75.
CHEN Dedeng, ZHANG Rui, GUO Ran. Measuring angular deflections of PMMA by high-precision digital gradient sensing method[J]. Journal of Chongqing University, 2018, 41(5): 68-75. (in Chinese)
[3]
邵新星, 戴云彤, 何小元, 等. 实时数字图像相关用于土木准静态实验测量[J]. 光学学报, 2015, 35(10): 125-133.
SHAO Xinxing, DAI Yuntong, HE Xiaoyuan, et al. Real-time digital image correlation for quasi-static test in civil engineering[J]. Acta Optica Sinica, 2015, 35(10): 125-133. (in Chinese)
[4]
Shao X X, Dai X J, Chen Z N, et al. Real-time 3D digital image correlation method and its application in human pulse monitoring[J]. Applied Optics, 2016, 55(4): 696.
[5]
Peters W H, Ranson W F. Digital imaging techniques in experimental stress analysis[J]. Optical Engineering, 1982, 21(3): 427-431.
[6]
Khoo S W, Karuppanan S, Tan C S. A review of surface deformation and strain measurement using two-dimensional digital image correlation[J]. Metrology and Measurement Systems, 2016, 23(3): 461-480.
[7]
Bruck H A, McNeill S R, Sutton M A, et al. Digital image correlation using Newton-Raphson method of partial differential correction[J]. Experimental Mechanics, 1989, 29(3): 261-267.
[8]
Pan B, Li K, Tong W. Fast, robust and accurate digital image correlation calculation without redundant computations[J]. Experimental Mechanics, 2013, 53(7): 1277-1289.
[9]
徐飞鸿, 代坤. 一种改进的数字图像亚像素位移测量算法[J]. 长沙理工大学学报(自然科学版), 2014, 11(1): 75-80.
XU Feihong, DAI Kun. An improved algorithm of digital image subpixel displacement measurement[J]. Journal of Changsha University of Science and Technology (Natural Science), 2014, 11(1): 75-80. (in Chinese)
[10]
Su Y, Zhang Q C, Gao Z R, et al. Noise-induced bias for convolution-based interpolation in digital image correlation[J]. Optics Express, 2016, 24(2): 1175.
[11]
Davis C Q. Statistics of subpixel registration algorithms based on spatiotemporal gradients or block matching[J]. Optical Engineering, 1998, 37(4): 1290.
[12]
Zhou P. Subpixel displacement and deformation gradient measurement using digital image/speckle correlation (DISC)[J]. Optical Engineering, 2001, 40(8): 1613.
[13]
Pan B, Asundi A, Xie H M, et al. Digital image correlation using iterative least squares and pointwise least squares for displacement field and strain field measurements[J]. Optics and Lasers in Engineering, 2009, 47(7/8): 865-874.
[14]
Chan S H, Vo D T, Nguyen T Q. Subpixel motion estimation without interpolation[C]//2010 IEEE International Conference on Acoustics, Speech and Signal Processing, March 14-19, 2010, Dallas, TX. IEEE, 2010:722-725.
[15]
张金梦, 刘慧君. 遗传算法优化BP神经网络的泊车位数量预测[J]. 重庆大学学报, 2018, 41(3): 76-81.
ZHANG Jinmeng, LIU Huijun. Prediction of spare parking spaces based on BP neural network optimized by genetic algorithm[J]. Journal of Chongqing University, 2018, 41(3): 76-81. (in Chinese)
[16]
陈琛, 马毅, 胡亚斌, 等. 一种自适应学习率的卷积神经网络模型及应用:以滨海湿地遥感分类为例[J]. 海洋环境科学, 2019, 38(4): 621-627.
CHEN Chen, MA Yi, HU Yabin, et al. A Convolution neural network model with adaptive learning rate and its application:a case study of remote sensing classification of coastal wetland[J]. Marine Environmental Science, 2019, 38(4): 621-627. (in Chinese)
[17]
Reu P L, Toussaint E, Jones E, et al. DIC challenge:developing images and guidelines for evaluating accuracy and resolution of 2D analyses[J]. Experimental Mechanics, 2018, 58(7): 1067-1099.