友思特分享 | OCT成像技术:突破传统限制,掌握内部缺陷图像,轻松实现深度检测

本文主要是介绍友思特分享 | OCT成像技术:突破传统限制,掌握内部缺陷图像,轻松实现深度检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OCT:光学相干层析成像技术

光学相干层析成像技术(OCT)在上世纪90年代即被开发用于生物学的无创断层扫描成像。OCT使用低相干干涉术,以类似于超声脉冲回波成像的方式,从内部组织微结构的光学散射信号生成截面二维图像。OCT具有微米级的纵向和横向空间分辨率,可以检测到小至入射光功率~10^-10的反射信号。对透明、半透明、浑浊材料内部可以有很好的细节检测能力,对于不可穿透材质也可轻松实现表面轮廓扫描。针对表面以及内部缺陷识别应用来说,是对于传统相机视觉技术的有力补充。

图片

一般的光学相干断层扫描(OCT)成像系统示意图如上所示。来自低相干光源的光被引导到一个 2 × 2 的光纤耦合器,形成一个简单的迈克尔逊干涉仪结构。

假设耦合器将入射光功率均匀地分成样品臂和参考臂,参考光纤的光入射到参考延迟线/反射镜,并定向返回同一光纤。样品光纤的光入射到扫描仪上,扫描仪将光束聚焦在样品上,并通过振镜结构在一个或两个横向方向上使光斑进行扫描,来自样品的后向散射或直接反射的光通过相同的光学扫描系统重新定向返回到样品臂光纤中,在光纤耦合器中与返回的参考臂光混合,并在光电接收器或检测器形成干涉信号,这个信号经过处理后即可反映深度轴向信息,即A-scan信号;通过样品臂振镜或者机械移动扫描点即可得到一组A-scan信号组成的截面二维图像,称为B-scan信号,同样的,如果在x、y两个方向进行扫描即可得到体扫描3D图像,也称为C-scan

图片

如果放在机器视觉领域,我们可以抽象地理解OCT技术为一种自带光源的点探测相机,结合不同规格扫描振镜实现不同的视野与扫描方式(线扫、面扫),而其内部干涉光路则定义了它的“焦距”,因为只有在满足干涉条件的位置才能形成清晰的干涉信号。

OCT根据原理还可分成时域(TD)、谱域(SD)、扫频域(SS)OCT技术。对于谱域OCT来说,光源常使用红外波段的宽带光源,其探测器为线阵CMOS或者InGaAs。

这里的光源带宽影响扫描深度与分辨率,硬件处理模块通过快速傅里叶变换计算干涉项,一次扫描即可获得单点全深度信息,A-scan速率一般在几十kHz量级,意味着即使512像素以上大小的需要实时检测切面B-scan图像也可以达到几十帧。在SS-OCT技术中还可以更快。

图片

OCT与传统检测技术如超声、共聚焦显微镜、CT等技术的分辨率和成像深度比较如上图。OCT的轴向图像分辨率范围为1 ~ 15 um,由光源的相干长度决定。在大多数生物组织/半透明工件中,由于光散射的衰减,成像深度被限制在2-3毫米,而在空气中扫描表面轮廓的场景则可以实现约6-10mm的成像深度,OCT技术填补了毫米成像深度和微米成像分辨率尺度间成像领域的空白,且技术仍在迭代更新。在一些科研项目中,也有实现米级成像范围的远距离OCT(如下图,来自麻省理工论文)。

图片

从这项技术发明以来这近三十年期间,因其具有非接触、非侵入、无损伤/辐射、成像分辨率高、成像速度快、灵敏度高、实时性好、三维成像、易与内窥镜技术相结合、操作简单等优点,从生物医疗开始已拓展到越来越多的无损检测研究、工业生产、以及食品药品等应用领域。

OCT的工业应用

OCT可用于对塑料聚合物、材料涂层和电路元件等“浑浊”物体,亦或是玻璃镜片、胶带等透明材料的表面形貌和内部结构进行成像,以验证制造工艺并评估可能存在的缺陷。

01 螺纹凹槽、螺距测量等

OCT相比传统相机方案的一大优势之一是干涉图像携带光程信息,可以经过校准后轻松从图像获得实际深度、厚度、长宽等计量数据。

图片

图片

02 电路板轮廓

下图显示了从印刷电路板获得的三维OCT数据,可获得电路元件的布局和截面。在使用特定波长光源时也可以对多层板内部结构无损成像。

图片

03 MEMS振镜器件

MEMS振镜器件在1050 nm波长下的OCT成像与截面扫描。此外对于Si半导体器件,OCT常用的1310nm波长设计可以实现对硅材料的穿透,可以进行实时截面测量,相比红外相机的方案来说更加精准,信息更加丰富。

图片

04 导线涂层

下图为使用 OQ Labscope 系列OCT成像设备对涂层厚度进行精密测量与成像:

图片

友思特OCT成像系统

图片

友思特提供的Lumedica-OQ LabScope系列便携式小巧紧凑的OCT成像系统采用了独创的光路设计与工艺技术路线,并通过算法克服了由非制冷SLD光源的强度波动引起的成像伪影,使用高像素CMOS线阵列设计了一个特制环形光谱仪。并采用了3D打印制造外壳,整个系统安装在一个蓝色金属板外壳中,外壳大小与鞋盒差不多,还在其中集成了微型PC计算机。

OCT成像技术的丰富应用

01 实时截面成像

在很多质量检测需求中,传统手段需要借助切割等方式才能获得截面图像,或者需要经过长时间3维计算处理得到截面,而OQ Labscope系列成像系统可以直接通过高速振镜系统获得高达22帧以上的实时双轴x、y截面图像,大大提高了检测效率。

图片

02 多种扫描手段

拥有圆环扫描、圆径向扫描、长程扫描、逐行扫描、体扫面等5种扫描模式以适应不同的样品检测需求。

03 两种测量模式

(1)鼠标实时尺度分析,可对扫描图像进行任意尺度拉取刻线,实现细节测量。

图片

(2)自动层厚工具,可自动分析均匀截面平均厚度,分段厚度等信息。

图片

04 快速3D渲染与截面分析

可以决定扫描密度,A-scan/B-scan范围和数量,每个B-scan可以配置16、32、64、128、512个A-scan,并可以拖动矢量面分析任意切面。

图片

OCT技术-值得期待的未来

OCT成像技术最大的特点是足够灵活,传感头可以比相机镜头还小,并且可以通过几米长光纤线缆连接,适用各种复杂工业场景,也可以与多种同类视觉技术进行同轴光路集成,实现多模态成像,比如现在已经有比较成熟的激光加工熔深在线监测方案。

可以设想,在未来会有更多OCT集成技术,补足传统视觉技术限制,应用在更多自动化检测设备中。

更多OCT技术方案应用案例,尽在12月21日14点 “见微知著 唤醒视觉:机器视觉与成像应用解决方案”Viewsitec系列云课堂,欢迎您关注微信公众号【友思特 机器视觉与光电】,或点击预约课程:https://olezi.xet.tech/s/34MFfr

这篇关于友思特分享 | OCT成像技术:突破传统限制,掌握内部缺陷图像,轻松实现深度检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/516783

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、