数字图像相关系列笔记:DuoDIC

news2025/1/15 19:41:47

文章目录

  • 概述
  • Algorithms and workflow
    • Step 1: Stereo camera calibration
    • Step 2: Image cross-correlation (2D-DIC)
    • Step 3: 3D reconstruction
    • Step 4: Post processing
  • Validation using a rigid body motion (RBM) test
  • Limitations
  • 遗留问题
  • 参考资料
  • 附录

概述

3D-DIC is a non-contact optical-numerical technique for measuring the 3D shape and full-field displacement, deformation and strain, from stereo digital images of the surface of an object.


The MATLAB package is composed of four main scripts:

  1. stereo camera calibration;
  2. image cross-correlation (2D-DIC);
  3. 3D reconstruction;
  4. post-processing.

Algorithms and workflow

Figure 1 outlines the workflow of the 3D-DIC procedure.

在这里插入图片描述
The experimental setup used for taking these images consisted of
two machine-vision cameras (BFS-U3-51S5M-C, FLIR, USA), each equipped with a 5.0 MP
Sony IMX250 monochrome sensor and a 25 mm lens (Fujinon HF25SA-1, Fujifilm Corporation,
Japan).

相机由硬件触发进行同步: The cameras were synchronously hardware-triggered using a MatchID Triggerbox (MatchID, Belgium).


A rubber dog-bone specimen(长得像狗骨头一样的橡胶标本), cut out of a bicycle tube, was mounted on
an optical table (Thorlabs, USA), such that its left end was fixed and its right end was moved
to the right in 19 steps with 1 mm increments, such that a total of 20 images were taken from
each camera (one reference state and 19 deformed states).

狗骨头橡胶标本示意图:
在这里插入图片描述

Step 1: Stereo camera calibration

使用 MathWorks Computer Vision Toolbox进行相机标定。

  • 脚本的输入是:
    multiple simultaneous images of a checkerboard target captured by two cameras in a stereo pair.

The intrinsic parameters include focal lengths, principal point, and up to 6 distortion coefficients.

The extrinsic camera parameters comprise the 3D position and orientation of the second camera with respect to the first. Furthermore, the computed camera parameters are used for computing the reprojection errors, which represent the distance between the reprojected and the detected pattern points, and comprise the accuracy of the estimated camera parameters.
在这里插入图片描述
Figure 2: The top panels show the detected and reprojected points for a pair of stereo images. The bottom left panel shows the mean reprojection error for all pairs of images, and the bottom right panel shows the estimated positions and orientations of the cameras with respect to the checkerboard pattern images.

Step 2: Image cross-correlation (2D-DIC)

脚本输入: multiple images of a speckled test object captured simultaneously by the stereo camera pair.
The first image pair defines the reference configuration, to which the rest of the image are compared.


Ncorr toolbox is utilized in this step to detect a dense grid of matching points on all images.
Although Ncorr was created as a 2D-DIC toolbox, typically receiving images from a single camera, DuoDIC utilizes it to detect matching points on images taken from two different views.
在这里插入图片描述
The grid of corresponding matched points are plotted as crosses overlaid on each image, with the colors representing their correlation coefficient (CC) with the reference image (camera 1, state 1, top left panel). 【问: CC为什么这么小?】

Step 3: 3D reconstruction

  1. The set of matching points on each pair of stereo images are first being undistorted using the intrinsic camera parameters of each camera.
  2. Transform the image points into 3D world points using the stereo camera parameters

In addition, the reprojection errors are obtained for each point【注意,每一个点的重投影误差都有】, by calculating the distances (in pixels) between the detected and the reprojected points.

在这里插入图片描述

Step 4: Post processing

3D coordinates are used to derive the full-field displacement (for each point), deformation (for each triangular element), and strain maps (for each triangular element).


