这篇文章已被接受在卡尔斯鲁厄 2018 论坛出版。Arxiv.org 提供 PDF 版本

具有 SceneSc万博首页登录an 的 FPGAs 上的实时立体视觉

Konstantin Schauwecker
狗万下载Nerian 视觉有限公司
Gutenbergstr。77a,70197 斯图加特,德国

摘要我们提出了一个灵活的现场可编程门阵列立体视觉实现,能够万博首页登录处理高达每秒 100 帧或图像分辨率高达 3.4 像素,同时仅消耗 8w 的功率。该实现使用半全局匹配 (SGM) 算法的变体,与许多更简单的方法相比,该算法提供了更好的结果。通过在计算成本立方体和视差图上运行的后处理链,立体匹配结果得到了显著改善。通过这种实现,我们为立体视觉创建了两个独立的硬件系统,称为SceneScan 和 SceneScan Pro。这两个系统都已发展到市场成熟度,可从 Nerian Vision GmbH 获得。狗万下载

关键词万博首页登录立体视觉深度传感 FPGA 半全局匹配

1 介绍

计算机立体视觉是计万博首页登录算机视觉领域的研究热点之一。它的起源可以追溯到 1970,此后它取得了重大的科学进步。与密集深度感知的其他方法相比 -- 如飞行时间相机或结构光相机系统 -- 立体视觉具有被动技术的优势。这意味着除了环境光之外,进行测量不需要进一步的主动光源。万博手机怎么登录

主动相机系统在明亮的环境光的情况下挣扎,例如在明亮的阳光下的户外。在这种情况下,主动光源不能再提供与环境光足够的对比度,因此测量变得不可能。同样,对于主动相机系统来说,远程测量具有挑战性,因为这需要特别强大的光源。因此,立体视觉对于户外和远程使用案例来说是一项有前途的技术,并且可以在其他技术不适用的情况下实现深度传感。万博首页登录狗万网址手机版万博手机怎么登录

对于需要在受控室内环境之外操作的自主移动机器人,对照明情况的鲁棒性至关重要。快速移动机器人,如自动驾驶汽车,也必须能够进行远程测量,以便安全运行。因此,这些应用需要强大的传感器解决方案,如实时立体视觉。万博首页登录狗万网址手机版

尽管这需要强大的深度传感,但目前只有少数应用使用立体视觉。阻止这项技术广泛采用的关键问题是高计算需求。虽然在过去的几十年里,许多立体分析算法已经在狗万网址手机版文献中被提出,但是即使在现代硬件上,性能良好的方法仍然对计算万博首页登录要求很高。万博手机怎么登录

传统的 cpu 在典型的相机帧速率下需要大量的立体视觉计算。对于更简单的算法 -- 例如块匹配 -- 实时立体视觉可以在 CPU 上实现,例如在 [1] 中已经演示过了。万博首页登录这种简单的算法方法在准确性和误差鲁棒性方面明显落后于更现代的方法,这可以在 KITTI vision bechnmark [2] 中看到。已经取得了一些成功,创造了更复杂的方法 [3,4] 的优化实现,但是总体计算负担仍然很高,实现的处理速率和图像分辨率仍然相对较低。

为了加速图像处理,需要能够进行大规模并行计算的硬件。一个候选硬件平台是图形处理器或 gpu。该领域的大量工作已经证明,在具有优化算法实现的 gpu 上,快速实时立体视觉是可能的 [5,6]。这些工作主要集中在使用具有出色计算能力的高端 gpu 上。不幸的是,这种高端 gpu 也表现出非常高的功耗。例如,英伟达的 GeForce GTX TITAN X 需要高达 250 瓦的功率 [7]。在电池供电的移动系统上部署如此耗电的处理硬件通常是不切实际的,这就是为什么基于 GPU 的立体视觉还没有在移万博首页登录动机器人中广泛使用。

Gpu 的替代硬件平台是现场可编程门阵列 (FPGAs)。现场可编程门阵列是一种通用集成电路,可以通过编程来实现特定的应用。因为编程是在电路层面上执行的,所以现场可编程门阵列不会被迫遵循 cpu 甚至现代 gpu 通常的提取-解码-执行周期。相反,可以找到一个特定于应用程序的体系结构,将问题分成许多小的子问题,每个子问题都可以并行解决,功耗最小。

