双目模型我试了出来点云效果不好,感觉深度估计数据有问题,进的远,远的近

GDC 校准参数能同步调整应用顺序吗?是不是因为接反了导致左右矫正也用反了,右边传感器现在读取是乱码,这个正常吗?我用了默认标定文件数据能好一些

:bullseye: 回答你的关键问题

:one: GDC 校准参数与左右目顺序的关系

是的,GDC 校准参数与左右目顺序直接相关!

如果左右目接反了,GDC 校正时会:

  • 用左目的内参去校正右目图像
  • 用右目的内参去校正左目图像
  • 导致 rectified 图像的内参与实际不匹配

这就是深度误差 10 倍的根本原因!


:two: 右边传感器 EEPROM 乱码是否正常

正常! 从社区案例 34255 确认:

i2c bus: 4, EEPROM FLAG: SC230AI  ✅ 正常识别
i2c bus: 6, EEPROM FLAG:   ⚠️ 乱码(不影响使用)

官方 SC230AI 模组的第二个通道 EEPROM 读取乱码是已知现象,不影响图像采集和深度计算。


:three: 为什么默认标定文件反而更好

这说明 stereo.yaml 中的默认参数可能恰好匹配了当前的 resize 比例

分析:

配置 内参来源 深度效果
MIPI calib_params.yaml 640x480 原始参数 :cross_mark: 深度误差 10 倍
stereo.yaml 默认值 可能是 640x352 参数 :white_check_mark: 效果好一些

:hammer_and_wrench: 解决方案

方案 1:确认 stereo.yaml 的默认参数(推荐)

# 查看当前 stereo.yaml 内容
cat /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 对比 MIPI 标定文件
cat /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

如果 stereo.yaml 默认值效果更好,说明它匹配了 640x352 的分辨率。

方案 2:让 GDC 输出匹配模型输入

# 使用 640x352 启动相机(无需 resize)
source /opt/tros/humble/setup.bash
ros2 launch mipi_cam mipi_cam_dual_channel.launch.py \
  mipi_image_width:=640 \
  mipi_image_height:=352 \
  device_mode:=dual \
  mipi_channel:=2 \
  mipi_channel2:=0

# 启动 StereoNet
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16_usb_cam.launch.py

观察日志,应该不再出现:

input image size not match model input size, need resize

方案 3:手动计算正确的内参

如果必须用 640x480 输出,需要按比例缩放内参:

sudo vim /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 原始内参(640x480):
# fx=261, fy=255, cx=318, cy=225

# 缩放后内参(640x352):
# scale = 352/480 = 0.733
# fx = 261 * 0.733 = 191
# fy = 255 * 0.733 = 187
# cx = 318 (不变)
# cy = 225 * 0.733 = 165

intrinsics: [191.0, 187.0, 318.0, 165.0]

:clipboard: 验证步骤

# 1. 查看 stereo.yaml 默认值(效果好的那个)
cat /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 2. 记录内参值
# [fx, fy, cx, cy, baseline]

# 3. 实测深度
# 1m 处物体 → 应显示 0.9-1.1m
# 2m 处墙面 → 应显示 1.8-2.2m

:white_check_mark: 总结

问题 答案
GDC 校准与左右目顺序 直接相关,接反会导致内参错配
EEPROM 乱码 正常现象,不影响使用
默认标定更好 说明默认参数匹配了当前分辨率
深度误差 10 倍 内参与分辨率不匹配导致

建议: 既然默认标定文件效果更好,就用 stereo.yaml 的默认配置,配合 640x352 分辨率 启动相机,避免 resize。

stereo.yaml 的内容和实测结果补充到 原帖,这样官方技术支持能确认参数是否正确!:bullseye:

之前接反了,采用硬件调换之后不报错了,但是深度数据还是很差


点云出来基本就是一坨,很难区分

:bullseye: 问题分析

从你的截图来看,左右目顺序已解决(不再报错),但深度质量仍有问题:

现象 可能原因
深度值范围合理 (0.4-2.1m) :white_check_mark: 内参/基线基本正确
点云"一坨"难区分 :cross_mark: 深度噪声大/不连续
深度图有明显噪点 :cross_mark: 后处理参数或模型问题

:hammer_and_wrench: 优化方案

:one: 对比测试 V2.4 模型(推荐)

社区反馈 V2.4 比 V2.5 更稳定,先验证是否是模型版本问题:

# 停止当前运行
# Ctrl+C

# 启动 V2.4 int16
source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16_usb_cam.launch.py

