基于 FPGA 的实时双目立体视觉方法

摘要

为满足机器人技术和自动驾驶等领域的环境感知需求,本文提出了一种使用可见光相机的增强型双目立体视觉模型,并为其实现引入了一种新型 FPGA 架构。传统的双目立体视觉方法融合了卷积神经网络(CNN),显著降低了匹配误差。然而,这一改进导致匹配时间增加,虽然降低了部署成本并提升了环境信息获取,但在与激光雷达等方法比较时,实际应用效果仍有欠缺。为解决此问题,我们提出了一种实时立体匹配网络,融合了语义信息。通过采用轻量级设计,我们显著减少了参数数量,同时保持了高匹配精度。此外,我们集成了语义分割分支,使网络能够提取周围环境的语义信息。这不仅通过语义特征优化了立体匹配,还提升了环境感知技术。与此同时,我们设计了一系列并行结构,以确保在边缘计算平台(如移动设备)上具有卓越性能,并具备 FPGA 部署和加速能力。最后,我们在 Xilinx FPGA ZYNQ 7010 平台上验证了我们的方法,展示了出色的实时性能和实际效果。

作者

Xiaoye Wang 兰州理工大学(LZ),兰州,甘肃,中国

Runmin Wang 兰州理工大学(LZ),兰州,甘肃,中国

Fang Zhang 兰州理工大学(LZ),兰州,甘肃,中国

Qingfu Ge 兰州理工大学(LZ),兰州,甘肃,中国

出版信息

期刊: 2024 4th International Conference on Communication Technology and Information Technology (ICCTIT) 年份: 2024 页数: 671-674 DOI: 10.1109/ICCTIT64404.2024.10928421 文章编号: 10928421

指标

总下载量: 67


关键词

IEEE 关键词: Performance evaluation, Training, Costs, Semantics, Solids, Real-time systems, Stereo vision, Servers, Field programmable gate arrays, Testing

索引词: Stereopsis, Binocular Stereo Vision, Stereo Vision Method, Convolutional Network, Convolutional Neural Network, Mobile Devices, Excellent Results, Real-time Performance, Semantic Information, Semantic Segmentation, Environmental Awareness, Semantic Features, Stereo Matching, Convolutional Layers, Feature Maps, Parallelization, Resource Consumption, Image Pairs, Unmanned Aerial Vehicles, Left Image, 3D Convolution, Feature Extraction Network, Training Round, Separable Convolution, Shallow Features, Disparity Map, Computing Units, Convolution Kernel

作者关键词: Stereo vision, Semantic disparity, CNN, FPGA

未定义

第一节. 引言

近年来,随着自动控制技术的持续进步,工业机器人臂、无人机(UAV)和自主履带等小型机械系统取得了显著发展。这些系统在工业、医疗、搜救与探测等领域正日益成为主导力量。然而,鉴于需要对突发事件作出快速响应并提升作业效率,这些系统已无法仅依赖人工操作者。由此迫切需要开发能够独立感知和评估环境的自主感知系统,而无需人工观察者或大型数据处理中心。在此背景下,环境感知系统是实现完全自主的关键第一步。

在环境感知模型中,光学双目相机用于捕捉立体图像,然后对其进行处理以提取深度信息和额外的语义理解。这种方法既具有成本效益,又高度适应性。传统方法,例如 Semi-Global Matching (SGM) 1,通过半全局匹配与多路径聚合已取得良好结果,但在精度上仍然不足。为了解决这一问题,研究人员将卷积网络引入立体匹配。例如,DispNet 2使用全卷积网络预测视差。然而,二维卷积网络由于在整个代价空间上进行乘法和求和,涉及显著的计算成本。为捕捉相邻视差空间之间的关系,GCNet 3采用三维卷积来建模上下文关系。许多后续网络遵循了这一三维卷积方法,但这会带来复杂的计算和较长的计算时间。为提升实时性能,Anynet 4提出的分阶段优化方法减少了参与计算的特征数量。在此基础上,RTSSNet 5结合语义信息来优化立体匹配和环境理解。然而,RTSSNet 在单独的第四阶段使用语义特征来优化视差卷积,导致两个分支之间的整合不充分,限制了网络的实时性能和精度。

最近,现场可编程门阵列(FPGA)迅速发展,研究人员正在探索 FPGA 平台上的硬件加速和数据流优化 6,为卷积网络在边缘设备的部署提供了新机遇。基于此,我们提出了一种新型优化结构,在早期阶段整合语义特征,消除了单独的第四阶段,并提升了网络内部的并行度。利用基于 FPGA 的并行加速可以显著提升卷积网络的运算速度,使其能够在移动设备上部署,无需依赖数据中心支持。为提升双目立体视觉的实时性和实用性,我们提出了一种基于 FPGA 的实时立体视觉方法。本文的主要内容如下:

