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.

[参考译文] J721S2XSOMXEVM:帮助调优 DCC CFAI+WDR 插件

Guru**** 2482225 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging

器件型号:J721S2XSOMXEVM

工具与软件:

您好、TI 专家!

我正在使用 RYYCy 传感器进行 DCC 调优、并尝试校正颜色。

即使在调色之前、我也无法解决亮度问题。

传感器配置为 RYYCy Raw12、我可以按如下所示捕获原始图像。

< IMAGE_RAW.RAW >

当我在 CFAI+WDR (VPAC3)上调优 CFAI 设置24位解码位、膝点和 CCM 时、
处理插件、然后"更新当前插件 DCC 文件"、将捕获 YUV 输出、如下所示。

< image_viss_updated_by_cfai_plugin.yuv >

我测试了控制几个时间的 CCM 矩阵、我认为它不会影响 YUV 输出。

然后、我使用 generate_dcc.sh 尝试了这些生成的参数文件。

当我应用由  generate_dcc.sh 生成的 DCC 频段时、会导致如下所示的非常暗的输出。

< image_viss_DCC_bins.yuv >

我认为即使是工具更新的 CFAI 插件的调优结果也不正确、但更令人沮丧的是、该插件中的 xml 文件生成的 DCC 频段会导致有线输出和不同的输出。

一定是我遗漏的东西。

我已经附加了 DCC 配置、XML 文件和捕获的图像(包括原始图像)、请告诉我错误的地方。

 e2e.ti.com/.../ryycy_5F00_dcc_5F00_tuning.zip

此致、

