目前市场上有各种现成的立体感知系统。有时系统工程师需求根据精度、基线(两个相机间距)、视野和分辨率等因素,构建定制系统来满足特定的应用需求。在本文中,我们首先介绍了立体视觉系统的主要部分,并提供了有关使用硬件组成和开源软件制作定制立体相机的说明。

有多种 3D 传感器方案来实现深度感知系统,包括立体视觉相机、激光雷达和TOF(飞行时间)相机。每个选择都有其优缺点,其中,嵌入式深度感知立体系统成本低,坚固耐用,适合户外使用,并且能够提供高分辨率的彩色点云。

目前市场上有各种现成的立体感知系统。有时系统工程师需求根据精度、基线(两个相机间距)、视野和分辨率等因素,构建定制系统来满足特定的应用需求。

在本文中,我们首先介绍了立体视觉系统的主要部分,并提供了有关使用硬件组成和开源软件制作定制立体相机的说明。由于此设置专注于嵌入式系统,因此它将实时计算任何场景的深度图,而无需电脑主机。在另一篇文章中,我们将讨论如何在空间较少的情况下构建定制立体视觉系统,以便与电脑主机一起使用。

立体视觉概述

立体视觉是通过从两个视角比较场景中的信息,从数字图像中提取 3D 信息。物体在两个图像平面中的相对位置可提供关于物体距离相机的深度的信息。

立体视觉系统概述如图 1 所示,包括以下关键步骤:

  1. 校准:相机校准包括内部校准和外部校准。内部校准确定图像中心、焦距和失真参数,而外部校准确定相机的 3D 位置。这在许多计算机视觉应用中是至关重要的一步,尤其是在需要有关场景的计量信息(例如深度)时。我们将在下文第 5 节详细讨论校准步骤。
  2. 纠正:立体纠正是指将图像平面重新投影到与相机中心之间的线平行的公共平面上的过程。纠正后,对应点位于同一行,大大降低了匹配的成本和模糊度。此步骤在提供的代码中完成,用于构建您自己的系统。
  3. 立体匹配:这是指在左右图像之间匹配像素的过程,从而产生视差图像。提供的代码中将使用半全局匹配 (SGM) 算法来构建您自己的系统。
  4. 三角测量:三角测量是指在给定 3D 空间中的点投影到两个图像上的情况下确定该点的过程。视差图像将转换为 3D 点云。

图 1:立体视觉系统概述

设计示例

我们来看一个立体声系统设计示例。以下是移动机器人在具有快速移动物体的动态环境中的应用要求。有关场景大小为 2 m,相机到场景的距离为 3 m,在 3 m 处所需的精度为 1 cm。

有关立体精度的更多详细信息,请参阅本文。深度误差由下式给出:ΔZ=Z²/Bf * Δd,这取决于以下因素:

Z 是范围

B 是基线

f 是以像素为单位的焦距,与相机视野和图像分辨率有关

有多种设计选项可以满足这些要求。根据上述场景大小和距离要求,我们可以确定特定传感器的镜头焦距。结合基线,我们可以使用上述公式计算 3 m 处的预期深度误差,以验证其是否满足精度要求。

图 2 显示了两个选项,使用基线较长的低分辨率相机或基线较短的高分辨率相机。第一个选项是较大的相机,但计算需求较低,而第二个选项是更紧凑的相机,但计算需求较高。对于此应用,我们选择了第二个选项,因为紧凑的尺寸更适合移动机器人,我们可以使用适用于 TX2 的 Quartet 嵌入式解决方案,该解决方案具有强大的板载 GPU 来满足处理需求。

图 2:示例应用的立体声系统设计选项

硬件要求

在本例中,我们使用 IMX273 Sony Pregius 全局快门传感器将两台 Blackfly S 板级 160 万像素相机安装在 12 cm 基线处的 3D 印刷杆上。这两台相机都有类似的 6 mm S 接口镜头。相机使用两条 FPC 电缆连接到“适用于 TX2 的 Quartet 嵌入式解决方案”定制载板。为了同步左右相机以同时捕捉图像,制作了一条连接两个相机的同步电缆。图 3 显示了我们定制的嵌入式立体声系统的前后视图。

