Mech-Eye SDK 2.1.0 更新说明

本文介绍 Mech-Eye SDK 2.1.0 版本的新增功能、功能优化以及问题修复。本次版本重大变更如下:

  • 提升点云质量:点云后处理参数全面优化,在保留点云中物体边缘信息的同时,可有效去除离群点与噪点,提升点云质量。

  • 丰富接口功能:

    • GenlCam 接口与 Mech-Eye API 中新增手眼标定参数,并提供了相应例程,可直接进行手眼标定。

    • GenlCam 接口新增获取 multi-part payload type 相关参数并提供相应例程,轻松获取纹理点云与仅含Z值的深度图。

    • 新增固件升级工具,无需 Mech-Eye Viewer 即可升级相机固件。

  • 提升采集速度:优化内存占用,且新增分辨率选择功能以提升相机采集速度,更好地适应对节拍要求比较高的场景。

新增功能

GenICam

  • 新增手眼标定参数及例程

    GenICam 接口新增手眼标定所需的参数,并提供了 相应 HALCON 例程 。通过该例程可进行手眼标定,获取外参,并切换相机输出点云的坐标系。

  • 新增 multi-part payload type 相关参数及例程

    • 新增 GenICam 参数,支持在 AreaScan3D 模式下获取 multi-part payload type 数据。已支持 Range 与 Intensity 两个通道。

    • 新增应用以上参数的 HALCON 例程:

  • 新增相机 IP 设置相关参数及例程

    GenICam 接口新增获取相机当前 IP 设置的参数,并提供了 获取及修改相机 IP 设置的 HALCON 例程 ,可直接通过 GenICam 客户端获取和修改 IP 设置。通过该 HALCON 例程可读取当前相机的 IP 地址、子网掩码与网关,也可通过该例程修改这些设置。

  • 新增相机内参和温度的只读参数

    • 新增内参参数,使用 GenICam 客户端即可读取相机内参。

      • ​Scan3dFocalLengthX

      • ​​Scan3dFocalLengthY

      • ​​Scan3dPrincipalPointU

      • ​​​Scan3dPrincipalPointV

    • 新增温度参数,使用 GenICam 客户端即可读取相机 CPU 和投影仪的温度。

      • DeviceTemperatureSelector:选择需要读取温度的相机组件,包含 MainBoard (CPU)和 Sensor (投影仪)两个选项。

      • DeviceTemperature:该参数显示所选相机组件的温度。

Mech-Eye API

  • 新增手眼标定方法及例程(仅 C++)

    新增用于手眼标定的 C++ 方法,并提供了相应例程。通过该例程可进行手眼标定,获取外参。

  • 新增固件升级工具

    新增 固件升级工具 ,Ubuntu 系统下也可升级相机固件。

  • 新增获取温度的方法

    • C++:

      ErrorStatus MechEyeDevice::getDeviceTemperature(DeviceTemperature &)
      
    • C#:

      ErrorStatus MechEyeDevice.GetDeviceTemperature(ref mmind.apiSharp.DeviceTemperature temperature)
      
    • Python:

      Device.get_device_temperature(self)
      

Mech-Eye Viewer

  • LSR (V4) 与 DEEP (V4) 系列相机显示两种 2D 图

    LSR (V4) 与 DEEP (V4) 系列相机连接 Mech-Eye Viewer 后,可在相机查看器界面选择显示 2D 图(纹理)2D 图(深度源)。其中,2D 图(纹理)用于为点云添加纹理,2D 图(深度源)用于手眼标定、内参检查及设置感兴趣区域。切换 2D 图类型便于调节不同图像的曝光。

    同时,相关的 2D 参数 名称更改如下:

    原有名称

    新名称

    彩色相机曝光模式

    2D 图(纹理)曝光模式

    黑白相机曝光模式

    2D 图(深度源)曝光模式

    黑白相机曝光时间

    2D 图(深度源)曝光时间

  • 新增 MTU 功能

    配置相机网络服务 窗口新增 MTU 设置功能,该功能在 管理员 用户下可见。同时,将相机固件版本升级至 2.1.0 后,相机的默认 MTU 值将变为 1500。

    注解

    Mech-Eye Viewer 中的 MTU 值与工控机中 巨型帧 的值应保持一致。

  • DEEP (V4) 新增选择深度图分辨率功能

    DEEP (V4) 相机的深度图可选择分辨率,2048 × 1536 或 1024 × 768。使用低分辨率时,可有效提高相机的采集速度(约 35%),更好的应对高节拍场景。

    管理员 用户下,选择 工具 ‣ 相机管理器 ,在 深度图 下切换分辨率。

  • 新增恢复出厂内参功能

    内参工具 新增 恢复出厂内参 功能,该功能在 管理员 用户下可见。

功能优化

优化点云后处理参数

点云后处理参数全面优化,由两个参数更新为四个参数,点云平滑和去除无用点的效果均得到提升。

  • 点云平滑 更新为 表面平滑 。优化算法,使用同等强度时,可达到更好的平滑效果。

  • 噪点去除 更新为 离群点去除噪点去除 。将无用点云拆分为离群点与噪点,去除时更有针对性;且优化算法,使用同等强度时,可达到更好的去除效果。

  • 新增 边缘保持。可根据物体类型选择边缘保持类型,更好地保留真实的物体边缘。

如需达到与原参数类似的后处理效果,请按以下方式调节新参数:

  • 如原 点云平滑 设为 Normal,请将新 表面平滑 设为 Weak

  • 如原 噪点去除 设为 Normal,请将新 离群点去除 设为 Weak