FPGAs 的缺点是编程工作量远远超过普通 cpu 或 gpu 的编程工作量。因此,基于现场可编程门阵列的图像处理在当今的视觉系统中并不常见。为了使研究人员和应用程序开发人员更容易使用这项技术,Nerian Vision GmbH 开发了万博手机怎么登录狗万下载SceneScan 和 SceneScan Pro 立体万博首页登录视觉传感器系统。更有能力的 SceneScan Pro 系统如图 1 所示。使用现场可编程门阵列,这种小规模的处理设备能够以高处理速率实时执行立体视觉。它的主要特点是:万博首页登录

  • 处理分辨率高达 3.4 像素的输入图像。
  • 覆盖高达 256 像素的视差范围,亚像素分辨率为 1/16 像素。
  • 每秒可以处理多达 100 帧。
  • 8 W 的功耗。
  • 计算的视差图通过千兆以太网实时传输。

SceneScan 和 SceneScan Pro 是 Nerian 早期 SP1 系统的继承者 [狗万下载8]。与 SP1 相比,SceneScan Pro 使处理性能提高了两倍,并显著提高了测量质量。本文回顾了如何实现这一目标,并深入了解了实现的性能。

附带立体摄像机的场景扫描
图 1:SceneScan Pro 与连接的 Karmin2 立体摄像机。

2 体系结构

SceneScan/SceneScan Pro 连接到 Nerian 自己狗万下载的 Karmin2 立体摄像机或两个标准 USB3 视觉摄像机。它获得一对同步的左右相机图像,然后在其内置的 FPGA 上处理这些图像。计算的立体视差图是一个反深度图,然后通过千兆以太网输出到连接的计算机。

在 SceneScan/SceneScan Pro 中实现的立体匹配方法是基于半全局匹配 (SGM) [9]。自提出以来,SGM 因其高质量的结果和计算效率而广受欢迎。SGM 是一些表现最好的立体匹配方法的核心,例如 zhontar 等人提出的方法 [10]。

已经表明基于现场可编程门阵列的 SGM 实现是可能的 [11,12]。然而,仅仅依靠 SGM 不足以获得竞争性立体匹配结果。相反,我们需要一个完整的图像处理管道,它不仅包括 SGM,还包括一系列不同的预处理和后处理步骤。我们已经为 SceneScan/SceneScan Pro 实现了一个这样的管道,如图 2 所示。

工艺结构框图
图 2:处理结构框图。

2.1 整流

应用于输入图像数据的第一个处理步骤是图像校正。要执行图像校正,需要从专用存储器读取预先计算的校正图。校正图包含左右输入图像的每个像素的亚像素精确 x 和 y 偏移。双线性插值用于将亚像素偏移映射到图像强度。

偏移是交错的,因此从单个数据流中读取足以找到两个图像中每个像素的位移矢量。为了节省带宽,校正图以压缩形式存储。平均来说,编码单个像素的位移向量需要一个字节。因此,校正图的整体大小等于两个输入图像的大小。

整改是一个基于窗口的操作。因此,像素偏移受到所采用窗口大小的限制。对于 SceneScan 和 SceneScan Pro,使用 79 × 79 像素的窗口大小。这允许在-39 到 + 39 像素的范围内进行偏移。

2.2 图像预处理

图像预处理方法适用于两个输入图像。这导致随后的处理步骤对照明变化和遮挡更加稳健。

2.3 立体匹配

立体匹配是通过应用 SGM 算法 [9] 的变化来执行的。处罚P1P2被 SGM 用于小和大的差异变化可以在运行时配置。处理左输入图像的一个像素需要几次迭代。在每次迭代中,左图像像素与右图像中的一组像素进行比较。对于 SceneScan Pro,并行像素比较的数量是p= 32。每个左图像像素的迭代次数ni可以在运行时通过选择视差范围进行配置。

A视差偏移od也可以在运行时进行配置,这表示在立体声匹配期间将考虑的最小视差值。如果od> 0 那么可观测的深度范围将有一个上限,因为差距小于odod,迭代计数ni和并行化p确定最大视差d最大值:

(1)d最大值=od+nip-1

2.4 成本量后处理

SGM 立体算法产生一个成本量,它编码所有有效的左和右图像像素组合的匹配成本。一些应用的后处理技术直接作用于这个成本量。

亚像素优化

亚像素优化是第一个应用的后处理技术。这一步骤通过评估每个像素的检测最小值的左侧和右侧的匹配成本来提高深度测量的准确性。曲线符合匹配成本,其最小值以亚像素精度确定。

