当前位置: 首页 > news >正文

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备,下面分别从测距原理以及适用场景来进行介绍。

一、三角测距法

三角测距原理

就是利用三角形的几何关系来测量物体的距离。想象一下,你站在一个地方,你的朋友站在另一个地方,你们两个都看着同一个物体,但是你们与物体的距离不同。现在,我们可以通过测量你们两个的角度以及你们之间的距离差,来计算出你们与物体的距离。

具体做法是这样的:我们先测量你们两个的角度,也就是你们分别从自己的位置看物体时所测量到的夹角。然后,我们再测量你们之间的距离差,也就是你们两个位置之间的直线距离。利用这些信息,我们可以运用一些公式,算出你们与物体之间的距离。

基于三角测距原理的仪器

双目相机和结构光相机都是利用三角测距原理进行距离测量的。前者通过测量视差,而后者通过光斑形变来计算物体到相机的距离。

双目相机

通过两个摄像头(左右眼)同时拍摄同一场景,利用视差(左右视图中对应点之间的像素位移)来计算物体距离。根据视差和相机的内外参数,可以使用三角测量原理计算出物体到相机的距离。这种方法适用于近距离和中距离的测量,能够提供较高的深度精度和分辨率。

结构光相机

使用投影器投射出编码的光条或光斑(一般是红外光),并通过相机捕捉光斑在物体表面的畸变,然后根据畸变信息进行距离计算。通过计算光斑的形变,可以获得物体表面的深度图像。这种方法也属于三角测距原理,通过解析光斑的形变来计算物体到相机的距离。结构光相机适用于中距离和远距离的测量,能够提供较高的测量精度和体积重建能力。

需要注意的是:

双目相机由于依靠左右相机视图的视差计算获得距离信息,会十分消耗资源,计算可能比较耗时。且对缺乏纹理或不具有明显颜色对比的场景时(比如墙壁),光照不均匀时,可能效果不是很好。

结构光相机由于会主动投影编码的光条或光斑,因此即使缺乏纹理的场景也有较好的测距效果,但是结构光相机可能不适用于对快速移动的物体进行测距

二、飞行时间法

飞行时间法测距原理

在飞行时间测距中,首先发送一个信号(可以是声波、激光脉冲、电磁波等)从测距器发射到目标物体上。这个信号会在目标物体上发生反射、散射或吸收。被反射或散射回来的信号再次被接收器接收。接收器接收到信号后,会记录下信号从发射到接收的时间差,即飞行时间。根据信号传播速度已知的特性,将测得的飞行时间与信号传播速度相乘,就可以得到目标物体与测距器之间的距离。

基于激光测距的仪器

激光雷达(Lidar)

利用激光束发射出去并接收返回的激光信号来获得目标物体的距离信息。激光雷达具有高精度、高速度和长测距等特点,因此在无人驾驶、机器人导航、环境感知等领域得到了广泛应用。

激光雷达主要由激光发射器、接收器、扫描机构和数据处理模块等组成。发射器会发射一个短脉冲的激光束,然后激光束会在目标物体上反射、散射或吸收部分能量,形成返回的激光信号。接收器会接收这些返回的激光信号,并记录下发射和接收之间的时间差(也就是飞行时间)。

为了获取更多的目标物体信息,激光雷达会利用扫描机构进行扫描,可以是旋转式的机构,也可以是多个激光束之间的切换。通过将激光束扫描到不同的方向上,激光雷达可以获取周围环境中的多个点的距离信息。扫描完成后,激光雷达会将所有的测距数据传输到数据处理模块进行处理和分析。

激光雷达的测距精度可以达到亚厘米级别,适用于远距离测量。它能够快速地获取周围环境中的三维点云数据,用于构建地图、障碍物检测、目标识别和姿态估计等应用。激光雷达还具有较高的抗干扰能力,能够在各种光照条件和恶劣环境中稳定工作。

毫米波雷达