对比效果

  • 点云是否更清晰?
  • 深度边缘是否更连续?

:two: 调整 StereoNet 后处理参数

修改 stereo.yaml 启用滤波:

sudo vim /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 添加/修改以下参数:
speckle_filter_enable: 1      # 启用斑点滤波
max_speckle_size: 200         # 最大斑点大小(默认100)
max_disp_diff: 2              # 最大视差差异(默认1)
uncertainty_th: 0.3           # 不确定性阈值(默认-0.1)

参数说明

参数 作用 建议值
speckle_filter_enable 去除孤立噪点 1
max_speckle_size 滤除小斑点 100-300
uncertainty_th 过滤低置信度区域 0.2-0.5

:three: 确认标定参数匹配分辨率

# 查看当前配置
cat /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 查看 MIPI 标定文件
cat /opt/tros/humble/lib/mipi_cam/config/calib_params.yaml

# 确认两者分辨率一致
grep -E "resolution|intrinsics" /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

关键检查

  • 如果相机输出 640x352,内参 cy 应接近 176
  • 如果相机输出 640x480,内参 cy 应接近 240

:four: 检查光照和纹理条件

从你的截图看,部分区域纹理较少(如白色墙面),这会影响立体匹配:

改善建议

  • 确保测试环境有足够纹理
  • 避免强光直射或过暗环境
  • 标定板测试时确保棋盘格清晰可见

:clipboard: 快速验证命令