第二节:方法

A. 网络结构

本章首先简要描述我们提出联合语义特征的实时立体匹配网络,然后给出为该网络专门设计的 FPGA 加速架构,并聚焦于各组件的特性与交互。

Figure 1

图 1. 实时语义视差网络结构示意图

网络的整体结构如图 1 所示。网络由三大部分组成。双目相机捕获的图像对被送入一个共享参数的双子特征提取网络。得到的浅层特征随后分别转移到视差分支和立体匹配分支。在特征提取网络中,我们采用 U‑形结构,通过对称的上采样和下采样过程最大化浅层特征的提取。在向后传输时,语义分割分支仅使用左图的低分辨率采样特征图进行语义分割。而立体匹配分支则接收上采样特征图的不同分辨率,通过相关层构建初始代价空间。

与 RTSSNet 不同,我们并不打算将语义分割分支设计为与立体匹配过程对称的流程。相反,我们将语义分割分支整合到特征提取网络的并行模块中。此种整合使得语义特征能够在形成初始代价空间时进行优化,并实现高效的并行计算结构,而无需额外的优化阶段。

在随后的阶段,我们采用来自 Anynet 的多步残差优化方法,首先在低分辨率下生成初始视差图(步骤 1),随后通过两步额外的优化(步骤 2‑3)逐步细化。参数遵循 Anynet 所述。第一步时,将最大视差缩小到 1/16,并将分辨率恢复到原始大小。在后续的优化步骤中,残差分别按 8 倍和 4 倍放大,并加入初始视差得到优化后的视差图。

需要注意的是,原始网络在视差获取过程中使用 3D 卷积层来拟合最优函数。然而,3D 卷积不适用于资源受限的 FPGA。为此,我们使用 2D 卷积和聚合层来模拟 SGM 中聚合函数的项数和偏移量。此种改造使我们的网络在保持卓越匹配精度的同时,提高了计算速度。

B. FPGA 架构

Figure 2

图 2. FPGA 架构概览

基于上述实时语义网络的并行结构,我们为该网络设计了一套专用的 FPGA 架构,如图 2 所示。实现分为三个阶段。在前两个阶段,我们利用不同分支之间的并行计算,而最终阶段由于多层优化约束需要顺序执行。以下各节将详细讨论整体架构和所涉及的基础模块。

整个计算过程分为三个阶段。第一阶段对左右图像对进行浅层特征提取。在此过程中,我们利用多种并行结构,包括卷积核内部的并行卷积、并行卷积核、并行卷积层以及左右特征图的并行处理。特征提取完成后,结果被存储在相位输出缓冲区,等待下一阶段。

当两相位使能信号触发时,一部分数据进入第二阶段,第二阶段由两个分支组成:语义分割分支和立体匹配过程的一部分。语义分割分支需要左图像的特征图,而立体匹配分支则需要左、右图像的采样特征图。这两个分支可并行处理,通过两个完成信号在第三阶段开始前保证它们之间的同步。

在执行过程中,语义分割分支仅需要特征提取模块低层采样的特征图,而立体匹配分支依赖于三层上层采样的结果。这意味着,在第一阶段的特征提取过程中,当网络层推进时,我们可以提前开始部分第二阶段的计算。此方法优化了设备资源利用,提升计算速度,无需缓存所有数据,从而降低存储资源消耗。

第三阶段聚焦于整合语义特征并进行代价聚合。该过程分为三步。生成初始视差后,应用两步残差优化。每一步必须完成后才能进入下一步,该过程由控制单元管理,以确保正确的执行顺序并防止错误。

为降低资源消耗,我们对部分卷积层的替换位深度进行卷积拆分,并构建一个兼容普通卷积和分离卷积的基本单元。其逻辑结构如图3所示。

Figure 3

Figure 3. Basic convolution unit 的逻辑图

通过数据总线传输的数据最初被存储在单元的总缓存中,然后按需逐步分配到每个并行计算列缓存。基本计算单元完成并行处理后,选择单元决定数据的传输方向。对于标准卷积操作,数据被路由到标准加法模块以生成结果。相反,对于深度可分离卷积,数据被导向分组加法树。具体而言,在深度可分离卷积中,每个通道都有专用卷积核,意味着分组卷积不执行加法操作,而是直接将结果输出到输出缓存。

在设计 FPGA 架构时,结构通常被封装为 IP 核,如图4所示。为最大化 FPGA 资源的高效使用,IP 核设计遵循 AXI4 协议。因此,构建了 AXI 模块以便在系统内读写数据流。

Figure 4

Figure 4. Basic convolutional encapsulation IP core 概览

第III节 实验