毫米波雷达(Millimeter Wave Radar)是一种利用毫米波信号进行测距和目标检测的雷达系统。毫米波是高频电磁波,在波长为1至10毫米之间,频率为30至300 GHz之间。毫米波雷达主要由天线系统、发射器、接收器和信号处理模块等组成。发射器会发射一系列连续或脉冲的毫米波信号,然后这些信号会被目标物体所反射或散射,并被接收器接收回来。

毫米波雷达在目标检测和跟踪上有着广泛的应用,它能够提供实时的距离、速度和方位角等信息。相比于光学传感器,毫米波辐射对于雨、雪、雾等大气颗粒的影响较小,使得毫米波雷达在恶劣天气下比激光雷达的可靠性更高。但是就分辨率而言,还是激光雷达分辨率高。

超声波雷达

利用超声波的传播速度和回波时间来确定目标物体与雷达之间的距离

超声波雷达的工作原理是,通过发射器产生超声波脉冲,并将其传播到目标物体。当超声波脉冲遇到目标物体后,一部分能量被物体吸收,一部分被反射回来形成回波。接收器接收到这些回波信号,并测量发射和回波之间的时间差。由于声波在空气中的传播速度已知,通过将传播时间与传播速度相乘,可以计算目标物体与雷达之间的距离。

声波比毫米波的传输速度更慢,精度较差,不适合对快速移动的物体进行测距,在汽车上主要是作为倒车测距使用的。

三、其他

一些帮助理解的视频(来自于B站):

激光雷达测距原理讲解:21.激光雷达工作原理_哔哩哔哩_bilibili

各类激光雷达工作过程:各类激光雷达原理_哔哩哔哩_bilibili

激光雷达获取点云数据的过程:激光雷达点云采集原理以及在自动驾驶中的应用(中文字幕)_哔哩哔哩_bilibili

激光雷达、毫米波雷达在自动驾驶方面的发展:详解激光雷达(完整版)_哔哩哔哩_bilibili

相关文章:

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备,下面分别从测距原理以及适用场景来进行介绍。 一、三角测距法 三角测距原理 就是利用三角形的几何关系来测量物体的距离。想象一下,你站在一个地方,你的朋友站在另一…...

路由器基础(八):策略路由配置

在实际网络应用中,策略路由也是一种重要的技术手段。尽管 在考试并不注重策略路由,但是实际上应用较多,建议考生除了掌握基本的静态路由协议IP route-static, 动态路由协议RIP 、OSPF的基础配置外,还要掌握如何配置策略路由。…...

Java 零碎知识点

目录 [多线程]创建多线程的三种方式 [网络编程]一、重点概念1、TCP/IP网络模型2、IP 对象3、端口号4、协议UDP(User Datagram Protocol)TCP(Transmission Control Protocol) 二、UDP 通信三、TCP 通信 [前端][Vue]一、Vue3项目创建响应式函数父子通信父传子子传父 跨层组件通信…...

多模态论文阅读之BLIP

BLIP泛读 TitleMotivationContributionModel Title BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation Motivation 模型角度:clip albef等要么采用encoder-base model 要么采用encoder-decoder model.…...

OpenCV实战——OpenCV.js介绍

OpenCV实战——OpenCV.js介绍 0. 前言1. OpenCV.js 简介2. 网页编写3. 调用 OpenCV.js 库4. 完整代码相关链接 0. 前言 本节介绍如何使用 JavaScript 通过 OpenCV 开发计算机视觉算法。在 OpenCV.js 之前,如果想要在 Web 上执行一些计算机视觉任务,必须…...

qt5工程打包成可执行exe程序

一、编译生成.exe 1.1、在release模式下编译生成.exe 1.2、建一个空白文件夹package,再将在release模式下生成的.exe文件复制到新建的文件夹中package。 1.3、打开QT5的命令行 1.4、用命令行进入新建文件夹package,使用windeployqt对生成的exe文件进行动…...

Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线