# 1. 查看当前模型版本
grep "model_file" /opt/tros/humble/share/hobot_stereonet/launch/*.py

# 2. 查看后处理参数
grep -E "speckle|uncertainty" /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 3. 查看相机输出分辨率
ros2 topic echo /image_combine_raw --once | grep -E "width|height"

:light_bulb: 建议的测试流程

# 步骤 1:使用 V2.4 模型 + 默认配置测试
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16_usb_cam.launch.py

# 步骤 2:如果效果仍差,启用后处理滤波
# 修改 stereo.yaml 中的 speckle_filter_enable: 1

# 步骤 3:在纹理丰富的环境测试
# 避免白墙、玻璃等低纹理场景

# 步骤 4:对比官方示例效果
# 使用官方提供的测试图像验证模型是否正常

:memo: 请补充到原帖

请在 原帖 中补充:

# 1. 当前使用的模型版本
# 2. stereo.yaml 完整内容
# 3. 相机输出分辨率
# 4. V2.4 与 V2.5 的对比效果

:white_check_mark: 当前状态总结

检查项 状态 说明
左右目顺序 :white_check_mark: 已修正 硬件调换后不报错
极线对齐 :white_check_mark: 正常 特征点连线水平
深度值范围 :white_check_mark: 合理 0.4-2.1m 符合实际
深度质量 :cross_mark: 待优化 噪声大/点云不清晰
模型版本 :red_question_mark: 待对比 建议测试 V2.4

优先尝试:换 V2.4 模型 + 启用后处理滤波,这两个调整通常能显著改善深度质量。有结果后请更新原帖,帮助其他遇到同样问题的开发者!:bullseye:

您好,我们这边已经释放了新版本系统,和新的软件包,同时也有不同的算法版本,可以再测试一下是否满足需求

您好,指的是哪个版本?

:clipboard: 帮你询问具体版本信息

Marcelo6151 是官方管理员(Trust level 4),他提到的新版本应该是近期发布的系统更新。帮你查一下社区最新版本信息:

:package: 关于 Marcelo6151 提到的"新版本"

根据社区最新信息,Marcelo6151 指的应该是:

:one: 系统镜像版本

  • RDK X5 3.5.0(2026年3月发布)
  • 3.4.1 的更新版本

:two: StereoNet 算法版本

  • V2.5.0 或更新的 V2.6 版本
  • 社区反馈 V2.5 比 V2.4 有改进,但需要匹配正确的系统版本

:hammer_and_wrench: 立即查看你的当前版本

# 1. 查看系统版本
sudo cat /etc/version
# 或
cat /etc/horizon_version

# 2. 查看 StereoNet 包版本
dpkg -l | grep hobot-stereonet

# 3. 查看可用的更新
sudo apt update
apt list --upgradable | grep hobot

:inbox_tray: 升级到最新版本

# 1. 更新软件源
sudo apt update

# 2. 升级 StereoNet 包
sudo apt install --reinstall tros-humble-hobot-stereonet

# 3. 升级所有 TROS 包
sudo apt upgrade tros-humble-*

# 4. 重启生效
sudo reboot

:clipboard: 升级后验证

# 1. 确认 StereoNet 版本
dpkg -l | grep hobot-stereonet

# 2. 查看可用的 launch 文件
ls /opt/tros/humble/share/hobot_stereonet/launch/

# 3. 查看模型文件
ls /opt/tros/humble/share/hobot_stereonet/config/*.bin

# 4. 测试运行
source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.5_int16_usb_cam.launch.py

:light_bulb: 建议

  1. 先查看当前版本 - 把 sudo cat /etc/versiondpkg -l | grep hobot-stereonet 的输出补充到原帖
  2. Marcelo6151 是官方人员 - 他会在原帖中回复具体的版本号和升级方法
  3. 升级后重新测试 - 新版本可能修复了 V2.5 的内参/分辨率匹配问题

下一步: 请在原帖中回复你的当前版本信息,Marcelo6151 会给你具体的升级指导。如果已经是最新版本,可能需要提供日志让官方分析是否是参数配置问题。

你的当前系统版本是多少?运行 sudo cat /etc/version 看看。

新 3.5.0系统同时软件包也有更新

  • RDK X5 3.5.0版本系统并没有找到

:package: 关于 RDK X5 3.5.0 系统获取

你说没找到 3.5.0 系统,这很正常——3.5.0 可能还未公开发布或需要通过特定渠道获取。


:magnifying_glass_tilted_left: 先确认你的当前版本

# 1. 查看系统版本
sudo cat /etc/version

# 2. 查看 SDK 版本
rdkos_info

# 3. 查看 StereoNet 包版本
dpkg -l | grep hobot-stereonet

请把以上命令的输出补充到 原帖


:inbox_tray: 3.5.0 系统获取方式

根据社区信息,3.5.0 系统有以下几种获取途径:

方式 1:通过官方 APT 源升级(推荐)

# 更新软件源
sudo apt update

# 查看可升级的系统包
apt list --upgradable | grep horizon

# 升级系统
sudo apt upgrade

方式 2:联系官方技术支持

如果 APT 源中没有 3.5.0,需要:

  1. 在原帖中回复你的当前版本信息
  2. Marcelo6151 会提供具体的升级指导或下载链接
  3. 或提交工单:地平线技术支持表单

方式 3:查看官方文档

# 访问 RDK DOC
https://developer.d-robotics.cc/rdk_doc/

:light_bulb: 临时解决方案(不升级系统)

如果暂时无法升级到 3.5.0,可以先尝试:

1. 升级到最新的 StereoNet 包

sudo apt update
sudo apt install --reinstall tros-humble-hobot-stereonet

2. 使用 V2.4 模型(社区反馈更稳定)

source /opt/tros/humble/setup.bash
ros2 launch hobot_stereonet stereonet_model_web_visual_v2.4_int16_usb_cam.launch.py

3. 优化后处理参数

sudo vim /opt/tros/humble/share/hobot_stereonet/config/stereo.yaml

# 启用滤波
speckle_filter_enable: 1
max_speckle_size: 200
uncertainty_th: 0.3

:clipboard: 请在原帖补充的信息

# 1. 当前系统版本
sudo cat /etc/version

# 2. 当前 StereoNet 版本
dpkg -l | grep hobot-stereonet

# 3. rdkos_info 输出
rdkos_info

# 4. 深度效果截图
# (你之前已经上传了)

:white_check_mark: 总结

事项 状态
3.5.0 系统 :red_question_mark: 需通过官方渠道获取
当前版本 :red_question_mark: 请提供 sudo cat /etc/version 输出
临时方案 :white_check_mark: 使用 V2.4 模型 + 优化后处理参数

下一步: 请在原帖中回复你的当前版本信息,Marcelo6151 是官方人员,会给你具体的 3.5.0 升级指导或替代方案。同时可以先用 V2.4 模型测试,看深度质量是否有改善。

1 个赞

:tada: 3.5.0 系统镜像链接已发布!

Marcelo6151 刚刚提供了官方下载链接:

下载地址:

https://archive.d-robotics.cc/downloads/os_images/rdk_x5/rdk_os_3.5.0-2026-4-9/

:inbox_tray: 升级步骤

:one: 下载系统镜像

# 在 PC 上下载(需要约 4-8GB 空间)
wget https://archive.d-robotics.cc/downloads/os_images/rdk_x5/rdk_os_3.5.0-2026-4-9/rdk_x5_3.5.0_2026-4-9.img.xz

# 解压
unxz rdk_x5_3.5.0_2026-4-9.img.xz

:two: 烧录到 SD 卡

# Linux/Mac 使用 balenaEtcher 或 dd 命令
# Windows 使用 Rufus 或 balenaEtcher

# dd 命令示例(谨慎操作,确认设备名)
sudo dd if=rdk_x5_3.5.0_2026-4-9.img of=/dev/sdX bs=4M status=progress

:three: 启动后验证

# 查看系统版本
sudo cat /etc/version

# 查看 StereoNet 版本
dpkg -l | grep hobot-stereonet

# 查看可用的模型版本
ls /opt/tros/humble/share/hobot_stereonet/config/*.bin

:bullseye: 3.5.0 预期改进

根据官方发布节奏,3.5.0 可能包含:

改进项 说明
StereoNet 算法 可能包含 V2.6 或优化的 V2.5
MIPI 相机驱动 修复 SC230AI 标定参数加载问题
GDC 校正 改进极线对齐精度
后处理滤波 更好的去噪效果

:clipboard: 升级后测试清单

# 1. 使用官方启动脚本测试
source /opt/tros/humble/setup.bash
ros2 launch mipi_cam mipi_cam_dual_channel.launch.py device_mode:=dual

# 2. 启动 StereoNet(查看有哪些版本可用)
ls /opt/tros/humble/share/hobot_stereonet/launch/

# 3. 测试深度效果
# 站在 1m、2m、3m 处对比深度值

# 4. 查看日志中的内参
# 找 [fx, fy, cx, cy, baseline] 这一行

:warning: 升级注意事项

事项 说明
备份数据 升级会清空 SD 卡,提前备份重要文件
电源稳定 烧录和启动时确保 12V/3A 电源
排线检查 重新插拔 MIPI 相机排线,确保卡扣锁紧
保留旧卡 保留旧 SD 卡,方便回退测试

:light_bulb: 如果升级后仍有问题

请在 原帖 中补充:

# 1. 升级后的版本信息
sudo cat /etc/version
dpkg -l | grep hobot-stereonet

# 2. 启动日志(内参部分)
# [fx, fy, cx, cy, baseline]

# 3. 深度实测对比
# 实际距离 vs 深度图显示值

# 4. 点云截图
# 与之前对比是否有改善

:white_check_mark: 当前进展总结

问题 状态
左右目顺序 :white_check_mark: 已修正(硬件调换)
极线对齐 :white_check_mark: 正常
系统版本 :counterclockwise_arrows_button: 待升级到 3.5.0
深度质量 :red_question_mark: 待 3.5.0 验证

建议: 先下载 3.5.0 镜像烧录测试,这是官方针对此类问题发布的最新版本。如果升级后深度质量仍有问题,Marcelo6151 可以在原帖中提供更具体的参数配置指导。

升级完成后记得在原帖更新测试结果!:bullseye:

升级3.5桌面通过hdmi,屏幕抖动很明显

:police_car_light: 新问题:HDMI 屏幕抖动

升级 3.5.0 后出现 HDMI 屏幕抖动,这是显示配置或兼容性问题,与深度算法无关,但需要解决才能继续调试。


:magnifying_glass_tilted_left: 可能原因

原因 概率 说明
分辨率/刷新率不匹配 :star::star::star::star: 3.5.0 默认输出可能与显示器不兼容
HDMI 线材质量 :star::star::star: 4K/高刷新率需要高质量线材
电源供电不足 :star::star::star: 屏幕抖动 + 系统升级,功耗增加
显示器兼容性 :star::star: 部分显示器与新系统驱动不兼容
显示配置错误 :star::star: 系统显示配置文件需要调整

:hammer_and_wrench: 排查步骤

:one: 检查当前显示配置

# 查看当前分辨率和刷新率
xrandr

# 查看 HDMI 连接状态
xrandr --query | grep HDMI

# 查看系统日志中的显示相关错误
dmesg | grep -i hdmi
dmesg | grep -i drm

:two: 尝试调整分辨率/刷新率

# 列出可用的分辨率模式
xrandr

# 强制设置为 1920x1080 60Hz(稳定模式)
xrandr --output HDMI-1 --mode 1920x1080 --rate 60

# 如果还是抖动,尝试 1280x720
xrandr --output HDMI-1 --mode 1280x720 --rate 60

:three: 检查电源供电

# 查看电源电压(需要万用表测量)
# 确保是 12V/3A 官方电源

# 查看系统功耗
tegrastats  # 如果可用

建议

  • 使用官方 12V/3A 电源
  • 避免使用 USB 供电或功率不足的适配器

:four: 更换 HDMI 线材

  • 使用短线(1 米以内)测试
  • 确保是 HDMI 2.0 或以上规格
  • 避免使用老旧或质量差的线材

:five: 查看社区类似案例

:desktop_computer: HDMI 屏幕抖动问题分析

升级 3.5.0 后出现 HDMI 屏幕抖动,这通常是分辨率/刷新率配置不匹配显示驱动兼容性问题


:magnifying_glass_tilted_left: 可能原因

原因 说明 概率
分辨率/刷新率不匹配 3.5.0 默认输出模式与显示器 EDID 不匹配 :star::star::star:
显示驱动问题 新版本 HDMI 驱动与特定显示器兼容性 :star::star:
电源/排线问题 升级过程中排线松动或电源不稳定 :star:
显示器 EDID 识别错误 系统读取的刷新率与实际不符 :star::star:

:hammer_and_wrench: 排查步骤

:one: 查看当前显示配置

# 查看当前分辨率和刷新率
xrandr

# 查看 HDMI 输出状态
xrandr --query | grep HDMI

# 查看 Xorg 日志中的显示配置
sudo cat /var/log/Xorg.0.log | grep -i "mode\|edid\|output"

:two: 尝试切换分辨率

# 列出所有支持的分辨率
xrandr

# 尝试切换到 1920x1080@60Hz(最稳定)
xrandr --output HDMI-1 --mode 1920x1080 --rate 60

# 或尝试 1280x720@60Hz
xrandr --output HDMI-1 --mode 1280x720 --rate 60

:three: 检查显示器支持的刷新率

# 查看 EDID 信息(如果 xrandr 可用)
xrandr --props | grep -A20 "EDID"

# 或使用 read-edid 工具
sudo apt install read-edid
sudo get-edid | parse-edid

:four: 临时禁用图形界面测试

# 切换到命令行模式
Ctrl+Alt+F3

# 如果命令行不抖动,说明是图形界面配置问题
# 登录后可以尝试重启图形界面
sudo systemctl restart lightdm

:light_bulb: 解决方案

方案 1:强制指定稳定分辨率(推荐)

# 创建/修改分辨率配置文件
sudo vim /etc/X11/xorg.conf.d/1-resolution.conf

# 添加以下内容(强制 1920x1080@60Hz):
Section "Monitor"
    Identifier "HDMI-1"
    Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "1920x1080_60.00"
EndSection

Section "Screen"
    Identifier "Screen0"
    Monitor "HDMI-1"
    DefaultDepth 24
    SubSection "Display"
        Modes "1920x1080_60.00"
    EndSubSection
EndSection

重启生效:

sudo reboot

方案 2:使用 cvt 生成标准 Modeline

# 生成 1920x1080@60 的标准 Modeline
cvt 1920 1080 60

# 输出示例:
# Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

# 复制这个 Modeline 到上面的配置文件中

方案 3:回退到旧版本测试

如果 3.5.0 确实有显示驱动 bug,可以暂时回退:

# 使用旧版 SD 卡启动
# 或重新烧录 3.4.1 镜像

:clipboard: 请补充到原帖的信息

请在 原帖 中补充:

# 1. xrandr 输出
xrandr

# 2. 显示器型号和分辨率
# (例如:1920x1080@60Hz)

# 3. Xorg 日志中的错误
sudo cat /var/log/Xorg.0.log | grep -i error

# 4. 抖动现象描述
# - 是整个屏幕抖动还是局部?
# - 是垂直抖动还是水平抖动?
# - 命令行模式是否也抖动?

:white_check_mark: 快速验证

# 1. 切换到命令行(Ctrl+Alt+F3)
# 如果不抖动 → 图形界面配置问题

# 2. 尝试不同分辨率
xrandr --output HDMI-1 --mode 1280x720 --rate 60
# 观察是否改善

# 3. 检查电源
# 确保使用 12V/3A 官方电源,供电不足也会导致显示异常

:bullseye: 建议

  1. 优先尝试方案 1 - 强制指定 1920x1080@60Hz,这是最稳定的配置
  2. 如果仍抖动 - 补充上述信息到原帖,Marcelo6151 会提供 3.5.0 的显示驱动修复方案
  3. 临时方案 - 使用 VNC 远程桌面进行开发,避开 HDMI 问题

注意: 3.5.0 是新版本,可能存在一些显示驱动的兼容性问题。如果问题普遍,官方会很快发布修复版本。先把你的显示器型号和 xrandr 输出补充到原帖!:bullseye:

屏幕抖动?听起来像是显示适配的问题,跟双目算法无关?需要进一步的信息排查