This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VH-Q1:TDA4 VPAC VISS 和 PC OpenCV 之间的图像输出因色度二次采样而出现差异

Guru**** 2486005 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438402/tda4vh-q1-discrepancies-in-image-output-between-tda4-vpac-viss-and-pc-opencv-due-to-chroma-subsampling

器件型号:TDA4VH-Q1

工具与软件:

尊敬的 TI 支持团队:

我目前使用的是 TDA4平台、遇到了一个与 TDA4 VPAC VISS 输出和 PC OpenCV 输出之间的图像处理差异相关的问题。 我正在寻求解决这个问题的指导或解决方案。


系统配置:

  • 传感器: SVC220一起使用
    • 模式: BGGR
    • 位深度: 12位
    • 黑电平: 167.
    • 应用的伽马:
    • WDR: 未使用
  • 平台: TDA4
  • 正在处理流水线:
    • VPAC VISS:
      • 使用双线性插值将 Bayer 转换为 RGB。
      • 更新了 CFA 滤波器以匹配传感器模式。
    • 输出格式限制: 直接 RGB 输出不可用;输出作为 NV12 (或 NV21)接收。
    • DCP 转换: 使用 DSP 将 NV12/NV21转换为 RGB。

问题描述:

通过上述流水线处理图像后、TDA4输出与 PC 上的 OpenCV 输出不匹配。 在颜色保真度和精细细节方面、差异非常明显。 我们已确定 RGB 到 YUV420转换期间的色度二次采样会导致残留偏差。

所采取的故障排除步骤:

  1. 去马赛克和色彩校准:
    • 确保 TDA4和 PC 之间的去马赛克过程和颜色通道校准一致。
  2. 黑电平调整:
    • 对原始图像应用了167的正确黑电平减法。
  3. 伽马校正:
    • 对12位图像实施伽马校正。 与 TI 支持团队(Gang)合作成功应用伽玛。
    • 使用了约为1.05的自定义伽马值(而非标准2.2)来更好地匹配输出。
  4. 自定义 LUT 创建:
    • 通过在8位图像之间内插并将其拉伸至513个范围(0至1023)的单调值、创建了定制查找表(LUT)。
  5. 序列调整:
    • 切换到了更一致的图像序列、由于初始图像的亮度变化非常大、因此可以提高 LUT 精度。
  6. PC 上的仿真:
    • 在 PC 上使用 Python 和 OpenCV 将 RGB 复制到 YUV420转换并重新复制到 RGB。
    • 观察到色度二次采样引起的类似差异、确认此步骤引入了问题。

观察结果:

  • 图像指标改进:
    • 调整后、我们观察到 MAE、MSE 和 PSNR 有改善、但 SSIM 略有下降。
  • 色度二次采样影响:
    • YUV420格式的色度子采样似乎是其余差异的主要原因。

请求协助:

  1. 直接 RGB 输出:
    • 是否有可能从 TDA4平台上的 VPAC VISS 直接获得 RGB 输出、以避免 YUV420转换引入的色度二次采样?
    • 如果是、您能否提供有关将 VISS 配置为直接输出 RGB 的指导或文档?
  2. 替代解决方案:
    • 如果直接 RGB 输出不可行、是否有建议的方法来尽可能减轻色度二次采样的影响?
    • TDA4成像流水线中是否有特定配置或处理技术可以帮助实现与基于 PC 的 OpenCV 结果更接近的输出?
  3. 最佳实践:
    • 您能否就将 TDA4图像处理流水线与基于 PC 的处理相匹配以确保一致性的最佳做法提供建议、尤其是在处理颜色空间和二次采样格式时?

目标:

我们的主要目标是在 TDA4平台和 PC OpenCV 处理之间实现一致的图像输出、以促进精确的算法开发和测试。 解决此差异对于图像处理任务的性能和可靠性至关重要。


谢谢:

感谢你在这方面的时间和协助。 非常感谢您能提供任何见解或建议。

此致、

Aviad Rossmann
软件工程师
Leddartech
Aviad.rossmann@leddartech.com