然后,改进的差异估计被编码为定点数字。SceneScan/SceneScan Pro 支持 4 位十进制的亚像素优化视差。因此,有可能用 1/16 像素的分辨率来测量差异。万博手机客户端

唯一性检验

具有高匹配不确定性的匹配通过施加唯一性约束被丢弃。对于认为唯一的立体声匹配,最小匹配成本c最小次数唯一性因素q∈ [1,∞) 必须小于下一个最佳匹配的成本。这种关系可以用以下公式表示,其中C是所有有效像素对的匹配成本集,并且c*=c最小是最佳匹配的成本:

(2)c*q<最小 {C\ {c最小}}。

通过唯一性检查丢弃的立体声匹配被分配了无效的视差标签。

一致性检验

一致性检查用于去除具有高匹配不确定性的进一步匹配。这种后处理技术的常见方法是在相反的匹配方向上重复立体匹配 (在我们的例子中,从右图像到左图像),然后只保留匹配

(3)|dl-dr| ≤tc,

在哪里dl是从左到右匹配的差异,dr从右向左匹配的差异,以及tc是一致性检查阈值。

为了节省 FPGA 资源,我们避免在相反的匹配方向上再次运行立体声匹配。相反,正确的相机视差图是从初始从左到右立体声匹配过程中收集的匹配成本推断出来的。没有再次通过一致性检查的像素会收到无效的视差标签。

2.5 视差图后处理

在成本量后期处理之后,成本量减少为差异图。然后,额外的后处理方法直接应用于差异值。

纹理过滤

匹配纹理很少或没有纹理的图像区域特别具有挑战性。特别是如果这些区域发生在图像边界附近,这可能会导致严重的不匹配。为了解决这个问题,应用了纹理过滤器。此过滤器计算纹理得分st对于每个图像像素,它反映了局部邻域内的纹理强度。此分数低于可配置阈值的像素tt在计算的视差图中再次标记为无效。

斑点滤波

上述方法并不总是能够识别和标记所有错误的匹配。幸运的是,仍然存在的错误匹配往往表现为类似差异的小集群。这些斑点然后用斑点滤波器去除。斑点滤波器识别低于指定最小尺寸的连接组件。最小散斑尺寸通过散斑滤波器窗口大小来控制ws。属于已识别斑点的像素再次标记为无效。

间隙内插

上述后处理技术都从计算的视差图中移除像素,这使得空白没有有效的视差数据。如果其中一个这样的差距很小,它可以通过插入其边缘的差距来填补有效的差距。仅对其垂直和水平范围的间隙执行插值lhlv满足条件

(4)最小 {lh,lv} ≤l最大值,

在哪里l最大值是最大间隙宽度。如果识别间隙边缘的差异没有相似的大小,插值也会被忽略。

降噪

最后,将降噪滤波器应用于生成的视差图。该过滤器对差异图进行平滑处理,同时意识到不连续和无效差异。该滤波器的处理结果通过 SceneScan 的以太网端口直接作为输出传输。

3 结果

表 1 列出了 SceneScan Pro 在不同图像分辨率和视差范围下的可实现帧速率。这些数字代表连接的计算机通过 SceneScan Pro 接收视差数据的帧速率,因此已经包括了摄像机和网络通信的所有开销。在所有配置中,SceneScan Pro 只需要 8 W 的功率,而无需为相机供电。

差异 图像分辨率
范围 640 × 480 800 × 592 1280 × 960 1600 × 1200
128 像素 100 fps 65 fps 24 fps 15 fps
256 像素 70 fps 45 fps 15 fps 10 fps
表 1:SceneScan Pro 处理性能。

最高帧率可以在 640 × 480 的图像分辨率和 128 像素的视差范围内实现。在此配置中,SceneScan Pro 可以提供高达 100 fps。随着分辨率和视差范围的增加,帧率降低。SceneScan Pro 可以处理的最大图像分辨率为 1856 × 1856,即 3.4 像素。

当使用完整的 256 像素视差范围时,SceneScan Pro 能够每秒执行 51亿次视差评估,并实现每秒 2000万次视差的输出。如果视差范围减少到 128 像素,则处理性能增加到每秒 3000万个视差。由于每个视差值可以投影到 3D 坐标,这意味着 SceneScan Pro 每秒提供 3000万个 3D 点测量。

在图 3 中,我们可以看到使用 SceneScan Pro 计算的示例输入图像和相应视差图的集合。所有的图像都是在晴朗的日子在户外记录的。因为立体视觉不会与明亮的环境光斗争,所以我们会收到非常密集的视差图。万博首页登录

