[Halcon3D] 主流的3D光学视觉方案及原理

news2024/10/1 23:38:32
  • 📢博客主页:https://loewen.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 丶布布原创,首发于 CSDN,转载注明出处🙉
  • 📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨

文章预览:

      • 一. 前言
      • 二. 主流3D成像方法汇总
        • 1、双目立体视觉法(Stereo Vision)
        • 2、激光三角传感器原理
        • 3、结构光法(Structured Light)
        • 4、飞行时间法(Time of Flight)


一. 前言

传统工业机器视觉中,3D视觉与2D视觉技术的最大区别在于处理的数据类型不同:

  • 2D视觉领域中,主要是处理二维(X,Y)平面图像里的信息(像素的灰度值)—— 像素灰度处理
  • 3D视觉领域中,核心是对3D传感器采集到的三维(X,Y,Z点云数据进行处理,可对物体进行立体测量,获取物体平面度、高度等信息 —— 点云数据处理

二. 主流3D成像方法汇总

目前市面上的测距方法主要分为两个大类:

  1. 被动测量类:单目视觉、双目视觉和多目视觉;
  2. 主动测量类:结构光法、TOF飞行时间法,激光三角测距法;

一般工业领域都是普遍采用激光三角测距法,因为激光三角测距法的精度比较高,抗干扰能力也很强,此外结构光+双目/单目的方式也比较常见。

1、双目立体视觉法(Stereo Vision)

双目立体视觉法的技术原理是通过从两个视点观察同一物体,从而来获得同一物体在不同视角下的图像。通过三角测量原理来计算图像像素间的位置偏差(视差)来获取物体的三维图像,比如把一只手指放在鼻尖前方,左右眼看到手指会有一个错位的效果,这个位置差被称为视差。相机所要拍摄的物体离相机越近,视差越大,离相机越远,视差就越小。由此可以得出,当两个相机的位置等条件已知时,就可以通过计算相似三角形的原理来得出从物体到相机的距离。

在这里插入图片描述


2、激光三角传感器原理

3D激光相机利用激光三角反射原理生成点云数据,它由激光发射器镜头以及感光芯片,如图所示:

在这里插入图片描述

3D相机中,取代光源的是激光发射器,通过复杂的光学系统设计,激光发射器发出一束激光照射到被测物体表面,反射光经过光学透镜组在相机的感光元件表面形成光斑,不同高度的表面反射形成的光斑位置各不相同。如下图所示,当被检测表面偏高时,测量激光光斑位置会右移;反之,如果被检测表面偏低时,测量激光光斑位置会左移。

在这里插入图片描述
而我们实际需要求的就是物体表面①②之间高度差h,具体计算如下所示(以直射式为例):

在这里插入图片描述
已知激光和相机之间的夹角θ、像高h’(通过处理图像获得)、焦距 fOH = hcosθAH = hsinθA’JO’AJH为相似三角形,则可通过公式计算高度h
f a + h c o s θ = h ’ a + h s i n θ \frac{f}{a+hcosθ} = \frac{h’}{a+hsinθ} a+hcosθf=a+hsinθh

三维(X,Y,Z)点云数据的获取:

一般我们把激光线方向称为X方向,也就是激光照射出来的那条线定义为X轴,高度为Z方向,通过一次静态拍照,我们可以得到XZ两个方向的数据,Y方向可以通过移动相机或者移动物体,使相机持续不断的拍照,就形成了连续的Y方向数据,最后组合在一起,就是我们所需要的3D点云数据。
在这里插入图片描述
注:不同厂家的产品,X/Y方向可能是相反的。

3D激光相机的手动搭建流程:

相机内外参标定(同2D标定)—— 激光器发射的光平面和相机之间的位置关系标定 —— 移动标定(激光器不一定垂直发射到平面的,需要校正)


3、结构光法(Structured Light)

结构光(Structured light):通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。根据编码图案不同一般有条纹结构光—enshape ,编码结构光—Mantis Vision, Realsense(F200), 散斑结构光–apple(primesense)

结构光法利用光学三角测量原理,分为单目结构光和双目结构光,如图所示以双目结构光为例:

在这里插入图片描述

特定波长的Laser发出的结构光照射在物体表面,其反射的光线被带滤波的camera相机接收,滤波片保证只有该波长的光线能为camera所接受。芯片对接收到的光斑图像进行运算,得出物体的深度数据。


4、飞行时间法(Time of Flight)

TOF是Time of Flight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离,从而获取物体三维轮廓信息。

在这里插入图片描述
TOF法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。

TOF深度相机对时间测量的精度要求较高,即使采用最高精度的电子元器件,也很难达到毫米级的精度。因此,在近距离测量领域,尤其是1m范围内,TOF深度相机的精度与其他深度相机相比还具有较大的差距,这限制它在近距离高精度领域的应用,具体应用场景参考:3D视觉传感技术。


下雨天,最惬意的事莫过于躺在床上静静听雨,雨中入眠,连梦里也长出青苔。

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

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

相关文章

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法

一种高效的WS2812B控制算法——基于STM32G431CBU6的SPIDMA 1.WS2812B介绍 ws2812b是一款集控制电路与发光电路于一体的智能外控LED光源,采用单线归0码协议,每个像素点的三基色颜色可实现256级亮度显示。速率能达到1024pixel 30fps / s,故被…

什么是可信时间戳?可信时间戳电子取证有效吗?

电子数据具有脆弱性、易变性、隐蔽性、载体多样性等特点,容易被复制、删除、篡改且难以被发现。因此,电子数据在实际的司法认定过程中,很难准确鉴定其生成的时间以及内容的真实性、完整性。可信时间戳是一种公认的技术手段,可为电…

拉格朗日插值定理

拉格朗日插值法是一种函数逼近方法,通过已知的数据点构建一个多项式函数,该函数能够恰好经过这些数据点。它可以用于插值,即根据给定的离散数据点推断出未知函数在其它点上的取值。拉格朗日插值法的优点是计算简单,容易理解和实现…

从初级软件测试,到高级软件测试的必经之路

作为软件质量控制中的重要一环,软件测试工程师基本处于"双高"地位,即:地位高、待遇高,而随着软件测试行业等级越来越专业化,软件测试工程师也随即被分为不同的等级,即:初级测试工程师…

《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解

《SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection》论文阅读理解 领域:用于医学图像的异常检测 论文地址:SQUID: Deep Feature In-Painting for Unsupervised Anomaly Detection 目录 《SQUID: Deep Feature In-Painting for Un…

5月19号软件资讯更新合集.....

ohUrlShortener 短链接系统 v2.0 发布 | 指定「打开方式」功能支持 距上一次更新版本差不多两个月,ohUrlShortener 短链接系统与昨天晚上正式发布 v2.0 版本 这个版本主要的变化: 启动性能优化:在短链接数量持续上升之后,启动系…

Halcon 算子 select_shape_std 和 select_shape_xld区别

文章目录 1 select_shape_std 算子介绍2 select_shape_xld算子介绍3 select_shape_std 和 select_shape_xld区别4 Halcon 算子的特征 Features 列表介绍1 select_shape_std 算子介绍 select_shape_std (Operator) Name select_shape_std — Select regions of a given shape.Si…

JavaWeb14 - 数据交换 - 01 - JSON

1. 概述 1.1 官方文档 Json 在线文档:https://www.w3school.com.cn/js/js_json_intro.asp 1.2 JSON 介绍 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式【老师解读】 JSON 独立于语言 …

Cloud Studio 内核升级之专注体验

前言 Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能使用。云端开发体验与本地几乎一样,上手门槛更低&#…

使用Python实现Rest API指南

在今天的数字化世界中,数据的获取、交换和使用已经成为几乎所有行业的核心部分。无论您正在为一个大型公司设计复杂的软件系统,还是只是为了个人项目尝试获得一些公开的数据,理解和利 用API——尤其是RESTful API——都是一项至关重要的技术。…

一道php反序列化题的pop链构造

题目地址为&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场 点击进入如下题 题目代码如下&#xff0c;其中像套娃一样&#xff0c;多次对魔术方法进行调用&#xff0c;挺烧脑。根据题目&#xff0c;显然目标是echo $flag <?php //flag is in flag.php erro…

Flask send_file函数导致的绝对路径遍历

平时接触到的 python 项目并不多&#xff0c;对 python 的代码审计更是没有接触&#xff0c;偶然朋友发来了一个漏洞 Flask send_file函数导致的绝对路径遍历 &#xff0c;感觉打开了新世界的大门&#xff0c;于是就以一个初学者的角度&#xff0c;进行复现分析一下。详情也可以…

算法:回溯算法套路总结

目录 1、回溯算法最初的模板 2、收获节点包括剪枝、去重等操作需要在模板上加上什么东西 2.1 收获的是否为叶子节点 2.1.1 收获的是叶子节点的数据 2.1.2 收获的节点不是叶子节点的数据 2.2 能否重复选取数据 2.2.1 不能重复选取数据 2.2.2 可以重复选取数据 2.3 剪枝…

Yolov8涨点技巧:BIFPN,加权双向特征金字塔网络,对小目标涨点显著

论文:https://arxiv.org/abs/1911.09070 🏆🏆🏆🏆🏆🏆Yolov8魔术师🏆🏆🏆🏆🏆🏆 ✨✨✨魔改网络、复现前沿论文,组合优化创新

[pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列

前文再续&#xff0c;书接上一回。 上一回我们解析了如何通过pgrx编写srf&#xff0c;返回一个TableIterator&#xff0c;但是在具体应用的时候&#xff0c;我们还是针对一条记录返回了一行数据&#xff08;多个字段的一行&#xff0c;也还是一行&#xff09;&#xff0c;并没…

麒麟V10系统arm版安装g++时,发现的问题及解决方法

在麒麟V10系统&#xff0c;安装Qt时&#xff0c;发现没有g&#xff0c;打算安装一个 1. 用命令直接安装(需要连网) sudo apt-get install g 运行后出现报错&#xff1a;暂不能解析域名 若出现其他问题&#xff1a;https://www.5axxw.com/questions/simple/g7yvfq 2. 为解决报…

朝天椒USB Server登场!EastFax USB Server品牌重塑正式启动

EastFax USB Server是复园科技旗下的第三款toB技术服务产品&#xff0c;诞生于2019年&#xff0c;旨在帮助企业实现加密狗、Ukey、网银U盾等USB的远程调用&#xff0c;拔除卡在数字化转型齿轮里的“USB无法上云”的小石子。 EastFax USB Server的名称直接来自复园科技在十八年…

AIGC 综述 2023:A History of Generative AI from GAN to ChatGPT

GAI&#xff1a;发展历史&#xff0c;核心技术&#xff0c;应用领域以及未来发展 摘要1、引言1.1、主要贡献1.2、组织结构 2、生成式AI的发展历史2.1、NLP领域的发展2.2、CV领域的发展2.3、CV与NLP的融合 3、AIGC的核心技术基础3.1、经典基础模型3.1.1、Transformer3.1.2、Pre-…

面试十分钟不到就被赶出来了,问的实在是太变态了...

从外包出来&#xff0c;没想到算法死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内…

8年开发经验,浅谈 API 管理

随着信息化飞速增长的还有各信息系统中的应用接口&#xff08;API&#xff09;&#xff0c;API作为信息系统内部及不同信息系统之间进行数据传输的渠道&#xff0c;其数量随着软件系统的不断庞大而呈指数型增长&#xff0c;如何管理这些API已经在业界变得越来越重要&#xff0c…