在本章中,我们需要评估我们的方法。我们将在 Cityscape 7 粗糙数据集上进行单阶段预训练,在 Cityscape fine 数据集上进行双阶段预训练,并在 KITTI2015 8 数据集上进行迁移训练。

通过将网络部署到服务器进行参数训练,经过60轮粗数据集预训练、75轮细数据集训练以及200轮KITTI测试数据集迁移训练,我们分别获得了Cityscape和KITTI的偏置权重,并将数据导入 Xilinx FPGA ZYNQ 7010 进行测试,得到如图5所示的Cityscape数据测试图。

Figure 5

Figure 5. Cityscape 测试集结果

Figures (a), (b), (c), 和 (d) 分别表示如下内容: (a) 预测立体匹配结果, (b) 预测语义分割结果, (c) SGM (Semi-Global Matching) 方法的地面真值, (d) 原始图像。 从这些结果可以观察到在立体匹配预测图的底部和侧面存在显著的匹配错误区域。 这是因为 Cityscapes 数据集提供的真实视差值并非直接通过 LiDAR 获得,而是从对视图图像对应用 SGM 算法得到。 因此,地面真值图在侧面和底部包含无有效数据的区域,导致我们的网络在训练过程中无法准确拟合这些区域。 然而,在其他区域,算法表现良好并达到了预期效果。 此外,虽然 Cityscapes 数据集分辨率为 2048×1024,我们的模型在 FPGA 上部署时可实现 7.52-9.1 FPS,满足实时运行需求。 进一步地,我们能够同时输出语义分割和视差预测,语义分割精度约为 63%,充分满足我们的性能期望。

KITTI 中样本数量较少的训练效果如图6所示。 由于 KITTI2015 仅提供 200 对训练图片,仍可通过迁移训练取得优秀结果,这意味着我们的网络在实时性基础上仍具有优秀效果。 并且通过 FPGA 部署后,该方法的实时性和实用性可进一步优化提升。

Figure 6

Figure 6. KITTI 测试集结果

通过训练和测试在两个公开数据集上,我们将测试结果与其他类似网络进行比较。由于我们的网络能够同时输出语义分割结果和立体匹配结果,我们分别在cityscape数据集和KITTI数据集上比较语义分割效果和立体匹配效果。语义分割数据如表I所示,立体匹配效果如表II所示。

Figure 7

表 I

Figure 8

表 II

从表中可见,我们在语义分割方面的效果并不逊色于同规模的其他网络结构,并且在相同效果下,我们的轻量化模型具有一定优势。在立体匹配方面,我们的网络几乎与RTSSNet拥有相同的效果,并且计算速度更快,这使得我们的网络具备更高的潜力和可塑性。

第四节 结论

在本文中,我们提出了一种基于FPGA的实时双目立体视觉方法及其实现。我们提出了一种多步优化的语义视差网络,适合并行计算,并为其设计了一个专用计算单元,将解决方案封装为高效的实时立体视觉系统。通过在服务器上训练模型并将权重转移到Xilinx FPGA ZYNQ 7010进行测试,我们展示了该方法的有效性和可行性。这一方法对双目立体视觉的实际应用具有重要前景,并为未来的应用开发奠定了坚实的基础。

参考文献

附加参考文献

  1. A. Paszke, A. Chaurasia, S. Kim, 与 E. Culurciello, “ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation,” Jun. 07, 2016, arXiv:arXiv:1606.02147. doi: 10.48550/arXiv.1606.02147.

  2. C. Yu, J. Wang, C. Peng, C. Gao, G. Yu, 与 N. Sang, “BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation,” Aug. 02, 2018, arXiv:arXiv:1808.00897. doi: 10.48550/arXiv.1808.00897.

  3. “DDRSNet-Rail Surface Defects Classification Based on DepthwiseDilated Convolution IEEE Conference Publication IEEE Xplore.” 访问于: Jul. 24, 2024. [Online]. 可用: https://ieeexplore.ieee.org/document/10424928

  4. F. Zhang, V. Prisacariu, R. Yang, and P. H. S. Torr, “GA-Net: Guided Aggregation Net for End-to-end Stereo Matching,” Apr. 13, 2019, arXiv:arXiv:1904.06587. doi: 10.48550/arXiv.1904.06587.

  5. Yin Z, Darrell T, Yu F. 用于匹配密度估计的分层离散分布分解[C]//2019 IEEE/CVF 计算机视觉与模式识别会议 (CVPR). IEEE, 2019. DOI: 10.1109/CVPR.2019.00620.

  6. X. Guo, K. Yang, W. Yang, X. Wang, 与 H. Li, “Group-wise Correlation Stereo Network,” Mar. 10, 2019, arXiv:arXiv:1903.04025. doi: 10.48550/arXiv.1903.04025.