For each triangular element, the position vectors of its vertices are used to calculate the deformation gradient tensor F \bf{F} F, from which the the right and left Cuchy-Green deformation tensors ( C = F T F \bf{C} = \bf{F}^T\bf{F} C=FTF and B = F F T \bf{B} = \bf{F}\bf{F}^T B=FFT, respectively) are derived, as well as the Green-Lagrangian and Eulerian-Almansi strain tensors ( E = 0.5 ( C − I ) \bf{E} = 0.5(C - I) E=0.5(CI) and e = 0.5 ( I − B − 1 ) \bf{e} = 0.5(\bf{I} - \bf{B}^{-1}) e=0.5(IB1).


The principal components and directions of these tensors are computed for deriving the principal stretches λ i \lambda_{i} λi and strains E i E_i Ei and e i e_i ei, as well as the equivalent (Von-Mises) strain, maximal shear strain, and the
area change.

在这里插入图片描述在这里插入图片描述

Validation using a rigid body motion (RBM) test

Rigid body motion experiment: a speckled cylinder was translated using a motorized linear translation stage (PT1/M-Z8, Thorlabs, USA), in 15 increments of 0.2mm.

Evaluate: By comparing the displacements measured using the translation stage with those computed using DuoDIC, the displacement errors were quantified, as:
在这里插入图片描述
In addition, since strain should vanish for any RBM, any non-zero strains represent measurement errors. Figure 8 plots the strains measured during the RBM translations:

在这里插入图片描述

The results indicate that for this experimental setup, the translations were accurate to within ( 1.3 ± 1.1 ) . 1 0 − 3 (1. 3 \pm 1.1). 10^{-3} (1.3±1.1).103 mm and the strains errors were ( 3.4 ± 2.3 ) . 1 0 − 4 (3.4 \pm 2.3). 10^{-4} (3.4±2.3).104.

Limitations

  1. The number and/or total size of images that can be processed together is limited by Ncorr’s memory limitation;
  2. Ncorr’s seed placement process might fail to correctly place the seeds in cases of large deformation. especially if, in addition, the stereo angle between the cameras is large.

遗留问题

  1. 为什么2D-DIC中的CC数值这么小?
  2. 为什么窗口会开的这么大?【潘兵老师的论文】
  3. Cosserat point element method?描述变形?
  4. right and left Cuchy-Green deformation tensors ?

参考资料

https://joss.theoj.org/papers/10.21105/joss.04279

附录

  1. strain gages: 应变计
  2. extensometers: 伸长计
  3. proprietary: 专有
  4. experimental mechanics: 实验力学
  5. The principal components: 主分量
  6. metrological performance: 计量性能
  • a main advantages of an open-source software is the ability to compare results and performance, and to cross-validate the implementation of different algorithms and approaches.

  • For each triangular element, the position vectors of its vertices are used to calculate the deformation gradient tensor F \bf{F} F, from which the the right and left Cuchy-Green deformation tensors ( C = F T F \bf{C} = \bf{F}^T\bf{F} C=FTF and B = F F T \bf{B} = \bf{F}\bf{F}^T B=FFT, respectively) are derived, as well as the Green-Lagrangian and Eulerian-Almansi strain tensors ( E = 0.5 ( C − I ) \bf{E} = 0.5(C - I) E=0.5(CI) and e = 0.5 ( I − B − 1 ) \bf{e} = 0.5(\bf{I} - \bf{B}^{-1}) e=0.5(IB1). 【from which的语法值得学习】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++、数据结构】AVL树 模拟实现

文章目录📖 前言1. AVL树的概念1.1 二叉搜索树的缺点:1.2 AVL树的引入:1.2 AVL树的性质:2. AVL树的模拟实现2.1 AVL树结点的定义:2.2 AVL树的插入:(重点)2.2.1 插入结点后平衡因子的…

【前端】Vue项目:旅游App-(14)home+search:搜索按钮及其路由跳转、分组数据的网络请求request、数据存储store和动态显示

文章目录目标过程与代码搜索部分:搜索按钮点击搜索按钮路由跳转并传数据search页面隐藏TabBar分类部分:数据请求:request、store显示数据分类的样式总代码修改或添加的文件common.cssrouter的index.jsservice的home.jsstore的home.jshome-cat…

Windows系统下 pyinstaller将python文件打包成可执行文件exe的方法

使用环境为Windows10系统(64),Python版本为3.11.1。 1.将pip加入环境变量 (1)右击此电脑点击"属性",点击高级系统设置, (2)选择最下面的环境变量&#xff1b…

C++之继承

文章目录一、继承的基本理解1.继承的概念2.继承的定义二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、复杂的菱形继承及菱形虚拟继承1.继承关系2.菱形继承存在数据冗余和二义性的问题3.虚拟继承可以解决菱形继承…

前端优化原理篇(生命周期)

1, 性能评估模型 对于前端的性能的评判 主要是以下四个方面: 2,性能测量工具 1,浏览器的performarce功能 指路可看链接 2,lighthouse工具 3,生命周期 网站 页面的整个生命周期,通俗的讲&a…

移动端App 页面秒开优化总结

前言 App优化,是一个工作、面试或KPI都绕不开的话题,如何让用户使用流畅呢?今天谨以此篇文章总结一下过去两个月我在工作中的优化事项到底有那些,优化方面还算小白,有不对的地方还望指出海涵, 该文章主要通过讲述Nati…

CSS入门三、盒子模型

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

力扣sql基础篇(四)

力扣sql基础篇(四) 1 每位学生的最高成绩 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # rank()函数间隔排序 若前两个字段值相同且都是并列的第一名,那么后面的一个非连续数字就是第三名 如 1 1 3 SELECT e.student_id,e.course_id,e.grade FROM…

ISO12233分辨率测试卡分类及功能说明

概述相机图像分辨率的测试,依据的标准是ISO 12233. 目前分为 ISO12233:2000 ,ISO12233:4000, ISO12233:2014.目前很多厂家已经开始使用新的ISO标准,淘汰了十几年前的“落伍”标准,而更新成了ISO12233:2014。新的分辨率测试标板是由…

代码随想录算法训练营第四期第五十六天 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

583. 两个字符串的删除操作 # 给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。 # 每步可以删除任意一个字符串中的一个字符。 # # 示例 1: # 输入: word1 "sea", word2 "eat" # 输出: 2 # 解释: 第一步将 &…

安顺控股冲刺A股上市:拟募资6.5亿元,九成收入来自天然气销售

近日,安顺控股股份有限公司(下称“安顺控股”)递交招股书,准备在上海证券交易所主板上市。本次冲刺上市,安顺控股计划募资6.50亿元,将用于溧阳市城镇燃气高压管网二期项目、溧阳市美丽乡村天然气利用项目一…

openstack私有网络

1.前情回顾 目前环境使用的是Provider网络现在需要将其修改为Self-service网络,类似于公有云的vpc网络 2.流程 1.控制节点配置修改 1.修改/etc/neutron/neutron.conf的[DEFAULT]区域 # 原来的配置 # core_plugin ml2 # service_plugins # # 修改后的配置 c…

GitHub Enterprise Server 存在授权不当漏洞(CVE-2022-46258)

漏洞描述 GitHub Enterprise Server 是一个面向开源及私有软件项目的托管平台,GitHub scope 用于限制 OAuth token 的访问范围。 在 GitHub Enterprise Server 中,除非提交位于同一存储库的不同分支中且和 Workflow files 内容相同的 Workflow 文件 &a…

【学习】Reptile、梯度下降的LSTM、Siamese Network、原型网络、匹配网络、关系网络

文章目录ReptileRNNLSTM梯度下降的LSTM基于度量的方法Siamese NetworkN-way Few/One-shot Learning原型网络匹配网络关系网络虚拟数据的少量学习Train Test as RNNReptile RNN LSTM RNN的变形 加入门 梯度下降的LSTM GD看似像简化的LSTM 可以让机器自动学习这些zf和zi …

sql的where使用运算后的列后报错

sql的where语句中如果使用了经过运算处理后的某个列的话会报错,例如:上面红框部分就是经过运算后的列,但这个语法是错误的,但如果想通过运算后的某个列来筛选条件,应该怎么办?可以使用嵌套查询:…

SpringBoot实践(三十八):自定义spring-boot-starter

目录 自动配置原理 自定义starter包 导入springboot的自动配置依赖 测试业务代码 spring.factories配置 ​编辑 本地包上传 使用自定义starter依赖 测试和配置 自动配置原理 基于springBoot的starter机制能够让我们在使用外部包时候非常方便,只需要引入该组…

PCB学习笔记—3D PCB封装的创建

放置3D元件体:常规的、自定义、圆柱形、球体。第一个是厚度,第二个是焊盘和芯片的悬浮高度。一般电阻的高度设置成0.6mm就够了,电容1.25mm,悬浮高度为0。按键:放置3D元件体,Tab键,选择常规&…

快过年静不下心?不如刷刷《剑指offer》静一静(第七天)

跟着博主一起刷题 这里使用的是题库: https://leetcode.cn/problem-list/xb9nqhhg/?page1 目录剑指 Offer 49. 丑数剑指 Offer 51. 数组中的逆序对剑指 Offer 55 - I. 二叉树的深度剑指 Offer 49. 丑数 剑指 Offer 49. 丑数 我一开始的思路是,把数字1~无…

机器学习HW15元学习

文章目录一、简介Task: Few-shot Classification实验1、simple2、medium3、strong4、boss三、代码模型构建准备工作一、简介 任务对象是Omniglot数据集上的few-shot classification任务,内容是利用元学习找到好的初始化参数。 Task: Few-shot Classification The…

在VSCode中使用Compaq Visual Fortran编译运行Frotran程序

本片文章主要是为了使用VSCode编译运行带QuickWin的老版本Fortran代码。 一、准备工作 安装VSCode和Compaq Visual Fortran6.6。 二、配置Fortran工程 用VSCode打开保存有Frotran代码的文件夹 建立.vscode文件夹,建立launch.json和task.json文件,分…