每个示例图像都包含对象非常接近的部分,以及对象较远的部分。可以看出,物体的距离不会影响测量密度或鲁棒性。即使对于非常遥远的图像区域,例如在图 3 (d) 的中心,我们也会收到非常密集的视差测量。

总的来说,视差图看起来非常平滑,只有很少的异常值。这可以归功于成本立方和差异图的广泛后处理。遮挡的图像区域被有效地过滤,可以通过图 3 中所有前景对象左边的清晰遮挡阴影看到。

附带立体摄像机的场景扫描
图 3:(A,c,e) 左侧输入图像和 (b,d,f) 计算的视差图的例子。

4 结论

有了 SceneScan 和 SceneScan Pro,我们为立体视觉创建了两个独立的系统,使用 FPGAs 作为底层计算硬件。通过使用 FGPAs,我万博首页登录们的系统能够实现非常高的功率效率。同时,它们提供了卓越的计算性能,因此能够以高达 100 fps 的帧速率处理相机图像。

特别是在自主移动机器人领域,精确的高速深度估计是许多应用的先决条件。立体视觉承诺即使在明亮的环境和较长的测量距离内也能提供此类数据。万博首页登录狗万网址手机版

我们的 SceneScan 和 SceneScan Pro 系统可以很容易地集成到电池供电和能量受限的移动平台中,在这些平台中,耗电较大的基于 GPU 的系统不是一个选择。我们希望通过引入 SceneScan 和 SceneScan Pro,我们已经使立体视觉更容易被广泛的研究人员和开发人员所接受。这将有望促进更多利用立体视觉原理的系统的开发。万博首页登录

参考文献

  1. M.Humenberger,C.Zinner,M.Weber,W.Kubinger 和 M.Vincze,“一种适用于嵌入式实时系统的快速立体声匹配算法,”计算机视觉和图像理解,114 卷,1180 号,1202-2010 页,。
  2. A.Geiger,P.Lenzm,C.Stiller 和 R.Urtasun,“kitti vision bench-mark suite-stereo evaluation 2015,” http://www.cvlibs.net/datasets/ Kitti/eval scene flow.php?benchmark = 立体声,2018,已访问: 17.09.2018。
  3. S.K.Gehrig 和 C.Rabe,“cpu 上的实时半全局匹配”,在IEEE 计算机视觉和模式识别会议 (CVPR),2010,第 85-92 页。
  4. R.Spangenberg,T.Langner,S.Adfeldt 和 R.Rojas,“cpu 上的大规模半全局匹配,” 在IEEE 智能车辆研讨会 (四),2014,pp.195-201。
  5. I.Haller 和 S.Nedevschi,“SGM 立体算法的 GPU 优化”,在IEEE 国际智能计算机通信与处理会议 (ICCP),2010,第 197-202.12 页
  6. J.Kowalczuk,E.T.Psota,和 L.C.Perez,“在 cuda 上的实时立体匹配使用一种迭代细化方法来适应支持权重响应,”万博手机客户端IEEE 视频技术电路和系统交易万博手机怎么登录,104 卷,2013 号,-页,。
  7. 英伟达,“GeForce GTX TITAN X 规格,” https://www.geforce 。Com/hardware/desktop-gpu/geforce-gtx-titan-x/规格,2018,访问日期: 19.09.2018。
  8. K.Schauwecker,“SP1: 实时万博首页登录立体视觉” inMuSRobS @ IROS,2015,第 40-41 页。
  9. H.Hirschm ü ller,“通过半全局匹配和相互信息进行精确和高效的立体处理,” 在IEEE 计算机视觉和模式识别会议 (CVPR),月,2005,pp.807-814.
  10. J.Zhbontar 和 Y.LeCun,“用体积神经网络计算立体匹配成本”,在IEEE 计算机视觉和模式识别会议 (CVPR)2015。
  11. S.K.Gehrig,F.Eberli 和 T.Meyer,“一个使用半全局匹配的实时低功耗立体视觉引擎,”万博首页登录计算机视觉系统,Pp.134-143,2009。
  12. C. banz,S. hesselbarth,H. flatt,H. blume 和 P. pirsch,“使用半全局匹配视差估计的实时立体视万博首页登录觉系统: 架构和 FPGA 实现,” 在IEEE Int。在嵌入式计算机上。Syst。(SAMOS),2010,pp.93-101。