图 3:定制嵌入式立体声系统的前后视图

下表列出了所有硬件组件:

应调整两个镜头,以将相机聚焦在您的应用所需的距离范围内。拧紧每个镜头上的螺钉(图 4 中以红色圈出)以保持对焦。

图 4:显示镜头螺钉的立体声系统侧视图

软件要求

a. Spinnaker

Teledyne FLIR Spinnaker SDK 已预装在适用于 TX2 的 Quartet 嵌入式解决方案中。Spinnaker 需要与相机进行通信。

b. 支持 CUDA 的 OpenCV 4.5.2

SGM(我们正在使用的立体匹配算法)需要 OpenCV 4.5.1 或更高版本。下载包含本文代码的 zip 文件,并将其解压缩到 StereoDepth 文件夹。安装 OpenCV 的脚本是 OpenCVInstaller.sh。在终端中键入以下命令:

cd ~/StereoDepth

chmod +x OpenCVInstaller.sh

./OpenCVInstaller.sh

安装程序将要求您输入管理员密码。安装程序将开始安装 OpenCV 4.5.2。下载和构建 OpenCV 可能需要几个小时。

校准

抓取和校准立体图像的代码可在 “Calibration” 文件夹中找到。使用 SpinView GUI 识别左右相机的序列号。在我们的设置中,右相机是主相机,左相机是从相机。将主从相机序列号复制到文件 grabStereoImages.cpp 第 60 和 61 行。在终端中使用以下命令构建可执行文件:

cd ~/StereoDepth/Calibration

mkdir build

mkdir -p images/{left, right}

cd build

cmake ..

make

从此链接打印出棋盘状图案,并将其贴在平面上用作校准目标。为了在校准时获得最佳效果,在 SpinView 中将 Exposure Auto 设置为 Off 并调整曝光,使棋盘状图案清晰且白色方块不会过度曝光,如图 5 所示。收集校准图像后,增益和曝光可在 SpinView 中设置为自动。

图 5:SpinView GUI 设置

要开始收集图像,请键入

./grabStereoImages

代码应以大约 1 帧/秒的速度开始收集图像。左侧图像存储在 images/left 文件夹中,右侧图像存储在 images/right 文件夹中。移动目标,使其出现在图像的每个角落。您可以旋转目标,从近处和远处拍摄图像。默认情况下,该程序捕获 100 个图像对,但可以使用命令行参数进行更改:

./grabStereoImages 20

这将仅收集 20 对图像。请注意,这将覆盖之前写入文件夹中的所有图像。部分示例校准图像如图 6 所示。

图 6:示例校准图像

收集图像后,通过键入以下内容运行校准 Python 代码:

cd ~/StereoDepth/Calibration

python cameraCalibration.py

这将生成 2 个名为 “intrinsics.yml” 和 “extrinsics.yml” 的文件,其中包含立体声系统的内部和外部参数。该代码默认采用 30mm 棋盘方格,但可以根据需要进行编辑。在校准结束时,它会显示 RMS 误差,表明校准的好坏。良好校准的典型 RMS 误差应低于 0.5 像素。

实时深度图

实时计算视差的代码位于 “Depth” 文件夹中。将相机序列号复制到文件 live_disparity.cpp 第 230 和 231 行。在终端中使用以下命令构建可执行文件:

cd ~/StereoDepth/Depth

mkdir build

cd build

cmake ..

make

将校准步骤中获得的 “intrinsics.yml” 和 “extrinsics.yml” 文件复制到此文件夹。要运行实时深度图演示,请键入

./live_disparity

它将显示左相机图像(原始未纠正图像)和深度图(我们的最终输出)。部分示例输出如图 7 所示。与相机的距离根据深度图右侧的图例进行颜色编码。深度图中的黑色区域意味着在该区域中没有发现视差数据。得益于 NVIDIA Jetson TX2 GPU,它在 1440 × 1080 的分辨率下可运行高达 5 帧/秒,在 720 × 540 的分辨率下可运行高达 13 帧/秒。

要查看特定点的深度,请在深度图中单击该点,深度将会显示出来,如图 7 中最后一个示例所示。