优化相机图像采集速度

将相机的固件版本升级至 2.1.0 后,相机图像采集速度有一定提升。

  • 使用 Mech-Eye API C++ 采集深度图时,采集速度最小提升约 2%,采集速度最大提升超过 20%。

  • 使用 Mech-Vision 采集深度图时,采集速度最小提升约 5%,采集速度最大提升超过 20%。

注解

V4 激光相机增加了彩色图去畸变功能,导致彩色图采集速度有所降低。

Mech-Eye Viewer

  • 更改深度图保存的默认格式

    保存深度图时,默认格式由 .tiff 更新为 .png ,提升易用性。

  • 优化内参工具

    • 优化 内参工具 的界面,增加提示信息,提升易用性。

    • 新增高精度模式,提升相机内参精度,适用于对精度要求高的项目。该模式在 管理员 用户下可见。

  • 优化参数说明区的显示

    点击参数说明区的关闭按钮后,将不再显示参数说明区,避免参数被遮挡,提升易用性。

    如需再次显示参数说明区,请勾选视图菜单中的 参数说明 选项。

  • 优化视野计算器工具

    • 优化 视野计算器 工具的界面,提升易用性。

    • 优化相机型号下拉菜单,便于查找相机。

    • 增加相机型号 LSR S (V4)。

  • 将 LSR L (V4) 的彩色相机降采样功能移动至 相机管理器 ,并更改为彩色图分辨率设置功能。

  • DEEP (V4) 系列相机的 相机增益 默认值由 0 更新为 5

  • 激光相机的 激光强度 值范围由 20~100% 更新为 50~100%

Mech-Eye API

点云后处理参数全面优化,由两个参数更新为四个参数。对应的 Mech-Eye API 方法更新为:

  • C++:

    • 表面平滑

      ErrorStatus MechEyeDevice::setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing)
      ErrorStatus MechEyeDevice::getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &)
      
    • 噪点去除

      ErrorStatus MechEyeDevice::setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval)
      ErrorStatus MechEyeDevice::getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &)
      
    • 离群点去除

      ErrorStatus MechEyeDevice::setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval)
      ErrorStatus MechEyeDevice::getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &)
      
    • 边缘保持

      ErrorStatus MechEyeDevice::setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation)
      ErrorStatus MechEyeDevice::getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &)
      
  • C#:

    • 表面平滑

      ErrorStatus MechEyeDevice.SetCloudSurfaceSmoothingMode(mmind.apiSharp.PointCloudSurfaceSmoothing mode)
      ErrorStatus MechEyeDevice.GetCloudSurfaceSmoothingMode(ref mmind.apiSharp.PointCloudSurfaceSmoothing mode)
      
    • 噪点去除

      ErrorStatus MechEyeDevice.SetCloudNoiseRemovalMode(mmind.apiSharp.PointCloudNoiseRemoval mode)
      ErrorStatus MechEyeDevice.GetCloudNoiseRemovalMode(ref mmind.apiSharp.PointCloudNoiseRemoval mode)
      
    • 离群点去除

      ErrorStatus MechEyeDevice.SetCloudOutlierRemovalMode(mmind.apiSharp.PointCloudOutlierRemoval mode)
      ErrorStatus MechEyeDevice.GetCloudOutlierRemovalMode(ref mmind.apiSharp.PointCloudOutlierRemoval mode)
      
    • 边缘保持

      ErrorStatus MechEyeDevice.SetCloudEdgePreservationMode(mmind.apiSharp.PointCloudEdgePreservation mode)
      ErrorStatus MechEyeDevice.GetCloudEdgePreservationMode(ref mmind.apiSharp.PointCloudEdgePreservation mode)
      
  • Python:

    • 表面平滑

      Device.set_cloud_surface_smoothing_mode(self, info)
      Device.get_cloud_surface_smoothing_mode(self)
      
    • 噪点去除

      Device.set_cloud_noise_removal_mode(self, info)
      Device.get_cloud_noise_removal_mode(self)
      
    • 离群点去除

      Device.set_cloud_outlier_removal_mode(self, info)
      Device.get_cloud_outlier_removal_mode(self)
      
    • 边缘保持

      Device.set_cloud_edge_preservation_mode(self, info)
      Device.get_cloud_edge_preservation_mode(self)
      

问题修复

Mech-Eye SDK 2.1.0 修复了以下问题:

  • 激光相机使用 3 次曝光且 激光投影分块数 为 3 或 4时,相机内存不足导致相机偶发断连。

  • Laser L (V3) 与 Laser L Enhanced (V3) 相机设置 激光投影分块数 ,曝光时间小于等于 20ms 时深度数据异常。

  • 切换参数组时,偶发 感兴趣区域(ROI) 设置失效。

  • LSR (V4) 与 DEEP (V4) 系列相机的 曝光模式自动曝光HDR 时, 黑白相机曝光模式Flash 不生效。

  • 使用路由器连接相机时,相机 MTU 值过大导致相机有时无法正常工作。

  • 相机内存不足导致偶发的丢帧。

  • PRO (V4)、LSR (V4) 与 DEEP (V4) 系列相机由于默认开启低功耗模式,导致偶发的丢帧。

  • 多个相机 IP 地址相同时,修改其中一个相机的 IP 地址时,剩余相机的 IP 地址也同时更改。

  • 单目相机 2D 图去畸变功能导致采集速度变慢。