Juhyun

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

    Juhunyun、您好!

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging "]

    传感器配置为 RYYCy Raw12、我可以按如下所示捕获原始图像。

    [报价]

    您能提醒我您在使用哪种传感器吗?

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging "]当我调优 CFAI 设置的24位解码位、膝点和 CCM 时、CFAI+WDR (VPAC3)、[/QUOT]

    您是否使用了 python 脚本来获取初始 VISS 设置?
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1275034/faq-default-dcc-profile-generation-tool-for-tda4-am6xa-isp-vpac?tisearch=e2e-sitesearch&keymatch=%20user%3A35541

    如果您执行了该操作、您是否在 VISS 输出端得到更亮的输出图像?

    使用 python 脚本通常比调优工具更容易、因为输入参数数量要少得多。

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging "]

    我测试了控制几个时间的 CCM 矩阵、我认为它不会影响 YUV 输出。

    [报价]

    CCM 调优不会改变 VISS 输入和输出图像亮度。
    该问题与音调映射和传感器曝光控制(AE 和传感器驱动程序)更多相关。

    如果来自传感器的原始图像太暗或音调映射未正确设置、则 VISS 输出图像可能是深色的。

    [quote userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging 我已经附加了 DCC 配置、XML 文件和捕获的图像(包括原始图像)、请告诉我什么是错的。

    感谢您分享您的设置和 RAW/YUV 图像。

    我建议从 python 脚本开始使用下面示例中的简单配置文件来获取初始 xml 文件。
    请按照注释中的说明进行操作。
    https://git.ti.com/cgit/processor-sdk/imaging/tree/tools/default_DCC_profile_gen/configs/imx390_properties.txt?h=main
    https://git.ti.com/cgit/processor-sdk/imaging/tree/tools/default_DCC_profile_gen/configs/imx219_properties.txt?h=main

    您也可以参阅该应用手册以了解更多详细信息 https://www.ti.com/lit/pdf/sprad86

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging "]

    一定是我遗漏的东西。

    [报价]

    我看到您尝试在 CFAI 插件中对 CCM 进行编程。
    建议您从用于 CCM 调优的颜色校正插件开始。
    使用 VPAC3 CFAI 中的新功能可能会让您感到困惑。
    可以先使用 VPAC1 CFAI 的 python 脚本输出设置作为基准。
    获得正确的曝光和颜色后、您可以移动到调优工具以进行更精细的调整。

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

    顺便提一下、您的原始图像似乎采用了 YRCyY 格式且颜色良好、但您的 YUV 输出图像具有完全错误的颜色(不仅仅是深色)。

    从 python 脚本开始、您可能会先获得一些合理的颜色(与原始图像一样好)。

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

    尊敬的 Gang:

    您能提醒我您使用的是哪种传感器吗?

    传感器是 S5K1H1SB、我已经设法通过创建传感器驱动程序来提出此传感器。

    您是否使用了 python 脚本来获取初始 VISS 设置?

    是的、我最初使用了 python 脚本、并将其生成的设置用作基本的 xml 设置。

    CCM 调优不会改变 VISS 输入和输出图像亮度。
    该问题更多地与音调映射和传感器曝光控制(AE 和传感器驱动程序)有关[/QUOT]

    我制作的驱动程序在这个开发阶段不控制 AE。

    我建议您从用于 CCM 调优的颜色校正插件入手。
    使用 VPAC3 CFAI 中的新功能可能会让您感到困惑。
    可以先使用 VPAC1 CFAI 的 python 脚本输出设置作为基准。
    获得正确的曝光和颜色后、您可以转到调谐工具进行更精细的调整。

    我看到、我在第一阶段再次尝试、按照您的指导、从属性 txt 文件生成 xml 文件。

    这是原始图像。

    < IMAGE_RAW_20241212.RAW >

    这是具有 DCC 参数的 VISS 输出、该参数从默认属性文件(基于 imx390_proeprties.txt 并进行自定义)中生成。

    < image_viss_dcc_bins_default_script_20241212.yuv >

    检查上面的默认结果后、我尝试了 RGB2RGB 调优、如您所说、按照指南、
    结果如下。

    < image_viss_dcc_bins_rgb2rgb_tuned_20241212.yuv >

    我不能告诉调整实际上会生效。 我没有看到差别。

    这就是我一开始就尝试 CFAI3 CCM 的原因。

    总之、我按照 TI 指南尝试了如下所示的 RGB2RGB 调优。

    首先、我设置输入原始图像并标记校验器框区域

    其次、还设置参考校验器映像、该映像包含在 DCC 工具中并标记了校验器框区域。

    然后我处理了 plguin、结果如下所示。

    上面的预览不是很好,但我至少可以看到一点改善。

    但正如我上面所说的,实际 vis 输出与插件结果预览不同,与我看到的默认值略有不同。

    该工具生成的矩阵在 GUI 上显示的矩阵和 xml 文件中显示的矩阵之间存在一些差异、
    我尝试了这两种方法、结果是相同的。

    我甚至测试了极端设置、以查看 rgb2rgb 矩阵是否实际有效、方法是修改了矩阵、如下所示。

    结果 vis 输出如下所示。

    < image_viss_dcc_bins_rgb2rgb_extreme_20241212.yuv >

    我认为设置完全不起作用。

    我已经连接了图像以及配置和参数文件。

    e2e.ti.com/.../ryycy_5F00_dcc_5F00_tuning_5F00_241212.zip

    总是感谢你的善良的帮助, Gang。

    此致、

    Juhyun

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

    我发现 rgb2rgb 矩阵未生效的原因。

    事实证明、在我的传感器驱动程序中缺少 getExpRrg 回调的实现似乎引发了问题。

    我已将 aewbMode 设置为 Algorithms_ISS_AEWB_MODE_AE  、并通过参考传感器驱动程序来实现了 getExpPrg、如下所示:

    在 aewbMode 的设置和 getExpPrg 的实现后、rgb2rgb 矩阵会应用于 vis 输出。

    此外、我得到了颜色矩阵、这在 rgb2rgb 插件预览结果上产生了相当好的颜色输出。

    现在我只需要 vis 实际输出、即 rgb2rgb 插件预览结果、
    但我最终得到了如下所示的不同和 weired 结果。

    哪些因素可能导致 rgb2rgb 结果预览和实际 vis 输出之间存在差异?

    此致、

    Juhyun

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

    Juhunyun 、您好!

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging/5564107 #5564107"]

    此外、我得到了颜色矩阵、这在 rgb2rgb 插件预览结果上产生了相当好的颜色输出。

    [报价]

    RGB 颜色正确、但未应用任何颜色校正。

    这是您在调优工具中将获得的用于之前共享的原始图像样本的内容。

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

    哇、太完美了。 如何使用我分享的图像显示颜色?

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

    Juhunyun、您好!

    如何使用我共享的图像获取颜色?

    该流程与应用手册 https://www.ti.com/lit/pdf/sprad86中概述的流程相同

    你只需要使用调优工具的"颜色校正"插件,选择"半自动"模式,然后输入原始图像和解压缩的拐点。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但我刚结束了如下所示的不同和所需结果。

    我不知道您为什么会看到黑暗的输出 YUV 图像。
    对我来说、您共享的原始图像没问题。

    您可以在下面的链接中尝试最新的 python 脚本、因为我最近已将其更新。

    https://git.ti.com/cgit/processor-sdk/imaging/tree/tools/default_DCC_profile_gen?h=main

    对于您的传感器、您可以使用以下设置作为 python 脚本输入(请将传感器 ID 更改为您的传感器)。
    非常适合您的共享原始示例图像。
    然后、您可以使用调优工具结果更新"S5K1H1SB_rgb2rgb_dc.xml"。

    SENSOR_ID 5
    PRJ_DIR ../RYYCy_output
    SENSOR_NAME S5K1H1SB
    SENSOR_DCC_NAME S5K1H1SB
    
    SENSOR_WIDTH 3840
    SENSOR_HEIGHT 2168
    
    # 0=RGGB;  1=GRBG;  2=GBRG;  3=BGGR,  4=MONO,
    #10=RGGI, 11=GRIG, 12=BGGI, 13=GBIG, 14=GIRG, 15=IGGR, 16=GIBG, 17=IGGB
    COLOR_PATTERN 1
    
    # sensor mode: 0 for linear (no decompanding), 1 for WDR (decompanding)
    WDR_MODE 1
    
    # raw sensor image BIT_DEPTH: it may be 8, 10, or 12 for linear sensors; typically 12 for WDR mode because of companding
    BIT_DEPTH 12
    
    # WDR BIT_DEPTH: WDR raw sensor image bitdepth after decompanding, typically 20 or 24
    WDR_BIT_DEPTH 24
    
    # WDR decompanding knee points (comma separated without spaces in between)
    WDR_KNEE_X 0,512,640,768,1024,1280,1536,2048,2176,2304,2432,2688,2944,3200,4095
    WDR_KNEE_Y 0,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,16777215
    
    # Sensor black level to subtract before decompanding (for some Sony WDR sensors)
    # When PCID is on for RGBIR sensors, black level might be set to 0
    BLACK_PRE  0
    
    # Sensor black level to subtract after decompanding (for most WDR sensors and all linear sensors)
    # When PCID is on for RGBIR sensors, black level might be set to 0
    BLACK_POST 0
    
    # GAMMA value for compressing 20/24-bit WDR raw to 16-bit ISP internal
    # typically around 50 (0.5) for 24-bit WDR sensors and 70 (0.7) for 20-bit sensors
    GAMMA_PRE 50
    
    # LSB location for H3A input bit range (from bit-H3A_INPUT_LSB to bit-H3A_INPUT_LSB+9) 
    H3A_INPUT_LSB 4
    
    # Choose the default gamma curve used for YUV output: 0 for BT709, 1 for a high contrast gamma curve
    YUV_GAMMA 1
    

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

    BTW、我不确定您的传感器的基座值是多少、我在上面使用了0。
    请根据需要进行更新。

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

    我按照您指导我进行 RGB2RGB 调优的方式、并且能够像您那样再现结果。

    是的、这是由于 CFA 格式、正如您更正的、是 YRCyy、而不是 RYYCy。

    现在 CCM 已经得到保护、我尝试了  properties.txt、您共享了 rgb2rgb CCM 参数、以便使用调整后的 rgb2rgb CCM 参数检查电路板上的 ISP 结果。

    实际上、我在最近更新了 python 脚本以生成您评论过的伽马参数后、尝试了这两种配置(没有 YUV_GAMMA 和 YUV_GAMMA)。 YUV_GAMMA 版本提供了更好的对比度和亮度。

    结果就是这样。

    我可以看到周围都是绿色的颜色,但色图上的色块本身似乎是正确的。

    我以为绿光可以通过白平衡来修复,所以我去了 AWB。

    首先、我在传感器驱动程序中启用了 AWB、这是在没有对其进行调优的情况下得到的结果。

    目前我没有设备来控制光线温度,所以我决定手动调节白平衡。

    我可以设法如上所述手动设置 R/B 增益、然后获得以下结果。

    这可能还不是完美的,但它仍然是我的成就。

    「我不会介意的,我想要的只是要和你在一起,我想和你在一起。」

    现在我必须弄清楚如何通过 DCC 工具应用手动调优的 WB。

    您能给我一个建议吗?

    我还有另一个问题、我是否需要 使用插件另外进行 BLC 调优?

    我对 properties.txt 应用了基座值、但生成的 BLC xml 中的值是0。

    此致、

    Juhyun

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

    Juhunyun、您好!

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging/5566275 #5566275%]

    现在我必须弄清楚如何通过 DCC 工具应用手动调优的 WB。

    您能给我一个建议吗?

    [报价]

    必须在调优工具中校准 AWB、使其无需手动设置 WB 增益即可正常工作。
    python 脚本仅创建虚拟 AWB 校准作为占位符。

    请遵循应用手册和调优工具插件指南进行 AWB 校准。

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging/5566275 #5566275%]

    我还有另一个问题、我是否需要 使用插件另外进行 BLC 调优?

    [报价]

    不需要、对于 HDR 传感器、我们不需要这样做。

    [报价 userid="611727" url="~/support/processors-group/processors/f/processors-forum/1450114/j721s2xsomxevm-help-tuning-dcc-cfai-wdr-pluging/5566275 #5566275%]

    我对 properties.txt 应用了基座值、但生成的 BLC xml 中的值是0。

    [报价]

    这包括在 HDR 传感器的解压缩 LUT 中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我实际上在没有 YUV_gamma 和修补后使用 YUV_gamma 的两种配置最近更新了 python 脚本以生成您评论的伽马参数。 YUV_GAMMA 版本提供了更好的对比度和亮度。

    是的、这只会改变输出图像亮度。
    我建议将其设置为1。

    现在我需要弄清楚如何在 DCC 工具之外手动调谐 WB。

    我想您需要运行 AWB 来动态计算 Wb 增益。

    可以对 xml 文件使用固定的 WB 增益(尽管调优工具不支持)、但我想这不是您真正需要做的事情。

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

    尊敬的 Gang:

    可以对 xml 文件使用固定的 WB 增益(尽管调优工具不支持)、但我想这不是您真正需要做的事情。

    这正是我现在需要的。

    关于使用 AWB 作为最终目标、我是这样做的、但目前我无法在 DCC 工具中使用 AWB 插件、因为我没有在光控制环境下捕获图像的展位。

    虽然已经在进行中、但同时我们必须继续使用手动 WB 调优的映像进行开发、为此、我必须向我的团队发布 DCC 参数二进制文件、包括手动调优的 WB。

    如果您指导我如何使用具有 xml 文件的固定 WB 增益、将不胜感激。

    此致、

    Juhyun

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

    Juhunyun、您好!

    如果您引导我使用具有 xml 文件的固定 WB 增益、将不胜感激。

    检查完详细信息后、我发现 tiovx vis 内核会忽略我们在 NSF4 xml 文件中获得的 WB 增益。

    您可能必须在代码中对 AWB 增益进行硬编码。
    如果您使用单摄像头应用、则可以使 AWB 保持运行、并在以下位置对 AWB 输出增益进行硬编码。

    https://git.ti.com/cgit/processor-sdk/imaging/tree/kernels/aewb/arm/vx_aewb_target.c?h=main#n841

                                    double g0 = 512; // add your linear WB gain here
                                    double g1 = 512; // add your linear WB gain here
                                    double g2 = 512; // add your linear WB gain here
                                    double g3 = 512; // add your linear WB gain here

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

    尊敬的 Gang:

    谢谢您、Gang、我能够通过在您提到的源代码中对固定 WB 增益进行硬编码来设置它们。

    我认为目前一切都可以。

    我要感谢你的友好和积极的帮助,它真的很有帮助!

    此致、

    Juhyun

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

    Juhunyun、您好!

    感谢您的确认!

    我将关闭此主题帖、如果您有任何其他问题、请随时打开一个新主题帖。