图 7:对左相机图像和相应的深度图进行采样。底部深度图还会显示特定点的深度。

责编:Amy.wu
阅读全文,请先
您可能感兴趣
碳化硅(SiC)衬底已在电动汽车和一些工业应用中确立了自己的地位。然而,近来氮化镓(GaN)已成为许多重叠应用的有力选择。了解这两种衬底在大功率电路中的主要区别及其各自的制造考虑因素,或许能为这两种流行的复合半导体的未来带来启示。
对于大多数片上系统(SoC)设计而言,最关键的任务不是RTL编码,甚至不是创建芯片架构。如今,SoC主要是通过组装来自多个供应商的各种硅片知识产权(IP)模块来设计的。这使得管理硅片IP成为设计过程中的主要任务。
英特尔的嵌入式多裸片互连桥(EMIB)技术,旨在解决异构集成多芯片和多芯片(多芯粒)架构日益增长的复杂性,在今年的设计自动化大会(DAC)上掀起了波澜。它提供了先进的IC封装解决方案,包括规划、原型设计和签核,涵盖了2.5D和3D IC等广泛的集成技术。
一项技术要想产生广泛的影响,它不仅要解决短期的挑战,还应该超越现有技术的进步,为未来的创新打开大门。这就是我们对泛林集团(Lam Research)今年早些时候推出的全球首个用于半导体量产的脉冲激光沉积(PLD)技术的描述。
能量采集是低功耗电子设备供电技术发展的基本支柱,为实现对环境影响最小的可持续技术的未来铺平了道路。
许多人都听说过缓存一致性这个术语,但并不完全了解片上系统(SoC)器件,尤其是使用片上网络(NoC)的器件中的注意事项。要了解当前的问题,首先必须了解缓存在内存层次结构中的作用。
• 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
点击蓝字 关注我们德州仪器全球团队坚持克服挑战,为电源模块开发新的 MagPack™ 封装技术,这是一项将帮助推动电源设计未来的突破性技术。  ■ ■ ■作为一名经验丰富的马拉松运动员,Kenji K
在全球智能手机竞争日益激烈的情况下,谁能在高端市场站稳脚跟,谁就占据了主动权。一直以来全球智能手机市场格局都是,苹果专吃高端,其他各大厂商分食全球中低端市场。但现在市场正在其变化。根据Canalys最
文|德福很多去成都旅游的朋友都有个疑惑——为什么在成都官方的城市标志上看不到熊猫,而是一个圆环?其实这个“圆环”大有来头,它被唤作太阳神鸟,2001年出土于大名鼎鼎的金沙遗址,距今已有三千余年历史。0
据市场调查机构Allied Market Research的《单晶硅晶圆市场》报告指出,2022年单晶硅晶圆市场价值为109亿美元,预计到2032年将达到201亿美元,2023年~2032年的复合年均
近日,又一国产SiC企业宣布实现了主驱突破,并将出口海外。据“行家说三代半”的追踪统计,自2022年起,国内主驱级SiC器件/模块开始在多款车型中得到应用,尤其是2024年,本土供应商的市场份额显著上
疫情后的劳动力囤积和强有力的员工保护规则掩盖了德国高薪制造业工作市场令人担忧的变化。根据联邦劳工办公室的数据,欧元区最大经济体德国的失业率在2019年春季曾达到历史最低点4.9%,现已上升至6%。虽然
今日碎碎念由于所租的共享办公空间政策的调整,上周我和我队友又搬到开放共享空间了。所以,也就有了新同桌。从我的观察来看,新同桌们应该基于AI应用的创业型公司。之所以想起来叨叨这个,是因为两位新同桌正在工
8月28-30日,PCIM Asia 2024展在深圳举行。“行家说”进行了为期2天的探馆,合计报道了200+碳化硅相关参展企业(.点这里.)。其中,“行家说”还重点采访了长飞先进等众多企业,深入了解
近日,3个电驱动项目迎来最新进展,包括项目量产下线、投产、完成试验等,详情请看:[关注“行家说动力总成”,快速掌握产业最新动态]青山工业:大功率电驱项目下线9月5日,据“把动力传递到每一处”消息,重庆