• 高通导航器软件开发包使用指南(16)


    10 基于视觉的应用

    本章进一步详细介绍了与 Qualcomm Navigator 集成的基于视觉的应用程序。

    10.1 光流(DFT)

    要进入依赖于光流的任何模式,snav_dft_app 必须在应用程序处理器上运行。 此应用程序从相机驱动程序获取帧数据,处理帧上的光流,并将结果数据传递给飞行控制器的 Qualcomm Navigator。

    运行以下命令将 Qualcomm Navigator 配置为使用 Optic Flow:
    $ sudo /etc/snav/configure_dft.sh

    Qualcomm Navigator 在向下摄像头上启用 Optic Flow 的情况下重新启动。
    查看所有可用选项:
    $ sudo /etc/snav/configure_dft.sh -h

    警告:光流 (DFT) 仅支持朝下的相机。 不要尝试在相机倾斜 45 度的情况下运行此过程。

    注意:光流 (DFT) 仅支持具有工作声纳的飞行器。

    默认启用相机参数调整,因此相机曝光和增益会在运行时根据环境进行调整。 因此,飞行器可以在不同的照明场景下以光流飞行,从昏暗的室内照明到明亮的室外阳光。 当飞越纹理非常少的表面时,性能可能会下降。

    10.2 视觉惯性里程计(VIO)

    要进入 VIO 模式,snav_dft_vio_app 必须在应用程序处理器上运行。 此应用程序从相机驱动程序获取帧数据,处理帧上的 VIO 数据,并将结果数据传递给飞控的 Qualcomm Navigator。

    运行以下命令将 Qualcomm Navigator 配置为使用 VIO:
    $ sudo /etc/snav/configure_vio.sh

    Qualcomm Navigator 在向下倾斜 45 度的摄像头上启用 VIO 后重新启动。

    查看所有可用选项:
    $ sudo /etc/snav/configure_vio.sh -h
    通过运行以下命令,可以在严格朝下的相机上使用 VIO:
    $ sudo /etc/snav/configure_vio.sh -c downward

    注意:使用倾斜 45 度的向下摄像头时,VIO 性能会提高。

    默认启用相机参数调整,因此相机曝光和增益会在运行时根据环境进行调整。 因此,从昏暗的室内照明到明亮的室外阳光,飞行器可以在不同的照明场景下与 VIO 一起飞行。 当飞越纹理非常少的表面时,性能可能会下降。

    警告:在尝试以 VIO 模式飞行之前,请确保通过 /etc/snav/mount.snav_dft_vio_app.xml 中的参数准确捕获相机和 IMU 之间的平移和旋转。 该文件是为 VIO 配置系统时设置的符号链接。

    注意:VIO 是在为 8x96 板安装 Qualcomm Navigator 时自动配置的。

    10.3 视觉避障(VOA)

    要使用 VOA,snav_voa_app 必须在应用程序处理器上运行。 此外,此应用程序依赖于来自 VIO 的有效姿态估计,因此 snav_dft_vio_app 也必须在应用程序处理器上运行。 VOA 应用程序从立体相机接收图像并计算深度估计。 生成的深度图和来自 VIO 的姿势用于确定在障碍物附近导航时的安全速度。

    运行以下命令将 Qualcomm Navigator 配置为使用 VOA:
    $ sudo /etc/snav/configure_voa.sh

    Qualcomm Navigator 重新启动,并在倾斜 45 度的向下摄像头上启用 VOA 处理立体图像和 VIO。
    查看所有可用选项:
    $ sudo /etc/snav/configure_voa.sh -h

    通过运行以下命令,可以在严格朝下的相机上使用 VOA 和 VIO:
    $ sudo /etc/snav/configure_voa.sh -c downward

    注意:使用倾斜 45 度的向下摄像头时,VIO 性能会提高。

    警告:VOA 需要准确的立体声校准。 在未先执行充分的立体相机校准之前,请勿尝试运行此应用程序。 校准后,使用校准参数编辑 /etc/snav/app_params.snav_voa_app.xml 和/或 /etc/snav/calibration.stereo.xml。

    10.4 视觉相关应用的参数

    Qualcomm Navigator有多个视觉相关的应用,包括snav_dft_app、snav_dft_vio_app、snav_voa_app。 这些应用程序具有相应的参数文件,用于设置与每个应用程序关联的参数,位于 /etc/snav/app_params..xml 中。

    10.4.1 一般应用参数

    • enable_dft 启用 (1) 或禁用 (0) DFT
    • enable_vio 启用 (1) 或禁用 (0) VIO
    • enable_srw_writer 启用 (1) 或禁用 (0) 记录图像序列。 请参阅第 3.1.2 节。

    10.4.2 DFT 特有的参数

    • mv_dft_max_nr – 强制作为光流输入的特征的最大数量。 更多功能提供更高的稳定性,但运行速度更慢。
    • mv_dft_min_nr – 强制作为光流输入的最小特征数。 较少的特征会导致纹理较差区域的稳定性降低。

    10.4.3 特定于 VIO 的参数

    这些参数将在稍后记录。

    10.4.4 VOA 特有的参数

    这些参数将在稍后记录。

    10.4.5 相机配置参数

    以下参数可在相应的相机文件 /etc/snav/camera..xml 中找到。

    • pixel_width – 用于配置的相机分辨率宽度。
    • pixel_height – 用于配置的相机分辨率高度。
    • memory_stride – 用于配置的相机图像步幅。
    • fps – 每秒帧数。
    • default_exposure – 归一化到 [0.0, 1.0] 的范围。
    • default_gain – 归一化到 [0.0, 1.0] 的范围。
      以下参数与自动相机参数调整(CPA)有关。
    • enable_cpa – 启用 (1) 或禁用 (0) CPA 过程。
    • mv_cpa_type – Legacy (0) or cost-based (1).
    • mv_cpa_filter_size – 用于曝光和增益变化的内部过滤器尺寸(过滤器尺寸越大,收敛越慢(0 = 无过滤))。
    • mv_cpa_exposure_cost – 增加曝光的代价。
    • mv_cpa_gain_cost – 增加增益的代价。

    增益代价和曝光代价的总和影响亮度代价的加权程度。 MV SDK 为基于代价的方法定义了如下指南:

    • 如果增益代价加上曝光代价大于 1.0,则最小化增益和曝光值的权重高于亮度目标。
    • 如果总和小于1.0,则亮度目标的权重更高。
      mv_cpa_gain_cost 和 mv_cpa_exposure_cost 的比率是增益值和曝光值之间的比率。

    10.4.6 相机标定参数

    这些参数位于相应的校准文件 /etc/snav/calibration..xml 中。

    • calib_pixel_width – 用于校准的相机分辨率宽度。
    • calib_pixel_height – 用于校准的相机分辨率高度。
    • calib_memory_stride – 用于校准的相机图像步幅。
    • principal_point_x – X 轴上的相机主点偏移。
    • principal_point_y – Y 轴上的相机主点偏移。
    • focal_length_x – X 轴上的相机焦距(以像素为单位)。
    • focal_length_y – Y 轴上的相机焦距(以像素为单位)。
    • distortion_model – 无 (0)、多项式模型(4、5、8)或鱼眼模型 (10)。
    • distortion_<0-7> – 失真系数。
  • 相关阅读:
    打破运维疆界:异构复杂网络环境的集中监控和管理
    基础练习 查找整数
    锐捷Ruijie交换机补丁升级及补丁卸载
    关于ip地址的网页无法访问navigator的gpu、媒体、蓝牙等设备的解决方法
    前端js调试如何复制console.log打印的对象或数组
    OpenAI发布Sora模型,可根据文字生成逼真AI视频
    数据库管理工具DBeaverUltimate mac中文高级功能
    k8s 读书笔记 - 详解 Pod 调度(Ⅰ卷)
    电子元器件贸易企业如何提高采购收货效率?ERP管理系统推荐
    pixhawk飞控和自习开发的stm32芯片通讯问题
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/128128773