一.效果 二.原理 1.正态分布 高斯分布(Gaussian distribution),又名正态分布(Normal distribution),也称"常态分布",也就是说,在正常的状态下,一般的事物,都会符合这样的分布规律。 比如人的身高为一个随机变量,特别高的人比较少,特别矮的也很少,大部分都…...

232.用栈实现队列

原题链接:232.用栈实现队列 思路 主要是要注意栈和队列的数据结构的区别,一个是后进先出, 一个是先进先出 如果要用栈模拟队列的先进先出,那就得使用另一个辅助空间来存储栈的栈顶元素,然后把栈最底部的元素弹出&…...

C51--项目--感应开关盖垃圾桶

1、项目概述 功能描述: 检测靠近时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 发生震动时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 按下按键时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 硬件说明…...

基于单片机设计的太阳能跟踪器

一、前言 随着对可再生能源的需求不断增长,太阳能作为一种清洁、可持续的能源形式,受到越来越多的关注和应用。太阳能光板通常固定在一个固定的角度上,这限制了它们对太阳光的接收效率。为了充分利用太阳能资源,提高太阳能光板的…...

【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景 本地生产环境:超过最大值 cookie token 不存储;客户生产环境:打开系统空白,且控制台报 http 400 错误; 出现了两种现象 现象一:浏览器对大于 4kb 的 cookie 值不存储 导致用户名密码登录&#xff…...

竞赛选题 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0c…...

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现,AES算法2.6 启动类,校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…...

IDEA创建Springboot多模块项目

一、创建父模块 File --> New --> Project ,选择 “ Spring Initalizr ” ,点击 Next Next Next --> Finish 二、创建子模块 右键根目录,New --> Module 选择 “ Spring Initializr ”,点击Next 此处注意T…...

React:JSX语法入门

JSX语法入门及代码 JSX是一种JavaScript的语法扩展,用于在React中描述用户界面的结构。它允许开发者使用类似HTML的语法来创建React元素,使得代码更具可读性和可维护性。JSX将HTML标签和JavaScript代码结合在一起,可以在其中使用JavaScript表…...

AI大模型架构师专家,你会问什么来测试我的水平,如何解答上述问题,学习路径是什么

0. 沈剑老师的大模型产品应用经验: 提示词三步骤: 假如我是xxx专家,你会问什么来测试我的水平;假如你是xxx专家,你会如何解答上述问题;假如你是xxx专家,上述问题的学习路径是什么;…...

Dev-C调试的基本方法2-1

在Dev-C中调试程序,首先需要在程序中设置断点,之后以调试的方式运行程序。 1 设置断点 当以调试的方式运行程序时,程序会在断点处停下来。点击要设置断点代码行号左侧部分,此时会有如图1所示的红点和绿色对勾,表示断…...

Linux 调试 (objdump/strace/strings)

目录 1. Linux 调试 (objdump/strace/strings)1.1. 查看系统 glibc 版本号1.2. 查看 so/bin 中的依赖1.3. 调试 bin 报错原因1.4. 查看 so/bin 中字符串 1. Linux 调试 (objdump/strace/strings) 1.1. 查看系统 glibc 版本号 1. 第一种 # ldd --version ldd (Ubuntu GLIBC 2.…...

CAS 单点登录详解

什么是CAS? - 简要介绍CAS(Central Authentication Service)的概念和作用。 - 强调CAS的主要目标是提供单点登录和单点登出功能。 CAS的工作原理 - 深入探讨CAS的工作原理,包括认证、票据、验证等核心概念。 - 详细解释CAS服务器和…...

tbh常用的绘图快捷键

1、Altb -> 笔刷 2、Alt/ -> 画笔 3、按住Shift 绘出的线条是直线 4、按住shiftalt 绘出来的线条是水平线或垂直线 5、alte ->橡皮擦 6、alts ->选择工具 7、altq -> 轮廓编辑器 以下操作都是在选中轮廓编辑器下操作的: 按住alt…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...