注意: 如果您需要关于上述任何要点的任何补充信息或澄清、请告知我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aviad、

    您似乎正在尝试使用 VISS 的 RGB 输出或降低 UV 下采样影响的替代方法。

    [quote userid="624014" url="~/support/processors-group/processors/f/processors-forum/1438402/tda4vh-q1-discrepancies-in-image-output-between-tda4-vpac-viss-and-pc-opencv-due-to-chroma-subsampling 是否可以从 TDA4平台上的 VPAC VISS 获得直接的 RGB 输出来避免 YUV420转换引入的色度二次采样?

    计划在 SDK 10.2版本(3月25日)上为 RGB 输出提供 PDK 和 tiovx 支持。

    [报价 userid="624014" url="~/support/processors-group/processors/f/processors-forum/1438402/tda4vh-q1-discrepancies-in-image-output-between-tda4-vpac-viss-and-pc-opencv-due-to-chroma-subsampling "]
    • 如果直接 RGB 输出不可行、是否有建议的方法来尽可能减轻色度二次采样的影响?
    • TDA4成像流水线中是否有特定配置或处理技术可以帮助实现与基于 PC 的 OpenCV 结果更接近的输出?
    [报价]

    VISS 现在支持420和422输出。
    在色度二次采样方面、422输出模式可能优于420模式。

    [报价 userid="624014" url="~/support/processors-group/processors/f/processors-forum/1438402/tda4vh-q1-discrepancies-in-image-output-between-tda4-vpac-viss-and-pc-opencv-due-to-chroma-subsampling "] DCP 转换: 使用 DCP 将 NV12/NV21转换为 RGB。

    什么是 DCP?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DSP。 很抱歉混淆。
     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    感谢您的快速响应以及通知我即将对 SDK 10.2中 RGB 输出的支持。 同时、我想实施您的建议、使用422输出模式来降低色度二次采样的影响。

    为了确保正确配置所有内容、我有两个具体问题:


    1.配置 FCP 以将 VISS 输出设置为 YUV422而不是 NV12:

    当前设置:

    • 在我的当前流水线中、是 FCP (格式转换处理器) 从中选择输出格式 VISS .
    • RGB 输出不可用 因此我目前正在接收输出 AS NV12 (YUV420)。

    目标:

    • 我要将输出从 NV12更改为 YUV422 以减少色度次采样伪影。

    问题:

    • 如何配置 FCP 以将 VISS 输出设置为 YUV422而不是 NV12?
      • FCP 节点中是否需要调整特定参数或设置?
      • 是否有任何示例代码或文档说明如何为 YUV422输出设置 FCP?

    2.在 OpenVX 中针对 YUV422输出更正图像格式:

    问题:

    • 在 OpenVX 中用于 VISS 节点的 YUV422输出的正确图像格式是什么?
      • 我应该使用VX_DF_IMAGE_UYVYVX_DF_IMAGE_YUYV还是其他格式?
      • 在 OpenVX 中、YUV422输出是单平面还是多平面?
      • 设置此格式时、是否需要注意任何特定的注意事项或配置?

    感谢您的帮助以及您可以就这些问题提供的任何指导。 这将帮助我正确配置 TDA4流水线、以实现所需的输出质量。

    此致、

    Aviad Rossmann

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aviad、

    如果您将 VISS 输出格式从420更改为422、tiovx VISS 内核可以支持 UYVY/YUYV 输出、如下所示。

                params.fcp[0].mux_output2 = TIVX_VPAC_VISS_MUX2_YUV422;
                params.fcp[0].chroma_mode = TIVX_VPAC_VISS_CHROMA_MODE_422;

    VISS H/W 可以支持422半平面输出(Y + UV 交错)、但我不支持 tiovx 内核和 PDK 驱动程序支持该功能、因为我无法使其在 EVM 上正常工作。
    我必须在内部进行检查、以查看是否可以支持该功能。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aviad、

    驱动程序和 VISS OpenVX 内核中不支持 YUV422半平面输出。 请为此格式使用交错输出。  

    此致、

    Brijesh