When Deep Learning Meets Digital Image Correlation(1)文献记录

                                                            文献阅读记录

      本文解释了如何开发一个称为“StrainNetCNN 来实现像数字图像相关 (DIC) 一样能从平面斑点表面的成对参考和变形图像中检索位移和应变场,以及如何详细说明特定的真实数据集来训练这个 CNN。

       对于实时应用,像 StrainNet 这样的 CNN 提供了 DIC 的可行替代方案。

文章研究方法

CNN—卷积神经网络

光流是从两个获得的视位移场一个场景的视图。它是由观察者和场景中可能移动或变形的物体的相对运动引起的。

一般来说,它们都有相同的结构(上图是一个示意图)。网络的第一部分提取图像的特征,通过网络第二部分的上采样过程预测光流

计算机视觉应用通常需要一个被称为卷积神经网络(CNN)的深层神经网络子类,通过规定加权和对应于卷积,减轻了权重的数量,而卷积是信号处理的基本操作。卷积层的神经元被表示为所实现的卷积的输出,也就是图1中的蓝色平行管道。CNN中使用的另一个成分是下采样,它减少了相关层的宽度。在目前的工作中,通过计算位移两个单位而不是标准卷积中的一个单位的卷积,可以获得两个系数的下采样(所谓的跨度)。这就解释了图1中特征提取部分中越来越窄的层。请注意,在该图中,预测位移场时,通过所谓的转置卷积进行上采样。

 

Middlebury数据集:用于训练的图片对只有72对,从图片对中提取出的,用于训练光流的ground truth用四种不同的技术生成,位移很小,通常小于10个像素。

Kitti2012数据集:有194个用于训练的图片对,但只有一种特殊的动作类型(类似行车记录仪?),并且位移很大,视频使用一个摄像头和由3D激光扫描器得出的真实值,远距离的物体,如天空没法被捕捉,导致他的光流ground truth比较稀疏。

Mpi sintel数据集:是从人工生成的动画sintel中提取训练需要的光流ground truth,是目前最大的数据集,每一个版本都包含1064个可用来训练的图片对,提供的gt十分密集,大幅度,小幅度的运动都包含。

sintel数据集包括两种版本:

sintel final:包括运动模糊和一些环境氛围特效,如雾等。

sintel clean:没有上述final的特效。

 Flying Chairs 这一数据集背景是来自flickr的标签为‘city’,‘landscape’,‘mountain’1024*768像素的图片,剪切成四分之一,用512*384作为背景。前提是可以得到的可以生成的3d椅子模型,从这些模型中去掉一些相似的椅子模型,留下809种椅子,每一种有62个视角。为了产生运动信息,产生第一张图片的时候会随机产生一个位移变量,与背景图片与椅子位移相关, 再通过这种位移变量产生第二个图片和光流。每一个图像对的这些变量,包括,椅子的类型,数量,大小,和产生的位置都是随机的,位移向量也是随机的产生的。尽管flying-chair数据集已经很大,但是为了避免过拟合,而采用了data Augmentation的方法,让数据扩大,样式变多,不单调,防止分类变得严格。

几乎所有现有的数据集都仅限于大型刚体运动或准刚性运动,并处理自然图像。因此,必须开发一个由变形斑点图像组成的适当的数据集

为了估计非常小的亚像素位移(大约 10-2 像素),提出了一个名为 Speckle dataset1 的新数据集。本研究开发了两个版本。 第一个,参考作为下面的 Speckle 数据集 1.0,包含 36,663 对帧(这个数字在下面是合理的)及其相应的子像素位移字段

数据集生成的步骤分为3步,第一步是生成参考散斑框架

 

定义位移 我们采用了以下策略,以便 生成一套丰富的位移场。第一步是将每个参考帧分割成8×8像素的相邻方形区域。位于 位于这些区域四角的像素受到随机位移的影响。第二步是对所有这些像素之间的位移进行线性插值,以得到 所有这些像素之间的位移,以获得每个正方形区域剩余像素的位移。由于我们在这里对估计子像素的位移感兴趣。强加的随机位移位于-1+1像素之间。此外,位于边界上的像素的位移被设置为零,以限制由于这些区域的信息缺失而产生的误差。上图中的图2-b-c显示了典型的随机位移。用来变形参考斑点图像以获得其变形的对应物。

生成变形帧   363 个参考帧中的每一个都变形 101 次,每次通过生成一个新的随机位移场。 363 × 100 = 36, 300 对帧用于形成训练网络的数据集。 363 个其他对用于验证目的,以评估网络在训练后渲染位移场的能力。与处理光流估计的其他研究一样,这种能力是通过计算所谓的平均端点误差 (AEE) 来量化的。AEE 是预测流向量和地面实况之间的欧几里得距离,在所有像素上取平均值。

(ue, ve) (ug, vg) 分别是在每个像素坐标 (i, j) 处定义的估计光流和真实值。 K L 是计算 AEE 值的区域的尺寸

生成完数据集后,我们可以进行第三步,测试四个已存在的网络并进行调整,调整策略如下图:

 

如同在任何有监督的学习任务中一样,权重是通过在由观察值组成的数据集上训练CNN来设置的,也就是一对输入和相应的预期输出。更确切地说,训练,在这里被称为深度学习,包括最小化权重。误差成本是通过所谓的损失函数来衡量的。实现训练过程的优化方法在大多数情况下是小批量随机梯度下降(SGD)算法的变种:从整个数据集中反复随机抽取小套观测值,得到所谓的小批量,然后对CNN的权重进行轻微更新,以使每个小批量的损失之和减少。在每次迭代中,从小型批次输入中计算出的CNN的输出应该会更接近预期的输出。权重更新的幅度与SGD算法的步长成正比,在机器学习应用中称为学习率,本文中表示为𝜆。这个参数必须谨慎设置。每一次对数据集的完整传递被称为一个epoch(历时)。对CNN进行完整的训练需要许多次的epoch

前面提到的AEE(平均端点误差)被用来评估不同网络的微调结果。

3 给出了在Speckle 1.0数据集上训练的每个网络的平均AEE值。主要结论是,FlowNetS的平均AEE值要低得多。这表明使用该网络可以获得更准确的估计结果,当然最主要的结论是AAE值最小也只等于 0.1像素,这太高了,因为预计分辨率为0.01像素的 的分辨率才能达到与DIC相似的性能。所以微调是不够的,这些预先存在的网络必须被改进

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值